SNOMED FHIR Terminology Server Integration with Bahmni
Objective | Showcase how opensource Bahmni EMR integrates with SNOMED FHIR Terminology Server, to leverage advantages of the SNOMED terminology and knowledge graph, in areas of recording clinical data, reporting, CDSS, analysis, etc. |
Due date | Nov 15, 2023 |
Key outcomes |
|
Status | Completed |
This feature will allow customers to start using SNOMED terminology in their health facilities for recording diagnosis/clinical data, and also perform reporting & CDSS use-cases using this recorded data. Customers will be able to perform CDSS use-cases for Drug-Diagnoses, Drug-Drug, and Drug High Dosage interactions. The full implementation is opensource and SNOMED international is very happy to help support implementations/geographies that wish to adopt SNOMED.
Other features include export of bulk patient data as FHIR, integration with opensource SNOMED Analytics tool, WHO ICD-10 reports, and integration with Micro FHIR Terminology Server (Snowstorm Lite) for on-prem/offline hospitals. We look forward for community inputs and contributions.
Please contact @Angshuman Sarkar @Vijay Anand Shanmughadass @Gurpreet Luthra @Ketan Goenka @Kai Kewley (SNOMED Team) who can help you understand this integration better if you are interested in exploring SNOMED. Or come to our Slack channel to ask questions directly with the SNOMED team.
Bahmni roadmap for Global Standards like FHIR, SNOMED CT, LOINC, DICOM, HL7, etc can be read here: Bahmni support for Open Global Standards, Interoperability, OpenHIE - (2023 Roadmap)
In this blog, https://www.snomed.org/news/blog%3A-snomed-ct-integration-with-bahmni-open-source-emr-provides-many-benefits-for-resource-constrained-environments, Shelley Lipon, Chief Customer Officer, and Nick Egarhos, Global Vendor Engagement Lead and Customer Relations Executive for the Middle East and Africa, discuss SNOMED International’s role in the project and the potential it has for improving patient care in resource-constrained regions that may not yet have adopted SNOMED CT. They also highlight the benefits for SNOMED International, outline the collaborative process that has enabled this initiative and summarize the next steps.
Tip: Bahmni ships with various options for Clinical Dictionary, which include Custom Dictionary, CIEL Dictionary or SNOMED TS integrated dictionary. Please refer to the following write-up to decide which option is most suitable to your facility / context. Link: Comparing various Concept Dictionary options in Bahmni
1. Objective
Create an open-source reference implementation that displays best practices regarding how EMRs can leverage and benefit from SNOMED CT coding system
SNOMED CT International seeks to integrate SNOMED-CT codes with Bahmni, offering an open-source reference implementation for best practices in utilizing SNOMED CT coding systems. This is valuable for governments and countries adopting SNOMED CT, guiding them in enhancing existing digital systems to fully realize the benefits of SNOMED CT.
2. Phase 1 Features
Record patient diagnosis in Bahmni using SNOMED CT with real time Terminology Search - Diagnosis Search/Save
Reports in Bahmni displaying the power of SNOMED CT- Diagnosis Reports
CDSS alert in Bahmni based on recorded SNOMED diagnosis and drug interaction - CDSS
Support for recording chief complaints H&E forms using SNOMED CT & Support for designing Bahmni - Form Builder
3. Phase 2 Features
Generate ICD-10 reports based on SNOMED code mappings - ICD-10 Reporting
Export anonymised, FHIR based, patient data for SNOMED analytics tool - Bulk Export for Analytics Tool
CDSS alert in Bahmni based on drug-drug interaction, drug high dosage - CDSS
Implementation of micro FHIR terminology server for low resource settings (include Contract Tests) - Micro FHIR
Ability to setup and order procedures using SNOMED CT - Setup Procedures
Ability to Sync Procedures with SNOMED TS - Sync Procedures
4. Current Landscape of Bahmni-SNOMED Integration
High Level Architecture Diagram
A high level architecture diagram, showing the relationship and information flow between Bahmni and SNOMED Terminology Server:
Bahmni communicates over FHIR with SNOMED TS Server (called Snowstorm)
There is a real time search done for Observations and Conditions.
For CDS, the Medication Orders are sent to a custom CDS microservice, which then connects to Snowstorm to pull drug model, and evaluate the configured drug rules, before returning information around Critical/Warning/Info alerts back to Bahmni EMR.
Bahmni also supports ICD-10 reporting, where for retrieving the SNOMED CT to ICD-10 maps, and relevant rules, the lookup is done over FHIR by Bahmni from Snowstorm.
For the Snomed Analytics tool, there is an export Patient data as bulk NDJSON FHIR is provided by Bahmni. This data is then injested by Analytics demonstrator tool of SNOMED CT, and behind the scene some ECL queries are fired to Snowstorm, for query resolution.
All the above use-cases are demoed on this wiki page.
Offline[On-Prem]
The CDSS and Terminology Server (Snowstorm LITE), marked with dotted lines, are deployed within the premises (can be on same machine or different).
Online[Cloud]
The CDSS and Terminology Server (Snowstorm), depicted with dotted lines, are deployed on independent computing instances external to the Bahmni compute instance.
5. Environments for Dev, QA & Demo
(Go to CLINICAL section. Default creds: superman/Admin123)
Environment | Link |
---|---|
Dev Environment | |
QA Environment | |
SNOWSTORM (SNOMED Terminology Server) | |
SNOWSTORM Lite Dev(SNOMED Terminology Server) | |
SNOWSTORM Lite QA (SNOMED Terminology Server) | |
SNOLYTICAL Server |
5.1 Feedback
Users can try out the demo version of the Bahmni-SNOMED integration and provide their feedback by starting TALK Thread or post on our Slack Channel
Also, you can visit the communication channel of Bahmni for your reference
6. Features
6.1 Record patient diagnosis in Bahmni using SNOMED CT with real time Terminology Search
Clinicians can search for SNOMED terms for diagnosis or conditions
Upon providing keywords, Bahmni performs real time search in SNOMED CT and displays search results
Clinicians can also provide the SNOMED Code to search for a diagnosis in Bahmni
The search engine shows the most relevant terms first and then longer, more specific, terms lower in the list. This is done using string length.
Once a term is selected from SNOMED TS, it is automatically mapped and saved into Bahmni Concept Dictionary, and available for use in reports, CDSS, etc.
Recording Diagnosis and Displaying Reports (Video)
6.2 CDSS alert in Bahmni based on recorded SNOMED data
CDSS feature allows the clinicians to make informed decisions when prescribing medications to the patients, for scenarios which might have some negative impact on patient health outcomes, based on predefined rules.
Clinicians are notified with an alert when any of the below interaction has contraindications
Diagnosis-Drug: When one or more drugs are contraindicated to a diagnosis and vice versa
Drug-Drug: When two or more drugs are contraindicated to each other
Drug Dosage: When prescribed drug(s) daily dosage is more than the recommended average daily dosage
All or any of the above three alerts can be triggered at the same time
For Drug-Diagnosis alert, the hierarchical classification in SNOMED CT helps to identify all the descendants of a diagnosis and applies the CDSS rules to those as well. Therefore, if a drug is contraindicated to a diagnosis, then the drug will be contraindicated to all the descendants of diagnosis as well.
To mitigate the alert, clinicians can make amendments to the medications or their dosages in the medications tab
Clinicians can also take an informed decision and can choose to dismiss the alert. For ‘critical’ alerts, user also needs to provide a reason for dismissing the alert
Clinicians cannot save the data if an active critical alert exists, until they resolve the alert
CDSS Workflow
Features of the Alert Notification implemented in the project
Three different severity (Critical, Warning, Info)
Consists of summary (mandatory) and details (Optional)
Includes link to the source of information (like Wiki, etc.)
Clinician can choose to override critical alerts by providing justification
CDSS Alert Notification for Medical Interaction with SNOMED-CT (Video)
6.3 Generate ICD-10 reports based on SNOMED code mappings
International Classification of Diseases (ICD) is a coding system developed by WHO.
The WHO requires its member countries to report health indicators and statistics to support its global health monitoring and surveillance activities.
Ensures accuracy and comparability of health data, which is essential for global health policy and decision-making.
Map from SNOMED to ICD-10 exists, hence, generating the ICD-10 report is of great value for both healthcare organisations, and the WHO.
Please see these slides for screenshots of this SNOMED CT to ICD10 Mapping Reporting feature:
ICD-10 Workflow
Generate ICD-10 reports based on SNOMED code mappings (video)
6.4 Implementation of micro FHIR terminology server for low resource settings
Challenges in SNOMED CT Implementation:
Limited internet connectivity in some communities.
Medical documentation must remain accessible offline.
Insufficient computing power in remote African medical practices for a full Snowstorm server.
Solution: Micro FHIR Terminology Server (Snowstorm Lite):
A compact FHIR terminology server tailored for low-resource settings.
Enables searching within specific ValueSets.
Requires only approximately 1GB of memory, while Snowstorm demands 8 to 16GB.
Supports data input and Clinical Decision Support (CDS) functionality.
Feature | Snowstorm | Snowstorm Lite |
Internet Dependence | Requires a reliable internet connection | Designed for low-resource settings, can operate offline when needed |
Server Size | Typically takes 8 to 16GB of memory | Lightweight, requires only around 1GB of memory |
Bahmni-SNOMED Functionality | All the features can be accessed | All the features can be accessed |
Use Case | Suitable for well-connected environments | Designed for remote medical practices with limited internet access and machine power |
Memory Efficiency | Requires higher memory resources | Memory-efficient, optimized for low-resource settings |
Application | Broad use cases in various settings | Specifically tailored for low-resource and offline scenarios |
6.5 Export anonymised, FHIR based, patient data for SNOMED analytical tool
Below diagram depicts the implementation of bulk FHIR export in Bahmni-SNOMED engagement
Benefits of bulk FHIR export and SNOMED Analytics Tool
SNOMED Analytics Tool
Integration with the opensource SNOMED Analytics tool enables Bahmni adopters to leverage the
SNOMED CT ontology for analytics and researchUsers can make meaning based selections across patient to generate practical insights, for example measure correlations between different treatment options and various patient outcomes
Bulk FHIR Export
Anonymised clinical data can be exported for import into the SNOMED Analytics Tool or to support other research tooling
A full patient data export has also been provided that enables patient data to be transferred between EHRs that are FHIR compliant
Anonymisation has been enabled by default. All exports are protected by privileges.
See sampled anonymisation configuration here on Github: anonymize-fhir.json
Anonymised Bulk Export of Patient Data Through FHIR for Analytics (Video)
6.6 Reports in Bahmni displaying the power of SNOMED CT
Clinicians can generate diagnosis count reports based on SNOMED terms
Report feature can be accessed under the report module in Bahmni
Clinicians need to select the duration for the report and mode of display
Bahmni displays the patient count report based on gender
Advantage of using SNOMED CT TS
Bahmni leverages the hierarchical structure of Clinical Terms in SNOMED to also identify and report the descendants/children of the selected diagnosis for reporting
6.7 Ability to setup and order procedures using SNOMED CT
Users can order SNOMED CT procedures from Bahmni which are grouped by body-sites
There are some pre-requisites to upload the procedures in Bahmni
For the pre-requisite, please follow steps mentioned here
User can view the procedures under the orders tab
User can choose the body-site, for which corresponding SNOMED CT procedures is displayed
User can select one or multiple procedures and save it for the patient
Procedures Setup in Bahmni using SNOMED CT ValueSet (video)
8.8 Support for recording chief complaints H&E forms using SNOMED CT & Support for designing Bahmni
Users can customise set of questions in Bahmni according to their requirements to record patient’s responses
They can customise the questionnaire under the form builder module
SNOMED CT is leveraged to provide the list of responses to a given question
Once saved and published, the form is used by clinicians to record patient responses
Clinicians can also generate a report on the patients’ responses under reports module
Currently, the form names that can be used for creating forms and reporting the same are: "Test Form", "SNOMED H&E Form", "SNOMED Malaria Form", "SNOMED Asthma Form", "SNOMED COVID Form", "SNOMED Accident Intake Form"
Advantage of using SNOMED
Using SNOMED terms helps in standardising the responses from the patient, so that it can be easily exchanged with other EHR systems, hence improving patient healthcare
COVID-19 Form Designing and Recording Data using SNOMED CT Terms (Video)
7. Project Leads
@Vijay Anand Shanmughadass - Tech Lead
@Ketan Goenka - Business Analyst
@Kai Kewley - SNOMED
@Angshuman Sarkar, @Akhil Malhotra , @Gurpreet Luthra - Bahmni Core team support
8. Slack Communication Channel
Slack Channel: snomed-integration-dev
9. Reference materials
10. Release Artefacts
List of Release Artefacts can be found here
Note: In order to try out the features of SNOMED integration with Bahmni in your local environment, please visit our deployment guide here
11. Code Repos
List of code repos enhanced for SNOMED CT support.
To access the code related to Phase 2 of Bahmni SNOMED integration, utilize the tag named snomed-phase2. As an illustration, the tag for the openmrs-module-snomed repository can be found at https://github.com/Bahmni/openmrs-module-snomed/releases/tag/snomed-phase2
12. Architecture Notes (MoM)
https://docs.google.com/document/d/1yzHWbXBZ2yjHT7jBBiji-R8NJ-VXZWTVnGU9_5uJ8iI
13. Bahmni SNOMED Engagement Blog
14. SNOMED Announcement
- 1 1. Objective
- 2 2. Phase 1 Features
- 3 3. Phase 2 Features
- 4 4. Current Landscape of Bahmni-SNOMED Integration
- 5 5. Environments for Dev, QA & Demo
- 5.1 5.1 Feedback
- 6 6. Features
- 6.1 6.1 Record patient diagnosis in Bahmni using SNOMED CT with real time Terminology Search
- 6.2 6.2 CDSS alert in Bahmni based on recorded SNOMED data
- 6.3 6.3 Generate ICD-10 reports based on SNOMED code mappings
- 6.4 6.4 Implementation of micro FHIR terminology server for low resource settings
- 6.5 6.5 Export anonymised, FHIR based, patient data for SNOMED analytical tool
- 6.6 6.6 Reports in Bahmni displaying the power of SNOMED CT
- 6.7 6.7 Ability to setup and order procedures using SNOMED CT
- 6.8 8.8 Support for recording chief complaints H&E forms using SNOMED CT & Support for designing Bahmni
- 7 7. Project Leads
- 8 8. Slack Communication Channel
- 9 9. Reference materials
- 10 10. Release Artefacts
- 11 11. Code Repos
- 12 12. Architecture Notes (MoM)
- 13 13. Bahmni SNOMED Engagement Blog
- 14 14. SNOMED Announcement
The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)