Current status of SNOMED CT integration with Bahmni and Co-existence with CIEL

It has been some time since I have heard the latest on the Bahmni implementation of the SNOMED terminology server. I see the updated wiki page here:

One of the conditions for collaboration was the frank and honest assessment of the lessons learned from the experiment, and for the longer term discussion about co-existence with the existing terminology resources available to OpenMRS and Bahmni (specifically CIEL and OCL). Currently, I do not see any discussion of the limitations, issues or concerns raised (or how the were addressed). I have raised these on numerous occasions, and although I am actually quite a fan of SNOMED and its potential value, the concerns about implementations tying themselves to a reference terminology without addressing its limitations and practical challenges is a problem. The use of shared interface terminology which is pre-coordinated and maps to SNOMED CT is essential to maintaining successful implementations while also benefiting from the functionality provided by the SNOMED reference terminology.

I think the community would benefit from an update on the status of the pilot along with transparent, frank and honest discussions about the issues and challenges. I am quite willing to learn what is possible.


I agree, this is indeed a viable point. My question is for those interested in learning how this works and the co-existence of these tools in practice, is there any documentation on the progress so far? This allows interested parties get up to date on current progress. Thanks

  1. @enochb - The documentation of all the work done as part of this initiative is on the same wiki page that @akanter shared above. Here is the link again: SNOMED FHIR Terminology Server Integration with Bahmni. This has demo videos for every feature and high level architecture diagram.

  2. The whole code is folded into main Bahmni codebase & docker images now, and anyone adopting Bahmni can either choose CIEL (comes as default), or alternatively configure to use SNOMED Terminology Server (packages Snowstorm Lite for on-prem/offline use). This is the docker compose project: GitHub - Bahmni/snomed-bahmni-docker: SNOMED CT specific docker configuration.

  3. The SNOMED Integration project is closing this week, and the team will roll off towards other initiatives. Only after we have significant new & helpful feedback, will we be in a position to decide and discuss with SNOMED International on what is the next level of investment to make into Bahmni-SNOMED integration.

  4. The Bahmni team has been showcasing these features across Multiple PAT calls, and we can plan another meeting to discuss this / demo the features.

  5. If someone is actually serious about adopting this / evaluating this offering for their facility / country, we would really like them to contact us, so we can have a discussion on what more is needed to make this work in their context. Choosing CIEL (with reference maps) or Direct SNOMED requires discussion and understanding of pros/cons, which will be different for each facility/adopter/country/etc. For eg. in India SNOMED License is available to any facility that wishes to use it for free. But recording data in SNOMED also requires clinicians to be comfortable with SNOMED nomenclature / terms.

  6. CIEL already supports SNOMED (and other clinical terminology / reference mappings), and if all one wants is SNOMED CT reporting, then they can continue with CIEL. If a facility wants to record data in SNOMED, then please evaluate this new integration and provide us feedback. This solution has been demonstrated last month in a SNOMED conference and it was very well received! Now, we want to hear from Facilities / Adopters who want to evaluate this offering in the real world.

  7. If there is another forum where you think this solution integration should be demonstrated / discussed, please let us know.

Meanwhile, CIEL is still shipped as the default configuration / clinical dictionary for Bahmni adopters and the response to this has been positive in last 6 months since the Bahmni LITE release!

1 Like

Thank you for the comprehensive response Gurpreet! I believe that the documentation and demos describe well what the SNOMED direct implementation does. What I don’t see is a full discussion about what it doesn’t do, or what are the implications/consequences of doing a direct implementation of SNOMED rather than using CIEL/OCL.

What happens when you can’t find a term you are looking for? What happens when you need to add something to your local dictionary that is not in SNOMED? Who is managing the updates to the terminologies and how does that impact existing implementations of forms, value sets, etc.?

These are just a few examples which need to be prominently displayed with the results of this experiment. Thanks,

Hi @akanter - I agree, this is something that could be further explained. I have started a document on this, and will share a draft soon for inputs. Likely by Tuesday/Wednesday next week. Will update this thread with more information.

1 Like

Hello @akanter,

Please see this DRAFT document on comparison between Custom, CIEL and SNOMED TS integrated dictionary options:

Thanks to team members from SNOMED/Bahmni who helped review this.

Please provide your comments inline to the wiki page (need your inputs on some areas in the CIEL column), and also suggest some more questions/lenses which should be added to the table (as new rows).


cc: @kai @angshuonline @vijayontheweb @ketangoenka @sivareddy @enochb @akhilmalhotra

Hi all,

In the SNOMED Implementation Team, we follow all contributions with great interest. We look forward to receiving user feedback from this experience when it starts being adopted by OpenMRS projects that choose this approach.

The SNOMED Implementation educational material and courses provide extensive advice on integrating SNOMED into clinical software. A native SNOMED CT integration enables rich and valuable features for implementers and clinical users.

Many clinical projects worldwide use SNOMED CT natively as the interface terminology. For example, the “Clinical findings” domain in SNOMED CT contains 110,000 concepts linked to almost 550,000 descriptions, providing many options for matching in search algorithms. The ECL Language provides a great tool to constrain the search to a particular domain, displaying only clinically relevant results. SNOMED International and national editions support the modeling of new concepts where content is missing or inadequate. There is a well-established editorial process for developing and improving previous content and correcting the terminology. Some concepts are deprecated over time and will not be available for recording clinical information using the latest edition of SNOMED. Retrieval of previous concepts is always possible by searching for inactive terms in the context of the information model or by using history operators in ECL for analytics.

SNOMED has ongoing collaborations with many standards organizations, producing official and quality-assured maps to other classifications and terminologies (e.g., ICD-10, Medra, EDQM, GMDN, etc.).

SNOMED receives extensive feedback and contributions from clinical implementations in member countries and clinical reference groups in a continuous improvement cycle where SNOMED CT content evolves with the evolution of health sciences and clinical users’ preferences. Another source of continuous improvement is the use of SNOMED CT as terminology binding for other standards, like HL7 FHIR, IPS, DICOM, etc.

The implementation in the Bahmni project combines access to the full content of SNOMED in a FHIR terminology server while synchronizing content with the local concept dictionary, which grows with SNOMED use and enables relational integrity for all records. The terminology server is also a key enabler for supporting the export of statistical reports using the official map to ICD-10 and for executing the logic of the decision support system using logical subsumption features.

This effort is a demonstration of all the advice and techniques for SNOMED implementations available in SNOMED support materials. Many commercial systems implement these techniques, but this Bahmni / OpenMRS implementation is the first Open-source example and is intended to work as a reference for implementers worldwide. The challenge for all developers is to decide whether to expand the terminology by adding synonyms and ‘clinician friendly terms’ or to focus on the information model and data fields for recording data at the point of care. The SNOMED community is exploring how best to use the promise of post-coordinated concepts to create greater expressiveness, but this approach is likely out of scope for the Bahmni project at this stage. There is an interesting challenge to the Open-Source community to develop safe ways of developing and implementing post-coordination for use within the clinical arena.


(The Implementation team at SNOMED International)


In tomorrow PAT Call (29-Nov-2023, Wed evening, 6:30pm India time), the SNOMED-Bahmni team will demo the overall work done. More details here: Bahmni PAT call on 29 Nov 2023 - #2 by gsluthra

Thank you to the SNOMED-Bahmni implementation team for great work and I hope that we will be able to continue the online demos next week as well. I think the collaboration around the “what we learned” documentation and the comparison is going well and illuminating both issues and potential solutions which can be tested in future implementations. The new option of combining OCL and CIEL for dictionary management along with a SNOMED CT terminology server to support advanced functionality like value set generation and hierarchical queries for analytics and reporting is a really interesting path forward.

I think it is really important to understand the primary users of OpenMRS/Bahmni and their needs to a terminology-focused yet usable and maintainable system. A lot of the value of CIEL is in its international curation, the speed and flexibility for customization (with the retention of standards like SNOMED), the fact that coding changes do not create EMR changes (the reference maps are updated without changing the primary identifiers used in clinical applications), and that SNOMED does not (and probably never will) cover all the terminology requirements for implementations. The use of CIEL and OCL provides a platform which can leverage SNOMED CT but also extends that functionality that makes it a bridge between the standards and the implementers. I am super excited about what I am seeing, but I also urge caution when communicating solutions which need to be working now for people within our community.

Looking forward to continued collaboration between SNOMED, CIEL and OCL in particular.

1 Like