Graphical data mapping tools supporting openEHR?

Is anybody aware of a commercial or open source solution that in an easy, preferrably graphical, way supports creating readable template-node-name-based mappings from non-openEHR data formats to openEHR formats?

The resulting mapping should be directly usable to do data instance conversion to official openEHR formats (canonical or simplified/flat) e.g. by generating conversion code.

Examples of interesting solutions would be plugins to tools like Data Mapping Tools: MapForce | Altova
image
…or plugins to some similar open source product. Preferrably a product that already has support for HL7v2 and EDIFACT messages (like Altova has).

I know that several openEHR platforms support XML-based TDS/TDD directly or via conversion approaches like GitHub - openEHR/openEHR-TDD2canonical: openEHR TDD to canonical composition converter . In those cases normal XML-schema based support in mapping tools like Altova can be used, but the discussion in Template Data Document and Schema? seems to discourage that approach.

(This topic is a bit like an inverted direction of the topic
Business Intelligence tools with openEHR support - but here we instead want to convert TO openEHR from other standards or legacy fromats.)

1 Like

I think the full version of LinkEHR may do some of this? @yampeku , @damoca ?

1 Like

Yes it does. You can test it yourself in the available version (only limitation is that you cannot export the xquery in the ‘free’ version, but should be enough to check if that’s what you are looking for)

Process works by defining source-to-target mappings, which can contain mapping tables for simple value correspondences. When all mappings to mandatory elements are provided you can automatically generate a transformation program from them. You can do cool things like generating branches of the target model based on conditions on the source data (e.g. separate medication between active and inactive)

Input format can be anything that can be expressed in an XML-schema, any archetype-based data, or sql by using LinkEHR integration engine messages (think about it as a way of flattening your sql data to remove potential loops and other problems sql has)

Output format can be anything we have defined archetypes for (openEHR, HL7 FHIR, HL7 CDA, CDISC ODM, or anything that has an schema, really). OPT can also be used as target model (it is really importing it as an archetype). We don’t support export target data in simplified format yet, but should be easy to add if needed (generating json equivalent to the XML is supported by XQuery itself)

We are happy to arrange a demo if you want :slight_smile:

1 Like

Hi Erik,
I have no doubt @yampeku and his colleagues have a much more polished offering, but back in the day I considered Atlas Transformation Language for this purpose. It is a project under the Eclipse foundation, but I have not checked its status for years.

It’s based on EMF (or was so), so there’s some extra machinery required to fit your pipeline into EMF’s but just in case you feel adventurous, you may want to take a look.

2 Likes

@yampeku The LinkEHR approach sounds interesting, we’ll contact you regarding demo. In order to help us and others finding this topic later, could you post some screenshots (or links to user guides) describing the mapping editing interface?

Regarding another possible alternative: In some posts…

@pablo and @ian.mcnicoll mentioned Mirth (Nexgen Connect) as an option. While not as graphical as Altova, it does seem to have a point and click interface assisting creation of mappings. For example page 261 of the user guide shows a bit of it.

@ian.mcnicoll & @pablo how do you usually set up openEHR mapping targets in Mirth?

I think (apart from papers) the most comprehensive explanation of LinkEHR Studio mapping interface & capabilities is on LinkEHR Studio Manual, specifically points 9 and 10.
There is also a youtube channel with some videos on the matter, but they are less useful as they are based on a very primitive version of the tool

1 Like

I have not done any myself but @jon.reed s team at FurturePerfect may be able to tell more about the integration engine aspect. My typical approach is to create a template that matches the incoming message as closely as possible then document the mappings as implementation guidance ,along with a sample JSON composition