/*
* 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};
/// InstitutionalRendering : Information about the provider who delivered the medical services or non-surgical procedures listed in the claim. This must be an individual, not an organization, and you must supply at least the provider's `lastName` and an identifier, which is typically the `npi`. The provider's `firstName` is also required, if applicable. Include this object when all of the following are true: - The rendering provider is different than the provider listed in the `attending` object. - The provider applies to the entire claim or to at least one service line. For example, if a claim had two service lines with two different rendering providers, you would include the provider for the first service line here and leave the `claimInformation.serviceLines[].renderingProvider` object for that service line blank. Then, you would specify the second provider in the appropriate service line's `claimInformation.serviceLines[].renderingProvider` object. - State or federal regulatory requirements call for a combined claim. A combined claim includes both facility and professional components, such as a Medicaid clinic bill or a critical access hospital claim.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct InstitutionalRendering {
#[serde(rename = "address", skip_serializing_if = "Option::is_none")]
pub address: Option<Box<models::InstitutionalAddress>>,
/// The provider's commercial number.
#[serde(rename = "commercialNumber", skip_serializing_if = "Option::is_none")]
pub commercial_number: Option<String>,
#[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.
#[serde(rename = "lastName")]
pub last_name: String,
/// The provider's location number.
#[serde(rename = "locationNumber", skip_serializing_if = "Option::is_none")]
pub location_number: 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 = "providerUpinNumber", skip_serializing_if = "Option::is_none")]
pub provider_upin_number: Option<String>,
#[serde(rename = "secondaryIdentificationQualifierCode", skip_serializing_if = "Option::is_none")]
pub secondary_identification_qualifier_code: Option<models::RenderingSecondaryIdentificationQualifierCode>,
/// The identifier specified in the `secondaryIdentificationQualifierCode`. 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 state license number. This is assigned directly by a payer in order to identify the provider in their system. This is not commonly used.
#[serde(rename = "stateLicenseNumber", skip_serializing_if = "Option::is_none")]
pub state_license_number: 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>,
#[serde(rename = "taxonomyCode", skip_serializing_if = "Option::is_none")]
pub taxonomy_code: Option<String>,
}
impl InstitutionalRendering {
/// Information about the provider who delivered the medical services or non-surgical procedures listed in the claim. This must be an individual, not an organization, and you must supply at least the provider's `lastName` and an identifier, which is typically the `npi`. The provider's `firstName` is also required, if applicable. Include this object when all of the following are true: - The rendering provider is different than the provider listed in the `attending` object. - The provider applies to the entire claim or to at least one service line. For example, if a claim had two service lines with two different rendering providers, you would include the provider for the first service line here and leave the `claimInformation.serviceLines[].renderingProvider` object for that service line blank. Then, you would specify the second provider in the appropriate service line's `claimInformation.serviceLines[].renderingProvider` object. - State or federal regulatory requirements call for a combined claim. A combined claim includes both facility and professional components, such as a Medicaid clinic bill or a critical access hospital claim.
pub fn new(last_name: String) -> InstitutionalRendering {
InstitutionalRendering {
address: None,
commercial_number: None,
contact_information: None,
employer_id: None,
first_name: None,
last_name,
location_number: None,
middle_name: None,
npi: None,
organization_name: None,
provider_type: None,
provider_upin_number: None,
secondary_identification_qualifier_code: None,
secondary_identifier: None,
state_license_number: None,
suffix: None,
taxonomy_code: None,
}
}
}