/*
* Stedi Manager
*
* 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::manager::models;
use serde::{Deserialize, Serialize};
/// BenefitsDateInformation : Dates associated with the benefits. - This is where you can find benefit-specific eligibility dates, if provided. These dates override dates provided in `planDateInformation` for this benefit type. - This is where the payer may specify the last time the service was rendered (`latestVisitOrConsultation`), which you can use to determine whether the patient has already reached the allowed frequency, if applicable. For example, this object could contain the date when the patient received their last dental cleaning. - These dates only apply to the `benefitsInformation` object in which this `benefitsDateInformation` is provided.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct BenefitsDateInformation {
/// Added date. Payers may return this information in the case of retroactive eligibility.
#[serde(rename = "added", skip_serializing_if = "Option::is_none")]
pub added: Option<String>,
/// The admission date or dates.
#[serde(rename = "admission", skip_serializing_if = "Option::is_none")]
pub admission: Option<String>,
/// The date(s) for admission.
#[serde(rename = "admissions", skip_serializing_if = "Option::is_none")]
pub admissions: Option<Vec<models::DtpDate>>,
/// The benefit date.
#[serde(rename = "benefit", skip_serializing_if = "Option::is_none")]
pub benefit: Option<String>,
/// The date when the benefit begins.
#[serde(rename = "benefitBegin", skip_serializing_if = "Option::is_none")]
pub benefit_begin: Option<String>,
/// The date when the benefit ends.
#[serde(rename = "benefitEnd", skip_serializing_if = "Option::is_none")]
pub benefit_end: Option<String>,
/// The certification date.
#[serde(rename = "certification", skip_serializing_if = "Option::is_none")]
pub certification: Option<String>,
/// The date when COBRA coverage begins.
#[serde(rename = "cobraBegin", skip_serializing_if = "Option::is_none")]
pub cobra_begin: Option<String>,
/// The date when COBRA coverage ends.
#[serde(rename = "cobraEnd", skip_serializing_if = "Option::is_none")]
pub cobra_end: Option<String>,
/// The completion date.
#[serde(rename = "completion", skip_serializing_if = "Option::is_none")]
pub completion: Option<String>,
/// The coordination of benefits date.
#[serde(rename = "coordinationOfBenefits", skip_serializing_if = "Option::is_none")]
pub coordination_of_benefits: Option<String>,
/// The date of death.
#[serde(rename = "dateOfDeath", skip_serializing_if = "Option::is_none")]
pub date_of_death: Option<String>,
/// The date when the plan information was last updated.
#[serde(rename = "dateOfLastUpdate", skip_serializing_if = "Option::is_none")]
pub date_of_last_update: Option<String>,
/// The discharge date.
#[serde(rename = "discharge", skip_serializing_if = "Option::is_none")]
pub discharge: Option<String>,
/// The date(s) when the patient was discharged.
#[serde(rename = "discharges", skip_serializing_if = "Option::is_none")]
pub discharges: Option<Vec<models::DtpDate>>,
/// The effective date of change.
#[serde(rename = "effectiveDateOfChange", skip_serializing_if = "Option::is_none")]
pub effective_date_of_change: Option<String>,
/// Plan eligibility dates.
#[serde(rename = "eligibility", skip_serializing_if = "Option::is_none")]
pub eligibility: Option<String>,
/// The date when the patient is first eligible for benefits under the plan.
#[serde(rename = "eligibilityBegin", skip_serializing_if = "Option::is_none")]
pub eligibility_begin: Option<String>,
/// The date when the patient is no longer eligible for benefits under the plan.
#[serde(rename = "eligibilityEnd", skip_serializing_if = "Option::is_none")]
pub eligibility_end: Option<String>,
/// The date when the patient is enrolled in the plan.
#[serde(rename = "enrollment", skip_serializing_if = "Option::is_none")]
pub enrollment: Option<String>,
/// The issue date.
#[serde(rename = "issue", skip_serializing_if = "Option::is_none")]
pub issue: Option<String>,
/// The latest visit or consultation date. This date may be used to determine whether the patient has already reached the allowed frequency for a specific benefit.
#[serde(rename = "latestVisitOrConsultation", skip_serializing_if = "Option::is_none")]
pub latest_visit_or_consultation: Option<String>,
/// The end of a period.
#[serde(rename = "periodEnd", skip_serializing_if = "Option::is_none")]
pub period_end: Option<String>,
/// The start of a period.
#[serde(rename = "periodStart", skip_serializing_if = "Option::is_none")]
pub period_start: Option<String>,
/// Only included when multiple plans apply to the patient or multiple plan periods apply.
#[serde(rename = "plan", skip_serializing_if = "Option::is_none")]
pub plan: Option<String>,
/// Only included when multiple plans apply to the patient or multiple plan periods apply.
#[serde(rename = "planBegin", skip_serializing_if = "Option::is_none")]
pub plan_begin: Option<String>,
/// The date coverage from the plan ends.
#[serde(rename = "planEnd", skip_serializing_if = "Option::is_none")]
pub plan_end: Option<String>,
/// The date when the policy becomes effective.
#[serde(rename = "policyEffective", skip_serializing_if = "Option::is_none")]
pub policy_effective: Option<String>,
/// The date when the policy expires.
#[serde(rename = "policyExpiration", skip_serializing_if = "Option::is_none")]
pub policy_expiration: Option<String>,
/// The end of period when the plan premium payments are up-to-date.
#[serde(rename = "premiumPaidToDateEnd", skip_serializing_if = "Option::is_none")]
pub premium_paid_to_date_end: Option<String>,
/// The start of the period when the plan premium was paid in full.
#[serde(rename = "premiumPaidtoDateBegin", skip_serializing_if = "Option::is_none")]
pub premium_paidto_date_begin: Option<String>,
/// The primary care provider date.
#[serde(rename = "primaryCareProvider", skip_serializing_if = "Option::is_none")]
pub primary_care_provider: Option<String>,
/// The service date or dates.
#[serde(rename = "service", skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
/// The status date.
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
impl BenefitsDateInformation {
/// Dates associated with the benefits. - This is where you can find benefit-specific eligibility dates, if provided. These dates override dates provided in `planDateInformation` for this benefit type. - This is where the payer may specify the last time the service was rendered (`latestVisitOrConsultation`), which you can use to determine whether the patient has already reached the allowed frequency, if applicable. For example, this object could contain the date when the patient received their last dental cleaning. - These dates only apply to the `benefitsInformation` object in which this `benefitsDateInformation` is provided.
pub fn new() -> BenefitsDateInformation {
BenefitsDateInformation {
added: None,
admission: None,
admissions: None,
benefit: None,
benefit_begin: None,
benefit_end: None,
certification: None,
cobra_begin: None,
cobra_end: None,
completion: None,
coordination_of_benefits: None,
date_of_death: None,
date_of_last_update: None,
discharge: None,
discharges: None,
effective_date_of_change: None,
eligibility: None,
eligibility_begin: None,
eligibility_end: None,
enrollment: None,
issue: None,
latest_visit_or_consultation: None,
period_end: None,
period_start: None,
plan: None,
plan_begin: None,
plan_end: None,
policy_effective: None,
policy_expiration: None,
premium_paid_to_date_end: None,
premium_paidto_date_begin: None,
primary_care_provider: None,
service: None,
status: None,
}
}
}