use crate::healthcare::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PlaceOfServiceCode {
#[serde(rename = "01")]
Variant01,
#[serde(rename = "02")]
Variant02,
#[serde(rename = "03")]
Variant03,
#[serde(rename = "04")]
Variant04,
#[serde(rename = "05")]
Variant05,
#[serde(rename = "06")]
Variant06,
#[serde(rename = "07")]
Variant07,
#[serde(rename = "08")]
Variant08,
#[serde(rename = "09")]
Variant09,
#[serde(rename = "10")]
Variant10,
#[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 = "18")]
Variant18,
#[serde(rename = "19")]
Variant19,
#[serde(rename = "20")]
Variant20,
#[serde(rename = "21")]
Variant21,
#[serde(rename = "22")]
Variant22,
#[serde(rename = "23")]
Variant23,
#[serde(rename = "24")]
Variant24,
#[serde(rename = "25")]
Variant25,
#[serde(rename = "26")]
Variant26,
#[serde(rename = "27")]
Variant27,
#[serde(rename = "31")]
Variant31,
#[serde(rename = "32")]
Variant32,
#[serde(rename = "33")]
Variant33,
#[serde(rename = "34")]
Variant34,
#[serde(rename = "41")]
Variant41,
#[serde(rename = "42")]
Variant42,
#[serde(rename = "49")]
Variant49,
#[serde(rename = "50")]
Variant50,
#[serde(rename = "51")]
Variant51,
#[serde(rename = "52")]
Variant52,
#[serde(rename = "53")]
Variant53,
#[serde(rename = "54")]
Variant54,
#[serde(rename = "55")]
Variant55,
#[serde(rename = "56")]
Variant56,
#[serde(rename = "57")]
Variant57,
#[serde(rename = "58")]
Variant58,
#[serde(rename = "60")]
Variant60,
#[serde(rename = "61")]
Variant61,
#[serde(rename = "62")]
Variant62,
#[serde(rename = "65")]
Variant65,
#[serde(rename = "66")]
Variant66,
#[serde(rename = "71")]
Variant71,
#[serde(rename = "72")]
Variant72,
#[serde(rename = "81")]
Variant81,
#[serde(rename = "99")]
Variant99,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for PlaceOfServiceCode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Variant01 => write!(f, "01"),
Self::Variant02 => write!(f, "02"),
Self::Variant03 => write!(f, "03"),
Self::Variant04 => write!(f, "04"),
Self::Variant05 => write!(f, "05"),
Self::Variant06 => write!(f, "06"),
Self::Variant07 => write!(f, "07"),
Self::Variant08 => write!(f, "08"),
Self::Variant09 => write!(f, "09"),
Self::Variant10 => write!(f, "10"),
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::Variant18 => write!(f, "18"),
Self::Variant19 => write!(f, "19"),
Self::Variant20 => write!(f, "20"),
Self::Variant21 => write!(f, "21"),
Self::Variant22 => write!(f, "22"),
Self::Variant23 => write!(f, "23"),
Self::Variant24 => write!(f, "24"),
Self::Variant25 => write!(f, "25"),
Self::Variant26 => write!(f, "26"),
Self::Variant27 => write!(f, "27"),
Self::Variant31 => write!(f, "31"),
Self::Variant32 => write!(f, "32"),
Self::Variant33 => write!(f, "33"),
Self::Variant34 => write!(f, "34"),
Self::Variant41 => write!(f, "41"),
Self::Variant42 => write!(f, "42"),
Self::Variant49 => write!(f, "49"),
Self::Variant50 => write!(f, "50"),
Self::Variant51 => write!(f, "51"),
Self::Variant52 => write!(f, "52"),
Self::Variant53 => write!(f, "53"),
Self::Variant54 => write!(f, "54"),
Self::Variant55 => write!(f, "55"),
Self::Variant56 => write!(f, "56"),
Self::Variant57 => write!(f, "57"),
Self::Variant58 => write!(f, "58"),
Self::Variant60 => write!(f, "60"),
Self::Variant61 => write!(f, "61"),
Self::Variant62 => write!(f, "62"),
Self::Variant65 => write!(f, "65"),
Self::Variant66 => write!(f, "66"),
Self::Variant71 => write!(f, "71"),
Self::Variant72 => write!(f, "72"),
Self::Variant81 => write!(f, "81"),
Self::Variant99 => write!(f, "99"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for PlaceOfServiceCode {
fn default() -> PlaceOfServiceCode {
Self::Variant01
}
}