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

/// RequestDependentProviderCode : Use this for providers that are not requesting the eligibility check - the requestor is specified in the `provider` object. For example, if you are a hospital making an eligibility request, this is where you would specify information about a referring provider's role.    You can use one of the following: `AD` - Admitting, `AT` - Attending, `BI` - Billing, `CO` - Consulting, `CV` - Covering, `H` - Hospital, `HH` - Home Health Care, `LA` - Laboratory, `OT` - Other Physician, `P1` - Pharmacist, `P2` - Pharmacy, `PC` - Primary Care Physician, `PE`- Performing, `R`- Rural Health Clinic, `RF` - Referring, `SB` - Submitting, `SK` - Skilled Nursing Facility, `SU` - Supervising
/// Use this for providers that are not requesting the eligibility check - the requestor is specified in the `provider` object. For example, if you are a hospital making an eligibility request, this is where you would specify information about a referring provider's role.    You can use one of the following: `AD` - Admitting, `AT` - Attending, `BI` - Billing, `CO` - Consulting, `CV` - Covering, `H` - Hospital, `HH` - Home Health Care, `LA` - Laboratory, `OT` - Other Physician, `P1` - Pharmacist, `P2` - Pharmacy, `PC` - Primary Care Physician, `PE`- Performing, `R`- Rural Health Clinic, `RF` - Referring, `SB` - Submitting, `SK` - Skilled Nursing Facility, `SU` - Supervising
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RequestDependentProviderCode {
    #[serde(rename = "AD")]
    Ad,
    #[serde(rename = "AT")]
    At,
    #[serde(rename = "BI")]
    Bi,
    #[serde(rename = "CO")]
    Co,
    #[serde(rename = "CV")]
    Cv,
    #[serde(rename = "H")]
    H,
    #[serde(rename = "HH")]
    Hh,
    #[serde(rename = "LA")]
    La,
    #[serde(rename = "OT")]
    Ot,
    #[serde(rename = "P1")]
    P1,
    #[serde(rename = "P2")]
    P2,
    #[serde(rename = "PC")]
    Pc,
    #[serde(rename = "PE")]
    Pe,
    #[serde(rename = "R")]
    R,
    #[serde(rename = "RF")]
    Rf,
    #[serde(rename = "SK")]
    Sk,
    #[serde(rename = "SU")]
    Su,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for RequestDependentProviderCode {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Ad => write!(f, "AD"),
            Self::At => write!(f, "AT"),
            Self::Bi => write!(f, "BI"),
            Self::Co => write!(f, "CO"),
            Self::Cv => write!(f, "CV"),
            Self::H => write!(f, "H"),
            Self::Hh => write!(f, "HH"),
            Self::La => write!(f, "LA"),
            Self::Ot => write!(f, "OT"),
            Self::P1 => write!(f, "P1"),
            Self::P2 => write!(f, "P2"),
            Self::Pc => write!(f, "PC"),
            Self::Pe => write!(f, "PE"),
            Self::R => write!(f, "R"),
            Self::Rf => write!(f, "RF"),
            Self::Sk => write!(f, "SK"),
            Self::Su => write!(f, "SU"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for RequestDependentProviderCode {
    fn default() -> RequestDependentProviderCode {
        Self::Ad
    }
}