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
ELEMENTcontaining no value, and withnull_flavourset. -
The names of the
ELEMENTin a row are the column names. -
The names of the containing
CLUSTERof 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.
ITEM_SINGLEITEM_LIST Instance Structure
The following figure illustrates a typical ITEM_LIST structure, in this case for a BP protocol.
ITEM_LISTITEM_TABLE Instance Structure
The next figure illustrates a table of visual acuity test results.
ITEM_TABLEITEM_TREE Instance Structure
The following figure illustrates the logical and concrete forms of an example ITEM_TREE instance, representing a biochemistry result.
ITEM_TREE