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};

/// SpecialProgramCode : Code indicating the Special Program under which the services rendered to the patient were performed. Used for Medicaid claims only. Can be set to `02` - Physically Handicapped Children's Program, `03` - Special Federal Funding, `05` - Disability, or `09` - Second Opinion or Surgery.
/// Code indicating the Special Program under which the services rendered to the patient were performed. Used for Medicaid claims only. Can be set to `02` - Physically Handicapped Children's Program, `03` - Special Federal Funding, `05` - Disability, or `09` - Second Opinion or Surgery.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum SpecialProgramCode {
    #[serde(rename = "02")]
    Variant02,
    #[serde(rename = "03")]
    Variant03,
    #[serde(rename = "05")]
    Variant05,
    #[serde(rename = "09")]
    Variant09,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for SpecialProgramCode {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Variant02 => write!(f, "02"),
            Self::Variant03 => write!(f, "03"),
            Self::Variant05 => write!(f, "05"),
            Self::Variant09 => write!(f, "09"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for SpecialProgramCode {
    fn default() -> SpecialProgramCode {
        Self::Variant02
    }
}