Terminology Package

Overview

This section describes the terminology package, which contains classes for accessing terminologies and code sets, including the openEHR Support Terminology, from within instances of classes defined in the reference model. The classes shown here would normally be inherited via the classes EXTERNAL_ENVIRONMENT_ACCESS and OPENEHR_DEFINITIONS, although the exact details of how this is done may vary depending on implementation language.

RM support.terminology
Figure 1. rm.support.terminology Package

Service Interface

Code Sets

A simple terminology service interface is defined according to FIGURE 6, enabling openEHR code sets and terminology to be referenced formally from within the Reference Model. Two types of coded entities are distinguished in openEHR, and are accessible via the service interface. The first is codes from 'code sets', which are the kind of terminology where the code stands for itself, such as the ISO 639-1 language codes. The identifiers themselves of these code sets do not appear to be standardised, but names such as "ISO_639-1" are expected to be used (see below).

In any case, code sets needed within the openEHR models themselves (e.g. for attributes whose value is a language code) are not referred to directly by an external name such as "ISO_639-1", but via an internal constant, in this case, the constant Code_set_id_languages, whose value is defined to be "languages". These constants are defined in the class OPENEHR_CODE_SET_IDENTIFIERS in the UML diagram. The mapping between the internal identifiers and external names should be done in configuration files. The service function TERMINOLOGY_SERVICE.code_set_for_id() is used to retrieve code sets on the basis of a constant. The current mapping and external identifiers assumed in openEHR is defined in the openEHR Support Terminology document. This use of indirection is employed to ensure that the obsoleting and superseding of code-sets does not directly affect openEHR software.

For code sets not mapped to internally used constants, i.e. code sets not required in the openEHR model itself, but otherwise known in the terminology service, the function TERMINOLOGY_SERVICE.code_set() can be used to retrieve these code sets by their external identifier.

Terminologies

Terminologies, including the openEHR Support Terminology are accessed via the TERMINOLOGY_SERVICE functions terminology() and terminology_identifiers(), where the argument includes "openehr", "centc251" (for CEN TC/251codes) and names from the US NLM terminologies list (see below). The openEHR Terminology supports groups, and the set of groups required by the reference model is defined in the class OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS. These groups correspond to coded attributes found in the openEHR Reference Model.

Terms and Codes in the openEHR Reference Model

True coded attributes in the Reference Model (i.e. attributes of type DV_CODED_TEXT), such as FEEDER_AUDIT.change_type are defined by an invariant in the enclosing class, such as the following:

Change_type_valid: terminology (Terminology_id_openehr).has_code_for_group_id
    (Group_id_audit_change_type, change_type.defining_code)

This is a formal way of saying that the attribute change_type must have a value such that its defining_code (its CODE_PHRASE) is in the set of CODE_PHRASEs in the openEHR Terminology which are in the group whose indentifier is Group_id_audit_change_type.

A similar invariant is used for attributes of type CODE_PHRASE, which come from a code_set. The following invariant appears in the class ENTRY (rm.composition.content.entry package):

Language_valid: media_type /= Void and then code_set (Code_set_languages).has_code (language)

Identifiers

In openEHR, the identifier of a terminology or code set is found in the terminology_id attribute of the class CODE_PHRASE (Data Types Information Model, text package).

Code Set Identifiers

Internal code set identifiers (such as "languages") used in openEHR are defined in the class OPENEHR_CODE_SET_IDENTIFIERS; assumed external identifiers (such as "ISO_639-1") for code sets used by the openEHR Reference Model are defined in the openEHR Support Terminology document.

Terminology Identifiers

Valid identifiers that can be used for this attribute for terminologies include but are not limited to the following:

  • "openehr"

  • "centc251"

  • an identifier value from the first column of the US National Library or Medicine (NLM) UMLS terminology identifiers table below, in either of two forms:

    • as is, e.g. "ICD10AM_2000", "ICPC93";

    • with any trailing section starting with an underscore removed, e.g. "ICD10AM".

Other identification schemes are used in some standards, such as ISO Oids. These are not specified for direct use in openEHR for various reasons:

  • they are not currently used by the NLM, and no definitive published list of terminology identifiers is available;

  • ISO Oids are long identifiers and may significantly increase the size of persisted information due to the ubiquity of coded terms;

  • determing the identity of the terminology in data always requires a request to a service containing the Oid / name mapping;

  • there is a safety factor in having human readable terminology identifiers in the data.

The use of Oid-based or other terminology identification schemes is not however incompatible with openEHR; all that is required is a terminology identifier / name mapping service or table.

The following table is a snapshot of the US National Library of Medicine UMLS terminology identifiers list. A definitive list may be found on the NLM website.

UMLS 2003 Terminology Identifiers

Identifier

Description

AIR93

AI/RHEUM,1993

ALT2000

Alternative Billing Concepts, 2000

AOD2000

Alcohol and Other Drug Thesaurus, 2000

BI98

Beth Israel Vocabulary, 1.0

BRMP2002

Portuguese translation of the Medical Subject Headings, 2002

BRMS2002

Spanish translation of the Medical Subject Headings, 2002

CCPSS99

Canonical Clinical Problem Statement System, 1999

CCS99

Clinical Classifications Software, 1999

CDT4

Current Dental Terminology(CDT), 4

COSTAR_89-95

COSTAR, 1989-1995

CPM93

Medical Entities Dictionary, 1993

CPT01SP

Physicians' Current Procedural Terminology, Spanish Translation, 2001

CPT2003

Physicians' Current Procedural Terminology, 2003

CSP2002

CRISP Thesaurus, 2002

CST95

COSTART, 1995

DDB00

Diseases Database, 2000

DMD2003

German translation of the Medical Subject Headings, 2003

DMDICD10_1995

German translation of ICD10, 1995

DMDUMD_1996

German translation of UMDNS, 1996

DSM3R_1987

DSM-III-R, 1987

DSM4_1994

DSM-IV, 1994

DUT2001

Dutch Translation of the Medical Subject Headings, 2001

DXP94

DXplain, 1994

FIN2003

Finnish translations of the Medical Subject Headings, 2003

HCDT4

HCPCS Version of Current Dental Terminology(CDT), 4

HCPCS03

Healthcare Common Procedure Coding System, 2003

HCPT03

HCPCS Version of Current Procedural Terminology(CPT), 2003

HHC96

Home Health Care Classification, 1996

HL7_1998-2002

Health Level Seven Vocabulary, 1998-2002

HLREL_1998

ICPC2E-ICD10 relationships from Dr. Henk Lamberts, 1998

HPC99

Health Product Comparison System, 1999

ICD10AE_1998

ICD10, American English Equivalents, 1998

ICD10AMAE_2000

International Statistical Classification of Diseases and Related Health Problems, Australian Modification, Americanized English Equivalents, 2000

ICD10AM_2000

International Statistical Classification of Diseases and Related Health Problems, 10th Revision, Australian Modification, January 2000 Release

ICD10_1998

ICD10, 1998

ICD9CM_2003

ICD-9-CM, 2003

ICPC2AE_1998

International Classification of Primary Care, Americanized English Equivalents, 2E, 1998

ICPC2E_1998

International Classification of Primary Care 2nd Edition, Electronic, 2E, 1998

ICPC2P_2000

International Classification of Primary Care, Version2-Plus, 2000

ICPC93

International Classification of Primary Care, 1993

ICPCBAQ_1993

ICPC, Basque Translation, 1993

ICPCDAN_1993

ICPC, Danish Translation, 1993

ICPCDUT_1993

ICPC, Dutch Translation, 1993

ICPCFIN_1993

ICPC, Finnish Translation, 1993

ICPCFRE_1993

ICPC, French Translation, 1993

ICPCGER_1993

ICPC, German Translation, 1993

ICPCHEB_1993

ICPC, Hebrew Translation, 1993

ICPCHUN_1993

ICPC, Hungarian Translation, 1993

ICPCITA_1993

ICPC, Italian Translation, 1993

ICPCNOR_1993

ICPC, Norwegian Translation, 1993

ICPCPAE_2000

International Classification of Primary Care ,Version2-Plus, Americanized English Equivalents, 2000

ICPCPOR_1993

ICPC, Portuguese Translation, 1993

ICPCSPA_1993

ICPC, Spanish Translation, 1993

ICPCSWE_1993

ICPC, Swedish Translation, 1993

INS2002

French translation of the Medical Subject Headings, 2002

ITA2003

Italian translation of Medical Subject Headings, 2003

JABL99

Online Congenital Multiple Anomaly/ Mental Retardation Syndromes, 1999

LCH90

Library of Congress Subject Headings, 1990

LNC205

LOINC, 2.05

LOINC

LOINC

MCM92

McMaster University Epidemiology Terms, 1992

MDDB99

MasterDrug DataBase, 1999

MDR51

Medical Dictionary for Regulatory Activities Terminology (MedDRA), 5.1

MDRAE51

Medical Dictionary for Regulatory Activities Terminology (MedDRA), American English Equivalents, 5.1

MDREA51

Medical Dictionary for Regulatory Activities Terminology (MedDRA), American English, with expanded abbreviations, 5.1

MDREX51

Medical Dictionary for Regulatory Activities Terminology (MedDRA), with expanded abbreviations, 5.1

MDRPOR51

Medical Dictionary for Regulatory Activities Terminology (MedDRA), 5.1, Portuguese Edition

MDRSPA51

Medical Dictionary for Regulatory Activities Terminology (MedDRA), 5.1, Spanish Edition

MIM93

Online Mendelian Inheritance in Man, 1993

MMSL01

Multum MediSource Lexicon, 2001

MMX01

Micromedex DRUGDEX, 2001-08

MSH2003_2002_10_24

Medical Subject Headings, 2002_10_24

MTH

UMLS Metathesaurus

MTHCH03

Metathesaurus CPT Hierarchical Terms, 2003

MTHHH03

Metathesaurus HCPCS Hierarchical Terms, 2003

MTHICD9_2003

Metathesaurus additional entry terms for ICD-9-CM, 2003

MTHMST2001

Metathesaurus Version of Minimal Standard Terminology Digestive Endoscopy, 2001

MTHMSTFRE_2001

Metathesaurus Version of Minimal Standard Terminology Digestive Endoscopy, French Translation, 2001

MTHMSTITA_2001

Metathesaurus Version of Minimal Standard Terminology Digestive Endoscopy, Italian Translation, 2001

NAN99

Classification of Nursing Diagnoses, 1999

NCBI2001

NCBI Taxonomy, 2001

NCI2001a

NCI Thesaurus, 2001a

NCISEER_1999

NCISEER ICD Neoplasm Code Mappings, 1999

NDDF01

FirstDataBank National Drug DataFile, 2001-07

NEU99

Neuronames Brain Hierarchy, 1999

NIC99

Nursing Interventions Classification, 1999

NOC97

Nursing Outcomes Classification, 1997

OMIM97

OMIM, Online Mendelian Inheritance in Man, 1997

OMS94

Omaha System, 1994

PCDS97

Patient Care Data Set, 1997

PDQ2002

Physician Data Query, 2002

PPAC98

Pharmacy Practice Activity Classification , 1998

PSY2001

Thesaurus of Psychological Index Terms, 2001

QMR96

Quick Medical Reference (QMR), 1996

RAM99

QMR clinically related terms from Randolph A. Miller, 1999

RCD99

Clinical Terms Version 3 (CTV3) (Read Codes), 1999

RCDAE_1999

Read thesaurus, American English Equivalents, 1999

RCDSA_1999

Read thesaurus Americanized Synthesized Terms, 1999

RCDSY_1999

Read thesaurus, Synthesized Terms, 1999

RUS2003

Russian Translation of MeSH, 2003

RXNORM_03AA

RXNORM Project, META2003AA

SNM2

SNOMED-2, 2

SNMI98

SNOMED International, 1998

SNOMED-CT

SNOMED International Clinical Terms, 2002

SPN02

Standard Product Nomenclature, 2002

SRC

Metathesaurus Source Terminology Names

ULT93

UltraSTAR, 1993

UMD2003

UMDNS: product category thesaurus, 2003

UMLS

UMLS: National Library of Medicine, USA

UWDA155

University of Washington Digital Anatomist, 1.5.5

VANDF01

Veterans Health Administration National Drug File, 2001

WHO97

WHO Adverse Reaction Terminology, 1997

WHOFRE_1997

WHOART, French Translation, 1997

WHOGER_1997

WHOART, German Translation, 1997

WHOPOR_1997

WHOART, Portuguese Translation, 1997

WHOSPA_1997

WHOART, Spanish Translation, 1997

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

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

Name of openEHR’s own terminology.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Functions

OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS.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.

OPENEHR_CODE_SET_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.

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

TERMINOLOGY_ACCESS Interface

  • Definition

  • Effective

  • BMM

  • UML

Interface

TERMINOLOGY_ACCESS

Description

Defines an object providing proxy access to a terminology.

Functions

Signature

Meaning

1..1

id (): String

Identification of this Terminology.

1..1

all_codes (): CODE_PHRASE

Return all codes known in this terminology.

0..1

codes_for_group_id (
a_group_id: String[1]
): List<CODE_PHRASE>

Return all codes under grouper 'a_group_id' from this terminology.

0..1

codes_for_group_name (
a_lang: String[1],
a_name: String[1]
): List<CODE_PHRASE>

Return all codes under grouper whose name in 'a_lang' is 'a_name' from this terminology.

1..1

has_code_for_group_id (): Boolean

True if a_code' is known in group group_id' in the openEHR terminology.

1..1

rubric_for_code (
a_code: String[1]
): String

Return all rubric of code code' in language lang'.

TERMINOLOGY_ACCESS

Defines an object providing proxy access to a terminology.

Functions

id (): String [1..1]

Identification of this Terminology.

all_codes (): CODE_PHRASE [1..1]

Return all codes known in this terminology.

codes_for_group_id (
a_group_id: String[1]
): List<CODE_PHRASE> [0..1]

Return all codes under grouper 'a_group_id' from this terminology.

codes_for_group_name (
a_lang: String[1],
a_name: String[1]
): List<CODE_PHRASE> [0..1]

Return all codes under grouper whose name in 'a_lang' is 'a_name' from this terminology.

has_code_for_group_id (): Boolean [1..1]

True if a_code' is known in group group_id' in the openEHR terminology.

rubric_for_code (
a_code: String[1]
): String [1..1]

Return all rubric of code code' in language lang'.

{
    "_type": "P_BMM_INTERFACE",
    "name": "TERMINOLOGY_ACCESS",
    "documentation": "Defines an object providing proxy access to a terminology. ",
    "functions": {
        "id": {
            "name": "id",
            "documentation": "Identification of this Terminology.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "String"
            }
        },
        "all_codes": {
            "name": "all_codes",
            "documentation": "Return all codes known in this terminology.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "CODE_PHRASE"
            }
        },
        "codes_for_group_id": {
            "name": "codes_for_group_id",
            "documentation": "Return all codes under grouper 'a_group_id' from this terminology.",
            "parameters": {
                "a_group_id": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_group_id",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_CONTAINER_TYPE",
                "container_type": "List",
                "type": "CODE_PHRASE"
            },
            "is_nullable": true
        },
        "codes_for_group_name": {
            "name": "codes_for_group_name",
            "documentation": "Return all codes under grouper whose name in 'a_lang' is 'a_name' from this terminology.",
            "parameters": {
                "a_lang": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_lang",
                    "type": "String"
                },
                "a_name": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_name",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_CONTAINER_TYPE",
                "container_type": "List",
                "type": "CODE_PHRASE"
            },
            "is_nullable": true
        },
        "has_code_for_group_id": {
            "name": "has_code_for_group_id",
            "documentation": "True if  a_code' is known in group  group_id' in the openEHR terminology.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "rubric_for_code": {
            "name": "rubric_for_code",
            "documentation": "Return all rubric of code  code' in language  lang'.",
            "parameters": {
                "a_code": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_code",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "String"
            }
        }
    }
}
TERMINOLOGY_ACCESS

CODE_SET_ACCESS Interface

  • Definition

  • Effective

  • BMM

  • UML

Interface

CODE_SET_ACCESS

Description

Defines an object providing proxy access to a code_set.

Functions

Signature

Meaning

1..1

id (): String

External identifier of this code set.

0..1

all_codes (): List<CODE_PHRASE>

Return all codes known in this code set.

1..1

has_lang (
a_lang: String[1]
): Boolean

True if code set knows about 'a_lang' .

1..1

has_code (
a_code: String[1]
): Boolean

True if code set knows about 'a_code'.

CODE_SET_ACCESS

Defines an object providing proxy access to a code_set.

Functions

id (): String [1..1]

External identifier of this code set.

all_codes (): List<CODE_PHRASE> [0..1]

Return all codes known in this code set.

has_lang (
a_lang: String[1]
): Boolean [1..1]

True if code set knows about 'a_lang' .

has_code (
a_code: String[1]
): Boolean [1..1]

True if code set knows about 'a_code'.

{
    "_type": "P_BMM_INTERFACE",
    "name": "CODE_SET_ACCESS",
    "documentation": "Defines an object providing proxy access to a code_set.",
    "functions": {
        "id": {
            "name": "id",
            "documentation": "External identifier of this code set.",
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "String"
            }
        },
        "all_codes": {
            "name": "all_codes",
            "documentation": "Return all codes known in this code set.",
            "result": {
                "_type": "P_BMM_CONTAINER_TYPE",
                "container_type": "List",
                "type": "CODE_PHRASE"
            },
            "is_nullable": true
        },
        "has_lang": {
            "name": "has_lang",
            "documentation": "True if code set knows about 'a_lang' .",
            "parameters": {
                "a_lang": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_lang",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        },
        "has_code": {
            "name": "has_code",
            "documentation": "True if code set knows about  'a_code'.",
            "parameters": {
                "a_code": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "a_code",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
CODE_SET_ACCESS

OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS Class

  • Definition

  • Effective

  • BMM

  • UML

Class

OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS

Description

List of identifiers for groups in the openEHR terminology.

Constants

Signature

Meaning

1..1

Terminology_id_openehr: String = "openehr"

Name of openEHR’s own terminology.

1..1

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"

Functions

Signature

Meaning

1..1

valid_terminology_group_id (
an_id: Boolean[1]
): Boolean

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

OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS

List of identifiers for groups in the openEHR terminology.

Constants

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

Name of openEHR’s own terminology.

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]

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.

{
    "name": "OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS",
    "documentation": "List of identifiers for groups in the openEHR terminology. ",
    "constants": {
        "Terminology_id_openehr": {
            "name": "Terminology_id_openehr",
            "documentation": "Name of openEHR's own terminology.",
            "type": "String",
            "value": "\"openehr\""
        },
        "Group_id_audit_change_type": {
            "name": "Group_id_audit_change_type",
            "type": "String",
            "value": "\"audit change type\""
        },
        "Group_id_attestation_reason": {
            "name": "Group_id_attestation_reason",
            "type": "String",
            "value": "\"attestation reason\""
        },
        "Group_id_composition_category": {
            "name": "Group_id_composition_category",
            "type": "String",
            "value": "\"composition category\""
        },
        "Group_id_event_math_function": {
            "name": "Group_id_event_math_function",
            "type": "String",
            "value": "\"event math function\""
        },
        "Group_id_instruction_states": {
            "name": "Group_id_instruction_states",
            "type": "String",
            "value": "\"instruction states\""
        },
        "Group_id_instruction_transitions": {
            "name": "Group_id_instruction_transitions",
            "type": "String",
            "value": "\"instruction transitions\""
        },
        "Group_id_null_flavours": {
            "name": "Group_id_null_flavours",
            "type": "String",
            "value": "\"null flavours\""
        },
        "Group_id_property": {
            "name": "Group_id_property",
            "type": "String",
            "value": "\"property\""
        },
        "Group_id_participation_function": {
            "name": "Group_id_participation_function",
            "type": "String",
            "value": "\"participation function\""
        },
        "Group_id_participation_mode": {
            "name": "Group_id_participation_mode",
            "type": "String",
            "value": "\"participation mode\""
        },
        "Group_id_setting": {
            "name": "Group_id_setting",
            "type": "String",
            "value": "\"setting\""
        },
        "Group_id_term_mapping_purpose": {
            "name": "Group_id_term_mapping_purpose",
            "type": "String",
            "value": "\"term mapping purpose\""
        },
        "Group_id_subject_relationship": {
            "name": "Group_id_subject_relationship",
            "type": "String",
            "value": "\"subject relationship\""
        },
        "Group_id_version_life_cycle_state": {
            "name": "Group_id_version_life_cycle_state",
            "type": "String",
            "value": "\"version lifecycle state\""
        }
    },
    "functions": {
        "valid_terminology_group_id": {
            "name": "valid_terminology_group_id",
            "documentation": "Validity function to test if an identifier is in the set defined by this class. ",
            "parameters": {
                "an_id": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "an_id",
                    "type": "Boolean"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
OPENEHR_TERMINOLOGY_GROUP_IDENTIFIERS

OPENEHR_CODE_SET_IDENTIFIERS Class

  • Definition

  • Effective

  • BMM

  • UML

Class

OPENEHR_CODE_SET_IDENTIFIERS

Description

List of identifiers for code sets in the openEHR terminology.

Constants

Signature

Meaning

1..1

Code_set_id_character_sets: String = "character sets"

1..1

Code_set_id_compression_algorithms: String = "compression algorithms"

1..1

Code_set_id_countries: String = "countries"

1..1

Code_set_integrity_check_algorithms: String = "integrity check algorithms"

1..1

Code_set_id_languages: String = "languages"

1..1

Code_set_id_media_types: String = "media types"

1..1

Code_set_id_normal_statuses: String = "normal statuses"

Functions

Signature

Meaning

1..1

valid_code_set_id (
an_id: String[1]
): Boolean

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

OPENEHR_CODE_SET_IDENTIFIERS

List of identifiers for code sets in the openEHR terminology.

Constants

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

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

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

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

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

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

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

Functions

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.

{
    "name": "OPENEHR_CODE_SET_IDENTIFIERS",
    "documentation": "List of identifiers for code sets in the openEHR terminology. ",
    "constants": {
        "Code_set_id_character_sets": {
            "name": "Code_set_id_character_sets",
            "type": "String",
            "value": "\"character sets\""
        },
        "Code_set_id_compression_algorithms": {
            "name": "Code_set_id_compression_algorithms",
            "type": "String",
            "value": "\"compression algorithms\""
        },
        "Code_set_id_countries": {
            "name": "Code_set_id_countries",
            "type": "String",
            "value": "\"countries\""
        },
        "Code_set_integrity_check_algorithms": {
            "name": "Code_set_integrity_check_algorithms",
            "type": "String",
            "value": "\"integrity check algorithms\""
        },
        "Code_set_id_languages": {
            "name": "Code_set_id_languages",
            "type": "String",
            "value": "\"languages\""
        },
        "Code_set_id_media_types": {
            "name": "Code_set_id_media_types",
            "type": "String",
            "value": "\"media types\""
        },
        "Code_set_id_normal_statuses": {
            "name": "Code_set_id_normal_statuses",
            "type": "String",
            "value": "\"normal statuses\""
        }
    },
    "functions": {
        "valid_code_set_id": {
            "name": "valid_code_set_id",
            "documentation": "Validity function to test if an identifier is in the set defined by this class.",
            "parameters": {
                "an_id": {
                    "_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
                    "name": "an_id",
                    "type": "String"
                }
            },
            "result": {
                "_type": "P_BMM_SIMPLE_TYPE",
                "type": "Boolean"
            }
        }
    }
}
OPENEHR_CODE_SET_IDENTIFIERS