autogen-stedi 0.3.2

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

/// Program : Insurance programs that a payer can participate in.
/// Insurance programs that a payer can participate in.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Program {
    #[serde(rename = "AUTOMOBILE_MEDICAL")]
    AutomobileMedical,
    #[serde(rename = "COMMERCIAL")]
    Commercial,
    #[serde(rename = "DISABILITY")]
    Disability,
    #[serde(rename = "LIABILITY_MEDICAL")]
    LiabilityMedical,
    #[serde(rename = "MEDICAID")]
    Medicaid,
    #[serde(rename = "MEDICARE")]
    Medicare,
    #[serde(rename = "MEDICARE_ADVANTAGE")]
    MedicareAdvantage,
    #[serde(rename = "TITLE_V")]
    TitleV,
    #[serde(rename = "TRICARE")]
    Tricare,
    #[serde(rename = "VETERANS_AFFAIRS")]
    VeteransAffairs,
    #[serde(rename = "WORKERS_COMPENSATION")]
    WorkersCompensation,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for Program {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::AutomobileMedical => write!(f, "AUTOMOBILE_MEDICAL"),
            Self::Commercial => write!(f, "COMMERCIAL"),
            Self::Disability => write!(f, "DISABILITY"),
            Self::LiabilityMedical => write!(f, "LIABILITY_MEDICAL"),
            Self::Medicaid => write!(f, "MEDICAID"),
            Self::Medicare => write!(f, "MEDICARE"),
            Self::MedicareAdvantage => write!(f, "MEDICARE_ADVANTAGE"),
            Self::TitleV => write!(f, "TITLE_V"),
            Self::Tricare => write!(f, "TRICARE"),
            Self::VeteransAffairs => write!(f, "VETERANS_AFFAIRS"),
            Self::WorkersCompensation => write!(f, "WORKERS_COMPENSATION"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for Program {
    fn default() -> Program {
        Self::AutomobileMedical
    }
}