Versions Compared

Key

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

...

Design Concepts

What is a 'system'?

The term 'system' is used in various places in the openEHR specifications e.g. where the 'creating system' needs to be identified for an EHR, system id in the branched versioning model and so on. The original concept was that an openEHR 'system' refers to the back-end platform environment, that is to say a single EHR +/- demographics environment. Today we might call this an 'openEHR platform instance' or similar.

In older-style site-based architectures, the location of the 'system' is clear - it is physically and logically in the customer (health provider) location.

In more modern virtualised / cloud-based architectures, the 'system' may physically reside in a multi-tenanted virtualised infrastructure similar to Amazon or a similar provider (typically not Amazon but a national or at least EU data centre provider). In this case, the domain name should still relate to the health provider or other customer - it has nothing to do with the virtualisation or cloud suppliers.

System Identifier

The purpose of using a system id in the openEHR specifications is primarily to determine:

  • where an EHR was originally created (typically some hospital, or maybe a national summary health record) and
  • where imported data were created, by use of the virtual versioning approach defined in the Change Control model of the specifications.

The system should be identified by a reverse internet domain name, e.g. no.helse-bergen.xyz might be a hospital in Bergen. The internet domain relates to the installation, not the vendor of the system, and as such is usually going to be based on a health provider domain.

Normally, domain names (and thus reverse domain names) are reliable and hard to fake in a secure environment, due to the reasonably tight control of the global DNS, so they are a reasonable way of identifying the origin of EHRs and EHR data (and other data, e.g. demographic) within openEHR environments, including where synchronisation needs to be implemented.

We may need to improve and/or clarify the specifications to better explain the 'system' concept.