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::sibling_order::SiblingOrder;
use openehr_base::v1_3::foundation_types::interval::interval::Interval;
use openehr_base::v1_3::foundation_types::interval::multiplicity_interval::MultiplicityInterval;
use openehr_base::v1_3::foundation_types::time::iso8601_time::Iso8601Time;
#[doc(alias = "C_TIME")]
#[derive(Debug, Clone, PartialEq)]
pub struct CTime {
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<Iso8601Time>,
pub assumed_value: Option<Iso8601Time>,
pub is_enumerated_type_constraint: Option<bool>,
pub constraint: Option<Vec<Interval<Iso8601Time>>>,
pub pattern_constraint: Option<String>,
}