use crate::healthcare::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum InstitutionalClaimFilingIndicatorCode {
#[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 = "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,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for InstitutionalClaimFilingIndicatorCode {
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::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 InstitutionalClaimFilingIndicatorCode {
fn default() -> InstitutionalClaimFilingIndicatorCode {
Self::Variant11
}
}