use crate::v1_1::common::archetyped::archetyped::Archetyped;
use crate::v1_1::common::archetyped::feeder_audit::FeederAudit;
use crate::v1_1::common::archetyped::link::Link;
use crate::v1_1::common::generic::participation::Participation;
use crate::v1_1::common::generic::party_proxy::PartyProxy;
use crate::v1_1::data_structures::history::history::History;
use crate::v1_1::data_structures::item_structure::item_structure::ItemStructure;
use crate::v1_1::data_types::text::code_phrase::CodePhrase;
use crate::v1_1::data_types::text::dv_text::DvText;
use openehr_base::v1_2::base_types::identification::object_ref::ObjectRef;
use openehr_base::v1_2::base_types::identification::uid_based_id::UidBasedId;
#[doc(alias = "OBSERVATION")]
#[derive(Debug, Clone, PartialEq)]
pub struct Observation {
pub name: DvText,
pub archetype_node_id: String,
pub uid: Option<UidBasedId>,
pub links: Option<openehr_base::containers::NonEmptyVec<Link>>,
pub archetype_details: Option<Archetyped>,
pub feeder_audit: Option<FeederAudit>,
pub language: CodePhrase,
pub encoding: CodePhrase,
pub other_participations: Option<openehr_base::containers::NonEmptyVec<Participation>>,
pub workflow_id: Option<ObjectRef>,
pub subject: PartyProxy,
pub provider: Option<PartyProxy>,
pub protocol: Option<ItemStructure>,
pub guideline_id: Option<ObjectRef>,
pub data: History<ItemStructure>,
pub state: Option<History<ItemStructure>>,
}