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

/// ServiceIdQualifierCode : A code identifying the type/source of the `procedureId`. Visit [Claims code lists](https://www.stedi.com/docs/healthcare/claims-code-lists#product-or-service-id-qualifier) for a complete list.
/// A code identifying the type/source of the `procedureId`. Visit [Claims code lists](https://www.stedi.com/docs/healthcare/claims-code-lists#product-or-service-id-qualifier) for a complete list.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ServiceIdQualifierCode {
    #[serde(rename = "AD")]
    Ad,
    #[serde(rename = "ER")]
    Er,
    #[serde(rename = "HC")]
    Hc,
    #[serde(rename = "HP")]
    Hp,
    #[serde(rename = "IV")]
    Iv,
    #[serde(rename = "N4")]
    N4,
    #[serde(rename = "NU")]
    Nu,
    #[serde(rename = "WK")]
    Wk,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for ServiceIdQualifierCode {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Ad => write!(f, "AD"),
            Self::Er => write!(f, "ER"),
            Self::Hc => write!(f, "HC"),
            Self::Hp => write!(f, "HP"),
            Self::Iv => write!(f, "IV"),
            Self::N4 => write!(f, "N4"),
            Self::Nu => write!(f, "NU"),
            Self::Wk => write!(f, "WK"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

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