FHIR Terminology Service #1411
Replies: 6 comments 4 replies
-
Option 1 is my preference. Reason being, is that they are required to have a compliant EHR per the ONC G10 guidelines. (Particularly RxNorm and SNOMED) |
Beta Was this translation helpful? Give feedback.
-
I like the "Option 1 evolve into Option 2 strategy". Option 2 opens up some potentially nice features for SDLC (like cloning resources from a prod project back to staging to create realistic test data), but agree that there are a lot of unknowns that shouldn't block terminology service. As for maintenance, as long as each version is immutable, it gives our users control on when they update terminology resources, and we can add some UI sugar on top of that later on. |
Beta Was this translation helpful? Give feedback.
-
Re: "Should we wait for client-assigned ids": my vote is to wait. We keep thinking this will be coming up soon, but we haven't really seen a great concrete use case from our users yet. We have a bunch of assumptions about globally unique ids, so my take is not to block the terminology service on squashing all of those, if the main benefit we're getting is clean URLs. |
Beta Was this translation helpful? Give feedback.
-
One implementation question I had is - where will these public read-only resources live? It feels like having a "privileged project" for them would be cleaner for administration rather than having them just floating around (we could add/remove users, create client apps for maintaining them, etc.). |
Beta Was this translation helpful? Give feedback.
-
Are licensing terms for the various terminologies a consideration in your implementation here? IANAL and do not know the answer to this, but was curious if you considered that dimension as I don't see it mentioned above. |
Beta Was this translation helpful? Give feedback.
-
Is there an update on this? |
Beta Was this translation helpful? Give feedback.
-
FHIR Terminology Service
This is a discussion about how to publish a FHIR Terminology Service with standard terminologies such as:
The FHIR documentation includes a guide for the core features of a Terminology Service: https://hl7.org/fhir/terminology-service.html
The good news is that Medplum already supports most of the required resource types and FHIR operations 🎉
Open Questions
Options
In simple terms, here are the general options:
Read-only public terminologies
a. Add new internal mechanism to mark certain FHIR resources as "public"
b. Add project-level option to include those public resources in a project
c. If included, then the resources become available in all read and search operations
d. Public resources would be read-only to all non-super-admin users
e. Upgrades would be performed by super admins
f. Only one version of the terminology would be available at a time
g. If we wanted unauthenticated access, this is the only option
Ability to "include" or "link" Medplum projects
a. Similar to option 1, except rather than a "public" flag, the terminologies would exist in normal Medplum projects
b. Then add a mechanism to "link" projects, so that "Project A" includes all resources from "Project B"
c. There is a engineering / mathematical / set theory elegance to this approach
d. There is a lot of unknown complexity here...
Terminologies are always recreated entirely within projects
a. At the opposite extreme, we just add tools for projects to import terminology
b. This is the "cleanest" approach from the perspective of providing complete control to project admins
c. No new code required
d. It would be extremely inefficient to recreate full terminologies with millions+ of resources for each project
e. If even 10 projects imported terminologies, that would dwarf our current database usage
f. It would push the burden of upgrades and maintenance onto project admins -- although that could be made easier with built-in tooling
My current leaning is to start with option 1 (read-only public terminologies), with an eye to how it could evolve into option 2 (linked projects).
Option 3 would be the most expedient, but I think we would regret it almost immediately.
I would also like to call attention to the question of "Should we wait for client assigned ID's first?" (#1175).
See more
Beta Was this translation helpful? Give feedback.
All reactions