Stream: implementers
Topic: Composition and/or MessageHeader
Vikram Rajan (Aug 24 2021 at 06:17):
Hi All,
Has anyone here used Event within the Composition resource to denote what triggered the Bundle creation? Or should I be using the MessageHeader for this kind of stuff?
The use-case I am trying to solve is that when we generate a Bundle for an Encounter creation, update, rejection or completion in our platform, how can we differentiate between the various statuses (without looking at the Encounter Resource itself).
Lloyd McKenzie (Aug 24 2021 at 13:38):
Composition.event is about identifying the procedure, encounter or other event tied to the report. The type of document (e.g. discharge summary) would be communicated by the Composition.type. It would be unusual to generate a new document for distinct events where the type wouldn't change. Documents are produced when you need a frozen, human-navigable collection of artifacts that tell a story.
Kevin Mayfield (Aug 24 2021 at 13:44):
UK put document events in MessageHeader this way, I don't think it helped that much and may have made handling the message more complex.
Using Composition.event as suggested by @Lloyd McKenzie appears to be our lesson learned.
Vikram Rajan (Aug 25 2021 at 01:58):
Thanks, guys.
So I suppose for this use-case we use Composition where the Type can be encoded and Event can be used to display more granular detail.
But I am still unclear on when we should be using the MessageHeader?
Lloyd McKenzie (Aug 25 2021 at 02:30):
FHIR documents are about long-term persistence of a package of information intended to tell a story to a human. Think "pathology report", "discharge summary", "referral letter". There's no intrinsic workflow in a document. It could be picked up and read today or 20 years from now. Messaging is system-to-system processing asking for some sort of action to occur based on a real-world event. That could be a state change in some business object, a clock ticking to midnight or someone pushing a button. The requested action could be very precise "please suspend prescription XYZ" or very generic "A patient's been admitted. Here's all their information. Do whatever you usually do when a patient's been admitted". Messages can be responded to by other messages. Messaging is most typically used when there's a need to package a bunch of information together because the recipient can't query for additional information if they want it. Messages require more negotiation than simple RESTful requests. It's possible to have a message whose payload is a document - asking the recipient to do something or other about the document or its content. It'd be extremely odd to have a document wrap a message.
Vikram Rajan (Aug 25 2021 at 03:49):
Thanks @Lloyd McKenzie really appreciate the elaborate explanation!
Lloyd McKenzie (Aug 25 2021 at 03:52):
If you're trying to figure out the best way to share information using FHIR, you might find this page helpful: https://build.fhir.org/ig/HL7/davinci-ehrx/exchanging.html
Lloyd McKenzie (Aug 25 2021 at 03:52):
(Eventually, that'll show up in FHIR R5)
Kevin Mayfield (Aug 25 2021 at 04:08):
Thanks for that link.
Seems to be US specific. Fhir messaging is down as low reuse, I feel we are seeing that as high but that is because we don't have national hl7v2 workflow messages in uk.
Vikram Rajan (Aug 25 2021 at 04:42):
That's awesome, we are trying to build a data-exchange so this helps for sure!
Lloyd McKenzie (Aug 25 2021 at 13:49):
The link was created by a US-specific project, but that particular section of the guide is international in scope and applies to any area of healthcare (though most of the examples are specific to the financial world)
Last updated: Apr 12 2022 at 19:14 UTC