Finding right way to handle the Lab Services
# support
j
I'm currently engaged in working on a Diagnostic Catalog, and I've come across a fantastic guide on the Medplum website, which you can access here: Medplum Diagnostic Catalog Guide. However, I have a rather specific requirement that I've been struggling to address using the information provided in this guide. In my services, I have specific selected Biomarkers that need to be included in the report. However, on the laboratory side, I need to conduct the complete panel. My question is, what is the most effective way to directly link Observation Definitions to Plan Definitions? In other words, what is the correct approach for handling orderable Observations within a specific Plan? To illustrate this scenario further, let's consider an example: Our laboratory offers two services: Wellness and Wellness Plus. Both tests are conducted using the same panels. However, Wellness requires 3 Observation Definitions to be included in the Result Report, while Wellness Plus requires 6. Despite this, at the lab level, both services follow the same procedure. But at the patient result report level, the Observations should not be the same. Could you please advise on how I should manage such scenarios within the FHIR Medplum framework?
r
Hi @jay_stark , this is a really interesting question. Can I ask one clarifying question? When you say "the same laboratory" procedure is used, does this mean that 6 observations are always produced, despite the plan? But for the "Wellness" plan, only 3 results are released to the customer?
j
Yes, lab operates with Panels (Activity definition), where instrument generate all observations listed in panel. In Patient facing report we only report specific selected observation what have been ordered.
@rahul1
r
Hi @jay_stark , I'm sorry I think I typed out a response yesterday, but didn't press send. This is an interesting issue, and I'll propose two solutions (in order of preference), with different tradeoffs -- Option 1 -- - Two
PlanDefinition
(Wellness vs. Wellness+) - Single activity definition, with a single code, with all 6 Observation definitions, as shown with the electrolyte panel here (https://www.medplum.com/docs/careplans/diagnostic-catalog) - In the client that consumes lab results, check which
PlanDefinition
is being fulfilled, and create the appropriate
DiagnosticReport
resource with links to the appropriate
Observations
This approach simplifies your lab operations, and keeps your consumer facing business logic co-located -- Option 2 -- - Two
PlanDefinition
(Wellness vs. Wellness+) - Two
ActivityDefinitions
, with a shared code (indicating the shared procedure). One activity definition links to 3 Observation definitions, and the other links to all 6 This approach is more data-driven, but presents some duplication across activity definitions. There will have to be some logic on your lab operations that will need to filter out results produced by the lab based on the activity definition
j
@rahul1 Thank you for the solution. Your team is awesome ! I have option 1 implemented, at lab side I would like to capture all 6 results as the data generated from instrument, However I am still confused to rollout only 3 observation out of 6 which should mentioend in planDefinition so where could I specify the my desired output observation.
r
THank you! It will depend on how you are ingesting results from your lab and saving to medplum. Would you mind describing how you're planning on doing that. With option 1, my proposal was to incorporate that into your code, rather than within the data definition itself
j
@rahul1 you are suggesting to keep map in code based on each Service(PlanDefinition) what output observations could be? I am trying to find a property link where I can tell my planDefinition that what output should go to the Patient out of all bio markers
r
Yep that's what I'm suggesting in Option 1, but as you point out it's not data driven. There's a fundamental tension between representing what the lab produces, and the what he patient consumes. If it's important to represent the consumer facing catalog in data (vs. code), then I would use option 2
j
@rahul1 Thank you very much for giving clarity. You are awesome!
153 Views