b2ihealthcare / snow-owl

:owl: Snow Owl Terminology Server - a production-ready, scalable, FHIR Terminology Service compliant server that supports SNOMED CT International and Extensions, LOINC, RxNorm, UMLS, ICD-10, custom code systems and many others
https://docs.b2ihealthcare.com/snow-owl/
Apache License 2.0
259 stars 32 forks source link

Using the FHIR ConceptMap/$translate endpoint #613

Open dwassing opened 4 years ago

dwassing commented 4 years ago

Hello b2i!

First I would like to point out that there is already an issue on this topic, but it looks quite abandoned and therefore I decided to open a new one, please close this issue if it is out of place/duplicate and I will turn to the other one.

I am concluding my performance research on the OSS version of Snow Owl (7.6.0), but before I finish up, I want to know if it is possible to use the translate endpoint. I am still using the same configuration as in my old issue, meaning a SNAPSHOT version of SNOMED CT uploaded to MAIN/20200309. What I am trying to do is to get any translation (any at all) to return something.

URI specification comes from HL7, see System below section 4.3.11.1, but no matter how I try, I simply keep getting 0 matches, see json below.

{ "resourceType": "Parameters", "parameter": [ { "name": "result", "valueBoolean": false }, { "name": "message", "valueString": "0 match(es)." } ] }

I looked at your documentation, but found nothing of real value. What is it that I am missing? Is it impossible to implicitly map to ICD-10 like I'm trying to do? Am I missing any value sets?

Clarification on this matter would be very helpful. Thank you for your time.

Regards, Daniel

cmark commented 4 years ago

Hi @danwa223,

Thank you for reporting your issue. It is very likely that the problem is coming from the fact that there is no machine readable information to initialize the ICD-10 mappings supplied with the official SNOMED CT RF2 International release and they require additional changes to be properly recognized as possible targets, and by doing so they will properly returned by the $translate operation. Let me check what can we do about this or whether there is something else that prevents the system returning the expected results and get back to you.

Regarding the docs: most of the API documentation is still work in progress or simply non-existent, but I expect them to be created/improved by the end of this year.

Regards, Mark

dwassing commented 4 years ago

Hello @cmark,

Thank you for your response. I understand this might be tricky to solve. If there is anything I can do to be of assistance here, do let me know.

Regards, Daniel

cmark commented 4 years ago

Hi @danwa223,

In its current form in the latest 7.7.0 release using just the official RF2 files Snow Owl is unable to properly detect the target codesystem for a mapping reference set and set it so it can be used for FHIR translate requests. We have quite a few workarounds to mitigate this, but none of them will use the HL7 URI for ICD-10 targets (http://hl7.org/fhir/sid/icd-10).

Creating either hardcoded or configurable (via snowowl.yml) information feels a bit broken solution, but could work in the short term.

Let me know if you are interested in how to update the index document manually to make the translate operation work for ICD-10 mapping type reference sets.

Cheers, Mark

dwassing commented 4 years ago

Hello @cmark

It is indeed not an optimal solution, but I am interested regardless, depending on the simplicity of the operation. If it does not take you too much energy then an explanation on how to do this would be nice to have.

I am running the 7.6.0 release on linux installed from your tar.gz distribution. Do I need to update to 7.7.0?

Regards, Daniel

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.