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

/// Attending : Information about the individual who has overall responsibility for the patient's medical care and treatment reported in the claim. This information is required when the claim contains any services other than non-scheduled transportation claims.  This provider should be an individual, not an organization, and you should supply at least the provider's `lastName` and an identifier, which is typically the `npi`.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Attending {
    #[serde(rename = "address", skip_serializing_if = "Option::is_none")]
    pub address: Option<Box<models::InstitutionalAddress>>,
    #[serde(rename = "contactInformation", skip_serializing_if = "Option::is_none")]
    pub contact_information: Option<Box<models::InstitutionalContactInformation>>,
    #[serde(rename = "employerId", skip_serializing_if = "Option::is_none")]
    pub employer_id: Option<String>,
    /// The provider's first name.
    #[serde(rename = "firstName", skip_serializing_if = "Option::is_none")]
    pub first_name: Option<String>,
    /// The provider's last name. This is **required**.
    #[serde(rename = "lastName", skip_serializing_if = "Option::is_none")]
    pub last_name: Option<String>,
    /// The provider's middle name or initial.
    #[serde(rename = "middleName", skip_serializing_if = "Option::is_none")]
    pub middle_name: Option<String>,
    /// The individual [National Provider Identifier (NPI)](https://www.stedi.com/docs/healthcare/national-provider-identifier) assigned to the provider.
    #[serde(rename = "npi", skip_serializing_if = "Option::is_none")]
    pub npi: Option<String>,
    /// The provider's business name.
    #[serde(rename = "organizationName", skip_serializing_if = "Option::is_none")]
    pub organization_name: Option<String>,
    /// This field is now automatically populated and it only remains for backwards compatibility.
    #[serde(rename = "providerType", skip_serializing_if = "Option::is_none")]
    pub provider_type: Option<String>,
    #[serde(rename = "secondaryIdentificationQualifierCode", skip_serializing_if = "Option::is_none")]
    pub secondary_identification_qualifier_code: Option<models::OperatingPhysicianIdentificationQualifierCode>,
    /// The identifier referenced by `secondaryIdentificationQualifierCode`. For example, if `secondaryIdentificationQualifierCode` is set to `0B`, this property should be the provider's state license number.  You can only include one secondary identifier for the provider.
    #[serde(rename = "secondaryIdentifier", skip_serializing_if = "Option::is_none")]
    pub secondary_identifier: Option<String>,
    /// The provider's name suffix, such as Jr. or III.
    #[serde(rename = "suffix", skip_serializing_if = "Option::is_none")]
    pub suffix: Option<String>,
    /// The provider's [taxnonomy code](https://www.cms.gov/medicare/enrollment-renewal/providers-suppliers/health-care-taxonomy), a unique 10-character code that designates their classification and specialization. Only applies to the attending provider.
    #[serde(rename = "taxonomyCode", skip_serializing_if = "Option::is_none")]
    pub taxonomy_code: Option<String>,
}

impl Attending {
    /// Information about the individual who has overall responsibility for the patient's medical care and treatment reported in the claim. This information is required when the claim contains any services other than non-scheduled transportation claims.  This provider should be an individual, not an organization, and you should supply at least the provider's `lastName` and an identifier, which is typically the `npi`.
    pub fn new() -> Attending {
        Attending {
            address: None,
            contact_information: None,
            employer_id: None,
            first_name: None,
            last_name: None,
            middle_name: None,
            npi: None,
            organization_name: None,
            provider_type: None,
            secondary_identification_qualifier_code: None,
            secondary_identifier: None,
            suffix: None,
            taxonomy_code: None,
        }
    }
}