Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding custom translations to code systems #637

Open
albert-t25 opened this issue Nov 12, 2024 · 5 comments
Open

Adding custom translations to code systems #637

albert-t25 opened this issue Nov 12, 2024 · 5 comments
Assignees
Labels

Comments

@albert-t25
Copy link

albert-t25 commented Nov 12, 2024

I have setup a Snowstorm instance and have loaded SNOMED CT International, SNOMED CT Austrian edition as well as LOINC. I'm able to read the data using FHIR API, but so far have been unable to make any kind of update. In my scenario, I would like to use the support for translations (https://build.fhir.org/languages.html#term) in order to add custom translations to both SNOMED and LOINC. However any kind of PUT/PATCH/POST request is returning a message similar to

Invalid request: The FHIR endpoint on this server does not know how to handle POST operation[CodeSystem] with parameters [[]]

Looking at /metadata end-point, for code systems I get the following, so no create/update operations

                    "type": "CodeSystem",
                    "profile": "http://hl7.org/fhir/StructureDefinition/CodeSystem",
                    "interaction": [
                        {
                            "code": "read"
                        },
                        {
                            "code": "search-type"
                        },
                        {
                            "code": "delete"
                        }
                    ],

Are update operations on code systems supported in Snowstorm FHIR API? If so, is there some documentation for it?

Thank you

@kaicode kaicode self-assigned this Nov 12, 2024
@kaicode
Copy link
Member

kaicode commented Nov 12, 2024

This postman collection is the currently the best documentation for the Snowstorm FHIR API capabilities.
Currently REST only supports read for the CodeSystem resource.

SNOMED CT CodeSystems must be created via SNOMED API. Other CodeSystems can be created via other package import types. It's not possible to add supplements at this time.

When a SNOMED CT edition is imported all preferred and acceptable terms are imported. These will be presented as designations when using CodeSystem/$lookup. If there are multiple dialects within the SNOMED edition one can be selected for display using the displayLanguage parameter.
displayLanguage supports these formats:

  • xx (language code only)
    • Examples: en, da, fr
    • These just use the language code in the descriptions. The others below use language and dialect.
  • xx-yy (language code and dialect code)
  • xx-X-zzzzzz (language code and extension)
  • xx-yy-X-zzzzzz (language code, dialect and extension)
  • xx-X-00000000 (language code and dialect using SNOMED SCTID)
    • Example: xx-X-900000000000509007
    • This format is slightly different to the one supported in Ontoserver which uses something like xx-X-9000-0000-0000-5090-07... we have a long outstanding task to support this format too.

@albert-t25
Copy link
Author

Thank you @kaicode. If I understood correctly, there's no way to update existing concepts in Snomed/Loinc code systems through FHIR API (or any other API for that matter), right?

@kaicode
Copy link
Member

kaicode commented Nov 12, 2024

Correct. If you want to add terms to SNOMED CT that would have to happen via a SNOMED RF2 extension.
I don't know how to add terms to a loinc package.

Some FHIR terminology servers allow adding terms to existing codes via a CodeSystem supplement, but Snowstorm does not support that yet.

@albert-t25
Copy link
Author

Is there any plan to support adding terms to existing codes in Snowstorm through FHIR API? If not, would you be willing to accept contributions toward that?

Thank you

@kaicode
Copy link
Member

kaicode commented Nov 13, 2024

Adding terms to existing codes must be happen using a CodeSystem supplement.
See slides 5-14 of this DevDays presentation Mastering FHIR Terminology (Dion McMurtrie, CSIRO)

There is no current plan to implement this functionality. We would accept contributions that implement adding terms using that method. Although the method outlined in the slides requires the FHIR R5 parameter useSupplement, and Snowstorm currently implements FHIR R4, I think supporting that parameter would be the right thing to do.

We would not accept PRs that allow modifying the imported CodeSystem directly because making changes like would break the terminology ecosystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants