eOverdracht 4.0.2 FHIR Implementation Guide

Uit informatiestandaarden
Versie door Mik de Jong (overleg | bijdragen) op 30 apr 2024 om 12:35 (Corrected version 4.0 to version 4.1.alpha-1)
Ga naar: navigatie, zoeken


1 Introduction

This is the implementation guide for the information standard eOverdracht, version 4.1.alpha-1 This standard is described in this functional specification and implemented here using FHIR(STU3) HL7 FHIR, STU3. This implementation guide assumes that the reader is familiar with this FHIR version.

Apart from this document, the guidelines as specified in general FHIR Implementation Guide apply. In particular, the reader should take note of the Use case overarching principles and the use of FHIR packages.

2 Actors involved

Actors Systems FHIR Capability Statements
Name Description Name Description Name Description
Sending organization The organization or health care professional(?) at the organization that wants to transfer the care of a patient Sending XIS Healthcare information system of the sending organization CapabilityStatement: Sending XIS FHIR requirements for sending XIS
Receiving organization The organization or health care professional(?) at the organization that the sending organization wants to transfer the care of a patient to Receiving XIS Healthcare information system of the receiving organization CapabilityStatement: Receiving XIS FHIR requirements for receiving XIS

3 Workflow and message structure

3.1 Overview

The use cases within eOverdracht are not isolated, but form a workflow that may include the negotiation of the transfer of the patient, and ends with the transfer of the medical record. In FHIR, this is handled by using a Task resource. This resource tracks the worflow (see #Workflow) and acts as the entry point for all data exchanges (see #Use of the Composition resource) for the transfer of care for a patient.

3.2 Task

3.2.1 Task requirements

The requirements for the Task resource in the eOverdracht context are specified using the http://nictiz.nl/fhir/StructureDefinition/eOverdracht-Task profile. This profile SHALL be used for the eOverdracht workflow.

The Task instance SHALL be hosted on the server of the sending XIS. Both the sending and the receiving XIS need to be able to update the Task. The sending XIS MAY use business rules to reject an update, for example if invalid status change is used.

Both the sending and the receiving XIS SHALL monitor the Task resource for changes. It is expected that the sending XIS will use a notification mechanism to inform the receiving XIS of creation or updates of the Task (see #Notifications), but the receiving XIS could use a polling mechanism as well.

For each combination of sending and receiving XIS, a dedicated instance of the Task resource SHALL be used for each transfer situation. This is true even when the sending XIS wants to send the same request to multiple parties. The reason for this is that the Task status is used to negotiate the transfer of care, so it cannot be used simultaneously for multiple recipients.

3.2.2 Task invocations

The receiving XIS can query the Task at the sending XIS by using the Task.id which is communicated in the notification:

 GET base/Task/[Task.id]

Note: It is up to the receiving XIS to determine if this is a new Task or an update to an existing Task, and if it is an update, what the change entails.

The receiving XIS can update a Task hosted by the sending XIS using a PUT operation:

 PUT base/Task/[Task.id]

The body should be the original Task with the needed modifications. The sending XIS SHOULD check the update for errors and inconsistencies. If the update is rejected, the sending XIS SHALL response with a HTTP 422 status code and an OperationOutcome detailing the problem.

3.2.3 Notifications

It is expected that the sending XIS will notify the receiving XIS when a new Task is created or when an existing Task is updated. Although the notification mechanism is out of scope for the eOverdracht information standard, the notification SHALL communicate the Task.id to the receiving XIS.

A straightforward implementation for this notification mechanism is for the notifying party to make an empty POST request combined with an authorization header on a pre-determined endpoint at the party that should be notified, with the Task.id appended as path component:

 POST [base]/[Task.id]

The notified party is expected to respond with HTTP status code 202 Accepted to inform the notifying party that the notification was successfully received.

3.3 Use of the Composition resource

The advance notice (Aanmeldbericht) and the (three variants of) the nursing handoff (Overdrachtsbericht) are mainly built up of individual FHIR resources, selected by the sending organization to form a coherent set of information relevant to the receiving organization. The bulk of these resources are not referenced directly from the Task. Instead, the Task references a Composition resource which in turn assembles the references to all individual FHIR resources. For this purpose, the Composition profiles described in #FHIR profiles SHALL be used.

3.3.1 Composition invocations

The receiving XIS MAY use either of the following mechanism for retrieving the individual FHIR resources referenced in the Compostion resource.

As a Document
The receiving XIS uses the $document operation to retrieve both the Composition and all referenced resources as a single document Bundle.
GET [base]/Composition/[Composition.id]/$document
Note: the Compositions list just the resources that act as the entry point for the various concepts in the eOverdracht transactions, but each of these referenced resources may further refer other resources not listed there. The sending system SHALL produce a complete Bundle containing not only the resources listed directly in the Composition, but all the indirectly referenced resources as well.
Individual requests
The receiving XIS first retrieves the Composition resource
GET [base]/Compositon/[Composition.id]
Then the necessary other resources referenced can be fetched using a GET interaction.

The sending XIS SHALL support both mechanisms.

3.3.2 Exchanging data as unstructured text

The information standard requires that all information described is exchanged in a structured way, according to the FHIR profiles described on this page. However, some systems are not able to support the full extent of the standard yet and may need to send part of the data as formatted text. The following implementation advice provides guidance on how systems with such a need may accomplish this exchange.

  • All unstructured (textual data) is collected in one single PDF/A document.
  • This document is added to the Composition resource representing the advance notice or the nursing handoff, in the following way:
    • An additional Composition.section is created, with .section.code set to SNOMED CT/703852005 (Narrative comment section).
    • In this section, there is a single .section.entry, and it refers to a DocumentReference resource.
    • This DocumentReference resource references the PDF/A document containing the unstructured text.

The use of the DocumentReference resource allows the sender to specify additional metadata about the document, if needed. It also prevents that the PDF/A is directly included when the Composition is requested using the $document operation, which could lead to unexpected large data volumes.

3.4 Using Task to manage the workflow

The Task is the main entry point for the eOverdracht transactions. The eOverdracht workflow starts with the retrieval of a new Task instance by the receiving XIS, and all subsequent steps in the worflow are mediated by updates to this Task instance.

The eOverdracht transactions are mapped to FHIR in the following way:

eOverdracht transaction Task
Send advance notice
  • sending XIS creates advance notice Composition
  • sending XIS creates Task:
    • Task.status = requested
    • Task.input:advanceNotice contains reference to the advance notice Composition resource
  • (sending XIS sends notification to receiving XIS)
Send response to advance notice
Accept transfer
  • receiving XIS updates Task:
    • Task.status = accepted
    • optionally: Task.owner set to receiving organization. See #Brokers.
Reject transfer
  • receiving XIS updates Task:
    • Task.status = rejected
Propose alternate date
  • receiving XIS updates Task:
    • Task.status = on-hold
    • Task.output:alternativeDate contains alternate proposed date
Respond to alternate proposed date
Accept alternate proposed date:

(process starts over again)

  • sending XIS updates advance notice Composition
    • new date/time for overdracht
  • sending XIS updates Task:
    • Task.status = requested
  • (sending XIS sends notification to receiving XIS)
Reject alternate proposed date:
  • sending XIS updates Task:
    • Task.status = cancelled
  • (sending XIS sends notification to receiving XIS)
Confirm transfer
  • sending XIS updates Task:
    • Task.status = in-progress
  • (sending XIS sends notification to receiving XIS)
Send nursing handoff
  • Sending XIS creates nursing handoff Composition
  • Sending XIS updates Task:
    • Task.input:nursingHandoff contains reference to the nursing handoff Composition resource
  • (sending XIS sends notification to receiving XIS)
Send confirmation of nursing handoff
  • Recieving XIS updates Task:
    • Task.status = completed

The following sequence diagrams illustrate the relevant exchanges and state transitions:

Normal flow Negotiate alternative date
2022-03-18-eOverdracht-HappyFlow.svg
2022-03-18-eOverdracht-AlternativeDate.svg

3.4.1 Partial workflow

When the transfer has to be carried out without the negotiation phase, the sending XIS will create the Task instance with Task.status already set to in-progress and Task.input:nursingHandoff populated.

3.4.2 Brokers

The use of a broker to find an available healthcare provider for the patient transfer fall outside the scope of the eOverdracht information standard. However, it is possible to start the workflow without knowing the receiving organization, which allows for the use of a broker. In this situation, for the sending XIS the broker acts as a receiving XIS, and for the receiving XIS the broker acts as a sending XIS.

When Task.input:nursingHandoff is populated with the nursing handoff Composition, Task.owner MUST be populated with the receiving organization.

4 FHIR profiles

4.1 Example resources

Examples for the profiles above can be found in the FHIR packages defined above. Additionally, instances for the test scenarios can be found on Github.

4.2 Infrastructure profiles

The following table lists the FHIR profiles that should be used for the infrastructural parts of the eOverdracht information standard. The mapping to the functional data elements is given using the mapping within these profiles.

HCIM Name FHIR profile
eOverdracht Task http://nictiz.nl/fhir/StructureDefinition/eOverdracht-Task
Composition for advance notice (Aanmeldbericht) http://nictiz.nl/fhir/StructureDefinition/eOverdracht-AdvanceNotice
Composition for nursing handoff adults (Overdrachtsbericht volwassenen) http://nictiz.nl/fhir/StructureDefinition/eOverdracht-NursingHandoff-Adults
Composition for nursing handoff childcare 0-1 yo (Overdrachtsbericht kinderen 0-1 jaar) http://nictiz.nl/fhir/StructureDefinition/eOverdracht-NursingHandoff-Childcare-0-1yo
Composition for nursing handoff childcare 1-18 yo (Overdrachtsbericht kinderen 1-18 jaar) http://nictiz.nl/fhir/StructureDefinition/eOverdracht-NursingHandoff-Childcare-1-18yo

4.3 HCIM profiles

The following table lists the FHIR profiles that implement the HCIMs used within eOverdracht.

HCIM Name FHIR profile Remark
Ademhaling http://nictiz.nl/fhir/StructureDefinition/zib-Respiration
http://nictiz.nl/fhir/StructureDefinition/zib-Respiration-AdministeredOxygen-AdministrationDevice
http://nictiz.nl/fhir/StructureDefinition/zib-Respiration-AdministeredOxygen-AdministrationDeviceProduct
Alert http://nictiz.nl/fhir/StructureDefinition/zib-Alert
AllergyIntolerance http://nictiz.nl/fhir/StructureDefinition/zib-AllergyIntolerance
ApgarScore http://nictiz.nl/fhir/StructureDefinition/zib-ApgarScore
Behandeldoel http://nictiz.nl/fhir/StructureDefinition/zib-TreatmentObjective
Betaler http://nictiz.nl/fhir/StructureDefinition/zib-Payer
Blaasfunctie http://nictiz.nl/fhir/StructureDefinition/zib-BladderFunction
http://nictiz.nl/fhir/StructureDefinition/zib-BladderFunction-UrineCatheter
http://nictiz.nl/fhir/StructureDefinition/zib-BladderFunction-UrineCatheterProduct
Bloeddruk http://nictiz.nl/fhir/StructureDefinition/zib-BloodPressure
BrandWond http://nictiz.nl/fhir/StructureDefinition/zib-BurnWound
ChecklijstPijnScore http://nictiz.nl/fhir/StructureDefinition/zib-ChecklistPainBehaviour
Contact http://nictiz.nl/fhir/StructureDefinition/eOverdracht-Encounter Contains an extra text field to describe the reason for the contact
Contactpersoon http://fhir.nl/fhir/StructureDefinition/nl-core-relatedperson
Darmfunctie http://nictiz.nl/fhir/StructureDefinition/zib-BowelFunction
Datum overplaatsing http://nictiz.nl/fhir/StructureDefinition/eOverdracht-TransferDate
DecubitusWond http://nictiz.nl/fhir/StructureDefinition/zib-PressureUlcer
http://nictiz.nl/fhir/StructureDefinition/WoundCharacteristics
FLACCPijnScore http://nictiz.nl/fhir/StructureDefinition/zib-FLACCPainScale
FunctieHoren http://nictiz.nl/fhir/StructureDefinition/zib-HearingFunction
http://nictiz.nl/fhir/StructureDefinition/zib-HearingFunction-HearingAid
http://nictiz.nl/fhir/StructureDefinition/zib-HearingFunction-HearingAid-Product
FunctieZien http://nictiz.nl/fhir/StructureDefinition/zib-VisualFunction
http://nictiz.nl/fhir/StructureDefinition/zib-VisualFunction-VisualAid
http://nictiz.nl/fhir/StructureDefinition/zib-VisualFunction-VisualAidProduct
Gezinssituatie http://nictiz.nl/fhir/StructureDefinition/zib-FamilySituation
Huidaandoening http://nictiz.nl/fhir/StructureDefinition/zib-SkinDisorder
HulpVanAnderen http://nictiz.nl/fhir/StructureDefinition/zib-HelpFromOthers
Infuus http://nictiz.nl/fhir/StructureDefinition/zib-Infusion
http://nictiz.nl/fhir/StructureDefinition/zib-Infusion-Product
JuridischeSituatie http://nictiz.nl/fhir/StructureDefinition/zib-LegalSituation-LegalStatus (Not finalized) Pre-adopt of zib2020
http://nictiz.nl/fhir/StructureDefinition/zib-LegalSituation-Representation (Not finalized)
Levensovertuiging http://nictiz.nl/fhir/StructureDefinition/zib-LifeStance Extension used in http://nictiz.nl/fhir/StructureDefinition/nl-core-patient
Lichaamsgewicht http://nictiz.nl/fhir/StructureDefinition/zib-BodyWeight
Lichaamslengte http://nictiz.nl/fhir/StructureDefinition/zib-BodyHeight
Lichaamstemperatuur http://nictiz.nl/fhir/StructureDefinition/zib-BodyTemperature
MedischHulpmiddel http://nictiz.nl/fhir/StructureDefinition/zib-MedicalDevice
Mobiliteit http://nictiz.nl/fhir/StructureDefinition/zib-Mobility
MUSTScore http://nictiz.nl/fhir/StructureDefinition/zib-MUSTScore
Ontwikkeling kind http://nictiz.nl/fhir/StructureDefinition/zib-DevelopmentChild
ParticipatieInMaatschappij http://nictiz.nl/fhir/StructureDefinition/zib-ParticipationInSociety
Patient http://fhir.nl/fhir/StructureDefinition/nl-core-patient
Pijnscore http://nictiz.nl/fhir/StructureDefinition/zib-PainScore
PolsFrequentie http://nictiz.nl/fhir/StructureDefinition/zib-PulseRate
Probleem http://nictiz.nl/fhir/StructureDefinition/zib-Problem
Schedelomvang http://nictiz.nl/fhir/StructureDefinition/zib-HeadCircumference
SNAQ65+Score http://nictiz.nl/fhir/StructureDefinition/zib-SNAQrcScore
SNAQrcScore http://nictiz.nl/fhir/StructureDefinition/zib-SNAQrcScore
SNAQScore http://nictiz.nl/fhir/StructureDefinition/zib-SNAQScore
SondeSysteem http://nictiz.nl/fhir/StructureDefinition/zib-FeedingTubeSystem
http://nictiz.nl/fhir/StructureDefinition/zib-FeedingTubeSystem-Product
Stoma http://nictiz.nl/fhir/StructureDefinition/zib-Stoma
StrongKidsScore http://nictiz.nl/fhir/StructureDefinition/zib-StrongKidsScore
Taalvaardigheid http://nictiz.nl/fhir/StructureDefinition/patient-proficiency Extension used in http://nictiz.nl/fhir/StructureDefinition/nl-core-patient
UitkomstVanZorg http://nictiz.nl/fhir/StructureDefinition/zib-OutcomeOfCare
VermogenTotDrinken http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToDrink
VermogenTotEten http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToEat
VermogenTotMondverzorging http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToPerformMouthcareActivities
http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToPerformMouthcareActivities-MedicalDevice
http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToPerformMouthcareActivities-MedicalDeviceProduct
VermogenTotToiletgang http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToUseToilet
VermogenTotUiterlijkeVerzorging http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToGroome
VermogenTotVerpleegtechnischeHandelingen http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToPerformNursingActivities
VermogenTotZelfstandigMedicatiegebruik http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToManageMedication
VermogenTotZichKleden http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToDressOneself
VermogenTotZichWassen http://nictiz.nl/fhir/StructureDefinition/zib-AbilityToWashOneSelf
VerpleegkundigeInterventie http://nictiz.nl/fhir/StructureDefinition/zib-NursingIntervention
Vochtbalans http://nictiz.nl/fhir/StructureDefinition/zib-FluidBalance
Voedingsadvies http://nictiz.nl/fhir/StructureDefinition/zib-NutritionAdvice
VoedingspatroonZuigeling http://nictiz.nl/fhir/StructureDefinition/zib-FeedingPatternInfant
VrijheidsBeperkendeInterventie http://nictiz.nl/fhir/StructureDefinition/zib-FreedomRestrictingIntervention (Not finalized) Pre-adopt of zib2020
Wilsverklaring http://nictiz.nl/fhir/StructureDefinition/zib-AdvanceDirective
Wond http://nictiz.nl/fhir/StructureDefinition/zib-Wound
http://nictiz.nl/fhir/StructureDefinition/WoundCharacteristics
http://nictiz.nl/fhir/StructureDefinition/zib-Wound-MedicalDevice
Woonsituatie http://nictiz.nl/fhir/StructureDefinition/zib-LivingSituation
Ziektebeleving http://nictiz.nl/fhir/StructureDefinition/zib-IllnessPerception
Zorgaanbieder http://fhir.nl/fhir/StructureDefinition/nl-core-organization
Zorgverlener http://fhir.nl/fhir/StructureDefinition/nl-core-practitioner
http://fhir.nl/fhir/StructureDefinition/nl-core-practitionerrole
Zwangerschap http://nictiz.nl/fhir/StructureDefinition/zib-Pregnancy
http://nictiz.nl/fhir/StructureDefinition/zib-Pregnancy-PregnancyStatus
http://nictiz.nl/fhir/StructureDefinition/zib-Pregnancy-TermDate
http://nictiz.nl/fhir/StructureDefinition/zib-Pregnancy-PregnancyDuration
http://nictiz.nl/fhir/StructureDefinition/zib-Pregnancy-Parity
http://nictiz.nl/fhir/StructureDefinition/zib-Pregnancy-Gravidity
http://nictiz.nl/fhir/StructureDefinition/zib-Pregnancy-DateLastMenstruation