Add support for Real values with DV_SCALE

Description

See SPECPR-44.

Activity

Show:
Pieter Bos
October 30, 2020, 2:21 PM
Edited

The constraints are still of type real/C_REAL, so that documentation is correct.

There is simply an RM specific type substitution layer added later, saying that you can constrain a Real number in the OpenEHR RM with a C_INTEGER. It is also used for the terminology code difference, where the RM model is different than the AOM model.
At least, that’s part of the ADL workbench and Archie in the same way, I’m not sure if and where it is in the documentation.

Sebastian Garde
October 30, 2020, 5:19 PM

Yes - sorry I did not mean to imply that it is incorrect; just that it is confusing (to me anyway).
A note with a pointer to whereever it is documented what ADLW and Archie do, or just a note would probably be helpful….even more so if this is behaviour has been changed.

Pieter Bos
November 2, 2020, 12:46 PM

I just checked, and it is specified in https://specifications.openehr.org/releases/AM/latest/AOM2.html#_rm_type_substitutions . Also note the two paragraphs before that. Maybe an example could help there?

Sebastian Garde
November 2, 2020, 3:45 PM
Edited

OK thanks Pieter - the same section does not exist in 1.4…so strictly speaking this is not correct in 1.4 land then as it stands.

However if I understand the commenters correctly, it seems to be the consensus here that Integers should be supported in a DV_SCALE in the same way? I think this consensus (if it is one) should be at least written down here if that is the case, so that parsers etc. deal with this in the same way (i.e. enable or reject an integer).

The other consensus is if there is at least one Real in the custom 1.4 syntax, this is interpreted as a DV_SCALE, otherwise (only integer) it is assumed to be a DV_ORDINAL. We’ll do better in 2.0 with tuples etc.

See this archetype with a few examples…

If you have any objections to these clarifications, please raise them now so that we and others can go and implement this for 1.4 in a consistent way.

Ian McNicoll
November 2, 2020, 4:41 PM

“The other consensus is if there is at least one Real in the custom 1.4 syntax, this is interpreted as a DV_SCALE, otherwise (only integer) it is assumed to be a DV_ORDINAL. We’ll do better in 2.0 with tuples etc.“

Agree - we need to respect that (for stupid reasons mostly) there will me a mix of integers ans reals in many cases.. but any real makes it a SCALE.

Done

Reporter

Thomas Beale

Raised By

Ian McNicoll

Components

Affects versions

Configure