-- -- 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 = <"lang_beom"> rm_release = <"1.0.0"> ------------------------------------------------------ -- schema documentation ------------------------------------------------------ schema_revision = <"1.0.0.1"> schema_lifecycle_state = <"development"> schema_description = <"openEHR Release 1.0.0 Basic Expression Object Model (BEL) package"> schema_author = <"Thomas Beale "> ------------------------------------------------------ -- inclusions ------------------------------------------------------ includes = < ["1"] = < id = <"openehr_base_foundation_types_1.1.0"> > > ------------------------------------------------------ -- packages ------------------------------------------------------ packages = < ["org.openehr.lang.beom"] = < name = <"org.openehr.lang.beom"> packages = < ["core"] = < name = <"core"> classes = <"STATEMENT_SET", "STATEMENT", "VARIABLE_DECLARATION", "ASSIGNMENT", "ASSERTION", "EXPR_VALUE", "EXTERNAL_QUERY", "EXPRESSION", "EXPR_LEAF", "EXPR_LITERAL", "EXPR_VARIABLE_REF", "EXPR_VALUE_REF", "EXPR_FUNCTION_CALL", "EXPR_OPERATOR", "EXPR_UNARY_OPERATOR", "EXPR_BINARY_OPERATOR", "EXPR_FOR_ALL", "OPERATOR_KIND" > > ["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 = < ------------------------------------------------------------ ----------------------- beom.core -------------------------- ------------------------------------------------------------ ["STATEMENT_SET"] = < name = <"STATEMENT_SET"> ancestors = <"Any"> properties = < ["name"] = (P_BMM_SINGLE_PROPERTY) < name = <"name"> type = <"String"> > ["statement"] = (P_BMM_CONTAINER_PROPERTY) < name = <"statement"> type_def = (P_BMM_CONTAINER_TYPE) < container_type = <"List"> type = <"STATEMENT"> > > > > ["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"] = (P_BMM_SINGLE_PROPERTY) < name = <"operator"> type = <"OPERATOR_KIND"> 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_FOR_ALL"] = < name = <"EXPR_FOR_ALL"> ancestors = <"EXPR_OPERATOR"> properties = < ["condition"] = (P_BMM_SINGLE_PROPERTY) < name = <"condition"> type = <"ASSERTION"> is_mandatory = > ["operand"] = (P_BMM_SINGLE_PROPERTY) < name = <"operand"> type = <"EXPR_VALUE_REF"> is_mandatory = > > > ["OPERATOR_KIND"] = < name = <"OPERATOR_KIND"> properties = < ["identifier"] = (P_BMM_SINGLE_PROPERTY) < name = <"identifier"> type = <"String"> is_mandatory = > > > ["EXPR_LITERAL"] = < name = <"EXPR_LITERAL"> ancestors = <"EXPR_LEAF"> properties = < ["item"] = (P_BMM_SINGLE_PROPERTY) < name = <"item"> type = <"Any"> is_mandatory = > > > ["EXPR_FUNCTION_CALL"] = < name = <"EXPR_FUNCTION_CALL"> ancestors = <"EXPR_LEAF"> properties = < ["arguments"] = (P_BMM_CONTAINER_PROPERTY) < name = <"arguments"> type_def = (P_BMM_CONTAINER_TYPE) < container_type = <"List"> type = <"EXPRESSION"> > > > > ["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"> > ------------------------------------------------------------ ----------------------- beom.types -------------------------- ------------------------------------------------------------ ["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"> > >