Need to specify a choice of different objects within a container attribute in Archetype and Template

Description

Two use case for choice are:
1) Within an archetype it is currently common practice to use a CLUSTER containing two optional elements to simulate the real requirement to indicate that the two elements are alternative choices (e.g. age or data of birth). The cluster is actually a redundant level of data that would not be necessary if a choice mechasim was available.
2) Templates that contain an archetype with a slot that allow multiple archetype fillers (e.g. COMPOSITION.problem_list allows EVALUATION.problem, EVALUATION.problem-diagnosis, EVALUATION.problem-diagnosis-histological, EVALUATION.problem-genetic, EVALUATION.injury) need to allow the slot to be filled with a subset of those allowed (e.g. EVALUATION.problem, EVALUATION.problem-diagnosis and EVALUATION.injury) and apply further constraints on those fillers. The resulting operational template will represent this filled slot as an ordered sequence of these EVALUATIONs forcing all the problems to be grouped together, followed by all the diagnosis and finally all the injuries. However, it should be possible for a user to order their problem list as they wish, allowing problems, diagnosis and injuries to be arranged in any combination. Simply making the container non-ordered is not sufficient as this group of problems may need to followed by addition content such as a EVALUATION.clinical_synopsis etc.

Environment

None

Activity

Show:
Alessandro Torrisi
March 21, 2009, 1:46 PM

Suppose we have an archetype, with 1 question "What do you like to eat", it is connected to a coded_text list of "Pizza", "Pasta", "Fish", and "Soup". It is set to occurrence=unbounded.

Now I want to put data in site the archetype, so I get the question, and want to answer it. I am Italian, and I like Pizza, as well as Pasta.

In real life :
Q: What do you like to eat?
A: Pizza, Pasta

In openEhr:
Q: What do you like to eat?
A : Pizza
Q: Waht do you like to eat?
A: Pasta.

I did not asked the question twice, so it is not correct this way.

Beside that, there is an other problem :
In openEhr:
Q: What do you like to eat?
A : Pizza
Q: What do you like to eat?
A: Pizza
Q: What do you like to eat?
A: Pizza

As you can see, I entered 3 times pizza. There is no constrain to avoid this behavior.

Now the technical part..

The example question looks in XML like this :

<items xsi:type="Element" id="at0004" minOccurs="0" maxOccurs="unbounded">
<name>What do you like to eat?</name>
<valueConstraint rmType="DV_CODED_TEXT" xsi:type="CodedTextConstraint">
<definingCode>
<terminologyId>local</terminologyId>
<codeList value="Pizza">at0005</codeList>
<codeList value="Vegetables">at0006</codeList>
<codeList value="Hamburger">at0007</codeList>
<codeList value="Soup">at0008</codeList>
<codeList value="Pasta">at0009</codeList>
<codeList value="Salmon">at0010</codeList>
<codeList value="Fish">at0011</codeList>
<codeList value="French Fries">at0012</codeList>
</definingCode>
</valueConstraint>
</items>

The path is:

/content[openEHR-EHR-OBSERVATION.uvs_multiselect.v1 and name/value='UVS Multiselect test']/data[at0001]/events[at0002]/data[at0003]/items[at0004 and name/value='What do you like to eat?']

Now suppose I still want to answer the question with pasta and pizza I get this :

/content[openEHR-EHR-OBSERVATION.uvs_multiselect.v1 and name/value='UVS Multiselect test']/data[at0001]/events[at0002]/data[at0003]/items[at0004 and name/value='What do you like to eat?']/value = pizza

/content[openEHR-EHR-OBSERVATION.uvs_multiselect.v1 and name/value='UVS Multiselect test']/data[at0001]/events[at0002]/data[at0003]/items[at0004 and name/value='What do you like to eat?']/value = pasta

As you can see we have 2 times the same path. I cannot data on the same path twice.

Heath Frankel
May 8, 2015, 12:03 AM

The comment above doesn't seem to be related to this issue, for me this the comment is relevant to the RM assumed requirement to have unique names in data.

Thomas Beale
May 21, 2015, 12:49 PM
Edited
Done

Reporter

Heath Frankel

Labels

None

Components

Affects versions

Priority

Major
Configure