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

/// ResponseDependent : Information about the dependent listed in the original eligibility check request. Note that a dependent submitted in the request may be returned in the subscriber object. When present, this object will always include the dependent's name for identification, but many payers will also return the date of birth and other identifying information.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ResponseDependent {
    #[serde(rename = "aaaErrors", skip_serializing_if = "Option::is_none")]
    pub aaa_errors: Option<Vec<models::EligibilityCheckDependentError>>,
    #[serde(rename = "address", skip_serializing_if = "Option::is_none")]
    pub address: Option<Box<models::Address>>,
    /// The number assigned to each family member born with the same birth date, such as twins or triplets. Indicates the birth order when there are multiple births associated with the provided birth date.
    #[serde(rename = "birthSequenceNumber", skip_serializing_if = "Option::is_none")]
    pub birth_sequence_number: Option<String>,
    /// The member's date of birth.
    #[serde(rename = "dateOfBirth", skip_serializing_if = "Option::is_none")]
    pub date_of_birth: Option<String>,
    /// The military service date.
    #[serde(rename = "dateTimePeriod", skip_serializing_if = "Option::is_none")]
    pub date_time_period: Option<String>,
    /// The format of the military service date and time period. Can be `D8` - Date or `RD8` - Range of Dates.  Payers may sometimes return other non-compliant values.
    #[serde(rename = "dateTimePeriodFormatQualifier", skip_serializing_if = "Option::is_none")]
    pub date_time_period_format_qualifier: Option<models::DateTimePeriodFormatQualifier>,
    /// Context that identifies the exact military unit. Used to report military service data.
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// The member's employment status code, used to report military service data. Visit [Eligibility code lists](https://www.stedi.com/docs/healthcare/eligibility-code-lists#employment-status-codes) for a complete list.  Payers may sometimes return other non-compliant values.
    #[serde(rename = "employmentStatusCode", skip_serializing_if = "Option::is_none")]
    pub employment_status_code: Option<models::EmploymentStatusCode>,
    /// The military service end date.
    #[serde(rename = "endDateTimePeriod", skip_serializing_if = "Option::is_none")]
    pub end_date_time_period: Option<String>,
    #[serde(rename = "entityIdentifier", skip_serializing_if = "Option::is_none")]
    pub entity_identifier: Option<models::ResponseDependentEntityIdentifier>,
    /// The entity type for the member. It can technically be set to `Person` or `Non-Person Entity`. In practice, our customers only receive `Person`.  Payers may sometimes return other non-compliant values.
    #[serde(rename = "entityType", skip_serializing_if = "Option::is_none")]
    pub entity_type: Option<models::EntityTypeQualifier>,
    /// The member's first name.
    #[serde(rename = "firstName", skip_serializing_if = "Option::is_none")]
    pub first_name: Option<String>,
    /// Code indicating the patient's gender.
    #[serde(rename = "gender", skip_serializing_if = "Option::is_none")]
    pub gender: Option<models::GenderWithUnknown>,
    /// The member's government service affiliation code, used to report military service data. Visit [Eligibility code lists](https://www.stedi.com/docs/healthcare/eligibility-code-lists#government-service-affiliation-codes) for a complete list.  Payers may sometimes return other non-compliant values.
    #[serde(rename = "governmentServiceAffiliationCode", skip_serializing_if = "Option::is_none")]
    pub government_service_affiliation_code: Option<models::GovernmentServiceAffiliationCode>,
    /// Group name
    #[serde(rename = "groupDescription", skip_serializing_if = "Option::is_none")]
    pub group_description: Option<String>,
    /// The group number associated with the insurance policy.
    #[serde(rename = "groupNumber", skip_serializing_if = "Option::is_none")]
    pub group_number: Option<String>,
    #[serde(rename = "healthCareDiagnosisCodes", skip_serializing_if = "Option::is_none")]
    pub health_care_diagnosis_codes: Option<Vec<models::HealthCareDiagnosisCode>>,
    /// The status of the member's information, used to report military service data. Visit [Eligibility code lists](https://www.stedi.com/docs/healthcare/eligibility-code-lists#information-status-codes) for a complete list.  Payers may sometimes return other non-compliant values.
    #[serde(rename = "informationStatusCode", skip_serializing_if = "Option::is_none")]
    pub information_status_code: Option<models::InformationStatusCode>,
    #[serde(rename = "insuredIndicator", skip_serializing_if = "Option::is_none")]
    pub insured_indicator: Option<models::DependentInsuredIndicator>,
    /// The member's last name.
    #[serde(rename = "lastName", skip_serializing_if = "Option::is_none")]
    pub last_name: Option<String>,
    #[serde(rename = "maintenanceReasonCode", skip_serializing_if = "Option::is_none")]
    pub maintenance_reason_code: Option<models::MaintenanceReasonCode>,
    #[serde(rename = "maintenanceTypeCode", skip_serializing_if = "Option::is_none")]
    pub maintenance_type_code: Option<models::MaintenanceTypeCode>,
    /// This property will never be populated. Please use `subscriber.memberId` instead.
    #[serde(rename = "memberId", skip_serializing_if = "Option::is_none")]
    pub member_id: Option<String>,
    /// The member's middle name or initial.
    #[serde(rename = "middleName", skip_serializing_if = "Option::is_none")]
    pub middle_name: Option<String>,
    /// The member's military service rank code. Visit [Eligibility code lists](https://www.stedi.com/docs/healthcare/eligibility-code-lists#military-service-rank-codes) for a complete list.  Payers may sometimes return other non-compliant values.
    #[serde(rename = "militaryServiceRankCode", skip_serializing_if = "Option::is_none")]
    pub military_service_rank_code: Option<models::MilitaryServiceRankCode>,
    /// Plan name
    #[serde(rename = "planDescription", skip_serializing_if = "Option::is_none")]
    pub plan_description: Option<String>,
    /// Plan network name
    #[serde(rename = "planNetworkDescription", skip_serializing_if = "Option::is_none")]
    pub plan_network_description: Option<String>,
    /// The network identification number associated with the insurance policy.
    #[serde(rename = "planNetworkIdNumber", skip_serializing_if = "Option::is_none")]
    pub plan_network_id_number: Option<String>,
    /// The plan number associated with the insurance policy.
    #[serde(rename = "planNumber", skip_serializing_if = "Option::is_none")]
    pub plan_number: Option<String>,
    #[serde(rename = "relationToSubscriber", skip_serializing_if = "Option::is_none")]
    pub relation_to_subscriber: Option<models::DependentRelationship>,
    #[serde(rename = "relationToSubscriberCode", skip_serializing_if = "Option::is_none")]
    pub relation_to_subscriber_code: Option<models::DependentRelationshipCode>,
    #[serde(rename = "responseProvider", skip_serializing_if = "Option::is_none")]
    pub response_provider: Option<Box<models::ResponseProvider>>,
    /// The member's Social Security Number (SSN).
    #[serde(rename = "ssn", skip_serializing_if = "Option::is_none")]
    pub ssn: Option<String>,
    /// The military service start date.
    #[serde(rename = "startDateTimePeriod", skip_serializing_if = "Option::is_none")]
    pub start_date_time_period: Option<String>,
    /// The name suffix, such as Jr., Sr., or III.
    #[serde(rename = "suffix", skip_serializing_if = "Option::is_none")]
    pub suffix: Option<String>,
    /// The member's unique health identifier.
    #[serde(rename = "uniqueHealthIdentifier", skip_serializing_if = "Option::is_none")]
    pub unique_health_identifier: Option<String>,
}

impl ResponseDependent {
    /// Information about the dependent listed in the original eligibility check request. Note that a dependent submitted in the request may be returned in the subscriber object. When present, this object will always include the dependent's name for identification, but many payers will also return the date of birth and other identifying information.
    pub fn new() -> ResponseDependent {
        ResponseDependent {
            aaa_errors: None,
            address: None,
            birth_sequence_number: None,
            date_of_birth: None,
            date_time_period: None,
            date_time_period_format_qualifier: None,
            description: None,
            employment_status_code: None,
            end_date_time_period: None,
            entity_identifier: None,
            entity_type: None,
            first_name: None,
            gender: None,
            government_service_affiliation_code: None,
            group_description: None,
            group_number: None,
            health_care_diagnosis_codes: None,
            information_status_code: None,
            insured_indicator: None,
            last_name: None,
            maintenance_reason_code: None,
            maintenance_type_code: None,
            member_id: None,
            middle_name: None,
            military_service_rank_code: None,
            plan_description: None,
            plan_network_description: None,
            plan_network_id_number: None,
            plan_number: None,
            relation_to_subscriber: None,
            relation_to_subscriber_code: None,
            response_provider: None,
            ssn: None,
            start_date_time_period: None,
            suffix: None,
            unique_health_identifier: None,
        }
    }
}