Atlas
Atlas copied to clipboard
FHIR terminology import
This change adds a tab to the Import section of the Concept Sets area.
A user can enter:
- The URL of a FHIR terminology server, and;
- A URI describing a FHIR ValueSet known to that terminology server.
A request will be made to the ValueSet expand operation on that server, and the resulting codes will be imported.
Limitations
- Matching is done on code only, in the same way the "Source Codes" import currently works. This could be enhanced when a proper mapping of FHIR code system identifiers to OMOP vocabulary identifiers is available, which is currently being worked on.
- Authenticated FHIR terminology endpoints are not yet supported.
Just following up on this, has anybody had a chance to take a look?
@anthonysena, @alex-odysseus, @chrisknoll - Who is responsible for reviewing this PR?
@ablack3 thanks for tagging me here. @johngrimes very sorry for the long delay here. I will take on the code review.
@johngrimes - let me make sure I understand the use case you are trying to address. You have a value set in FHIR and you'd like to import that as a concept set in ATLAS. Then you mention in the limitations:
Matching is done on code only, in the same way the "Source Codes" import currently works. This could be enhanced when a proper mapping of FHIR code system identifiers to OMOP vocabulary identifiers is available, which is currently being worked on.
I don't have access to the chat link you referenced and given the age of this PR, I'm unsure of the status of the mapping of FHIR to OMOP vocabularies. What happens if/when a value set is imported and no source codes are found in the vocabulary? There was some work done in #2653 that may be of interest to allow for importing of codes and then selecting of the vocabulary.
After quickly reviewing the code I had a few thoughts:
- Configuration of the FHIR endpoint URL in the
config/app.jsis the right approach. I'm wondering though if this should be set to an empty string by default so that the FHIR import is hidden when that value is not set? Having that tab displayed when there is no FHIR endpoint configured will be confusing. - The cohort definition editor has a "Concept Sets" tab that allows for import of concept sets; we may need to include the FHIR import there as well.
- Since you mentioned that "Authenticated FHIR terminology endpoints are not yet supported" what are your thoughts on that level of support? I'm unsure how many people are using FHIR endpoints without security?
@anthonysena Thanks very much for your time and detailed response.
I don't have access to the chat link you referenced and given the age of this PR, I'm unsure of the status of the mapping of FHIR to OMOP vocabularies. What happens if/when a value set is imported and no source codes are found in the vocabulary? There was some work done in #2653 that may be of interest to allow for importing of codes and then selecting of the vocabulary.
The change looks great and really improves the import source codes feature. Once we have a solid vocabulary identifier mapping, I can imagine that you could enhance this implementation to remove the intermediate step in the user interface for FHIR source codes, as they are self-describing. Unfortunately I'm not sure that the work on the vocabulary mapping is complete, or I don't have visibility of it.
* Configuration of the FHIR endpoint URL in the `config/app.js` is the right approach. I'm wondering though if this should be set to an empty string by default so that the FHIR import is hidden when that value is not set? Having that tab displayed when there is no FHIR endpoint configured will be confusing.
It would be nice if there was a functional default for this, maybe "https://tx.fhir.org/r4" as the official reference server for the current version of the spec?
* The cohort definition editor has a "Concept Sets" tab that allows for import of concept sets; we may need to include the FHIR import there as well.
Is that a different component, or another instantiation of the same component? If there is a different one, could you point me towards where the source for that lives?
* Since you mentioned that "Authenticated FHIR terminology endpoints are not yet supported" what are your thoughts on that level of support? I'm unsure how many people are using FHIR endpoints without security?
I think that this change adds significant benefit even without this feature, as it allows users to interact with well-known terminologies that are available on public reference servers (e.g. tx.fhir.org, tx.ontoserver.csiro.au). I'd be keen to get your thoughts on what you think would be involved in adding authentication capability. I am not as familliar with the code base and any existing infrastructure or features of the framework that could be used for this purpose.
Is that a different component, or another instantiation of the same component? If there is a different one, could you point me towards where the source for that lives?
I'm pretty sure there's one component being reused, similar how you defined your conceptset-list-import-fhir. I can pull the branch and see how it appears, it may be the case that you need to add that component in another place...i seem to recall the concept set tabs under the main 'concept sets' nav is slightly different than the other plaes we have embedded cocnept sets (like Incidence, Cohort Defs and Cohort Characterization).
@johngrimes - just reviewing the upcoming v2.13 release and we are going to move this item to v2.14 since we were unsure if you still wanted to contribute this to the codebase?
I definitely still want to get it in, I just haven't had a chance to address the comments yet 😔
There's probably not too much work remaining.
No worries @johngrimes - we'll put it into v2.14 and we can check in with you next year. Thanks!