use crate::healthcare::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DependentRelationship {
#[serde(rename = "Spouse")]
Spouse,
#[serde(rename = "Child")]
Child,
#[serde(rename = "Employee")]
Employee,
#[serde(rename = "Unknown")]
Unknown,
#[serde(rename = "Organ Donor")]
OrganDonor,
#[serde(rename = "Cadaver Donor")]
CadaverDonor,
#[serde(rename = "Life Partner")]
LifePartner,
#[serde(rename = "Other Relationship")]
OtherRelationship,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for DependentRelationship {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Spouse => write!(f, "Spouse"),
Self::Child => write!(f, "Child"),
Self::Employee => write!(f, "Employee"),
Self::Unknown => write!(f, "Unknown"),
Self::OrganDonor => write!(f, "Organ Donor"),
Self::CadaverDonor => write!(f, "Cadaver Donor"),
Self::LifePartner => write!(f, "Life Partner"),
Self::OtherRelationship => write!(f, "Other Relationship"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for DependentRelationship {
fn default() -> DependentRelationship {
Self::Spouse
}
}