vpk:Vprepub-4.0 FHIR eOverdracht: verschil tussen versies
(Remove zib-ProcedureRequest, which is no longer used in the eOverdracht context) |
k (Formatting fix) |
||
(33 tussenliggende versies door 2 gebruikers niet weergegeven) | |||
Regel 1: | Regel 1: | ||
− | {{DISPLAYTITLE:eOverdracht FHIR Implementation Guide}} | + | __NOINDEX__ |
+ | {{DISPLAYTITLE:eOverdracht {{VersieInfo|eOverdracht|release=V4.0}} FHIR Implementation Guide}} | ||
__NUMBEREDHEADINGS__ | __NUMBEREDHEADINGS__ | ||
=Introduction= | =Introduction= | ||
− | This is the implementation guide for the information standard eOverdracht, version | + | This is the implementation guide for the information standard eOverdracht, version 4.0. This standard is described in [[vpk:Vprepub-4.0_Ontwerp eOverdracht|this functional specification]] and implemented here using [https://www.hl7.org/fhir/stu3/ 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 [[FHIR:V1.0 FHIR IG STU3|general FHIR Implementation Guide]] apply. In particular, the reader should take note of the [[FHIR:V1.0_FHIR_IG_STU3#Use_case_overarching_principles|Use case overarching principles]] and the use of [[FHIR:V1.0_FHIR_IG_STU3#FHIR_Packages|FHIR packages]]. | Apart from this document, the guidelines as specified in [[FHIR:V1.0 FHIR IG STU3|general FHIR Implementation Guide]] apply. In particular, the reader should take note of the [[FHIR:V1.0_FHIR_IG_STU3#Use_case_overarching_principles|Use case overarching principles]] and the use of [[FHIR:V1.0_FHIR_IG_STU3#FHIR_Packages|FHIR packages]]. | ||
Regel 24: | Regel 25: | ||
| Sending XIS | | Sending XIS | ||
| Healthcare information system of the sending organization | | Healthcare information system of the sending organization | ||
− | | {{Simplifier|...|title=CapabilityStatement: Sending XIS}} | + | | {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/eOverdracht-clientcapabilities|nictiz.fhir.nl.stu3.eoverdracht|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.eoverdracht|release=V4.0}}|title=CapabilityStatement: Sending XIS}} |
| FHIR requirements for sending XIS | | FHIR requirements for sending XIS | ||
|- | |- | ||
Regel 31: | Regel 32: | ||
| Receiving XIS | | Receiving XIS | ||
| Healthcare information system of the receiving organization | | Healthcare information system of the receiving organization | ||
− | | {{Simplifier|...|title=CapabilityStatement: Receiving XIS}} | + | | {{Simplifier|http://nictiz.nl/fhir/CapabilityStatement/eOverdracht-servercapabilities|nictiz.fhir.nl.stu3.eoverdracht|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.eoverdracht|release=V4.0}}|title=CapabilityStatement: Receiving XIS}} |
| FHIR requirements for receiving XIS | | FHIR requirements for receiving XIS | ||
|} | |} | ||
Regel 38: | Regel 39: | ||
==Overview== | ==Overview== | ||
− | + | Although the eOverdracht is currently limited to the transfer of the nursing handoff, the ultimate vision is to have a workflow which may include the negotiation of the transfer of the patient. For this reason, a Task resource is used as the entry point for all data exchanges (see [[#Use of the Composition resource]]). | |
==Task== | ==Task== | ||
Regel 48: | Regel 49: | ||
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. | 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 | + | For each combination of sending and receiving XIS, a dedicated instance of the Task resource SHALL be used for each transfer situation. |
===Task invocations=== | ===Task invocations=== | ||
− | + | The receiving XIS can query the Task at the sending XIS by using the {{fhir|Task.id}} which is communicated in the [[#Notifications|notification]]: | |
− | GET base/Task | + | GET base/Task/[Task.id] |
− | '''Note | + | '''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: | The receiving XIS can update a Task hosted by the sending XIS using a PUT operation: | ||
− | PUT base/Task/[id] | + | 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. | 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. | ||
===Notifications=== | ===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, | + | 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 {{fhir|Task.id}} to the receiving XIS. |
− | A straightforward implementation for this notification mechanism is for the notifying party to make an empty POST request on a pre-determined endpoint at the party that should be notified. | + | 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 {{fhir|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. | ||
==Use of the Composition resource== | ==Use of the Composition resource== | ||
− | The | + | The nursing handoff (Overdrachtsbericht) is 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 [[#Task|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. |
===Composition invocations=== | ===Composition invocations=== | ||
The receiving XIS MAY use either of the following mechanism for retrieving the individual FHIR resources referenced in the Compostion resource. | 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 {{fhir|$document}} operation to retrieve both the Composition ''and'' all referenced resources as a single document Bundle.<br/><pre>GET [base]/Composition/[id]/$document</pre>''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. | + | ; As a Document: The receiving XIS uses the {{fhir|$document}} operation to retrieve both the Composition ''and'' all referenced resources as a single document Bundle.<br/><pre>GET [base]/Composition/[Composition.id]/$document</pre>''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<br/><pre>GET [base]/Compositon/[id]</pre>Then the necessary other resources referenced can be fetched using a <code>GET</code> interaction. | + | ; Individual requests: The receiving XIS first retrieves the Composition resource<br/><pre>GET [base]/Compositon/[Composition.id]</pre>Then the necessary other resources referenced can be fetched using a <code>GET</code> interaction. |
The sending XIS SHALL support both mechanisms. | The sending XIS SHALL support both mechanisms. | ||
+ | |||
+ | ===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 nursing handoff, in the following way: | ||
+ | ** An additional {{fhir|Composition.section}} is created, with {{fhir|.section.code}} set to SNOMED CT/{{term|703852005}} (Narrative comment section). | ||
+ | ** In this section, there is a single {{fhir|.section.entry}}, and it refers to a [http://hl7.org/fhir/stu3/documentreference.html 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 {{fhir|$document}} operation, which could lead to unexpected large data volumes. | ||
==Using Task to manage the workflow== | ==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 | + | 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 workflow are mediated by updates to this Task instance. |
The eOverdracht transactions are mapped to FHIR in the following way: | The eOverdracht transactions are mapped to FHIR in the following way: | ||
Regel 88: | Regel 102: | ||
! colspan=2 | eOverdracht transaction | ! colspan=2 | eOverdracht transaction | ||
! Task | ! Task | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| colspan="2" | Confirm transfer | | colspan="2" | Confirm transfer | ||
Regel 158: | Regel 124: | ||
{| class="wikitable" | {| class="wikitable" | ||
!Normal flow | !Normal flow | ||
− | |||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
− | | [[Bestand: | + | | [[Bestand:2024-04-12-eOverdracht-TransferPhase.svg|none|top]] |
− | |||
|} | |} | ||
− | + | The initial eOverdracht 4.0 version has to be carried out without the negotiation phase, the sending XIS will create the Task instance with {{fhir|Task.status}} already set to {{term|in-progress}} and {{fhir|Task.input:nursingHandoff}} populated. The full eOverdracht Task workflow will be supported but is out of scope for the 4.0 version. | |
− | |||
===Brokers=== | ===Brokers=== | ||
Regel 173: | Regel 136: | ||
=FHIR profiles= | =FHIR profiles= | ||
{{NoteBox|eOverdracht uses the [[FHIR:V1.0_FHIR_IG_STU3#FHIR_Packages|FHIR Packaging mechanism]]. This conveniently bundles all profiles, terminology, example material and other conformance resources you need into a single archive, which can be downloaded or installed using the appropriate FHIR tooling. This version of the information standard uses the following packages: | {{NoteBox|eOverdracht uses the [[FHIR:V1.0_FHIR_IG_STU3#FHIR_Packages|FHIR Packaging mechanism]]. This conveniently bundles all profiles, terminology, example material and other conformance resources you need into a single archive, which can be downloaded or installed using the appropriate FHIR tooling. This version of the information standard uses the following packages: | ||
− | * [https://simplifier.net/packages/nictiz.fhir.nl.stu3.eoverdracht nictiz.fhir.nl.stu3.eoverdracht, version | + | * [https://simplifier.net/packages/nictiz.fhir.nl.stu3.eoverdracht nictiz.fhir.nl.stu3.eoverdracht, version {{VersieInfo|nictiz.fhir.nl.stu3.eoverdracht|release=V4.0}}] |
* [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017 nictiz.fhir.nl.stu3.zib2017, version 2.1.0 or compatible] | * [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2017 nictiz.fhir.nl.stu3.zib2017, version 2.1.0 or compatible] | ||
− | * [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2020-preadopt nictiz.fhir.nl.stu3.zib2020-preadopt, version | + | * [https://simplifier.net/packages/nictiz.fhir.nl.stu3.zib2020-preadopt nictiz.fhir.nl.stu3.zib2020-preadopt, version {{VersieInfo|nictiz.fhir.nl.stu3.zib2020-preadopt|release=V4.0}}] |
'''Note''': packages use [https://semver.org/ Semantic Versioning]. Other versions can be used at will as long as they have the same ''major.minor'' number or a ''minor'' number higher than the stated version.}} | '''Note''': packages use [https://semver.org/ Semantic Versioning]. Other versions can be used at will as long as they have the same ''major.minor'' number or a ''minor'' number higher than the stated version.}} | ||
− | ==Infrastructure== | + | ==Example resources== |
+ | Examples for the profiles above can be found in the FHIR packages [[#FHIR profiles|defined above]]. Additionally, instances for the [[vpk:Vprepub-4.0_Testen|test scenarios]] can be found on [https://github.com/Nictiz/Nictiz-testscripts/tree/main/src/eOverdracht-4-0/Test/_reference/resources Github]. | ||
+ | ==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. | 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. | ||
{| class="wikitable" | {| class="wikitable" | ||
Regel 185: | Regel 150: | ||
|- | |- | ||
| eOverdracht Task | | eOverdracht Task | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/eOverdracht-Task|nictiz.fhir.nl.stu3.eoverdracht|pkgVersion= | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/eOverdracht-Task|nictiz.fhir.nl.stu3.eoverdracht|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.eoverdracht|release=V4.0}}}} |
− | |||
− | |||
− | |||
|- | |- | ||
| Composition for nursing handoff adults (Overdrachtsbericht volwassenen) | | Composition for nursing handoff adults (Overdrachtsbericht volwassenen) | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/eOverdracht-NursingHandoff-Adults|nictiz.fhir.nl.stu3.eoverdracht|pkgVersion= | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/eOverdracht-NursingHandoff-Adults|nictiz.fhir.nl.stu3.eoverdracht|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.eoverdracht|release=V4.0}}}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | == | + | ==HCIM profiles== |
The following table lists the FHIR profiles that implement the HCIMs used within eOverdracht. | The following table lists the FHIR profiles that implement the HCIMs used within eOverdracht. | ||
{| class="wikitable" | {| class="wikitable" | ||
Regel 206: | Regel 162: | ||
!style="background-color: #4AB8A7; color: white; font-weight: bold; text-align:left; background-color: #E3E3E3 width:50px" | FHIR profile | !style="background-color: #4AB8A7; color: white; font-weight: bold; text-align:left; background-color: #E3E3E3 width:50px" | FHIR profile | ||
!style="background-color: #4AB8A7; color: white; font-weight: bold; text-align:left; background-color: #E3E3E3 width:50px" | Remark | !style="background-color: #4AB8A7; color: white; font-weight: bold; text-align:left; background-color: #E3E3E3 width:50px" | Remark | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| Alert | | Alert | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Alert|nictiz.fhir.nl.stu3.zib2017}} | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Alert|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
| | | | ||
|- | |- | ||
− | | | + | | AllergyIntolerance |
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib- | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-AllergyIntolerance|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | |||
− | |||
− | |||
− | | {{ | ||
− | |||
− | |||
− | |||
− | |||
| | | | ||
|- | |- | ||
| Betaler | | Betaler | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Payer|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Payer|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | |||
− | | | ||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
|- | |- | ||
| Bloeddruk | | Bloeddruk | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-BloodPressure|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-BloodPressure|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | |||
− | |||
− | |||
− | | {{ | ||
− | |||
− | |||
− | |||
− | |||
| | | | ||
|- | |- | ||
| Contact | | Contact | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/eOverdracht-Encounter|nictiz.fhir.nl.stu3.eoverdracht}} | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/eOverdracht-Encounter|nictiz.fhir.nl.stu3.eoverdracht|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.eoverdracht|release=V4.0}}}} |
| Contains an extra text field to describe the reason for the contact | | Contains an extra text field to describe the reason for the contact | ||
|- | |- | ||
| Contactpersoon | | Contactpersoon | ||
− | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-relatedperson|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-relatedperson|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | |||
− | |||
− | |||
− | | {{ | ||
| | | | ||
|- | |- | ||
| Datum overplaatsing | | Datum overplaatsing | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/eOverdracht-TransferDate|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/eOverdracht-TransferDate|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| Lichaamsgewicht | | Lichaamsgewicht | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-BodyWeight|nictiz.fhir.nl.stu3.zib2017}} | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-BodyWeight|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
| | | | ||
|- | |- | ||
| Lichaamslengte | | Lichaamslengte | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-BodyHeight|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-BodyHeight|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | |||
− | |||
− | |||
− | | {{ | ||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
|- | |- | ||
| Patient | | Patient | ||
− | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-patient|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-patient|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | |||
− | |||
− | |||
− | | {{ | ||
− | |||
− | |||
− | |||
− | |||
| | | | ||
|- | |- | ||
| Probleem | | Probleem | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Problem|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-Problem|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
|- | |- | ||
| Voedingsadvies | | Voedingsadvies | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-NutritionAdvice|nictiz.fhir.nl.stu3.zib2017}} | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-NutritionAdvice|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
| | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| Wilsverklaring | | Wilsverklaring | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-AdvanceDirective|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-AdvanceDirective|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
|- | |- | ||
| Woonsituatie | | Woonsituatie | ||
− | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-LivingSituation|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-LivingSituation|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | |||
− | |||
− | |||
− | | {{ | ||
| | | | ||
|- | |- | ||
| Zorgaanbieder | | Zorgaanbieder | ||
− | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-organization|nictiz.fhir.nl.stu3.zib2017}} | + | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-organization|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
| | | | ||
|- | |- | ||
| rowspan="2" | Zorgverlener | | rowspan="2" | Zorgverlener | ||
− | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-practitioner|nictiz.fhir.nl.stu3.zib2017}} | + | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-practitioner|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
| rowspan="2" | | | rowspan="2" | | ||
|- | |- | ||
− | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-practitionerrole|nictiz.fhir.nl.stu3.zib2017 | + | | {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-practitionerrole|nictiz.fhir.nl.stu3.zib2017|pkgVersion={{VersieInfo|nictiz.fhir.nl.stu3.zib2017|release=V4.0}}}} |
− | | | ||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} |
Huidige versie van 23 apr 2024 om 13:52
1 Introduction
This is the implementation guide for the information standard eOverdracht, version 4.0. 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
Although the eOverdracht is currently limited to the transfer of the nursing handoff, the ultimate vision is to have a workflow which may include the negotiation of the transfer of the patient. For this reason, a Task resource is used as the entry point for all data exchanges (see #Use of the Composition resource).
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.
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 nursing handoff (Overdrachtsbericht) is 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 aGET
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 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.
- An additional
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 workflow are mediated by updates to this Task instance.
The eOverdracht transactions are mapped to FHIR in the following way:
eOverdracht transaction | Task | |
---|---|---|
Confirm transfer |
| |
Send nursing handoff |
| |
Send confirmation of nursing handoff |
|
The following sequence diagrams illustrate the relevant exchanges and state transitions:
Normal flow |
---|
The initial eOverdracht 4.0 version 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. The full eOverdracht Task workflow will be supported but is out of scope for the 4.0 version.
3.4.1 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
eOverdracht uses the FHIR Packaging mechanism. This conveniently bundles all profiles, terminology, example material and other conformance resources you need into a single archive, which can be downloaded or installed using the appropriate FHIR tooling. This version of the information standard uses the following packages:
Note: packages use Semantic Versioning. Other versions can be used at will as long as they have the same major.minor number or a minor number higher than the stated version. |
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 nursing handoff adults (Overdrachtsbericht volwassenen) | http://nictiz.nl/fhir/StructureDefinition/eOverdracht-NursingHandoff-Adults |
4.3 HCIM profiles
The following table lists the FHIR profiles that implement the HCIMs used within eOverdracht.