autogen-stedi 0.3.2

Auto-generated, strongly-typed Rust client for the Stedi APIs
Documentation
/*
 * Stedi Healthcare
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 2024-04-01
 * Contact: healthcare@stedi.com
 * Generated by: https://openapi-generator.tech
 */

use crate::healthcare::models;
use serde::{Deserialize, Serialize};

/// InstitutionalProcedureIdentifier : Code identifying the type of `procedureCode`. If you set this property, you must also set `procedureCode`.  Can be set to `ER` - Jurisdiction Specific Procedure and Supply Codes, `HC` - Health Care Financing Administration Common Procedural Coding System (HCPCS) Codes, `HP` -  Health Insurance Prospective Payment System (HIPPS) Skilled Nursing Facility Rate Code, `IV` - Home Infusion EDI Coalition (HIEC) Product/Service Code, or `WK` - Advanced Billing Concepts (ABC) Codes. Note that ABC codes are deprecated and shouldn't be used in new claims.   Visit [Claims code lists](https://www.stedi.com/docs/healthcare/claims-code-lists#product-or-service-id-qualifier-codes) for more information and usage instructions.
/// Code identifying the type of `procedureCode`. If you set this property, you must also set `procedureCode`.  Can be set to `ER` - Jurisdiction Specific Procedure and Supply Codes, `HC` - Health Care Financing Administration Common Procedural Coding System (HCPCS) Codes, `HP` -  Health Insurance Prospective Payment System (HIPPS) Skilled Nursing Facility Rate Code, `IV` - Home Infusion EDI Coalition (HIEC) Product/Service Code, or `WK` - Advanced Billing Concepts (ABC) Codes. Note that ABC codes are deprecated and shouldn't be used in new claims.   Visit [Claims code lists](https://www.stedi.com/docs/healthcare/claims-code-lists#product-or-service-id-qualifier-codes) for more information and usage instructions.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum InstitutionalProcedureIdentifier {
    #[serde(rename = "ER")]
    Er,
    #[serde(rename = "HC")]
    Hc,
    #[serde(rename = "HP")]
    Hp,
    #[serde(rename = "IV")]
    Iv,
    #[serde(rename = "WK")]
    Wk,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for InstitutionalProcedureIdentifier {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Er => write!(f, "ER"),
            Self::Hc => write!(f, "HC"),
            Self::Hp => write!(f, "HP"),
            Self::Iv => write!(f, "IV"),
            Self::Wk => write!(f, "WK"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for InstitutionalProcedureIdentifier {
    fn default() -> InstitutionalProcedureIdentifier {
        Self::Er
    }
}