diff --git a/referencemodels/src/main/java/org/openehr/referencemodels/BuiltinReferenceModels.java b/referencemodels/src/main/java/org/openehr/referencemodels/BuiltinReferenceModels.java index a9bec6d2e..2c89cabf6 100644 --- a/referencemodels/src/main/java/org/openehr/referencemodels/BuiltinReferenceModels.java +++ b/referencemodels/src/main/java/org/openehr/referencemodels/BuiltinReferenceModels.java @@ -53,6 +53,8 @@ public static BmmRepository getBmmRepository() { "bmm/openEHR/original/Release-1.0.2/openehr_ehr_102.bmm", "bmm/openEHR/components/LANG/Release-1.0.0/openehr_lang_100.bmm", "bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_ehr_104.bmm", + "bmm/openEHR/components/PROC/Release-1.5.0/openehr_proc_task_planning_150.bmm", + "bmm/openEHR/components/PROC/Release-1.6.0/openehr_proc_task_planning_160.bmm", "bmm/openEHR/components/PROC/latest/openehr_proc_task_planning_110.bmm", "bmm/openEHR/original/Release-1.0.2/openehr_rm_102.bmm", "bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_structures_104.bmm", diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.0.6/openEHR_am_206.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.0.6/openEHR_am_206.bmm new file mode 100644 index 000000000..824b3da14 --- /dev/null +++ b/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.0.6/openEHR_am_206.bmm @@ -0,0 +1,1271 @@ +-- +-- component: openEHR BMM Implementation Technology Specification +-- description: openEHR AM component formal expression. This file is an ODIN serialisation of +-- the BMM object meta-model classes found at +-- https://www.openehr.org/releases/LANG/latest/p_bmm.html +-- keywords: reference model, meta-model, archetypes +-- author: Thomas Beale +-- support: https://openehr.atlassian.net/issues/?filter=11117 +-- copyright: Copyright (c) 2021- openEHR Foundation +-- license: Apache 2.0 +-- + +------------------------------------------------------ +-- BMM version on which these schemas are based. +-- Current BMM version can be found as the top version in the specification: +-- https://www.openehr.org/releases/LANG/latest/bmm_persistence.html#_amendment_record +-- +------------------------------------------------------ +bmm_version = <"2.3"> + +------------------------------------------------------ +-- schema identification +-- (schema_id computed as __) +------------------------------------------------------ +rm_publisher = <"openehr"> +schema_name = <"am"> +rm_release = <"2.0.6"> +model_name = <"AOM2"> + +------------------------------------------------------ +-- schema documentation +------------------------------------------------------ +schema_revision = <"2.0.6.1"> +schema_lifecycle_state = <"stable"> +schema_description = <"openEHR Release 2.0.6 AM schema"> +schema_author = <"Thomas Beale "> + +------------------------------------------------------ +-- inclusions +------------------------------------------------------ +includes = < + ["1"] = < + id = <"openehr_expression_1.0.4"> + > +> + +------------------------------------------------------ +-- packages - software structure +------------------------------------------------------ + +packages = < + ["org.openehr.am.aom2"] = < + name = <"org.openehr.am.aom2"> + classes = <"AUTHORED_RESOURCE", "TRANSLATION_DETAILS", "RESOURCE_DESCRIPTION", "RESOURCE_DESCRIPTION_ITEM", "RESOURCE_ANNOTATIONS"> + packages = < + ["definitions"] = < + name = <"definitions"> + classes = <"ADL_CODE_DEFINITIONS"> + > + ["archetype"] = < + name = <"archetype"> + classes = <"AUTHORED_ARCHETYPE", "ARCHETYPE", "TEMPLATE", "TEMPLATE_OVERLAY", "OPERATIONAL_TEMPLATE"> + > + ["constraint_model"] = < + name = <"constraint_model"> + packages = < + ["definition"] = < + name = <"primitive"> + classes = <"C_REAL", "C_ORDERED", "C_BOOLEAN", "C_STRING", "C_INTEGER", "C_TERMINOLOGY_CODE", + "C_TEMPORAL", "C_TIME", "C_DATE", "C_DATE_TIME", "C_DURATION" + > + > + > + classes = <"C_COMPLEX_OBJECT", "C_PRIMITIVE_OBJECT", "C_PRIMITIVE_TUPLE", "C_SECOND_ORDER", + "C_ATTRIBUTE_TUPLE", "C_ATTRIBUTE", "ARCHETYPE_SLOT", "C_OBJECT", "C_COMPLEX_OBJECT_PROXY", "C_DEFINED_OBJECT", + "SIBLING_ORDER", "C_ARCHETYPE_ROOT", "ARCHETYPE_CONSTRAINT", + "Cardinality", "Multiplicity_interval" + > + > + ["profile"] = < + name = <"profile"> + classes = <"AOM_PROFILE", "AOM_TYPE_MAPPING", "AOM_PROPERTY_MAPPING"> + > + ["terminology"] = < + name = <"terminology"> + classes = <"ARCHETYPE_TERM", "ARCHETYPE_TERMINOLOGY", "TERMINOLOGY_RELATION", "VALUE_SET"> + > + ["persistence"] = < + name = <"persistence"> + > + > + > +> + +------------------------------------------------------ +-- classes +------------------------------------------------------ + +class_definitions = < + + ------------------------------------------------------ + -- definitions package + ------------------------------------------------------ + + ["ADL_CODE_DEFINITIONS"] = (P_BMM_CLASS) < + name = <"ADL_CODE_DEFINITIONS"> + ancestors = <"Any"> + > + + ------------------------------------------------------ + -- archetype package + ------------------------------------------------------ + + ["ARCHETYPE_HRID"] = < + name = <"ARCHETYPE_HRID"> + ancestors = <"Any"> + properties = < + ["namespace"] = (P_BMM_SINGLE_PROPERTY) < + name = <"namespace"> + type = <"String"> + > + ["rm_publisher"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_publisher"> + type = <"String"> + is_mandatory = + > + ["rm_package"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_package"> + type = <"String"> + is_mandatory = + > + ["rm_class"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_class"> + type = <"String"> + is_mandatory = + > + ["concept_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"concept_id"> + type = <"String"> + is_mandatory = + > + ["release_version"] = (P_BMM_SINGLE_PROPERTY) < + name = <"release_version"> + type = <"String"> + is_mandatory = + > + ["version_status"] = (P_BMM_SINGLE_PROPERTY) < + name = <"version_status"> + type = <"VERSION_STATUS"> + is_mandatory = + > + ["build_count"] = (P_BMM_SINGLE_PROPERTY) < + name = <"build_count"> + type = <"String"> + is_mandatory = + > + > + > + + ["ARCHETYPE"] = (P_BMM_CLASS) < + name = <"ARCHETYPE"> + properties = < + ["parent_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"parent_archetype_id"> + type = <"String"> + > + ["archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"archetype_id"> + type = <"ARCHETYPE_HRID"> + is_mandatory = + > + ["rules"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rules"> + type = <"STATEMENT"> + > + ["is_differential"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_differential"> + type = <"Boolean"> + is_mandatory = + > + ["terminology"] = (P_BMM_SINGLE_PROPERTY) < + name = <"terminology"> + type = <"ARCHETYPE_TERMINOLOGY"> + is_mandatory = + > + ["definition"] = (P_BMM_SINGLE_PROPERTY) < + name = <"definition"> + type = <"C_COMPLEX_OBJECT"> + is_mandatory = + > + > + > + ["AUTHORED_ARCHETYPE"] = (P_BMM_CLASS) < + name = <"AUTHORED_ARCHETYPE"> + ancestors = <"ARCHETYPE", "AUTHORED_RESOURCE"> + properties = < + ["adl_version"] = (P_BMM_SINGLE_PROPERTY) < + name = <"adl_version"> + type = <"String"> + > + ["rm_release"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_release"> + type = <"String"> + is_mandatory = + > + ["is_generated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_generated"> + type = <"Boolean"> + is_mandatory = + > + ["build_uid"] = (P_BMM_SINGLE_PROPERTY) < + name = <"build_uid"> + type = <"UUID"> + is_mandatory = + > + ["other_meta_data"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_meta_data"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + is_mandatory = + > + > + > + + ["OPERATIONAL_TEMPLATE"] = (P_BMM_CLASS) < + name = <"OPERATIONAL_TEMPLATE"> + ancestors = <"AUTHORED_ARCHETYPE"> + properties = < + ["component_terminologies"] = (P_BMM_GENERIC_PROPERTY) < + name = <"component_terminologies"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERMINOLOGY"> + > + > + ["terminology_extracts"] = (P_BMM_GENERIC_PROPERTY) < + name = <"terminology_extracts"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERMINOLOGY"> + > + > + > + > + ["TEMPLATE"] = (P_BMM_CLASS) < + name = <"TEMPLATE"> + ancestors = <"AUTHORED_ARCHETYPE"> + properties = < + ["template_overlays"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"template_overlays"> + type_def = < + container_type = <"List"> + type = <"TEMPLATE_OVERLAY"> + > + is_mandatory = + > + > + > + ["TEMPLATE_OVERLAY"] = (P_BMM_CLASS) < + name = <"TEMPLATE_OVERLAY"> + ancestors = <"ARCHETYPE"> + > + + ------------------------------------------------------ + -- terminology package + ------------------------------------------------------ + + ["ARCHETYPE_TERMINOLOGY"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_TERMINOLOGY"> + ancestors = <"Any"> + properties = < + ["term_bindings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"term_bindings"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "Uri"> + > + > + > + > + ["original_language"] = (P_BMM_SINGLE_PROPERTY) < + name = <"original_language"> + type = <"String"> + is_mandatory = + > + ["value_sets"] = (P_BMM_GENERIC_PROPERTY) < + name = <"value_sets"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "VALUE_SET"> + > + > + ["concept_code"] = (P_BMM_SINGLE_PROPERTY) < + name = <"concept_code"> + type = <"String"> + is_mandatory = + > + ["terminology_extracts"] = (P_BMM_GENERIC_PROPERTY) < + name = <"terminology_extracts"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERM"> + > + > + > + > + ["term_definitions"] = (P_BMM_GENERIC_PROPERTY) < + name = <"term_definitions"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERM"> + > + > + > + is_mandatory = + > + ["is_differential"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_differential"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["TERMINOLOGY_RELATION"] = (P_BMM_CLASS) < + name = <"TERMINOLOGY_RELATION"> + ancestors = <"Any"> + properties = < + ["id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"id"> + type = <"String"> + is_mandatory = + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"String"> + > + is_mandatory = + > + > + > + ["VALUE_SET"] = (P_BMM_CLASS) < + name = <"VALUE_SET"> + ancestors = <"TERMINOLOGY_RELATION"> + > + + ["ARCHETYPE_TERM"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_TERM"> + ancestors = <"Any"> + properties = < + ["code"] = (P_BMM_SINGLE_PROPERTY) < + name = <"code"> + type = <"String"> + is_mandatory = + > + ["text"] = (P_BMM_SINGLE_PROPERTY) < + name = <"text"> + type = <"String"> + is_mandatory = + > + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"String"> + is_mandatory = + > + ["other_items"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_items"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ------------------------------------------------------ + -- constraint_model package + ------------------------------------------------------ + + ["ARCHETYPE_CONSTRAINT"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_CONSTRAINT"> + ancestors = <"Any"> + is_abstract = + properties = < + ["parent"] = (P_BMM_SINGLE_PROPERTY) < + name = <"parent"> + type = <"ARCHETYPE_CONSTRAINT"> + > + ["soc_parent"] = (P_BMM_SINGLE_PROPERTY) < + name = <"soc_parent"> + type = <"C_SECOND_ORDER"> + > + > + > + ["C_ATTRIBUTE"] = (P_BMM_CLASS) < + name = <"C_ATTRIBUTE"> + ancestors = <"ARCHETYPE_CONSTRAINT"> + properties = < + ["rm_attribute_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_attribute_name"> + type = <"String"> + is_mandatory = + > + ["existence"] = (P_BMM_SINGLE_PROPERTY) < + name = <"existence"> + type = <"Multiplicity_interval"> + > + ["children"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"children"> + type_def = < + container_type = <"List"> + type = <"C_OBJECT"> + > + > + ["differential_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"differential_path"> + type = <"String"> + > + ["cardinality"] = (P_BMM_SINGLE_PROPERTY) < + name = <"cardinality"> + type = <"Cardinality"> + > + ["is_multiple"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_multiple"> + type = <"Boolean"> + is_mandatory = + > + > + > + + -- + -- TODO: remove from here in later AOM versions, since available in + -- BASE Release-1.1.0 + -- + + ["Cardinality"] = (P_BMM_CLASS) < + name = <"Cardinality"> + ancestors = <"Any"> + properties = < + ["is_ordered"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_ordered"> + type = <"Boolean"> + is_mandatory = + > + ["is_unique"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_unique"> + type = <"Boolean"> + is_mandatory = + > + ["interval"] = (P_BMM_SINGLE_PROPERTY) < + name = <"interval"> + type = <"Multiplicity_interval"> + is_mandatory = + > + > + > + + -- + -- TODO: remove from here in later AOM versions, since available in + -- BASE Release-1.1.0 + -- + + ["Multiplicity_interval"] = (P_BMM_CLASS) < + name = <"Multiplicity_interval"> + ancestor_defs = < + ["Interval"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Integer"> + > + > + > + + ["C_OBJECT"] = (P_BMM_CLASS) < + name = <"C_OBJECT"> + ancestors = <"ARCHETYPE_CONSTRAINT"> + properties = < + ["rm_type_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_type_name"> + type = <"String"> + is_mandatory = + > + ["occurrences"] = (P_BMM_SINGLE_PROPERTY) < + name = <"occurrences"> + type = <"Multiplicity_interval"> + > + ["node_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"node_id"> + type = <"String"> + is_mandatory = + > + ["is_deprecated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_deprecated"> + type = <"Boolean"> + > + ["sibling_order"] = (P_BMM_SINGLE_PROPERTY) < + name = <"sibling_order"> + type = <"SIBLING_ORDER"> + > + > + is_abstract = + > + + ["SIBLING_ORDER"] = (P_BMM_CLASS) < + name = <"SIBLING_ORDER"> + ancestors = <"Any"> + properties = < + ["sibling_node_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"sibling_node_id"> + type = <"String"> + is_mandatory = + > + ["is_before"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_before"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["C_DEFINED_OBJECT"] = (P_BMM_CLASS) < + name = <"C_DEFINED_OBJECT"> + ancestors = <"C_OBJECT"> + properties = < + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Any"> + > + > + is_abstract = + > + ["C_COMPLEX_OBJECT"] = (P_BMM_CLASS) < + name = <"C_COMPLEX_OBJECT"> + ancestors = <"C_DEFINED_OBJECT"> + properties = < + ["attributes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"attributes"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE"> + > + > + ["attribute_tuples"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"attribute_tuples"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE_TUPLE"> + > + > + > + > + + ["C_ARCHETYPE_ROOT"] = (P_BMM_CLASS) < + name = <"C_ARCHETYPE_ROOT"> + ancestors = <"C_COMPLEX_OBJECT"> + properties = < + ["archetype_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"archetype_ref"> + type = <"String"> + is_mandatory = + > + > + > + ["ARCHETYPE_SLOT"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_SLOT"> + ancestors = <"C_OBJECT"> + properties = < + ["excludes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"excludes"> + type_def = < + container_type = <"List"> + type = <"ASSERTION"> + > + > + ["includes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"includes"> + type_def = < + container_type = <"List"> + type = <"ASSERTION"> + > + > + ["closed"] = (P_BMM_SINGLE_PROPERTY) < + name = <"closed"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["C_COMPLEX_OBJECT_PROXY"] = (P_BMM_CLASS) < + name = <"C_COMPLEX_OBJECT_PROXY"> + ancestors = <"C_OBJECT"> + properties = < + ["target_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_path"> + type = <"String"> + is_mandatory = + > + > + > + + ["C_PRIMITIVE_OBJECT"] = (P_BMM_CLASS) < + name = <"C_PRIMITIVE_OBJECT"> + ancestors = <"C_DEFINED_OBJECT"> + properties = < + ["is_enumerated_type_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_enumerated_type_constraint"> + type = <"Boolean"> + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Any"> + > + ["constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"constraint"> + type = <"Any"> + is_mandatory = + > + > + is_abstract = + > + + ["C_SECOND_ORDER"] = (P_BMM_CLASS) < + name = <"C_SECOND_ORDER"> + ancestors = <"Any"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"ARCHETYPE_CONSTRAINT"> + > + is_mandatory = + > + > + > + ["C_ATTRIBUTE_TUPLE"] = (P_BMM_CLASS) < + name = <"C_ATTRIBUTE_TUPLE"> + ancestors = <"C_SECOND_ORDER"> + properties = < + ["tuples"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"tuples"> + type_def = < + container_type = <"List"> + type = <"C_PRIMITIVE_TUPLE"> + > + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE"> + > + is_mandatory = + > + > + > + ["C_PRIMITIVE_TUPLE"] = (P_BMM_CLASS) < + name = <"C_PRIMITIVE_TUPLE"> + ancestors = <"C_SECOND_ORDER"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"C_PRIMITIVE_OBJECT"> + > + is_mandatory = + > + > + > + + + ------------------------------------------------------ + -- constraint_model.primitive package + ------------------------------------------------------ + + ["C_BOOLEAN"] = (P_BMM_CLASS) < + name = <"C_BOOLEAN"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type = <"Boolean"> + > + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Boolean"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Boolean"> + > + > + > + + ["C_STRING"] = (P_BMM_CLASS) < + name = <"C_STRING"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type = <"String"> + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"String"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"String"> + > + > + > + ["C_TERMINOLOGY_CODE"] = (P_BMM_CLASS) < + name = <"C_TERMINOLOGY_CODE"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"constraint"> + type = <"String"> + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Terminology_code"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Terminology_code"> + > + > + > + ["C_ORDERED"] = (P_BMM_CLASS) < + name = <"C_ORDERED"> + ancestors = <"C_PRIMITIVE_OBJECT"> + is_abstract = + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Ordered"> + > + > + > + > + > + ["C_INTEGER"] = (P_BMM_CLASS) < + name = <"C_INTEGER"> + ancestors = <"C_ORDERED"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Integer"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Integer"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Integer"> + > + > + > + ["C_REAL"] = (P_BMM_CLASS) < + name = <"C_REAL"> + ancestors = <"C_ORDERED"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Real"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Real"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Real"> + > + > + > + + ["C_TEMPORAL"] = (P_BMM_CLASS) < + name = <"C_TEMPORAL"> + ancestors = <"C_ORDERED"> + properties = < + ["pattern_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"pattern_constraint"> + type = <"String"> + > + > + is_abstract = + > + + ["C_DATE"] = (P_BMM_CLASS) < + name = <"C_DATE"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Date"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Date"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Date"> + > + > + > + ["C_TIME"] = (P_BMM_CLASS) < + name = <"C_TIME"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Time"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Time"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Time"> + > + > + > + ["C_DATE_TIME"] = (P_BMM_CLASS) < + name = <"C_DATE_TIME"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Date_time"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Date_time"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Date_time"> + > + > + > + ["C_DURATION"] = (P_BMM_CLASS) < + name = <"C_DURATION"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Duration"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Duration"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Duration"> + > + > + > + + ------------------------------------------------------ + -- profile package + ------------------------------------------------------ + + ["AOM_PROFILE"] = (P_BMM_CLASS) < + name = <"AOM_PROFILE"> + ancestors = <"Any"> + properties = < + ["profile_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"profile_name"> + type = <"String"> + is_mandatory = + > + ["aom_rm_type_substitutions"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_rm_type_substitutions"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["aom_lifecycle_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_lifecycle_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["aom_rm_type_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_rm_type_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "AOM_TYPE_MAPPING"> + > + > + ["rm_primitive_type_equivalences"] = (P_BMM_GENERIC_PROPERTY) < + name = <"rm_primitive_type_equivalences"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ["AOM_TYPE_MAPPING"] = (P_BMM_CLASS) < + name = <"AOM_TYPE_MAPPING"> + ancestors = <"Any"> + properties = < + ["source_class_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"source_class_name"> + type = <"String"> + is_mandatory = + > + ["target_class_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_class_name"> + type = <"String"> + is_mandatory = + > + ["property_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"property_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "AOM_PROPERTY_MAPPING"> + > + > + > + > + ["AOM_PROPERTY_MAPPING"] = (P_BMM_CLASS) < + name = <"AOM_PROPERTY_MAPPING"> + ancestors = <"Any"> + properties = < + ["source_property"] = (P_BMM_SINGLE_PROPERTY) < + name = <"source_property"> + type = <"String"> + is_mandatory = + > + ["target_property"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_property"> + type = <"String"> + is_mandatory = + > + > + > + + + -- + --------------------- base.resource ------------------ + -- + + ["AUTHORED_RESOURCE"] = < + name = <"AUTHORED_RESOURCE"> + ancestors = <"Any", ...> + is_abstract = + properties = < + ["original_language"] = (P_BMM_SINGLE_PROPERTY) < + name = <"original_language"> + type = <"Terminology_code"> + is_mandatory = + > + ["is_controlled"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_controlled"> + type = <"Boolean"> + > + ["translations"] = (P_BMM_GENERIC_PROPERTY) < + name = <"translations"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "TRANSLATION_DETAILS"> + > + > + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"RESOURCE_DESCRIPTION"> + > + ["annotations"] = (P_BMM_SINGLE_PROPERTY) < + name = <"annotations"> + type = <"RESOURCE_ANNOTATIONS"> + > + > + > + + ["TRANSLATION_DETAILS"] = < + name = <"TRANSLATION_DETAILS"> + ancestors = <"Any", ...> + properties = < + ["language"] = (P_BMM_SINGLE_PROPERTY) < + name = <"language"> + type = <"Terminology_code"> + is_mandatory = + > + ["author"] = (P_BMM_GENERIC_PROPERTY) < + name = <"author"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + is_mandatory = + > + ["accreditation"] = (P_BMM_SINGLE_PROPERTY) < + name = <"accreditation"> + type = <"String"> + > + ["version_last_translated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"version_last_translated"> + type = <"String"> + > + ["other_details"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_details"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ["RESOURCE_DESCRIPTION"] = < + name = <"RESOURCE_DESCRIPTION"> + ancestors = <"Any"> + properties = < + ["original_author"] = (P_BMM_GENERIC_PROPERTY) < + name = <"original_author"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + is_mandatory = + > + ["original_namespace"] = (P_BMM_SINGLE_PROPERTY) < + name = <"original_namespace"> + type = <"String"> + > + ["other_contributors"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"other_contributors"> + type_def = < + container_type = <"List"> + type = <"String"> + > + cardinality = <|>=0|> + > + ["custodian_namespace"] = (P_BMM_SINGLE_PROPERTY) < + name = <"custodian_namespace"> + type = <"String"> + > + ["custodian_organisation"] = (P_BMM_SINGLE_PROPERTY) < + name = <"custodian_organisation"> + type = <"String"> + > + ["copyright"] = (P_BMM_SINGLE_PROPERTY) < + name = <"copyright"> + type = <"String"> + > + ["licence"] = (P_BMM_SINGLE_PROPERTY) < + name = <"licence"> + type = <"String"> + > + ["lifecycle_state"] = (P_BMM_SINGLE_PROPERTY) < + name = <"lifecycle_state"> + type = <"String"> + is_mandatory = + > + ["resource_package_uri"] = (P_BMM_SINGLE_PROPERTY) < + name = <"resource_package_uri"> + type = <"String"> + > + ["ip_acknowledgements"] = (P_BMM_GENERIC_PROPERTY) < + name = <"ip_acknowledgements"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["references"] = (P_BMM_GENERIC_PROPERTY) < + name = <"references"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["conversion_details"] = (P_BMM_GENERIC_PROPERTY) < + name = <"conversion_details"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["other_details"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_details"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["parent_resource"] = (P_BMM_SINGLE_PROPERTY) < + name = <"parent_resource"> + type = <"AUTHORED_RESOURCE"> + is_mandatory = + > + ["details"] = (P_BMM_GENERIC_PROPERTY) < + name = <"details"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "RESOURCE_DESCRIPTION_ITEM"> + > + cardinality = <|>=1|> + > + > + > + + ["RESOURCE_DESCRIPTION_ITEM"] = < + name = <"RESOURCE_DESCRIPTION_ITEM"> + ancestors = <"Any"> + properties = < + ["language"] = (P_BMM_SINGLE_PROPERTY) < + name = <"language"> + type = <"Terminology_code"> + is_mandatory = + > + ["purpose"] = (P_BMM_SINGLE_PROPERTY) < + name = <"purpose"> + type = <"String"> + is_mandatory = + > + ["keywords"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"keywords"> + type_def = < + container_type = <"List"> + type = <"String"> + > + cardinality = <|>=0|> + > + ["use"] = (P_BMM_SINGLE_PROPERTY) < + name = <"use"> + type = <"String"> + > + ["misuse"] = (P_BMM_SINGLE_PROPERTY) < + name = <"misuse"> + type = <"String"> + > + ["original_resource_uri"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"original_resource_uri"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + cardinality = <|>=0|> + > + ["other_details"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_details"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ["RESOURCE_ANNOTATIONS"] = < + name = <"RESOURCE_ANNOTATIONS"> + ancestors = <"Any"> + properties = < + ["documentation"] = (P_BMM_GENERIC_PROPERTY) < + name = <"documentation"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + > + is_mandatory = + > + > + > + +> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.1.0/openEHR_am_210.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.1.0/openEHR_am_210.bmm new file mode 100644 index 000000000..27d98cbf7 --- /dev/null +++ b/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.1.0/openEHR_am_210.bmm @@ -0,0 +1,982 @@ +-- +-- component: openEHR BMM Implementation Technology Specification +-- description: openEHR AM component formal expression. This file is an ODIN serialisation of +-- the BMM object meta-model classes found at +-- https://www.openehr.org/releases/LANG/latest/p_bmm.html +-- keywords: reference model, meta-model, archetypes +-- author: Thomas Beale +-- support: https://openehr.atlassian.net/issues/?filter=11117 +-- copyright: Copyright (c) 2021- openEHR Foundation +-- license: Apache 2.0 +-- + +------------------------------------------------------ +-- BMM version on which these schemas are based. +-- Current BMM version can be found as the top version in the specification: +-- https://www.openehr.org/releases/LANG/latest/bmm_persistence.html#_amendment_record +-- +------------------------------------------------------ +bmm_version = <"2.3"> + +------------------------------------------------------ +-- schema identification +-- (schema_id computed as __) +------------------------------------------------------ +rm_publisher = <"openehr"> +schema_name = <"am"> +rm_release = <"2.1.0"> +model_name = <"AOM2"> + +------------------------------------------------------ +-- schema documentation +------------------------------------------------------ +schema_revision = <"2.1.0.1"> +schema_lifecycle_state = <"stable"> +schema_description = <"openEHR Release 2.1.0 AM schema"> +schema_author = <"Thomas Beale "> + +------------------------------------------------------ +-- inclusions +------------------------------------------------------ +includes = < + ["1"] = < + id = <"openehr_base_1.1.0"> + > + ["2"] = < + id = <"openehr_expression_1.0.4"> + > +> + +------------------------------------------------------ +-- packages - software structure +------------------------------------------------------ + +packages = < + ["org.openehr.am.aom2"] = < + name = <"org.openehr.am.aom2"> + packages = < + ["definitions"] = < + name = <"definitions"> + classes = <"ADL_CODE_DEFINITIONS"> + > + ["archetype"] = < + name = <"archetype"> + classes = <"AUTHORED_ARCHETYPE", "ARCHETYPE", "TEMPLATE", "TEMPLATE_OVERLAY", "OPERATIONAL_TEMPLATE"> + > + ["constraint_model"] = < + name = <"constraint_model"> + packages = < + ["definition"] = < + name = <"primitive"> + classes = <"C_REAL", "C_ORDERED", "C_BOOLEAN", "C_STRING", "C_INTEGER", "C_TERMINOLOGY_CODE", + "C_TEMPORAL", "C_TIME", "C_DATE", "C_DATE_TIME", "C_DURATION" + > + > + > + classes = <"C_COMPLEX_OBJECT", "C_PRIMITIVE_OBJECT", "C_PRIMITIVE_TUPLE", "C_SECOND_ORDER", + "C_ATTRIBUTE_TUPLE", "C_ATTRIBUTE", "ARCHETYPE_SLOT", "C_OBJECT", "C_COMPLEX_OBJECT_PROXY", "C_DEFINED_OBJECT", + "SIBLING_ORDER", "C_ARCHETYPE_ROOT", "ARCHETYPE_CONSTRAINT" + > + > + ["profile"] = < + name = <"profile"> + classes = <"AOM_PROFILE", "AOM_TYPE_MAPPING", "AOM_PROPERTY_MAPPING"> + > + ["terminology"] = < + name = <"terminology"> + classes = <"ARCHETYPE_TERM", "ARCHETYPE_TERMINOLOGY", "TERMINOLOGY_RELATION", "VALUE_SET"> + > + ["persistence"] = < + name = <"persistence"> + > + > + > +> + +------------------------------------------------------ +-- classes +------------------------------------------------------ + +class_definitions = < + + ------------------------------------------------------ + -- definitions package + ------------------------------------------------------ + + ["ADL_CODE_DEFINITIONS"] = (P_BMM_CLASS) < + name = <"ADL_CODE_DEFINITIONS"> + ancestors = <"Any"> + > + + ------------------------------------------------------ + -- archetype package + ------------------------------------------------------ + ["ARCHETYPE_HRID"] = < + name = <"ARCHETYPE_HRID"> + ancestors = <"Any"> + properties = < + ["namespace"] = (P_BMM_SINGLE_PROPERTY) < + name = <"namespace"> + type = <"String"> + > + ["rm_publisher"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_publisher"> + type = <"String"> + is_mandatory = + > + ["rm_package"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_package"> + type = <"String"> + is_mandatory = + > + ["rm_class"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_class"> + type = <"String"> + is_mandatory = + > + ["concept_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"concept_id"> + type = <"String"> + is_mandatory = + > + ["release_version"] = (P_BMM_SINGLE_PROPERTY) < + name = <"release_version"> + type = <"String"> + is_mandatory = + > + ["version_status"] = (P_BMM_SINGLE_PROPERTY) < + name = <"version_status"> + type = <"VERSION_STATUS"> + is_mandatory = + > + ["build_count"] = (P_BMM_SINGLE_PROPERTY) < + name = <"build_count"> + type = <"String"> + is_mandatory = + > + > + > + + ["ARCHETYPE"] = (P_BMM_CLASS) < + name = <"ARCHETYPE"> + properties = < + ["parent_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"parent_archetype_id"> + type = <"String"> + > + ["archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"archetype_id"> + type = <"ARCHETYPE_HRID"> + is_mandatory = + > + ["rules"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rules"> + type = <"STATEMENT"> + > + ["is_differential"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_differential"> + type = <"Boolean"> + is_mandatory = + > + ["terminology"] = (P_BMM_SINGLE_PROPERTY) < + name = <"terminology"> + type = <"ARCHETYPE_TERMINOLOGY"> + is_mandatory = + > + ["definition"] = (P_BMM_SINGLE_PROPERTY) < + name = <"definition"> + type = <"C_COMPLEX_OBJECT"> + is_mandatory = + > + > + > + ["AUTHORED_ARCHETYPE"] = (P_BMM_CLASS) < + name = <"AUTHORED_ARCHETYPE"> + ancestors = <"ARCHETYPE", "AUTHORED_RESOURCE"> + properties = < + ["adl_version"] = (P_BMM_SINGLE_PROPERTY) < + name = <"adl_version"> + type = <"String"> + > + ["rm_release"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_release"> + type = <"String"> + is_mandatory = + > + ["is_generated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_generated"> + type = <"Boolean"> + is_mandatory = + > + ["build_uid"] = (P_BMM_SINGLE_PROPERTY) < + name = <"build_uid"> + type = <"UUID"> + is_mandatory = + > + ["other_meta_data"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_meta_data"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + + > + is_mandatory = + > + > + > + + ["OPERATIONAL_TEMPLATE"] = (P_BMM_CLASS) < + name = <"OPERATIONAL_TEMPLATE"> + ancestors = <"AUTHORED_ARCHETYPE"> + properties = < + ["component_terminologies"] = (P_BMM_GENERIC_PROPERTY) < + name = <"component_terminologies"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERMINOLOGY"> + > + > + ["terminology_extracts"] = (P_BMM_GENERIC_PROPERTY) < + name = <"terminology_extracts"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERMINOLOGY"> + > + > + > + > + ["TEMPLATE"] = (P_BMM_CLASS) < + name = <"TEMPLATE"> + ancestors = <"AUTHORED_ARCHETYPE"> + properties = < + ["template_overlays"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"template_overlays"> + type_def = < + container_type = <"List"> + type = <"TEMPLATE_OVERLAY"> + > + is_mandatory = + > + > + > + ["TEMPLATE_OVERLAY"] = (P_BMM_CLASS) < + name = <"TEMPLATE_OVERLAY"> + ancestors = <"ARCHETYPE"> + > + + ------------------------------------------------------ + -- terminology package + ------------------------------------------------------ + + ["ARCHETYPE_TERMINOLOGY"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_TERMINOLOGY"> + ancestors = <"Any"> + properties = < + ["term_bindings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"term_bindings"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "Uri"> + > + > + > + > + ["original_language"] = (P_BMM_SINGLE_PROPERTY) < + name = <"original_language"> + type = <"String"> + is_mandatory = + > + ["value_sets"] = (P_BMM_GENERIC_PROPERTY) < + name = <"value_sets"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "VALUE_SET"> + > + > + ["concept_code"] = (P_BMM_SINGLE_PROPERTY) < + name = <"concept_code"> + type = <"String"> + is_mandatory = + > + ["terminology_extracts"] = (P_BMM_GENERIC_PROPERTY) < + name = <"terminology_extracts"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERM"> + > + > + > + > + ["term_definitions"] = (P_BMM_GENERIC_PROPERTY) < + name = <"term_definitions"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERM"> + > + > + > + is_mandatory = + > + ["is_differential"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_differential"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["TERMINOLOGY_RELATION"] = (P_BMM_CLASS) < + name = <"TERMINOLOGY_RELATION"> + ancestors = <"Any"> + properties = < + ["id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"id"> + type = <"String"> + is_mandatory = + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"String"> + > + is_mandatory = + > + > + > + ["VALUE_SET"] = (P_BMM_CLASS) < + name = <"VALUE_SET"> + ancestors = <"TERMINOLOGY_RELATION"> + > + + ["ARCHETYPE_TERM"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_TERM"> + ancestors = <"Any"> + properties = < + ["code"] = (P_BMM_SINGLE_PROPERTY) < + name = <"code"> + type = <"String"> + is_mandatory = + > + ["text"] = (P_BMM_SINGLE_PROPERTY) < + name = <"text"> + type = <"String"> + is_mandatory = + > + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"String"> + is_mandatory = + > + ["other_items"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_items"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ------------------------------------------------------ + -- constraint_model package + ------------------------------------------------------ + + ["ARCHETYPE_CONSTRAINT"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_CONSTRAINT"> + ancestors = <"Any"> + is_abstract = + properties = < + ["parent"] = (P_BMM_SINGLE_PROPERTY) < + name = <"parent"> + type = <"ARCHETYPE_CONSTRAINT"> + > + ["soc_parent"] = (P_BMM_SINGLE_PROPERTY) < + name = <"soc_parent"> + type = <"C_SECOND_ORDER"> + > + > + > + ["C_ATTRIBUTE"] = (P_BMM_CLASS) < + name = <"C_ATTRIBUTE"> + ancestors = <"ARCHETYPE_CONSTRAINT"> + properties = < + ["rm_attribute_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_attribute_name"> + type = <"String"> + is_mandatory = + > + ["existence"] = (P_BMM_SINGLE_PROPERTY) < + name = <"existence"> + type = <"Multiplicity_interval"> + > + ["children"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"children"> + type_def = < + container_type = <"List"> + type = <"C_OBJECT"> + > + > + ["differential_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"differential_path"> + type = <"String"> + > + ["cardinality"] = (P_BMM_SINGLE_PROPERTY) < + name = <"cardinality"> + type = <"Cardinality"> + > + ["is_multiple"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_multiple"> + type = <"Boolean"> + is_mandatory = + > + > + > + + ["C_OBJECT"] = (P_BMM_CLASS) < + name = <"C_OBJECT"> + ancestors = <"ARCHETYPE_CONSTRAINT"> + properties = < + ["rm_type_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_type_name"> + type = <"String"> + is_mandatory = + > + ["occurrences"] = (P_BMM_SINGLE_PROPERTY) < + name = <"occurrences"> + type = <"Multiplicity_interval"> + > + ["node_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"node_id"> + type = <"String"> + is_mandatory = + > + ["is_deprecated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_deprecated"> + type = <"Boolean"> + > + ["sibling_order"] = (P_BMM_SINGLE_PROPERTY) < + name = <"sibling_order"> + type = <"SIBLING_ORDER"> + > + > + is_abstract = + > + + ["SIBLING_ORDER"] = (P_BMM_CLASS) < + name = <"SIBLING_ORDER"> + ancestors = <"Any"> + properties = < + ["sibling_node_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"sibling_node_id"> + type = <"String"> + is_mandatory = + > + ["is_before"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_before"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["C_DEFINED_OBJECT"] = (P_BMM_CLASS) < + name = <"C_DEFINED_OBJECT"> + ancestors = <"C_OBJECT"> + properties = < + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Any"> + > + > + is_abstract = + > + ["C_COMPLEX_OBJECT"] = (P_BMM_CLASS) < + name = <"C_COMPLEX_OBJECT"> + ancestors = <"C_DEFINED_OBJECT"> + properties = < + ["attributes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"attributes"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE"> + > + > + ["attribute_tuples"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"attribute_tuples"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE_TUPLE"> + > + > + > + > + + ["C_ARCHETYPE_ROOT"] = (P_BMM_CLASS) < + name = <"C_ARCHETYPE_ROOT"> + ancestors = <"C_COMPLEX_OBJECT"> + properties = < + ["archetype_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"archetype_ref"> + type = <"String"> + is_mandatory = + > + > + > + ["ARCHETYPE_SLOT"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_SLOT"> + ancestors = <"C_OBJECT"> + properties = < + ["excludes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"excludes"> + type_def = < + container_type = <"List"> + type = <"ASSERTION"> + > + > + ["includes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"includes"> + type_def = < + container_type = <"List"> + type = <"ASSERTION"> + > + > + ["closed"] = (P_BMM_SINGLE_PROPERTY) < + name = <"closed"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["C_COMPLEX_OBJECT_PROXY"] = (P_BMM_CLASS) < + name = <"C_COMPLEX_OBJECT_PROXY"> + ancestors = <"C_OBJECT"> + properties = < + ["target_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_path"> + type = <"String"> + is_mandatory = + > + > + > + + ["C_PRIMITIVE_OBJECT"] = (P_BMM_CLASS) < + name = <"C_PRIMITIVE_OBJECT"> + ancestors = <"C_DEFINED_OBJECT"> + properties = < + ["is_enumerated_type_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_enumerated_type_constraint"> + type = <"Boolean"> + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Any"> + > + ["constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"constraint"> + type = <"Any"> + is_mandatory = + > + > + is_abstract = + > + + ["C_SECOND_ORDER"] = (P_BMM_CLASS) < + name = <"C_SECOND_ORDER"> + ancestors = <"Any"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"ARCHETYPE_CONSTRAINT"> + > + is_mandatory = + > + > + > + ["C_ATTRIBUTE_TUPLE"] = (P_BMM_CLASS) < + name = <"C_ATTRIBUTE_TUPLE"> + ancestors = <"C_SECOND_ORDER"> + properties = < + ["tuples"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"tuples"> + type_def = < + container_type = <"List"> + type = <"C_PRIMITIVE_TUPLE"> + > + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE"> + > + is_mandatory = + > + > + > + ["C_PRIMITIVE_TUPLE"] = (P_BMM_CLASS) < + name = <"C_PRIMITIVE_TUPLE"> + ancestors = <"C_SECOND_ORDER"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"C_PRIMITIVE_OBJECT"> + > + is_mandatory = + > + > + > + + + ------------------------------------------------------ + -- constraint_model.primitive package + ------------------------------------------------------ + + ["C_BOOLEAN"] = (P_BMM_CLASS) < + name = <"C_BOOLEAN"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type = <"Boolean"> + > + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Boolean"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Boolean"> + > + > + > + + ["C_STRING"] = (P_BMM_CLASS) < + name = <"C_STRING"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type = <"String"> + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"String"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"String"> + > + > + > + ["C_TERMINOLOGY_CODE"] = (P_BMM_CLASS) < + name = <"C_TERMINOLOGY_CODE"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"constraint"> + type = <"String"> + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Terminology_code"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Terminology_code"> + > + > + > + ["C_ORDERED"] = (P_BMM_CLASS) < + name = <"C_ORDERED"> + ancestors = <"C_PRIMITIVE_OBJECT"> + is_abstract = + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Ordered"> + > + > + > + > + > + ["C_INTEGER"] = (P_BMM_CLASS) < + name = <"C_INTEGER"> + ancestors = <"C_ORDERED"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Integer"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Integer"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Integer"> + > + > + > + ["C_REAL"] = (P_BMM_CLASS) < + name = <"C_REAL"> + ancestors = <"C_ORDERED"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Real"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Real"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Real"> + > + > + > + + ["C_TEMPORAL"] = (P_BMM_CLASS) < + name = <"C_TEMPORAL"> + ancestors = <"C_ORDERED"> + properties = < + ["pattern_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"pattern_constraint"> + type = <"String"> + > + > + is_abstract = + > + + ["C_DATE"] = (P_BMM_CLASS) < + name = <"C_DATE"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Date"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Date"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Date"> + > + > + > + ["C_TIME"] = (P_BMM_CLASS) < + name = <"C_TIME"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Time"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Time"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Time"> + > + > + > + ["C_DATE_TIME"] = (P_BMM_CLASS) < + name = <"C_DATE_TIME"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Date_time"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Date_time"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Date_time"> + > + > + > + ["C_DURATION"] = (P_BMM_CLASS) < + name = <"C_DURATION"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Duration"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Duration"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Duration"> + > + > + > + + ------------------------------------------------------ + -- profile package + ------------------------------------------------------ + + ["AOM_PROFILE"] = (P_BMM_CLASS) < + name = <"AOM_PROFILE"> + ancestors = <"Any"> + properties = < + ["profile_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"profile_name"> + type = <"String"> + is_mandatory = + > + ["aom_rm_type_substitutions"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_rm_type_substitutions"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["aom_lifecycle_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_lifecycle_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["aom_rm_type_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_rm_type_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "AOM_TYPE_MAPPING"> + > + > + ["rm_primitive_type_equivalences"] = (P_BMM_GENERIC_PROPERTY) < + name = <"rm_primitive_type_equivalences"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ["AOM_TYPE_MAPPING"] = (P_BMM_CLASS) < + name = <"AOM_TYPE_MAPPING"> + ancestors = <"Any"> + properties = < + ["source_class_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"source_class_name"> + type = <"String"> + is_mandatory = + > + ["target_class_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_class_name"> + type = <"String"> + is_mandatory = + > + ["property_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"property_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "AOM_PROPERTY_MAPPING"> + > + > + > + > + ["AOM_PROPERTY_MAPPING"] = (P_BMM_CLASS) < + name = <"AOM_PROPERTY_MAPPING"> + ancestors = <"Any"> + properties = < + ["source_property"] = (P_BMM_SINGLE_PROPERTY) < + name = <"source_property"> + type = <"String"> + is_mandatory = + > + ["target_property"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_property"> + type = <"String"> + is_mandatory = + > + > + > +> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.2.0/openEHR_am_220.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.2.0/openEHR_am_220.bmm new file mode 100644 index 000000000..9421f1d84 --- /dev/null +++ b/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.2.0/openEHR_am_220.bmm @@ -0,0 +1,1025 @@ +-- +-- component: openEHR BMM Implementation Technology Specification +-- description: openEHR AM component formal expression. This file is an ODIN serialisation of +-- the BMM object meta-model classes found at +-- https://www.openehr.org/releases/LANG/latest/p_bmm.html +-- keywords: reference model, meta-model, archetypes +-- author: Thomas Beale +-- support: https://openehr.atlassian.net/issues/?filter=11117 +-- copyright: Copyright (c) 2021- openEHR Foundation +-- license: Apache 2.0 +-- + +------------------------------------------------------ +-- BMM version on which these schemas are based. +-- Current BMM version can be found as the top version in the specification: +-- https://www.openehr.org/releases/LANG/latest/bmm_persistence.html#_amendment_record +-- +------------------------------------------------------ +bmm_version = <"2.3"> + +------------------------------------------------------ +-- schema identification +-- (schema_id computed as __) +------------------------------------------------------ +rm_publisher = <"openehr"> +schema_name = <"am"> +rm_release = <"2.2.0"> +model_name = <"AOM2"> + +------------------------------------------------------ +-- schema documentation +------------------------------------------------------ +schema_revision = <"2.2.0.1"> +schema_lifecycle_state = <"stable"> +schema_description = <"openEHR Release 2.2.0 AM schema"> +schema_author = <"Thomas Beale "> + +------------------------------------------------------ +-- inclusions +------------------------------------------------------ +includes = < + ["1"] = < + id = <"openehr_base_1.1.0"> + > + ["2"] = < + id = <"openehr_expression_1.0.4"> + > +> + +------------------------------------------------------ +-- packages - software structure +------------------------------------------------------ + +packages = < + ["org.openehr.am.aom2"] = < + name = <"org.openehr.am.aom2"> + packages = < + ["definitions"] = < + name = <"definitions"> + classes = <"ADL_CODE_DEFINITIONS"> + > + ["archetype"] = < + name = <"archetype"> + classes = <"AUTHORED_ARCHETYPE", "ARCHETYPE", "TEMPLATE", "TEMPLATE_OVERLAY", "OPERATIONAL_TEMPLATE"> + > + ["constraint_model"] = < + name = <"constraint_model"> + packages = < + ["definition"] = < + name = <"primitive"> + classes = <"C_REAL", "C_ORDERED", "C_BOOLEAN", "C_STRING", "C_INTEGER", "C_TERMINOLOGY_CODE", + "C_TEMPORAL", "C_TIME", "C_DATE", "C_DATE_TIME", "C_DURATION" + > + > + > + classes = <"C_COMPLEX_OBJECT", "C_PRIMITIVE_OBJECT", "C_PRIMITIVE_TUPLE", "C_SECOND_ORDER", + "C_ATTRIBUTE_TUPLE", "C_ATTRIBUTE", "ARCHETYPE_SLOT", "C_OBJECT", "C_COMPLEX_OBJECT_PROXY", "C_DEFINED_OBJECT", + "SIBLING_ORDER", "C_ARCHETYPE_ROOT", "ARCHETYPE_CONSTRAINT" + > + > + ["rm_overlay"] = < + name = <"rm_overlay"> + classes = <"RM_OVERLAY", "RM_ATTRIBUTE_VISIBILITY", "VISIBILITY_TYPE"> + > + ["profile"] = < + name = <"profile"> + classes = <"AOM_PROFILE", "AOM_TYPE_MAPPING", "AOM_PROPERTY_MAPPING"> + > + ["terminology"] = < + name = <"terminology"> + classes = <"ARCHETYPE_TERM", "ARCHETYPE_TERMINOLOGY", "TERMINOLOGY_RELATION", "VALUE_SET"> + > + ["persistence"] = < + name = <"persistence"> + > + > + > +> + +------------------------------------------------------ +-- classes +------------------------------------------------------ + +class_definitions = < + + ------------------------------------------------------ + -- definitions package + ------------------------------------------------------ + + ["ADL_CODE_DEFINITIONS"] = (P_BMM_CLASS) < + name = <"ADL_CODE_DEFINITIONS"> + ancestors = <"Any"> + > + + ------------------------------------------------------ + -- archetype package + ------------------------------------------------------ + + ["ARCHETYPE_HRID"] = < + name = <"ARCHETYPE_HRID"> + ancestors = <"Any"> + properties = < + ["namespace"] = (P_BMM_SINGLE_PROPERTY) < + name = <"namespace"> + type = <"String"> + > + ["rm_publisher"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_publisher"> + type = <"String"> + is_mandatory = + > + ["rm_package"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_package"> + type = <"String"> + is_mandatory = + > + ["rm_class"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_class"> + type = <"String"> + is_mandatory = + > + ["concept_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"concept_id"> + type = <"String"> + is_mandatory = + > + ["release_version"] = (P_BMM_SINGLE_PROPERTY) < + name = <"release_version"> + type = <"String"> + is_mandatory = + > + ["version_status"] = (P_BMM_SINGLE_PROPERTY) < + name = <"version_status"> + type = <"VERSION_STATUS"> + is_mandatory = + > + ["build_count"] = (P_BMM_SINGLE_PROPERTY) < + name = <"build_count"> + type = <"String"> + is_mandatory = + > + > + > + + ["ARCHETYPE"] = (P_BMM_CLASS) < + name = <"ARCHETYPE"> + properties = < + ["parent_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"parent_archetype_id"> + type = <"String"> + > + ["archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"archetype_id"> + type = <"ARCHETYPE_HRID"> + is_mandatory = + > + ["rules"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rules"> + type = <"STATEMENT"> + > + ["is_differential"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_differential"> + type = <"Boolean"> + is_mandatory = + > + ["terminology"] = (P_BMM_SINGLE_PROPERTY) < + name = <"terminology"> + type = <"ARCHETYPE_TERMINOLOGY"> + is_mandatory = + > + ["definition"] = (P_BMM_SINGLE_PROPERTY) < + name = <"definition"> + type = <"C_COMPLEX_OBJECT"> + is_mandatory = + > + > + > + ["AUTHORED_ARCHETYPE"] = (P_BMM_CLASS) < + name = <"AUTHORED_ARCHETYPE"> + ancestors = <"ARCHETYPE", "AUTHORED_RESOURCE"> + properties = < + ["adl_version"] = (P_BMM_SINGLE_PROPERTY) < + name = <"adl_version"> + type = <"String"> + > + ["rm_release"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_release"> + type = <"String"> + is_mandatory = + > + ["is_generated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_generated"> + type = <"Boolean"> + is_mandatory = + > + ["build_uid"] = (P_BMM_SINGLE_PROPERTY) < + name = <"build_uid"> + type = <"UUID"> + is_mandatory = + > + ["other_meta_data"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_meta_data"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + is_mandatory = + > + > + > + + ["OPERATIONAL_TEMPLATE"] = (P_BMM_CLASS) < + name = <"OPERATIONAL_TEMPLATE"> + ancestors = <"AUTHORED_ARCHETYPE"> + properties = < + ["component_terminologies"] = (P_BMM_GENERIC_PROPERTY) < + name = <"component_terminologies"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERMINOLOGY"> + > + > + ["terminology_extracts"] = (P_BMM_GENERIC_PROPERTY) < + name = <"terminology_extracts"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERMINOLOGY"> + > + > + > + > + ["TEMPLATE"] = (P_BMM_CLASS) < + name = <"TEMPLATE"> + ancestors = <"AUTHORED_ARCHETYPE"> + properties = < + ["template_overlays"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"template_overlays"> + type_def = < + container_type = <"List"> + type = <"TEMPLATE_OVERLAY"> + > + is_mandatory = + > + > + > + ["TEMPLATE_OVERLAY"] = (P_BMM_CLASS) < + name = <"TEMPLATE_OVERLAY"> + ancestors = <"ARCHETYPE"> + > + + ------------------------------------------------------ + -- terminology package + ------------------------------------------------------ + + ["ARCHETYPE_TERMINOLOGY"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_TERMINOLOGY"> + ancestors = <"Any"> + properties = < + ["term_bindings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"term_bindings"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "Uri"> + > + > + > + > + ["original_language"] = (P_BMM_SINGLE_PROPERTY) < + name = <"original_language"> + type = <"String"> + is_mandatory = + > + ["value_sets"] = (P_BMM_GENERIC_PROPERTY) < + name = <"value_sets"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "VALUE_SET"> + > + > + ["concept_code"] = (P_BMM_SINGLE_PROPERTY) < + name = <"concept_code"> + type = <"String"> + is_mandatory = + > + ["terminology_extracts"] = (P_BMM_GENERIC_PROPERTY) < + name = <"terminology_extracts"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERM"> + > + > + > + > + ["term_definitions"] = (P_BMM_GENERIC_PROPERTY) < + name = <"term_definitions"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERM"> + > + > + > + is_mandatory = + > + ["is_differential"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_differential"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["TERMINOLOGY_RELATION"] = (P_BMM_CLASS) < + name = <"TERMINOLOGY_RELATION"> + ancestors = <"Any"> + properties = < + ["id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"id"> + type = <"String"> + is_mandatory = + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"String"> + > + is_mandatory = + > + > + > + ["VALUE_SET"] = (P_BMM_CLASS) < + name = <"VALUE_SET"> + ancestors = <"TERMINOLOGY_RELATION"> + > + + ["ARCHETYPE_TERM"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_TERM"> + ancestors = <"Any"> + properties = < + ["code"] = (P_BMM_SINGLE_PROPERTY) < + name = <"code"> + type = <"String"> + is_mandatory = + > + ["text"] = (P_BMM_SINGLE_PROPERTY) < + name = <"text"> + type = <"String"> + is_mandatory = + > + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"String"> + is_mandatory = + > + ["other_items"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_items"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ------------------------------------------------------ + -- constraint_model package + ------------------------------------------------------ + + ["ARCHETYPE_CONSTRAINT"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_CONSTRAINT"> + ancestors = <"Any"> + is_abstract = + properties = < + ["parent"] = (P_BMM_SINGLE_PROPERTY) < + name = <"parent"> + type = <"ARCHETYPE_CONSTRAINT"> + > + ["soc_parent"] = (P_BMM_SINGLE_PROPERTY) < + name = <"soc_parent"> + type = <"C_SECOND_ORDER"> + > + > + > + ["C_ATTRIBUTE"] = (P_BMM_CLASS) < + name = <"C_ATTRIBUTE"> + ancestors = <"ARCHETYPE_CONSTRAINT"> + properties = < + ["rm_attribute_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_attribute_name"> + type = <"String"> + is_mandatory = + > + ["existence"] = (P_BMM_SINGLE_PROPERTY) < + name = <"existence"> + type = <"Multiplicity_interval"> + > + ["children"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"children"> + type_def = < + container_type = <"List"> + type = <"C_OBJECT"> + > + > + ["differential_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"differential_path"> + type = <"String"> + > + ["cardinality"] = (P_BMM_SINGLE_PROPERTY) < + name = <"cardinality"> + type = <"Cardinality"> + > + ["is_multiple"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_multiple"> + type = <"Boolean"> + is_mandatory = + > + > + > + + ["C_OBJECT"] = (P_BMM_CLASS) < + name = <"C_OBJECT"> + ancestors = <"ARCHETYPE_CONSTRAINT"> + properties = < + ["rm_type_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_type_name"> + type = <"String"> + is_mandatory = + > + ["occurrences"] = (P_BMM_SINGLE_PROPERTY) < + name = <"occurrences"> + type = <"Multiplicity_interval"> + > + ["node_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"node_id"> + type = <"String"> + is_mandatory = + > + ["is_deprecated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_deprecated"> + type = <"Boolean"> + > + ["sibling_order"] = (P_BMM_SINGLE_PROPERTY) < + name = <"sibling_order"> + type = <"SIBLING_ORDER"> + > + > + is_abstract = + > + + ["SIBLING_ORDER"] = (P_BMM_CLASS) < + name = <"SIBLING_ORDER"> + ancestors = <"Any"> + properties = < + ["sibling_node_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"sibling_node_id"> + type = <"String"> + is_mandatory = + > + ["is_before"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_before"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["C_DEFINED_OBJECT"] = (P_BMM_CLASS) < + name = <"C_DEFINED_OBJECT"> + ancestors = <"C_OBJECT"> + properties = < + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Any"> + > + > + is_abstract = + > + ["C_COMPLEX_OBJECT"] = (P_BMM_CLASS) < + name = <"C_COMPLEX_OBJECT"> + ancestors = <"C_DEFINED_OBJECT"> + properties = < + ["attributes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"attributes"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE"> + > + > + ["attribute_tuples"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"attribute_tuples"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE_TUPLE"> + > + > + > + > + + ["C_ARCHETYPE_ROOT"] = (P_BMM_CLASS) < + name = <"C_ARCHETYPE_ROOT"> + ancestors = <"C_COMPLEX_OBJECT"> + properties = < + ["archetype_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"archetype_ref"> + type = <"String"> + is_mandatory = + > + > + > + ["ARCHETYPE_SLOT"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_SLOT"> + ancestors = <"C_OBJECT"> + properties = < + ["excludes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"excludes"> + type_def = < + container_type = <"List"> + type = <"ASSERTION"> + > + > + ["includes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"includes"> + type_def = < + container_type = <"List"> + type = <"ASSERTION"> + > + > + ["closed"] = (P_BMM_SINGLE_PROPERTY) < + name = <"closed"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["C_COMPLEX_OBJECT_PROXY"] = (P_BMM_CLASS) < + name = <"C_COMPLEX_OBJECT_PROXY"> + ancestors = <"C_OBJECT"> + properties = < + ["target_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_path"> + type = <"String"> + is_mandatory = + > + > + > + + ["C_PRIMITIVE_OBJECT"] = (P_BMM_CLASS) < + name = <"C_PRIMITIVE_OBJECT"> + ancestors = <"C_DEFINED_OBJECT"> + properties = < + ["is_enumerated_type_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_enumerated_type_constraint"> + type = <"Boolean"> + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Any"> + > + ["constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"constraint"> + type = <"Any"> + is_mandatory = + > + > + is_abstract = + > + + ["C_SECOND_ORDER"] = (P_BMM_CLASS) < + name = <"C_SECOND_ORDER"> + ancestors = <"Any"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"ARCHETYPE_CONSTRAINT"> + > + is_mandatory = + > + > + > + ["C_ATTRIBUTE_TUPLE"] = (P_BMM_CLASS) < + name = <"C_ATTRIBUTE_TUPLE"> + ancestors = <"C_SECOND_ORDER"> + properties = < + ["tuples"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"tuples"> + type_def = < + container_type = <"List"> + type = <"C_PRIMITIVE_TUPLE"> + > + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE"> + > + is_mandatory = + > + > + > + ["C_PRIMITIVE_TUPLE"] = (P_BMM_CLASS) < + name = <"C_PRIMITIVE_TUPLE"> + ancestors = <"C_SECOND_ORDER"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"C_PRIMITIVE_OBJECT"> + > + is_mandatory = + > + > + > + + + ------------------------------------------------------ + -- constraint_model.primitive package + ------------------------------------------------------ + + ["C_BOOLEAN"] = (P_BMM_CLASS) < + name = <"C_BOOLEAN"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type = <"Boolean"> + > + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Boolean"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Boolean"> + > + > + > + + ["C_STRING"] = (P_BMM_CLASS) < + name = <"C_STRING"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type = <"String"> + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"String"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"String"> + > + > + > + ["C_TERMINOLOGY_CODE"] = (P_BMM_CLASS) < + name = <"C_TERMINOLOGY_CODE"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"constraint"> + type = <"String"> + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Terminology_code"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Terminology_code"> + > + > + > + ["C_ORDERED"] = (P_BMM_CLASS) < + name = <"C_ORDERED"> + ancestors = <"C_PRIMITIVE_OBJECT"> + is_abstract = + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Ordered"> + > + > + > + > + > + ["C_INTEGER"] = (P_BMM_CLASS) < + name = <"C_INTEGER"> + ancestors = <"C_ORDERED"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Integer"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Integer"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Integer"> + > + > + > + ["C_REAL"] = (P_BMM_CLASS) < + name = <"C_REAL"> + ancestors = <"C_ORDERED"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Real"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Real"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Real"> + > + > + > + + ["C_TEMPORAL"] = (P_BMM_CLASS) < + name = <"C_TEMPORAL"> + ancestors = <"C_ORDERED"> + properties = < + ["pattern_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"pattern_constraint"> + type = <"String"> + > + > + is_abstract = + > + + ["C_DATE"] = (P_BMM_CLASS) < + name = <"C_DATE"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Date"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Date"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Date"> + > + > + > + ["C_TIME"] = (P_BMM_CLASS) < + name = <"C_TIME"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Time"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Time"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Time"> + > + > + > + ["C_DATE_TIME"] = (P_BMM_CLASS) < + name = <"C_DATE_TIME"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Date_time"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Date_time"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Date_time"> + > + > + > + ["C_DURATION"] = (P_BMM_CLASS) < + name = <"C_DURATION"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Duration"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Duration"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Duration"> + > + > + > + + ------------------------------------------------------ + -- rm_overlay package + ------------------------------------------------------ + + ["RM_OVERLAY"] = (P_BMM_CLASS) < + name = <"RM_OVERLAY"> + ancestors = <"Any"> + properties = < + ["rm_visibility"] = (P_BMM_GENERIC_PROPERTY) < + name = <"rm_visibility"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "RM_ATTRIBUTE_VISIBILITY"> + > + > + > + > + + ["RM_ATTRIBUTE_VISIBILITY"] = (P_BMM_CLASS) < + name = <"RM_ATTRIBUTE_VISIBILITY"> + ancestors = <"Any"> + properties = < + ["alias"] = (P_BMM_SINGLE_PROPERTY) < + name = <"alias"> + type = <"Terminology_code"> + > + ["visibility"] = (P_BMM_SINGLE_PROPERTY) < + name = <"visibility"> + type = <"VISIBILITY_TYPE"> + > + > + > + + ["VISIBILITY_TYPE"] = (P_BMM_ENUMERATION_STRING) < + name = <"VISIBILITY_TYPE"> + ancestors = <"String"> + item_names = <"hide", "show"> + > + + ------------------------------------------------------ + -- profile package + ------------------------------------------------------ + + ["AOM_PROFILE"] = (P_BMM_CLASS) < + name = <"AOM_PROFILE"> + ancestors = <"Any"> + properties = < + ["profile_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"profile_name"> + type = <"String"> + is_mandatory = + > + ["aom_rm_type_substitutions"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_rm_type_substitutions"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["aom_lifecycle_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_lifecycle_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["aom_rm_type_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_rm_type_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "AOM_TYPE_MAPPING"> + > + > + ["rm_primitive_type_equivalences"] = (P_BMM_GENERIC_PROPERTY) < + name = <"rm_primitive_type_equivalences"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ["AOM_TYPE_MAPPING"] = (P_BMM_CLASS) < + name = <"AOM_TYPE_MAPPING"> + ancestors = <"Any"> + properties = < + ["source_class_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"source_class_name"> + type = <"String"> + is_mandatory = + > + ["target_class_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_class_name"> + type = <"String"> + is_mandatory = + > + ["property_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"property_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "AOM_PROPERTY_MAPPING"> + > + > + > + > + ["AOM_PROPERTY_MAPPING"] = (P_BMM_CLASS) < + name = <"AOM_PROPERTY_MAPPING"> + ancestors = <"Any"> + properties = < + ["source_property"] = (P_BMM_SINGLE_PROPERTY) < + name = <"source_property"> + type = <"String"> + is_mandatory = + > + ["target_property"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_property"> + type = <"String"> + is_mandatory = + > + > + > +> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.3.0/openEHR_am_230.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.3.0/openEHR_am_230.bmm new file mode 100644 index 000000000..9dba0b48f --- /dev/null +++ b/referencemodels/src/main/resources/bmm/openEHR/components/AM/Release-2.3.0/openEHR_am_230.bmm @@ -0,0 +1,1037 @@ +-- +-- component: openEHR BMM Implementation Technology Specification +-- description: openEHR AM component formal expression. This file is an ODIN serialisation of +-- the BMM object meta-model classes found at +-- https://www.openehr.org/releases/LANG/latest/p_bmm.html +-- keywords: reference model, meta-model, archetypes +-- author: Thomas Beale +-- support: https://openehr.atlassian.net/issues/?filter=11117 +-- copyright: Copyright (c) 2021- openEHR Foundation +-- license: Apache 2.0 +-- + +------------------------------------------------------ +-- BMM version on which these schemas are based. +-- Current BMM version can be found as the top version in the specification: +-- https://www.openehr.org/releases/LANG/latest/bmm_persistence.html#_amendment_record +-- +------------------------------------------------------ +bmm_version = <"2.3"> + +------------------------------------------------------ +-- schema identification +-- (schema_id computed as __) +------------------------------------------------------ +rm_publisher = <"openehr"> +schema_name = <"am"> +rm_release = <"2.3.0"> +model_name = <"AOM2"> + +------------------------------------------------------ +-- schema documentation +------------------------------------------------------ +schema_revision = <"2.3.0.1"> +schema_lifecycle_state = <"stable"> +schema_description = <"openEHR Release 2.3.0 AM schema"> +schema_author = <"Thomas Beale "> + +------------------------------------------------------ +-- inclusions +------------------------------------------------------ +includes = < + ["1"] = < + id = <"openehr_base_1.1.0"> + > + ["2"] = < + id = <"openehr_expression_1.0.4"> + > +> + +------------------------------------------------------ +-- packages - software structure +------------------------------------------------------ + +packages = < + ["org.openehr.am.aom2"] = < + name = <"org.openehr.am.aom2"> + packages = < + ["definitions"] = < + name = <"definitions"> + classes = <"ADL_CODE_DEFINITIONS"> + > + ["archetype"] = < + name = <"archetype"> + classes = <"AUTHORED_ARCHETYPE", "ARCHETYPE", "TEMPLATE", "TEMPLATE_OVERLAY", "OPERATIONAL_TEMPLATE"> + > + ["constraint_model"] = < + name = <"constraint_model"> + packages = < + ["definition"] = < + name = <"primitive"> + classes = <"C_REAL", "C_ORDERED", "C_BOOLEAN", "C_STRING", "C_INTEGER", "C_TERMINOLOGY_CODE", "CONSTRAINT_STATUS", + "C_TEMPORAL", "C_TIME", "C_DATE", "C_DATE_TIME", "C_DURATION" + > + > + > + classes = <"C_COMPLEX_OBJECT", "C_PRIMITIVE_OBJECT", "C_PRIMITIVE_TUPLE", "C_SECOND_ORDER", + "C_ATTRIBUTE_TUPLE", "C_ATTRIBUTE", "ARCHETYPE_SLOT", "C_OBJECT", "C_COMPLEX_OBJECT_PROXY", "C_DEFINED_OBJECT", + "SIBLING_ORDER", "C_ARCHETYPE_ROOT", "ARCHETYPE_CONSTRAINT" + > + > + ["rm_overlay"] = < + name = <"rm_overlay"> + classes = <"RM_OVERLAY", "RM_ATTRIBUTE_VISIBILITY", "VISIBILITY_TYPE"> + > + ["profile"] = < + name = <"profile"> + classes = <"AOM_PROFILE", "AOM_TYPE_MAPPING", "AOM_PROPERTY_MAPPING"> + > + ["terminology"] = < + name = <"terminology"> + classes = <"ARCHETYPE_TERM", "ARCHETYPE_TERMINOLOGY", "TERMINOLOGY_RELATION", "VALUE_SET"> + > + ["persistence"] = < + name = <"persistence"> + > + > + > +> + +------------------------------------------------------ +-- classes +------------------------------------------------------ + +class_definitions = < + + ------------------------------------------------------ + -- definitions package + ------------------------------------------------------ + + ["ADL_CODE_DEFINITIONS"] = (P_BMM_CLASS) < + name = <"ADL_CODE_DEFINITIONS"> + ancestors = <"Any"> + > + + ------------------------------------------------------ + -- archetype package + ------------------------------------------------------ + + ["ARCHETYPE_HRID"] = < + name = <"ARCHETYPE_HRID"> + ancestors = <"Any"> + properties = < + ["namespace"] = (P_BMM_SINGLE_PROPERTY) < + name = <"namespace"> + type = <"String"> + > + ["rm_publisher"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_publisher"> + type = <"String"> + is_mandatory = + > + ["rm_package"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_package"> + type = <"String"> + is_mandatory = + > + ["rm_class"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_class"> + type = <"String"> + is_mandatory = + > + ["concept_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"concept_id"> + type = <"String"> + is_mandatory = + > + ["release_version"] = (P_BMM_SINGLE_PROPERTY) < + name = <"release_version"> + type = <"String"> + is_mandatory = + > + ["version_status"] = (P_BMM_SINGLE_PROPERTY) < + name = <"version_status"> + type = <"VERSION_STATUS"> + is_mandatory = + > + ["build_count"] = (P_BMM_SINGLE_PROPERTY) < + name = <"build_count"> + type = <"String"> + is_mandatory = + > + > + > + + ["ARCHETYPE"] = (P_BMM_CLASS) < + name = <"ARCHETYPE"> + properties = < + ["parent_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"parent_archetype_id"> + type = <"String"> + > + ["archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"archetype_id"> + type = <"ARCHETYPE_HRID"> + is_mandatory = + > + ["rules"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rules"> + type = <"STATEMENT"> + > + ["is_differential"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_differential"> + type = <"Boolean"> + is_mandatory = + > + ["terminology"] = (P_BMM_SINGLE_PROPERTY) < + name = <"terminology"> + type = <"ARCHETYPE_TERMINOLOGY"> + is_mandatory = + > + ["definition"] = (P_BMM_SINGLE_PROPERTY) < + name = <"definition"> + type = <"C_COMPLEX_OBJECT"> + is_mandatory = + > + > + > + ["AUTHORED_ARCHETYPE"] = (P_BMM_CLASS) < + name = <"AUTHORED_ARCHETYPE"> + ancestors = <"ARCHETYPE", "AUTHORED_RESOURCE"> + properties = < + ["adl_version"] = (P_BMM_SINGLE_PROPERTY) < + name = <"adl_version"> + type = <"String"> + > + ["rm_release"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_release"> + type = <"String"> + is_mandatory = + > + ["is_generated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_generated"> + type = <"Boolean"> + is_mandatory = + > + ["build_uid"] = (P_BMM_SINGLE_PROPERTY) < + name = <"build_uid"> + type = <"UUID"> + is_mandatory = + > + ["other_meta_data"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_meta_data"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + is_mandatory = + > + > + > + + ["OPERATIONAL_TEMPLATE"] = (P_BMM_CLASS) < + name = <"OPERATIONAL_TEMPLATE"> + ancestors = <"AUTHORED_ARCHETYPE"> + properties = < + ["component_terminologies"] = (P_BMM_GENERIC_PROPERTY) < + name = <"component_terminologies"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERMINOLOGY"> + > + > + ["terminology_extracts"] = (P_BMM_GENERIC_PROPERTY) < + name = <"terminology_extracts"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERMINOLOGY"> + > + > + > + > + ["TEMPLATE"] = (P_BMM_CLASS) < + name = <"TEMPLATE"> + ancestors = <"AUTHORED_ARCHETYPE"> + properties = < + ["template_overlays"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"template_overlays"> + type_def = < + container_type = <"List"> + type = <"TEMPLATE_OVERLAY"> + > + is_mandatory = + > + > + > + ["TEMPLATE_OVERLAY"] = (P_BMM_CLASS) < + name = <"TEMPLATE_OVERLAY"> + ancestors = <"ARCHETYPE"> + > + + ------------------------------------------------------ + -- terminology package + ------------------------------------------------------ + + ["ARCHETYPE_TERMINOLOGY"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_TERMINOLOGY"> + ancestors = <"Any"> + properties = < + ["term_bindings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"term_bindings"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "Uri"> + > + > + > + > + ["original_language"] = (P_BMM_SINGLE_PROPERTY) < + name = <"original_language"> + type = <"String"> + is_mandatory = + > + ["value_sets"] = (P_BMM_GENERIC_PROPERTY) < + name = <"value_sets"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "VALUE_SET"> + > + > + ["concept_code"] = (P_BMM_SINGLE_PROPERTY) < + name = <"concept_code"> + type = <"String"> + is_mandatory = + > + ["terminology_extracts"] = (P_BMM_GENERIC_PROPERTY) < + name = <"terminology_extracts"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERM"> + > + > + > + > + ["term_definitions"] = (P_BMM_GENERIC_PROPERTY) < + name = <"term_definitions"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "ARCHETYPE_TERM"> + > + > + > + is_mandatory = + > + ["is_differential"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_differential"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["TERMINOLOGY_RELATION"] = (P_BMM_CLASS) < + name = <"TERMINOLOGY_RELATION"> + ancestors = <"Any"> + properties = < + ["id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"id"> + type = <"String"> + is_mandatory = + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"String"> + > + is_mandatory = + > + > + > + ["VALUE_SET"] = (P_BMM_CLASS) < + name = <"VALUE_SET"> + ancestors = <"TERMINOLOGY_RELATION"> + > + + ["ARCHETYPE_TERM"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_TERM"> + ancestors = <"Any"> + properties = < + ["code"] = (P_BMM_SINGLE_PROPERTY) < + name = <"code"> + type = <"String"> + is_mandatory = + > + ["text"] = (P_BMM_SINGLE_PROPERTY) < + name = <"text"> + type = <"String"> + is_mandatory = + > + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"String"> + is_mandatory = + > + ["other_items"] = (P_BMM_GENERIC_PROPERTY) < + name = <"other_items"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ------------------------------------------------------ + -- constraint_model package + ------------------------------------------------------ + + ["ARCHETYPE_CONSTRAINT"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_CONSTRAINT"> + ancestors = <"Any"> + is_abstract = + properties = < + ["parent"] = (P_BMM_SINGLE_PROPERTY) < + name = <"parent"> + type = <"ARCHETYPE_CONSTRAINT"> + > + ["soc_parent"] = (P_BMM_SINGLE_PROPERTY) < + name = <"soc_parent"> + type = <"C_SECOND_ORDER"> + > + > + > + ["C_ATTRIBUTE"] = (P_BMM_CLASS) < + name = <"C_ATTRIBUTE"> + ancestors = <"ARCHETYPE_CONSTRAINT"> + properties = < + ["rm_attribute_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_attribute_name"> + type = <"String"> + is_mandatory = + > + ["existence"] = (P_BMM_SINGLE_PROPERTY) < + name = <"existence"> + type = <"Multiplicity_interval"> + > + ["children"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"children"> + type_def = < + container_type = <"List"> + type = <"C_OBJECT"> + > + > + ["differential_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"differential_path"> + type = <"String"> + > + ["cardinality"] = (P_BMM_SINGLE_PROPERTY) < + name = <"cardinality"> + type = <"Cardinality"> + > + ["is_multiple"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_multiple"> + type = <"Boolean"> + is_mandatory = + > + > + > + + ["C_OBJECT"] = (P_BMM_CLASS) < + name = <"C_OBJECT"> + ancestors = <"ARCHETYPE_CONSTRAINT"> + properties = < + ["rm_type_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"rm_type_name"> + type = <"String"> + is_mandatory = + > + ["occurrences"] = (P_BMM_SINGLE_PROPERTY) < + name = <"occurrences"> + type = <"Multiplicity_interval"> + > + ["node_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"node_id"> + type = <"String"> + is_mandatory = + > + ["is_deprecated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_deprecated"> + type = <"Boolean"> + > + ["sibling_order"] = (P_BMM_SINGLE_PROPERTY) < + name = <"sibling_order"> + type = <"SIBLING_ORDER"> + > + > + is_abstract = + > + + ["SIBLING_ORDER"] = (P_BMM_CLASS) < + name = <"SIBLING_ORDER"> + ancestors = <"Any"> + properties = < + ["sibling_node_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"sibling_node_id"> + type = <"String"> + is_mandatory = + > + ["is_before"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_before"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["C_DEFINED_OBJECT"] = (P_BMM_CLASS) < + name = <"C_DEFINED_OBJECT"> + ancestors = <"C_OBJECT"> + properties = < + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Any"> + > + > + is_abstract = + > + ["C_COMPLEX_OBJECT"] = (P_BMM_CLASS) < + name = <"C_COMPLEX_OBJECT"> + ancestors = <"C_DEFINED_OBJECT"> + properties = < + ["attributes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"attributes"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE"> + > + > + ["attribute_tuples"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"attribute_tuples"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE_TUPLE"> + > + > + > + > + + ["C_ARCHETYPE_ROOT"] = (P_BMM_CLASS) < + name = <"C_ARCHETYPE_ROOT"> + ancestors = <"C_COMPLEX_OBJECT"> + properties = < + ["archetype_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"archetype_ref"> + type = <"String"> + is_mandatory = + > + > + > + ["ARCHETYPE_SLOT"] = (P_BMM_CLASS) < + name = <"ARCHETYPE_SLOT"> + ancestors = <"C_OBJECT"> + properties = < + ["excludes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"excludes"> + type_def = < + container_type = <"List"> + type = <"ASSERTION"> + > + > + ["includes"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"includes"> + type_def = < + container_type = <"List"> + type = <"ASSERTION"> + > + > + ["closed"] = (P_BMM_SINGLE_PROPERTY) < + name = <"closed"> + type = <"Boolean"> + is_mandatory = + > + > + > + ["C_COMPLEX_OBJECT_PROXY"] = (P_BMM_CLASS) < + name = <"C_COMPLEX_OBJECT_PROXY"> + ancestors = <"C_OBJECT"> + properties = < + ["target_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_path"> + type = <"String"> + is_mandatory = + > + > + > + + ["C_PRIMITIVE_OBJECT"] = (P_BMM_CLASS) < + name = <"C_PRIMITIVE_OBJECT"> + ancestors = <"C_DEFINED_OBJECT"> + properties = < + ["is_enumerated_type_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_enumerated_type_constraint"> + type = <"Boolean"> + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Any"> + > + ["constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"constraint"> + type = <"Any"> + is_mandatory = + > + > + is_abstract = + > + + ["C_SECOND_ORDER"] = (P_BMM_CLASS) < + name = <"C_SECOND_ORDER"> + ancestors = <"Any"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"ARCHETYPE_CONSTRAINT"> + > + is_mandatory = + > + > + > + ["C_ATTRIBUTE_TUPLE"] = (P_BMM_CLASS) < + name = <"C_ATTRIBUTE_TUPLE"> + ancestors = <"C_SECOND_ORDER"> + properties = < + ["tuples"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"tuples"> + type_def = < + container_type = <"List"> + type = <"C_PRIMITIVE_TUPLE"> + > + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"C_ATTRIBUTE"> + > + is_mandatory = + > + > + > + ["C_PRIMITIVE_TUPLE"] = (P_BMM_CLASS) < + name = <"C_PRIMITIVE_TUPLE"> + ancestors = <"C_SECOND_ORDER"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"C_PRIMITIVE_OBJECT"> + > + is_mandatory = + > + > + > + + + ------------------------------------------------------ + -- constraint_model.primitive package + ------------------------------------------------------ + + ["C_BOOLEAN"] = (P_BMM_CLASS) < + name = <"C_BOOLEAN"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type = <"Boolean"> + > + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Boolean"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Boolean"> + > + > + > + + ["C_STRING"] = (P_BMM_CLASS) < + name = <"C_STRING"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type = <"String"> + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"String"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"String"> + > + > + > + ["C_TERMINOLOGY_CODE"] = (P_BMM_CLASS) < + name = <"C_TERMINOLOGY_CODE"> + ancestors = <"C_PRIMITIVE_OBJECT"> + properties = < + ["constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"constraint"> + type = <"String"> + is_mandatory = + > + ["constraint_status"] = (P_BMM_SINGLE_PROPERTY) < + name = <"constraint_status"> + type = <"CONSTRAINT_STATUS"> + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Terminology_code"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Terminology_code"> + > + > + > + + ["CONSTRAINT_STATUS"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"CONSTRAINT_STATUS"> + ancestors = <"Integer"> + item_names = <"required", "extensible", "preferred", "example"> + item_values = <0, 1, 2, 3> + > + + ["C_ORDERED"] = (P_BMM_CLASS) < + name = <"C_ORDERED"> + ancestors = <"C_PRIMITIVE_OBJECT"> + is_abstract = + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Ordered"> + > + > + > + > + > + ["C_INTEGER"] = (P_BMM_CLASS) < + name = <"C_INTEGER"> + ancestors = <"C_ORDERED"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Integer"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Integer"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Integer"> + > + > + > + ["C_REAL"] = (P_BMM_CLASS) < + name = <"C_REAL"> + ancestors = <"C_ORDERED"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Real"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Real"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Real"> + > + > + > + + ["C_TEMPORAL"] = (P_BMM_CLASS) < + name = <"C_TEMPORAL"> + ancestors = <"C_ORDERED"> + properties = < + ["pattern_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"pattern_constraint"> + type = <"String"> + > + > + is_abstract = + > + + ["C_DATE"] = (P_BMM_CLASS) < + name = <"C_DATE"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Date"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Date"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Date"> + > + > + > + ["C_TIME"] = (P_BMM_CLASS) < + name = <"C_TIME"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Time"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Time"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Time"> + > + > + > + ["C_DATE_TIME"] = (P_BMM_CLASS) < + name = <"C_DATE_TIME"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Date_time"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Date_time"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Date_time"> + > + > + > + ["C_DURATION"] = (P_BMM_CLASS) < + name = <"C_DURATION"> + ancestors = <"C_TEMPORAL"> + properties = < + ["constraint"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constraint"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Duration"> + > + > + is_mandatory = + > + ["assumed_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"assumed_value"> + type = <"Duration"> + > + ["default_value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"default_value"> + type = <"Duration"> + > + > + > + + ------------------------------------------------------ + -- rm_overlay package + ------------------------------------------------------ + + ["RM_OVERLAY"] = (P_BMM_CLASS) < + name = <"RM_OVERLAY"> + ancestors = <"Any"> + properties = < + ["rm_visibility"] = (P_BMM_GENERIC_PROPERTY) < + name = <"rm_visibility"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "RM_ATTRIBUTE_VISIBILITY"> + > + > + > + > + + ["RM_ATTRIBUTE_VISIBILITY"] = (P_BMM_CLASS) < + name = <"RM_ATTRIBUTE_VISIBILITY"> + ancestors = <"Any"> + properties = < + ["alias"] = (P_BMM_SINGLE_PROPERTY) < + name = <"alias"> + type = <"Terminology_code"> + > + ["visibility"] = (P_BMM_SINGLE_PROPERTY) < + name = <"visibility"> + type = <"VISIBILITY_TYPE"> + > + > + > + + ["VISIBILITY_TYPE"] = (P_BMM_ENUMERATION_STRING) < + name = <"VISIBILITY_TYPE"> + ancestors = <"String"> + item_names = <"hide", "show"> + > + + ------------------------------------------------------ + -- profile package + ------------------------------------------------------ + + ["AOM_PROFILE"] = (P_BMM_CLASS) < + name = <"AOM_PROFILE"> + ancestors = <"Any"> + properties = < + ["profile_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"profile_name"> + type = <"String"> + is_mandatory = + > + ["aom_rm_type_substitutions"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_rm_type_substitutions"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["aom_lifecycle_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_lifecycle_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["aom_rm_type_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"aom_rm_type_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "AOM_TYPE_MAPPING"> + > + > + ["rm_primitive_type_equivalences"] = (P_BMM_GENERIC_PROPERTY) < + name = <"rm_primitive_type_equivalences"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + + ["AOM_TYPE_MAPPING"] = (P_BMM_CLASS) < + name = <"AOM_TYPE_MAPPING"> + ancestors = <"Any"> + properties = < + ["source_class_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"source_class_name"> + type = <"String"> + is_mandatory = + > + ["target_class_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_class_name"> + type = <"String"> + is_mandatory = + > + ["property_mappings"] = (P_BMM_GENERIC_PROPERTY) < + name = <"property_mappings"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "AOM_PROPERTY_MAPPING"> + > + > + > + > + ["AOM_PROPERTY_MAPPING"] = (P_BMM_CLASS) < + name = <"AOM_PROPERTY_MAPPING"> + ancestors = <"Any"> + properties = < + ["source_property"] = (P_BMM_SINGLE_PROPERTY) < + name = <"source_property"> + type = <"String"> + is_mandatory = + > + ["target_property"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target_property"> + type = <"String"> + is_mandatory = + > + > + > +> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.0/openehr_base_100.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.0/openehr_base_100.bmm index ef646101d..bfe97b1e7 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.0/openehr_base_100.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.0/openehr_base_100.bmm @@ -70,7 +70,7 @@ packages = < ["identification"] = < name = <"identification"> classes = <"OBJECT_REF", "OBJECT_ID", "UID", "LOCATABLE_REF", "PARTY_REF", "TERMINOLOGY_ID", - "UID_BASED_ID", "GENERIC_ID", "ARCHETYPE_ID", "ARCHETYPE_HRID", "TEMPLATE_ID", "OBJECT_VERSION_ID", + "UID_BASED_ID", "GENERIC_ID", "ARCHETYPE_ID", "TEMPLATE_ID", "OBJECT_VERSION_ID", "HIER_OBJECT_ID", "VERSION_TREE_ID", "INTERNET_ID", "UUID", "ISO_OID" > > @@ -148,12 +148,14 @@ primitive_types = < ["Iso8601_type"] = < name = <"Iso8601_type"> + is_abstract = documentation = <"Parent of ISO8601 types."> - ancestors = <"Any"> + ancestors = <"Ordered"> properties = < ["value"] = (P_BMM_SINGLE_PROPERTY) < name = <"value"> type = <"String"> + is_mandatory = > > > @@ -244,7 +246,6 @@ primitive_types = < ["uri"] = (P_BMM_SINGLE_PROPERTY) < name = <"uri"> type = <"Uri"> - is_mandatory = > > > @@ -444,11 +445,6 @@ class_definitions = < ancestors = <"OBJECT_ID"> > - ["ARCHETYPE_HRID"] = < - name = <"ARCHETYPE_HRID"> - ancestors = <"OBJECT_ID"> - > - ["TEMPLATE_ID"] = < name = <"TEMPLATE_ID"> ancestors = <"OBJECT_ID"> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.4/openehr_base_104.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.4/openehr_base_104.bmm new file mode 100644 index 000000000..0f91aafbd --- /dev/null +++ b/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.4/openehr_base_104.bmm @@ -0,0 +1,498 @@ +-- +-- component: openEHR Reference Model (RM) +-- description: openEHR Reference Model schema. This file format is based on the BMM specification +-- http://www.openehr.org/releases/BASE/latest/docs/bmm/bmm.html +-- keywords: reference model, meta-model, archetypes +-- author: Thomas Beale +-- support: https://openehr.atlassian.net/projects/SPECPR +-- copyright: Copyright (c) 2016 openEHR Foundation +-- license: Apache 2.0 License +-- + +------------------------------------------------------ +-- BMM version on which these schemas are based. +------------------------------------------------------ +bmm_version = <"2.3"> + +------------------------------------------------------ +-- schema identification +-- (schema_id computed as __) +------------------------------------------------------ +rm_publisher = <"openehr"> +schema_name = <"base"> +rm_release = <"1.0.4"> + +------------------------------------------------------ +-- schema documentation +------------------------------------------------------ +schema_revision = <"1.0.4.1"> +schema_lifecycle_state = <"stable"> +schema_description = <"openEHR Release 1.0.4 BASE model foundation and base types packages"> +schema_author = <"Thomas Beale "> + +------------------------------------------------------ +-- packages +------------------------------------------------------ +packages = < + ["org.openehr.base.foundation_types"] = < + name = <"org.openehr.base.foundation_types"> + packages = < + ["base_types"] = < + name = <"base_types"> + classes = <"Any", "Ordered", "Numeric", "Ordered_Numeric", "Octet", "Byte", "Boolean", "Integer", + "Integer64", "Real", "Double", "Character", "String", "Uri", "Terminology_code", "Terminology_term" + > + > + ["structures"] = < + name = <"structures"> + classes = <"List", "Array", "Set", "Hash", "Aggregate"> + > + ["interval"] = < + name = <"interval"> + classes = <"Interval"> + > + ["time"] = < + name = <"iso8601_time"> + classes = < + "Date", "Time", "Date_time", "Duration", + "Iso8601_type", "Iso8601_date", "Iso8601_time", "Iso8601_date_time", "Iso8601_duration" + > + > + > + > + ["org.openehr.base.base_types"] = < + name = <"org.openehr.base.base_types"> + packages = < + ["definitions"] = < + name = <"definitions"> + classes = <"VALIDITY_KIND"> + > + ["identification"] = < + name = <"identification"> + classes = <"OBJECT_REF", "OBJECT_ID", "UID", "LOCATABLE_REF", "PARTY_REF", "TERMINOLOGY_ID", + "UID_BASED_ID", "GENERIC_ID", "ARCHETYPE_ID", "ARCHETYPE_HRID", "TEMPLATE_ID", "OBJECT_VERSION_ID", + "HIER_OBJECT_ID", "VERSION_TREE_ID", "INTERNET_ID", "UUID", "ISO_OID" + > + > + > + > +> + +------------------------------------------------------ +-- primitive types +------------------------------------------------------ + +primitive_types = < + ["Any"] = < + name = <"Any"> + is_abstract = + > + ["Ordered"] = < + name = <"Ordered"> + is_abstract = + documentation = <"Ancestor of types with total order relation defined, i.e. '<' and '='."> + ancestors = <"Any"> + > + ["Numeric"] = < + name = <"Numeric"> + is_abstract = + documentation = <"Ancestor of numeric types."> + ancestors = <"Any"> + > + ["Ordered_Numeric"] = < + name = <"Ordered_Numeric"> + is_abstract = + documentation = <"Ancestor of ordered numeric types."> + ancestors = <"Numeric", "Ordered"> + > + ["Byte"] = < + name = <"Byte"> + ancestors = <"Ordered"> + > + ["Octet"] = < + name = <"Octet"> + ancestors = <"Ordered"> + > + ["Boolean"] = < + name = <"Boolean"> + ancestors = <"Any"> + > + ["Integer"] = < + name = <"Integer"> + ancestors = <"Ordered_Numeric"> + > + ["Integer64"] = < + name = <"Integer64"> + ancestors = <"Ordered_Numeric"> + > + ["Real"] = < + name = <"Real"> + ancestors = <"Ordered_Numeric"> + > + ["Double"] = < + name = <"Double"> + ancestors = <"Ordered_Numeric"> + > + ["Character"] = < + name = <"Character"> + ancestors = <"Ordered"> + > + ["String"] = < + name = <"String"> + ancestors = <"Ordered"> + > + ["Uri"] = < + name = <"Uri"> + ancestors = <"String"> + > + + ["Iso8601_type"] = < + name = <"Iso8601_type"> + documentation = <"Parent of ISO8601 types."> + is_abstract = + ancestors = <"Ordered"> + properties = < + ["value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"value"> + type = <"String"> + is_mandatory = + > + > + > + + ["Date"] = < + name = <"Date"> + documentation = <"Date type based on IS8601 representation."> + ancestors = <"Iso8601_type"> + > + + ["Time"] = < + name = <"Time"> + documentation = <"Time type based on IS8601 representation."> + ancestors = <"Iso8601_type"> + > + + ["Date_time"] = < + name = <"Date_time"> + documentation = <"Date Time type based on IS8601 representation."> + ancestors = <"Iso8601_type"> + > + + ["Duration"] = < + name = <"Duration"> + documentation = <"Duration type based on IS8601 representation."> + ancestors = <"Iso8601_type"> + > + + ["Iso8601_date"] = < + name = <"Iso8601_date"> + documentation = <"Date type based on IS8601 representation."> + ancestors = <"Iso8601_type"> + > + + ["Iso8601_time"] = < + name = <"Iso8601_time"> + documentation = <"Time type based on IS8601 representation."> + ancestors = <"Iso8601_type"> + > + + ["Iso8601_date_time"] = < + name = <"Iso8601_date_time"> + documentation = <"Date Time type based on IS8601 representation."> + ancestors = <"Iso8601_type"> + > + + ["Iso8601_duration"] = < + name = <"Iso8601_duration"> + documentation = <"Duration type based on IS8601 representation."> + ancestors = <"Iso8601_type"> + > + + ["Terminology_term"] = < + name = <"Terminology_term"> + ancestors = <"Any"> + properties = < + ["text"] = (P_BMM_SINGLE_PROPERTY) < + name = <"text"> + type = <"String"> + is_mandatory = + > + ["concept"] = (P_BMM_SINGLE_PROPERTY) < + name = <"concept"> + type = <"Terminology_code"> + is_mandatory = + > + > + > + + ["Terminology_code"] = < + name = <"Terminology_code"> + ancestors = <"Any"> + properties = < + ["terminology_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"terminology_id"> + type = <"String"> + is_mandatory = + > + ["terminology_version"] = (P_BMM_SINGLE_PROPERTY) < + name = <"terminology_version"> + type = <"String"> + > + ["code_string"] = (P_BMM_SINGLE_PROPERTY) < + name = <"code_string"> + type = <"String"> + is_mandatory = + > + ["uri"] = (P_BMM_SINGLE_PROPERTY) < + name = <"uri"> + type = <"Uri"> + > + > + > + + ["List"] = < + name = <"List"> + ancestors = <"Aggregate"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + > + > + > + + ["Array"] = < + name = <"Array"> + ancestors = <"Aggregate"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + > + > + > + + ["Set"] = < + name = <"Set"> + ancestors = <"Aggregate"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + > + > + > + + ["Interval"] = < + name = <"Interval"> + documentation = <"Type defining an interval of any ordered type."> + ancestors = <"Any"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"Ordered"> + > + > + properties = < + ["lower"] = (P_BMM_SINGLE_PROPERTY_OPEN) < + name = <"lower"> + type = <"T"> + > + ["upper"] = (P_BMM_SINGLE_PROPERTY_OPEN) < + name = <"upper"> + type = <"T"> + > + ["lower_unbounded"] = (P_BMM_SINGLE_PROPERTY) < + name = <"lower_unbounded"> + type = <"Boolean"> + is_mandatory = + > + ["upper_unbounded"] = (P_BMM_SINGLE_PROPERTY) < + name = <"upper_unbounded"> + type = <"Boolean"> + is_mandatory = + > + ["lower_included"] = (P_BMM_SINGLE_PROPERTY) < + name = <"lower_included"> + type = <"Boolean"> + is_mandatory = + > + ["upper_included"] = (P_BMM_SINGLE_PROPERTY) < + name = <"upper_included"> + type = <"Boolean"> + is_mandatory = + > + > + > + + ["Hash"] = < + name = <"Hash"> + documentation = <"Type defining Hash table / hash map structure, whose type parameters V and K represent a value type and an Ordered key type respectively."> + ancestors = <"Any"> + generic_parameter_defs = < + ["K"] = < + name = <"K"> + conforms_to_type = <"Ordered"> + > + ["V"] = < + name = <"V"> + > + > + > + + ["Aggregate"] = < + name = <"Aggregate"> + ancestors = <"Any"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + > + > + is_abstract = + > + +> + +------------------------------------------------------ +-- classes +------------------------------------------------------ + +class_definitions = < + + ------------------------------------------------------------ + ------------------ base.base_types.identification --------------- + ------------------------------------------------------------ + + ["OBJECT_REF"] = < + name = <"OBJECT_REF"> + ancestors = <"Any"> + properties = < + ["id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"id"> + type = <"OBJECT_ID"> + is_mandatory = + > + ["namespace"] = (P_BMM_SINGLE_PROPERTY) < + name = <"namespace"> + type = <"String"> + > + ["type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type"> + type = <"String"> + is_mandatory = + > + > + > + + ["LOCATABLE_REF"] = < + name = <"LOCATABLE_REF"> + ancestors = <"OBJECT_REF"> + properties = < + ["id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"id"> + type = <"UID_BASED_ID"> + is_mandatory = + > + ["path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"path"> + type = <"String"> + is_im_infrastructure = + > + > + > + + ["PARTY_REF"] = < + name = <"PARTY_REF"> + ancestors = <"OBJECT_REF"> + > + + ["OBJECT_ID"] = < + name = <"OBJECT_ID"> + is_abstract = + ancestors = <"Any"> + properties = < + ["value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"value"> + type = <"String"> + is_mandatory = + > + > + > + + ["TERMINOLOGY_ID"] = < + name = <"TERMINOLOGY_ID"> + ancestors = <"OBJECT_ID"> + > + + ["UID_BASED_ID"] = < + name = <"UID_BASED_ID"> + ancestors = <"OBJECT_ID"> + is_abstract = + > + + ["GENERIC_ID"] = < + name = <"GENERIC_ID"> + ancestors = <"OBJECT_ID"> + properties = < + ["scheme"] = (P_BMM_SINGLE_PROPERTY) < + name = <"scheme"> + type = <"String"> + is_mandatory = + > + > + > + + ["ARCHETYPE_ID"] = < + name = <"ARCHETYPE_ID"> + ancestors = <"OBJECT_ID"> + > + + ["TEMPLATE_ID"] = < + name = <"TEMPLATE_ID"> + ancestors = <"OBJECT_ID"> + > + + ["OBJECT_VERSION_ID"] = < + name = <"OBJECT_VERSION_ID"> + ancestors = <"UID_BASED_ID"> + > + + ["HIER_OBJECT_ID"] = < + name = <"HIER_OBJECT_ID"> + ancestors = <"UID_BASED_ID"> + > + + ["VERSION_TREE_ID"] = < + name = <"VERSION_TREE_ID"> + ancestors = <"Any"> + > + + ["UID"] = < + name = <"UID"> + is_abstract = + ancestors = <"Any"> + > + + ["INTERNET_ID"] = < + name = <"INTERNET_ID"> + ancestors = <"UID"> + > + + ["UUID"] = < + name = <"UUID"> + ancestors = <"UID"> + > + + ["ISO_OID"] = < + name = <"ISO_OID"> + ancestors = <"UID"> + > + + -- + --------------------- base.base_types.definitions ------------------ + -- + + ["VALIDITY_KIND"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"VALIDITY_KIND"> + ancestors = <"Integer"> + item_names = <"mandatory", "optional", "prohibited"> + > + +> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.4/openehr_expression_104.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.4/openehr_expression_104.bmm new file mode 100644 index 000000000..316672b29 --- /dev/null +++ b/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.0.4/openehr_expression_104.bmm @@ -0,0 +1,507 @@ +-- +-- component: openEHR Reference Model (RM) +-- description: openEHR Reference Model schema. This file format is based on the BMM specification +-- http://www.openehr.org/releases/BASE/latest/docs/bmm/bmm.html +-- keywords: reference model, meta-model, archetypes +-- author: Thomas Beale +-- support: https://openehr.atlassian.net/projects/SPECPR +-- copyright: Copyright (c) 2016 openEHR Foundation +-- license: Apache 2.0 License +-- + +------------------------------------------------------ +-- BMM version on which these schemas are based. +------------------------------------------------------ +bmm_version = <"2.3"> + +------------------------------------------------------ +-- schema identification +-- (schema_id computed as __) +------------------------------------------------------ +rm_publisher = <"openehr"> +schema_name = <"expression"> +rm_release = <"1.0.4"> + +------------------------------------------------------ +-- schema documentation +------------------------------------------------------ +schema_revision = <"1.0.4.1"> +schema_lifecycle_state = <"development"> +schema_description = <"openEHR Release 1.0.4 BASE model Expression package"> +schema_author = <"Thomas Beale "> + +------------------------------------------------------ +-- inclusions +------------------------------------------------------ +includes = < + ["1"] = < + id = <"openehr_base_1.0.4"> + > +> + +------------------------------------------------------ +-- packages +------------------------------------------------------ +packages = < + ["org.openehr.base"] = < + name = <"org.openehr.base"> + packages = < + ["expression"] = < + name = <"expression"> + classes = <"STATEMENT", "VARIABLE_DECLARATION", "ASSIGNMENT", "ASSERTION", "EXPRESSION", "EXPR_VALUE", + "EXTERNAL_QUERY", "EXPR_VARIABLE_REF", "EXPR_LEAF", "EXPR_OPERATOR", "EXPR_LITERAL", "EXPR_UNARY_OPERATOR", + "EXPR_BINARY_OPERATOR", "EXPR_VALUE_REF", "EXPR_FUNCTION", + "BUILTIN_FUNCTIONS", "BUILTIN_OPERATORS", "FUNCTION_DEF", "FUNCTION_DEF_BUILTIN", "OPERATOR_DEF_BUILTIN", "OPERATOR_DEF" + > + packages = < + ["types"] = < + name = <"types"> + classes = <"EXPR_TYPE_DEF", + "TYPE_DEF_BOOLEAN", "TYPE_DEF_INTEGER", "TYPE_DEF_REAL", + "TYPE_DEF_DATE", "TYPE_DEF_DATE_TIME", "TYPE_DEF_TIME", "TYPE_DEF_DURATION", + "TYPE_DEF_STRING", "TYPE_DEF_URI", "TYPE_DEF_TERMINOLOGY_CODE", "TYPE_DEF_OBJECT_REF" + > + > + > + > + > + > +> + +------------------------------------------------------ +-- classes +------------------------------------------------------ + +class_definitions = < + + ------------------------------------------------------------ + ------------------ base.expression --------------- + ------------------------------------------------------------ + + ["STATEMENT"] = < + name = <"STATEMENT"> + ancestors = <"Any"> + is_abstract = + > + + ["VARIABLE_DECLARATION"] = < + name = <"VARIABLE_DECLARATION"> + ancestors = <"STATEMENT"> + properties = < + ["name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"name"> + type = <"String"> + is_mandatory = + > + ["type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type"> + type = <"EXPR_TYPE_DEF"> + is_mandatory = + > + > + > + + ["ASSIGNMENT"] = < + name = <"ASSIGNMENT"> + ancestors = <"STATEMENT"> + properties = < + ["source"] = (P_BMM_SINGLE_PROPERTY) < + name = <"source"> + type = <"EXPR_VALUE"> + is_mandatory = + > + ["target"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target"> + type = <"VARIABLE_DECLARATION"> + is_mandatory = + > + > + > + + ["ASSERTION"] = < + name = <"ASSERTION"> + ancestors = <"STATEMENT"> + properties = < + ["tag"] = (P_BMM_SINGLE_PROPERTY) < + name = <"tag"> + type = <"String"> + > + ["string_expression"] = (P_BMM_SINGLE_PROPERTY) < + name = <"string_expression"> + type = <"String"> + > + ["expression"] = (P_BMM_SINGLE_PROPERTY) < + name = <"expression"> + type = <"EXPRESSION"> + is_mandatory = + > + > + > + + ["EXPR_VALUE"] = < + name = <"EXPR_VALUE"> + is_abstract = + > + + ["EXTERNAL_QUERY"] = < + name = <"EXTERNAL_QUERY"> + ancestors = <"EXPR_VALUE"> + properties = < + ["context"] = (P_BMM_SINGLE_PROPERTY) < + name = <"context"> + type = <"String"> + is_mandatory = + > + ["query_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"query_id"> + type = <"String"> + is_mandatory = + > + ["query_args"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"query_args"> + type_def = (P_BMM_CONTAINER_TYPE) < + container_type = <"List"> + type = <"String"> + > + > + > + > + + ["EXPRESSION"] = < + name = <"EXPRESSION"> + ancestors = <"EXPR_VALUE"> + is_abstract = + > + + ["EXPR_LEAF"] = < + name = <"EXPR_LEAF"> + ancestors = <"EXPRESSION"> + is_abstract = + properties = < + ["item"] = (P_BMM_SINGLE_PROPERTY) < + name = <"item"> + type = <"Any"> + > + > + > + + ["EXPR_OPERATOR"] = < + name = <"EXPR_OPERATOR"> + ancestors = <"EXPRESSION"> + is_abstract = + properties = < + ["precedence_overridden"] = (P_BMM_SINGLE_PROPERTY) < + name = <"precedence_overridden"> + type = <"Boolean"> + > + ["symbol"] = (P_BMM_SINGLE_PROPERTY) < + name = <"symbol"> + type = <"String"> + > + ["operator_def"] = (P_BMM_SINGLE_PROPERTY) < + name = <"operator_def"> + type = <"OPERATOR_DEF"> + is_mandatory = + > + > + > + + ["EXPR_UNARY_OPERATOR"] = < + name = <"EXPR_UNARY_OPERATOR"> + ancestors = <"EXPR_OPERATOR"> + properties = < + ["operand"] = (P_BMM_SINGLE_PROPERTY) < + name = <"operand"> + type = <"EXPRESSION"> + is_mandatory = + > + > + > + + ["EXPR_BINARY_OPERATOR"] = < + name = <"EXPR_BINARY_OPERATOR"> + ancestors = <"EXPR_OPERATOR"> + properties = < + ["left_operand"] = (P_BMM_SINGLE_PROPERTY) < + name = <"left_operand"> + type = <"EXPRESSION"> + is_mandatory = + > + ["right_operand"] = (P_BMM_SINGLE_PROPERTY) < + name = <"right_operand"> + type = <"EXPRESSION"> + is_mandatory = + > + > + > + + ["EXPR_LITERAL"] = < + name = <"EXPR_LITERAL"> + ancestors = <"EXPR_LEAF"> + properties = < + ["item"] = (P_BMM_SINGLE_PROPERTY) < + name = <"item"> + type = <"Any"> + is_mandatory = + > + > + > + + ["EXPR_FUNCTION"] = < + name = <"EXPR_FUNCTION"> + ancestors = <"EXPR_LEAF"> + properties = < + ["arguments"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"arguments"> + type_def = (P_BMM_CONTAINER_TYPE) < + container_type = <"List"> + type = <"EXPRESSION"> + > + > + ["function_def"] = (P_BMM_SINGLE_PROPERTY) < + name = <"function_def"> + type = <"FUNCTION_DEF"> + is_mandatory = + > + > + > + + ["EXPR_VARIABLE_REF"] = < + name = <"EXPR_VARIABLE_REF"> + ancestors = <"EXPR_LEAF"> + properties = < + ["item"] = (P_BMM_SINGLE_PROPERTY) < + name = <"item"> + type = <"VARIABLE_DECLARATION"> + is_mandatory = + > + > + > + + ["EXPR_VALUE_REF"] = < + name = <"EXPR_VALUE_REF"> + ancestors = <"EXPR_LEAF"> + is_abstract = + > + + ["EXPR_TYPE_DEF"] = < + name = <"EXPR_TYPE_DEF"> + is_abstract = + properties = < + ["type_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_name"> + type = <"String"> + is_mandatory = + > + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Any"> + is_mandatory = + > + > + > + + ["TYPE_DEF_BOOLEAN"] = < + name = <"TYPE_DEF_BOOLEAN"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Boolean"> + is_mandatory = + > + > + > + + ["TYPE_DEF_INTEGER"] = < + name = <"TYPE_DEF_INTEGER"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Integer"> + is_mandatory = + > + > + > + + ["TYPE_DEF_REAL"] = < + name = <"TYPE_DEF_REAL"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Real"> + is_mandatory = + > + > + > + + ["TYPE_DEF_DATE"] = < + name = <"TYPE_DEF_DATE"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Iso8601_date"> + is_mandatory = + > + > + > + + ["TYPE_DEF_DATE_TIME"] = < + name = <"TYPE_DEF_DATE_TIME"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Iso8601_date_time"> + is_mandatory = + > + > + > + + ["TYPE_DEF_TIME"] = < + name = <"TYPE_DEF_TIME"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Iso8601_time"> + is_mandatory = + > + > + > + + ["TYPE_DEF_DURATION"] = < + name = <"TYPE_DEF_DURATION"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Iso8601_duration"> + is_mandatory = + > + > + > + + ["TYPE_DEF_STRING"] = < + name = <"TYPE_DEF_STRING"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"String"> + is_mandatory = + > + > + > + + ["TYPE_DEF_URI"] = < + name = <"TYPE_DEF_URI"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Uri"> + is_mandatory = + > + > + > + + ["TYPE_DEF_TERMINOLOGY_CODE"] = < + name = <"TYPE_DEF_TERMINOLOGY_CODE"> + ancestors = <"EXPR_TYPE_DEF"> + properties = < + ["type_anchor"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type_anchor"> + type = <"Terminology_code"> + is_mandatory = + > + > + > + + ["TYPE_DEF_OBJECT_REF"] = < + name = <"TYPE_DEF_OBJECT_REF"> + ancestors = <"EXPR_TYPE_DEF"> + > + + ["OPERATOR_DEF"] = < + name = <"OPERATOR_DEF"> + is_abstract = + properties = < + ["identifier"] = (P_BMM_SINGLE_PROPERTY) < + name = <"identifier"> + type = <"String"> + is_mandatory = + > + > + > + + ["FUNCTION_DEF"] = < + name = <"FUNCTION_DEF"> + is_abstract = + properties = < + ["identifier"] = (P_BMM_SINGLE_PROPERTY) < + name = <"identifier"> + type = <"String"> + is_mandatory = + > + > + > + + ["OPERATOR_DEF_BUILTIN"] = < + name = <"OPERATOR_DEF_BUILTIN"> + ancestors = <"OPERATOR_DEF", "BUILTIN_OPERATORS"> + > + + ["FUNCTION_DEF_BUILTIN"] = < + name = <"FUNCTION_DEF_BUILTIN"> + ancestors = <"FUNCTION_DEF", "BUILTIN_FUNCTIONS"> + > + + ["BUILTIN_OPERATORS"] = < + name = <"BUILTIN_OPERATORS"> + properties = < + ["op_table"] = (P_BMM_GENERIC_PROPERTY) < + name = <"op_table"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"List"> + generic_parameters = <"String"> + > + > + > + is_mandatory = + > + > + > + + ["BUILTIN_FUNCTIONS"] = < + name = <"BUILTIN_FUNCTIONS"> + properties = < + ["func_table"] = (P_BMM_GENERIC_PROPERTY) < + name = <"func_table"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"List"> + generic_parameters = <"String"> + > + > + > + is_mandatory = + > + > + > + +> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.1.0/openehr_base_110.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.1.0/openehr_base_110.bmm index b9b68ee78..8f79faf30 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.1.0/openehr_base_110.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/BASE/Release-1.1.0/openehr_base_110.bmm @@ -49,7 +49,7 @@ packages = < > ["interval"] = < name = <"interval"> - classes = <"Interval"> + classes = <"Interval", "Multiplicity_interval", "Cardinality"> > ["iso8601_time"] = < name = <"iso8601_time"> @@ -72,13 +72,13 @@ packages = < name = <"identification"> classes = <"OBJECT_REF", "OBJECT_ID", "UID", "LOCATABLE_REF", "PARTY_REF", "ACCESS_GROUP_REF", "TERMINOLOGY_ID", - "UID_BASED_ID", "GENERIC_ID", "ARCHETYPE_ID", "ARCHETYPE_HRID", "TEMPLATE_ID", "OBJECT_VERSION_ID", + "UID_BASED_ID", "GENERIC_ID", "ARCHETYPE_ID", "TEMPLATE_ID", "OBJECT_VERSION_ID", "HIER_OBJECT_ID", "VERSION_TREE_ID", "INTERNET_ID", "UUID", "ISO_OID" > > ["resource"] = < name = <"resource"> - classes = <"AUTHORED_RESOURCE", "TRANSLATION_DETAILS", "RESOURCE_DESCRIPTION", "RESOURCE_DESCRIPTION_ITEM"> + classes = <"AUTHORED_RESOURCE", "TRANSLATION_DETAILS", "RESOURCE_DESCRIPTION", "RESOURCE_DESCRIPTION_ITEM", "RESOURCE_ANNOTATIONS"> > > > @@ -161,11 +161,13 @@ primitive_types = < ["Iso8601_type"] = < name = <"Iso8601_type"> documentation = <"Parent of ISO8601 types."> + is_abstract = ancestors = <"Temporal"> properties = < ["value"] = (P_BMM_SINGLE_PROPERTY) < name = <"value"> type = <"String"> + is_mandatory = > > > @@ -256,7 +258,6 @@ primitive_types = < ["uri"] = (P_BMM_SINGLE_PROPERTY) < name = <"uri"> type = <"Uri"> - is_mandatory = > > > @@ -343,6 +344,38 @@ primitive_types = < > > > + ["Cardinality"] = (P_BMM_CLASS) < + name = <"Cardinality"> + ancestors = <"Any", ...> + properties = < + ["is_ordered"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_ordered"> + type = <"Boolean"> + is_mandatory = + > + ["is_unique"] = (P_BMM_SINGLE_PROPERTY) < + name = <"is_unique"> + type = <"Boolean"> + is_mandatory = + > + ["interval"] = (P_BMM_SINGLE_PROPERTY) < + name = <"interval"> + type = <"Multiplicity_interval"> + is_mandatory = + > + > + > + + ["Multiplicity_interval"] = (P_BMM_CLASS) < + name = <"Multiplicity_interval"> + ancestor_defs = < + ["Interval"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Interval"> + generic_parameters = <"Integer"> + > + > + > + ["Hash"] = < name = <"Hash"> @@ -461,53 +494,6 @@ class_definitions = < ancestors = <"OBJECT_ID"> > - ["ARCHETYPE_HRID"] = < - name = <"ARCHETYPE_HRID"> - ancestors = <"Any"> - properties = < - ["namespace"] = (P_BMM_SINGLE_PROPERTY) < - name = <"namespace"> - type = <"String"> - is_mandatory = - > - ["rm_publisher"] = (P_BMM_SINGLE_PROPERTY) < - name = <"rm_publisher"> - type = <"String"> - is_mandatory = - > - ["rm_package"] = (P_BMM_SINGLE_PROPERTY) < - name = <"rm_package"> - type = <"String"> - is_mandatory = - > - ["rm_class"] = (P_BMM_SINGLE_PROPERTY) < - name = <"rm_class"> - type = <"String"> - is_mandatory = - > - ["concept_id"] = (P_BMM_SINGLE_PROPERTY) < - name = <"concept_id"> - type = <"String"> - is_mandatory = - > - ["release_version"] = (P_BMM_SINGLE_PROPERTY) < - name = <"release_version"> - type = <"String"> - is_mandatory = - > - ["version_status"] = (P_BMM_SINGLE_PROPERTY) < - name = <"version_status"> - type = <"VERSION_STATUS"> - is_mandatory = - > - ["build_count"] = (P_BMM_SINGLE_PROPERTY) < - name = <"build_count"> - type = <"String"> - is_mandatory = - > - > - > - ["TEMPLATE_ID"] = < name = <"TEMPLATE_ID"> ancestors = <"OBJECT_ID"> @@ -590,28 +576,28 @@ class_definitions = < properties = < ["original_language"] = (P_BMM_SINGLE_PROPERTY) < name = <"original_language"> - type_ref = < - type = <"Terminology_code"> - value_constraint = <"openEHR::languages"> - > + type = <"Terminology_code"> is_mandatory = > ["is_controlled"] = (P_BMM_SINGLE_PROPERTY) < name = <"is_controlled"> type = <"Boolean"> > - ["translations"] = (P_BMM_CONTAINER_PROPERTY) < - name = <"translations"> - type_def = < - container_type = <"List"> - type = <"TRANSLATION_DETAILS"> - > - cardinality = <|>=1|> - > + ["translations"] = (P_BMM_GENERIC_PROPERTY) < + name = <"translations"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "TRANSLATION_DETAILS"> + > + > ["description"] = (P_BMM_SINGLE_PROPERTY) < name = <"description"> type = <"RESOURCE_DESCRIPTION"> > + ["annotations"] = (P_BMM_SINGLE_PROPERTY) < + name = <"annotations"> + type = <"RESOURCE_ANNOTATIONS"> + > > > @@ -621,10 +607,7 @@ class_definitions = < properties = < ["language"] = (P_BMM_SINGLE_PROPERTY) < name = <"language"> - type_ref = < - type = <"Terminology_code"> - value_constraint = <"openEHR::languages"> - > + type = <"Terminology_code"> is_mandatory = > ["author"] = (P_BMM_GENERIC_PROPERTY) < @@ -639,6 +622,10 @@ class_definitions = < name = <"accreditation"> type = <"String"> > + ["version_last_translated"] = (P_BMM_SINGLE_PROPERTY) < + name = <"version_last_translated"> + type = <"String"> + > ["other_details"] = (P_BMM_GENERIC_PROPERTY) < name = <"other_details"> type_def = < @@ -651,7 +638,7 @@ class_definitions = < ["RESOURCE_DESCRIPTION"] = < name = <"RESOURCE_DESCRIPTION"> - ancestors = <"Any", ...> + ancestors = <"Any"> properties = < ["original_author"] = (P_BMM_GENERIC_PROPERTY) < name = <"original_author"> @@ -661,6 +648,10 @@ class_definitions = < > is_mandatory = > + ["original_namespace"] = (P_BMM_SINGLE_PROPERTY) < + name = <"original_namespace"> + type = <"String"> + > ["other_contributors"] = (P_BMM_CONTAINER_PROPERTY) < name = <"other_contributors"> type_def = < @@ -669,6 +660,22 @@ class_definitions = < > cardinality = <|>=0|> > + ["custodian_namespace"] = (P_BMM_SINGLE_PROPERTY) < + name = <"custodian_namespace"> + type = <"String"> + > + ["custodian_organisation"] = (P_BMM_SINGLE_PROPERTY) < + name = <"custodian_organisation"> + type = <"String"> + > + ["copyright"] = (P_BMM_SINGLE_PROPERTY) < + name = <"copyright"> + type = <"String"> + > + ["licence"] = (P_BMM_SINGLE_PROPERTY) < + name = <"licence"> + type = <"String"> + > ["lifecycle_state"] = (P_BMM_SINGLE_PROPERTY) < name = <"lifecycle_state"> type = <"String"> @@ -678,6 +685,27 @@ class_definitions = < name = <"resource_package_uri"> type = <"String"> > + ["ip_acknowledgements"] = (P_BMM_GENERIC_PROPERTY) < + name = <"ip_acknowledgements"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["references"] = (P_BMM_GENERIC_PROPERTY) < + name = <"references"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + ["conversion_details"] = (P_BMM_GENERIC_PROPERTY) < + name = <"conversion_details"> + type_def = < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > ["other_details"] = (P_BMM_GENERIC_PROPERTY) < name = <"other_details"> type_def = < @@ -690,14 +718,12 @@ class_definitions = < type = <"AUTHORED_RESOURCE"> is_mandatory = > - ["details"] = (P_BMM_CONTAINER_PROPERTY) < + ["details"] = (P_BMM_GENERIC_PROPERTY) < name = <"details"> type_def = < - container_type = <"List"> - type = <"RESOURCE_DESCRIPTION_ITEM"> + root_type = <"Hash"> + generic_parameters = <"String", "RESOURCE_DESCRIPTION_ITEM"> > - is_mandatory = - cardinality = <|>=1|> > > > @@ -708,10 +734,7 @@ class_definitions = < properties = < ["language"] = (P_BMM_SINGLE_PROPERTY) < name = <"language"> - type_ref = < - type = <"Terminology_code"> - value_constraint = <"openEHR::languages"> - > + type = <"Terminology_code"> is_mandatory = > ["purpose"] = (P_BMM_SINGLE_PROPERTY) < @@ -735,10 +758,6 @@ class_definitions = < name = <"misuse"> type = <"String"> > - ["copyright"] = (P_BMM_SINGLE_PROPERTY) < - name = <"copyright"> - type = <"String"> - > ["original_resource_uri"] = (P_BMM_CONTAINER_PROPERTY) < name = <"original_resource_uri"> type_def = < @@ -756,9 +775,38 @@ class_definitions = < root_type = <"Hash"> generic_parameters = <"String", "String"> > - is_mandatory = > > > + ["RESOURCE_ANNOTATIONS"] = < + name = <"RESOURCE_ANNOTATIONS"> + ancestors = <"Any"> + properties = < + ["documentation"] = (P_BMM_GENERIC_PROPERTY) < + name = <"documentation"> + type_def = < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameter_defs = < + ["K"] = (P_BMM_SIMPLE_TYPE) < + type = <"String"> + > + ["V"] = (P_BMM_GENERIC_TYPE) < + root_type = <"Hash"> + generic_parameters = <"String", "String"> + > + > + > + > + > + is_mandatory = + > + > + > > diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.0.0/openehr_proc_task_planning_100.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.0.0/openehr_proc_task_planning_100.bmm index d73b741e4..2e3fca435 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.0.0/openehr_proc_task_planning_100.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.0.0/openehr_proc_task_planning_100.bmm @@ -222,30 +222,30 @@ class_definitions = < name = <"expressions"> type_def = < container_type = <"List"> - type_def = (P_BMM_GENERIC_TYPE) < - root_type = <"CONTEXT_EXPRESSION"> - generic_parameters = <"EXPR_TYPE_DEF"> - > + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_EXPRESSION"> + generic_parameters = <"EXPR_TYPE_DEF"> + > > > ["variables"] = (P_BMM_CONTAINER_PROPERTY) < name = <"variables"> type_def = < container_type = <"List"> - type_def = (P_BMM_GENERIC_TYPE) < - root_type = <"CONTEXT_VARIABLE"> - generic_parameters = <"EXPR_TYPE_DEF"> - > + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_VARIABLE"> + generic_parameters = <"EXPR_TYPE_DEF"> + > > > ["constants"] = (P_BMM_CONTAINER_PROPERTY) < name = <"constants"> type_def = < container_type = <"List"> - type_def = (P_BMM_GENERIC_TYPE) < - root_type = <"CONTEXT_CONSTANT"> - generic_parameters = <"EXPR_TYPE_DEF"> - > + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_CONSTANT"> + generic_parameters = <"EXPR_TYPE_DEF"> + > > > > @@ -440,14 +440,14 @@ class_definitions = < > cardinality = <|>=1|> > - ["event_wait_states"] = (P_BMM_CONTAINER_PROPERTY) < + ["event_wait_states"] = (P_BMM_CONTAINER_PROPERTY) < name = <"event_wait_states"> type_def = < container_type = <"List"> - type_def = (P_BMM_GENERIC_TYPE) < - root_type = <"EVENT_WAIT"> - generic_parameters = <"EVENT"> - > + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"EVENT_WAIT"> + generic_parameters = <"EVENT"> + > > > ["top_level_plans"] = (P_BMM_CONTAINER_PROPERTY) < diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.5.0/openehr_proc_task_planning_150.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.5.0/openehr_proc_task_planning_150.bmm new file mode 100644 index 000000000..b787d3106 --- /dev/null +++ b/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.5.0/openehr_proc_task_planning_150.bmm @@ -0,0 +1,1489 @@ +-- +-- component: openEHR Reference Model (RM) +-- description: openEHR PROC component schema. This file format is based on the BMM specification +-- http://www.openehr.org/releases/BASE/latest/docs/bmm/bmm.html +-- keywords: reference model, meta-model, archetypes +-- author: Thomas Beale +-- support: https://openehr.atlassian.net/projects/SPECPR +-- copyright: Copyright (c) 2018 openEHR Foundation +-- license: Apache 2.0 +-- + +------------------------------------------------------ +-- BMM version on which these schemas are based. +------------------------------------------------------ +bmm_version = <"2.3"> + +------------------------------------------------------ +-- schema identification +-- (schema_id computed as __) +------------------------------------------------------ +rm_publisher = <"openehr"> +schema_name = <"proc_task_planning"> +rm_release = <"1.5.0"> +model_name = <"TASK_PLANNING"> + +------------------------------------------------------ +-- schema documentation +------------------------------------------------------ +schema_revision = <"1.5.0.1"> +schema_lifecycle_state = <"development"> +schema_description = <"openEHR Release 1.5.0 Task Management schema"> +schema_author = <"Thomas Beale "> + +------------------------------------------------------ +-- inclusions +------------------------------------------------------ +includes = < + ["1"] = < + id = <"openehr_rm_ehr_1.1.0"> + > + ["2"] = < + id = <"openehr_rm_demographic_1.1.0"> + > + ["3"] = < + id = <"openehr_lang_1.0.0"> + > +> + + +------------------------------------------------------ +-- packages - software structure +------------------------------------------------------ + +packages = < + ["org.openehr.proc.task_planning"] = < + name = <"org.openehr.proc.task_planning"> + classes = <"SYSTEM_CALL", "PARAMETER_MAPPING", "PARAMETER_DEF", "QUERY_CALL", "API_CALL", + "TASK_LIFECYCLE", "TIME_SPECIFIER", "CLOCK_TIME", "CUSTOMARY_TIME", + "TEMPORAL_RELATION", "RESUME_TYPE", "PLAN_TIME_ORIGIN" + > + packages = < + ["definition"] = < + name = <"definition"> + classes = < + "WORK_PLAN", "TASK_PLAN", "TASK_PARTICIPATION", "PLAN_ITEM", "TASK_GROUP", "TASK", + "DISPATCHABLE_TASK", "PERFORMABLE_TASK", + + "PLAN_DATA_CONTEXT", "CONTEXT_VALUE", "CONTEXT_EXPRESSION", "CONTEXT_VARIABLE", + "BOOLEAN_CONTEXT_EXPRESSION", "CONTEXT_CONSTANT", "EXTERNAL_VARIABLE", "LOCAL_VARIABLE", + "EVENT_VARIABLE", "STATE_VARIABLE", "CONTINUOUS_EVENT_VARIABLE", + + "PLAN_CALENDAR", "PLAN_TIMELINE", "CALENDAR_ENTRY", "TASK_REPEAT", "ORDER_REF", + + "TASK_ACTION", "PERFORMABLE_ACTION", "DISPATCHABLE_ACTION", + "DEFINED_ACTION", "SYSTEM_REQUEST", "EXTERNAL_REQUEST", "LINKED_PLAN", "HAND_OFF", "SUB_PLAN", + "DATASET_SPEC", "CAPTURE_DATASET_SPEC", "REVIEW_DATASET_SPEC", "RESOURCE_PARTICIPATION", + + "CHOICE_GROUP", "CHOICE_BRANCH", "ADHOC_GROUP", "ADHOC_BRANCH", "OVERRIDE_TYPE", + "CONDITION_GROUP", "CONDITION_BRANCH", "DECISION_GROUP", "DECISION_BRANCH", "EVENT_GROUP", "EVENT_BRANCH", + + "SUBJECT_PRECONDITION", "TASK_COSTING", "EXECUTION_TYPE", + + "TASK_WAIT", "TIMELINE_MOMENT", "MANUAL_NOTIFICATION", "SYSTEM_NOTIFICATION", "TASK_TRANSITION", + "PLAN_EVENT", "TIMER_EVENT", "CALENDAR_EVENT", "STATE_TRIGGER", + "REMINDER", "TIMER_WAIT", "EVENT_WAIT", "EVENT_ACTION", "RESUME_ACTION", "CALLBACK_WAIT", "CALLBACK_NOTIFICATION" + > + > + ["history"] = < + name = <"history"> + classes = < + "TASK_PLAN_EXECUTION_HISTORY" + > + > + > + > +> + +------------------------------------------------------ +-- classes +------------------------------------------------------ + +class_definitions = < + + -- + --------------------- task_planning ------------------ + -- + + ["RESUME_TYPE"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"RESUME_TYPE"> + ancestors = <"Integer"> + item_names = <"resume_specified", "retry_current_group", "new_thread"> + > + + ["TEMPORAL_RELATION"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"TEMPORAL_RELATION"> + ancestors = <"Integer"> + item_names = <"before", "with", "after"> + > + + ["TASK_LIFECYCLE"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"TASK_LIFECYCLE"> + ancestors = <"Integer"> + item_names = <"planned", "available", "cancelled", "aborted", "abandoned", "underway", "suspended", "resumed", "completed"> + > + + ["PLAN_TIME_ORIGIN"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"PLAN_TIME_ORIGIN"> + ancestors = <"Integer"> + item_names = <"current_work_plan", "current_task_plan", "inner_repeat_section", "outer_repeat_section"> + > + + ["SYSTEM_CALL"] = < + name = <"SYSTEM_CALL"> + is_abstract = + properties = < + ["call_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"call_name"> + type = <"String"> + is_mandatory = + > + ["system_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"system_id"> + type = <"String"> + is_mandatory = + > + ["parameter_map"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"parameter_map"> + type_def = < + container_type = <"List"> + type = <"PARAMETER_MAPPING"> + > + > + ["bound_parameters"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"bound_parameters"> + type_def = < + container_type = <"List"> + type = <"PARAMETER_DEF"> + > + > + > + > + + ["PARAMETER_DEF"] = < + name = <"PARAMETER_DEF"> + properties = < + ["name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"name"> + type = <"String"> + is_mandatory = + > + ["type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type"> + type = <"EXPR_TYPE_DEF"> + is_mandatory = + > + ["value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"value"> + type = <"Any"> + is_mandatory = + > + > + > + + ["PARAMETER_MAPPING"] = < + name = <"PARAMETER_MAPPING"> + properties = < + ["name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"name"> + type = <"String"> + is_mandatory = + > + ["context_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"context_name"> + type = <"String"> + is_mandatory = + > + > + > + + ["QUERY_CALL"] = < + name = <"QUERY_CALL"> + ancestors = <"SYSTEM_CALL"> + properties = < + ["query_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"query_id"> + type = <"String"> + > + ["query_text"] = (P_BMM_SINGLE_PROPERTY) < + name = <"query_text"> + type = <"String"> + > + > + > + + ["API_CALL"] = < + name = <"API_CALL"> + ancestors = <"SYSTEM_CALL"> + > + + -- + --------------------- Plan Context ------------------ + -- + + ["PLAN_DATA_CONTEXT"] = < + name = <"PLAN_DATA_CONTEXT"> + properties = < + ["expressions"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"expressions"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_EXPRESSION"> + generic_parameters = <"EXPR_TYPE_DEF"> + > + > + > + ["variables"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"variables"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_VARIABLE"> + generic_parameters = <"EXPR_TYPE_DEF"> + > + > + > + ["constants"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constants"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_CONSTANT"> + generic_parameters = <"EXPR_TYPE_DEF"> + > + > + > + > + > + + ["CONTEXT_VALUE"] = < + name = <"CONTEXT_VALUE"> + is_abstract = + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"name"> + type = <"String"> + is_mandatory = + > + ["type"] = (P_BMM_SINGLE_PROPERTY_OPEN) < + name = <"type"> + type = <"T"> + is_mandatory = + > + > + > + + ["CONTEXT_VARIABLE"] = < + name = <"CONTEXT_VARIABLE"> + ancestors = <"CONTEXT_VALUE"> + is_abstract = + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + > + + ["CONTEXT_EXPRESSION"] = < + name = <"CONTEXT_EXPRESSION"> + ancestors = <"CONTEXT_VALUE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["expression"] = (P_BMM_SINGLE_PROPERTY) < + name = <"expression"> + type = <"String"> + is_mandatory = + > + > + > + + ["BOOLEAN_CONTEXT_EXPRESSION"] = < + name = <"BOOLEAN_CONTEXT_EXPRESSION"> + ancestor_defs = < + ["CONTEXT_EXPRESSION"] = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_EXPRESSION"> + generic_parameters = <"TYPE_DEF_BOOLEAN"> + > + > + > + + ["STATE_VARIABLE"] = < + name = <"STATE_VARIABLE"> + ancestors = <"EXTERNAL_VARIABLE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["required_currency"] = (P_BMM_SINGLE_PROPERTY) < + name = <"required_currency"> + type = <"Iso8601_duration"> + > + > + > + + ["EXTERNAL_VARIABLE"] = < + name = <"EXTERNAL_VARIABLE"> + ancestors = <"CONTEXT_VARIABLE"> + is_abstract = + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["populating_request"] = (P_BMM_SINGLE_PROPERTY) < + name = <"populating_request"> + type = <"SYSTEM_CALL"> + > + > + > + + ["EVENT_VARIABLE"] = < + name = <"EVENT_VARIABLE"> + ancestors = <"EXTERNAL_VARIABLE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + > + + ["LOCAL_VARIABLE"] = < + name = <"LOCAL_VARIABLE"> + ancestors = <"CONTEXT_VARIABLE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + > + + ["CONTINUOUS_EVENT_VARIABLE"] = < + name = <"CONTINUOUS_EVENT_VARIABLE"> + ancestors = <"EVENT_VARIABLE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["update_variation"] = (P_BMM_SINGLE_PROPERTY) < + name = <"update_variation"> + type = <"Real"> + > + > + > + + ["CONTEXT_CONSTANT"] = < + name = <"CONTEXT_CONSTANT"> + ancestors = <"CONTEXT_VALUE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + > + + -- + --------------------- definition / main ------------------ + -- + ["WORK_PLAN"] = < + name = <"WORK_PLAN"> + ancestors = <"CONTENT_ITEM", "AUTHORED_RESOURCE"> + properties = < + ["care_plan"] = (P_BMM_SINGLE_PROPERTY) < + name = <"care_plan"> + type = <"LOCATABLE_REF"> + > + ["care_pathway"] = (P_BMM_SINGLE_PROPERTY) < + name = <"care_pathway"> + type = <"ITEM_STRUCTURE"> + > + ["order_list"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"order_list"> + type_def = < + container_type = <"List"> + type = <"ORDER_REF"> + > + cardinality = <|>=0|> + > + ["calendar"] = (P_BMM_SINGLE_PROPERTY) < + name = <"calendar"> + type = <"PLAN_CALENDAR"> + is_mandatory = + > + ["timeline"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeline"> + type = <"PLAN_TIMELINE"> + is_mandatory = + > + ["plans"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"plans"> + type_def = < + container_type = <"List"> + type = <"UID_BASED_ID"> + > + cardinality = <|>=1|> + > + ["event_wait_states"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"event_wait_states"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"EVENT_WAIT"> + generic_parameters = <"PLAN_EVENT"> + > + > + > + ["top_level_plans"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"top_level_plans"> + type_def = < + container_type = <"List"> + type = <"TASK_PLAN"> + > + cardinality = <|>=1|> + > + ["indications"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"indications"> + type_def = < + container_type = <"List"> + type = <"DV_TEXT"> + > + cardinality = <|>=0|> + > + ["classification"] = (P_BMM_SINGLE_PROPERTY) < + name = <"classification"> + type = <"ITEM_STRUCTURE"> + > + ["context"] = (P_BMM_SINGLE_PROPERTY) < + name = <"context"> + type = <"PLAN_DATA_CONTEXT"> + > + > + > + + ["TASK_PLAN"] = < + name = <"TASK_PLAN"> + ancestors = <"CONTENT_ITEM"> + properties = < + ["subject"] = (P_BMM_SINGLE_PROPERTY) < + name = <"subject"> + type = <"PARTY_PROXY"> + > + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"DV_TEXT"> + is_mandatory = + > + ["guideline"] = (P_BMM_SINGLE_PROPERTY) < + name = <"guideline"> + type = <"ITEM_STRUCTURE"> + > + ["best_practice_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"best_practice_ref"> + type = <"DV_URI"> + > + ["definition"] = (P_BMM_SINGLE_PROPERTY) < + name = <"definition"> + type = <"TASK_GROUP"> + is_mandatory = + > + ["principal_performer"] = (P_BMM_SINGLE_PROPERTY) < + name = <"principal_performer"> + type = <"TASK_PARTICIPATION"> + > + ["order_set_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"order_set_type"> + type = <"DV_IDENTIFIER"> + > + ["order_set_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"order_set_id"> + type = <"DV_IDENTIFIER"> + > + ["due_time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"due_time"> + type = <"Iso8601_duration"> + > + ["expiry_time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"expiry_time"> + type = <"Iso8601_duration"> + > + ["indications"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"indications"> + type_def = < + container_type = <"List"> + type = <"DV_TEXT"> + > + cardinality = <|>=0|> + > + ["execution_history"] = (P_BMM_SINGLE_PROPERTY) < + name = <"execution_history"> + type = <"TASK_PLAN_EXECUTION_HISTORY"> + is_im_runtime = + > + > + > + + ["PLAN_CALENDAR"] = < + name = <"PLAN_CALENDAR"> + properties = < + ["entries"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"entries"> + type_def = < + container_type = <"List"> + type = <"CALENDAR_ENTRY"> + > + cardinality = <|>=0|> + > + > + > + + ["CALENDAR_ENTRY"] = < + name = <"CALENDAR_ENTRY"> + > + + ["PLAN_TIMELINE"] = < + name = <"PLAN_TIMELINE"> + properties = < + ["planned_items"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"planned_items"> + type_def = < + container_type = <"List"> + type = <"PLAN_ITEM"> + > + cardinality = <|>=0|> + > + ["timers"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"timers"> + type_def = < + container_type = <"List"> + type = <"TIMER_WAIT"> + > + cardinality = <|>=0|> + > + > + > + + ["ORDER_REF"] = < + name = <"ORDER_REF"> + ancestors = <"LOCATABLE"> + properties = < + ["order_tag"] = (P_BMM_SINGLE_PROPERTY) < + name = <"order_tag"> + type = <"String"> + > + ["order_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"order_ref"> + type = <"LOCATABLE_REF"> + > + ["instruction_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"instruction_archetype_id"> + type = <"String"> + > + ["action_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"action_archetype_id"> + type = <"String"> + > + > + > + + ["TASK_PARTICIPATION"] = < + name = <"TASK_PARTICIPATION"> + properties = < + ["function"] = (P_BMM_SINGLE_PROPERTY) < + name = <"function"> + type = <"DV_TEXT"> + > + ["role"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"role"> + type_def = < + container_type = <"List"> + type = <"DV_TEXT"> + > + cardinality = <|>=0|> + > + ["mode"] = (P_BMM_SINGLE_PROPERTY) < + name = <"mode"> + type = <"DV_CODED_TEXT"> + > + ["performer"] = (P_BMM_SINGLE_PROPERTY) < + name = <"performer"> + type = <"PARTY_PROXY"> + > + ["optionality"] = (P_BMM_SINGLE_PROPERTY) < + name = <"optionality"> + type = <"VALIDITY_KIND"> + > + > + > + + ["PLAN_ITEM"] = < + name = <"PLAN_ITEM"> + ancestors = <"LOCATABLE"> + is_abstract = + properties = < + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"DV_TEXT"> + is_mandatory = + > + ["repeat_spec"] = (P_BMM_SINGLE_PROPERTY) < + name = <"repeat_spec"> + type = <"TASK_REPEAT"> + > + ["wait_spec"] = (P_BMM_SINGLE_PROPERTY) < + name = <"wait_spec"> + type = <"TASK_WAIT"> + > + ["review_dataset"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"review_dataset"> + type_def = < + container_type = <"List"> + type = <"REVIEW_DATASET_SPEC"> + > + cardinality = <|>=0|> + > + ["reminders"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"reminders"> + type_def = < + container_type = <"List"> + type = <"REMINDER"> + > + cardinality = <|>=0|> + > + ["classification"] = (P_BMM_SINGLE_PROPERTY) < + name = <"classification"> + type = <"ITEM_STRUCTURE"> + > + ["guideline_step"] = (P_BMM_SINGLE_PROPERTY) < + name = <"guideline_step"> + type = <"String"> + > + ["other_details"] = (P_BMM_SINGLE_PROPERTY) < + name = <"other_details"> + type = <"ITEM_STRUCTURE"> + > + > + > + + ["TASK_REPEAT"] = < + name = <"TASK_REPEAT"> + properties = < + ["repeats"] = (P_BMM_GENERIC_PROPERTY) < + name = <"repeats"> + type_def = < + root_type = <"Interval"> + generic_parameters = <"Integer"> + > + > + ["terminate_condition"] = (P_BMM_SINGLE_PROPERTY) < + name = <"terminate_condition"> + type = <"PLAN_EVENT"> + > + ["period"] = (P_BMM_SINGLE_PROPERTY) < + name = <"period"> + type = <"Iso8601_duration"> + > + > + > + + ["TASK_GROUP"] = < + name = <"TASK_GROUP"> + ancestors = <"PLAN_ITEM"> + properties = < + ["execution_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"execution_type"> + type = <"EXECUTION_TYPE"> + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"PLAN_ITEM"> + > + cardinality = <|>=0|> + > + ["training_level"] = (P_BMM_SINGLE_PROPERTY) < + name = <"training_level"> + type = <"Integer"> + > + > + > + + ["EXECUTION_TYPE"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"EXECUTION_TYPE"> + ancestors = <"Integer"> + item_names = <"sequential", "parallel"> + > + + ["TASK"] = < + name = <"TASK"> + ancestors = <"PLAN_ITEM"> + is_abstract = + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"TASK_ACTION"> + > + > + properties = < + ["action"] = (P_BMM_SINGLE_PROPERTY_OPEN) < + name = <"action"> + type = <"T"> + is_mandatory = + > + ["order_tags"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"order_tags"> + type_def = < + container_type = <"List"> + type = <"String"> + > + cardinality = <|>=0|> + > + > + > + + ["DISPATCHABLE_TASK"] = < + name = <"DISPATCHABLE_TASK"> + ancestors = <"TASK"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"DISPATCHABLE_ACTION"> + > + > + properties = < + ["wait"] = (P_BMM_SINGLE_PROPERTY) < + name = <"wait"> + type = <"Boolean"> + is_mandatory = + > + ["callback"] = (P_BMM_SINGLE_PROPERTY) < + name = <"callback"> + type = <"CALLBACK_WAIT"> + > + > + > + + ["PERFORMABLE_TASK"] = < + name = <"PERFORMABLE_TASK"> + ancestors = <"TASK"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"PERFORMABLE_ACTION"> + > + > + properties = < + ["capture_dataset"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"capture_dataset"> + type_def = < + container_type = <"List"> + type = <"CAPTURE_DATASET_SPEC"> + > + cardinality = <|>=0|> + > + > + > + + -- + --------------------- Actions ------------------ + -- + + ["TASK_ACTION"] = < + name = <"TASK_ACTION"> + ancestors = <"LOCATABLE"> + is_abstract = + properties = < + ["subject_preconditions"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"subject_preconditions"> + type_def = < + container_type = <"List"> + type = <"SUBJECT_PRECONDITION"> + > + cardinality = <|>=0|> + > + ["costing_data"] = (P_BMM_SINGLE_PROPERTY) < + name = <"costing_data"> + type = <"TASK_COSTING"> + > + ["instruction_activity"] = (P_BMM_SINGLE_PROPERTY) < + name = <"instruction_activity"> + type = <"LOCATABLE_REF"> + > + > + > + + ["DISPATCHABLE_ACTION"] = < + name = <"DISPATCHABLE_ACTION"> + ancestors = <"TASK_ACTION"> + is_abstract = + > + + ["PERFORMABLE_ACTION"] = < + name = <"PERFORMABLE_ACTION"> + ancestors = <"TASK_ACTION"> + is_abstract = + properties = < + ["other_participations"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"other_participations"> + type_def = < + container_type = <"List"> + type = <"TASK_PARTICIPATION"> + > + cardinality = <|>=0|> + > + ["resources"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"resources"> + type_def = < + container_type = <"List"> + type = <"RESOURCE_PARTICIPATION"> + > + cardinality = <|>=0|> + > + > + > + + ["RESOURCE_PARTICIPATION"] = < + name = <"RESOURCE_PARTICIPATION"> + properties = < + ["resource_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"resource_type"> + type = <"DV_TEXT"> + is_mandatory = + > + ["external_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"external_ref"> + type = <"OBJECT_REF"> + > + > + > + + ["SUBJECT_PRECONDITION"] = < + name = <"SUBJECT_PRECONDITION"> + properties = < + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"String"> + is_mandatory = + > + ["expression"] = (P_BMM_SINGLE_PROPERTY) < + name = <"expression"> + type = <"BOOLEAN_CONTEXT_EXPRESSION"> + > + > + > + + ["EXTERNAL_REQUEST"] = < + name = <"EXTERNAL_REQUEST"> + ancestors = <"DISPATCHABLE_ACTION"> + properties = < + ["organisation"] = (P_BMM_SINGLE_PROPERTY) < + name = <"organisation"> + type = <"PARTY_PROXY"> + is_mandatory = + > + ["request_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"request_id"> + type = <"String"> + is_mandatory = + > + ["other_details"] = (P_BMM_SINGLE_PROPERTY) < + name = <"other_details"> + type = <"ITEM_STRUCTURE"> + > + > + > + + ["DEFINED_ACTION"] = < + name = <"DEFINED_ACTION"> + ancestors = <"PERFORMABLE_ACTION"> + properties = < + ["prototype"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"prototype"> + type_def = < + container_type = <"List"> + type = <"ENTRY"> + > + cardinality = <|>=0|> + > + ["optionality"] = (P_BMM_SINGLE_PROPERTY) < + name = <"optionality"> + type = <"VALIDITY_KIND"> + > + > + > + + ["SYSTEM_REQUEST"] = < + name = <"SYSTEM_REQUEST"> + ancestors = <"DISPATCHABLE_ACTION"> + properties = < + ["system_call"] = (P_BMM_SINGLE_PROPERTY) < + name = <"system_call"> + type = <"SYSTEM_CALL"> + is_mandatory = + > + > + > + + ["DATASET_SPEC"] = < + name = <"DATASET_SPEC"> + ancestors = <"LOCATABLE"> + properties = < + ["form_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"form_id"> + type = <"String"> + > + ["template_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"template_id"> + type = <"String"> + > + ["populating_call"] = (P_BMM_SINGLE_PROPERTY) < + name = <"populating_call"> + type = <"SYSTEM_CALL"> + > + ["form_section_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"form_section_path"> + type = <"String"> + > + ["other_details"] = (P_BMM_SINGLE_PROPERTY) < + name = <"other_details"> + type = <"ITEM_STRUCTURE"> + > + > + > + + ["CAPTURE_DATASET_SPEC"] = < + name = <"CAPTURE_DATASET_SPEC"> + ancestors = <"DATASET_SPEC"> + > + + ["REVIEW_DATASET_SPEC"] = < + name = <"REVIEW_DATASET_SPEC"> + ancestors = <"DATASET_SPEC"> + properties = < + ["capture_datasets"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"capture_datasets"> + type_def = < + container_type = <"List"> + type = <"CAPTURE_DATASET_SPEC"> + > + cardinality = <|>=0|> + > + > + > + + ["LINKED_PLAN"] = < + name = <"LINKED_PLAN"> + is_abstract = + properties = < + ["target"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target"> + type = <"TASK_PLAN"> + is_mandatory = + > + > + > + + ["HAND_OFF"] = < + name = <"HAND_OFF"> + ancestors = <"LINKED_PLAN", "DISPATCHABLE_ACTION"> + > + + ["SUB_PLAN"] = < + name = <"SUB_PLAN"> + ancestors = <"LINKED_PLAN", "PERFORMABLE_ACTION"> + > + + ["TASK_COSTING"] = < + name = <"TASK_COSTING"> + > + + -- + --------------------- Conditionals ------------------ + -- + + ["CHOICE_GROUP"] = < + name = <"CHOICE_GROUP"> + is_abstract = + ancestors = <"TASK_GROUP"> + properties = < + ["override_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"override_type"> + type = <"OVERRIDE_TYPE"> + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"CHOICE_BRANCH"> + > + cardinality = <|>=0|> + > + ["timeout"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeout"> + type = <"TIMER_WAIT"> + > + > + > + + ["OVERRIDE_TYPE"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"OVERRIDE_TYPE"> + ancestors = <"Integer"> + item_names = <"allowed", "allowed_with_reason", "prohibited"> + > + + ["CHOICE_BRANCH"] = < + name = <"CHOICE_BRANCH"> + ancestors = <"TASK_GROUP"> + is_abstract = + > + + ["ADHOC_GROUP"] = < + name = <"ADHOC_GROUP"> + ancestors = <"CHOICE_GROUP"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"ADHOC_BRANCH"> + > + cardinality = <|>=0|> + > + > + > + + ["ADHOC_BRANCH"] = < + name = <"ADHOC_BRANCH"> + ancestors = <"CHOICE_BRANCH"> + > + + ["CONDITION_GROUP"] = < + name = <"CONDITION_GROUP"> + ancestors = <"CHOICE_GROUP"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"CONDITION_BRANCH"> + > + cardinality = <|>=0|> + > + > + > + + ["CONDITION_BRANCH"] = < + name = <"CONDITION_BRANCH"> + ancestors = <"CHOICE_BRANCH"> + properties = < + ["test"] = (P_BMM_SINGLE_PROPERTY) < + name = <"test"> + type = <"BOOLEAN_CONTEXT_EXPRESSION"> + is_mandatory = + > + > + > + + ["DECISION_GROUP"] = < + name = <"DECISION_GROUP"> + ancestors = <"CHOICE_GROUP"> + properties = < + ["test"] = (P_BMM_GENERIC_PROPERTY) < + name = <"test"> + type_def = < + root_type = <"CONTEXT_EXPRESSION"> + generic_parameters = <"EXPR_TYPE_DEF"> + > + is_mandatory = + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"DECISION_BRANCH"> + > + cardinality = <|>=0|> + > + > + > + + ["DECISION_BRANCH"] = < + name = <"DECISION_BRANCH"> + ancestors = <"CHOICE_BRANCH"> + properties = < + ["value_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"value_constraint"> + type = <"BOOLEAN_CONTEXT_EXPRESSION"> + is_mandatory = + > + > + > + + ["EVENT_GROUP"] = < + name = <"EVENT_GROUP"> + ancestors = <"CHOICE_GROUP"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"EVENT_BRANCH"> + > + cardinality = <|>=0|> + > + > + > + + ["EVENT_BRANCH"] = < + name = <"EVENT_BRANCH"> + ancestors = <"CHOICE_BRANCH"> + > + + -- + --------------------- Events ------------------ + -- + + ["TASK_WAIT"] = < + name = <"TASK_WAIT"> + properties = < + ["events"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"events"> + type_def = < + container_type = <"List"> + type = <"PLAN_EVENT"> + > + cardinality = <|>=0|> + > + ["event_relation"] = (P_BMM_SINGLE_PROPERTY) < + name = <"event_relation"> + type = <"TEMPORAL_RELATION"> + > + ["timeout"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeout"> + type = <"TIMER_WAIT"> + > + ["next_state"] = (P_BMM_SINGLE_PROPERTY) < + name = <"next_state"> + type = <"TASK_LIFECYCLE"> + > + > + > + + ["PLAN_EVENT"] = < + name = <"PLAN_EVENT"> + ancestors = <"LOCATABLE"> + is_abstract = + properties = < + ["delay"] = (P_BMM_SINGLE_PROPERTY) < + name = <"delay"> + type = <"Iso8601_duration"> + > + ["other_details"] = (P_BMM_SINGLE_PROPERTY) < + name = <"other_details"> + type = <"ITEM_STRUCTURE"> + > + > + > + + ["TIMELINE_MOMENT"] = < + name = <"TIMELINE_MOMENT"> + ancestors = <"PLAN_EVENT"> + properties = < + ["timeline_offset"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeline_offset"> + type = <"Iso8601_duration"> + > + ["fixed_time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"fixed_time"> + type = <"TIME_SPECIFIER"> + > + ["timeline_origin"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeline_origin"> + type = <"PLAN_TIME_ORIGIN"> + > + > + > + + ["SYSTEM_NOTIFICATION"] = < + name = <"SYSTEM_NOTIFICATION"> + ancestors = <"PLAN_EVENT"> + properties = < + ["system_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"system_id"> + type = <"String"> + is_mandatory = + > + ["notification_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"notification_type"> + type = <"String"> + > + ["reference_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"reference_id"> + type = <"String"> + > + > + > + + ["CALLBACK_NOTIFICATION"] = < + name = <"CALLBACK_NOTIFICATION"> + ancestors = <"PLAN_EVENT"> + properties = < + ["task_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"task_id"> + type = <"UID_BASED_ID"> + is_mandatory = + > + ["request_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"request_id"> + type = <"String"> + > + > + > + + ["MANUAL_NOTIFICATION"] = < + name = <"MANUAL_NOTIFICATION"> + ancestors = <"PLAN_EVENT"> + properties = < + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"String"> + is_mandatory = + > + > + > + + ["TASK_TRANSITION"] = < + name = <"TASK_TRANSITION"> + ancestors = <"PLAN_EVENT"> + properties = < + ["task_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"task_id"> + type = <"UID_BASED_ID"> + is_mandatory = + > + ["transitions"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"transitions"> + type_def = < + container_type = <"List"> + type = <"TASK_LIFECYCLE"> + > + cardinality = <|>=1|> + > + > + > + + ["EVENT_WAIT"] = < + name = <"EVENT_WAIT"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"PLAN_EVENT"> + > + > + properties = < + ["event"] = (P_BMM_SINGLE_PROPERTY_OPEN) < + name = <"event"> + type = <"T"> + is_mandatory = + > + ["timeout"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeout"> + type = <"TIMER_WAIT"> + > + ["success_action"] = (P_BMM_SINGLE_PROPERTY) < + name = <"success_action"> + type = <"EVENT_ACTION"> + > + > + > + + ["STATE_TRIGGER"] = < + name = <"STATE_TRIGGER"> + ancestors = <"PLAN_EVENT"> + properties = < + ["expression"] = (P_BMM_SINGLE_PROPERTY) < + name = <"expression"> + type = <"BOOLEAN_CONTEXT_EXPRESSION"> + is_mandatory = + > + > + > + + ["TIMER_EVENT"] = < + name = <"TIMER_EVENT"> + ancestors = <"PLAN_EVENT"> + properties = < + ["duration"] = (P_BMM_SINGLE_PROPERTY) < + name = <"duration"> + type = <"Iso8601_duration"> + is_mandatory = + > + ["purpose"] = (P_BMM_SINGLE_PROPERTY) < + name = <"purpose"> + type = <"String"> + > + > + > + + ["REMINDER"] = < + name = <"REMINDER"> + ancestors = <"EVENT_WAIT"> + > + + ["TIMER_WAIT"] = < + name = <"TIMER_WAIT"> + ancestor_defs = < + ["EVENT_WAIT"] = (P_BMM_GENERIC_TYPE) < + root_type = <"EVENT_WAIT"> + generic_parameters = <"TIMER_EVENT"> + > + > + > + + ["CALLBACK_WAIT"] = < + name = <"CALLBACK_WAIT"> + ancestor_defs = < + ["EVENT_WAIT"] = (P_BMM_GENERIC_TYPE) < + root_type = <"EVENT_WAIT"> + generic_parameters = <"CALLBACK_NOTIFICATION"> + > + > + properties = < + ["fail_action"] = (P_BMM_SINGLE_PROPERTY) < + name = <"fail_action"> + type = <"EVENT_ACTION"> + > + ["custom_actions"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"custom_actions"> + type_def = < + container_type = <"List"> + type = <"EVENT_ACTION"> + > + cardinality = <|>=0|> + > + > + > + + ["EVENT_ACTION"] = < + name = <"EVENT_ACTION"> + properties = < + ["system_call"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"system_call"> + type_def = < + container_type = <"List"> + type = <"SYSTEM_CALL"> + > + cardinality = <|>=0|> + > + ["resume_action"] = (P_BMM_SINGLE_PROPERTY) < + name = <"resume_action"> + type = <"RESUME_ACTION"> + > + ["message"] = (P_BMM_SINGLE_PROPERTY) < + name = <"message"> + type = <"DV_TEXT"> + > + ["receiver_thread_next_state"] = (P_BMM_SINGLE_PROPERTY) < + name = <"receiver_thread_next_state"> + type = <"TASK_LIFECYCLE"> + > + > + > + + ["CALENDAR_EVENT"] = < + name = <"CALENDAR_EVENT"> + ancestors = <"PLAN_EVENT"> + properties = < + ["entry_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"entry_id"> + type = <"UID_BASED_ID"> + > + ["time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"time"> + type = <"Iso8601_date_time"> + is_mandatory = + > + > + > + + ["RESUME_ACTION"] = < + name = <"RESUME_ACTION"> + properties = < + ["resume_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"resume_type"> + type = <"RESUME_TYPE"> + is_mandatory = + > + ["resume_location"] = (P_BMM_SINGLE_PROPERTY) < + name = <"resume_location"> + type = <"UID_BASED_ID"> + > + > + > + + + -- + --------------------- Time specification ------------------ + -- + + ["TIME_SPECIFIER"] = < + name = <"TIME_SPECIFIER"> + is_abstract = + > + + ["CLOCK_TIME"] = < + name = <"CLOCK_TIME"> + ancestors = <"TIME_SPECIFIER"> + properties = < + ["time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"time"> + type = <"Iso8601_time"> + is_mandatory = + > + > + > + + ["CUSTOMARY_TIME"] = < + name = <"CUSTOMARY_TIME"> + ancestors = <"TIME_SPECIFIER"> + properties = < + ["time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"time"> + type = <"DV_CODED_TEXT"> + is_mandatory = + > + > + > + + -- + --------------------- history ------------------ + -- + + ["TASK_PLAN_EXECUTION_HISTORY"] = < + name = <"TASK_PLAN_EXECUTION_HISTORY"> + > + +> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.6.0/openehr_proc_task_planning_160.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.6.0/openehr_proc_task_planning_160.bmm new file mode 100644 index 000000000..d7d8c3ce2 --- /dev/null +++ b/referencemodels/src/main/resources/bmm/openEHR/components/PROC/Release-1.6.0/openehr_proc_task_planning_160.bmm @@ -0,0 +1,1518 @@ +-- +-- component: openEHR Reference Model (RM) +-- description: openEHR PROC component schema. This file format is based on the BMM specification +-- http://www.openehr.org/releases/BASE/latest/docs/bmm/bmm.html +-- keywords: reference model, meta-model, archetypes +-- author: Thomas Beale +-- support: https://openehr.atlassian.net/projects/SPECPR +-- copyright: Copyright (c) 2020 openEHR Foundation +-- license: Apache 2.0 +-- + +------------------------------------------------------ +-- BMM version on which these schemas are based. +------------------------------------------------------ +bmm_version = <"2.3"> + +------------------------------------------------------ +-- schema identification +-- (schema_id computed as __) +------------------------------------------------------ +rm_publisher = <"openehr"> +schema_name = <"proc_task_planning"> +rm_release = <"1.6.0"> +model_name = <"TASK_PLANNING"> + +------------------------------------------------------ +-- schema documentation +------------------------------------------------------ +schema_revision = <"1.6.0.1"> +schema_lifecycle_state = <"development"> +schema_description = <"openEHR Release 1.6.0 Task Planning schema"> +schema_author = <"Thomas Beale "> + +------------------------------------------------------ +-- inclusions +------------------------------------------------------ +includes = < + ["1"] = < + id = <"openehr_rm_ehr_1.1.0"> + > + ["2"] = < + id = <"openehr_rm_demographic_1.1.0"> + > + ["3"] = < + id = <"openehr_lang_1.0.0"> + > +> + + +------------------------------------------------------ +-- packages - software structure +------------------------------------------------------ + +packages = < + ["org.openehr.proc.task_planning"] = < + name = <"org.openehr.proc.task_planning"> + classes = <"SYSTEM_CALL", "PARAMETER_MAPPING", "PARAMETER_DEF", "QUERY_CALL", "API_CALL", + "TASK_LIFECYCLE", "TIME_SPECIFIER", "CLOCK_TIME", "CUSTOMARY_TIME", + "TEMPORAL_RELATION", "RESUME_TYPE", "PLAN_TIME_ORIGIN" + > + packages = < + ["definition"] = < + name = <"definition"> + classes = < + "WORK_PLAN", "TASK_PLAN", "TASK_PARTICIPATION", "PLAN_ITEM", "TASK_GROUP", "TASK", + "DISPATCHABLE_TASK", "PERFORMABLE_TASK", + + "PLAN_DATA_CONTEXT", "CONTEXT_VALUE", "CONTEXT_EXPRESSION", "CONTEXT_VARIABLE", + "BOOLEAN_CONTEXT_EXPRESSION", "CONTEXT_CONSTANT", "EXTERNAL_VARIABLE", "LOCAL_VARIABLE", + "EVENT_VARIABLE", "STATE_VARIABLE", "CONTINUOUS_EVENT_VARIABLE", + + "PLAN_CALENDAR", "PLAN_TIMELINE", "CALENDAR_ENTRY", "TASK_REPEAT", "ORDER_REF", + + "TASK_ACTION", "PERFORMABLE_ACTION", "DISPATCHABLE_ACTION", + "DEFINED_ACTION", "SYSTEM_REQUEST", "EXTERNAL_REQUEST", "LINKED_PLAN", "HAND_OFF", "SUB_PLAN", + "DATASET_SPEC", "CAPTURE_DATASET_SPEC", "REVIEW_DATASET_SPEC", "DATASET_COMMIT_GROUP", + "RESOURCE_PARTICIPATION", + + "CHOICE_GROUP", "CHOICE_BRANCH", "ADHOC_GROUP", "ADHOC_BRANCH", "OVERRIDE_TYPE", + "CONDITION_GROUP", "CONDITION_BRANCH", "DECISION_GROUP", "DECISION_BRANCH", "EVENT_GROUP", "EVENT_BRANCH", + + "SUBJECT_PRECONDITION", "TASK_COSTING", "EXECUTION_TYPE", + + "TASK_WAIT", "TIMELINE_MOMENT", "MANUAL_NOTIFICATION", "SYSTEM_NOTIFICATION", "TASK_TRANSITION", + "EVENT", "PLAN_EVENT", "TIMER_EVENT", "CALENDAR_EVENT", "STATE_TRIGGER", + "REMINDER", "TIMER_WAIT", "EVENT_WAIT", "EVENT_ACTION", "RESUME_ACTION", "CALLBACK_WAIT", "CALLBACK_NOTIFICATION" + > + > + ["history"] = < + name = <"history"> + classes = < + "TASK_PLAN_EXECUTION_HISTORY" + > + > + > + > +> + +------------------------------------------------------ +-- classes +------------------------------------------------------ + +class_definitions = < + + -- + --------------------- task_planning ------------------ + -- + + ["RESUME_TYPE"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"RESUME_TYPE"> + ancestors = <"Integer"> + item_names = <"resume_specified", "retry_current_group", "new_thread"> + > + + ["TEMPORAL_RELATION"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"TEMPORAL_RELATION"> + ancestors = <"Integer"> + item_names = <"before", "with", "after"> + > + + ["TASK_LIFECYCLE"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"TASK_LIFECYCLE"> + ancestors = <"Integer"> + item_names = <"planned", "available", "cancelled", "abandoned", "underway", "suspended", "completed"> + item_values = <0, 1, 2, 4, 5, 6, 8> + > + + ["PLAN_TIME_ORIGIN"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"PLAN_TIME_ORIGIN"> + ancestors = <"Integer"> + item_names = <"current_work_plan", "current_task_plan", "inner_repeat_section", "outer_repeat_section"> + item_values = <0, 1, 2, 3> + > + + ["SYSTEM_CALL"] = < + name = <"SYSTEM_CALL"> + is_abstract = + properties = < + ["call_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"call_name"> + type = <"String"> + is_mandatory = + > + ["system_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"system_id"> + type = <"String"> + is_mandatory = + > + ["parameter_map"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"parameter_map"> + type_def = < + container_type = <"List"> + type = <"PARAMETER_MAPPING"> + > + > + ["bound_parameters"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"bound_parameters"> + type_def = < + container_type = <"List"> + type = <"PARAMETER_DEF"> + > + > + > + > + + ["PARAMETER_DEF"] = < + name = <"PARAMETER_DEF"> + properties = < + ["name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"name"> + type = <"String"> + is_mandatory = + > + ["type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"type"> + type = <"EXPR_TYPE_DEF"> + is_mandatory = + > + ["value"] = (P_BMM_SINGLE_PROPERTY) < + name = <"value"> + type = <"Any"> + is_mandatory = + > + > + > + + ["PARAMETER_MAPPING"] = < + name = <"PARAMETER_MAPPING"> + properties = < + ["name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"name"> + type = <"String"> + is_mandatory = + > + ["context_name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"context_name"> + type = <"String"> + is_mandatory = + > + > + > + + ["QUERY_CALL"] = < + name = <"QUERY_CALL"> + ancestors = <"SYSTEM_CALL"> + properties = < + ["query_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"query_id"> + type = <"String"> + > + ["query_text"] = (P_BMM_SINGLE_PROPERTY) < + name = <"query_text"> + type = <"String"> + > + > + > + + ["API_CALL"] = < + name = <"API_CALL"> + ancestors = <"SYSTEM_CALL"> + > + + -- + --------------------- Plan Context ------------------ + -- + + ["PLAN_DATA_CONTEXT"] = < + name = <"PLAN_DATA_CONTEXT"> + properties = < + ["expressions"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"expressions"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_EXPRESSION"> + generic_parameters = <"EXPR_TYPE_DEF"> + > + > + > + ["variables"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"variables"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_VARIABLE"> + generic_parameters = <"EXPR_TYPE_DEF"> + > + > + > + ["constants"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"constants"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_CONSTANT"> + generic_parameters = <"EXPR_TYPE_DEF"> + > + > + > + > + > + + ["CONTEXT_VALUE"] = < + name = <"CONTEXT_VALUE"> + is_abstract = + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["name"] = (P_BMM_SINGLE_PROPERTY) < + name = <"name"> + type = <"String"> + is_mandatory = + > + ["type"] = (P_BMM_SINGLE_PROPERTY_OPEN) < + name = <"type"> + type = <"T"> + is_mandatory = + > + > + > + + ["CONTEXT_VARIABLE"] = < + name = <"CONTEXT_VARIABLE"> + ancestors = <"CONTEXT_VALUE"> + is_abstract = + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + > + + ["CONTEXT_EXPRESSION"] = < + name = <"CONTEXT_EXPRESSION"> + ancestors = <"CONTEXT_VALUE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["expression"] = (P_BMM_SINGLE_PROPERTY) < + name = <"expression"> + type = <"String"> + is_mandatory = + > + > + > + + ["BOOLEAN_CONTEXT_EXPRESSION"] = < + name = <"BOOLEAN_CONTEXT_EXPRESSION"> + ancestor_defs = < + ["CONTEXT_EXPRESSION"] = (P_BMM_GENERIC_TYPE) < + root_type = <"CONTEXT_EXPRESSION"> + generic_parameters = <"TYPE_DEF_BOOLEAN"> + > + > + > + + ["STATE_VARIABLE"] = < + name = <"STATE_VARIABLE"> + ancestors = <"EXTERNAL_VARIABLE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["required_currency"] = (P_BMM_SINGLE_PROPERTY) < + name = <"required_currency"> + type = <"Iso8601_duration"> + > + > + > + + ["EXTERNAL_VARIABLE"] = < + name = <"EXTERNAL_VARIABLE"> + ancestors = <"CONTEXT_VARIABLE"> + is_abstract = + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["populating_request"] = (P_BMM_SINGLE_PROPERTY) < + name = <"populating_request"> + type = <"SYSTEM_CALL"> + > + > + > + + ["EVENT_VARIABLE"] = < + name = <"EVENT_VARIABLE"> + ancestors = <"EXTERNAL_VARIABLE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + > + + ["LOCAL_VARIABLE"] = < + name = <"LOCAL_VARIABLE"> + ancestors = <"CONTEXT_VARIABLE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + > + + ["CONTINUOUS_EVENT_VARIABLE"] = < + name = <"CONTINUOUS_EVENT_VARIABLE"> + ancestors = <"EVENT_VARIABLE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + properties = < + ["update_variation"] = (P_BMM_SINGLE_PROPERTY) < + name = <"update_variation"> + type = <"Real"> + > + > + > + + ["CONTEXT_CONSTANT"] = < + name = <"CONTEXT_CONSTANT"> + ancestors = <"CONTEXT_VALUE"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"EXPR_TYPE_DEF"> + > + > + > + + -- + --------------------- definition / main ------------------ + -- + ["WORK_PLAN"] = < + name = <"WORK_PLAN"> + ancestors = <"CONTENT_ITEM", "AUTHORED_RESOURCE"> + properties = < + ["care_plan"] = (P_BMM_SINGLE_PROPERTY) < + name = <"care_plan"> + type = <"LOCATABLE_REF"> + > + ["care_pathway"] = (P_BMM_SINGLE_PROPERTY) < + name = <"care_pathway"> + type = <"ITEM_STRUCTURE"> + > + ["order_list"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"order_list"> + type_def = < + container_type = <"List"> + type = <"ORDER_REF"> + > + cardinality = <|>=0|> + > + ["calendar"] = (P_BMM_SINGLE_PROPERTY) < + name = <"calendar"> + type = <"PLAN_CALENDAR"> + is_mandatory = + > + ["timeline"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeline"> + type = <"PLAN_TIMELINE"> + is_mandatory = + > + ["plans"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"plans"> + type_def = < + container_type = <"List"> + type = <"UID_BASED_ID"> + > + cardinality = <|>=1|> + > + ["event_wait_states"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"event_wait_states"> + type_def = < + container_type = <"List"> + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"EVENT_WAIT"> + generic_parameters = <"EVENT"> + > + > + > + ["top_level_plans"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"top_level_plans"> + type_def = < + container_type = <"List"> + type = <"TASK_PLAN"> + > + cardinality = <|>=1|> + > + ["indications"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"indications"> + type_def = < + container_type = <"List"> + type = <"DV_TEXT"> + > + cardinality = <|>=0|> + > + ["classification"] = (P_BMM_SINGLE_PROPERTY) < + name = <"classification"> + type = <"ITEM_STRUCTURE"> + > + ["context"] = (P_BMM_SINGLE_PROPERTY) < + name = <"context"> + type = <"PLAN_DATA_CONTEXT"> + > + > + > + + ["TASK_PLAN"] = < + name = <"TASK_PLAN"> + ancestors = <"CONTENT_ITEM"> + properties = < + ["subject"] = (P_BMM_SINGLE_PROPERTY) < + name = <"subject"> + type = <"PARTY_PROXY"> + > + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"DV_TEXT"> + is_mandatory = + > + ["guideline"] = (P_BMM_SINGLE_PROPERTY) < + name = <"guideline"> + type = <"ITEM_STRUCTURE"> + > + ["best_practice_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"best_practice_ref"> + type = <"DV_URI"> + > + ["definition"] = (P_BMM_SINGLE_PROPERTY) < + name = <"definition"> + type = <"TASK_GROUP"> + is_mandatory = + > + ["principal_performer"] = (P_BMM_SINGLE_PROPERTY) < + name = <"principal_performer"> + type = <"TASK_PARTICIPATION"> + > + ["order_set_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"order_set_type"> + type = <"DV_IDENTIFIER"> + > + ["order_set_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"order_set_id"> + type = <"DV_IDENTIFIER"> + > + ["due_time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"due_time"> + type = <"Iso8601_duration"> + > + ["expiry_time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"expiry_time"> + type = <"Iso8601_duration"> + > + ["indications"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"indications"> + type_def = < + container_type = <"List"> + type = <"DV_TEXT"> + > + cardinality = <|>=0|> + > + ["execution_history"] = (P_BMM_SINGLE_PROPERTY) < + name = <"execution_history"> + type = <"TASK_PLAN_EXECUTION_HISTORY"> + is_im_runtime = + > + > + > + + ["PLAN_CALENDAR"] = < + name = <"PLAN_CALENDAR"> + properties = < + ["entries"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"entries"> + type_def = < + container_type = <"List"> + type = <"CALENDAR_ENTRY"> + > + cardinality = <|>=0|> + > + > + > + + ["CALENDAR_ENTRY"] = < + name = <"CALENDAR_ENTRY"> + > + + ["PLAN_TIMELINE"] = < + name = <"PLAN_TIMELINE"> + properties = < + ["planned_items"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"planned_items"> + type_def = < + container_type = <"List"> + type = <"PLAN_ITEM"> + > + cardinality = <|>=0|> + > + ["timers"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"timers"> + type_def = < + container_type = <"List"> + type = <"TIMER_WAIT"> + > + cardinality = <|>=0|> + > + > + > + + ["ORDER_REF"] = < + name = <"ORDER_REF"> + ancestors = <"LOCATABLE"> + properties = < + ["order_tag"] = (P_BMM_SINGLE_PROPERTY) < + name = <"order_tag"> + type = <"String"> + > + ["order_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"order_ref"> + type = <"LOCATABLE_REF"> + > + ["instruction_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"instruction_archetype_id"> + type = <"String"> + > + ["action_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"action_archetype_id"> + type = <"String"> + > + > + > + + ["TASK_PARTICIPATION"] = < + name = <"TASK_PARTICIPATION"> + properties = < + ["function"] = (P_BMM_SINGLE_PROPERTY) < + name = <"function"> + type = <"DV_TEXT"> + > + ["role"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"role"> + type_def = < + container_type = <"List"> + type = <"DV_TEXT"> + > + cardinality = <|>=0|> + > + ["mode"] = (P_BMM_SINGLE_PROPERTY) < + name = <"mode"> + type = <"DV_CODED_TEXT"> + > + ["performer"] = (P_BMM_SINGLE_PROPERTY) < + name = <"performer"> + type = <"PARTY_PROXY"> + > + ["optionality"] = (P_BMM_SINGLE_PROPERTY) < + name = <"optionality"> + type = <"VALIDITY_KIND"> + > + > + > + + ["PLAN_ITEM"] = < + name = <"PLAN_ITEM"> + ancestors = <"LOCATABLE"> + is_abstract = + properties = < + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"DV_TEXT"> + is_mandatory = + > + ["repeat_spec"] = (P_BMM_SINGLE_PROPERTY) < + name = <"repeat_spec"> + type = <"TASK_REPEAT"> + > + ["wait_spec"] = (P_BMM_SINGLE_PROPERTY) < + name = <"wait_spec"> + type = <"TASK_WAIT"> + > + ["review_dataset"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"review_dataset"> + type_def = < + container_type = <"List"> + type = <"REVIEW_DATASET_SPEC"> + > + cardinality = <|>=0|> + > + ["reminders"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"reminders"> + type_def = < + container_type = <"List"> + type = <"REMINDER"> + > + cardinality = <|>=0|> + > + ["classification"] = (P_BMM_SINGLE_PROPERTY) < + name = <"classification"> + type = <"ITEM_STRUCTURE"> + > + ["guideline_step"] = (P_BMM_SINGLE_PROPERTY) < + name = <"guideline_step"> + type = <"String"> + > + ["other_details"] = (P_BMM_SINGLE_PROPERTY) < + name = <"other_details"> + type = <"ITEM_STRUCTURE"> + > + > + > + + ["TASK_REPEAT"] = < + name = <"TASK_REPEAT"> + properties = < + ["repeats"] = (P_BMM_GENERIC_PROPERTY) < + name = <"repeats"> + type_def = < + root_type = <"Interval"> + generic_parameters = <"Integer"> + > + > + ["terminate_condition"] = (P_BMM_SINGLE_PROPERTY) < + name = <"terminate_condition"> + type = <"PLAN_EVENT"> + > + ["period"] = (P_BMM_SINGLE_PROPERTY) < + name = <"period"> + type = <"Iso8601_duration"> + > + > + > + + ["TASK_GROUP"] = < + name = <"TASK_GROUP"> + ancestors = <"PLAN_ITEM"> + properties = < + ["execution_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"execution_type"> + type = <"EXECUTION_TYPE"> + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"PLAN_ITEM"> + > + cardinality = <|>=0|> + > + ["training_level"] = (P_BMM_SINGLE_PROPERTY) < + name = <"training_level"> + type = <"Integer"> + > + > + > + + ["EXECUTION_TYPE"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"EXECUTION_TYPE"> + ancestors = <"Integer"> + item_names = <"sequential", "parallel"> + > + + ["TASK"] = < + name = <"TASK"> + ancestors = <"PLAN_ITEM"> + is_abstract = + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"TASK_ACTION"> + > + > + properties = < + ["action"] = (P_BMM_SINGLE_PROPERTY_OPEN) < + name = <"action"> + type = <"T"> + is_mandatory = + > + ["order_tags"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"order_tags"> + type_def = < + container_type = <"List"> + type = <"String"> + > + cardinality = <|>=0|> + > + > + > + + ["DISPATCHABLE_TASK"] = < + name = <"DISPATCHABLE_TASK"> + ancestors = <"TASK"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"DISPATCHABLE_ACTION"> + > + > + properties = < + ["wait"] = (P_BMM_SINGLE_PROPERTY) < + name = <"wait"> + type = <"Boolean"> + is_mandatory = + > + ["callback"] = (P_BMM_SINGLE_PROPERTY) < + name = <"callback"> + type = <"CALLBACK_WAIT"> + > + > + > + + ["PERFORMABLE_TASK"] = < + name = <"PERFORMABLE_TASK"> + ancestors = <"TASK"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"PERFORMABLE_ACTION"> + > + > + properties = < + ["capture_dataset"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"capture_dataset"> + type_def = < + container_type = <"List"> + type = <"CAPTURE_DATASET_SPEC"> + > + cardinality = <|>=0|> + > + > + > + + -- + --------------------- Actions ------------------ + -- + + ["TASK_ACTION"] = < + name = <"TASK_ACTION"> + ancestors = <"LOCATABLE"> + is_abstract = + properties = < + ["subject_preconditions"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"subject_preconditions"> + type_def = < + container_type = <"List"> + type = <"SUBJECT_PRECONDITION"> + > + cardinality = <|>=0|> + > + ["costing_data"] = (P_BMM_SINGLE_PROPERTY) < + name = <"costing_data"> + type = <"TASK_COSTING"> + > + ["instruction_activity"] = (P_BMM_SINGLE_PROPERTY) < + name = <"instruction_activity"> + type = <"LOCATABLE_REF"> + > + > + > + + ["DISPATCHABLE_ACTION"] = < + name = <"DISPATCHABLE_ACTION"> + ancestors = <"TASK_ACTION"> + is_abstract = + > + + ["PERFORMABLE_ACTION"] = < + name = <"PERFORMABLE_ACTION"> + ancestors = <"TASK_ACTION"> + is_abstract = + properties = < + ["other_participations"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"other_participations"> + type_def = < + container_type = <"List"> + type = <"TASK_PARTICIPATION"> + > + cardinality = <|>=0|> + > + ["resources"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"resources"> + type_def = < + container_type = <"List"> + type = <"RESOURCE_PARTICIPATION"> + > + cardinality = <|>=0|> + > + > + > + + ["RESOURCE_PARTICIPATION"] = < + name = <"RESOURCE_PARTICIPATION"> + properties = < + ["resource_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"resource_type"> + type = <"DV_TEXT"> + is_mandatory = + > + ["external_ref"] = (P_BMM_SINGLE_PROPERTY) < + name = <"external_ref"> + type = <"OBJECT_REF"> + > + > + > + + ["SUBJECT_PRECONDITION"] = < + name = <"SUBJECT_PRECONDITION"> + properties = < + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"String"> + is_mandatory = + > + ["expression"] = (P_BMM_SINGLE_PROPERTY) < + name = <"expression"> + type = <"BOOLEAN_CONTEXT_EXPRESSION"> + > + > + > + + ["EXTERNAL_REQUEST"] = < + name = <"EXTERNAL_REQUEST"> + ancestors = <"DISPATCHABLE_ACTION"> + properties = < + ["organisation"] = (P_BMM_SINGLE_PROPERTY) < + name = <"organisation"> + type = <"PARTY_PROXY"> + is_mandatory = + > + ["request_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"request_id"> + type = <"String"> + is_mandatory = + > + ["other_details"] = (P_BMM_SINGLE_PROPERTY) < + name = <"other_details"> + type = <"ITEM_STRUCTURE"> + > + > + > + + ["DEFINED_ACTION"] = < + name = <"DEFINED_ACTION"> + ancestors = <"PERFORMABLE_ACTION"> + properties = < + ["prototype"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"prototype"> + type_def = < + container_type = <"List"> + type = <"ENTRY"> + > + cardinality = <|>=0|> + > + ["optionality"] = (P_BMM_SINGLE_PROPERTY) < + name = <"optionality"> + type = <"VALIDITY_KIND"> + > + > + > + + ["SYSTEM_REQUEST"] = < + name = <"SYSTEM_REQUEST"> + ancestors = <"DISPATCHABLE_ACTION"> + properties = < + ["system_call"] = (P_BMM_SINGLE_PROPERTY) < + name = <"system_call"> + type = <"SYSTEM_CALL"> + is_mandatory = + > + > + > + + ["DATASET_SPEC"] = < + name = <"DATASET_SPEC"> + ancestors = <"LOCATABLE"> + properties = < + ["form_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"form_id"> + type = <"String"> + > + ["template_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"template_id"> + type = <"String"> + > + ["populating_call"] = (P_BMM_SINGLE_PROPERTY) < + name = <"populating_call"> + type = <"SYSTEM_CALL"> + > + ["form_section_path"] = (P_BMM_SINGLE_PROPERTY) < + name = <"form_section_path"> + type = <"String"> + > + ["other_details"] = (P_BMM_SINGLE_PROPERTY) < + name = <"other_details"> + type = <"ITEM_STRUCTURE"> + > + > + > + + ["CAPTURE_DATASET_SPEC"] = < + name = <"CAPTURE_DATASET_SPEC"> + ancestors = <"DATASET_SPEC"> + properties = < + ["commit_group"] = (P_BMM_SINGLE_PROPERTY) < + name = <"commit_group"> + type = <"DATASET_COMMIT_GROUP"> + > + > + > + + ["DATASET_COMMIT_GROUP"] = < + name = <"DATASET_COMMIT_GROUP"> + properties = < + ["group_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"group_id"> + type = <"String"> + > + ["completion_step"] = (P_BMM_SINGLE_PROPERTY) < + name = <"completion_step"> + type = <"Boolean"> + > + > + > + + ["REVIEW_DATASET_SPEC"] = < + name = <"REVIEW_DATASET_SPEC"> + ancestors = <"DATASET_SPEC"> + properties = < + ["capture_datasets"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"capture_datasets"> + type_def = < + container_type = <"List"> + type = <"CAPTURE_DATASET_SPEC"> + > + cardinality = <|>=0|> + > + > + > + + ["LINKED_PLAN"] = < + name = <"LINKED_PLAN"> + is_abstract = + properties = < + ["target"] = (P_BMM_SINGLE_PROPERTY) < + name = <"target"> + type = <"TASK_PLAN"> + is_mandatory = + > + > + > + + ["HAND_OFF"] = < + name = <"HAND_OFF"> + ancestors = <"LINKED_PLAN", "DISPATCHABLE_ACTION"> + > + + ["SUB_PLAN"] = < + name = <"SUB_PLAN"> + ancestors = <"LINKED_PLAN", "PERFORMABLE_ACTION"> + > + + ["TASK_COSTING"] = < + name = <"TASK_COSTING"> + > + + -- + --------------------- Conditionals ------------------ + -- + + ["CHOICE_GROUP"] = < + name = <"CHOICE_GROUP"> + is_abstract = + ancestors = <"TASK_GROUP"> + properties = < + ["override_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"override_type"> + type = <"OVERRIDE_TYPE"> + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"CHOICE_BRANCH"> + > + cardinality = <|>=0|> + > + ["timeout"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeout"> + type = <"TIMER_WAIT"> + > + > + > + + ["OVERRIDE_TYPE"] = (P_BMM_ENUMERATION_INTEGER) < + name = <"OVERRIDE_TYPE"> + ancestors = <"Integer"> + item_names = <"allowed", "allowed_with_reason", "prohibited"> + > + + ["CHOICE_BRANCH"] = < + name = <"CHOICE_BRANCH"> + ancestors = <"TASK_GROUP"> + is_abstract = + > + + ["ADHOC_GROUP"] = < + name = <"ADHOC_GROUP"> + ancestors = <"CHOICE_GROUP"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"ADHOC_BRANCH"> + > + cardinality = <|>=0|> + > + > + > + + ["ADHOC_BRANCH"] = < + name = <"ADHOC_BRANCH"> + ancestors = <"CHOICE_BRANCH"> + > + + ["CONDITION_GROUP"] = < + name = <"CONDITION_GROUP"> + ancestors = <"CHOICE_GROUP"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"CONDITION_BRANCH"> + > + cardinality = <|>=0|> + > + > + > + + ["CONDITION_BRANCH"] = < + name = <"CONDITION_BRANCH"> + ancestors = <"CHOICE_BRANCH"> + properties = < + ["test"] = (P_BMM_SINGLE_PROPERTY) < + name = <"test"> + type = <"BOOLEAN_CONTEXT_EXPRESSION"> + is_mandatory = + > + > + > + + ["DECISION_GROUP"] = < + name = <"DECISION_GROUP"> + ancestors = <"CHOICE_GROUP"> + properties = < + ["test"] = (P_BMM_GENERIC_PROPERTY) < + name = <"test"> + type_def = < + root_type = <"CONTEXT_EXPRESSION"> + generic_parameters = <"EXPR_TYPE_DEF"> + > + is_mandatory = + > + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"DECISION_BRANCH"> + > + cardinality = <|>=0|> + > + > + > + + ["DECISION_BRANCH"] = < + name = <"DECISION_BRANCH"> + ancestors = <"CHOICE_BRANCH"> + properties = < + ["value_constraint"] = (P_BMM_SINGLE_PROPERTY) < + name = <"value_constraint"> + type = <"BOOLEAN_CONTEXT_EXPRESSION"> + is_mandatory = + > + > + > + + ["EVENT_GROUP"] = < + name = <"EVENT_GROUP"> + ancestors = <"CHOICE_GROUP"> + properties = < + ["members"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"members"> + type_def = < + container_type = <"List"> + type = <"EVENT_BRANCH"> + > + cardinality = <|>=0|> + > + > + > + + ["EVENT_BRANCH"] = < + name = <"EVENT_BRANCH"> + ancestors = <"CHOICE_BRANCH"> + > + + -- + --------------------- Events ------------------ + -- + + ["TASK_WAIT"] = < + name = <"TASK_WAIT"> + properties = < + ["events"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"events"> + type_def = < + container_type = <"List"> + type = <"PLAN_EVENT"> + > + cardinality = <|>=0|> + > + ["event_relation"] = (P_BMM_SINGLE_PROPERTY) < + name = <"event_relation"> + type = <"TEMPORAL_RELATION"> + > + ["timeout"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeout"> + type = <"TIMER_WAIT"> + > + ["next_state"] = (P_BMM_SINGLE_PROPERTY) < + name = <"next_state"> + type = <"TASK_LIFECYCLE"> + > + > + > + + ["EVENT"] = < + name = <"EVENT"> + ancestors = <"LOCATABLE"> + is_abstract = + > + + ["PLAN_EVENT"] = < + name = <"PLAN_EVENT"> + ancestors = <"EVENT"> + is_abstract = + properties = < + ["delay"] = (P_BMM_SINGLE_PROPERTY) < + name = <"delay"> + type = <"Iso8601_duration"> + > + ["other_details"] = (P_BMM_SINGLE_PROPERTY) < + name = <"other_details"> + type = <"ITEM_STRUCTURE"> + > + > + > + + ["TIMELINE_MOMENT"] = < + name = <"TIMELINE_MOMENT"> + ancestors = <"PLAN_EVENT"> + properties = < + ["timeline_offset"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeline_offset"> + type = <"Iso8601_duration"> + > + ["fixed_time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"fixed_time"> + type = <"TIME_SPECIFIER"> + > + ["timeline_origin"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeline_origin"> + type = <"PLAN_TIME_ORIGIN"> + > + > + > + + ["SYSTEM_NOTIFICATION"] = < + name = <"SYSTEM_NOTIFICATION"> + ancestors = <"PLAN_EVENT"> + properties = < + ["system_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"system_id"> + type = <"String"> + is_mandatory = + > + ["notification_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"notification_type"> + type = <"String"> + > + ["reference_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"reference_id"> + type = <"String"> + > + > + > + + ["CALLBACK_NOTIFICATION"] = < + name = <"CALLBACK_NOTIFICATION"> + ancestors = <"EVENT"> + properties = < + ["task_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"task_id"> + type = <"UID_BASED_ID"> + is_mandatory = + > + ["request_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"request_id"> + type = <"String"> + > + > + > + + ["MANUAL_NOTIFICATION"] = < + name = <"MANUAL_NOTIFICATION"> + ancestors = <"PLAN_EVENT"> + properties = < + ["description"] = (P_BMM_SINGLE_PROPERTY) < + name = <"description"> + type = <"String"> + is_mandatory = + > + > + > + + ["TASK_TRANSITION"] = < + name = <"TASK_TRANSITION"> + ancestors = <"PLAN_EVENT"> + properties = < + ["task_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"task_id"> + type = <"UID_BASED_ID"> + is_mandatory = + > + ["transitions"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"transitions"> + type_def = < + container_type = <"List"> + type = <"TASK_LIFECYCLE"> + > + cardinality = <|>=1|> + > + > + > + + ["EVENT_WAIT"] = < + name = <"EVENT_WAIT"> + generic_parameter_defs = < + ["T"] = < + name = <"T"> + conforms_to_type = <"PLAN_EVENT"> + > + > + properties = < + ["event"] = (P_BMM_SINGLE_PROPERTY_OPEN) < + name = <"event"> + type = <"T"> + is_mandatory = + > + ["timeout"] = (P_BMM_SINGLE_PROPERTY) < + name = <"timeout"> + type = <"TIMER_WAIT"> + > + ["success_action"] = (P_BMM_SINGLE_PROPERTY) < + name = <"success_action"> + type = <"EVENT_ACTION"> + > + > + > + + ["STATE_TRIGGER"] = < + name = <"STATE_TRIGGER"> + ancestors = <"PLAN_EVENT"> + properties = < + ["expression"] = (P_BMM_SINGLE_PROPERTY) < + name = <"expression"> + type = <"BOOLEAN_CONTEXT_EXPRESSION"> + is_mandatory = + > + > + > + + ["TIMER_EVENT"] = < + name = <"TIMER_EVENT"> + ancestors = <"PLAN_EVENT"> + properties = < + ["duration"] = (P_BMM_SINGLE_PROPERTY) < + name = <"duration"> + type = <"Iso8601_duration"> + is_mandatory = + > + ["purpose"] = (P_BMM_SINGLE_PROPERTY) < + name = <"purpose"> + type = <"String"> + > + > + > + + ["REMINDER"] = < + name = <"REMINDER"> + ancestors = <"EVENT_WAIT"> + > + + ["TIMER_WAIT"] = < + name = <"TIMER_WAIT"> + ancestor_defs = < + ["EVENT_WAIT"] = (P_BMM_GENERIC_TYPE) < + root_type = <"EVENT_WAIT"> + generic_parameters = <"TIMER_EVENT"> + > + > + > + + ["CALLBACK_WAIT"] = < + name = <"CALLBACK_WAIT"> + ancestor_defs = < + ["EVENT_WAIT"] = (P_BMM_GENERIC_TYPE) < + root_type = <"EVENT_WAIT"> + generic_parameters = <"CALLBACK_NOTIFICATION"> + > + > + properties = < + ["fail_action"] = (P_BMM_SINGLE_PROPERTY) < + name = <"fail_action"> + type = <"EVENT_ACTION"> + > + ["custom_actions"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"custom_actions"> + type_def = < + container_type = <"List"> + type = <"EVENT_ACTION"> + > + cardinality = <|>=0|> + > + > + > + + ["EVENT_ACTION"] = < + name = <"EVENT_ACTION"> + properties = < + ["system_call"] = (P_BMM_CONTAINER_PROPERTY) < + name = <"system_call"> + type_def = < + container_type = <"List"> + type = <"SYSTEM_CALL"> + > + cardinality = <|>=0|> + > + ["resume_action"] = (P_BMM_SINGLE_PROPERTY) < + name = <"resume_action"> + type = <"RESUME_ACTION"> + > + ["message"] = (P_BMM_SINGLE_PROPERTY) < + name = <"message"> + type = <"DV_TEXT"> + > + ["receiver_thread_next_state"] = (P_BMM_SINGLE_PROPERTY) < + name = <"receiver_thread_next_state"> + type = <"TASK_LIFECYCLE"> + > + > + > + + ["CALENDAR_EVENT"] = < + name = <"CALENDAR_EVENT"> + ancestors = <"PLAN_EVENT"> + properties = < + ["entry_id"] = (P_BMM_SINGLE_PROPERTY) < + name = <"entry_id"> + type = <"UID_BASED_ID"> + > + ["time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"time"> + type = <"Iso8601_date_time"> + is_mandatory = + > + > + > + + ["RESUME_ACTION"] = < + name = <"RESUME_ACTION"> + properties = < + ["resume_type"] = (P_BMM_SINGLE_PROPERTY) < + name = <"resume_type"> + type = <"RESUME_TYPE"> + is_mandatory = + > + ["resume_location"] = (P_BMM_SINGLE_PROPERTY) < + name = <"resume_location"> + type = <"UID_BASED_ID"> + > + > + > + + + -- + --------------------- Time specification ------------------ + -- + + ["TIME_SPECIFIER"] = < + name = <"TIME_SPECIFIER"> + is_abstract = + > + + ["CLOCK_TIME"] = < + name = <"CLOCK_TIME"> + ancestors = <"TIME_SPECIFIER"> + properties = < + ["time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"time"> + type = <"Iso8601_time"> + is_mandatory = + > + > + > + + ["CUSTOMARY_TIME"] = < + name = <"CUSTOMARY_TIME"> + ancestors = <"TIME_SPECIFIER"> + properties = < + ["time"] = (P_BMM_SINGLE_PROPERTY) < + name = <"time"> + type = <"DV_CODED_TEXT"> + is_mandatory = + > + > + > + + -- + --------------------- history ------------------ + -- + + ["TASK_PLAN_EXECUTION_HISTORY"] = < + name = <"TASK_PLAN_EXECUTION_HISTORY"> + > + +> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_basic_types_103.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_basic_types_103.bmm index 1afa89e0a..7d3ec1dc7 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_basic_types_103.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_basic_types_103.bmm @@ -569,7 +569,6 @@ class_definitions = < ["property"] = (P_BMM_SINGLE_PROPERTY) < name = <"property"> type = <"CODE_PHRASE"> - is_mandatory = > ["units"] = (P_BMM_SINGLE_PROPERTY) < name = <"units"> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_ehr_103.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_ehr_103.bmm index 9590e5caa..ea33fa8dc 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_ehr_103.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_ehr_103.bmm @@ -463,6 +463,7 @@ class_definitions = < ["action_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < name = <"action_archetype_id"> type = <"String"> + is_mandatory = > > > diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_ehr_extract_103.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_ehr_extract_103.bmm index 563ef228f..b0f0c90bd 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_ehr_extract_103.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_ehr_extract_103.bmm @@ -552,10 +552,10 @@ class_definitions = < ["versions"] = (P_BMM_CONTAINER_PROPERTY) < name = <"versions"> type_def = < - type_def = (P_BMM_GENERIC_TYPE) < - root_type = <"ORIGINAL_VERSION"> - generic_parameters = <"T"> - > + type_def = (P_BMM_GENERIC_TYPE) < + root_type = <"ORIGINAL_VERSION"> + generic_parameters = <"T"> + > container_type = <"List"> > cardinality = <|>=0|> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_structures_103.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_structures_103.bmm index d755a8781..e0b6edbcd 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_structures_103.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.3/openehr_structures_103.bmm @@ -257,9 +257,9 @@ class_definitions = < type_def = < container_type = <"List"> type_def = (P_BMM_GENERIC_TYPE) < - root_type = <"EVENT"> - generic_parameters = <"T"> - > + root_type = <"EVENT"> + generic_parameters = <"T"> + > > cardinality = <|>=1|> > @@ -1056,7 +1056,6 @@ class_definitions = < root_type = <"Hash"> generic_parameters = <"String", "String"> > - is_mandatory = > > > diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_data_types_104.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_data_types_104.bmm index d72397f4e..37586fa2b 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_data_types_104.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_data_types_104.bmm @@ -199,18 +199,12 @@ class_definitions = < > ["language"] = (P_BMM_SINGLE_PROPERTY) < name = <"language"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::languages"> - > + type = <"CODE_PHRASE"> is_im_infrastructure = > ["encoding"] = (P_BMM_SINGLE_PROPERTY) < name = <"encoding"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::character sets"> - > + type = <"CODE_PHRASE"> is_im_infrastructure = > ["formatting"] = (P_BMM_SINGLE_PROPERTY) < @@ -322,10 +316,7 @@ class_definitions = < properties = < ["normal_status"] = (P_BMM_SINGLE_PROPERTY) < name = <"normal_status"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::normal statuses"> - > + type = <"CODE_PHRASE"> > ["normal_range"] = (P_BMM_GENERIC_PROPERTY) < name = <"normal_range"> @@ -425,7 +416,6 @@ class_definitions = < ["property"] = (P_BMM_SINGLE_PROPERTY) < name = <"property"> type = <"CODE_PHRASE"> - is_mandatory = > ["units"] = (P_BMM_SINGLE_PROPERTY) < name = <"units"> @@ -615,18 +605,12 @@ class_definitions = < properties = < ["charset"] = (P_BMM_SINGLE_PROPERTY) < name = <"charset"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::character sets"> - > + type = <"CODE_PHRASE"> is_im_runtime = > ["language"] = (P_BMM_SINGLE_PROPERTY) < name = <"language"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::languages"> - > + type = <"CODE_PHRASE"> is_im_runtime = > > @@ -654,18 +638,12 @@ class_definitions = < > ["media_type"] = (P_BMM_SINGLE_PROPERTY) < name = <"media_type"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::media types"> - > + type = <"CODE_PHRASE"> is_mandatory = > ["compression_algorithm"] = (P_BMM_SINGLE_PROPERTY) < name = <"compression_algorithm"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::compression algorithms"> - > + type = <"CODE_PHRASE"> > ["integrity_check"] = (P_BMM_CONTAINER_PROPERTY) < name = <"integrity_check"> @@ -677,10 +655,7 @@ class_definitions = < > ["integrity_check_algorithm"] = (P_BMM_SINGLE_PROPERTY) < name = <"integrity_check_algorithm"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::integrity check algorithms"> - > + type = <"CODE_PHRASE"> > ["thumbnail"] = (P_BMM_SINGLE_PROPERTY) < name = <"thumbnail"> diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_ehr_104.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_ehr_104.bmm index 41fa827c9..bd36c80e8 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_ehr_104.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_ehr_104.bmm @@ -199,18 +199,12 @@ class_definitions = < properties = < ["language"] = (P_BMM_SINGLE_PROPERTY) < name = <"language"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::languages"> - > + type = <"CODE_PHRASE"> is_mandatory = > ["territory"] = (P_BMM_SINGLE_PROPERTY) < name = <"territory"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::countries"> - > + type = <"CODE_PHRASE"> is_mandatory = > ["category"] = (P_BMM_SINGLE_PROPERTY) < @@ -319,19 +313,13 @@ class_definitions = < properties = < ["language"] = (P_BMM_SINGLE_PROPERTY) < name = <"language"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::languages"> - > + type = <"CODE_PHRASE"> is_mandatory = is_im_infrastructure = > ["encoding"] = (P_BMM_SINGLE_PROPERTY) < name = <"encoding"> - type_ref = < - type = <"CODE_PHRASE"> - value_constraint = <"openEHR::character sets"> - > + type = <"CODE_PHRASE"> is_mandatory = is_im_infrastructure = > @@ -471,6 +459,7 @@ class_definitions = < ["action_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < name = <"action_archetype_id"> type = <"String"> + is_mandatory = > > > diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_ehr_extract_104.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_ehr_extract_104.bmm index 225b02adf..240aa529e 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_ehr_extract_104.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_ehr_extract_104.bmm @@ -231,11 +231,11 @@ class_definitions = < type = <"String"> is_im_runtime = > - ["other_ids"] = (P_BMM_CONTAINER_PROPERTY) < + ["other_ids"] = (P_BMM_GENERIC_PROPERTY) < name = <"other_ids"> type_def = < - container_type = <"Hash"> - type = <"String"> + root_type = <"Hash"> + generic_parameters = <"String", "String"> > is_im_runtime = > @@ -477,11 +477,11 @@ class_definitions = < type = <"String"> is_im_runtime = > - ["other_details"] = (P_BMM_CONTAINER_PROPERTY) < + ["other_details"] = (P_BMM_GENERIC_PROPERTY) < name = <"other_details"> type_def = < - container_type = <"Hash"> - type = <"String"> + root_type = <"Hash"> + generic_parameters = <"String", "String"> > > ["item"] = (P_BMM_SINGLE_PROPERTY) < diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_structures_104.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_structures_104.bmm index c30a20606..e0fab397c 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_structures_104.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.0.4/openehr_rm_structures_104.bmm @@ -718,10 +718,6 @@ class_definitions = < > cardinality = <|>=0|> > - ["details"] = (P_BMM_SINGLE_PROPERTY) < - name = <"details"> - type = <"ITEM_STRUCTURE"> - > > > diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.1.0/openehr_rm_ehr_110.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.1.0/openehr_rm_ehr_110.bmm index 0607b09a2..4e0226288 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.1.0/openehr_rm_ehr_110.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.1.0/openehr_rm_ehr_110.bmm @@ -117,13 +117,13 @@ class_definitions = < type = <"OBJECT_REF"> > ["folders"] = (P_BMM_CONTAINER_PROPERTY) < - name = <"folders"> - type_def = < - container_type = <"List"> - type = <"OBJECT_REF"> - > - cardinality = <|>=0|> - > + name = <"folders"> + type_def = < + container_type = <"List"> + type = <"OBJECT_REF"> + > + cardinality = <|>=0|> + > ["compositions"] = (P_BMM_CONTAINER_PROPERTY) < name = <"compositions"> type_def = < @@ -467,6 +467,7 @@ class_definitions = < ["action_archetype_id"] = (P_BMM_SINGLE_PROPERTY) < name = <"action_archetype_id"> type = <"String"> + is_mandatory = > > > diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.1.0/openehr_rm_ehr_extract_110.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.1.0/openehr_rm_ehr_extract_110.bmm index b0022fd5c..7adf4dd10 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.1.0/openehr_rm_ehr_extract_110.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/Release-1.1.0/openehr_rm_ehr_extract_110.bmm @@ -231,11 +231,11 @@ class_definitions = < type = <"String"> is_im_runtime = > - ["other_ids"] = (P_BMM_CONTAINER_PROPERTY) < + ["other_ids"] = (P_BMM_GENERIC_PROPERTY) < name = <"other_ids"> type_def = < - container_type = <"Hash"> - type = <"String"> + root_type = <"Hash"> + generic_parameters = <"String", "String"> > is_im_runtime = > @@ -477,11 +477,11 @@ class_definitions = < type = <"String"> is_im_runtime = > - ["other_details"] = (P_BMM_CONTAINER_PROPERTY) < + ["other_details"] = (P_BMM_GENERIC_PROPERTY) < name = <"other_details"> type_def = < - container_type = <"Hash"> - type = <"String"> + root_type = <"Hash"> + generic_parameters = <"String", "String"> > > ["item"] = (P_BMM_SINGLE_PROPERTY) < diff --git a/referencemodels/src/main/resources/bmm/openEHR/components/RM/rejected/openehr_ehr_extract_999.bmm b/referencemodels/src/main/resources/bmm/openEHR/components/RM/rejected/openehr_ehr_extract_999.bmm index 0606ede22..6a95e46f6 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/components/RM/rejected/openehr_ehr_extract_999.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/components/RM/rejected/openehr_ehr_extract_999.bmm @@ -722,9 +722,9 @@ class_definitions = < name = <"versions"> type_def = < type_def = (P_BMM_GENERIC_TYPE) < - root_type = <"ORIGINAL_VERSION"> - generic_parameters = <"T"> - > + root_type = <"ORIGINAL_VERSION"> + generic_parameters = <"T"> + > container_type = <"List"> > cardinality = <|>=0|> diff --git a/referencemodels/src/main/resources/bmm/openEHR/original/Release-1.0.2/openehr_basic_types_102.bmm b/referencemodels/src/main/resources/bmm/openEHR/original/Release-1.0.2/openehr_basic_types_102.bmm index 76e7830d3..102c380c8 100644 --- a/referencemodels/src/main/resources/bmm/openEHR/original/Release-1.0.2/openehr_basic_types_102.bmm +++ b/referencemodels/src/main/resources/bmm/openEHR/original/Release-1.0.2/openehr_basic_types_102.bmm @@ -529,7 +529,6 @@ class_definitions = < ["property"] = (P_BMM_SINGLE_PROPERTY) < name = <"property"> type = <"CODE_PHRASE"> - is_mandatory = > ["units"] = (P_BMM_SINGLE_PROPERTY) < name = <"units"> diff --git a/referencemodels/src/test/java/org/openehr/referencemodels/BuiltInReferenceModelsTest.java b/referencemodels/src/test/java/org/openehr/referencemodels/BuiltInReferenceModelsTest.java index ef62773a7..ae6c28fa0 100644 --- a/referencemodels/src/test/java/org/openehr/referencemodels/BuiltInReferenceModelsTest.java +++ b/referencemodels/src/test/java/org/openehr/referencemodels/BuiltInReferenceModelsTest.java @@ -25,10 +25,10 @@ public void bmmRepository() throws Exception { System.out.println(validation.getLogger().toString()); } - assertEquals(33, bmmRepository.getPersistentSchemas().size()); - assertEquals(33, bmmRepository.getModels().size()); - assertEquals(31, bmmRepository.getValidModels().size()); - assertEquals(2, bmmRepository.getInvalidModels().size()); + assertEquals(35, bmmRepository.getPersistentSchemas().size()); + assertEquals(35, bmmRepository.getModels().size()); + assertEquals(32, bmmRepository.getValidModels().size()); + assertEquals(3, bmmRepository.getInvalidModels().size()); } @Test