EHR Information Model

Acknowledgements

Editor

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

Contributors

This specification benefited from wide 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.

  • Rong Chen MD, PhD, Cambio Healthcare Systems, Sweden

  • Linda Bird, PhD, DSTC, Australia

  • Matthew Darlinson, PhD, CHIME, UCL, UK

  • Heath Frankel, CTO Ocean Informatics, Australia

  • Matias Forss, Aalborg University, Denmark

  • Andrew Goodchild, PhD, senior research scientist DSTC, Australia

  • Grahame Grieve, Kestral Systems, Australia

  • Sam Heard MD, Ocean Informatics, Australia

  • David Ingram PhD, Emeritus Professor of Health Informatics, UCL, UK

  • Dipak Kalra MD, PhD, Professor Health Informatics, CHIME, UCL, UK

  • Bostjan Lah, Architect, Marand, Slovenia

  • David Lloyd (ret), CHIME, UCL, UK

  • Chunlan Ma PhD, MD, Ocean Informatics, Australia

  • Pablo Pazos Gutierrez, CaboLabs, Uruguay

  • Peter Schloeffel MD, Ocean Informatics, Australia

  • Zar zar Tun, DSTC, Australia

  • Bert Verhees, ROSA Software, The Netherlands.

Support

The work reported in this paper has been funded in by the following organisations:

  • University College London - Centre for Health Informatics and Multi-professional Education (CHIME);

  • Ocean Informatics;

  • Distributed Systems Technology Centre (DSTC), under the Cooperative Research Centres Program through the Department of the Prime Minister and Cabinet of the Commonwealth Government of Australia.

Special thanks to David Ingram, Emeritus Professor of Health Informatics at UCL, who provided a vision and collegial working environment ever since the days of GEHR (1992).

Trademarks

  • 'openEHR' is a trademark of the openEHR Foundation

  • 'Java' is a registered trademark of Oracle Corporation

  • 'Microsoft' and '.Net' are trademarks of the Microsoft Corporation

  • 'CORBA' is a trademark of the Object Management Group

Purpose

This document describes the openEHR EHR Information Model, which is a model of an interoperable EHR in the ISO RM/ODP information viewpoint. This model defines a logical EHR information architecture rather than just an architecture for communication of EHR extracts or documents between EHR systems. The openEHR definition of the EHR Extract is given in the openEHR EHR_EXTRACT Information Model.

The intended audience includes:

  • Standards bodies producing health informatics standards;

  • Academic groups using openEHR;

  • The open source healthcare community;

  • Solution vendors;

  • Medical informaticians and clinicians interested in health information.

  • Health data managers.

Status

This specification is in the STABLE state. The development version of this document can be found at https://specifications.openehr.org/releases/RM/latest/ehr.html.

Known omissions or questions are indicated in the text with a 'to be determined' paragraph, as follows:

TBD: (example To Be Determined paragraph)

Feedback

Feedback may be provided on the technical mailing list.

Issues may be raised on the specifications Problem Report tracker.

To see changes made due to previously reported issues, see the RM component Change Request tracker.

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.

Amendment Record

Issue Details Raiser Completed

RM Release 1.0.4

5.1.3

SPECRM-84. Improve documentation of EHR_STATUS.is_modifiable and EHR active status (see SPECPR-284).
Added new sub-section "EHR Active Status" in section 4.

M Asgari,
I McNicoll,
T Beale

28 Dec 2018

SPECRM-71. Make ACTIVITY.timing optional.
SPECRM-68. Improve guidance on use of ACTIVITY.timing (Fixes SPECPR-242.
SPECRM-69. Add missing ISM transitions and improve documentation of states (Fixes SPECPR-203.

P Pazos

26 Nov 2018

SPECRM-80. Improve description of system_id field in EHR, AUDIT_DETAILS and FEEDER_AUDIT_DETAILS.

H Frankel,
T Beale

SPECRM-59. Add identifier recommendations to EHR spec(s).

B Lah

23 Apr 2018

SPECRM-52. Remove COMPOSITION invariant preventing context for persistent Compositions. (Fixes SPECPR-78)
Update Clinical Investigator Recording Process diagram.

H Frankel,
S Heard

07 Feb 2017

SPECPUB-3. Re-instate inheritance from descendants of VERSIONED_OBJECT<T> to VERSIONED_OBJECT from Release 1.0.2 (lost in original UML conversion).
Correct EVENT_CONTEXT.health_care_facility and participations links that were mangled in initial UML conversion.

T Beale

07 Jun 2016

SPECRM-46. Fix RM Release 1.0.3 typos and minor documentary errors. Correct ACTION.description text to past tense. (SPECPR-77).

P Pazos

04 Apr 2016

RM Release 1.0.3

5.1.2

SPECRM-28. Corrections to EHR and Common IM documentation.
Improve explanation in section 4.4.2 (EHR Creation) of EHR_STATUS.is_modifiable (SPECPR-28).
Fix description of CARE_ENTRY.guideline_id (SPECPR-75).
Fix typo in EHR IM in section 'Standard Clinical Types of Data' (SPECPR-87).
EHR IM missing example in section 'Care_entry and Admin_entry'. (SPECPR-89).

C Ma,
P Pazos

10 Oct 2015

SPECRM-37: Add optional reason: List<DV_TEXT> attribute to ISM_TRANSITION class (SPECPR-58).

S Heard

SPECRM-43: Improve documentation of EHR.system_id in clone/copy scenario (SPECPR-128).

S Heard

Release 1.0.2

5.1.1

SPEC-274. Observation should be Evaluation in problem/SOAP structure figure.

R Chen

16 Aug 2008

SPEC-275: Update Entry package design principles in EHR IM.

T Beale

SPEC-253: Clarify explanation of Instruction/Action model in EHR IM to indicate state machine per Activity.

T Beale

Release 1.0.1

5.1.0

SPEC-200: Correct Release 1.0 typographical errors. Correct INSTRUCTION_DETAILS.instruction_id type to LOCATABLE_REF. Correct inheritance of CONTENT_ITEM to LOCATABLE.

S Heard
M Forss
C Ma

08 Apr 2007

SPEC-201: Add archetype ids to Instruction ACTIVITY class.

S Heard

SPEC-203: Release 1.0 explanatory text improvements. Minor changes to Entry section. Improved section on "time in the EHR".

T Beale

SPEC-210: Remove LOCATABLE inheritance from ISM_TRANSITION and INSTRUCTION_DETAILS classes

S Heard

SPEC-130: Correct security details in LOCATABLE and ARCHETYPED classes. Add EHR_ACCESS class.

T Beale

SPEC-218: Add language attribute to COMPOSITION.

G Grieve

SPEC-219: Use constants instead of literals to refer to terminology in RM.

R Chen

SPEC-244: Separate LOCATABLE path functions into PATHABLE class.

T Beale
H Frankel

SPEC-246: Correct openEHR terminology rubrics.

B Verhees
M Forss

Release 1.0

5.0

SPEC-14: Adjust HISTORY.

S Heard

25 Jan 2006

SPEC-140. Redevelop Instruction, based on workflow principles.

S Heard
T Beale

SPEC-147. Make DIRECTORY Re-usable.

R Chen

SPEC-162. Allow party identifiers when no demographic data. Changes to EHR, EVENT_CONTEXT, and ENTRY.

S Heard
T Beale

SPEC-164. Improve description of use of times in OBSERVATION.

S Heard
H Frankel

SPEC-174. Add ADMIN_ENTRY subtype.

S Heard
T Beale

SPEC-175. Make ENTRY.provider optional.

S Heard

SPEC-177. Make COMPOSITION.content a CONTENT_ITEM.

S Heard,
D Kalra

SPEC-180. Move EVENT_CONTEXT.composer to COMPOSITION

T Beale
S Heard

SPEC-181: Change ENTRY.provider to PARTY_PROXY.

T Beale

SPEC-182: Rationalise VERSION.lifecycle_state and ATTESTATION.status.

C Ma
D Kalra

SPEC-187: Correct modelling errors in DIRECTORY class and rename.

T Beale

SPEC-188: Add generating_type function to ANY for use in invariants.

T Beale

SPEC-189. Add LOCATABLE.parent. New invariants in EHR and COMPOSITION.

S Heard

SPEC-190. Rename VERSION_REPOSITORY to VERSIONED_OBJECT.

T Beale

SPEC-191: Add EHR_STATUS class to ehr package.

H Frankel

SPEC-194: Correct anomalies with LOCATABLE.uid

H Frankel
T Beale

SPEC-195: Rename EHR.all_compositions to compositions.

S Heard

SPEC-161. Support distributed versioning. Correct identifier types in EHR, ACTION classes.

T Beale
H Frankel

Release 0.96

Release 0.95

4.5

SPEC-108. Minor changes to change_control package.

T Beale

10 Dec 2004

SPEC-24. Revert meaning to STRING and rename as archetype_node_id.

S Heard,
T Beale

SPEC-98. EVENT_CONTEXT.time should allow optional end time.

S Heard,
DSTC

SPEC-109. Add act_status to ENTRY, as in CEN prEN13606.

A Goodchild

SPEC-116. Add PARTICIPATION.function vocabulary and invariant.

T Beale

SPEC-118. Make package names lower case.

T Beale

SPEC-64. Re-evaluate COMPOSITION.is_persistent attribute. Converted is_persistent to a function; added category attribute.

D Kalra

SPEC-102. Make DV_TEXT language and charset optional.

DSTC

Release 0.9

4.4.1

SPEC-96. Allow 0..* SECTIONs as COMPOSITION content.

DSTC

11 Mar 2004

4.4

SPEC-19. Add HISTORY & STRUCTURE supertype.

T Beale

06 Mar 2004

SPEC-28. Change name of STRUCTURE class to avoid clashes.

H Frankel

SPEC-87. EVENT_CONTEXT.location should be optional.

DSTC

SPEC-88. Move INSTRUCTION.guideline_id to ENTRY.

T Beale,
D Kalra

SPEC-92. Improve EVENT_CONTEXT modelling. Rename author to composer.
Formally validated using ISE Eiffel 5.4.

S Heard

4.3.10

SPEC-44. Add reverse ref from VERSION_REPOSITORY<T> to owner object. Add invariants to DIRECTORY and VERSIONED_COMPOSITION classes.

D Lloyd

25 Feb 2004

SPEC-46. Rename COORDINATED_TERM and DV_CODED_TEXT.definition.

T Beale

4.3.9

SPEC-21. Rename CLINICAL_CONTEXT.practice_setting to setting.

A Goodchild

10 Feb 2004

4.3.8

SPEC-57. Environmental information needs to be included in the EHR.

T Beale

02 Nov 2003

4.3.7

SPEC-48. Pre-release review of documents.
SPEC-49. Correct reference types in EHR, DIRECTORY classes. EHR.contributions, all_compositions, FOLDER.compositions attributes and invariants corrected.
SPEC-50. Update Path syntax reference model to ADL specification.

T Beale,
D Lloyd

25 Oct 2003

4.3.6

SPEC-41. Visually differentiate primitive types in openEHR documents.

D Lloyd

04 Oct 2003

4.3.5

SPEC-13. Rename key classes, according to CEN ENV 13606.

S Heard,
D Kalra,
T Beale

15 Sep 2003

4.3.4

SPEC-11. Add author attribute to EVENT_CONTEXT.
SPEC-27. Move feeder_audit to LOCATABLE to be compatible with CEN 13606 revision.

S Heard,
D Kalra

20 Jun 2003

4.3.3

SPEC-20. Move VERSION.territory to TRANSACTION.
SPEC-18. Add DIRECTORY class to rm.ehr Package. SPEC-5. Rename CLINICAL_CONTEXT to EVENT_CONTEXT.

A Goodchild

10 Jun 2003

4.3.2

SPEC-6. Make ENTRY.provider a PARTICIPATION.
SPEC-7. Replace ENTRY.subject and subject_relationship with RELATED_PARTY.
SPEC-8. Remove confidence and is_exceptional attributes from ENTRY. SPEC-9. Merge ENTRY protocol and reasoning attributes.

S Heard,
T Beale, D Kalra, D Lloyd

11 Apr 2003

4.3.1

DSTC review - typos corrected.

A Goodchild

08 Apr 2003

4.3

SPEC-3, SPEC-4. Removed ORGANISER_TREE. CLINICAL_CONTEXT and FEEDER_AUDIT inherit from LOCATABLE. Changes to path syntax. Improved definitions of ENTRY subtypes. Improved instance diagrams. DSTC detailed review.
(Formally validated).

T Beale,
Z Tun,
A Goodchild

18 Mar 2003

4.2

Formally validated using ISE Eiffel 5.2. Moved VERSIONED_TRANSACTION class to ehr Package, to correspond better with serialised formalisms like XML.

T Beale,
A Goodchild

25 Feb 2003

4.1

Changes post CEN WG meeting Rome Feb 2003. Moved TRANSACTION.version_id postcondition to an invariant. Moved feeder_audit back to TRANSACTION. Added ENTRY.act_id. VERSION_AUDIT.attestations moved to new ATTESTATIONS class attached to VERSIONED<T>.

T Beale,
S Heard,
D Kalra,
D Lloyd

8 Feb 2003

4.0.2

Various corrections and DSTC change requests. Reverted OBSERVATION.items: LIST<HISTORY<T>> to data: HISTORY<T> and EVALUATION.items: LIST<STRUCTURE<T>> to data: STRUCTURE<T>. Changed CLINICAL_CONTEXT.other_context to a STRUCTURE. Added ENTRY.other_participations; Added CLINICAL_CONTEXT.participations; removed hcp_legally_responsible (to be archetyped). Replaced EVENT_TRANSACTION and PERSISTENT_TRANSACTION with TRANSACTION and a boolean attribute is_persistent.

T Beale

3 Feb 2003

4.0.1

Detailed corrections to diagrams and class text from DSTC.

Z Tun

8 Jan 2003

4.0

Moved HISTORY classes to Data Structures RM. No semantic changes.

T Beale

18 Dec 2002

3.8.2

Corrections on 3.8.1. No semantic changes.

D Lloyd

11 Nov 2002

3.8.1

Removed SUB_FOLDER class. Now folder structure can be nested separately archetyped folder structures, same as for ORGANISERs. Removed AUTHORED_TA and ACQUISITION_TA classes; simplified versioning.

T Beale,
D Kalra,
D Lloyd
A Goodchild

28 Oct 2002

3.8

Added practice_setting attribute to CLINICAL_CONTEXT, inspired from HL7v3/ANSI CDA standard Release 2.0. Changed DV_PLAIN_TEXT to DV_TEXT. Removed hca_coauthorising; renamed hca_recording; adjusted all instances of *ID; converted CLINICAL_CONTEXT._start_time, end_time to an interval.

T Beale,
S Heard,
D Kalra,
M Darlison

22 Oct 2002

3.7

Removed Spatial package to Common RM document. Renamed ACTION back to ACTION_SPECIFICATION. Removed the class NAVIGABLE_STRUCTURE. Renamed SPATIAL to STRUCTURE. Removed classes STATE_HISTORY, STATE, SINGLE_STATE. Removed Communication (EHR_EXTRACT) section to own document.

T Beale

22 Sep 2002

3.6

Removed Common and Demographic packages to their own documents.

T Beale

28 Aug 2002

3.5.1

Altered syntax of EXTERNAL_ID identifiers.

T Beale,
Z Tun

20 Aug 2002

3.5

Rewrote Demographic and Ehr_extract packages.

T Beale

18 Aug 2002

3.3.1

Simplified EHR_EXTRACT model, numerous small changes from DSTC review.

T Beale,
Z Tun

15 Aug 2002

3.3

Rewrite of contributions, version control semantics.

T Beale,
D Lloyd,
D Kalra,
S Heard

01 Aug 2002

3.2

DSTC comments. Various minor errors/omissions. Changed inheritance of SINGLE_EVENT and SINGLE_STATE. Included STRUCTURE subtype methods from GEHR. ehr_id added to VT. Altered EHR/FOLDER attrs. Added EXTERNAL_ID.version.

T Beale,
Z Tun

25 Jun 2002

3.1.1

Minor corrections.

T Beale

20 May 2002

3.1

Reworking of Structure section, ACTION class, INSTRUCTION class.

T Beale,
S Heard

16 May 2002

3.0

Plans, actions updated.

T Beale,
S Heard

10 May 2002

2.9

Additions from HL7v3 coded term model, alterations to quantity model, added explanation sections.

T Beale

5 May 2002

2.8.2a

Interim version with various review modifications

T Beale

28 Apr 2002

2.8.2

Error corrections to EHR_EXTRACT package. P Schloeffel comments on 2.7.

T Beale,
P Schloeffel

25 Apr 2002

2.8.1

Further minor changes from UCL on v2.7.

T Beale

24 Apr 2002

2.8

Dipak Kalra (UCL) comments on v2.6 incorporated. Added External Package. Minor changes elsewhere.

T Beale,
D Kalra

23 Apr 2002

2.7

Final development of initial draft, including EHR_EXTRACT, related models

T Beale

20 Apr 2002

2.6

Further development of path syntax, incorporation of Dipak Kalra’s comments

T Beale,
D Kalra

15 Apr 2002

2.5

Further development of clinical and record management clusters.

T Beale

10 Apr 2002

2.4

Included David Lloyd’s rev 2.3 comments.

T Beale,
D Lloyd

4 Apr 2002

2.3

Improved context analysis.

T Beale

4 Mar 2002

2.2

Added path syntax.

T Beale

19 Nov 2001

2.1

Minor organisational changes, some content additions.

T Beale

18 Nov 2001

2.0

Rewrite of large sections post-Eurorec 2001 conference, Aix-en-Provence. Added folder, contribution concepts.

T Beale

15 Nov 2001

1.2

Major additions to introduction, design philosophy

T Beale

1 Nov 2001

1.1

Major changes to diagrams; STILL UNREVIEWED

T Beale

13 Oct 2001

1.0

Based on GEHR Object Model

T Beale

22 Sep 2001