Measurement Package

Overview

The Measurement package defines a minimum of semantics relating to quantitative measurement, units, and conversion, enabling the Quantity package of the openEHR Data Types Information Model to be correctly expressed. As for the Terminology package, a simple service interface is assumed, which provides useful functions to other parts of the reference model. The definitions underlying measurement and units come from a variety of sources, including:

These of course rest in turn upon a vast amount of literature and standards, mainly from ISO on the subject of scientific measurement.

Service Interface

A simple measurement data service interface is defined according to the figure below, enabling quantitative semantics to be used formally from within the Reference Model. Note that this service as currently defined in no way seeks to properly model the semantics of units, conversions etc - it provides only the minimum functions required by the openEHR Reference Model.

RM support.measurement
Figure 1. rm.support.measurement Package

Class Definitions

TERMINOLOGY_SERVICE Class

  • Definition

  • Effective

  • BMM

  • UML

Class

TERMINOLOGY_SERVICE

Description

Defines an object providing proxy access to a terminology service.

Inherit

OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS, OPENEHR_CODE_SET_IDENTIFIERS

Functions

Signature

Meaning

1..1

terminology (
name: String[1]
): TERMINOLOGY_ACCESS

Return an interface to the terminology named name. Allowable names include:-

1..1

code_set (
name: String[1]
): CODE_SET_ACCESS

Pre: has_code_set (name)

Return an interface to the code_set identified by the external identifier name (e.g. ISO_639-1).

1..1

code_set_for_id (
id: String[1]
): CODE_SET_ACCESS

Pre: valid_code_set_id (id)

Return an interface to the code_set identified internally in openEHR by id.

1..1

has_terminology (
name: String[1]
): Boolean

True if terminology named name known by this service. Allowable names include:-

1..1

has_code_set (
name: String[1]
): Boolean

True if code_set linked to internal name (e.g. languages ) is available.

0..1

terminology_identifiers (): List<String>

Set of all terminology identifiers known in the terminology service. Values from the US NLM UMLS meta-data list at:- http://www.nlm.nih.gov/research/umls/metaa1.html

1..1

openehr_code_sets (): Hash<String,String>

Set of all code set identifiers known in the terminology service.

0..1

code_set_identifiers (): List<String>

Set of all code sets identifiers for which there is an internal openEHR name; returned as a Map of ids keyed by internal name.

TERMINOLOGY_SERVICE

Defines an object providing proxy access to a terminology service.

Inherits: OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS, OPENEHR_CODE_SET_IDENTIFIERS

Constants

Terminology_id_openehr: String = "openehr" [1..1]

Name of openEHR’s own terminology.
Inherited from OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS

Group_id_audit_change_type: String = "audit change type" [1..1]

Group_id_attestation_reason: String = "attestation reason" [1..1]

Group_id_composition_category: String = "composition category" [1..1]

Group_id_event_math_function: String = "event math function" [1..1]

Group_id_instruction_states: String = "instruction states" [1..1]

Group_id_instruction_transitions: String = "instruction transitions" [1..1]

Group_id_null_flavours: String = "null flavours" [1..1]

Group_id_property: String = "property" [1..1]

Group_id_participation_function: String = "participation function" [1..1]

Group_id_participation_mode: String = "participation mode" [1..1]

Group_id_setting: String = "setting" [1..1]

Group_id_term_mapping_purpose: String = "term mapping purpose" [1..1]

Group_id_subject_relationship: String = "subject relationship" [1..1]

Group_id_version_life_cycle_state: String = "version lifecycle state" [1..1]

Code_set_id_character_sets: String = "character sets" [1..1]

+ Inherited from OPENEHR_CODE_SET_IDENTIFIERS

Code_set_id_compression_algorithms: String = "compression algorithms" [1..1]

+ Inherited from OPENEHR_CODE_SET_IDENTIFIERS

Code_set_id_countries: String = "countries" [1..1]

+ Inherited from OPENEHR_CODE_SET_IDENTIFIERS

Code_set_integrity_check_algorithms: String = "integrity check algorithms" [1..1]

+ Inherited from OPENEHR_CODE_SET_IDENTIFIERS

Code_set_id_languages: String = "languages" [1..1]

+ Inherited from OPENEHR_CODE_SET_IDENTIFIERS

Code_set_id_media_types: String = "media types" [1..1]

+ Inherited from OPENEHR_CODE_SET_IDENTIFIERS

Code_set_id_normal_statuses: String = "normal statuses" [1..1]

+ Inherited from OPENEHR_CODE_SET_IDENTIFIERS

Functions

valid_terminology_group_id (
an_id: Boolean[1]
): Boolean [1..1]

Validity function to test if an identifier is in the set defined by this class.
Inherited from OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS

valid_code_set_id (
an_id: String[1]
): Boolean [1..1]

Validity function to test if an identifier is in the set defined by this class.
Inherited from OPENEHR_CODE_SET_IDENTIFIERS

terminology (
name: String[1]
): TERMINOLOGY_ACCESS [1..1]

Return an interface to the terminology named name. Allowable names include:-

code_set (
name: String[1]
): CODE_SET_ACCESS

Pre: has_code_set (name) [1..1]

Return an interface to the code_set identified by the external identifier name (e.g. ISO_639-1).

code_set_for_id (
id: String[1]
): CODE_SET_ACCESS

Pre: valid_code_set_id (id) [1..1]

Return an interface to the code_set identified internally in openEHR by id.

has_terminology (
name: String[1]
): Boolean [1..1]

True if terminology named name known by this service. Allowable names include:-

has_code_set (
name: String[1]
): Boolean [1..1]

True if code_set linked to internal name (e.g. languages ) is available.

terminology_identifiers (): List<String> [0..1]

Set of all terminology identifiers known in the terminology service. Values from the US NLM UMLS meta-data list at:- http://www.nlm.nih.gov/research/umls/metaa1.html

openehr_code_sets (): Hash<String,String> [1..1]

Set of all code set identifiers known in the terminology service.

code_set_identifiers (): List<String> [0..1]

Set of all code sets identifiers for which there is an internal openEHR name; returned as a Map of ids keyed by internal name.

{
    "name": "TERMINOLOGY_SERVICE",
    "documentation": "Defines an object providing proxy access to a terminology service. ",
    "ancestors": [
        "OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS",
        "OPENEHR_CODE_SET_IDENTIFIERS"
    ],
    "functions": {
        "terminology": {
            "name": "terminology",
            "documentation": "Return an interface to the terminology named name. Allowable names include:-\n\n* openehr, \n* centc251,\n* any name from are taken from the US NLM UMLS meta-data list at http://www.nlm.nih.gov/research/umls/metaa1.html ",
            "parameters": {
                "name": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "name",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "TERMINOLOGY_ACCESS"
            }
        },
        "code_set": {
            "name": "code_set",
            "documentation": "Return an interface to the code_set identified by the external identifier name (e.g.  ISO_639-1). ",
            "parameters": {
                "name": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "name",
                    "type": "String"
                }
            },
            "pre_conditions": {
                "Pre": "has_code_set (name)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "CODE_SET_ACCESS"
            }
        },
        "code_set_for_id": {
            "name": "code_set_for_id",
            "documentation": "Return an interface to the code_set identified internally in openEHR by id. \n",
            "parameters": {
                "id": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "id",
                    "type": "String"
                }
            },
            "pre_conditions": {
                "Pre": "valid_code_set_id (id)"
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "CODE_SET_ACCESS"
            }
        },
        "has_terminology": {
            "name": "has_terminology",
            "documentation": "True if terminology named name known by this service. Allowable names include:-\n\n*  openehr  \n* centc251  \n* any name from are taken from the US NLM UMLS meta-data list at       http://www.nlm.nih.gov/research/umls/metaa1.html",
            "parameters": {
                "name": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "name",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "has_code_set": {
            "name": "has_code_set",
            "documentation": "True if code_set linked to internal name (e.g. languages ) is available. ",
            "parameters": {
                "name": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "name",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "terminology_identifiers": {
            "name": "terminology_identifiers",
            "documentation": "Set of all terminology identifiers known in the terminology service. Values from the US NLM UMLS meta-data list at:- http://www.nlm.nih.gov/research/umls/metaa1.html ",
            "result": {
                "_type": "P_BMM_CONTAINER_TYPE",
                "container_type": "List",
                "type": "String"
            },
            "is_nullable": true
        },
        "openehr_code_sets": {
            "name": "openehr_code_sets",
            "documentation": "Set of all code set identifiers known in the terminology service. \n",
            "result": {
                "_type": "P_BMM_GENERIC_TYPE",
                "root_type": "Hash",
                "generic_parameters": [
                    "String",
                    "String"
                ]
            }
        },
        "code_set_identifiers": {
            "name": "code_set_identifiers",
            "documentation": "Set of all code sets identifiers for which there is an internal openEHR name; returned as a Map of ids keyed by internal name. ",
            "result": {
                "_type": "P_BMM_CONTAINER_TYPE",
                "container_type": "List",
                "type": "String"
            },
            "is_nullable": true
        }
    }
}
terminology service