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

/// InstitutionalSubscriberPaymentResponsibilityLevelCode : The payer's level of responsibility for paying this claim. Can be set to `A` - Payer Responsibility Four, `B` - Payer Responsibility Five, `C` - Payer Responsibility Six, `D` - Payer Responsibility Seven, `E` - Payer Responsibility Eight, `F` - Payer Responsibility Nine, `G` - Payer Responsibility Ten, `H` - Payer Responsibility Eleven, `P` - Primary, `S` - Secondary, `T` Tertiary, or `U` - Unknown (only use in payer-to-payer COB claims).
/// The payer's level of responsibility for paying this claim. Can be set to `A` - Payer Responsibility Four, `B` - Payer Responsibility Five, `C` - Payer Responsibility Six, `D` - Payer Responsibility Seven, `E` - Payer Responsibility Eight, `F` - Payer Responsibility Nine, `G` - Payer Responsibility Ten, `H` - Payer Responsibility Eleven, `P` - Primary, `S` - Secondary, `T` Tertiary, or `U` - Unknown (only use in payer-to-payer COB claims).
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum InstitutionalSubscriberPaymentResponsibilityLevelCode {
    #[serde(rename = "A")]
    A,
    #[serde(rename = "B")]
    B,
    #[serde(rename = "C")]
    C,
    #[serde(rename = "D")]
    D,
    #[serde(rename = "E")]
    E,
    #[serde(rename = "F")]
    F,
    #[serde(rename = "G")]
    G,
    #[serde(rename = "H")]
    H,
    #[serde(rename = "P")]
    P,
    #[serde(rename = "S")]
    S,
    #[serde(rename = "T")]
    T,
    #[serde(rename = "U")]
    U,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for InstitutionalSubscriberPaymentResponsibilityLevelCode {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::A => write!(f, "A"),
            Self::B => write!(f, "B"),
            Self::C => write!(f, "C"),
            Self::D => write!(f, "D"),
            Self::E => write!(f, "E"),
            Self::F => write!(f, "F"),
            Self::G => write!(f, "G"),
            Self::H => write!(f, "H"),
            Self::P => write!(f, "P"),
            Self::S => write!(f, "S"),
            Self::T => write!(f, "T"),
            Self::U => write!(f, "U"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for InstitutionalSubscriberPaymentResponsibilityLevelCode {
    fn default() -> InstitutionalSubscriberPaymentResponsibilityLevelCode {
        Self::A
    }
}