FHIR Chat · Immunization and stock management · Orders and Observation WG

Stream: Orders and Observation WG

Topic: Immunization and stock management


view this post on Zulip Bart Decuypere (Mar 11 2022 at 10:58):

Does FHIR provide any resources for stock management? I am dealing with a system now that deals with immunizations. Upon receiving the Immunization resource, they want to know whether to update the stock for the vaccine or not. Anyone knows how to go about this?

view this post on Zulip Lloyd McKenzie (Mar 11 2022 at 15:32):

@Jose Costa Teixeira

view this post on Zulip Jose Costa Teixeira (Mar 11 2022 at 15:49):

FHIR resources for supply chain management are:

  • R4:
    • SupplyRequest (for ordering items)
    • SupplyDelivery (for tracking the dlivery of such items)
  • R5:
    • InventoryReport (for exchanging current state of inventory, or for tracking stock changes e.g. consumption)
    • Transport (for exchanging the information about the physical transport of things)

view this post on Zulip Jose Costa Teixeira (Mar 11 2022 at 15:49):

Normally, an immunization presumes that some dispense took place (the product or part were assigned to that specific patient)

view this post on Zulip Jose Costa Teixeira (Mar 11 2022 at 15:50):

if the system receives information about an immunization event, then what they know is that "at least one dose was consumed for this patient"

view this post on Zulip Jose Costa Teixeira (Mar 11 2022 at 15:58):

With that in mind, the exchange depends on what the different systems are doing. Key point: who decides when to order?

  • Is it the sending system that says "We just gave a vaccine, a reorder is now needed"
  • Or is it the receiving system that sees a messaage saying "We just gave a vaccine, please decide whether to reorder"
    • In this case, the receiving system needs to know the current stock, e.g. by tracking previous consumptions or getting the additional information "We now have 29 units in stock (InventoryReport), please see if a reorder is needed)

view this post on Zulip Jose Costa Teixeira (Mar 11 2022 at 16:00):

if you just want to receive additional information and say "I have just gave a vaccine and I used up one box with this one", then this is a consumption (which can be done with InventoryReport)

view this post on Zulip Jose Costa Teixeira (Mar 11 2022 at 16:01):

With R4 you're quite limited (Supply was not a focus of FHIR traditionally, and FHIR doesn't want to replace supply standards, but articulate with them. This is why we have Transport and InventoryReport coming, because they make the link between clinical and logistics)

view this post on Zulip Bart Decuypere (Mar 11 2022 at 16:03):

As I understand the situation now, the receiving system (known as Vaccinnet (Belgium/Flanders)), knows about the stock of a sender. The sender should indicate whether an immunization message causes the decrease of the stock of the sender for that vaccine by one.

view this post on Zulip Jose Costa Teixeira (Mar 11 2022 at 16:20):

Bart Decuypere said:

The sender should indicate whether an immunization message causes the decrease of the stock of the sender for that vaccine by one.

Ok so the sender would say explicitly whether a product/item/pack/box was consumed?

view this post on Zulip Jose Costa Teixeira (Mar 11 2022 at 16:21):

in which case would the sender not send "decreased by one"? Would it ever say "decreased by 2" or "not decreased"?

view this post on Zulip Nathan Bunker (Mar 11 2022 at 22:11):

@Jose Costa Teixeira I'm very interested in this topic. In the US we have the old model where the report of an administered vaccination causes a single dose to be decremented. But this process was never intentionally designed and is essentially broken. We are looking to modernize to FHIR and are looking to leave that old "decrementing" model.

The ideal solution would be a comprehensive tracking of inventory, including usage (decrementing), wasted, receiving, transferring, etc. I see this separated from reporting an administration of an immunization to a patient. A clinical system might report to a registry "Patient A received Immunization X", and then separately to a vaccination inventory system (perhaps even the same registry) that "Immunization X has one less dose because it was administered". This idea is very rough, we haven't really started exploring it enough y et.

Is this what you are looking for too? Or do you see it differently?

view this post on Zulip Bart Decuypere (Mar 14 2022 at 07:40):

@Jose Costa Teixeira Belgium (due to its federal structure) has several vaccination authorities. All authorities want to be aware of vaccinations of the other authorities, but they only need to decrease stock if the vaccinating institution (sender) is part of the receiving authority. Example: if a Flemish institution sends a immunization message to a Flemish authority, the Flemish authority should decrease the stock for the institution. If a Walloon, or Brussels authority sends a message to the Flemish authority, to indicate that a vaccination took place in another region of the federal state, then the Flemish authority does not have to decrease the stock.

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 08:19):

I understand that :)

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 08:22):

This could be an appendix to the immunization message. The immunization message says "we just gave a vaccine". This appendix would say:
a) "... and a dose was consumed, please do with it as you find useful, as the vaccination site doesn't manage regional stock"
b) "...and the vaccination site reports a dose was consumed, so that the receiving site can do with it as it wants"

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 08:24):

I think we're talking about a) - which in R4 would be either an extension or a Dispense.
This should be clear first in the logical model before we figure out how to do it in FHIR.

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 11:36):

@Nathan Bunker I am happy you explain the "decrementing" model for what it is - which is old.
IHE had been looking at this for a long time (we made a white paper some content and exhaustive traceability so that the requirements were clear). And in there there is one important aspect which is the separation between the logistics and the clinical.
Also the dutch model separates the logistics from the clinical and I think it is a good way forward (actually the only one so far)

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 11:38):

so, functionally:
Clinically we have ordering, dispensing, preparation and administration.
Logistically we have transport, wastage, reporting, etc. Those are orthogonal

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 11:38):

(summarized view: image.png )

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 11:46):

basic building blocks and some examples:

  • Dispense is the articulation point between patient-specific and logistics
  • Medication that is wasted/consumed is not the same as dispensed. There are several examples such as tablet dropped, cream tube is fully/partially used, medication recalled...
  • Medication can be transported before or after dispensing (e.g. transport of bulk stock vs transport of patient-labeled medications)
  • Products can be prepared before or after dispensing (e.g. cytostatics vs syrup mixtures at bedside)

There is lots of assumptions possible - when we give a vaccine, we are implicitly stating that it was dispensed for that patient, and we are implicitly saying that at least one vaccine dose was consumed, and also the syringe. Those are normal and should be welcome - which is why our approach needs to be relatively solid and immune to assumptions being implicit or explicit.

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 11:46):

In R5, we have the SupplyRequest and SupplyDelivery - to handle the material ordering and delivery- We also have InventoryReport that can say things like

  • 2 of these have been used
  • today we have 2 of these less than we had yesterday
  • now we have 22 of these total

view this post on Zulip Nathan Bunker (Mar 14 2022 at 11:47):

@Jose Costa Teixeira Thank you for the idea of separating "logistics" from "clinical". These are the words I need to describe what needs to change in the US. Do you know where I should look for the information on the Dutch model and/or the IHE white paper?

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 11:48):

some systems report only administrations, and others report the amount used/depleted/consumed. That is an optionality based on assumptions.
Some systems report "i have consumed 2" and other systems report "I have 22 today". that is not an assumption, that is depending on who actually keeps count.

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 16:51):

for the Dutch models, I have this starting link: https://zibs.nl/wiki/HCIM_Release_2021(EN)
I remember a nice diagram where the 2 parts of medication were separated - the clinical on top, logistics underneath - perhaps @Alexander Henket can help?

view this post on Zulip Jose Costa Teixeira (Mar 14 2022 at 16:52):

for the IHE white paper: https://www.ihe.net/uploadedFiles/Documents/Pharmacy/IHE_Pharmacy_WP_Supply.pdf

view this post on Zulip Alexander Henket (Mar 16 2022 at 18:20):

@Jose Costa Teixeira You probably want to go straight into the design details for Medication: https://informatiestandaarden.nictiz.nl/wiki/mp:V9_2.0.0_Ontwerp_medicatieproces_ENG

The pictures use Dutch terms but all surrounding text is in English and there is a glossary on which Dutch terms mean what.

view this post on Zulip Jose Costa Teixeira (Mar 16 2022 at 18:21):

that's it. 1.3.1 @Nathan Bunker

view this post on Zulip Jose Costa Teixeira (Mar 16 2022 at 18:25):

Dankjewel, @Alexander Henket


Last updated: Apr 12 2022 at 19:14 UTC