autogen-stedi 0.3.2

Auto-generated, strongly-typed Rust client for the Stedi APIs
Documentation
/*
 * Stedi Manager
 *
 * 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::manager::models;
use serde::{Deserialize, Serialize};

/// BenefitsInformationName : The full name of the benefits information code.  Payers may sometimes return other non-compliant values.
/// The full name of the benefits information code.  Payers may sometimes return other non-compliant values.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BenefitsInformationName {
    #[serde(rename = "Active Coverage")]
    ActiveCoverage,
    #[serde(rename = "Active - Full Risk Capitation")]
    ActiveFullRiskCapitation,
    #[serde(rename = "Active - Services Capitated")]
    ActiveServicesCapitated,
    #[serde(rename = "Active - Services Capitated to Primary Care Physician")]
    ActiveServicesCapitatedToPrimaryCarePhysician,
    #[serde(rename = "Active - Pending Investigation")]
    ActivePendingInvestigation,
    #[serde(rename = "Inactive")]
    Inactive,
    #[serde(rename = "Inactive - Pending Eligibility Update")]
    InactivePendingEligibilityUpdate,
    #[serde(rename = "Inactive - Pending Investigation")]
    InactivePendingInvestigation,
    #[serde(rename = "Co-Insurance")]
    CoInsurance,
    #[serde(rename = "Co-Payment")]
    CoPayment,
    #[serde(rename = "Deductible")]
    Deductible,
    #[serde(rename = "Coverage Basis")]
    CoverageBasis,
    #[serde(rename = "Benefit Description")]
    BenefitDescription,
    #[serde(rename = "Exclusions")]
    Exclusions,
    #[serde(rename = "Limitations")]
    Limitations,
    #[serde(rename = "Out of Pocket (Stop Loss)")]
    OutOfPocketLeftParenthesisStopLossRightParenthesis,
    #[serde(rename = "Unlimited")]
    Unlimited,
    #[serde(rename = "Non-Covered")]
    NonCovered,
    #[serde(rename = "Cost Containment")]
    CostContainment,
    #[serde(rename = "Reserve")]
    Reserve,
    #[serde(rename = "Primary Care Provider")]
    PrimaryCareProvider,
    #[serde(rename = "Pre-existing Condition")]
    PreExistingCondition,
    #[serde(rename = "Managed Care Coordinator")]
    ManagedCareCoordinator,
    #[serde(rename = "Services Restricted to Following Provider")]
    ServicesRestrictedToFollowingProvider,
    #[serde(rename = "Not Deemed a Medical Necessity")]
    NotDeemedAMedicalNecessity,
    #[serde(rename = "Benefit Disclaimer")]
    BenefitDisclaimer,
    #[serde(rename = "Second Surgical Opinion Required")]
    SecondSurgicalOpinionRequired,
    #[serde(rename = "Other or Additional Payor")]
    OtherOrAdditionalPayor,
    #[serde(rename = "Prior Year(s) History")]
    PriorYearLeftParenthesisSRightParenthesisHistory,
    #[serde(rename = "Card(s) Reported Lost/Stolen")]
    CardLeftParenthesisSRightParenthesisReportedLostSlashStolen,
    #[serde(rename = "Contact Following Entity for Eligibility or Benefit Information")]
    ContactFollowingEntityForEligibilityOrBenefitInformation,
    #[serde(rename = "Cannot Process")]
    CannotProcess,
    #[serde(rename = "Other Source of Data")]
    OtherSourceOfData,
    #[serde(rename = "Health Care Facility")]
    HealthCareFacility,
    #[serde(rename = "Spend Down")]
    SpendDown,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for BenefitsInformationName {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::ActiveCoverage => write!(f, "Active Coverage"),
            Self::ActiveFullRiskCapitation => write!(f, "Active - Full Risk Capitation"),
            Self::ActiveServicesCapitated => write!(f, "Active - Services Capitated"),
            Self::ActiveServicesCapitatedToPrimaryCarePhysician => write!(f, "Active - Services Capitated to Primary Care Physician"),
            Self::ActivePendingInvestigation => write!(f, "Active - Pending Investigation"),
            Self::Inactive => write!(f, "Inactive"),
            Self::InactivePendingEligibilityUpdate => write!(f, "Inactive - Pending Eligibility Update"),
            Self::InactivePendingInvestigation => write!(f, "Inactive - Pending Investigation"),
            Self::CoInsurance => write!(f, "Co-Insurance"),
            Self::CoPayment => write!(f, "Co-Payment"),
            Self::Deductible => write!(f, "Deductible"),
            Self::CoverageBasis => write!(f, "Coverage Basis"),
            Self::BenefitDescription => write!(f, "Benefit Description"),
            Self::Exclusions => write!(f, "Exclusions"),
            Self::Limitations => write!(f, "Limitations"),
            Self::OutOfPocketLeftParenthesisStopLossRightParenthesis => write!(f, "Out of Pocket (Stop Loss)"),
            Self::Unlimited => write!(f, "Unlimited"),
            Self::NonCovered => write!(f, "Non-Covered"),
            Self::CostContainment => write!(f, "Cost Containment"),
            Self::Reserve => write!(f, "Reserve"),
            Self::PrimaryCareProvider => write!(f, "Primary Care Provider"),
            Self::PreExistingCondition => write!(f, "Pre-existing Condition"),
            Self::ManagedCareCoordinator => write!(f, "Managed Care Coordinator"),
            Self::ServicesRestrictedToFollowingProvider => write!(f, "Services Restricted to Following Provider"),
            Self::NotDeemedAMedicalNecessity => write!(f, "Not Deemed a Medical Necessity"),
            Self::BenefitDisclaimer => write!(f, "Benefit Disclaimer"),
            Self::SecondSurgicalOpinionRequired => write!(f, "Second Surgical Opinion Required"),
            Self::OtherOrAdditionalPayor => write!(f, "Other or Additional Payor"),
            Self::PriorYearLeftParenthesisSRightParenthesisHistory => write!(f, "Prior Year(s) History"),
            Self::CardLeftParenthesisSRightParenthesisReportedLostSlashStolen => write!(f, "Card(s) Reported Lost/Stolen"),
            Self::ContactFollowingEntityForEligibilityOrBenefitInformation => write!(f, "Contact Following Entity for Eligibility or Benefit Information"),
            Self::CannotProcess => write!(f, "Cannot Process"),
            Self::OtherSourceOfData => write!(f, "Other Source of Data"),
            Self::HealthCareFacility => write!(f, "Health Care Facility"),
            Self::SpendDown => write!(f, "Spend Down"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for BenefitsInformationName {
    fn default() -> BenefitsInformationName {
        Self::ActiveCoverage
    }
}