Item Structure Package

Overview

The item_structure package classes presented here are a formalisation of the need for generic, archetypable data structures, and are used by all openEHR reference models.

The subtypes of the ITEM_STRUCTURE class explicitly model the logical data structure types which typically occur in health record data, and include ITEM_SINGLE (for single values such as a patient weight), ITEM_LIST (for lists such as parts of an address), ITEM_TREE (for hierarchically structured data such as a microbiology report) and ITEM_TABLE (for tabular data such as visual acuity or reflex test results). Each of these classes defines a functional interface, has an optimal physical representation using the basic types CLUSTER and ELEMENT from the representation package, and can generate a CEN EN13606-compliant hierarchical representation of its data. Any system implementing these types is guaranteed to create data which represents the logical structures of lists, tables and trees identically.

Data values are connected to spatial structures via the value attribute of the ELEMENT class of the representation cluster. This class also carries the attribute null_flavour, whose value indicates how to read the contents of the value attribute. Values from the openEHR null flavours vocabulary, including 253|unknown|, 271|no information|, and 273|not applicable| are used to populate it.

The openEHR class model for spatial structures is illustrated on the right-hand side of [data_structures_package]. It should be noted that these classes (ITEM_LIST etc) are not equivalents of similarly named classes (such as List<T>) in most data structure libraries - they also include per-node name, archetype_node_id and leaf node value and null flavour, and path capabilities.

CEN EN13606 Encoding Rules

ITEM_SINGLE

An ITEM_SINGLE object is encoded in EN13606 as a single ELEMENT object.

ITEM_LIST

An ITEM_LIST object is encoded in EN13606 as a CLUSTER object containing the set of ELEMENTs from the openEHR list.

ITEM_TABLE

The ITEM_TABLE encoding rules are as follows:

  • Each row is encoded as a Cluster containing a number of ELEMENTs, each corresponding to the value of a column in that row.

  • An empty/void column value for a row is represented by an ELEMENT containing no value, and with null_flavour set.

  • The names of the ELEMENT in a row are the column names.

  • The names of the containing CLUSTER of each row is the stringified number of the row in the overall table.

ITEM_TREE

Data of an ITEM_TREE instance are simply replicated as is to produce the correct EN13606 hierarchical form.

Class Descriptions

Unresolved include directive in modules/data_structures/pages/item_structure_package.adoc - include::../UML/classes/item_structure.adoc[]

Unresolved include directive in modules/data_structures/pages/item_structure_package.adoc - include::../UML/classes/item_single.adoc[]

Unresolved include directive in modules/data_structures/pages/item_structure_package.adoc - include::../UML/classes/item_list.adoc[]

Unresolved include directive in modules/data_structures/pages/item_structure_package.adoc - include::../UML/classes/item_table.adoc[]

Unresolved include directive in modules/data_structures/pages/item_structure_package.adoc - include::../UML/classes/item_tree.adoc[]

Instance Structures

ITEM_SINGLE Instance Structure

The figure below illustrates a ITEM_SINGLE instance, in both physical and logical forms.

instance item single
Figure 1. Instance Structure of ITEM_SINGLE

ITEM_LIST Instance Structure

The following figure illustrates a typical ITEM_LIST structure, in this case for a BP protocol.

instance item list
Figure 2. Instance Structure of ITEM_LIST

ITEM_TABLE Instance Structure

The next figure illustrates a table of visual acuity test results.

instance item table
Figure 3. Instance Structure of ITEM_TABLE

ITEM_TREE Instance Structure

The following figure illustrates the logical and concrete forms of an example ITEM_TREE instance, representing a biochemistry result.

instance item tree
Figure 4. Instance Structure of ITEM_TREE