-- -- 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.1"> ------------------------------------------------------ -- schema identification -- (schema_id computed as __) ------------------------------------------------------ rm_publisher = <"openehr"> schema_name = <"base_foundation_types"> rm_release = <"1.0.0"> ------------------------------------------------------ -- schema documentation ------------------------------------------------------ schema_revision = <"1.0.0.1"> schema_lifecycle_state = <"stable"> schema_description = <"openEHR Release 1.0.0 BASE model foundation 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" > > > > > ------------------------------------------------------ -- 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"> is_abstract = documentation = <"Parent of ISO8601 types."> 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 = > >