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};

/// ClaimFilingCode : A code identifying the type of claim. For example `DS` - Disability. - Use `OF` when submitting Medicare Part D claims. - Use `ZZ` when you don't know the type of insurance. - Some payers reject claims with invalid codes. If you're not sure which code to use, we recommend running a [real-time eligibility check](https://www.stedi.com/docs/healthcare/api-reference/post-healthcare-eligibility) and using the value returned in the most relevant `benefitsInformation.insuranceTypeCode` property. Note that the eligibility response uses a different code list than claims, so you may need to map that code value to the appropriate claim filing code.   Visit [Claims code lists](https://www.stedi.com/docs/healthcare/claims-code-lists#claim-filing-indicator-codes) for a complete list.
/// A code identifying the type of claim. For example `DS` - Disability. - Use `OF` when submitting Medicare Part D claims. - Use `ZZ` when you don't know the type of insurance. - Some payers reject claims with invalid codes. If you're not sure which code to use, we recommend running a [real-time eligibility check](https://www.stedi.com/docs/healthcare/api-reference/post-healthcare-eligibility) and using the value returned in the most relevant `benefitsInformation.insuranceTypeCode` property. Note that the eligibility response uses a different code list than claims, so you may need to map that code value to the appropriate claim filing code.   Visit [Claims code lists](https://www.stedi.com/docs/healthcare/claims-code-lists#claim-filing-indicator-codes) for a complete list.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ClaimFilingCode {
    #[serde(rename = "11")]
    Variant11,
    #[serde(rename = "12")]
    Variant12,
    #[serde(rename = "13")]
    Variant13,
    #[serde(rename = "14")]
    Variant14,
    #[serde(rename = "15")]
    Variant15,
    #[serde(rename = "16")]
    Variant16,
    #[serde(rename = "17")]
    Variant17,
    #[serde(rename = "AM")]
    Am,
    #[serde(rename = "BL")]
    Bl,
    #[serde(rename = "CH")]
    Ch,
    #[serde(rename = "CI")]
    Ci,
    #[serde(rename = "DS")]
    Ds,
    #[serde(rename = "FI")]
    Fi,
    #[serde(rename = "HM")]
    Hm,
    #[serde(rename = "LM")]
    Lm,
    #[serde(rename = "MA")]
    Ma,
    #[serde(rename = "MB")]
    Mb,
    #[serde(rename = "MC")]
    Mc,
    #[serde(rename = "OF")]
    Of,
    #[serde(rename = "TV")]
    Tv,
    #[serde(rename = "VA")]
    Va,
    #[serde(rename = "WC")]
    Wc,
    #[serde(rename = "ZZ")]
    Zz,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for ClaimFilingCode {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Variant11 => write!(f, "11"),
            Self::Variant12 => write!(f, "12"),
            Self::Variant13 => write!(f, "13"),
            Self::Variant14 => write!(f, "14"),
            Self::Variant15 => write!(f, "15"),
            Self::Variant16 => write!(f, "16"),
            Self::Variant17 => write!(f, "17"),
            Self::Am => write!(f, "AM"),
            Self::Bl => write!(f, "BL"),
            Self::Ch => write!(f, "CH"),
            Self::Ci => write!(f, "CI"),
            Self::Ds => write!(f, "DS"),
            Self::Fi => write!(f, "FI"),
            Self::Hm => write!(f, "HM"),
            Self::Lm => write!(f, "LM"),
            Self::Ma => write!(f, "MA"),
            Self::Mb => write!(f, "MB"),
            Self::Mc => write!(f, "MC"),
            Self::Of => write!(f, "OF"),
            Self::Tv => write!(f, "TV"),
            Self::Va => write!(f, "VA"),
            Self::Wc => write!(f, "WC"),
            Self::Zz => write!(f, "ZZ"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for ClaimFilingCode {
    fn default() -> ClaimFilingCode {
        Self::Variant11
    }
}