openehr-rm 0.0.4

openEHR RM 1.2.0 Reference Model, generated from BMM
Documentation
// @generated by openehr-codegen from BMM (`ARCHETYPED`) — DO NOT EDIT.
// Hand-written spec functions/invariants live in the sibling `*_impl.rs`.

//! The openEHR `ARCHETYPED` spec class, generated from the vendored BMM
//! meta-model.

use openehr_base::prelude::ArchetypeId;
use openehr_base::prelude::TemplateId;

/// Archetypes act as the configuration basis for the particular structures of instances defined by the reference model.
///
/// To enable archetypes to be used to create valid data, key classes in the reference model act as  root  points for archetyping; accordingly, these classes have the `_archetype_details_` attribute set.
///
/// An instance of the class `ARCHETYPED` contains the relevant archetype identification information, allowing generating archetypes to be matched up with data instances.
#[doc(alias = "ARCHETYPED")]
#[derive(Debug, Clone, PartialEq)]
pub struct Archetyped {
    /// Globally unique archetype identifier.
    pub archetype_id: ArchetypeId,
    /// Globally unique template identifier, if a template was active at this point in the structure.
    ///
    /// Normally, a template would only be used at the top of a top-level structure, but the possibility exists for templates at lower levels.
    pub template_id: Option<TemplateId>,
    /// Version of the openEHR reference model used to create this object. Expressed in terms of the release version string, e.g.  1.0 ,  1.2.4 .
    pub rm_version: String,
}