Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Introduction

This page is describes changes proposed to the openEHR release 1.0.2 Reference Model (RM) in response to the many lessons learned over the years since its publication. The issues driving the changes are recorded on the Jira SPECPR issue tracker .

ITEM_STRUCTURE & ITEM / CLUSTER / ELEMENT

Needs

  • solve the pizza problem - multi-value items
  • ITEM_SINGLE, ITEM_LIST etc are not used much in archetyping, and are also not flexible enough because they cannot occur anywhere in a CLUSTER structure
  • add a type that is a mixture of CLUSTER and ELEMENT, i.e. has a value and also children, to allow for the fractal nature of data, with a 'summary' value, plus underlying detail

The current data structure models are shown below.



Problems

Problems / irritations with the above models appear to include the following:

  • few archetypes use anything but ITEM_TREE because it appears that one 'can never know' if some more detail will be needed later
    • TB: but what about things like Apgar, Barthel etc - surely they are linear lists?
    • also, it appears that some form of 'table' structure is still needed
  • ITEM_TREE, ITEM_LIST etc cannot be nested inside each other arbitrarily.
  • the structures complicate the software unnecessarily, without adding much value (this would clearly be true if no/limited use is being made of ITEM_LIST, ITEM_SINGLE)
  • archetype paths are made more complex ... MORE INFO REQUIRED - WHAT'S THE PROBLEM?

Below, various simplified models are proposed, each with an impact analysis.

Candidate A - make ITEM_STRUCTURE inherit from CLUSTER

Proposal - Thomas Beale

Status

under construction

Design concept

  • Keep ITEM_STRUCTURE and chilren, but just make them a variety of CLUSTER. Impact remaining model as little as possible.

Changes

  • ITEM_STRUCTURE now inherits from CLUSTER.
  • all static declarations in the remainder of the RM for ITEM_STRUCTURE changed to CLUSTER. In theory they should stay ITEM_STRUCTURE, but the problem is that with no static declarations anywhere for CLUSTER or ITEM, CLUSTER archetypes have no place to go, and the CLUSTER type is not detected by my current 'type closure' detecting algorithm. This should probably be changed.

Impact Analysis

Component

Impact

On RM

 

On existing archetypes

 

On archetype tooling

 

On existing RM-1.0.2 based software

 

On existing RM 1.0.2 data

 

Candidate B - xxx

Proposal - xx

Status

under construction

Design concept

  • xx.

Changes

  • xxx

Impact Analysis

Component

Impact

On RM

 

On existing archetypes

 

On archetype tooling

 

On existing RM-1.0.2 based software

 

On existing RM 1.0.2 data

 

Middle and Lower IM (ENTRY and ITEM_STRUCTURE & ITEM / CLUSTER / ELEMENT)

Below is an initial suggestion based on many previous mail threads (TODO: find links to threads in mail-archive)

'UML' image above produced by pasting the "diagram sourcecode" below to http://yuml.me/diagram/scruffy/class/draw2 (initially by Erik Sundvall)

The yellow stuff is what I guess could be in a 13606-1(a?) "healthcare a-specific" update and the rest in a new 13606-6 or 13606-1b healthcare-specific part.

I have likely missed some details (and did not have time to add datatypes to all attributes, but they are in the openEHR specs).

[note: No change suggestions in ACTION and INSTRUCTION except that ITEM_STRUCTURE type is replaced by ITEM]
[CONTENT_ITEM{bg:yellow}]]^[SECTION|0..* items: List CONTENT_ITEM{bg:yellow}]
[CONTENT_ITEM]^[ENTRY|data: ITEM{bg:yellow}]]
[CONTENT_ITEM]^[ABSTRACT_CARE_ENTRY|0..1 protocol: ITEM;0..1 guideline_id: OBJECT_REF;0..1 workflow_id: OBJECT_REF;language: CODE_PHRASE;encoding: CODE_PHRASE;subject: PARTY_PROXY;0..1 provider: PARTY_PROXY;0..1 other_participations: List PARTICIPATION; ]
[ABSTRACT_CARE_ENTRY]^[CARE_ENTRY|data: ITEM]
[CARE_ENTRY]-[note:CARE_ENTRY Replaces both ADMIN_ENTRY and EVALUATION.]
[ABSTRACT_CARE_ENTRY]^[OBSERVATION|data: EVENTS;0..1 state: EVENTS]
[ABSTRACT_CARE_ENTRY]^[INSTRUCTION]
[ABSTRACT_CARE_ENTRY]^[ACTION]
[ENTRY]-[note:ENTRY replaces GENERIC_ENTRY and is intended also for 'healthcare a-specific' stuff as indicated useful by 13606 experiences]
[EVENTS|origin;0..1 period;0..1 duration]++-events>[EVENT|time;0..1 state: ITEM; data: ITEM]]
[EVENTS]-[note: HISTORY renamed to EVENTS]
[EVENT]^[INTERVAL_EVENT|width;0..1 sample_count;math_function]
[ITEM{bg:yellow}]^[ELEMENT|0..1 null_flavor;0..1 value DATA_VALUE{bg:yellow}]
[ITEM]^[CLUSTER|1..* items: ITEM;0..1 structure: CODE_PHRASE{bg:yellow}]
[CLUSTER]-[note: 'structure' indicates if the cluster is to be validated and interpereted as e.g. a table or list - defaulting to tree if not provided]
  • No labels