/*
* 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};
/// EligibilityBatchItemInfo : Additional information specific to eligibility batch items.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct EligibilityBatchItemInfo {
/// When a payer rejects your eligibility check, the response contains one or more [`AAA` errors](https://www.stedi.com/docs/healthcare/eligibility-troubleshooting#payer-aaa-errors) that specify the reasons for the rejection and any recommended follow-up actions. Any errors that occur at the `payer`, `provider`, `subscriber`, or `dependents` levels are also included in this array, allowing you to review all errors in a central location. If there are no `AAA` errors, this array will be empty.
#[serde(rename = "aaaErrors", skip_serializing_if = "Option::is_none")]
pub aaa_errors: Option<Vec<models::EligibilityCheckError>>,
/// The result of the eligibility check for this batch item. Can be: - `ACTIVE`: The payer's response contains an active eligibility and benefit type. This means that the patient has active coverage for at least some services. - `INACTIVE`: The payer's response doesn't contain an active eligibility and benefit type. This means that the patient doesn't have active coverage for the requested services. - `INVESTIGATE`: The payer returned an unexpected eligibility or benefit type code. Review the response and contact the payer if you have questions. - `FAILED`: The payer returned an error code in the response. Review the error code and retry the eligibility check.
#[serde(rename = "eligibilityCheckResult", skip_serializing_if = "Option::is_none")]
pub eligibility_check_result: Option<models::EligibilityCheckResult>,
/// The eligibility search ID for this eligibility check. This is an identifier that allows Stedi to group eligibility checks for the same patient into a unified record in the Stedi portal called an [eligibility search](https://www.stedi.com/docs/healthcare/eligibility-searches-view). This property is for use by Stedi tools only, such as Stedi's MCP server.
#[serde(rename = "eligibilitySearchId", skip_serializing_if = "Option::is_none")]
pub eligibility_search_id: Option<String>,
/// The unique identifier for this eligibility check. This is the ID of the specific eligibility check request within the batch.
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
/// A unique Stedi-generated identifier for the eligibility check. It's required for the generated X12 EDI transaction Stedi sends to payers. This identifier is different from the `requestId` and the `submitterTransactionIdentifier`. - You can use this identifier to find an eligibility check in the Stedi portal. Click **Find by ID** in the navigation bar and enter the `outboundTraceId` to go directly to the eligibility check's details page. - Don't use this ID to correlate eligibility check requests and responses. Use the `submitterTransactionIdentifier` property for correlation and tracking instead.
#[serde(rename = "outboundTraceId", skip_serializing_if = "Option::is_none")]
pub outbound_trace_id: Option<String>,
/// The payer ID for this eligibility check.
#[serde(rename = "payerId", skip_serializing_if = "Option::is_none")]
pub payer_id: Option<String>,
/// The provider's name as provided in the eligibility check.
#[serde(rename = "providerName", skip_serializing_if = "Option::is_none")]
pub provider_name: Option<String>,
/// The provider's NPI as provided in the eligibility check.
#[serde(rename = "providerNpi", skip_serializing_if = "Option::is_none")]
pub provider_npi: Option<String>,
/// The unique identifier you assigned to the eligibility check when you submitted the batch. Stedi also returns this identifier in the [Poll Batch Eligibility Checks](https://www.stedi.com/docs/healthcare/api-reference/get-healthcare-polling-eligibility) endpoint response, allowing you to correlate eligibility check requests and responses.
#[serde(rename = "submitterTransactionIdentifier", skip_serializing_if = "Option::is_none")]
pub submitter_transaction_identifier: Option<String>,
/// The subscriber's first name as provided in the eligibility check.
#[serde(rename = "subscriberFirstName", skip_serializing_if = "Option::is_none")]
pub subscriber_first_name: Option<String>,
/// The subscriber's last name as provided in the eligibility check.
#[serde(rename = "subscriberLastName", skip_serializing_if = "Option::is_none")]
pub subscriber_last_name: Option<String>,
/// The subscriber's member ID as provided in the eligibility check.
#[serde(rename = "subscriberMemberId", skip_serializing_if = "Option::is_none")]
pub subscriber_member_id: Option<String>,
}
impl EligibilityBatchItemInfo {
/// Additional information specific to eligibility batch items.
pub fn new() -> EligibilityBatchItemInfo {
EligibilityBatchItemInfo {
aaa_errors: None,
eligibility_check_result: None,
eligibility_search_id: None,
id: None,
outbound_trace_id: None,
payer_id: None,
provider_name: None,
provider_npi: None,
submitter_transaction_identifier: None,
subscriber_first_name: None,
subscriber_last_name: None,
subscriber_member_id: None,
}
}
}