use crate::healthcare::models;
use serde::{Deserialize, Serialize};
#[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,
#[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
}
}