use crate::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum QuantityQualifierName {
#[serde(rename = "Minimum")]
Minimum,
#[serde(rename = "Quantity Used")]
QuantityUsed,
#[serde(rename = "Covered - Actual")]
CoveredActual,
#[serde(rename = "Covered - Estimated")]
CoveredEstimated,
#[serde(rename = "Number of Co-insurance Days")]
NumberOfCoInsuranceDays,
#[serde(rename = "Deductible Blood Units")]
DeductibleBloodUnits,
#[serde(rename = "Days")]
Days,
#[serde(rename = "Hours")]
Hours,
#[serde(rename = "Life-time Reserve - Actual")]
LifeTimeReserveActual,
#[serde(rename = "Life-time Reserve - Estimated")]
LifeTimeReserveEstimated,
#[serde(rename = "Maximum")]
Maximum,
#[serde(rename = "Month")]
Month,
#[serde(rename = "Number of Services or Procedures")]
NumberOfServicesOrProcedures,
#[serde(rename = "Quantity Approved")]
QuantityApproved,
#[serde(rename = "Age, High Value")]
AgeCommaHighValue,
#[serde(rename = "Age, Low Value")]
AgeCommaLowValue,
#[serde(rename = "Visits")]
Visits,
#[serde(rename = "Years")]
Years,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for QuantityQualifierName {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Minimum => write!(f, "Minimum"),
Self::QuantityUsed => write!(f, "Quantity Used"),
Self::CoveredActual => write!(f, "Covered - Actual"),
Self::CoveredEstimated => write!(f, "Covered - Estimated"),
Self::NumberOfCoInsuranceDays => write!(f, "Number of Co-insurance Days"),
Self::DeductibleBloodUnits => write!(f, "Deductible Blood Units"),
Self::Days => write!(f, "Days"),
Self::Hours => write!(f, "Hours"),
Self::LifeTimeReserveActual => write!(f, "Life-time Reserve - Actual"),
Self::LifeTimeReserveEstimated => write!(f, "Life-time Reserve - Estimated"),
Self::Maximum => write!(f, "Maximum"),
Self::Month => write!(f, "Month"),
Self::NumberOfServicesOrProcedures => write!(f, "Number of Services or Procedures"),
Self::QuantityApproved => write!(f, "Quantity Approved"),
Self::AgeCommaHighValue => write!(f, "Age, High Value"),
Self::AgeCommaLowValue => write!(f, "Age, Low Value"),
Self::Visits => write!(f, "Visits"),
Self::Years => write!(f, "Years"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for QuantityQualifierName {
fn default() -> QuantityQualifierName {
Self::Minimum
}
}