use crate::healthcare::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ClaimLevelEntityIdentifierCode {
#[serde(rename = "03")]
Variant03,
#[serde(rename = "36")]
Variant36,
#[serde(rename = "40")]
Variant40,
#[serde(rename = "41")]
Variant41,
#[serde(rename = "71")]
Variant71,
#[serde(rename = "72")]
Variant72,
#[serde(rename = "73")]
Variant73,
#[serde(rename = "77")]
Variant77,
#[serde(rename = "82")]
Variant82,
#[serde(rename = "85")]
Variant85,
#[serde(rename = "87")]
Variant87,
#[serde(rename = "1P")]
Variant1P,
#[serde(rename = "1Z")]
Variant1Z,
#[serde(rename = "DK")]
Dk,
#[serde(rename = "DN")]
Dn,
#[serde(rename = "DQ")]
Dq,
#[serde(rename = "FA")]
Fa,
#[serde(rename = "GB")]
Gb,
#[serde(rename = "HK")]
Hk,
#[serde(rename = "IL")]
Il,
#[serde(rename = "LI")]
Li,
#[serde(rename = "MSC")]
Msc,
#[serde(rename = "PR")]
Pr,
#[serde(rename = "PRP")]
Prp,
#[serde(rename = "QB")]
Qb,
#[serde(rename = "QC")]
Qc,
#[serde(rename = "QD")]
Qd,
#[serde(rename = "SEP")]
Sep,
#[serde(rename = "TL")]
Tl,
#[serde(rename = "TTP")]
Ttp,
#[serde(rename = "TU")]
Tu,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for ClaimLevelEntityIdentifierCode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Variant03 => write!(f, "03"),
Self::Variant36 => write!(f, "36"),
Self::Variant40 => write!(f, "40"),
Self::Variant41 => write!(f, "41"),
Self::Variant71 => write!(f, "71"),
Self::Variant72 => write!(f, "72"),
Self::Variant73 => write!(f, "73"),
Self::Variant77 => write!(f, "77"),
Self::Variant82 => write!(f, "82"),
Self::Variant85 => write!(f, "85"),
Self::Variant87 => write!(f, "87"),
Self::Variant1P => write!(f, "1P"),
Self::Variant1Z => write!(f, "1Z"),
Self::Dk => write!(f, "DK"),
Self::Dn => write!(f, "DN"),
Self::Dq => write!(f, "DQ"),
Self::Fa => write!(f, "FA"),
Self::Gb => write!(f, "GB"),
Self::Hk => write!(f, "HK"),
Self::Il => write!(f, "IL"),
Self::Li => write!(f, "LI"),
Self::Msc => write!(f, "MSC"),
Self::Pr => write!(f, "PR"),
Self::Prp => write!(f, "PRP"),
Self::Qb => write!(f, "QB"),
Self::Qc => write!(f, "QC"),
Self::Qd => write!(f, "QD"),
Self::Sep => write!(f, "SEP"),
Self::Tl => write!(f, "TL"),
Self::Ttp => write!(f, "TTP"),
Self::Tu => write!(f, "TU"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for ClaimLevelEntityIdentifierCode {
fn default() -> ClaimLevelEntityIdentifierCode {
Self::Variant03
}
}