ADL / OpenEHR IM mismatch

Hello everybody,

We are working on the Standard representation of Archetype Domain Types. When trying to convert a CDvQuantity object we found a possible mismatch between the ADL representation of a CDvQuantity and the EHR IM DvQuantity. According to the OpenEHR Archetype Profile document, an inline representation of the CDvQuantity is

age matches {
C_DV_QUANTITY <
property = <[openehr::128]> – time
list = <
[“1”] = <
units = <“yr”>
magnitude = <|0.0..200.0|>
precision = <|2|>

}

and so is supported by the ADL parsers (the ACode Java parser at least). That instance would correspond to the standard representation

age matches {
DV_QUANTITY matches {
property matches {“time”}
units matches {“yr”}
magnitude matches {|0.0..200.0|}
}

The problem is that the “property” attribute does not exist in DV_Quantity class. According to the CR-000095 it was removed from Quantity package. Then, What is the purpose of maintaining the “property” element in the ADL inline representation? Could it be converted, for instance, into a term binding? That is,

age matches {
DV_QUANTITY[at1000] matches {
units matches {“yr”}
magnitude matches {|0.0..200.0|}
}

term_binding = <
[“openehr”] = <
items =<
[“at1000”] = <[openehr::128]>

Hi David,

I have raised the same question before. My understanding is that the “property” attribute of C_DV_QUANTITY serves as an indication to Archetype Editor so it can provide sensible options of units and mangnitude.

Regards,
Rong

David Moner wrote:

The problem is that the "property" attribute does not exist in
DV_Quantity class. According to the CR-000095 it was removed from
Quantity package. Then, What is the purpose of maintaining the
"property" element in the ADL inline representation?

Hi David,
In general, C_DOMAIN_TYPE descendants can include any additional
constraints they need to - this is the point of these classes. The
property attribute in C_DV_QUANTITY allows the archetype to just
constrain the property alone but not the precise unit, which is
commonly done.

Not sure I understand the sense of what is proposed below - the 'at'
codes provide the meaning of nodes, but I don't see what it is doing here...

- thomas