...
The following shows the result.
...
Candidate A.4 - Make ITEM the focal 'data structure' class
Proposal - Thomas Beale
Status
Under development
Design Concept
This version assumes that where ITEM_STRUCTURE is referenced in the model, we will now just use ITEM.
Changes
In addition to Candidate A.3 changes:
- Convert references in RM to ITEM_STRUCTURE to ITEM
- Optionally removed ITEM_STRUCTURE (it is shown as retained here)
- keep ITEM_STRUCTURE descendants, providing a standardised programming interface to tree, list, table etc arrangements of CLUSTER/ELEMENTs
Impact
This will break all RM-based software, most openEHR archetypes today, and is not directly compatible with existing openEHR data. However the costs may be reasonable:
- although the RM will break, the semantics of ITEM and ITEM_STRUCTURE are not that different, and the changes should generally be simplications / removal;
- archetypes could be automatically processed to make the change. Almost all real archetypes use ITEM_TREE, which has the 'items' attribute which is the same as for CLUSTER.
- existing data would either have to be migrated to the new form (assessment required) or converted on the fly to the new form during querying.
Diagram
The following shows the result.
...
Candidate B - Remove ITEM_STRUCTURE
Proposal - Pablo Pazos
Status
under construction
Design concept
- Remove ITEM_STRUCTURE and use ITEM for structures without losing meaning/semantics/modeling capabilities.
Changes
- Removed ITEM_STRUCTURE and children.
- Added attribute structure_type:CODE_PRHASE to CLUSTER (as in 13606 model)
- Added method is_root() to ITEM
- ITEM inherits from DATA_STRUCTURE
- Added backguards relationship "parent" from ITEM to CLUSTER
Diagram
I have the source of this diagram if anyone wants it, it's a .dia file (http://live.gnome.org/Dia)
...
Candidate C - class renaming for easier explanation
Proposal - Erik Sundvall
Status
under construction
Design Concept
Below is an initial suggestion based on some previous mail threads
...
(TODO: find links to more threads in mail-archive)
Changes
Diagram
'UML' image above produced by pasting the "diagram sourcecode" below to http://yuml.me/diagram/scruffy/class/draw2 (initially by Erik Sundvall)
...