Bahmni PAT call on 17-May-2023 (SNOMED CT and Bahmni Integration)

Hi Andrew, Please find the first demo video of Recording Diagnosis & Viewing Reports in SNOMED CT with Bahmni here

Thank you! It was nice to see the demonstration. I wanted to point out a few things and ask some questions (if that is OK).

  1. When you show the CIEL concept for Malaria you point out that there are many maps from the concept (including to ICD-10, CIEL, ICPC, etc.) including SNOMED. There are also other relationships like sets and Q&A. How are those maintained for SNOMED-sourced concepts? How does a client get ICD-10 codes for their SNOMED diagnoses (almost certainly a requirement)?

  2. When searching for Asthma without SNOMED, the demo is misleading. CIEL has multiple Asthma concepts (less than SNOMED’s browser, but perhaps others). What were you searching? Why was there no fever concept?

  3. What happens when SNOMED does not have a concept. Try searching for “Sore throat”?

  4. When discussing descendants of a concept in the search, I was confused. If I search for ASTHMA and if there is a descendant of asthma that does not include the word “asthma” would it be returned? I don’t think users would want concepts that do not include the searched-for word to be included.

  5. When searching for synonyms, I would be careful about not showing the name they are actually matching (only showing the preferred term). You don’t know if the synonym is actually what the user was expecting and just assuming the preferred term is correct is dangerous. The user might not really know the preferred term, only the synonym, and you need to make sure they are selecting the correct term.

  6. When you add a term to the concept dictionary via the terminology server search, how do you know that the term does not already exist? Are you looking for SAME-AS SNOMED codes? What about the situations where SNOMED does not have SAME-AS coverage for the term I am looking for?

  7. When doing the SNOMED descendent report, would visits using CIEL concepts that have SAME-AS or NARROWER-THAN maps to SNOMED CT be included?

Thanks! Looking forward to part II.

Hi Andrew, Please find the second demo video of CDSS with Bahmni using SNOMED CT here

Thank you. It was very impressive! I would like to know more about the backend calculations in the CDSS and the particulars of the drug identification and calculations. SNOMED is not the preferred terminology for drug reference. CIEL has traditionally mapped to both SNOMED and RxNORM (and extension) but most CDSS does not use SNOMED for drugs. It would be good to consider how the CDSS engine is going to be maintained, and who is the authority. Wikipedia would not be an acceptable reference source for an expert system, but I get the general idea. It is powerful to see it in action! I would again ask that these functionalities also include concepts in the dictionary which are mapped to SNOMED and not only those sourced from the SNOMED server.

I would also like to point out that the hierarchy in SNOMED (and any other ontology) is built with a purpose. That purpose does not always overlap with the use case you need. Value sets are groups of codes/concepts that are intended to mean the same thing, or to identify a concept for a process like cohorting patients or triggering CDSS. Descendants of a single SNOMED code do not always meet this requirement. For example, there are SNOMED codes that imply that a patient has Diabetes that do not fall under the SNOMED disorder for Diabetes Mellitus. Previously, Sigmoidoscopy was a child of Colonoscopy (as the sigmoid is part of the colon). However, the CDSS rules for screening endoscopy are different whether the patient has only had a sigmoidoscopy versus a full colonoscopy so you don’t want the descendants of colonoscopy to all trigger the colonoscopy rule.

So, what I am saying is that CDSS rules need to consider the use of curated value sets for concepts and not just assume that single code hierarchical queries are sufficient.

Thank you so much @akanter for taking the time to provide us feedback and sharing your experience with us. Much appreciated. Please find our clarifications inline below:

  1. When you show the CIEL concept for Malaria you point out that there are many maps from the concept (including to ICD-10, CIEL, ICPC, etc.) including SNOMED. There are also other relationships like sets and Q&A. How are those maintained for SNOMED-sourced concepts? How does a client get ICD-10 codes for their SNOMED diagnoses (almost certainly a requirement)?
For phase 1, we were able to bring in the SNOMED sourced concepts to fit in the concept dictionary model of openMRS.
Strategy is not to bring all the synonmys. Searching using terminology server and bring only the preferred name. For adhoc scenarios, consider using either  terminology server or some other approach. We would like to know the gaps and plan accordingly based on priority

For phase 2, we have plans to also display corresponding ICD-10 codes against SNOMED diagnoses as part of the line report. In order to achieve this we are going to leverage functionality of https://ihtsdo.github.io/iid-icd-maps/ More details here : https://github.com/IHTSDO/snomed-to-icd-10-mapper

  1. When searching for Asthma without SNOMED, the demo is misleading. CIEL has multiple Asthma concepts (less than SNOMED’s browser, but perhaps others). What were you searching? Why was there no fever concept?
We did not import the CIEL dictionary on the Bahmni SNOMED environment i.e. qa.snomed.mybahmni.in. That is why, CIEL concepts were not found when searching for Asthma without SNOMED.  Its a one-time setup option to choose either terminology server or not

  1. What happens when SNOMED does not have a concept. Try searching for “Sore throat”?
For "Sore throat", SNOMED returns the preferred names i.e. "Streptococcal sore throat" etc. Now we have broadened our scope of search and it will handle the “sore throat ” scenario (Screenshot attached below)

When SNOMED absolutely does not have any concept, It will not display any search results.
Even If some concepts are missing, we can request SNOMED to add those concepts and it would eventually get added after the review process

4. When discussing descendants of a concept in the search, I was confused. If I search for ASTHMA and if there is a descendant of asthma that does not include the word “asthma” would it be returned? I don’t think users would want concepts that do not include the searched-for word to be included.

No. We do not search for descendants. Search behaves similar to openMRS. It only searches for Synonyms, FQNs and displays only the preferred term
  1. When searching for synonyms, I would be careful about not showing the name they are actually matching (only showing the preferred term). You don’t know if the synonym is actually what the user was expecting and just assuming the preferred term is correct is dangerous. The user might not really know the preferred term, only the synonym, and you need to make sure they are selecting the correct term.
It is SNOMED policy to use preferred term for valid reasons. This is agreed at larger context and is country specific. It needs to be done in a formal way and published
Users can search based on any Synonyms. However display results will be based on preferred name i.e we think that has a more general acceptance
The concept will not be returned if no active synonyms for Asthma
  1. When you add a term to the concept dictionary via the terminology server search, how do you know that the term does not already exist? Are you looking for SAME-AS SNOMED codes? What about the situations where SNOMED does not have SAME-AS coverage for the term I am looking for?
When we save a term to the concept dictionary, we check if the same SNOMED code exists. If not, create a new one. Else refer to the existing one 
If SNOMED doesn’t have SAME-AS, then we can use SNOMED Extensions
  1. When doing the SNOMED descendent report, would visits using CIEL concepts that have SAME-AS or NARROWER-THAN maps to SNOMED CT be included?
We use “same as”, and do not support “narrower than” or “broader than”.
For the current phase, we can either use CIEL or SNOMED, but not both. Mixed mapping doesn’t exist for now. Toggling is a one time flag at the time of deployment

Please let us know if you have any other questions. Thanks!

Backend Calculation has the following algorithm - given a generic rule comprising of a contraindication of diagnosis A against drug B, the rule should match for any of the descendants of diagnosis A against any of the descendants of drug B

SNOMED hierarchy structure is strongly linked to CDSS. In India, they are creating a drug extension using SNOMED. Hence for India, capturing drugs using SNOMED is the right way to go. More details in the link here Also there is no mapping available for RxNorm. RxNorm is used only in the US. Bahmni is not currently used that much in the US

The current CDSS reference implementation works for only SNOMED codes. However it depends on the capability of the target FHIR CDSS server to support various mappings i.e. SNOMED and RxNORM

Bahmni neither owns any CDSS server, nor is the custodian of CDSS rules. We are only providing integration capability with any FHIR compatible CDSS server. It is left to the individual, who is going to integrate with CDSS server (based on informed decision) and they will be be the authority for the correctness of the rules

Though we have given a reference implementation of a CDSS server, it should typically integrate with any FHIR compatible CDSS Server. We have some sample rules for reference purpose here

Thanks!

Agreed @akanter. The target FHIR CDSS server should ideally be capable of handling all these scenarios. For phase 1, our focus has been on the integration capabilities with standard FHIR compatible CDSS server

It’s quite possible to also use value sets(but not at the moment). We could enhance the CDSS server to switch between ECL Query vs Concept Id and its descendants. This could be taken up in the future based on priority

Thanks!

It would be good to have a discussion about the points I made above. I don’t think my questions were detailed enough, or perhaps there is just a misunderstanding. Maybe not a PAT call, but a terminology specific call. My concerns are not with the academic testing of the SNOMED server, but how it actually will be used in real-world settings. The demo of this server against a non-CIEL database is misleading, and the impression that those using CIEL are not getting SNOMED or can’t use the SNOMED they have is also misleading. The CDSS will work just as well with the CIEL maps and CIEL concepts mapped narrower-than the SNOMED code should be counted as descendants and trigger in the same manner as the single concepts brought over from the SNOMED server.

Does India plan its own SNOMED release? What do you expect the turn around time will be for requests for new codes? The usual timeline is long for the international release.

Understanding that this is an all or nothing decision on deployment and that it cannot work with an existing concept dictionary like CIEL is a major concern and perhaps should be discussed as part of a roadmap or final review document. I’ll be gone next week, but would be available for a call with the team the week after… Thanks!

Hi Andrew. Rory and I would be happy to join a terminology specific call with you. Rory is attending conferences in Australia at the moment. Perhaps we could arrange to meet in a couple of weeks when Rory comes West and the timezone difference is not so great?

I had wanted to attend MedInfo but unfortunately it was too far and costly. We can certainly meet when Rory is back. My questions were primarily for the Bahmni team, however. Thanks!

Since this is a popular post on Bahmni and SNOMED CT, I wanted to update this with relevant documentation links:

  1. Bahmni & SNOMED Terminology Server Integration: Read this page

  2. Comparison of various Dictionary options with Bahmni - Custom, CIEL and SNOMED TS Integrated: Read this page