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

/// RelatedEntityIdentifierName : Code identifying an organizational entity, a physical location, property or an individual.    - `PPO` is used to identify a PPO by name or identification number, and also may also be used if identifying the Network that benefits are restricted to for In-Network benefits.  Payers may sometimes return other non-compliant values.
/// Code identifying an organizational entity, a physical location, property or an individual.    - `PPO` is used to identify a PPO by name or identification number, and also may also be used if identifying the Network that benefits are restricted to for In-Network benefits.  Payers may sometimes return other non-compliant values.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RelatedEntityIdentifierName {
    #[serde(rename = "Contracted Service Provider")]
    ContractedServiceProvider,
    #[serde(rename = "Preferred Provider Organization (PPO)")]
    PreferredProviderOrganizationLeftParenthesisPpoRightParenthesis,
    #[serde(rename = "Provider")]
    Provider,
    #[serde(rename = "Third-Party Administrator")]
    ThirdPartyAdministrator,
    #[serde(rename = "Employer")]
    Employer,
    #[serde(rename = "Other Physician")]
    OtherPhysician,
    #[serde(rename = "Facility")]
    Facility,
    #[serde(rename = "Gateway Provider")]
    GatewayProvider,
    #[serde(rename = "Group")]
    Group,
    #[serde(rename = "Independent Physicians Association (IPA)")]
    IndependentPhysiciansAssociationLeftParenthesisIpaRightParenthesis,
    #[serde(rename = "Insured or Subscriber")]
    InsuredOrSubscriber,
    #[serde(rename = "Legal Representative")]
    LegalRepresentative,
    #[serde(rename = "Origin Carrier")]
    OriginCarrier,
    #[serde(rename = "Primary Care Provider")]
    PrimaryCareProvider,
    #[serde(rename = "Prior Insurance Carrier")]
    PriorInsuranceCarrier,
    #[serde(rename = "Plan Sponsor")]
    PlanSponsor,
    #[serde(rename = "Payer")]
    Payer,
    #[serde(rename = "Primary Payer")]
    PrimaryPayer,
    #[serde(rename = "Secondary Payer")]
    SecondaryPayer,
    #[serde(rename = "Tertiary Payer")]
    TertiaryPayer,
    #[serde(rename = "Party Performing Verification")]
    PartyPerformingVerification,
    #[serde(rename = "Vendor")]
    Vendor,
    #[serde(rename = "Organization Completing Configuration Change")]
    OrganizationCompletingConfigurationChange,
    #[serde(rename = "Utilization Management Organization")]
    UtilizationManagementOrganization,
    #[serde(rename = "Managed Care Organization")]
    ManagedCareOrganization,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for RelatedEntityIdentifierName {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::ContractedServiceProvider => write!(f, "Contracted Service Provider"),
            Self::PreferredProviderOrganizationLeftParenthesisPpoRightParenthesis => write!(f, "Preferred Provider Organization (PPO)"),
            Self::Provider => write!(f, "Provider"),
            Self::ThirdPartyAdministrator => write!(f, "Third-Party Administrator"),
            Self::Employer => write!(f, "Employer"),
            Self::OtherPhysician => write!(f, "Other Physician"),
            Self::Facility => write!(f, "Facility"),
            Self::GatewayProvider => write!(f, "Gateway Provider"),
            Self::Group => write!(f, "Group"),
            Self::IndependentPhysiciansAssociationLeftParenthesisIpaRightParenthesis => write!(f, "Independent Physicians Association (IPA)"),
            Self::InsuredOrSubscriber => write!(f, "Insured or Subscriber"),
            Self::LegalRepresentative => write!(f, "Legal Representative"),
            Self::OriginCarrier => write!(f, "Origin Carrier"),
            Self::PrimaryCareProvider => write!(f, "Primary Care Provider"),
            Self::PriorInsuranceCarrier => write!(f, "Prior Insurance Carrier"),
            Self::PlanSponsor => write!(f, "Plan Sponsor"),
            Self::Payer => write!(f, "Payer"),
            Self::PrimaryPayer => write!(f, "Primary Payer"),
            Self::SecondaryPayer => write!(f, "Secondary Payer"),
            Self::TertiaryPayer => write!(f, "Tertiary Payer"),
            Self::PartyPerformingVerification => write!(f, "Party Performing Verification"),
            Self::Vendor => write!(f, "Vendor"),
            Self::OrganizationCompletingConfigurationChange => write!(f, "Organization Completing Configuration Change"),
            Self::UtilizationManagementOrganization => write!(f, "Utilization Management Organization"),
            Self::ManagedCareOrganization => write!(f, "Managed Care Organization"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for RelatedEntityIdentifierName {
    fn default() -> RelatedEntityIdentifierName {
        Self::ContractedServiceProvider
    }
}