use crate::v2_4::aom2::constraint_model::archetype_constraint::ArchetypeConstraint;
use crate::v2_4::aom2::constraint_model::c_second_order::CSecondOrder;
use crate::v2_4::aom2::constraint_model::primitive::constraint_status::ConstraintStatus;
use crate::v2_4::aom2::constraint_model::sibling_order::SiblingOrder;
use openehr_base::v1_3::foundation_types::interval::multiplicity_interval::MultiplicityInterval;
use openehr_base::v1_3::foundation_types::terminology::terminology_code::TerminologyCode;
#[doc(alias = "C_TERMINOLOGY_CODE")]
#[derive(Debug, Clone, PartialEq)]
pub struct CTerminologyCode {
pub parent: Option<Box<ArchetypeConstraint>>,
pub soc_parent: Option<CSecondOrder>,
pub rm_type_name: String,
pub occurrences: Option<MultiplicityInterval>,
pub node_id: String,
pub alternative_ids: Option<Vec<String>>,
pub is_deprecated: Option<bool>,
pub sibling_order: Option<SiblingOrder>,
pub default_value: Option<TerminologyCode>,
pub assumed_value: Option<TerminologyCode>,
pub is_enumerated_type_constraint: Option<bool>,
pub constraint: String,
pub constraint_status: Option<ConstraintStatus>,
}