From the
documentation, I see the following rules related to configuring Pub/Sub messages on various data store types:
You can use Pub/Sub to receive notifications when clinical events occur in Cloud Healthcare API data stores. These notifications inform you when:- A DICOM instance is stored in a DICOM store using the dicomStores.dicomWeb.studies.storeInstances method or imported from Cloud Storage.
- A FHIR resource is created, updated, or deleted in a FHIR store. However, notifications are not sent when a FHIR resource is imported from Cloud Storage.
- An HL7v2 message is ingested or created in an HL7v2 store for the first time. Duplicate messages will not trigger a notification.
For an HL7v2 message, what is the best strategy to replay an existing message "insert" and trigger a second Pub/Sub message? The specific scenario is when a downstream system successfully acknowledges the first Pub/Sub message but fails to perform its own task, and we want to make a second attempt starting from the HL7v2 data store.
I can think of two ways that are not ideal, and I'm hoping for some advice on the best practice.
- Delete the original HL7v2 message, and then submit the message again. It's not great from a data integrity standpoint.
- Decode the original message and alter some segment values (such as the MSH.7 date/time or MSH.10 control ID). Also not ideal if we need to maintain integrity with what a source system actually sent and when).
How do others handle similar scenarios? Thanks!