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

/// ClaimPaymentAdviceFilingIndicatorCode : Identifies the type of health plan or insurance coverage under which the claim was filed. These codes indicate the specific type of insurance arrangement, government program, or coverage type that applies to the claim.
/// Identifies the type of health plan or insurance coverage under which the claim was filed. These codes indicate the specific type of insurance arrangement, government program, or coverage type that applies to the claim.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ClaimPaymentAdviceFilingIndicatorCode {
    #[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 = "CH")]
    Ch,
    #[serde(rename = "DS")]
    Ds,
    #[serde(rename = "HM")]
    Hm,
    #[serde(rename = "LI")]
    Li,
    #[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 ClaimPaymentAdviceFilingIndicatorCode {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            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::Ch => write!(f, "CH"),
            Self::Ds => write!(f, "DS"),
            Self::Hm => write!(f, "HM"),
            Self::Li => write!(f, "LI"),
            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 ClaimPaymentAdviceFilingIndicatorCode {
    fn default() -> ClaimPaymentAdviceFilingIndicatorCode {
        Self::Variant12
    }
}