use crate::healthcare::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RequestProviderCode {
#[serde(rename = "AD")]
Ad,
#[serde(rename = "AT")]
At,
#[serde(rename = "BI")]
Bi,
#[serde(rename = "CO")]
Co,
#[serde(rename = "CV")]
Cv,
#[serde(rename = "H")]
H,
#[serde(rename = "HH")]
Hh,
#[serde(rename = "LA")]
La,
#[serde(rename = "OT")]
Ot,
#[serde(rename = "P1")]
P1,
#[serde(rename = "P2")]
P2,
#[serde(rename = "PC")]
Pc,
#[serde(rename = "PE")]
Pe,
#[serde(rename = "R")]
R,
#[serde(rename = "RF")]
Rf,
#[serde(rename = "SB")]
Sb,
#[serde(rename = "SK")]
Sk,
#[serde(rename = "SU")]
Su,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for RequestProviderCode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Ad => write!(f, "AD"),
Self::At => write!(f, "AT"),
Self::Bi => write!(f, "BI"),
Self::Co => write!(f, "CO"),
Self::Cv => write!(f, "CV"),
Self::H => write!(f, "H"),
Self::Hh => write!(f, "HH"),
Self::La => write!(f, "LA"),
Self::Ot => write!(f, "OT"),
Self::P1 => write!(f, "P1"),
Self::P2 => write!(f, "P2"),
Self::Pc => write!(f, "PC"),
Self::Pe => write!(f, "PE"),
Self::R => write!(f, "R"),
Self::Rf => write!(f, "RF"),
Self::Sb => write!(f, "SB"),
Self::Sk => write!(f, "SK"),
Self::Su => write!(f, "SU"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for RequestProviderCode {
fn default() -> RequestProviderCode {
Self::Ad
}
}