This presentation is about using tools that implement two well known standards in the eHealth world, openEHR for EHR data management (generic store and query), and SNOMED CT terminology with the powerful expression mechanism.
This was presented in the "2nd Arctic Conference on openEHR and Archetype-based Clinical Information Systems"
Here is the talk: https://www.youtube.com/watch?v=JIolq3b_Gkw
Here is the full demo video: https://www.youtube.com/watch?v=pOMhqc1TZ7A
And here an article about the implementation steps: https://cabolabs.com/blog/article/openehr__snomed_ct_a_perfect_combination_for_data_querying-5a440acd0f763.html
openEHR + SNOMED CT a perfect combination for clinical data querying
1. openEHR + SNOMED CT: a perfect
combination for clinical data querying
2. www.CaboLabs.com 2
@ppazos
pablo.pazos@cabolabs.com
Pablo Pazos Gutierrez
Computer Engineer from Uruguay
Working in eHealth since 2006
Specialized on EHRs, Standards and Interoperability
Member of the openEHR Spec, Localization, and Software Programs
Working as consultant, trainer, coach, architect, dev
5. www.CaboLabs.com 5
EHRServer
• Generic Clinical Data Store
– store and query any kind of data structure
– defined by openEHR Operational Templates
– compliant with the openEHR Information Model
– no need to change the source code to add support for new data
structures
• High Level Querying
– based on openEHR Operational Templates
– defined from a GUI
– executed via REST API
– doesn't require to write code or SQL
6. SNOMED CT Expressions
A great mechanism to select
specific subsets of the SNOMED
concept graph
7. www.CaboLabs.com 7
SNOMED CT Expressions
• SNOMED CT
– is a graph of linked concepts
– specialization / generalization hierarchies (is_a)
– concepts have attributes (associated_with)
• Expressions
– allow to select part of the graph
– expression:: operator focal_concept : refinement
– refinement:: attribute_name = operator attribute_value
– All types of diabetes: "<<" = all descendants
• << 73211009 |diabetes mellitus|
– All respiratory infections caused by a virus
• << 275498002 |respiratory tract infection (disorder)| : 246075003
|causative agent| = 49872002 |virus|
8. Use Cases
What we want/can do combining
openEHR queries with SNOMED CT
Expressions
9. www.CaboLabs.com 9
Use Cases
• Clinical Decision Support
– implement complex rules to launch alerts, reminders, recommendations
– based on health problems (diabetes), conditions (obese), patient status
(age > 50, sex = Male), taking some medication (oxymetazoline /
vasoconstrictor), ...
• Patient Selection for Clinical Trials
– complex matching criteria to automate the selection process usually
done by manually reviewing health records
– selection based on health problems, risk factors, patient status, etc.
• Patient Selection for Health Care Plans
– for instance weight control plan
– selection based on risk factors in combination with over weight
• Data analysis, reporting, research, population health, ...
11. Demo
Let's check how this looks on the EHRServer
(watch the full demo at https://www.youtube.com/watch?v=pOMhqc1TZ7A)
12. www.CaboLabs.com 12
Conclusions
• openEHR
– enables storing any kind of clinical data structure and provides generic
data querying based on clinical information models (archetypes and
templates) not on a specific database technology
• SNOMED CT
– has a lot of detailed clinical knowledge in it, and expression are a
powerful mechanism to use that knowledge in specific scenarios
• The combination
– allows to create a powerful querying mechanism, mixing clinical content
with coded data that can be filtered by expressions
– enables quick implementation, ready to be used, of complex clinical data
queries in minutes without writing code or recompiling the system
13. www.CaboLabs.com 13
References
• EHRServer Clinical Data Management
– https://cloudehrserver.com/
• SNQuery SNOMED Expression Evaluation
– http://snquery.veratech.es/
• SNOMED CT Search
– http://browser.ihtsdotools.org
• loadEHR Loads Clinical Data into EHRServer
– https://github.com/ppazos/cabolabs-loadehr
• Loading data into the EHRServer
– https://www.youtube.com/watch?v=45rU0bVrEqo