use crate::healthcare::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum QuantityQualifierCode {
#[serde(rename = "8H")]
Variant8H,
#[serde(rename = "99")]
Variant99,
#[serde(rename = "CA")]
Ca,
#[serde(rename = "CE")]
Ce,
#[serde(rename = "D3")]
D3,
#[serde(rename = "DB")]
Db,
#[serde(rename = "DY")]
Dy,
#[serde(rename = "HS")]
Hs,
#[serde(rename = "LA")]
La,
#[serde(rename = "LE")]
Le,
#[serde(rename = "M2")]
M2,
#[serde(rename = "MN")]
Mn,
#[serde(rename = "P6")]
P6,
#[serde(rename = "QA")]
Qa,
#[serde(rename = "S7")]
S7,
#[serde(rename = "S8")]
S8,
#[serde(rename = "VS")]
Vs,
#[serde(rename = "YY")]
Yy,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for QuantityQualifierCode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Variant8H => write!(f, "8H"),
Self::Variant99 => write!(f, "99"),
Self::Ca => write!(f, "CA"),
Self::Ce => write!(f, "CE"),
Self::D3 => write!(f, "D3"),
Self::Db => write!(f, "DB"),
Self::Dy => write!(f, "DY"),
Self::Hs => write!(f, "HS"),
Self::La => write!(f, "LA"),
Self::Le => write!(f, "LE"),
Self::M2 => write!(f, "M2"),
Self::Mn => write!(f, "MN"),
Self::P6 => write!(f, "P6"),
Self::Qa => write!(f, "QA"),
Self::S7 => write!(f, "S7"),
Self::S8 => write!(f, "S8"),
Self::Vs => write!(f, "VS"),
Self::Yy => write!(f, "YY"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for QuantityQualifierCode {
fn default() -> QuantityQualifierCode {
Self::Variant8H
}
}