autogen-stedi 0.3.2

Auto-generated, strongly-typed Rust client for the Stedi APIs
Documentation
/*
 * Stedi Healthcare
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 2024-04-01
 * Contact: healthcare@stedi.com
 * Generated by: https://openapi-generator.tech
 */

use crate::healthcare::models;
use serde::{Deserialize, Serialize};

/// BenefitsInformationCoverageLevelCode : Code indicating the level of coverage for the patient.   This will either be `CHD` - Children Only, `DEP` - Dependents Only, `ECH` - Employee and Children, `EMP` - Employee Only, `ESP` - Employee and Spouse, `FAM` - Family, `IND` - Individual, `SPC` - Spouse and Children, `SPO` - Spouse Only, or `Unknown`.  Payers may sometimes return other non-compliant values.
/// Code indicating the level of coverage for the patient.   This will either be `CHD` - Children Only, `DEP` - Dependents Only, `ECH` - Employee and Children, `EMP` - Employee Only, `ESP` - Employee and Spouse, `FAM` - Family, `IND` - Individual, `SPC` - Spouse and Children, `SPO` - Spouse Only, or `Unknown`.  Payers may sometimes return other non-compliant values.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BenefitsInformationCoverageLevelCode {
    #[serde(rename = "CHD")]
    Chd,
    #[serde(rename = "DEP")]
    Dep,
    #[serde(rename = "ECH")]
    Ech,
    #[serde(rename = "EMP")]
    Emp,
    #[serde(rename = "ESP")]
    Esp,
    #[serde(rename = "FAM")]
    Fam,
    #[serde(rename = "IND")]
    Ind,
    #[serde(rename = "SPC")]
    Spc,
    #[serde(rename = "SPO")]
    Spo,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for BenefitsInformationCoverageLevelCode {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Chd => write!(f, "CHD"),
            Self::Dep => write!(f, "DEP"),
            Self::Ech => write!(f, "ECH"),
            Self::Emp => write!(f, "EMP"),
            Self::Esp => write!(f, "ESP"),
            Self::Fam => write!(f, "FAM"),
            Self::Ind => write!(f, "IND"),
            Self::Spc => write!(f, "SPC"),
            Self::Spo => write!(f, "SPO"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for BenefitsInformationCoverageLevelCode {
    fn default() -> BenefitsInformationCoverageLevelCode {
        Self::Chd
    }
}