Appendix

Acknowledgements

Primary Author

  • Thomas Beale, Ars Semantica; openEHR Foundation Management Board.

Contributors

This specification has benefited from formal and informal input from the openEHR and wider health informatics community. The openEHR Foundation would like to recognise the following people for their contributions.

  • Patrick Langford, NeuronSong LLC, Utah, USA

  • Claude Nanjo MA African Studies., M Public Health, Cognitive Medical Systems Inc., California, USA

  • Harold Solbrig, Mayo Clinic, Rochester, USA

  • Erik Sundvall PhD, Linkoping University, Sweden

Trademarks

  • 'openEHR' is a registered trademark of the openEHR Foundation

  • 'Java' is a registered trademark of Oracle Corporation

  • 'C#' is a registered trademark of Microsoft Corporation

  • 'OMG' and 'UML' are registered trademarks of the Object Management Group

  • 'MagicDraw' is a registered trademark of NoMagic Inc

  • 'Rational Software Architect' is a registered trademark of IBM Corporation.

History

The Basic Meta-Model originated in the openEHR BASE component, where it was published up to and including BASE Release 1.0.4. With the establishment of the openEHR LANG (Generic Languages) component, the BMM specification was migrated to LANG, which is now its normative home. This document describes the stable v2.x form of BMM, i.e. the form implemented by current openEHR tooling such as Archie.

Continued development of the meta-model, extending it with an expression and statement meta-model together with richer feature and signature metadata, is carried out separately and is documented in the {openehr_bmm3}[BMM v3 specification^]. The v2.x form described here remains the normative, tool-implemented version.

The P_BMM persistence model, which defines the serialised schema form of a BMM model together with its ODIN syntax, is specified separately in the BMM Persistence specification.

Amendment Record

Issue Details Raiser Completed

LANG Release 1.1.0 (unreleased)

2.2.4

SPECLANG-14. Formalise the BMM v2/v3 split: this specification is established as a separate, stable BMM document in the LANG component; the evolved meta-model is maintained in the separate BMM v3 specification.

S Iancu

31 May 2026

LANG Release 1.0.0

2.2.3

SPECLANG-2. Add Basic Meta-Model (BMM) spec to LANG component.

openEHR SEC

07 Nov 2017

2.2.2

Improve and update introductory text in the Overview section.

E Sundvall,
T Beale

03 Nov 2017

2.2.1

Rename P_BMM_SIMPLE_TYPE_OPEN to P_BMM_OPEN_TYPE;
Remove BMM_CLASSIFIER.conformance_type_name;
Rename P_BMM_GENERIC_PARAMETER.create_bmm_generic_parameter_definition to create_bmm_generic_parameter;
Remove inheritance from P_BMM_PACKAGE_CONTAINER to P_BMM_MODEL_ELEMENT;
Make P_BMM_MODEL_ELEMENT abstract;
Correct P_BMM_ENUMERATION.items_names cardinality to multiple;
Constrain BMM_GENERIC_PARAMETER.name and P_BMM_GENERIC_PARAMETER.name to one character and upper case.

C Nanjo,
T Beale

02 Mar 2017

2.2.0

Rename BMM_CLASSIFIER.as_type_string to type_name and as_conformance_type_string to conformance_type_name.
Move and rename BMM_TYPE.as_display_type_string to BMM_CLASSIFIER.type_signature. Add redefinitions in relevant descendant classes.
Rename BMM_SIMPLE_TYPE_OPEN to BMM_OPEN_TYPE.
Add new class BMM_TYPE_ELEMENT in preparation for BMM 3 refactoring.
Remove class P_BMM_CLASSIFIER.
Add missed inheritance from P_BMM_PROPERTY to P_BMM_MODEL_ELEMENT.
Rename BMM_SCHEMA to BMM_MODEL.

T Beale

20 Jun 2016

Add missing inheritance from P_BMM_SCHEMA to BMM_SCHEMA_CORE.
Correct naming of bmm_xxx_definition, create_bmm_xxx_definition in P_BMM_XXX classes to bmm_xxx, create_bmm_xxx etc.

T Beale

18 Apr 2016

2.1.0

Initial writing based on ADL Workbench implementation.

T Beale

08 Feb 2016