How can we identify the actual event / state of the resource from the Encounter resource?
for example, The Encounter delivered to the PUT method might be due to a unit transfer in the other system or due to discharged ?
going through the Encounter structure, but couldn’t identify the exact element?
please share your thoughts.
My thoughts I would create a master Encounter (say emergency episode)
This would have child encounters such as:
Triage Encounter
Ambulance assessment encounter
Ambulance transport encounter
Ambulance handover encounter
These sub encounters would use Encounter.partOf to reference the master Encounter.
For a hospital, following this approach I would have:
Hospital Episode Encounter which consists of a number of speciality (e.g. Emergency, Inpatient, etc) Encounters (episode?) and these break down into other Encounters which detail the admission, transfer, discharge and other interactions with the patient. (These would correspond partly to ADT^A01, ADT^02, ADT^A03, ADT^A04 etc)
However I believe the top level Encounters (for both Ambulance and Hospital) should really be FHIR EpisodeOfCare.
Interesting, Yes this will be helpful if we are going to persist the encounters in FHIR repository. How this could be achieved with connecting existing PAS + APIs. for example we receive a FHIR encounter resource (In Patient encounter) via PUT which represents a patients transfer from one ward to the other happened in at specific time.
here we need to identify these (transfer time, patient new location etc) and record as a transfer in the PAS ?
can we assume like this ?
when the encounter received via PUT, to determine the corresponding workflow / event related to the encounter, we might need a logic on the encounter as bellow,
when the encounter.id is same then its update encounter,
when the encounter is new and location is different then Transfer
when the encounter is new and status is performed then discharged ?
I’m not sure about using id though - it works if the source system is acting as a client and knows the server id’s. If it doesn’t know the server’s id’s then using identifier may be more useful. Here you could use a conditional put
PUT http://fhir.example.com/Encounter?identifier=system%7C1234
Update Encounter with identifier of 1234.
Both transfer and discharge would be PUT’s but with different status (and/or class)
discharge status = finished
transfer status = in-progress (class = https://snomedbrowser.com/Codes/Details/107724000 ) **
arrival or consultation started should be POST using the ‘If-None-Exist’ header e.g.
POST http://fhir.example.com/Encounter
If-None-Exist: Encounter?identifier=system%7C1234
Using identifiers would also help compatibility with HL7v2 systems where majority of Encounters updates would be handled.
encounter.status == finished, yes I understand this.
** I think a transfer would be an Encounter in it’s own right - actually can this be a same encounter if the sending application uses single encounter (Visit) in their system from admission to discharge ?
when it comes to transfer, should we deal with encounter status or location status ?
I am afraid am missing something here . how could we use the encounter status to track the transfer when patient move from Ward A to B and then C ? for these two transfers, encounter.status would be same always ?
If you are familiar with ITK HL7v2 my belief is the PV1 roughly corresponds to an individual FHIR Encounter. So the PV1 for an Admission is one Encounter, PV1 for Transfer is another Encounter
They are all linked either by a master Encounter (or EpisodeOfCare), this master would match up to the VisitId (PV1:19).
This master encounter/episode would be used to link up the admission, ward rounds, medication administration, transfers and discharges. (i.e. its catering for more than ADT)
So when an Discharge Encounter or ADT^A03 is received it would update the parent Encounter(Episode).
To illustrate what I was saying, actions such as an admission, discharge or transfer, would be a new/create Encounter (detail). Internal processing would update the parent Encounter (Master) and/or EpisodeOfCare - is some complexity here and depends on how the PAS works.
If these are updated then this would be a PUT on the Encounter (detail).
So if a patient was transferred to a hospital from the ambulance service. A rough set of interactions could be:
POST ReferralRequest (ambulance tells hospital a patient is being transferred)
Hospital creates an EpisodeOfCare and Encounter-Master (class emergency - status planned)
Emergency treatment ends and patient is transferred to ward (Encounter-Detail created (type - transfer) plus ADT^A02 and also create Encounter-Detail discharge plus ADT^A03, ??? end Encounter-Master)
Patient admitted (Encounter-Detail created (type - admission), ??? new Encounter Master (class - inpatient)
Patient discharged (new Encounter-Detail discharge, update Encounter-Master (ended) and end EpisodeOfCare, triggering a discharge letter.
So the hospital has one Episode
Each hospital team (ED, ward, etc) has one Encounter-Master
Every action has one Encounter-Detail (clinical content is recorded against this)
It’s looking more complicated than HL7v2 but ADT tends to focus on the administration side and FHIR Encounter is focused around care provision and actions.
I think that’s more to do with ordering a service (procedure, diagnostic test, etc) but the resulting delivery of that order would more than likely be documented via an encounter.
I need to get back to you on that (busy at moment) but I belive something similar ADW (admission, discharge and ?waiting list?) is being worked on at present by NHS Digital.
Referral assessed and accepted (Assessment Notice Accepted or Rejected)
Patient is discharged home after treatment (Discharge Notice - I’m not sure this a correct mapping. I feel this should say the Referral request (the order) has been completed)
I think thats the beginnings of a basic workflow for referrals (it’s also in INTEROPen Michael’s storey). Generic (fag packet) pattern: I create an order, this is accepted or rejected and the order is completed.
It’s currently more of a clinicians view of an emergency and inpatient episode but I’m looking at adding patient administration (HL7v2 friendly) content.
You can access the HIE here: https://data.developer.nhs.uk/ccri/ed/
Issues at present: it’s not clear that the patient was discharged from emergency care and inpatient care, when the patient was admitted. Should add in a transfer (patient move from ED to ward).
The references in Encounter, for example Location and Participant / Practitioner Resources in Encounter. Can Encounter have the logical references for the these resources, for example NHS Location code for Location and GMC code for the practitioner ? https://hl7.org/fhir/2018May/references.html
are there any change in the care connect profile from the standard related to this ?
As a developer I like this, it stops me from creating resources for well known identifiers (which means I don’t have to do as much work building a Bundle and it still reads correctly. As an experienced developer I can see the above are NHS Number and ODS code).
It’s not the R4 way of handling logical references.