openehr-rm 0.0.2

openEHR RM 1.2.0 Reference Model, generated from BMM
Documentation
// @generated by openehr-codegen from BMM (`LOCATABLE`) — DO NOT EDIT.

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

use crate::common::directory::folder::Folder;
use crate::composition::composition::Composition;
use crate::composition::content::entry::action::Action;
use crate::composition::content::entry::activity::Activity;
use crate::composition::content::entry::admin_entry::AdminEntry;
use crate::composition::content::entry::evaluation::Evaluation;
use crate::composition::content::entry::instruction::Instruction;
use crate::composition::content::entry::observation::Observation;
use crate::composition::content::navigation::section::Section;
use crate::data_structures::history::history::History;
use crate::data_structures::history::interval_event::IntervalEvent;
use crate::data_structures::history::point_event::PointEvent;
use crate::data_structures::item_structure::item_list::ItemList;
use crate::data_structures::item_structure::item_single::ItemSingle;
use crate::data_structures::item_structure::item_structure::ItemStructure;
use crate::data_structures::item_structure::item_table::ItemTable;
use crate::data_structures::item_structure::item_tree::ItemTree;
use crate::data_structures::representation::cluster::Cluster;
use crate::data_structures::representation::element::Element;
use crate::demographic::address::Address;
use crate::demographic::agent::Agent;
use crate::demographic::capability::Capability;
use crate::demographic::contact::Contact;
use crate::demographic::group::Group;
use crate::demographic::organisation::Organisation;
use crate::demographic::party_identity::PartyIdentity;
use crate::demographic::party_relationship::PartyRelationship;
use crate::demographic::person::Person;
use crate::demographic::role::Role;
use crate::ehr::ehr_access::EhrAccess;
use crate::ehr::ehr_status::EhrStatus;
use crate::ehr_extract::common::extract::Extract;
use crate::ehr_extract::common::extract_action_request::ExtractActionRequest;
use crate::ehr_extract::common::extract_chapter::ExtractChapter;
use crate::ehr_extract::common::extract_folder::ExtractFolder;
use crate::ehr_extract::common::extract_request::ExtractRequest;
use crate::ehr_extract::generic_extract::generic_content_item::GenericContentItem;
use crate::ehr_extract::openehr_extract::openehr_content_item::OpenehrContentItem;
use crate::integration::generic_entry::GenericEntry;

/// Closed subtype set of `LOCATABLE`, dispatched on each payload's `_type`.
///
/// Root class of all information model classes that can be archetyped.
///
/// Most classes in the openEHR reference model inherit from the `LOCATABLE` class, which defines the idea of  locatability in an archetyped structure. `LOCATABLE` defines a runtime name and an `_archetype_node_id_`.
#[doc(alias = "LOCATABLE")]
#[derive(Debug, Clone, PartialEq)]
pub enum Locatable {
    /// The `ACTION` subtype of `LOCATABLE`.
    Action(Action),
    /// The `ACTIVITY` subtype of `LOCATABLE`.
    Activity(Activity),
    /// The `ADDRESS` subtype of `LOCATABLE`.
    Address(Address),
    /// The `ADMIN_ENTRY` subtype of `LOCATABLE`.
    AdminEntry(AdminEntry),
    /// The `AGENT` subtype of `LOCATABLE`.
    Agent(Agent),
    /// The `CAPABILITY` subtype of `LOCATABLE`.
    Capability(Capability),
    /// The `CLUSTER` subtype of `LOCATABLE`.
    Cluster(Cluster),
    /// The `COMPOSITION` subtype of `LOCATABLE`.
    Composition(Composition),
    /// The `CONTACT` subtype of `LOCATABLE`.
    Contact(Contact),
    /// The `EHR_ACCESS` subtype of `LOCATABLE`.
    EhrAccess(EhrAccess),
    /// The `EHR_STATUS` subtype of `LOCATABLE`.
    EhrStatus(EhrStatus),
    /// The `ELEMENT` subtype of `LOCATABLE`.
    Element(Element),
    /// The `EVALUATION` subtype of `LOCATABLE`.
    Evaluation(Evaluation),
    /// The `EXTRACT` subtype of `LOCATABLE`.
    Extract(Extract),
    /// The `EXTRACT_ACTION_REQUEST` subtype of `LOCATABLE`.
    ExtractActionRequest(ExtractActionRequest),
    /// The `EXTRACT_CHAPTER` subtype of `LOCATABLE`.
    ExtractChapter(ExtractChapter),
    /// The `EXTRACT_FOLDER` subtype of `LOCATABLE`.
    ExtractFolder(ExtractFolder),
    /// The `EXTRACT_REQUEST` subtype of `LOCATABLE`.
    ExtractRequest(ExtractRequest),
    /// The `FOLDER` subtype of `LOCATABLE`.
    Folder(Folder),
    /// The `GENERIC_CONTENT_ITEM` subtype of `LOCATABLE`.
    GenericContentItem(Box<GenericContentItem>),
    /// The `GENERIC_ENTRY` subtype of `LOCATABLE`.
    GenericEntry(GenericEntry),
    /// The `GROUP` subtype of `LOCATABLE`.
    Group(Group),
    /// The `HISTORY` subtype of `LOCATABLE`.
    History(History<ItemStructure>),
    /// The `INSTRUCTION` subtype of `LOCATABLE`.
    Instruction(Instruction),
    /// The `INTERVAL_EVENT` subtype of `LOCATABLE`.
    IntervalEvent(IntervalEvent<ItemStructure>),
    /// The `ITEM_LIST` subtype of `LOCATABLE`.
    ItemList(ItemList),
    /// The `ITEM_SINGLE` subtype of `LOCATABLE`.
    ItemSingle(ItemSingle),
    /// The `ITEM_TABLE` subtype of `LOCATABLE`.
    ItemTable(ItemTable),
    /// The `ITEM_TREE` subtype of `LOCATABLE`.
    ItemTree(ItemTree),
    /// The `OBSERVATION` subtype of `LOCATABLE`.
    Observation(Observation),
    /// The `OPENEHR_CONTENT_ITEM` subtype of `LOCATABLE`.
    OpenehrContentItem(OpenehrContentItem),
    /// The `ORGANISATION` subtype of `LOCATABLE`.
    Organisation(Organisation),
    /// The `PARTY_IDENTITY` subtype of `LOCATABLE`.
    PartyIdentity(PartyIdentity),
    /// The `PARTY_RELATIONSHIP` subtype of `LOCATABLE`.
    PartyRelationship(PartyRelationship),
    /// The `PERSON` subtype of `LOCATABLE`.
    Person(Person),
    /// The `POINT_EVENT` subtype of `LOCATABLE`.
    PointEvent(PointEvent<ItemStructure>),
    /// The `ROLE` subtype of `LOCATABLE`.
    Role(Role),
    /// The `SECTION` subtype of `LOCATABLE`.
    Section(Section),
}