Wednesday 13 February 2013

ADT A12 - Cancel Transfer


In hospitals, there might be a need to cancel patient transfer (physical location). This happens when an HL7 A02 (transfer patient) message was triggered by mistake by system or there was a wrong decision made to transfer patient.

Let's understand the scenario:

Patient A was allocated a physical location (Room 101 Bed A)
We received an A02 to transfer patient to (Room 102 Bed B)
We received an A12 HL7 message to cancel transfer, this will again change patient's current location to (Room 101 Bed A) & prior location will be (Room 102 Bed B)
This trigger event (A12 Cancel Transfer) signals receiving system to switch patients current & prior location. But implementation depends on receiving system.

I will provide basic details of implementing A12 into your system, but please contact source system administrator before implementing your interface.

There could be many fields in HL7 message or in your system which can identify patient's location (This depends on your EMR configuration or system which mangaes your Admission/Discharge/Transfer).

Common fields are PatientClass(PV1.2), AssignedPatientLocation(PV1.3), PriorPatientLocation(PV1.6) etc. and all of these values would be very meaningful for Healthcare Systems.

Let me start with a scenario (I am not including processing of A02 in this article, we will post another article for that):

In real world, a hospital system would receive many messages for a patient before A12, but to understand A12 scenario we will discuss two important ones - A01 (Admission) & A02 (Transfer)
I will include only those fields in example which are required to describe the A12 cancel transfer message.

Suppose, we have received an A01 message for a patient with following details
PatientClass (PV1.2) - I (Important & Requred field)
AssignedLocation (PV1.3) - PointOfCare - IR, Room - 101, Bed - A
AccountStatus (PV1.41) - ADM
after processing this A01 message, we have following details in our system:

PV1.2 AssignedPatientLocation PV1.3 PriorPatientLocation PV1.6 PV1.41 PV2.4
PatientClass PointOfCare Room Bed PointOfCare Room Bed AccountStatus TransferReason
I IR 101 A ADM


Now, we have received a transfer request by A02 message with following details

PatientClass (PV1.2) - I (Important & Requred field)
AssignedLocation (PV1.3) - PointOfCare - IR, Room - 201, Bed - B
PriorLocation (PV1.6) - PointOfCare - IR, Room - 101, Bed - A
AccountStatus (PV1.41) - ADM
TransferReason (PV2.4) - Reason For Transfer
after processing this we have following details in our system:

PV1.2 AssignedPatientLocation PV1.3 PriorPatientLocation PV1.6 PV1.41 PV2.4
PatientClass PointOfCare Room Bed PointOfCare Room Bed AccountStatus TransferReason
I IR 201 B IR 101 A ADM reason for transfer

Now, suppose we have received an A12 (Cancel Transfer) message with following details, this should trigger the cancellation of previous A02 and when we process this message patient's physical location will be restored to what it was before processing A02
PatientClass (PV1.2) - I (Important & Requred field)
AssignedLocation (PV1.3) - PointOfCare - IR, Room - 101, Bed - A
PriorLocation (PV1.6) - PointOfCare - IR, Room - 201, Bed - B
AccountStatus (PV1.41) - ADM
TransferReason (PV2.4) - Reason For Cancelling the Transfer

So, after processing A12, we will have following details in our system

PV1.2 AssignedPatientLocation PV1.3 PriorPatientLocation PV1.6 PV1.41 PV2.4
PatientClass PointOfCare Room Bed PointOfCare Room Bed AccountStatus TransferReason
I IR 101 A IR 201 B ADM Reason for cancelling transfer

You can see the magic of A12, the patient's physical loation has been restored to his prior location.

Note:

ADT messages always contain current information except MRG segments
Process all the fieds in PID & PV1 & other segments in message as normal A08 upate message unless specified by source system.
It is recommended not to send any updated fields except required ones in A12. A08 should be used to update any other fields.

Sample Immunization Records Blockchain using Hyperledger Composer

This is basic and sample Blockchain implementation of Immunization Records using Hyperledger Composer.  Source Code available at:  https...