Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

VMR - Virtual Medical Record

The Virtual Medical Record (VMR) - A HL7 Project in evolution

The best current examples of what a "VMR" is is in the recently updated GELLO R2 standard. In this it defines the EHR interface that GELLO talks to, to query a patient's, or a population's Medical Records. The VMR is based on the HL7 V3 model and datatypes.

It is a "Virtual" interface and is optimised for point in time clinical decision support and while it could be used as the basis for an EHR design it is intended to be simplified, to represent a snapshot and to omit important concepts that should exist in a real EHR.

In particular concepts such as audit trail, result history and display forms are omitted and only data relevant to making decisions based on the current patient state are represented. The hard bit is excluding as much complexity as possible while ensuring that any decisions made are safe and based on adequate data.

It is intended that each EHR system would create an "Adaptor" or "Facade" to present patient data in a consistent form so that the clinical decision logic can be common across many systems. Obviously some systems will be missing data and it is likely that the data will not be in a HL7 V3 form and this is where the word virtual comes in, there needs to be a translation layer to transform data into a form that complies with the VMR. There are many potential ways to do this ranging from creating a CDA document, a HL7 V3 message, a SOAP service or even creating HL7 V2 message(s) that contain the required structured data to allow the creation of a VMR interface. A direct database access layer is also possible. So documents, messages, services, archetypes/templates, CCD, databases for example could all populate the vMR.

The aim is to allow GELLO or another CDS language access to a standard model to reliably access patient data about the current patient's "Observations" (eg haemoglobin) or "Family History" or eg "Surgical History"/"Problem List". This is the single patient "Context" but other contexts are relevant. Access to population based data is very important for public health monitoring (perhaps context "Population"?) and in the case of templates access to data during the editing process (context "Template").

The project is currently under active development and these ideas are not fixed or standardized but give some idea as to our view of what a VMR should be. In this area we intend to attempt to try and model the requirements using the HL7 "SAEAF" famework - the "Services Aware Enterprise Application Framework". We think this framework, when used in an agile manner shows great promise in structuring thoughts on the topic and allowing alignment when people come at the problems from different world views.

VMR modelled in SAEAF

 Enterprise View Information ViewComputational ViewEngineering ViewTechnology View

HL7 /- ISO Datatypes

Classes in Model

Platform Independent UML Model GELLO Class definition  
Platform Specific LRA ModelsCCD RMIM View  


Enterprise View - Concerned with the purpose, scope and policies governing the activities of the specified system within the organisation of which it is part.

Information - concerned with the kinds of information handled by the system and constraints on the use and interpretation of that information.

Computational - concerned with the functional decomposition of the system into a set of objects that interact at interfaces - enabling system distribution.

Engineering - concerned with the infrastructure required to, and distribution of, the computing resources defined in the Computational View.

Technology - concerned with the choice of technology to support system distribution.

More on the 'virtual' in vMR

Noone has an exact implementation of the vMR. It will always need to be mapped to local structures. It needs to handle missing data items, for example if the local structure doesn't have a smoking history for patient, the vMR needs to know it doesn't have it - it is null. Another example would be if the Allergies section of a populated instance of a patient's electronic medical record is not filled in - is this 'No - there are no allergies' or is this a null value? A test for the vMR is that is needs to be addressable by GELLO. (The vMR is for clinical decision support). It exists for CDS, then it is gone.

Distinction from reference models

As an artefact of the HL7 standards community it might seem that this notion of a vMR is confused with that of an instance of the RIM such as a RMIM. Remember it is a simpler, snapshot view and it's a slightly different view at that. So instead of top level Entities and Acts, we have explicit links, such as Patient (Entity) has Observation (Act). The vMR has a context which would often be a patient context, but it could be a population one. This context builds a specific patient class property rather than following the RIM links (ie Person playing the role patient..). So the link is clearer (perhaps) and stuff at the RMIM level can be exposed as top level constructs.

Additional classes can be included such as ProblemList, FamilyHistory and Procedures. Our current approach to do this is to add some xmi export capability from our gello tooling and then bring that into Enterprise Architect.

The vMR also includes support for Common Terminology Services. The vMR might properly 'live' in the Guideline model part of Rector's Model of Models diagram.

Potential vMR sources

So what's to be in and what's to be out? ideally we'd be in the Goldilocks zone with a one pager that keeps most people happy. We should borrow the SNOMED-CT editorial policy of 'URU' - understandable, reproducible and useful. Here is a list of some potential vMR class sources:


  1. HL7 classes of Patient, Allergies and Medications. (V2/V3)
  2. SAGE project
  3. CCR/CCD
  4. Logical Record Architecture (England)
  5. IHE decision support and patient summary messages
  6. RMIMs such as Clinical Genomics
  7. NeHTA discharge summary and other specifications

In addition we think the vMR should use the latest ISO datatype standard.

HL7 vMR project

We are active in the newly formed vMR project of the HL7 Decision Support Working group. The shape of the vMR is emerging.

To link to the HL7 vMR wiki, (And yes some of the content may look familiar!) go to:

HL7 vMR Wiki

Table of Contents