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
-
Erik Sundvall PhD, Linkoping University, Sweden
Trademarks
-
'openEHR' is a registered trademark of the openEHR Foundation
-
'OMG' and 'UML' are registered trademarks of the Object Management Group
Conformance
Conformance of a data or software artifact to an openEHR specification is determined by a formal test of that artifact against the relevant openEHR Implementation Technology Specification(s) (ITSs), such as an IDL interface or an XML-schema. Since ITSs are formal derivations from underlying models, ITS conformance indicates model conformance.
Versions
The P_BMM model carries its own version number, independent of any single openEHR component release. The current version is 2.4, which formalises the capture of the full feature set of a class: functions (routines) with their parameters, constants, and class invariants, in addition to the properties already supported in earlier versions. The complete change history is recorded in the amendment record.
These features, and in particular P_BMM functions, exist primarily to capture the operation specifications of the openEHR models. Those specifications were originally maintained in UML and, as of 2026, are migrated to and generated from the BMM tooling (bmm-publisher). They are a recent addition and are not yet widely adopted by BMM tooling; a tool that materialises only the structural (attribute) features of a model may safely ignore the functions, constants and invariants of a class.
|
Tooling
The openEHR ADL Workbench (AWB) fully implements this specification, and provide a convenient way of illustrating BMM semantics. The screenshots used in this specification are all from the ADL Workbench. The tool is written in the Eiffel language, and is available as open source on Github. The BMM libraries can be found in the EOMF Github repository.
A modelling tool known as Archie implements BMM in Java, and can be found in the openEHR Github area.
Amendment Record
| Issue | Details | Raiser | Completed |
|---|---|---|---|
LANG Release 1.1.0 (unreleased) |
|||
SPECLANG-16: Correct the P_BMM class model to match the syntax chapter and the published schemas: make |
S Iancu |
||
SPECLANG-18: Document how JSON and YAML encode an interval (the |
S Iancu |
24 Oct 2026 |
|
SPECLANG-16: Add support for functions and other missing features in P_BMM: add |
S Iancu |
31 May 2026 |
|
LANG Release 1.0.0 |
|||
2.3.0 |
SPECLANG-2. Add Basic Meta-Model (BMM) spec to BASE component. |
openEHR SEC |
04 Sep 2019 |
Add |
T Beale |
04 Sep 2019 |
|
Add value-set constraint. |
T Beale |
26 Mar 2019 |
|
Separate from main BMM specification; |
T Beale |
27 Apr 2018 |
|
2.2.2 |
Improve and update introductory text in the Overview section. |
E Sundvall, |
03 Nov 2017 |
2.2.1 |
Rename |
C Nanjo, |
02 Mar 2017 |
2.2.0 |
Remove class |
T Beale |
20 Jun 2016 |
Add missing inheritance from |
T Beale |
18 Apr 2016 |
|
2.1.0 |
Initial writing based on ADL Workbench implementation. |
T Beale |
08 Feb 2016 |