use crate::healthcare::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EntityCode {
#[serde(rename = "1E")]
Variant1E,
#[serde(rename = "1G")]
Variant1G,
#[serde(rename = "1H")]
Variant1H,
#[serde(rename = "1I")]
Variant1I,
#[serde(rename = "1O")]
Variant1O,
#[serde(rename = "1P")]
Variant1P,
#[serde(rename = "1Q")]
Variant1Q,
#[serde(rename = "1R")]
Variant1R,
#[serde(rename = "1S")]
Variant1S,
#[serde(rename = "1T")]
Variant1T,
#[serde(rename = "1U")]
Variant1U,
#[serde(rename = "1V")]
Variant1V,
#[serde(rename = "1W")]
Variant1W,
#[serde(rename = "1X")]
Variant1X,
#[serde(rename = "1Y")]
Variant1Y,
#[serde(rename = "1Z")]
Variant1Z,
#[serde(rename = "2A")]
Variant2A,
#[serde(rename = "2B")]
Variant2B,
#[serde(rename = "2D")]
Variant2D,
#[serde(rename = "2E")]
Variant2E,
#[serde(rename = "2I")]
Variant2I,
#[serde(rename = "2K")]
Variant2K,
#[serde(rename = "2P")]
Variant2P,
#[serde(rename = "2Q")]
Variant2Q,
#[serde(rename = "2S")]
Variant2S,
#[serde(rename = "2Z")]
Variant2Z,
#[serde(rename = "03")]
Variant03,
#[serde(rename = "3A")]
Variant3A,
#[serde(rename = "3C")]
Variant3C,
#[serde(rename = "3D")]
Variant3D,
#[serde(rename = "3E")]
Variant3E,
#[serde(rename = "3F")]
Variant3F,
#[serde(rename = "3G")]
Variant3G,
#[serde(rename = "3H")]
Variant3H,
#[serde(rename = "3I")]
Variant3I,
#[serde(rename = "3J")]
Variant3J,
#[serde(rename = "3K")]
Variant3K,
#[serde(rename = "3L")]
Variant3L,
#[serde(rename = "3M")]
Variant3M,
#[serde(rename = "3N")]
Variant3N,
#[serde(rename = "3O")]
Variant3O,
#[serde(rename = "3P")]
Variant3P,
#[serde(rename = "3Q")]
Variant3Q,
#[serde(rename = "3R")]
Variant3R,
#[serde(rename = "3S")]
Variant3S,
#[serde(rename = "3T")]
Variant3T,
#[serde(rename = "3U")]
Variant3U,
#[serde(rename = "3V")]
Variant3V,
#[serde(rename = "3W")]
Variant3W,
#[serde(rename = "3X")]
Variant3X,
#[serde(rename = "3Y")]
Variant3Y,
#[serde(rename = "3Z")]
Variant3Z,
#[serde(rename = "4A")]
Variant4A,
#[serde(rename = "4B")]
Variant4B,
#[serde(rename = "4C")]
Variant4C,
#[serde(rename = "4D")]
Variant4D,
#[serde(rename = "4E")]
Variant4E,
#[serde(rename = "4F")]
Variant4F,
#[serde(rename = "4G")]
Variant4G,
#[serde(rename = "4H")]
Variant4H,
#[serde(rename = "4I")]
Variant4I,
#[serde(rename = "4J")]
Variant4J,
#[serde(rename = "4L")]
Variant4L,
#[serde(rename = "4M")]
Variant4M,
#[serde(rename = "4N")]
Variant4N,
#[serde(rename = "4O")]
Variant4O,
#[serde(rename = "4P")]
Variant4P,
#[serde(rename = "4Q")]
Variant4Q,
#[serde(rename = "4R")]
Variant4R,
#[serde(rename = "4S")]
Variant4S,
#[serde(rename = "4U")]
Variant4U,
#[serde(rename = "4V")]
Variant4V,
#[serde(rename = "4W")]
Variant4W,
#[serde(rename = "4X")]
Variant4X,
#[serde(rename = "4Y")]
Variant4Y,
#[serde(rename = "4Z")]
Variant4Z,
#[serde(rename = "5A")]
Variant5A,
#[serde(rename = "5B")]
Variant5B,
#[serde(rename = "5C")]
Variant5C,
#[serde(rename = "5D")]
Variant5D,
#[serde(rename = "5E")]
Variant5E,
#[serde(rename = "5F")]
Variant5F,
#[serde(rename = "5G")]
Variant5G,
#[serde(rename = "5H")]
Variant5H,
#[serde(rename = "5I")]
Variant5I,
#[serde(rename = "5J")]
Variant5J,
#[serde(rename = "5K")]
Variant5K,
#[serde(rename = "5L")]
Variant5L,
#[serde(rename = "5M")]
Variant5M,
#[serde(rename = "5N")]
Variant5N,
#[serde(rename = "5O")]
Variant5O,
#[serde(rename = "5P")]
Variant5P,
#[serde(rename = "5Q")]
Variant5Q,
#[serde(rename = "5R")]
Variant5R,
#[serde(rename = "5S")]
Variant5S,
#[serde(rename = "5T")]
Variant5T,
#[serde(rename = "5U")]
Variant5U,
#[serde(rename = "5V")]
Variant5V,
#[serde(rename = "5W")]
Variant5W,
#[serde(rename = "5X")]
Variant5X,
#[serde(rename = "5Y")]
Variant5Y,
#[serde(rename = "5Z")]
Variant5Z,
#[serde(rename = "6A")]
Variant6A,
#[serde(rename = "6B")]
Variant6B,
#[serde(rename = "6C")]
Variant6C,
#[serde(rename = "6D")]
Variant6D,
#[serde(rename = "6E")]
Variant6E,
#[serde(rename = "6F")]
Variant6F,
#[serde(rename = "6G")]
Variant6G,
#[serde(rename = "6H")]
Variant6H,
#[serde(rename = "6I")]
Variant6I,
#[serde(rename = "6J")]
Variant6J,
#[serde(rename = "6K")]
Variant6K,
#[serde(rename = "6L")]
Variant6L,
#[serde(rename = "6M")]
Variant6M,
#[serde(rename = "6N")]
Variant6N,
#[serde(rename = "6O")]
Variant6O,
#[serde(rename = "6P")]
Variant6P,
#[serde(rename = "6Q")]
Variant6Q,
#[serde(rename = "6R")]
Variant6R,
#[serde(rename = "6S")]
Variant6S,
#[serde(rename = "6U")]
Variant6U,
#[serde(rename = "6V")]
Variant6V,
#[serde(rename = "6W")]
Variant6W,
#[serde(rename = "6X")]
Variant6X,
#[serde(rename = "6Y")]
Variant6Y,
#[serde(rename = "7C")]
Variant7C,
#[serde(rename = "13")]
Variant13,
#[serde(rename = "17")]
Variant17,
#[serde(rename = "28")]
Variant28,
#[serde(rename = "30")]
Variant30,
#[serde(rename = "36")]
Variant36,
#[serde(rename = "40")]
Variant40,
#[serde(rename = "43")]
Variant43,
#[serde(rename = "44")]
Variant44,
#[serde(rename = "61")]
Variant61,
#[serde(rename = "71")]
Variant71,
#[serde(rename = "72")]
Variant72,
#[serde(rename = "73")]
Variant73,
#[serde(rename = "74")]
Variant74,
#[serde(rename = "77")]
Variant77,
#[serde(rename = "80")]
Variant80,
#[serde(rename = "82")]
Variant82,
#[serde(rename = "84")]
Variant84,
#[serde(rename = "85")]
Variant85,
#[serde(rename = "87")]
Variant87,
#[serde(rename = "95")]
Variant95,
#[serde(rename = "CK")]
Ck,
#[serde(rename = "CZ")]
Cz,
#[serde(rename = "D2")]
D2,
#[serde(rename = "DD")]
Dd,
#[serde(rename = "DJ")]
Dj,
#[serde(rename = "DK")]
Dk,
#[serde(rename = "DN")]
Dn,
#[serde(rename = "DO")]
Do,
#[serde(rename = "DQ")]
Dq,
#[serde(rename = "E1")]
E1,
#[serde(rename = "E2")]
E2,
#[serde(rename = "E7")]
E7,
#[serde(rename = "E9")]
E9,
#[serde(rename = "FA")]
Fa,
#[serde(rename = "FD")]
Fd,
#[serde(rename = "FE")]
Fe,
#[serde(rename = "G0")]
G0,
#[serde(rename = "G3")]
G3,
#[serde(rename = "GB")]
Gb,
#[serde(rename = "GD")]
Gd,
#[serde(rename = "GI")]
Gi,
#[serde(rename = "GJ")]
Gj,
#[serde(rename = "GK")]
Gk,
#[serde(rename = "GM")]
Gm,
#[serde(rename = "GY")]
Gy,
#[serde(rename = "HF")]
Hf,
#[serde(rename = "HH")]
Hh,
#[serde(rename = "I3")]
I3,
#[serde(rename = "IJ")]
Ij,
#[serde(rename = "IL")]
Il,
#[serde(rename = "IN")]
In,
#[serde(rename = "LI")]
Li,
#[serde(rename = "LR")]
Lr,
#[serde(rename = "MR")]
Mr,
#[serde(rename = "MSC")]
Msc,
#[serde(rename = "OB")]
Ob,
#[serde(rename = "OD")]
Od,
#[serde(rename = "OX")]
Ox,
#[serde(rename = "P0")]
P0,
#[serde(rename = "P2")]
P2,
#[serde(rename = "P3")]
P3,
#[serde(rename = "P4")]
P4,
#[serde(rename = "P6")]
P6,
#[serde(rename = "P7")]
P7,
#[serde(rename = "PRP")]
Prp,
#[serde(rename = "PT")]
Pt,
#[serde(rename = "PV")]
Pv,
#[serde(rename = "PW")]
Pw,
#[serde(rename = "QA")]
Qa,
#[serde(rename = "QB")]
Qb,
#[serde(rename = "QC")]
Qc,
#[serde(rename = "QD")]
Qd,
#[serde(rename = "QE")]
Qe,
#[serde(rename = "QH")]
Qh,
#[serde(rename = "QK")]
Qk,
#[serde(rename = "QL")]
Ql,
#[serde(rename = "QN")]
Qn,
#[serde(rename = "QO")]
Qo,
#[serde(rename = "QS")]
Qs,
#[serde(rename = "QV")]
Qv,
#[serde(rename = "QY")]
Qy,
#[serde(rename = "RC")]
Rc,
#[serde(rename = "RW")]
Rw,
#[serde(rename = "S4")]
S4,
#[serde(rename = "SEP")]
Sep,
#[serde(rename = "SJ")]
Sj,
#[serde(rename = "SU")]
Su,
#[serde(rename = "T4")]
T4,
#[serde(rename = "TL")]
Tl,
#[serde(rename = "TQ")]
Tq,
#[serde(rename = "TT")]
Tt,
#[serde(rename = "TTP")]
Ttp,
#[serde(rename = "TU")]
Tu,
#[serde(rename = "UH")]
Uh,
#[serde(rename = "X3")]
X3,
#[serde(rename = "X4")]
X4,
#[serde(rename = "X5")]
X5,
#[serde(rename = "ZZ")]
Zz,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for EntityCode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Variant1E => write!(f, "1E"),
Self::Variant1G => write!(f, "1G"),
Self::Variant1H => write!(f, "1H"),
Self::Variant1I => write!(f, "1I"),
Self::Variant1O => write!(f, "1O"),
Self::Variant1P => write!(f, "1P"),
Self::Variant1Q => write!(f, "1Q"),
Self::Variant1R => write!(f, "1R"),
Self::Variant1S => write!(f, "1S"),
Self::Variant1T => write!(f, "1T"),
Self::Variant1U => write!(f, "1U"),
Self::Variant1V => write!(f, "1V"),
Self::Variant1W => write!(f, "1W"),
Self::Variant1X => write!(f, "1X"),
Self::Variant1Y => write!(f, "1Y"),
Self::Variant1Z => write!(f, "1Z"),
Self::Variant2A => write!(f, "2A"),
Self::Variant2B => write!(f, "2B"),
Self::Variant2D => write!(f, "2D"),
Self::Variant2E => write!(f, "2E"),
Self::Variant2I => write!(f, "2I"),
Self::Variant2K => write!(f, "2K"),
Self::Variant2P => write!(f, "2P"),
Self::Variant2Q => write!(f, "2Q"),
Self::Variant2S => write!(f, "2S"),
Self::Variant2Z => write!(f, "2Z"),
Self::Variant03 => write!(f, "03"),
Self::Variant3A => write!(f, "3A"),
Self::Variant3C => write!(f, "3C"),
Self::Variant3D => write!(f, "3D"),
Self::Variant3E => write!(f, "3E"),
Self::Variant3F => write!(f, "3F"),
Self::Variant3G => write!(f, "3G"),
Self::Variant3H => write!(f, "3H"),
Self::Variant3I => write!(f, "3I"),
Self::Variant3J => write!(f, "3J"),
Self::Variant3K => write!(f, "3K"),
Self::Variant3L => write!(f, "3L"),
Self::Variant3M => write!(f, "3M"),
Self::Variant3N => write!(f, "3N"),
Self::Variant3O => write!(f, "3O"),
Self::Variant3P => write!(f, "3P"),
Self::Variant3Q => write!(f, "3Q"),
Self::Variant3R => write!(f, "3R"),
Self::Variant3S => write!(f, "3S"),
Self::Variant3T => write!(f, "3T"),
Self::Variant3U => write!(f, "3U"),
Self::Variant3V => write!(f, "3V"),
Self::Variant3W => write!(f, "3W"),
Self::Variant3X => write!(f, "3X"),
Self::Variant3Y => write!(f, "3Y"),
Self::Variant3Z => write!(f, "3Z"),
Self::Variant4A => write!(f, "4A"),
Self::Variant4B => write!(f, "4B"),
Self::Variant4C => write!(f, "4C"),
Self::Variant4D => write!(f, "4D"),
Self::Variant4E => write!(f, "4E"),
Self::Variant4F => write!(f, "4F"),
Self::Variant4G => write!(f, "4G"),
Self::Variant4H => write!(f, "4H"),
Self::Variant4I => write!(f, "4I"),
Self::Variant4J => write!(f, "4J"),
Self::Variant4L => write!(f, "4L"),
Self::Variant4M => write!(f, "4M"),
Self::Variant4N => write!(f, "4N"),
Self::Variant4O => write!(f, "4O"),
Self::Variant4P => write!(f, "4P"),
Self::Variant4Q => write!(f, "4Q"),
Self::Variant4R => write!(f, "4R"),
Self::Variant4S => write!(f, "4S"),
Self::Variant4U => write!(f, "4U"),
Self::Variant4V => write!(f, "4V"),
Self::Variant4W => write!(f, "4W"),
Self::Variant4X => write!(f, "4X"),
Self::Variant4Y => write!(f, "4Y"),
Self::Variant4Z => write!(f, "4Z"),
Self::Variant5A => write!(f, "5A"),
Self::Variant5B => write!(f, "5B"),
Self::Variant5C => write!(f, "5C"),
Self::Variant5D => write!(f, "5D"),
Self::Variant5E => write!(f, "5E"),
Self::Variant5F => write!(f, "5F"),
Self::Variant5G => write!(f, "5G"),
Self::Variant5H => write!(f, "5H"),
Self::Variant5I => write!(f, "5I"),
Self::Variant5J => write!(f, "5J"),
Self::Variant5K => write!(f, "5K"),
Self::Variant5L => write!(f, "5L"),
Self::Variant5M => write!(f, "5M"),
Self::Variant5N => write!(f, "5N"),
Self::Variant5O => write!(f, "5O"),
Self::Variant5P => write!(f, "5P"),
Self::Variant5Q => write!(f, "5Q"),
Self::Variant5R => write!(f, "5R"),
Self::Variant5S => write!(f, "5S"),
Self::Variant5T => write!(f, "5T"),
Self::Variant5U => write!(f, "5U"),
Self::Variant5V => write!(f, "5V"),
Self::Variant5W => write!(f, "5W"),
Self::Variant5X => write!(f, "5X"),
Self::Variant5Y => write!(f, "5Y"),
Self::Variant5Z => write!(f, "5Z"),
Self::Variant6A => write!(f, "6A"),
Self::Variant6B => write!(f, "6B"),
Self::Variant6C => write!(f, "6C"),
Self::Variant6D => write!(f, "6D"),
Self::Variant6E => write!(f, "6E"),
Self::Variant6F => write!(f, "6F"),
Self::Variant6G => write!(f, "6G"),
Self::Variant6H => write!(f, "6H"),
Self::Variant6I => write!(f, "6I"),
Self::Variant6J => write!(f, "6J"),
Self::Variant6K => write!(f, "6K"),
Self::Variant6L => write!(f, "6L"),
Self::Variant6M => write!(f, "6M"),
Self::Variant6N => write!(f, "6N"),
Self::Variant6O => write!(f, "6O"),
Self::Variant6P => write!(f, "6P"),
Self::Variant6Q => write!(f, "6Q"),
Self::Variant6R => write!(f, "6R"),
Self::Variant6S => write!(f, "6S"),
Self::Variant6U => write!(f, "6U"),
Self::Variant6V => write!(f, "6V"),
Self::Variant6W => write!(f, "6W"),
Self::Variant6X => write!(f, "6X"),
Self::Variant6Y => write!(f, "6Y"),
Self::Variant7C => write!(f, "7C"),
Self::Variant13 => write!(f, "13"),
Self::Variant17 => write!(f, "17"),
Self::Variant28 => write!(f, "28"),
Self::Variant30 => write!(f, "30"),
Self::Variant36 => write!(f, "36"),
Self::Variant40 => write!(f, "40"),
Self::Variant43 => write!(f, "43"),
Self::Variant44 => write!(f, "44"),
Self::Variant61 => write!(f, "61"),
Self::Variant71 => write!(f, "71"),
Self::Variant72 => write!(f, "72"),
Self::Variant73 => write!(f, "73"),
Self::Variant74 => write!(f, "74"),
Self::Variant77 => write!(f, "77"),
Self::Variant80 => write!(f, "80"),
Self::Variant82 => write!(f, "82"),
Self::Variant84 => write!(f, "84"),
Self::Variant85 => write!(f, "85"),
Self::Variant87 => write!(f, "87"),
Self::Variant95 => write!(f, "95"),
Self::Ck => write!(f, "CK"),
Self::Cz => write!(f, "CZ"),
Self::D2 => write!(f, "D2"),
Self::Dd => write!(f, "DD"),
Self::Dj => write!(f, "DJ"),
Self::Dk => write!(f, "DK"),
Self::Dn => write!(f, "DN"),
Self::Do => write!(f, "DO"),
Self::Dq => write!(f, "DQ"),
Self::E1 => write!(f, "E1"),
Self::E2 => write!(f, "E2"),
Self::E7 => write!(f, "E7"),
Self::E9 => write!(f, "E9"),
Self::Fa => write!(f, "FA"),
Self::Fd => write!(f, "FD"),
Self::Fe => write!(f, "FE"),
Self::G0 => write!(f, "G0"),
Self::G3 => write!(f, "G3"),
Self::Gb => write!(f, "GB"),
Self::Gd => write!(f, "GD"),
Self::Gi => write!(f, "GI"),
Self::Gj => write!(f, "GJ"),
Self::Gk => write!(f, "GK"),
Self::Gm => write!(f, "GM"),
Self::Gy => write!(f, "GY"),
Self::Hf => write!(f, "HF"),
Self::Hh => write!(f, "HH"),
Self::I3 => write!(f, "I3"),
Self::Ij => write!(f, "IJ"),
Self::Il => write!(f, "IL"),
Self::In => write!(f, "IN"),
Self::Li => write!(f, "LI"),
Self::Lr => write!(f, "LR"),
Self::Mr => write!(f, "MR"),
Self::Msc => write!(f, "MSC"),
Self::Ob => write!(f, "OB"),
Self::Od => write!(f, "OD"),
Self::Ox => write!(f, "OX"),
Self::P0 => write!(f, "P0"),
Self::P2 => write!(f, "P2"),
Self::P3 => write!(f, "P3"),
Self::P4 => write!(f, "P4"),
Self::P6 => write!(f, "P6"),
Self::P7 => write!(f, "P7"),
Self::Prp => write!(f, "PRP"),
Self::Pt => write!(f, "PT"),
Self::Pv => write!(f, "PV"),
Self::Pw => write!(f, "PW"),
Self::Qa => write!(f, "QA"),
Self::Qb => write!(f, "QB"),
Self::Qc => write!(f, "QC"),
Self::Qd => write!(f, "QD"),
Self::Qe => write!(f, "QE"),
Self::Qh => write!(f, "QH"),
Self::Qk => write!(f, "QK"),
Self::Ql => write!(f, "QL"),
Self::Qn => write!(f, "QN"),
Self::Qo => write!(f, "QO"),
Self::Qs => write!(f, "QS"),
Self::Qv => write!(f, "QV"),
Self::Qy => write!(f, "QY"),
Self::Rc => write!(f, "RC"),
Self::Rw => write!(f, "RW"),
Self::S4 => write!(f, "S4"),
Self::Sep => write!(f, "SEP"),
Self::Sj => write!(f, "SJ"),
Self::Su => write!(f, "SU"),
Self::T4 => write!(f, "T4"),
Self::Tl => write!(f, "TL"),
Self::Tq => write!(f, "TQ"),
Self::Tt => write!(f, "TT"),
Self::Ttp => write!(f, "TTP"),
Self::Tu => write!(f, "TU"),
Self::Uh => write!(f, "UH"),
Self::X3 => write!(f, "X3"),
Self::X4 => write!(f, "X4"),
Self::X5 => write!(f, "X5"),
Self::Zz => write!(f, "ZZ"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for EntityCode {
fn default() -> EntityCode {
Self::Variant1E
}
}