autogen-stedi 0.3.2

Auto-generated, strongly-typed Rust client for the Stedi APIs
Documentation
/*
 * 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};

/// ClaimIdentifier : A code specifying the type of transaction. Defaults to `CH` if not provided.   - `31`: Only for use by state Medicaid agencies performing post payment recovery.   - `CH`: Use when the transaction contains only fee for service claims or claims with at least one chargeable line item. Also use when it's not clear whether a transaction contains claims or capitated encounters, or if the transaction contains a mix of claims and capitated encounters.   - `RP`: Use for capitated encounters. Also use when the transaction is being sent to an entity for purposes other than adjudication of a claim. For example, when you're sending the claim to a state health agency that is using the claim for health data reporting purposes.
/// A code specifying the type of transaction. Defaults to `CH` if not provided.   - `31`: Only for use by state Medicaid agencies performing post payment recovery.   - `CH`: Use when the transaction contains only fee for service claims or claims with at least one chargeable line item. Also use when it's not clear whether a transaction contains claims or capitated encounters, or if the transaction contains a mix of claims and capitated encounters.   - `RP`: Use for capitated encounters. Also use when the transaction is being sent to an entity for purposes other than adjudication of a claim. For example, when you're sending the claim to a state health agency that is using the claim for health data reporting purposes.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ClaimIdentifier {
    #[serde(rename = "31")]
    Variant31,
    #[serde(rename = "CH")]
    Ch,
    #[serde(rename = "RP")]
    Rp,
    /// Any value not defined in the spec (payers may return non-compliant values).
    #[serde(untagged)]
    UnknownValue(String),

}

impl std::fmt::Display for ClaimIdentifier {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Variant31 => write!(f, "31"),
            Self::Ch => write!(f, "CH"),
            Self::Rp => write!(f, "RP"),
            Self::UnknownValue(s) => write!(f, "{s}"),
        }
    }
}

impl Default for ClaimIdentifier {
    fn default() -> ClaimIdentifier {
        Self::Variant31
    }
}