autogen-stedi 0.3.2

Auto-generated, strongly-typed Rust client for the Stedi APIs
Documentation
/*
 * Stedi Enrollment
 *
 * The Stedi Enrollment Service manages provider enrollments with healthcare payers. It tracks enrollment status, provider details, and supports batch enrollment processing to ensure providers have the necessary credentials before processing healthcare transactions. 
 *
 * The version of the OpenAPI document: 2024-09-01
 * Contact: healthcare@stedi.com
 * Generated by: https://openapi-generator.tech
 */

use crate::enrollment::models;
use serde::{Deserialize, Serialize};

/// CreateProviderResponseContent : Output containing the created provider details.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateProviderResponseContent {
    /// The contact information for the provider. These contacts appear as prepopulated options for contact information when creating enrollment requests for this provider in the Stedi portal. They aren't automatically added to enrollment requests.  These contacts should specify where payers should send communications about the enrollment, if needed.
    #[serde(rename = "contacts", skip_serializing_if = "Option::is_none")]
    pub contacts: Option<Vec<models::ProviderContact>>,
    /// The date and time Stedi created the provider record.
    #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<chrono::DateTime<chrono::FixedOffset>>,
    /// A unique identifier Stedi assigns to this provider.
    #[serde(rename = "id")]
    pub id: String,
    /// The provider's business name. This is typically the provider's practice name, such as `Dental Associates, LLC`, but it can also be the provider's first and last name.
    #[serde(rename = "name")]
    pub name: String,
    /// The provider's [National Provider Identifier (NPI)](https://npiregistry.cms.hhs.gov/search). This is a 10-digit number that is unique to the provider.  Each provider record must have a unique `npi` and `taxId` combination. For example, you can create two provider records with the same `npi` as long as they have different values for `taxId`.
    #[serde(rename = "npi")]
    pub npi: String,
    /// The provider's tax ID, as specified by `taxIdType`. This identifier has to be provided without any separators, such as dashes or spaces. For example 111-22-3333 is invalid but `111223333` is valid.  Each provider record must have a unique `npi` and `taxId` combination. For example, you can create two provider records with the same `taxId` as long as they have different values for `npi`.
    #[serde(rename = "taxId", skip_serializing_if = "Option::is_none")]
    pub tax_id: Option<String>,
    /// The type of tax ID. Can be either an `EIN` (Employer Identification Number) or an `SSN` (Social Security Number).   - Organizations (Type 2 NPIs) must use `EIN`.   - Individual providers (Type 1 NPIs) can use either `EIN` or `SSN`.
    #[serde(rename = "taxIdType", skip_serializing_if = "Option::is_none")]
    pub tax_id_type: Option<models::TaxIdType>,
    /// The date and time Stedi last updated the provider record.
    #[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
    pub updated_at: Option<chrono::DateTime<chrono::FixedOffset>>,
}

impl CreateProviderResponseContent {
    /// Output containing the created provider details.
    pub fn new(id: String, name: String, npi: String) -> CreateProviderResponseContent {
        CreateProviderResponseContent {
            contacts: None,
            created_at: None,
            id,
            name,
            npi,
            tax_id: None,
            tax_id_type: None,
            updated_at: None,
        }
    }
}