I created the openEHR-ADL tool set a while ago to help with parsing, loading and managing openEHR archetypes in software. Recently I've been involved in different projects related to data integration and openEHR, and one specific step of the integration process is data mapping. Latelly there is a lot of interest of mapping FHIR resources to openEHR data, since some e-Health projects decided to use FHIR as an exchange layer and openEHR in the backend.
There are no much tools out there to help with openEHR data mapping, so I planned to create something that would help. My normal process for data mapping is having a clear understanding on the source model and the destination model (in general we map data from different models), and also having some data instances to help visualize the mappings and also useful for testing and verification.
My personal data mapping process starts documenting the data structures, fields and types from the source model in a spreadsheet, and slowly match concepts, structures and fields and data types to the destination model, adding the correspondent structures and fields on the same spreadsheet. So I end with two big columns, on the left the source, on the right the destination, I also add comments and considerations for the mappings.
When working with openEHR the structures are represented by Archetypes, and the fields by Archetype Paths. Since Archetypes are expressed in a processable format (ADL), I thought creating a program that traverses the Archetype, gets the Path for each node, and generates one row per Path on a CSV file, would be enough to generate the initial spreadsheet I need for documenting the mappings. Below there is a video on how I created such tool and how that works:
Something nice about this tool is it can generate the CSVs for all the Archetypes in a specific folder, then the CSV files could be opened in Calc or Excel to continue working in the mapping specification.
Note that a similar tool could be created for FHIR (in case we need to mapp FHIR to openEHR), then we can continue doing the data mappings just with those two spreadsheets.