/*
* 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};
/// InstitutionalProcedureIdentifier : Code identifying the type of `procedureCode`. If you set this property, you must also set `procedureCode`. Can be set to `ER` - Jurisdiction Specific Procedure and Supply Codes, `HC` - Health Care Financing Administration Common Procedural Coding System (HCPCS) Codes, `HP` - Health Insurance Prospective Payment System (HIPPS) Skilled Nursing Facility Rate Code, `IV` - Home Infusion EDI Coalition (HIEC) Product/Service Code, or `WK` - Advanced Billing Concepts (ABC) Codes. Note that ABC codes are deprecated and shouldn't be used in new claims. Visit [Claims code lists](https://www.stedi.com/docs/healthcare/claims-code-lists#product-or-service-id-qualifier-codes) for more information and usage instructions.
/// Code identifying the type of `procedureCode`. If you set this property, you must also set `procedureCode`. Can be set to `ER` - Jurisdiction Specific Procedure and Supply Codes, `HC` - Health Care Financing Administration Common Procedural Coding System (HCPCS) Codes, `HP` - Health Insurance Prospective Payment System (HIPPS) Skilled Nursing Facility Rate Code, `IV` - Home Infusion EDI Coalition (HIEC) Product/Service Code, or `WK` - Advanced Billing Concepts (ABC) Codes. Note that ABC codes are deprecated and shouldn't be used in new claims. Visit [Claims code lists](https://www.stedi.com/docs/healthcare/claims-code-lists#product-or-service-id-qualifier-codes) for more information and usage instructions.
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum InstitutionalProcedureIdentifier {
#[serde(rename = "ER")]
Er,
#[serde(rename = "HC")]
Hc,
#[serde(rename = "HP")]
Hp,
#[serde(rename = "IV")]
Iv,
#[serde(rename = "WK")]
Wk,
/// Any value not defined in the spec (payers may return non-compliant values).
#[serde(untagged)]
UnknownValue(String),
}
impl std::fmt::Display for InstitutionalProcedureIdentifier {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Er => write!(f, "ER"),
Self::Hc => write!(f, "HC"),
Self::Hp => write!(f, "HP"),
Self::Iv => write!(f, "IV"),
Self::Wk => write!(f, "WK"),
Self::UnknownValue(s) => write!(f, "{s}"),
}
}
}
impl Default for InstitutionalProcedureIdentifier {
fn default() -> InstitutionalProcedureIdentifier {
Self::Er
}
}