Duplicate group concept IDs in "openehr_terminology.xml"

I assumed that the IDs in the “openehr_terminology.xml” would be unique across groups. There are a few duplicates:

id=“253”:

<group name="audit change type">
        <concept id="253" rubric="unknown"/>
<group name="participation function">
		<concept id="253" rubric="unknown"/>
<group name="null flavours">
		<concept id="253" rubric="unknown"/>

id=“523”:

<group name="audit change type">
		<concept id="523" rubric="deleted"/>
<group name="version lifecycle state">
		<concept id="523" rubric="deleted"/>

id=“532”:

<group name="instruction states">
		<concept id="532" rubric="completed"/>
<group name="version lifecycle state">
		<concept id="532" rubric="complete"/>

All the duplicate values have the same meaning. Apart from the id “532”, the “rubric” values are the same.

Are duplicate group concept IDs allowed?

GitHub: openehr_terminology.xml


I stumbled on this when preparing a helper method to get “rubric” based on an “id”. I need this to get the “rubric” for setting the COMPOSITION.category.value. This “rubric” should be specified in the OPT as a “term_definitions”, but it looks that it is missing when converting ADL1.4 to ADL2:

"at9000" : {
    "@type" : "ARCHETYPE_TERM",
    "code" : "at9000",
    "description" : "Term binding for at9000, translation not known in ADL 1.4 -> ADL 2 converter",
    "text" : "Term binding for at9000, translation not known in ADL 1.4 -> ADL 2 converter"
},

It has “term_bindings”:

"term_bindings" : {
	"openehr" : {
    	"at9000" : "http://openehr.org/id/431"
    }
},

So I plan to use the helper method to search for ‘431’ => “persistent” for the composition category.

For now the duplicates will not affect my helper method but I wanted to share the duplicates to make sure something doesn’t break because of them.

Hi Borut,

Some of this is lost in the mists of time TVBH!!

Having the same code/rubric in different groups is not really an issue IMO

<group name="instruction states">
		<concept id="532" rubric="completed"/>
<group name="version lifecycle state">
		<concept id="532" rubric="complete"/>

Is theoretically a problem since we have two different rubrics for the same code. We did look to fix this a few years ago but decided that the downstream effect on already recorded data would be too high, and that though messy, the codes are used in such different contexts that it safer to leave alone.

https://openehr.atlassian.net/browse/SPECPR-275

https://openehr.atlassian.net/browse/SPECPR-51

4 Likes

Thank you Ian for the explanation and the links.

Maybe the explanation could be added to the README to skip explaining the same to every newcomer.


Or I could just edit the OPT :man_facepalming: