use crate::healthcare::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CommunicationMode {
#[serde(rename = "Electronic Data Interchange Access Number")]
ElectronicDataInterchangeAccessNumber,
#[serde(rename = "Electronic Mail")]
ElectronicMail,
#[serde(rename = "Facsimile")]
Facsimile,
#[serde(rename = "Telephone")]
Telephone,
#[serde(rename = "Uniform Resource Locator (URL)")]
UniformResourceLocatorLeftParenthesisUrlRightParenthesis,
#[serde(rename = "Telephone Extension")]
TelephoneExtension,
#[serde(rename = "Work Phone Number")]
WorkPhoneNumber,
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for CommunicationMode {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::ElectronicDataInterchangeAccessNumber => write!(f, "Electronic Data Interchange Access Number"),
Self::ElectronicMail => write!(f, "Electronic Mail"),
Self::Facsimile => write!(f, "Facsimile"),
Self::Telephone => write!(f, "Telephone"),
Self::UniformResourceLocatorLeftParenthesisUrlRightParenthesis => write!(f, "Uniform Resource Locator (URL)"),
Self::TelephoneExtension => write!(f, "Telephone Extension"),
Self::WorkPhoneNumber => write!(f, "Work Phone Number"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for CommunicationMode {
fn default() -> CommunicationMode {
Self::ElectronicDataInterchangeAccessNumber
}
}