/*
* 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,
}
}
}