# Semi-Automated Mapping of German Study Data Concepts to an English Common Data Model
## 3 Results  
### Concept of Mapping Pipeline  
The aim of the project was to create a workflow that helps map data that does not currently adhere to a common data standard such as health study data. Large parts of these data are commonly not mapped to a standardized vocabulary such as ICD-10, RxNorm, or ATC. Therefore, mapping of these data to a common data model such as OMOP cannot be performed in an automated fashion. The current process is to use the USAGI tool which suggests OMOP concepts based on the relevance of keywords within OMOP concept names using TF-IDF. When dealing with non-English data this is preceded by manual translation using a publicly available internet service such as Google Translate as well as some form of manual simplification of especially long phrases from questionnaire data (Figure 1 top). Our approach eliminates the need for human-computer interaction during the process of translation, keyword preprocessing, and concept matching (Figure 1 bottom) as needed in the current process using USAGI.  
The workflow is realized in Python and uses publicly available tools from Hugging Face ([[https://huggingface.co](https://huggingface.co)]([https://huggingface.co](https://huggingface.co))), spaCy ([[https://spacy.io](https://spacy.io)]([https://spacy.io](https://spacy.io))), and scikit-learn ([[https://scikit-learn.org](https://scikit-learn.org)]([https://scikit-learn.org](https://scikit-learn.org))).  
Firstly, common German medical abbreviations (e.g., 'KHK'--'Koronare Herzkrankheit', Engl. 'Coronary Artery Disease') are automatically transformed into their long names using a custom dictionary before translation using Hugging Face (Figure 2). The so-obtained English expressions are automatically preprocessed to remove common words ('stop words' like 'a', 'the', etc.) and punctuation; to remove inflections such as plurals, verb tense, etc.  
('lemmatization'); and are then put into lowercase using spaCy. These remaining keywords are used for concept matching via TF-IDF from scikit-learn. The algorithm is publicly available and fully customizable, and may serve as the foundation for similar tasks in different contexts.  
One major challenge lies in delivering a meaningful, automated translation of non-English medical expressions into English. The workflow relies on a popular transformer model trained on the OPUS-MT open-source parallel corpus [24].  
However, medical expressions can be particularly challenging. For one, the training data of common translation models contains only a few medical texts. Therefore, less frequent medical terms may be unknown to the model. For example, 'Lufnot' translates to 'air need' rather than'shortness of breath'. Therefore, current efforts of the community aim to establish a text corpus and model specifically for medical text [25; 26; 27; 28; 29].  
Additionally, medical expressions, particularly in Germany, often make use of Latin expressions (e.g., 'Ulcus curris', Engl. 'leg ulcer'). The use of uncommon abbreviations (e.g.,  
Figure 1: **Top**: current workflow of mapping German study data to the OMOP common data model; **Bottom**: new semiautomated approach.  
Figure 2: Example of the translation and preprocessing workflow.  
'RR' for 'riva rocci' which represents 'blood pressure') and of colloquialisms or layman's terms (e.g., 'Schaufensterkrankheit', 'offenes Bein' for leg ulcer) hamper the translation task even further.  
Medical expressions, which fail an appropriate translation from German to English, subsequently fail to generate useful OMOP concept suggestions at the end of the workflow.