← Back to team overview

dhis2-devs team mailing list archive

Re: interoperability and uuids

 

Hi Bob,

Good point to make unique id for data element, org unit and so. This way in DHIS we could have uid for say same data element across different existing installations, just by updating uuid. But this could solve internal issue of DHIS, not interoperability with other systems like openmrs. At least maintaining uuids will be overhead. uuid is meant to create unique id in non controlled (non centralized) environment, and later merge data together without id conflict.
Interoperability, especially when data at different levels should be linked, has to be based on atomic unit of data. In our case, this would be ICD10. OpenMRS uses ICD10 (should use) to uniquely identify each disease, so every concept in openmrs should have corresponding uuid (this would be one to one mapping 1 concept - 1 ICD10 code). In contrast DHIS as data warehouse will have one to many relation to ICD10 codes. This is where generalization occurs. Say we have TB data element to generally show TB status, it would include all TB related diseases ICD10 A15-A19 or subset of TB types: A15, A16, A17, A18 and A19, but not detailed one like shown in http://apps.who.int/classifications/apps/icd/icd10online/. This list should be used by openmrs and alike systems. 
Now when both systems confirm to ICD10 codes, it would be simple to map data at different levels because openmrs uses ICD10 at atomic level, and DHIS make generalization as it needs to form data element. Also we give freedom to implementers what to choose, what ICD10 codes form particular data element of particular country. 
So idea of uuid will not serve best for interoperability, it will be overhead and also lengthy. I think the only way is to map dhis data to icd10 and openmrs to icd10 and icd10 to icd10, giving freedom to dhis implementers what icd10 codes will form particular data element.
DataSet, Category and Categorycombo are DHIS internal structure, they cannot be part of any standard. Tying this all into one as to solve interoperability issue, will not bring to success. 
As part of my PhD I am learning standards and standard making in healthcare and so far I didn't see two countries using the same form for data collection. there is explanation for this: each country has prioritized certain aspect of healthcare, like in Tajikistan it is TB and in African countries it may be HIV and child mortality. From this countries may haver different set of data elements, even at dhis level they want more detailed info on particular cases, say from example above Tajikistan uses all TB ICD10 in DHIS with little generalization and more details. It also can go down to level as http://apps.who.int/classifications/apps/icd/icd10online/. 
I tried to express my ideas on interoperability, hope it helps in some way. In general DHIS meta should be something like this:

<de name='TB' id='whatever implementer did'>
<neededICD10>
<icd10 idFrom='A-15' idTo='A-19'/>

<icd10 id='J-321'/>
<icd10 id='P-001'>
</neededICD10>
</de>
<de name ...

This would be enough for openmrs like system to figure out what data needed looking at icd10 library of its own. 

murod


________________________________
From: Bob Jolliffe <bobjolliffe@xxxxxxxxx>
To: dhis2-devs <dhis2-devs@xxxxxxxxxxxxxxxxxxx>
Sent: Sunday, September 13, 2009 3:46:21 PM
Subject: [Dhis2-devs] interoperability and uuids

Greetings

Looking at data exchange with openmrs using sdmx_hd (or anything else for that matter).  Every metadata that is exchanged will require a uuid.  Currently looking at what is required to share metadata regarding a metadata, means that the following are required to have uuids:

DataElement - already have
OrgUnit- already have
DataSet
Category
CategoryCombo 

The DataSet is not strictly required, but probably useful.  The category (Dimension) and CategoryCombo (DimensionSet) are.  Any objections, suggestions or other comment?

Regards
Bob


      

Follow ups

References