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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RequestDependent {
    #[serde(rename = "additionalIdentification", skip_serializing_if = "Option::is_none")]
    pub additional_identification: Option<Box<models::AdditionalIdentificationDependent>>,
    #[serde(rename = "address", skip_serializing_if = "Option::is_none")]
    pub address: Option<Box<models::RequestDependentAddress>>,
    /// The date the insurance card was issued. Use when you need to specify a date range. Provide the end of the range in the `endCardIssueDate` property.
    #[serde(rename = "beginningCardIssueDate", skip_serializing_if = "Option::is_none")]
    pub beginning_card_issue_date: Option<String>,
    /// The date the insurance plan begins. Use when you need to specify a date range. Provide the end of the range in the `endPlanIssueDate` property.
    #[serde(rename = "beginningPlanIssueDate", skip_serializing_if = "Option::is_none")]
    pub beginning_plan_issue_date: Option<String>,
    /// The number assigned to each family member born with the same birth date, such as twins or triplets. Use to indicate 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 dependent's date of birth (DOB). We **strongly recommend** including the DOB in your request. Many payers need this information to identify the patient in their system and will immediately return an error when it's not provided.
    #[serde(rename = "dateOfBirth", skip_serializing_if = "Option::is_none")]
    pub date_of_birth: Option<String>,
    /// The eligibility category for the dependent.
    #[serde(rename = "eligibilityCategory", skip_serializing_if = "Option::is_none")]
    pub eligibility_category: Option<String>,
    /// The date the insurance card expires. Use when you need to specify a date range. Provide the start of the range in the `beginningCardIssueDate` property.
    #[serde(rename = "endCardIssueDate", skip_serializing_if = "Option::is_none")]
    pub end_card_issue_date: Option<String>,
    /// The date the insurance plan ends. Use when you need to specify a date range. Provide the start of the range in the `beginningPlanIssueDate` property.
    #[serde(rename = "endPlanIssueDate", skip_serializing_if = "Option::is_none")]
    pub end_plan_issue_date: Option<String>,
    /// The dependent's first name.
    #[serde(rename = "firstName", skip_serializing_if = "Option::is_none")]
    pub first_name: Option<String>,
    /// Code indicating the dependent's gender.
    #[serde(rename = "gender", skip_serializing_if = "Option::is_none")]
    pub gender: Option<models::Gender>,
    /// The group number for the dependent's insurance plan.
    #[serde(rename = "groupNumber", skip_serializing_if = "Option::is_none")]
    pub group_number: Option<String>,
    /// Information about the dependent's health care diagnosis. You can include up to eight entries in this array.   The first array entry must have `diagnosisTypeCode` set to `ABK`. All subsequent entries must have `diagnosisTypeCode` set to `ABF`.
    #[serde(rename = "healthCareCodeInformation", skip_serializing_if = "Option::is_none")]
    pub health_care_code_information: Option<Vec<models::HealthCareInformation>>,
    /// The dependent's insurance card number.
    #[serde(rename = "idCard", skip_serializing_if = "Option::is_none")]
    pub id_card: Option<String>,
    /// The date the insurance card was issued. Use to specify a single date.
    #[serde(rename = "idCardIssueDate", skip_serializing_if = "Option::is_none")]
    pub id_card_issue_date: Option<String>,
    #[serde(rename = "individualRelationshipCode", skip_serializing_if = "Option::is_none")]
    pub individual_relationship_code: Option<models::IndividualRelationshipCode>,
    /// The issue number for the dependent's insurance policy.
    #[serde(rename = "issueNumber", skip_serializing_if = "Option::is_none")]
    pub issue_number: Option<String>,
    /// The dependent's last name. **Don't** include the dependent's name suffix, such as Jr. or III. Use the designated `suffix` property instead.
    #[serde(rename = "lastName", skip_serializing_if = "Option::is_none")]
    pub last_name: Option<String>,
    /// This shape is deprecated: This property is no longer used.
    #[serde(rename = "memberId", skip_serializing_if = "Option::is_none")]
    pub member_id: Option<String>,
    /// The dependent's middle name or middle initial.
    #[serde(rename = "middleName", skip_serializing_if = "Option::is_none")]
    pub middle_name: Option<String>,
    /// The date the insurance plan begins. Use to specify a single date.
    #[serde(rename = "planIssueDate", skip_serializing_if = "Option::is_none")]
    pub plan_issue_date: Option<String>,
    #[serde(rename = "providerCode", skip_serializing_if = "Option::is_none")]
    pub provider_code: Option<models::RequestDependentProviderCode>,
    /// The provider identifier you specified in the `referenceIdentificationQualifier` property. For example, the provider's National Provider ID or Federal Taxpayer Identification number. If you set the `referenceIdentificationQualifier` to `PXC`, then this property should contain the provider's taxonomy code.
    #[serde(rename = "providerIdentifier", skip_serializing_if = "Option::is_none")]
    pub provider_identifier: Option<String>,
    #[serde(rename = "referenceIdentificationQualifier", skip_serializing_if = "Option::is_none")]
    pub reference_identification_qualifier: Option<models::RequestDependentReferenceIdentificationQualifier>,
    /// The dependent's social security number. Don't use this for Federally-administered programs, such as Medicare.
    #[serde(rename = "ssn", skip_serializing_if = "Option::is_none")]
    pub ssn: Option<String>,
    /// The dependent's name suffix, such as Sr. or III. Only include the dependent's personal name suffix - **don't** include professional or academic titles, such as M.D. or MBA.
    #[serde(rename = "suffix", skip_serializing_if = "Option::is_none")]
    pub suffix: Option<String>,
}

impl RequestDependent {
    pub fn new() -> RequestDependent {
        RequestDependent {
            additional_identification: None,
            address: None,
            beginning_card_issue_date: None,
            beginning_plan_issue_date: None,
            birth_sequence_number: None,
            date_of_birth: None,
            eligibility_category: None,
            end_card_issue_date: None,
            end_plan_issue_date: None,
            first_name: None,
            gender: None,
            group_number: None,
            health_care_code_information: None,
            id_card: None,
            id_card_issue_date: None,
            individual_relationship_code: None,
            issue_number: None,
            last_name: None,
            member_id: None,
            middle_name: None,
            plan_issue_date: None,
            provider_code: None,
            provider_identifier: None,
            reference_identification_qualifier: None,
            ssn: None,
            suffix: None,
        }
    }
}