FHIR Chat · Medication module questions · implementers

Stream: implementers

Topic: Medication module questions


view this post on Zulip Farrukh Najmi (May 26 2017 at 16:45):

Hello, is this the right forum where someone implementing software based on FHIR can ask questions about how to use the model?

view this post on Zulip Farrukh Najmi (May 26 2017 at 16:48):

I am implementing software that aims to aligns with FHIR. I am looking for the recommended way to do the following:

1. Configure for a patient the schedule of when to take a medication
2. Record that a medication failed to be administered at a scheduled time

For (1) the closest class seems to be MedicationStatement where I can track the Medication and the planned Dosage which includes Timing
For (2) I could record a MedicationStatement for each missed medication.

Does this seem correct?

BTW, the model is unclear on the relationship between MedicationStatement and MedicationRequest / MedicationAdministration.

view this post on Zulip Lloyd McKenzie (May 26 2017 at 16:55):

For #1, MedicationStatement or MedicationRequest are possibilities. (The latter is appropriate if you're dealing with specific prescriptions/orders, the former if you're dealing with planned/scheduled meds in general, whether ordered or not.) For #2, I'd go with MedicationAdministration. MedicationStatement is summary level. MedicationStatement is a summary resource. MedicationAdministration deals with individual occurrences.

view this post on Zulip Farrukh Najmi (May 26 2017 at 16:59):

For (1) I am using MedicationRequest for the order but then the patient can configure the Timing of when they take the med (modulo the order). I need to record the patient-specific medication schedule config somewhere. Based on your suggestion I will use MedicationStatement.

For (2) I thought MedicationAdministration was to record actual administration. Perhapos I am wrong. It would definitely be simpler to use MedicationAdministration to record missed administrations. Still agree using MedicationAdministration?

Thanks Lloyd!

view this post on Zulip Michelle (Moseman) Miller (May 26 2017 at 17:03):

MedicationAdministration.notGiven supports the ability to convey that the administration is not given (with MedicationAdministration.reasonNotGiven explaining why it wasn't given)

view this post on Zulip Farrukh Najmi (May 26 2017 at 17:04):

Excellent! I missed that. Thanks Michelle and Lloyd for helping me out.

view this post on Zulip Anjali Vartak (May 31 2017 at 19:34):

Hello,
I have a question regarding MedicationRequest.
I am upgrading my application from FHIR dstu2:1.4 to dstu3:2.4.
I am updating MedicationOrder resource (https://hl7.org/fhir/DSTU2/medicationorder.html ) as MedicationRequest resource (https://www.hl7.org/fhir/medicationrequest.html )
But I am not sure which element “dateEnded” - when prescription was stopped in MedicationOrder would map to in MedicationRequest.
Thanks in advance!

view this post on Zulip Melva Peters (May 31 2017 at 20:22):

In STU3 this is considered to be part of EventHistory which references Provenance.

view this post on Zulip Michelle (Moseman) Miller (Jun 01 2017 at 16:01):

I will just add that you can communicate when the order should end using MedicationRequest.dosageInstruction.timing.boundsPeriod.end
The tricky part about using MedicationRequest.eventHistory for when the order actually ended is that the eventHistory says

This SHALL NOT include the Provenance associated with this current version of the resource. If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude.

view this post on Zulip Eric Haas (Jun 01 2017 at 21:17):

There is a tracker out there that would solve this issue Michelle raises by allowing the referring object to be contained by the referenced object. Not sure of its whereabouts or status.

view this post on Zulip Richard Townley-O'Neill (Jun 02 2017 at 06:08):

Question #1
Why is the multiplicity range of Medication.package.batch 0..* and not 0..1?

  • Is it to allow an inventory to record in one resource instance that it has several batches of the same medication?
  • Is it to allow recording of different lot numbers for the same batch, maybe in different formats?
  • Is it a mistake?

Question #2
Why is Medication.package a backboneElement? As package has multiplicity range 0..1, its contents could be normalised into Medication.

  • Is it to make it easy to prohibit package information in profiles?

view this post on Zulip Lloyd McKenzie (Jun 02 2017 at 14:52):

@Melva Peters ?

view this post on Zulip Melva Peters (Jun 07 2017 at 13:07):

@Richard Townley-O'Neill The medication.package.batch is 0..* as you can have multiple batches of a medication but it is expected that each batch would have a single lot and expiry date, so they are both 0..1. I'm not sure about medication.package. As I look at it now, I wonder if the cardinality is wrong and that it should be 0..* I think you could have a medication (like Amoxicillin 250mg capsules) that comes in multiple packages. There are a number of outstanding changes for medication. I would suggest you add tracker items for the changes/questions you have.

view this post on Zulip Richard Townley-O'Neill (Jun 12 2017 at 04:28):

Thanks @Melva Peters From what you've written and another look at the resource, I take it that the idea is to have one Medication instance for each medication trade product pack (e.g. aspirin 320mg, bayer, bottle of 100). So package is 0..1 and not 0..* . As there may be several batches of interest (say those in current stock) for the one medication trade product pack, batch is 0..* . And the 0..* is to record identifiers for several batches, not to record alternate identifiers for the same batch. So the answer to my question 1 is suggestion 1.

view this post on Zulip Richard Townley-O'Neill (Jun 21 2017 at 02:00):

I started this in the Australian thread, but I think that it is of more general interest.
I want to record barcodes for medications. The primary interest is in the supply chain unique product identifier ( a GTIN, represented as a GS1 linear barcode). As GTINs are assigned for both packages and individual medications, I need to record it at both the Medication and the Medication.package level.
I'm temped to record GTINs as codes, but maybe they should be recorded analogously to UDIs in Device.

view this post on Zulip Richard Townley-O'Neill (Jun 21 2017 at 02:00):

If GTINs are represented as codes, the product level GTIN can go in Medication.code, and an extension will be needed for the containered product, say Medication.package.code. With Coding.system = www.gs1.org/gtin.
.
If GTINs are treated the same way as UDIs in Device, the backbone element from device is adapted to GTIN and used twice in the extension as Medication.upi and Medication.package.upi.
.
Any thoughts?


Last updated: Apr 12 2022 at 19:14 UTC