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

/// GetProviderResponseContent : Output containing the provider details.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetProviderResponseContent {
    /// 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.
    #[serde(rename = "npi")]
    pub npi: String,
    /// The provider's tax ID, as specified by `taxIdType`. This identifier is formatted without any separators, such as dashes or spaces. For example 111-22-3333 is represented as `111223333`.
    #[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.
    #[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 GetProviderResponseContent {
    /// Output containing the provider details.
    pub fn new(id: String, name: String, npi: String) -> GetProviderResponseContent {
        GetProviderResponseContent {
            contacts: None,
            created_at: None,
            id,
            name,
            npi,
            tax_id: None,
            tax_id_type: None,
            updated_at: None,
        }
    }
}