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

/// InPlanNetworkIndicatorCode : Code indicating whether the benefit is in-network or out-of-network. Can be `Y` - Yes, `N` - No, `U` - Unknown, or `W` - Not Applicable   Code `U` indicates that it is unknown whether the benefits are in or out-of-network. Code `W` indicates that the benefit applies to both in and out-of-network providers.     Note that this property **doesn't indicate** whether the provider is in or out-of-network for the patient. To determine that, you must check with the payer directly.  Payers may sometimes return other non-compliant values.
/// Code indicating whether the benefit is in-network or out-of-network. Can be `Y` - Yes, `N` - No, `U` - Unknown, or `W` - Not Applicable   Code `U` indicates that it is unknown whether the benefits are in or out-of-network. Code `W` indicates that the benefit applies to both in and out-of-network providers.     Note that this property **doesn't indicate** whether the provider is in or out-of-network for the patient. To determine that, you must check with the payer directly.  Payers may sometimes return other non-compliant values.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum InPlanNetworkIndicatorCode {
    #[serde(rename = "Y")]
    Y,
    #[serde(rename = "N")]
    N,
    #[serde(rename = "U")]
    U,
    #[serde(rename = "W")]
    W,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for InPlanNetworkIndicatorCode {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Y => write!(f, "Y"),
            Self::N => write!(f, "N"),
            Self::U => write!(f, "U"),
            Self::W => write!(f, "W"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for InPlanNetworkIndicatorCode {
    fn default() -> InPlanNetworkIndicatorCode {
        Self::Y
    }
}