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

/// BenefitsRelatedEntity : Identify another entity associated with the eligibility or benefits. This could be a provider, an individual, an organization, or another payer.  This array is commonly used to designate the patient's primary care provider (PCP), another organization that handles a specific carveout benefit type, or another health plan for the patient (coordination of benefits scenarios).  This is where information for a crossover carrier such as Medicaid or Medicare is provided, if it's applicable to the patient and the payer supports it.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct BenefitsRelatedEntity {
    /// The address of the entity, such as a provider or organization.
    #[serde(rename = "address", skip_serializing_if = "Option::is_none")]
    pub address: Option<Box<models::Address>>,
    /// The contact information for the entity, such as a phone number or email address.
    #[serde(rename = "contactInformation", skip_serializing_if = "Option::is_none")]
    pub contact_information: Option<Box<models::ContactInformation>>,
    /// The first name of the entity, if the entity is a person.
    #[serde(rename = "entityFirstname", skip_serializing_if = "Option::is_none")]
    pub entity_firstname: Option<String>,
    /// Code identifying the type of identifier in the `entityIdentificationValue` property. Visit [Eligibility code lists](https://www.stedi.com/docs/healthcare/eligibility-code-lists#identification-code-qualifiers) for a complete list.  Payers may sometimes return other non-compliant values.
    #[serde(rename = "entityIdentification", skip_serializing_if = "Option::is_none")]
    pub entity_identification: Option<models::BenefitRelatedEntityIdentification>,
    /// The identification number for the entity, qualified by the code in `entityIdentification`.
    #[serde(rename = "entityIdentificationValue", skip_serializing_if = "Option::is_none")]
    pub entity_identification_value: Option<String>,
    /// Code identifying an organizational entity, a physical location, property, or individual. When set to `Party Performing Verification` for a BCBS payer, this is the patient's home plan.  Payers may sometimes return other non-compliant values.
    #[serde(rename = "entityIdentifier", skip_serializing_if = "Option::is_none")]
    pub entity_identifier: Option<models::RelatedEntityIdentifierName>,
    /// The middle name or initial of the entity, if the entity is a person.
    #[serde(rename = "entityMiddlename", skip_serializing_if = "Option::is_none")]
    pub entity_middlename: Option<String>,
    /// The last name (if the entity is a person) or the business name (if the entity is an organization).
    #[serde(rename = "entityName", skip_serializing_if = "Option::is_none")]
    pub entity_name: Option<String>,
    /// Code specifying the relationship between the entity and the patient. Can be `01` - Parent, `02` - Child, `27` - Domestic Partner, `41` - Spouse, `48` - Employee, `65` - Other, or `72` - Unknown.  Payers may sometimes return other non-compliant values.
    #[serde(rename = "entityRelationship", skip_serializing_if = "Option::is_none")]
    pub entity_relationship: Option<models::BenefitsRelatedEntityRelationshipCode>,
    /// The name suffix, such as Sr. Jr. or III.
    #[serde(rename = "entitySuffix", skip_serializing_if = "Option::is_none")]
    pub entity_suffix: Option<String>,
    #[serde(rename = "entityType", skip_serializing_if = "Option::is_none")]
    pub entity_type: Option<models::EntityTypeQualifier>,
    #[serde(rename = "providerInformation", skip_serializing_if = "Option::is_none")]
    pub provider_information: Option<Box<models::ProviderInformation>>,
}

impl BenefitsRelatedEntity {
    /// Identify another entity associated with the eligibility or benefits. This could be a provider, an individual, an organization, or another payer.  This array is commonly used to designate the patient's primary care provider (PCP), another organization that handles a specific carveout benefit type, or another health plan for the patient (coordination of benefits scenarios).  This is where information for a crossover carrier such as Medicaid or Medicare is provided, if it's applicable to the patient and the payer supports it.
    pub fn new() -> BenefitsRelatedEntity {
        BenefitsRelatedEntity {
            address: None,
            contact_information: None,
            entity_firstname: None,
            entity_identification: None,
            entity_identification_value: None,
            entity_identifier: None,
            entity_middlename: None,
            entity_name: None,
            entity_relationship: None,
            entity_suffix: None,
            entity_type: None,
            provider_information: None,
        }
    }
}