Project Develop an automated converter from CDL models to ADL models, preserving their semantic meaning in the translation. Develop an understanding of OpenEHR archetypes and in particular their representation using the ADL language. Progress I have been working on this project part time since March 2012 I developed a framework that allows the CDL compiler to pass the results of compilation to an ADL generator and generate ADL models based on the semantics of the corresponding CDL model. To test that the output is valid ADL I loaded them in the AWB I fleshed out the framework using simple CDL models first (address CEM), gradually moving to more complex CDL models (cardinality/concept/min/max constraints).I am currently testing the generator against a model set representative of models being developed by IHC. (141 models, the ones Tom sent Sam) Approximately 90% of these models compile correctly and can be viewed in the Archetype Definition Language Workbench (AWB) Compilation failures are mostly due to misnaming of ‘at’ codes that are inherited from a parent model. (Need to understand Archetype inheritance better.) Observations Many of my observations may be due to my lack of understanding of archetypes and ADL. There is a certain dissonance between the CDL data types and ADL data types o There is no corresponding data type that matches the CDL INT data type. There are data types in Archetypes that represent integer concepts, it is impossible to determine which to use without additional semantic knowledge such as annotations in the CDL source. The CDL to ADL converter currently converts INT to DV_COUNT in order to successfully compile the models. o The CDL to ADL converter uses DV_QUANTITY to represent PQ but DV_DURATION could be used here also, depending on the semantics of the data element. o The TS data type does not match exactly with DV_TIME, DV_DATE_TIME, and DV_DATE. o I can’t see how to convert IREF and CREF. I can’t see a way to represent valueset constraints in ADL. I made a best guess at how to represent the concept of a ‘key’ in ADL. This probably needs some review. The reference model in ADL is at a higher level semantically than the CEM information model Because of that, the CDL to ADL converter had to use only the low level ITEM/ELEMENT/CLUSTER model to represent all the models in ADL. Additional semantic information, such as annotations, would be needed to give hints to the converter as to which ADL concepts to use in the conversion from CDL to ADL. I need a lot of help in building the ontology section of the ADL document. I’m not sure if we can map the concepts used in the ADL model to an external repository or if we need to show all the relationships in the ADL source document. If the latter were the case, then it would be an onerous project to represent that in the ADL document, especially with models like standard labs and their derivatives because of the sheer volume of concepts. I have simply guessed at how to map the internal mappings (the ‘at’ codes) to the Qualibria concepts (the ‘ac’ codes). My attempt at mapping ‘ac’ codes to terminology concepts is purely a guess. This project is definitely a work in progress. I am confident that as my understanding of the semantics of archetypes and ADL increases, I will be able to resolve a number of the issues I discussed. Possible solutions to conversion Annotations in the CDL source, giving direction re: mapping to ADL Revise CDL to align better to ADL Use ADL Smart tool that semi-automates the process; highlights ambiguous mappings and prompts user for choice To Do I need to do a deep dive on all CDL constraints. I have only looked at cardinality, min/max, and concept constraints. How do we deal with operator representation on numeric elements (e.g., concepts like greater than 10, less than 100) I need to properly generate ADL handling inheritance semantics, in particular the proper representation of the ‘at’ codes in the ontology section. Compare my output to Sam’s handcrafted Archetypes for the same CDL models