Gebz:V1.0 FHIR IG: verschil tussen versies

Uit informatiestandaarden
Naar navigatie springen Naar zoeken springen
 
(84 tussenliggende versies door 3 gebruikers niet weergegeven)
Regel 1: Regel 1:
{{IssueBox|Dit materiaal is in ontwikkeling en nog niet geschikt voor gebruik!}}
+
{{DISPLAYTITLE:FHIR Implementation Guide BirthCare v1.0 | FHIR Implementation Guide BirthCare}}
{{#customtitle:FHIR Implementation Guide Geboortezorg v2.3 | FHIR Implementation Guide Geboortezorg v2.3}}
 
 
<imagemap>Bestand:Afsprakenstelsel-functioneel-technisch-banner_00_alle.png|center|500px|alt=Afspraken-Functioneel-Technisch   
 
<imagemap>Bestand:Afsprakenstelsel-functioneel-technisch-banner_00_alle.png|center|500px|alt=Afspraken-Functioneel-Technisch   
 
circle 241 216 211 [[Gebz:V2.3_Babyconnect | Afsprakenstelsel]]
 
circle 241 216 211 [[Gebz:V2.3_Babyconnect | Afsprakenstelsel]]
 
circle 1013 224 212 [[Gebz:V2.3_Ontwerpen | Functioneel]]                 
 
circle 1013 224 212 [[Gebz:V2.3_Ontwerpen | Functioneel]]                 
circle 1787 230 212 [[Gebz:V2.3_FHIR_IG | Technisch]]                 
+
circle 1787 230 212 [[Gebz:V1.0_FHIR_IG | Technisch]]                 
 
desc none                     
 
desc none                     
 
</imagemap>
 
</imagemap>
 +
{{IssueBox|Er is een [[Gebz:V1.1_FHIR_IG | latere versie ]] van deze gids beschikbaar!}}
 
=Introduction=
 
=Introduction=
  
This page details the HL7 FHIR requirements for exchanging the Geboortezorg v2.3 data described in [[Gebz:V2.3_Ontwerpen | Functioneel]].
+
This page details the HL7 FHIR requirements for exchanging the BirthCare (Geboortezorg) data.
  
A high level overview:
+
The functional view for BirthCare (Geboortezorg) 2.3 is described in [[Gebz:V2.3_Ontwerpen | Functioneel]]. Functional specifications for other datasets will follow.
  
[[Bestand:Fhir-model-overview.png]]
+
The FHIR Implementation Guide for BirthCare is '''independent of the functional specifications'''. We expect the FHIR BirthCare IG to be compliant with datasets 2.3, 3.1 and 3.2. We do expect backwards compatible additions to the FHIR BirthCare IG for the latter datasets. The FHIR BirthCare IG does contain '''version-specific mappings''' to the various datasets, for now only 2.3 mappings.
  
=Use case: Register Prio1 data=
+
Technical details of the FHIR resources and structure definitions described in this Implementation Guide (IG) can be found in the [https://simplifier.net/geboortezorg-stu3 Simplifier Geboortezorg STU3 project]. This IG provides links to the required resources and structure definitions for each use case.
  
==Introduction==
+
A high level overview:
The Register Prio1 transaction is used by the sending XIS to send the relevant data to the registry.
 
  
==Actors==
+
[[Bestand:Fhir-model-overview.png]]
{| class="wikitable" "cellpadding="10"
 
! style="text-align:left;"| '''Transaction group'''
 
! style="text-align:left;"| '''Transaction'''
 
! style="text-align:left;"| '''Actor'''
 
! style="text-align:left;"| '''Role'''
 
|-
 
|style="background-color: white;vertical-align:top;"|Register Prio1(PUSH)
 
|style="background-color: white;vertical-align:top;"|Register Prio1
 
|style="background-color: white;vertical-align:top;"|Healthcare professional (using a XIS)
 
|style="background-color: white;vertical-align:top;"|Sends Prio1 data to registry
 
|-
 
|style="background-color: white;vertical-align:top;"|Retrieve Prio1(PULL)
 
|style="background-color: white;vertical-align:top;"|Querying XIS
 
|style="background-color: white;vertical-align:top;"|Healthcare professional (using a XIS)
 
|style="background-color: white;vertical-align:top;"|Retrieves Prio1 data from registry
 
|}
 
  
==Invocations==
+
=FHIR Resources and StructureDefinitions=
 
+
==Types of resources and relations between them==
===Sending XIS: request message===
+
For Observations, which are often very similar, we follow patterns: an implementer will only need to implement the pattern and an associated table with codes, and be able to support all Observations. So for Observations pertaining to a particular pregnancy (not to the woman - she may have multiple pregnancies on record, neither to the delivery) all Observations will link to the Pregnancy Condition. So instead of having to inspect StructureDefinitions separately for each pregnancy observations, following a single pattern will do. The pattern has it's own StructureDefinition, so the FHIR profile is still complete. Likewise Observations for the mother, delivery and child follow patterns. See links below.
 
 
====Trigger Events====
 
 
 
====Message Semantics====
 
The source executes two HTTP requests:
 
 
 
=====1. HTTP POST request=====
 
A HTTP POST request of a Bundle with Bundle.type = transaction to the target's base endpoint. The first Bundle.entry contains a [https://simplifier.net/geboortezorg-stu3/bc-transactioncomposition Composition] resource, and each subsequent entry contains a resource that is referenced from the Composition resource.
 
 
 
<pre>
 
POST [base]{&_format=[mime-type]}
 
</pre>
 
 
 
Each Bundle.entry shall contain an entry.request with request.method = PUT. Each Bundle.entry shall contain either:
 
# A client assigned UUID in the entry.resource and the entry.request.url
 
# A conditional reference in the entry.fullUrl and the entry.request.url
 
 
 
The first applies to resources (e.g. Observations) of which multiple instances are allowed to live on the server.
 
 
 
The second applies to resources (e.g. Patients) for which no duplicates are allowed, e.g. by identifier. Please note that resource instances with conditional references are only created when no resource instance on the server meets the condition, updated when one such an instance exists and the transaction is fully rejected when multiple resource instances meet the condition. Also note that the internal references in the transaction pointing to these kind of resource instances are conditional ones.
 
 
 
Below are examples of transaction Bundles for the prio1 transaction:
 
* [https://simplifier.net/geboortezorg-stu3/bundle-example Current pregnancy]
 
* [https://simplifier.net/geboortezorg-stu3/bundle-example-duplicate-2 Previous pregnancy]
 
 
 
=====2. HTTP GET request=====
 
A HTTP GET request to the target's Composition endpoint, handling the createDocumentOperation with persist=true. The target's response is a FHIR Document Bundle, which is generated from the Composition resource and stored to the target's Bundle endpoint.
 
 
 
<pre>
 
GET [base]/Composition/[id]/$document?persist=true{&_format=[mime-type]}
 
</pre>
 
 
 
===Retrieving XIS: request message===
 
FHIR Document Bundles can be retrieved by a HTTP GET request to the target's Bundle endpoint. Note that FHIR Document Bundles are immutable and its entries refer to a time-related version of a resource which is not necessarily its latest version.
 
 
 
<pre>
 
GET [base]/Bundle/[id]{&_format=[mime-type]}
 
</pre>
 
 
 
Individual resources can be retrieved by HTTP GET requests to specific resource endpoints, see the Search section and list of StructureDefinitions below.
 
 
 
=== Examples ===
 
Example FHIR resources can be found here: [https://simplifier.net/geboortezorg-stu3/~resources?category=Example&sortBy=RankScore_desc]
 
 
 
=== Search ===
 
Example search URLs can be found in the list of StructureDefinitions below. Some searches require the implementation of custom search parameters. These parameters can be found here: https://simplifier.net/geboortezorg-stu3/~resources?category=SearchParameter
 
 
 
==FHIR Resources and StructureDefinitions==
 
 
 
===Graphical overview===
 
The following link [[Media:FHIR Geboortezorg Profielen Prio1 29-04-2020.png]] provides a graphical overview of the structure definitions and their relations.
 
 
 
===Types of resources and relations between them===
 
For pregnancy-, delivery- and child related observations detailed information is given, follow links below.
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Regel 101: Regel 30:
 
| '''Description'''
 
| '''Description'''
 
|-
 
|-
|style="background-color: white;vertical-align:top;"|Woman (Vrouw)
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-woman|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Woman (Vrouw)}}
|style="background-color: white;vertical-align:top;"|Patient
 
|style="background-color: white;vertical-align:top;"|The core of each pregnancy is the pregnant woman, a FHIR Patient.
 
|-
 
|style="background-color: white;vertical-align:top;"|Generic resources
 
|style="background-color: white;vertical-align:top;"|Practitioner, PractitionerRole, Organization
 
|style="background-color: white;vertical-align:top;"|Those are not used differently than in other Dutch projects.
 
|-
 
|style="background-color: white;vertical-align:top;"|Pregnancy, Pregnancy file (Zwangerschap, zwangerschapsdossier)
 
|style="background-color: white;vertical-align:top;"|Condition, EpisodeOfCare
 
|style="background-color: white;vertical-align:top;"|Each pregnancy is a Condition. It is also represented as an EpisodeOfCare for each involved Organization. The pregnancy includes references to an Organization and responsible Practitioner. (Practitioners responsible for the actual data may be included there, i.e. in Procedures, Observations.)
 
* Condition points to the EpisodeOfCare through a EpisodeOfCare.context.reference element. (Note: different providers may each have their own Condition resource.)
 
* EpisodeOfCare points to the Condition through a EpisodeOfCare.diagnosis.condition element.
 
* Condition points to the Patient with Condition.subject.reference
 
* Condition.status must be 'active' for ongoing pregnancies and 'inactive' for past ones.
 
|-
 
|style="background-color: white;vertical-align:top;"|Patient-related Observations
 
|style="background-color: white;vertical-align:top;"|Observation
 
|style="background-color: white;vertical-align:top;"|Observations such as blood type pertain to the Patient.
 
* Observations can refer to an EpisodeOfCare with Observation.context.reference
 
|-
 
|style="background-color: white;vertical-align:top;"|[[Gebz:V2.3_FHIR_Recipes#bc-PregnancyObservation|Pregnancy-related Observations]]
 
|style="background-color: white;vertical-align:top;"|Observation
 
|style="background-color: white;vertical-align:top;"|Observations such as gravidity and parity do not (only) pertain to the Patient but to a particular pregnancy.
 
* Pregnancy-related Observations use focus extension to point to Condition they're about. Without this, all gravidities would only be Observations about a Patient.
 
* Pregnancy-related Observations refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|style="background-color: white;vertical-align:top;"|Delivery (Bevalling)
 
|style="background-color: white;vertical-align:top;"|Procedure
 
|style="background-color: white;vertical-align:top;"|Delivery is modeled with Procedure (even for uncomplicated natural births for consistency). A pregnancy can lead to one DeliveryProcedure even in multiple birth. The Patient is the subject.
 
* Delivery refers to the EpisodeOfCare with Procedure.context.reference
 
* Delivery refers to the Pregnancy with Procedure.reasonReference.reference
 
|-
 
|style="background-color: white;vertical-align:top;"|[[Gebz:V2.3_FHIR_Recipes#bc-DeliveryObservation|Delivery-related Observations]]
 
|style="background-color: white;vertical-align:top;"|Observation
 
|style="background-color: white;vertical-align:top;"|Observations such as onset of labor or blood loss pertain to a delivery Procedure.
 
* Delivery-related Observations use focus extension to point to the delivery Procedure they're about.
 
* Delivery-related Observations refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|style="background-color: white;vertical-align:top;"|Birth
 
|style="background-color: white;vertical-align:top;"|Observation
 
|style="background-color: white;vertical-align:top;"|A birth pertains to a delivery Procedure as well as a child, especially in multiple birth where multiple Birth instances point to the same delivery Procedure. A birth also provides the relation between a child and its mother. The mother Patient is the subject of the delivery Procedure and the child Patient is the subject of the birth Procedure, which is part of the delivery Procedure. A pregnancy can lead to one delivery Procedure and multiple birth Procedures.
 
* Birth refers to the delivery Procedure with Procedure.partOf
 
* Birth refers to the EpisodeOfCare with Procedure.context.reference
 
* Delivery refers to the Pregnancy with Procedure.reasonReference.reference
 
|-
 
|style="background-color: white;vertical-align:top;"|[[Gebz:V2.3_FHIR_Recipes#bc-BirthObservation|Birth-related Observations]]
 
|style="background-color: white;vertical-align:top;"|Observation
 
|style="background-color: white;vertical-align:top;"|Observations such as parturition type pertain to a birth. They are also about the mother, which still is the subject.
 
* Birth-related Observations use focus extension to point to a birth.
 
* Birth-related Observations refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|style="background-color: white;vertical-align:top;"|Obstetric Procedures
 
|style="background-color: white;vertical-align:top;"|Procedure
 
|style="background-color: white;vertical-align:top;"|Obstetric Procedures, such as vacuum delivery, are Procedures conducted as part of a birth or delivery Procedure, depending on whether the obstetric procedure is child-related or patient-related.
 
* Obstetric Procedures use Procedure.partOf element to point to the delivery or birth Procedure they're part of.
 
* Obstetric Procedures refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|style="background-color: white;vertical-align:top;"|Child
 
|style="background-color: white;vertical-align:top;"|Patient
 
|style="background-color: white;vertical-align:top;"|Child is a separate Patient.
 
* Procedure-related Observations use focus extension to point to the child Patient they're about.
 
|-
 
|style="background-color: white;vertical-align:top;"|[[Gebz:V2.3_FHIR_Recipes#bc-ChildObservation|Child-related Observations]]
 
|style="background-color: white;vertical-align:top;"|Observation
 
|style="background-color: white;vertical-align:top;"|Observations such as Apgar score and birthweight pertain to the child Patient, which is the subject of these Observations.
 
* Child observations refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|}
 
 
 
The use of ''focus'' extensions is a pre-adopt of FHIR R4, where it is part of Observation: "What the observation is about, when it is not about the subject of record." Focus is required for all Observations which do not pertain to the Patient. In R4, use of focus permits "reverse include" queries (give me all Observations with focus element X). In STU3, this could be a custom search.
 
 
 
The use of ''context'' is encouraged for all resources which have a context element. It is a reference to an EpisodeOfCare or an Encounter. Context should point to an Encounter when appropriate (scheduled maternity checks etc.) and to the EpisodeOfCare in all other cases. Possibly it will be absent in Observations where the source is not birth care, so readers should not rely on it's presence.
 
 
 
Observations should include a performer if known.
 
 
 
===List of StructureDefinitions===
 
Please note that many birth care specific profiles are derived from nl-core profiles (e.g. bc-PregnancyObservation is derived from nl-core-observation) to support (re)use of profiles in multiple use cases. The meta.profile element of FHIR instances conforming these profiles should at least include the generic nl-core profile and preferably the specific birth care profile.
 
 
 
{| class="wikitable"
 
|-
 
| '''Name'''
 
| '''PWD 2.3 id'''
 
| '''FHIR Profile'''
 
| '''FHIR Example'''
 
| '''Example SEARCH URL'''
 
|-
 
|Vrouw
 
|
 
|[https://simplifier.net/geboortezorg-stu3/bc-Woman bc-Woman] (nl-core-patient)
 
|[https://simplifier.net/geboortezorg-stu3/patient-example-duplicate-3 Patient]
 
|<pre>GET [base]/Patient/[vrouwid]
 
GET [base]/Patient?identifier=[bsn]</pre>
 
|-
 
|Zorgverlener
 
|
 
|[https://simplifier.net/nictizstu3-zib2017/nl-core-practitioner nl-core-practitioner]
 
|[https://simplifier.net/geboortezorg-stu3/practitioner-example-duplicate-2 Practitioner]
 
|<pre>GET [base]/Practitioner/[zorgverlenerid]
 
GET [base]/Practitioner?identifier=[lvrid]</pre>
 
|-
 
|Zorginstelling
 
|
 
|[https://simplifier.net/nictizstu3-zib2017/nl-core-organization nl-core-organization]
 
|[https://simplifier.net/geboortezorg-stu3/organization-example-duplicate-2 Organization]
 
|<pre>GET [base]/Organization/[zorginstellingid]
 
GET [base]/Organization?identifier=[lvrid]</pre>
 
|-
 
|Zorgverlenerrol
 
|
 
|[https://simplifier.net/nictizstu3-zib2017/nl-core-practitionerrole nl-core-practitionerrole]
 
|[https://simplifier.net/geboortezorg-stu3/practitionerrole-example PractitionerRole]
 
|<pre>GET [base]/PractitionerRole/[zorgverlenerrolid]
 
GET [base]/PractitionerRole?practitioner:Practitioner.identifier=[lvrid]</pre>
 
|-
 
|Zwangerschapsdossier
 
|
 
|[https://simplifier.net/geboortezorg-stu3/bc-maternalrecord bc-MaternalRecord] (nl-core-episodeofcare)
 
|[https://simplifier.net/geboortezorg-stu3/episodeofcare-example-duplicate-2 EpisodeOfCare]
 
|<pre>GET [base]/EpisodeOfCare/[dossierid]
 
GET [base]/Observation,Condition,Procedure?context=[dossierid]
 
GET [base]/Observation,Condition,Procedure?context:EpisodeOfCare.condition:Condition.clinical-status=active</pre>
 
|-
 
|Zwangerschap
 
|peri23-dataelement-3
 
|[https://simplifier.net/nictizstu3-zib2017-develop/zibpregnancy zib-Pregnancy]
 
|[https://simplifier.net/geboortezorg-stu3/condition-example-duplicate-10 Condition]
 
|<pre>GET [base]/Condition/[zwangerschapid]
 
GET [base]/Condition?clinicalstatus=active
 
GET [base]/Condition?clinicalstatus=inactive&_sort=_-id&_count=1
 
GET [base]/Condition?subject=[patientid]&_revinclude=Observation:focus</pre>
 
|-
 
|Bloedgroep vrouw
 
|peri23-dataelement-10810
 
|[https://simplifier.net/nictizstu3-zib2017/zib-laboratorytestresult-observation zib-LaboratoryTestResult-Observation]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-79 Observation]
 
|<pre>GET [base]/Observation?code=883-9{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|Rhesus D Factor vrouw
 
|peri23-dataelement-10811
 
|
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-81 Observation]
 
|<pre>GET [base]/Observation?code=1305-2{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|Rhesus c Factor
 
|peri23-dataelement-10816
 
|
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-82 Observation]
 
|<pre>GET [base]/Observation?code=1159-3{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|Hb waarde
 
|peri23-dataelement-10814
 
|
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-80 Observation]
 
|<pre>GET [base]/Observation?code=718-7{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|A terme datum
 
|peri23-dataelement-20030
 
|[https://simplifier.net/nictizstu3-zib2017-develop/zibpregnancytermdate zib-Pregnancy-DueDate]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-83 Observation]
 
|<pre>GET [base]/Observation?code=11778-8{&subject=[vrouwid]&context=[dossierid]&focus=[zwangerschapid]}</pre>
 
|-
 
|Graviditeit
 
|peri23-dataelement-20010
 
|[https://simplifier.net/nictizstu3-zib2017-develop/zibpregnancygravidity zib-Pregnancy-Gravidity]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-84 Observation]
 
|<pre>GET [base]/Observation?code=11996-6{&subject=[vrouwid]&context=[dossierid]&focus=[zwangerschapid]}</pre>
 
|-
 
|Pariteit
 
|peri23-dataelement-20150
 
|[https://simplifier.net/nictizstu3-zib2017-develop/zibpregnancyparity zib-Pregnancy-Parity]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-88 Observation]
 
|<pre>GET [base]/Observation?code=11977-6{&subject=[vrouwid]&context=[dossierid]&focus=[zwangerschapid]}</pre>
 
|-
 
|Wijze einde zwangerschap
 
|peri23-dataelement-80625
 
|[https://simplifier.net/geboortezorg-stu3/bc-pregnancyobservation bc-PregnancyObservation] (nl-core-observation)
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-72 Observation]
 
|<pre>GET [base]/Observation?code=EindeZw{&subject=[vrouwid]&context=[dossierid]&focus=[zwangerschapid]}</pre>
 
|-
 
|Datum einde zwangerschap
 
|peri23-dataelement-20540
 
|
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-69 Observation]
 
|<pre>GET [base]/Observation?code=xxx{&subject=[vrouwid]&context=[dossierid]&focus=[zwangerschapid]}</pre>
 
|-
 
|Bevalling
 
|peri23-dataelement-6
 
|[https://simplifier.net/geboortezorg-stu3/bc-deliveryprocedure bc-DeliveryProcedure]
 
|[https://simplifier.net/geboortezorg-stu3/procedure-example-duplicate-3 Procedure]
 
|<pre>GET [base]/Procedure?code=236973005{&subject=[vrouwid]&context=[dossierid]&reasonReference=[zwangerschapid]}</pre>
 
|-
 
|Vaginale kunstverlossing
 
|peri23-dataelement-40190
 
|[https://simplifier.net/geboortezorg-stu3/bc-ObstetricProcedure bc-ObstetricProcedure]
 
|[https://simplifier.net/geboortezorg-stu3/procedure-example-duplicate-5 Procedure]
 
|<pre>GET [base]/Procedure?code=3311000146109{&subject=[vrouwid]&context=[dossierid]&partof=[bevallingid,uitdrijvingsfaseid]}</pre>
 
|-
 
|Tijdstip begin actieve ontsluiting
 
|peri23-dataelement-20590
 
|[https://simplifier.net/geboortezorg-stu3/bc-deliveryobservation bc-DeliveryObservation] (nl-core-observation)
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-63 Observation]
 
|<pre>GET [base]/Observation?code=249120008{&subject=[vrouwid]&context=[dossierid]&focus=[bevallingid]}</pre>
 
|-
 
|Hoeveelheid bloedverlies
 
|peri23-dataelement-20640
 
|
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-55 Observation]
 
|<pre>GET [base]/Observation?code=64332008{&subject=[vrouwid]&context=[dossierid]&focus=[bevallingid]}</pre>
 
|-
 
|Conditie perineum postpartum
 
|peri23-dataelement-80673
 
|
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-75 Observation]
 
|<pre>GET [base]/Observation?code=364297003{&subject=[vrouwid]&context=[dossierid]&focus=[bevallingid]}</pre>
 
|-
 
|Geboorte
 
|
 
|[https://simplifier.net/geboortezorg-stu3/bc-birth bc-Birth]
 
|[https://simplifier.net/geboortezorg-stu3/procedure-example-duplicate-4 Procedure]
 
|<pre>GET [base]/Observation?code=3950001{&subject=[vrouwid]&context=[dossierid]&focus=[geboorteid]&focus=[kindid]}</pre>
 
|-
 
|Tijdstip actief meepersen
 
|peri23-dataelement-30030
 
|[https://simplifier.net/geboortezorg-stu3/bc-birthobservation bc-BirthObservation] (nl-core-observation)
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-65 Observation]
 
|<pre>GET [base]/Observation?code=249163006{&subject=[vrouwid]&context=[dossierid]&focus=[geboorteid]}</pre>
 
|-
 
|Type partus
 
|peri23-dataelement-80626
 
|
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-67 Observation]
 
|<pre>GET [base]/Observation?code=364336006{&subject=[vrouwid]&context=[dossierid]&focus=[geboorteid]}</pre>
 
|-
 
|Kind
 
|
 
|[https://simplifier.net/geboortezorg-stu3/bc-Child bc-Child] (of nl-core-patient)
 
|[https://simplifier.net/geboortezorg-stu3/patient-example Patient]
 
|<pre>GET [base]/Patient/[kindid]</pre>
 
|-
 
|Geboortedatum
 
|peri23-dataelement-40050
 
|[https://simplifier.net/geboortezorg-stu3/bc-Child bc-Child] (of nl-core-patient)
 
|[https://simplifier.net/geboortezorg-stu3/patient-example-duplicate-4 Patient.birthdate]
 
|<pre>GET [base]/Patient/[kindid]</pre>
 
|-
 
|Apgarscore na 5 min.
 
|peri23-dataelement-40071
 
|[https://simplifier.net/NictizSTU3-Zib2017-Develop/ZibApgarScore zib-ApgarScore]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-77 Observation]
 
|<pre>GET [base]/Observation?code=9274-2{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Geboortegewicht
 
|peri23-dataelement-40060
 
|[https://simplifier.net/geboortezorg-stu3/bc-BirthWeight bc-BirthWeight]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-29 Observation]
 
|<pre>GET [base]/Observation?code=29463-7{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Transactie/scenario
 
|
 
|[https://simplifier.net/geboortezorg-stu3/bc-transactioncomposition bc-TransactionComposition]
 
|[https://simplifier.net/geboortezorg-stu3/bundle-example Composition in Bundle]
 
|<pre>GET [base]/Composition/[compositionid]
 
GET [base]/Bundle/[documentid]</pre>
 
|}
 
 
 
==Terminology, NamingSystems, Mappings==
 
 
 
===Terminology===
 
Relevant value sets can be found [https://simplifier.net/Geboortezorg-STU3/~resources?category=ValueSet here]. All resources can be downloaded in a .zip in XML or JSON format. In the .zip, the value sets are stored in the directory 'value sets'.
 
 
 
=Use case: Register Parturition Record=
 
 
 
==Introduction==
 
The Register Parturition Record transaction is used by the sending XIS to send the relevant data to the registry.
 
 
 
==Actors==
 
{| class="wikitable" "cellpadding="10"
 
! style="text-align:left;"| '''Transaction group'''
 
! style="text-align:left;"| '''Transaction'''
 
! style="text-align:left;"| '''Actor'''
 
! style="text-align:left;"| '''Role'''
 
|-
 
|style="background-color: white;vertical-align:top;"|Register Parturition Record(PUSH)
 
|style="background-color: white;vertical-align:top;"|Register Parturition Record
 
|style="background-color: white;vertical-align:top;"|Healthcare professional (using a XIS)
 
|style="background-color: white;vertical-align:top;"|Sends Parturition Record data to registry
 
|-
 
|style="background-color: white;vertical-align:top;"|Retrieve Parturition Record(PULL)
 
|style="background-color: white;vertical-align:top;"|Querying XIS
 
|style="background-color: white;vertical-align:top;"|Healthcare professional (using a XIS)
 
|style="background-color: white;vertical-align:top;"|Retrieves Parturition Record data from registry
 
|}
 
 
 
==Invocations==
 
 
 
===Sending XIS: request message===
 
 
 
====Trigger Events====
 
 
 
====Message Semantics====
 
The source executes two HTTP requests:
 
 
 
=====1. HTTP POST request=====
 
A HTTP POST request of a Bundle with Bundle.type = transaction to the target's base endpoint. The first Bundle.entry contains a [https://simplifier.net/geboortezorg-stu3/bc-transactioncomposition Composition] resource, and each subsequent entry contains a resource that is referenced from the Composition resource.
 
 
 
<pre>
 
POST [base]{&_format=[mime-type]}
 
</pre>
 
 
 
Each Bundle.entry shall contain an entry.request with request.method = PUT. Each Bundle.entry shall contain either:
 
# A client assigned UUID in the entry.resource and the entry.request.url
 
# A conditional reference in the entry.fullUrl and the entry.request.url
 
 
 
The first applies to resources (e.g. Observations) of which multiple instances are allowed to live on the server.
 
 
 
The second applies to resources (e.g. Patients) for which no duplicates are allowed, e.g. by identifier. Please note that resource instances with conditional references are only created when no resource instance on the server meets the condition, updated when one such an instance exists and the transaction is fully rejected when multiple resource instances meet the condition. Also note that the internal references in the transaction pointing to these kind of resource instances are conditional ones.
 
 
 
Below are examples of transaction Bundles for the prio1 transaction:
 
* [https://simplifier.net/geboortezorg-stu3/bundle-example Current pregnancy]
 
* [https://simplifier.net/geboortezorg-stu3/bundle-example-duplicate-2 Previous pregnancy]
 
 
 
=====2. HTTP GET request=====
 
A HTTP GET request to the target's Composition endpoint, handling the createDocumentOperation with persist=true. The target's response is a FHIR Document Bundle, which is generated from the Composition resource and stored to the target's Bundle endpoint.
 
 
 
<pre>
 
GET [base]/Composition/[id]/$document?persist=true{&_format=[mime-type]}
 
</pre>
 
 
 
===Retrieving XIS: request message===
 
FHIR Document Bundles can be retrieved by a HTTP GET request to the target's Bundle endpoint. Note that FHIR Document Bundles are immutable and its entries refer to a time-related version of a resource which is not necessarily its latest version.
 
 
 
<pre>
 
GET [base]/Bundle/[id]{&_format=[mime-type]}
 
</pre>
 
 
 
Individual resources can be retrieved by HTTP GET requests to specific resource endpoints, see the Search section and list of StructureDefinitions below.
 
 
 
=== Examples ===
 
Example FHIR resources can be found here: [https://simplifier.net/geboortezorg-stu3/~resources?category=Example&sortBy=RankScore_desc]
 
 
 
=== Search ===
 
Example search URLs can be found in the list of StructureDefinitions below.
 
 
 
==FHIR Resources and StructureDefinitions==
 
 
 
===Graphical overview===
 
 
 
===Types of resources and relations between them===
 
For pregnancy-, delivery- and child related observations detailed information is given, follow links below.
 
{| class="wikitable"
 
|-
 
| '''Name'''
 
| '''FHIR resource'''
 
| '''Description'''
 
|-
 
|Woman (Vrouw)
 
 
|Patient
 
|Patient
 
|The core of each pregnancy is the pregnant woman, a FHIR Patient.
 
|The core of each pregnancy is the pregnant woman, a FHIR Patient.
 
|-
 
|-
|Partner
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-maternalobservation|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Maternal Observation (Bevinding vrouw)}}
 +
|Observation
 +
|Observations and findings related to the woman, before, during or after pregnancy childbirth. Examples are risk status or maternal ultrasound observations.
 +
|-
 +
|{{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-relatedperson|nictiz.fhir.nl.stu3.zib2017|pkgVersion=2.0.0|title=Partner}}
 
|RelatedPerson
 
|RelatedPerson
 
|The partner of the pregnant woman (not necessarily the biological father).
 
|The partner of the pregnant woman (not necessarily the biological father).
 
|-
 
|-
 
|Generic resources
 
|Generic resources
|Practitioner, PractitionerRole, Organization
+
|{{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-practitioner|nictiz.fhir.nl.stu3.zib2017|pkgVersion=2.0.0|title=Practitioner}}, {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-practitionerrole|nictiz.fhir.nl.stu3.zib2017|pkgVersion=2.0.0|title=PractitionerRole}}, {{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-organization|nictiz.fhir.nl.stu3.zib2017|pkgVersion=2.0.0|title=Organization}}
 
|Those are not used differently than in other Dutch projects.
 
|Those are not used differently than in other Dutch projects.
 
|-
 
|-
|Referral details
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-referralrequest|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Referral details}}
 
|ReferralRequest
 
|ReferralRequest
 
|Referral details (such as type of referral, reason code, referrer and target of the referral) are described in ReferralRequest. The pregnant woman is the subject, the context is the pregnancy file (EpisodeOfCare).  
 
|Referral details (such as type of referral, reason code, referrer and target of the referral) are described in ReferralRequest. The pregnant woman is the subject, the context is the pregnancy file (EpisodeOfCare).  
 
|-
 
|-
|Involvement pediatrician
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-careteam|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Involvement pediatrician}}
 
|CareTeam
 
|CareTeam
 
|A CareTeam describes the involvement of different care providers, such as a pediatrician.  
 
|A CareTeam describes the involvement of different care providers, such as a pediatrician.  
Regel 480: Regel 57:
 
* The reason of involvement is described in CareTeam.reasonCode
 
* The reason of involvement is described in CareTeam.reasonCode
 
|-
 
|-
|Pregnancy, Pregnancy file (Zwangerschap, zwangerschapsdossier)
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/zib-pregnancy|nictiz.fhir.nl.stu3.zib2017|pkgVersion=2.0.0|title=Pregnancy}}, {{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-maternalrecord|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Maternity Record}}
 
|Condition, EpisodeOfCare
 
|Condition, EpisodeOfCare
 
|Each pregnancy is a Condition. It is also represented as an EpisodeOfCare for each involved Organization. The pregnancy includes references to an Organization and responsible Practitioner. (Practitioners responsible for the actual data may be included there, i.e. in Procedures, Observations.)  
 
|Each pregnancy is a Condition. It is also represented as an EpisodeOfCare for each involved Organization. The pregnancy includes references to an Organization and responsible Practitioner. (Practitioners responsible for the actual data may be included there, i.e. in Procedures, Observations.)  
Regel 488: Regel 65:
 
* Condition.status must be 'active' for ongoing pregnancies and 'inactive' for past ones.
 
* Condition.status must be 'active' for ongoing pregnancies and 'inactive' for past ones.
 
|-
 
|-
|Patient-related Observations
+
|{{Simplifier|http://fhir.nl/fhir/StructureDefinition/nl-core-observation|nictiz.fhir.nl.stu3.zib2017|pkgVersion=2.0.0|title=Patient-related Observations}}
 
|Observation
 
|Observation
 
|Observations such as blood type pertain to the Patient.
 
|Observations such as blood type pertain to the Patient.
 
* Observations can refer to an EpisodeOfCare with Observation.context.reference
 
* Observations can refer to an EpisodeOfCare with Observation.context.reference
 
|-
 
|-
|[[Gebz:V2.3_FHIR_Recipes#bc-PregnancyObservation|Pregnancy-related Observations]]
+
|[[Gebz:V1.0_FHIR_IG_bc-PregnancyObservation|Pregnancy-related Observations]]
 
|Observation
 
|Observation
 
|Observations such as gravidity and parity do not (only) pertain to the Patient but to a particular pregnancy.  
 
|Observations such as gravidity and parity do not (only) pertain to the Patient but to a particular pregnancy.  
Regel 499: Regel 76:
 
* Pregnancy-related Observations refer to the EpisodeOfCare with Observation.context.reference
 
* Pregnancy-related Observations refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|-
|Maternal Preferences
+
|[[Gebz:V1.0_FHIR_IG_bc-DisorderOfPregnancy|Pregnancy-related disorder]]
|List
+
|Condition
|Maternal preferences (such as infant nutrition, delivery location) are grouped in a List of which the woman Patient is the subject.
+
|Conditions such as cholestasis and hypertension do not (only) pertain to the Patient but to a particular pregnancy.
* The maternal preferences list includes references to Maternal Preference Observations in List.entry.item
+
* Pregnancy-related Observations use partOf extension to point to Condition they're about.
 +
* In some cases the partOf Condition may not be available. The BGZ for instance does not relate Conditions to particular pregnancies.
 +
* Pregnancy-related Conditions refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|-
|Maternal Preference Observations
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-childbirthassistance|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Childbirth Assistance}}
|Observation
 
|Maternal Preference Observations are about the preferences of the woman Patient, who is the subject of these Observations.
 
* Maternal Preference Observations refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|Childbirth Assistance
 
 
|Encounter
 
|Encounter
 
|Childbirth Assistance is modeled as an Encounter. The woman Patient is subject of the Encounter.
 
|Childbirth Assistance is modeled as an Encounter. The woman Patient is subject of the Encounter.
Regel 518: Regel 92:
 
* Childbirth Assistance refers to the EpisodeOfCare with Encounter.EpisodeOfCare.reference
 
* Childbirth Assistance refers to the EpisodeOfCare with Encounter.EpisodeOfCare.reference
 
|-
 
|-
|style="background-color: white;vertical-align:top;"|Delivery (Bevalling)
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-deliveryprocedure|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Delivery (Bevalling)}}
|style="background-color: white;vertical-align:top;"|Procedure
+
|Procedure
|style="background-color: white;vertical-align:top;"|Delivery is modeled with Procedure (even for uncomplicated natural births for consistency). A pregnancy can lead to one DeliveryProcedure even in multiple birth. The Patient is the subject.  
+
|Delivery is modeled with Procedure (even for uncomplicated natural births for consistency). A pregnancy can lead to one DeliveryProcedure even in multiple birth. The Patient is the subject.  
 
* Delivery refers to the EpisodeOfCare with Procedure.context.reference
 
* Delivery refers to the EpisodeOfCare with Procedure.context.reference
 
* Delivery refers to the Pregnancy with Procedure.reasonReference.reference
 
* Delivery refers to the Pregnancy with Procedure.reasonReference.reference
 
|-
 
|-
|style="background-color: white;vertical-align:top;"|[[Gebz:V2.3_FHIR_Recipes#bc-DeliveryObservation|Delivery-related Observations]]
+
|[[Gebz:V1.0_FHIR_IG_bc-DeliveryObservation|Delivery-related Observations]]
|style="background-color: white;vertical-align:top;"|Observation
+
|Observation
|style="background-color: white;vertical-align:top;"|Observations such as onset of labor or blood loss pertain to a delivery Procedure.
+
|Observations such as onset of labor or blood loss pertain to a delivery Procedure.
 
* Delivery-related Observations use focus extension to point to the delivery Procedure they're about.
 
* Delivery-related Observations use focus extension to point to the delivery Procedure they're about.
 
* Delivery-related Observations refer to the EpisodeOfCare with Observation.context.reference
 
* Delivery-related Observations refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|-
|Placenta
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-disorderoflaboranddelivery|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Disorder of labor and delivery}}
|BodySite
+
|Condition
|The placenta is a body structure of the woman Patient and is modeled as a BodySite.
+
|Disorders occuring during or after delivery are related to either the Delivery (if pertaining to the mother) or to the Birth (if pertaining to (one of) the children).
* The BodySite.patient element refers to the woman Patient.
+
* A partOf extension is used to point to the Delivery of the Birth.
 +
* context is the Maternal Record or an Encounter.
 
|-
 
|-
|Placenta-related Observations
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-obstetricprocedure|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Obstetric Procedure}}
|Observation
+
|Procedure
|Observations related to the Placenta (such as date/time of birth placenta) use the focus element to refer to the Placenta. The woman Patient is still the subject of the Observation.
+
|
* Placenta-related Observations use focus extension to point to the placenta.
+
|-
* Placenta-related Observations refer to the EpisodeOfCare with Observation.context.reference
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-disorderpostpartum|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Post partum disorder}}
 +
|Condition
 +
|
 
|-
 
|-
|style="background-color: white;vertical-align:top;"|Birth
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-birth|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Birth}}
|style="background-color: white;vertical-align:top;"|Observation
+
|Procedure
|style="background-color: white;vertical-align:top;"|A birth pertains to a delivery Procedure as well as a child, especially in multiple birth where multiple Birth instances point to the same delivery Procedure. A birth also provides the relation between a child and its mother. The mother Patient is the subject of the delivery Procedure and the child Patient is the subject of the birth Procedure, which is part of the delivery Procedure. A pregnancy can lead to one delivery Procedure and multiple birth Procedures.
+
|This groups findings and procedures related to a particular child in a delivery - important in multiple births. A Birth has:
* Birth refers to the delivery Procedure with Procedure.partOf
+
* a partOf extension, pointing to the Delivery
* Birth refers to the EpisodeOfCare with Procedure.context.reference
+
* subject is the Child
* Delivery refers to the Pregnancy with Procedure.reasonReference.reference
+
* context is the Maternal Record EpisodeOfCare
 
|-
 
|-
|style="background-color: white;vertical-align:top;"|[[Gebz:V2.3_FHIR_Recipes#bc-BirthObservation|Birth-related Observations]]
+
|[[Gebz:V1.0_FHIR_IG_bc-BirthObservation|Birth-related Observations]]
|style="background-color: white;vertical-align:top;"|Observation
+
|Observation
|style="background-color: white;vertical-align:top;"|Observations such as parturition type pertain to a birth. They are also about the mother, which still is the subject.
+
|Observations such as parturition type pertain to a birth. They are also about the mother, which still is the subject.
 
* Birth-related Observations use focus extension to point to a birth.
 
* Birth-related Observations use focus extension to point to a birth.
 
* Birth-related Observations refer to the EpisodeOfCare with Observation.context.reference
 
* Birth-related Observations refer to the EpisodeOfCare with Observation.context.reference
 
|-
 
|-
|Child
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-child|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Child}}
 
|Patient
 
|Patient
 
|Child is a separate Patient.  
 
|Child is a separate Patient.  
 
* Procedure-related Observations use focus extension to point to the child Patient they're about.
 
* Procedure-related Observations use focus extension to point to the child Patient they're about.
 
|-
 
|-
|[[Gebz:V2.3_FHIR_Recipes#bc-ChildObservation|Child-related Observations]]
+
|[[Gebz:V1.0_FHIR_IG_bc-ChildObservation|Child-related Observations]]
 
|Observation
 
|Observation
 
|Observations such as Apgar score and birthweight pertain to the child Patient, which is the subject of these Observations.
 
|Observations such as Apgar score and birthweight pertain to the child Patient, which is the subject of these Observations.
 
* Child observations refer to the EpisodeOfCare with Observation.context.reference
 
* Child observations refer to the EpisodeOfCare with Observation.context.reference
 
|-  
 
|-  
|Child disorders
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-disorderofchild|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Child disorders}}
 
|Condition
 
|Condition
 
|Child disorders such as chromosomal and congenital abnormalities or other problems are conditions. The child is the subject.
 
|Child disorders such as chromosomal and congenital abnormalities or other problems are conditions. The child is the subject.
Regel 570: Regel 147:
 
* A ConceptMap is available to map verification status to accepted FHIR codes
 
* A ConceptMap is available to map verification status to accepted FHIR codes
 
|-  
 
|-  
|Digital vaginal examination
+
|colspan="3"|'''Diagnostic Reports (Onderzoeksverslagen)'''
 +
|-
 +
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-combinedtest|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Combined test}}
 +
|DiagnosticReport
 +
|Combined test (combinatietest) verslag. The woman Patient is the subject of the report.
 +
* This report refers to the EpisodeOfCare with DiagnosticReport.context.reference
 +
|-
 +
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-digitalvaginalexamination|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Digital vaginal examination}}
 
|DiagnosticReport
 
|DiagnosticReport
 
|The digital vaginal examination DiagnosticReport groups Observations related to the digital vaginal examination. The woman Patient is the subject of the report.
 
|The digital vaginal examination DiagnosticReport groups Observations related to the digital vaginal examination. The woman Patient is the subject of the report.
* Digital vaginal examination refers to the EpisodeOfCare with DiagnosticReport.context.reference
+
* This report refers to the EpisodeOfCare with DiagnosticReport.context.reference
 
|-  
 
|-  
|Digital vaginal examination Observations
+
|{{Simplifier|http://nictiz.nl/fhir/StructureDefinition/bc-pregnancyultrasound|nictiz.fhir.nl.stu3.geboortezorg|pkgVersion=1.0.0|title=Ultrasound (Echoverslag)}}
|Observation
+
|DiagnosticReport
|Observations related to the digital vaginal examination pertain to the woman Patient, who is the subject of the observation.
+
|The ultrasound groups Observations. The woman Patient is the subject of the report.
* Digital vaginal examination observations refer to the EpisodeOfCare with Observation.context.reference
+
* This report refers to the EpisodeOfCare with DiagnosticReport.context.reference
 
|-  
 
|-  
 
|}
 
|}
Regel 588: Regel 172:
 
Observations should include a performer if known.
 
Observations should include a performer if known.
  
===List of StructureDefinitions===
+
Pattern tables can be found on individual pattern pages and on [[Gebz:V2.3_FHIR_mapping_addendum]].
Please note that many birth care specific profiles are derived from nl-core profiles (e.g. bc-PregnancyObservation is derived from nl-core-observation) to support (re)use of profiles in multiple use cases. The meta.profile element of FHIR instances conforming these profiles should at least include the generic nl-core profile and preferably the specific birth care profile.
+
 
 +
The mapping is also available as an XML file: [https://github.com/Nictiz/Geboortezorg-STU3/blob/master/fhirmapping.xml fhirmapping.xml]
 +
 
 +
=Terminology, NamingSystems, Mappings=
 +
==Terminology==
 +
Relevant value sets can be found [https://simplifier.net/Geboortezorg-STU3/~resources?category=ValueSet here]. All resources can be downloaded in a .zip in XML or JSON format. In the .zip, the value sets are stored in the directory 'value sets'.
  
{| class="wikitable"
+
=BabyConnect Afsprakenstelsel=
 +
The [https://babyconnect.atlassian.net/wiki/spaces/VBC/pages/97813647/VIPP+Babyconnect+Afsprakenstelsel BabyConnect Afsprakenstelsel] describes the BabyConnect architecture, which defines the following modules and transactions.
 +
 
 +
==Modules==
 +
{| class="wikitable" "cellpadding="10"
 +
! style="text-align:left;"| '''Module'''
 +
! style="text-align:left;"| '''Name'''
 +
! style="text-align:left;"| '''Role'''
 
|-
 
|-
| '''Name'''
+
|style="background-color: white;vertical-align:top;"|A
| '''PWD 2.3 id'''
+
|style="background-color: white;vertical-align:top;"|Healthcare information system (XIS)
| '''FHIR Profile'''
+
|style="background-color: white;vertical-align:top;"|Send transaction to module B
| '''FHIR Example'''
 
| '''Example SEARCH URL'''
 
 
|-
 
|-
|rowspan="2" |Vrouw
+
|style="background-color: white;vertical-align:top;"|B1
|rowspan="2" |
+
|style="background-color: white;vertical-align:top;"|Convertor
|rowspan="2" |[https://simplifier.net/geboortezorg-stu3/bc-Woman bc-Woman] (nl-core-patient)
+
|style="background-color: white;vertical-align:top;"|Translates ADA transaction to FHIR transaction Bundle which is sent to module B2
|rowspan="2" |[https://simplifier.net/geboortezorg-stu3/patient-example-duplicate-3 Patient]
 
|<pre>GET [base]/Patient/[vrouwid]</pre>
 
 
|-
 
|-
|<pre>GET [base]/Patient?identifier=[bsn]</pre>
+
|style="background-color: white;vertical-align:top;"|B2
 +
|style="background-color: white;vertical-align:top;"|FHIR server
 +
|style="background-color: white;vertical-align:top;"|Receives and stores FHIR data
 
|-
 
|-
|Partner
+
|style="background-color: white;vertical-align:top;"|C
|peri23-dataelement-80633
+
|style="background-color: white;vertical-align:top;"|Index
|[https://simplifier.net/nictizstu3-zib2017/nl-core-relatedperson nl-core-relatedperson]
+
|style="background-color: white;vertical-align:top;"|Indexes and retrieves FHIR data from module B2
|[https://simplifier.net/geboortezorg-stu3/relatedperson-example-duplicate-2 RelatedPerson]
 
|<pre>GET [base]/RelatedPerson?patient=[vrouwid]</pre>
 
 
|-
 
|-
|rowspan="2" |Zorgverlener
+
|style="background-color: white;vertical-align:top;"|D1
|rowspan="2" |
+
|style="background-color: white;vertical-align:top;"|Query builder
|rowspan="2" |[https://simplifier.net/nictizstu3-zib2017/nl-core-practitioner nl-core-practitioner]
+
|style="background-color: white;vertical-align:top;"|Translates user query to a FHIR query which is sent to module C
|rowspan="2" |[https://simplifier.net/geboortezorg-stu3/practitioner-example-duplicate-2 Practitioner]
 
|<pre>GET [base]/Practitioner/[zorgverlenerid]</pre>
 
 
|-
 
|-
|<pre>GET [base]/Practitioner?identifier=[lvrid]</pre>
+
|style="background-color: white;vertical-align:top;"|D2
 +
|style="background-color: white;vertical-align:top;"|Translator
 +
|style="background-color: white;vertical-align:top;"|Translates FHIR data retrieved from module C back to ADA format
 
|-
 
|-
|rowspan="2" |Zorginstelling
+
|style="background-color: white;vertical-align:top;"|E
|rowspan="2" |
+
|style="background-color: white;vertical-align:top;"|Viewer
|rowspan="2" |[https://simplifier.net/nictizstu3-zib2017/nl-core-organization nl-core-organization]
+
|style="background-color: white;vertical-align:top;"|Collects the data and presents it to the end user
|rowspan="2" |[https://simplifier.net/geboortezorg-stu3/organization-example-duplicate-2 Organization]
+
|}
|<pre>GET [base]/Organization/[zorginstellingid]</pre>
+
 
 +
Module B and D are added to make it easier for XIS and viewer vendors to connect to BabyConnect. XIS and viewer vendors are however encouraged to implement their own FHIR API as module B and D will phase out eventually.
 +
 
 +
==Transactions==
 +
BabyConnect defines the following transactions:
 +
* [https://babyconnect.atlassian.net/wiki/spaces/VBC/pages/102465714/Proces+Publiceren Publish]
 +
* [https://babyconnect.atlassian.net/wiki/spaces/VBC/pages/102564283/Proces+Raadplegen Retrieve]
 +
* [https://babyconnect.atlassian.net/wiki/spaces/VBC/pages/102596965/Proces+Geven+toestemming Authorize]
 +
* [https://babyconnect.atlassian.net/wiki/spaces/VBC/pages/102596948/Proces+Delen Share]
 +
* [https://babyconnect.atlassian.net/wiki/spaces/VBC/pages/103088166/Proces+Verzamelen Collect]
 +
 
 +
=Actors=
 +
{| class="wikitable" "cellpadding="10"
 +
! style="text-align:left;"| '''Transaction group'''
 +
! style="text-align:left;"| '''Transaction'''
 +
! style="text-align:left;"| '''Actor'''
 +
! style="text-align:left;"| '''Role'''
 
|-
 
|-
|<pre>GET [base]/Organization?identifier=[lvrid]</pre>
+
|style="background-color: white;vertical-align:top;"|Publish transaction (PUSH)
 +
|style="background-color: white;vertical-align:top;"|Publish transaction
 +
|style="background-color: white;vertical-align:top;"|Healthcare professional (using a XIS)
 +
|style="background-color: white;vertical-align:top;"|Sends transaction to registry
 
|-
 
|-
|rowspan="2" |Zorgverlenerrol
+
|style="background-color: white;vertical-align:top;"|Retrieve transaction (PULL)
|rowspan="2" |
+
|style="background-color: white;vertical-align:top;"|Retrieve transaction
|rowspan="2" |[https://simplifier.net/nictizstu3-zib2017/nl-core-practitionerrole nl-core-practitionerrole]
+
|style="background-color: white;vertical-align:top;"|Healthcare professional (using a XIS and/or viewer software)
|rowspan="2" |[https://simplifier.net/geboortezorg-stu3/practitionerrole-example PractitionerRole]
+
|style="background-color: white;vertical-align:top;"|Retrieves transaction from registry
|<pre>GET [base]/PractitionerRole/[zorgverlenerrolid]</pre>
 
|-
 
|<pre>GET [base]/PractitionerRole?practitioner:Practitioner.identifier=[lvrid]</pre>
 
|-
 
|rowspan="2" |Verwijsdetails
 
|rowspan="2" |peri23-dataelement-82012
 
|rowspan="2" |[https://simplifier.net/geboortezorg-stu3/bc-referralrequest bc-ReferralRequest]
 
|rowspan="2" |[https://simplifier.net/geboortezorg-stu3/referralrequest-example ReferralRequest]
 
|<pre>GET [base]/ReferralRequest?subject=[vrouwid]</pre>
 
|-
 
|<pre>GET [base]/ReferralRequest?context=[dossierid]</pre>
 
|-
 
|rowspan="3" |Zwangerschapsdossier
 
|rowspan="3" |
 
|rowspan="3" |[https://simplifier.net/geboortezorg-stu3/bc-maternalrecord bc-MaternalRecord] (nl-core-episodeofcare)
 
|rowspan="3" |[https://simplifier.net/geboortezorg-stu3/episodeofcare-example-duplicate-2 EpisodeOfCare]
 
|<pre>GET [base]/EpisodeOfCare/[dossierid]</pre>
 
|-
 
|<pre>GET [base]/Observation,Condition,Procedure?context=[dossierid]</pre>
 
|-
 
|<pre>GET [base]/Observation,Condition,Procedure?context:EpisodeOfCare.condition:Condition.clinical-status=active</pre>
 
|-
 
|rowspan="4" |Zwangerschap
 
|rowspan="4" |peri23-dataelement-3
 
|rowspan="4" |[https://simplifier.net/nictizstu3-zib2017-develop/zibpregnancy zib-Pregnancy]
 
|rowspan="4" |[https://simplifier.net/geboortezorg-stu3/condition-example-duplicate-10 Condition]
 
|<pre>GET [base]/Condition/[zwangerschapid]</pre>
 
|-
 
|<pre>GET [base]/Condition?clinicalstatus=active</pre>
 
|-
 
|<pre>GET [base]/Condition?clinicalstatus=inactive&_sort=_-id&_count=1</pre>
 
|-
 
|<pre>GET [base]/Condition?subject=[patientid]&_revinclude=Observation:focus</pre>
 
|-
 
|Bloedgroep vrouw
 
|peri23-dataelement-10810
 
|rowspan="3" |[https://simplifier.net/nictizstu3-zib2017/zib-laboratorytestresult-observation zib-LaboratoryTestResult-Observation]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-79 Observation]
 
|<pre>GET [base]/Observation?code=883-9{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|Rhesus D Factor vrouw
 
|peri23-dataelement-10811
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-81 Observation]
 
|<pre>GET [base]/Observation?code=1305-2{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|Hb waarde
 
|peri23-dataelement-10814
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-80 Observation]
 
|<pre>GET [base]/Observation?code=718-7{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|Voornemens
 
|peri23-dataelement-80671
 
|[https://simplifier.net/geboortezorg-stu3/bc-maternalpreferences bc-MaternalPreferences]
 
|[https://simplifier.net/geboortezorg-stu3/list-example List]
 
|<pre>GET [base]/List?subject=[vrouwid]</pre>
 
|-
 
|Voorgenomen plaats baring
 
|peri23-dataelement-20261
 
|rowspan="2" |[https://simplifier.net/geboortezorg-stu3/bc-maternalpreference bc-MaternalPreference]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-100 Observation]
 
|<pre>GET [base]/Observation?code=PRN4209{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|Voorgenomen voeding
 
|peri23-dataelement-82009
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-101 Observation]
 
|<pre>GET [base]/Observation?code=169740003{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|A terme datum
 
|peri23-dataelement-20030
 
|[https://simplifier.net/nictizstu3-zib2017-develop/zibpregnancytermdate zib-Pregnancy-DueDate]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-83 Observation]
 
|<pre>GET [base]/Observation?code=11778-8{&subject=[vrouwid]&context=[dossierid]&focus=[zwangerschapid]}</pre>
 
|-
 
|Partusassistentie
 
|peri23-dataelement-80839
 
|[https://simplifier.net/geboortezorg-stu3/bc-childbirthassistance bc-ChildBirthAssistance]
 
|[https://simplifier.net/geboortezorg-stu3/encounter-example Encounter]
 
|<pre>GET [base]/Procedure?code=236973005{&subject=[vrouwid]&context=[dossierid]&reasonReference=[zwangerschapid]}</pre>
 
|-
 
|Bevalling
 
|peri23-dataelement-6
 
|[https://simplifier.net/geboortezorg-stu3/bc-deliveryprocedure bc-DeliveryProcedure]
 
|[https://simplifier.net/geboortezorg-stu3/procedure-example-duplicate-3 Procedure]
 
|<pre>GET [base]/Procedure?code=236973005{&subject=[vrouwid]&context=[dossierid]&reasonReference=[zwangerschapid]}</pre>
 
|-
 
|Tijdstip begin actieve ontsluiting
 
|peri23-dataelement-20590
 
|rowspan="4" |[https://simplifier.net/geboortezorg-stu3/bc-deliveryobservation bc-DeliveryObservation] (nl-core-observation)
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-63 Observation]
 
|<pre>GET [base]/Observation?code=249120008{&subject=[vrouwid]&context=[dossierid]&focus=[bevallingid]}</pre>
 
|-
 
|Compleetheid vliezen
 
|peri23-dataelement-80792
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-94 Observation]
 
|<pre>GET [base]/BodySite?subject=[vrouwid]</pre>
 
|-
 
|Hoeveelheid bloedverlies
 
|peri23-dataelement-20640
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-55 Observation]
 
|<pre>GET [base]/Observation?code=64332008{&subject=[vrouwid]&context=[dossierid]&focus=[bevallingid]}</pre>
 
|-
 
|Conditie perineum postpartum
 
|peri23-dataelement-80673
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-75 Observation]
 
|<pre>GET [base]/Observation?code=364297003{&subject=[vrouwid]&context=[dossierid]&focus=[bevallingid]}</pre>
 
|-
 
|Placenta
 
|peri23-dataelement-80612
 
|[https://simplifier.net/geboortezorg-stu3/bc-placenta bc-Placenta]
 
|[https://simplifier.net/geboortezorg-stu3/bodysite-example BodySite]
 
|<pre>GET [base]/BodySite?subject=[vrouwid]</pre>
 
|-
 
|Placenta compleet
 
|peri23-dataelement-20631
 
|rowspan="2" |[https://simplifier.net/geboortezorg-stu3/bc-placentaobservation bc-PlacentaObservation]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-95 Observation]
 
|<pre>GET [base]/Observation?code=364343000{&subject=[vrouwid]&context=[dossierid]&focus=placenta}</pre>
 
|-
 
|Datum/tijd geboorte placenta
 
|peri23-dataelement-80791
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-107 Observation]
 
|<pre>GET [base]/Observation?code=[XXXX]{&subject=[vrouwid]&context=[dossierid]&focus=placenta}</pre>
 
|-
 
|Geboorte
 
|
 
|[https://simplifier.net/geboortezorg-stu3/bc-birth bc-Birth]
 
|[https://simplifier.net/geboortezorg-stu3/procedure-example-duplicate-4 Procedure]
 
|<pre>GET [base]/Observation?code=3950001{&subject=[vrouwid]&context=[dossierid]&focus=[geboorteid]&focus=[kindid]}</pre>
 
|-
 
|Tijdstip breken vliezen
 
|peri23-dataelement-80619
 
|rowspan="3" |[https://simplifier.net/geboortezorg-stu3/bc-birthobservation bc-BirthObservation] (nl-core-observation)
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-108 Observation]
 
|<pre>GET [base]/Observation?code=289251005{&subject=[vrouwid]&context=[dossierid]&focus=[geboorteid]}</pre>
 
|-
 
|Tijdstip actief meepersen
 
|peri23-dataelement-30030
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-65 Observation]
 
|<pre>GET [base]/Observation?code=249163006{&subject=[vrouwid]&context=[dossierid]&focus=[geboorteid]}</pre>
 
|-
 
|Type partus
 
|peri23-dataelement-80626
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-67 Observation]
 
|<pre>GET [base]/Observation?code=364336006{&subject=[vrouwid]&context=[dossierid]&focus=[geboorteid]}</pre>
 
|-
 
|Kind
 
|
 
|[https://simplifier.net/geboortezorg-stu3/bc-Child bc-Child] (of nl-core-patient)
 
|[https://simplifier.net/geboortezorg-stu3/patient-example Patient]
 
|<pre>GET [base]/Patient/[kindid]</pre>
 
|-
 
|Apgarscore na 1 min.
 
|peri23-dataelement-40070
 
|rowspan="3" |[https://simplifier.net/NictizSTU3-Zib2017-Develop/ZibApgarScore zib-ApgarScore]
 
|rowspan="3" |[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-77 Observation]
 
|<pre>GET [base]/Observation?code=9272-6{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Apgarscore na 5 min.
 
|peri23-dataelement-40071
 
|<pre>GET [base]/Observation?code=9274-2{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Apgarscore na 10 min.
 
|peri23-dataelement-80757
 
|<pre>GET [base]/Observation?code=[XXXX]{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Geboortegewicht
 
|peri23-dataelement-40060
 
|[https://simplifier.net/geboortezorg-stu3/bc-BirthWeight bc-BirthWeight]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-29 Observation]
 
|<pre>GET [base]/Observation?code=29463-7{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Schedelomtrek
 
|peri23-dataelement-80760
 
|[https://simplifier.net/nictizstu3-zib2017/nl-core-observation nl-core-observation]
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-99 Observation]
 
|<pre>GET [base]/Observation?code=9843-4{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Ligging bij geboorte
 
|peri23-dataelement-40140
 
|rowspan="3"|[https://simplifier.net/geboortezorg-stu3/bc-birthobservation bc-BirthObservation] (nl-core-observation)
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-110 Observation]
 
|<pre>GET [base]/Observation?code=LigGbrt{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Navelstreng vaten
 
|peri23-dataelement-80793
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-102 Observation]
 
|<pre>GET [base]/Observation?code=249191003{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Vitamine K
 
|peri23-dataelement-80761
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-109 Observation]
 
|<pre>GET [base]/Observation?code=[XXX]{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Vaginaal toucher
 
|peri23-dataelement-40060
 
|[https://simplifier.net/geboortezorg-stu3/bc-digitalvaginalexamination bc-DigitalVaginalExamination]
 
|[https://simplifier.net/geboortezorg-stu3/diagnosticreport-example DiagnosticReport]
 
|<pre>GET [base]/DiagnosticReport?code=51597003{&subject=[vrouwid]&context=[dossierid]}</pre>
 
|-
 
|Portio
 
|peri23-dataelement-20612
 
|rowspan="7" |[https://simplifier.net/geboortezorg-stu3/bc-digitalvaginalexaminationobservation bc-DigitalVaginalExaminationObservation] (nl-core-observation)
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-103 Observation]
 
|<pre>GET [base]/Observation?code=[249021005]{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Positie portio
 
|peri23-dataelement-82372
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-104 Observation]
 
|<pre>GET [base]/Observation?code=[248920001]{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Ontsluiting
 
|peri23-dataelement-20613
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-97 Observation]
 
|<pre>GET [base]/Observation?code=[289761004]{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Vliezen
 
|peri23-dataelement-20614
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-108 Observation]
 
|<pre>GET [base]/Observation?code=[112074005]{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Indaling Hodge
 
|peri23-dataelement-20615
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-98 Observation]
 
|<pre>GET [base]/Observation?code=[364611006]{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Aard van het voorliggend deel
 
|peri23-dataelement-80616
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-105 Observation]
 
|<pre>GET [base]/Observation?code=[364612004]{&subject=[kindid]&context=[dossierid]}</pre>
 
|-
 
|Stand
 
|peri23-dataelement-80618
 
|[https://simplifier.net/geboortezorg-stu3/observation-example-duplicate-106 Observation]
 
|<pre>GET [base]/Observation?code=[163520002]{&subject=[kindid]&context=[dossierid]}</pre>
 
 
|}
 
|}
  
==Terminology, NamingSystems, Mappings==
+
Module A and E can either directly interact with the FHIR server (which they are encouraged to do) or use the convertor and translator software of module B and D.
 +
 
 +
=Invocations=
 +
 
 +
==Publishing XIS: request message==
 +
 
 +
===Message Semantics===
 +
The publishing XIS or convertor executes a HTTP POST request of a Bundle with Bundle.type = transaction to the target's base endpoint. The first Bundle.entry contains a [https://simplifier.net/geboortezorg-stu3/bc-transactioncomposition Composition] resource, and each subsequent entry contains a resource that is referenced from the Composition resource.
 +
 
 +
<pre>
 +
POST [base]{&_format=[mime-type]}
 +
</pre>
 +
 
 +
As a result, all FHIR resources included in the Bundle will be stored individually in the FHIR server.
 +
 
 +
To persist a Document Bundle at the FHIR server (e.g. to preserve the clinical context), the publishing XIS or convertor should execute a HTTP GET request to the Composition endpoint of the FHIR server, handling the createDocumentOperation with persist=true. The response is a FHIR Document Bundle, which is generated from the Composition resource and stored to the FHIR server's Bundle endpoint.
 +
 
 +
<pre>
 +
GET [base]/Composition/[id]/$document?persist=true{&_format=[mime-type]}
 +
</pre>
 +
 
 +
==Retrieving XIS: request message==
 +
When persisted at the FHIR server, FHIR Document Bundles can be retrieved by a HTTP GET request to the FHIR server's Bundle endpoint. Note that FHIR Document Bundles are immutable and its entries refer to a time-related version of a resource which is not necessarily its latest version.
 +
 
 +
<pre>
 +
GET [base]/Bundle/[id]{&_format=[mime-type]}
 +
</pre>
  
===Terminology===
+
Individual resources can be retrieved by HTTP GET requests to specific resource endpoints, see the Search section and list of StructureDefinitions below.
Relevant value sets can be found [https://simplifier.net/Geboortezorg-STU3/~resources?category=ValueSet here]. All resources can be downloaded in a .zip in XML or JSON format. In the .zip, the value sets are stored in the directory 'value sets'.
+
 
 +
== Examples ==
 +
Example FHIR resources can be found here: [https://simplifier.net/geboortezorg-stu3/~resources?category=Example&sortBy=RankScore_desc]
 +
 
 +
== Search ==
 +
Example search URLs can be found in the list of StructureDefinitions in each use case section. Some searches require the implementation of custom search parameters. These parameters can be found here: https://simplifier.net/geboortezorg-stu3/~resources?category=SearchParameter
 +
 
 +
=Use cases=
 +
==Use cases dataset 2.3==
 +
[[Gebz:V1.0_FHIR_IG_use_cases_2.3|Use cases 2.3]]

Huidige versie van 28 sep 2021 om 09:33

AfsprakenstelselFunctioneelTechnischAfspraken-Functioneel-Technisch

Introduction

This page details the HL7 FHIR requirements for exchanging the BirthCare (Geboortezorg) data.

The functional view for BirthCare (Geboortezorg) 2.3 is described in Functioneel. Functional specifications for other datasets will follow.

The FHIR Implementation Guide for BirthCare is independent of the functional specifications. We expect the FHIR BirthCare IG to be compliant with datasets 2.3, 3.1 and 3.2. We do expect backwards compatible additions to the FHIR BirthCare IG for the latter datasets. The FHIR BirthCare IG does contain version-specific mappings to the various datasets, for now only 2.3 mappings.

Technical details of the FHIR resources and structure definitions described in this Implementation Guide (IG) can be found in the Simplifier Geboortezorg STU3 project. This IG provides links to the required resources and structure definitions for each use case.

A high level overview:

Fhir-model-overview.png

FHIR Resources and StructureDefinitions

Types of resources and relations between them

For Observations, which are often very similar, we follow patterns: an implementer will only need to implement the pattern and an associated table with codes, and be able to support all Observations. So for Observations pertaining to a particular pregnancy (not to the woman - she may have multiple pregnancies on record, neither to the delivery) all Observations will link to the Pregnancy Condition. So instead of having to inspect StructureDefinitions separately for each pregnancy observations, following a single pattern will do. The pattern has it's own StructureDefinition, so the FHIR profile is still complete. Likewise Observations for the mother, delivery and child follow patterns. See links below.

Name FHIR resource Description
Woman (Vrouw) Patient The core of each pregnancy is the pregnant woman, a FHIR Patient.
Maternal Observation (Bevinding vrouw) Observation Observations and findings related to the woman, before, during or after pregnancy childbirth. Examples are risk status or maternal ultrasound observations.
Partner RelatedPerson The partner of the pregnant woman (not necessarily the biological father).
Generic resources Practitioner, PractitionerRole, Organization Those are not used differently than in other Dutch projects.
Referral details ReferralRequest Referral details (such as type of referral, reason code, referrer and target of the referral) are described in ReferralRequest. The pregnant woman is the subject, the context is the pregnancy file (EpisodeOfCare).
Involvement pediatrician CareTeam A CareTeam describes the involvement of different care providers, such as a pediatrician.
  • These care providers are included as participants in the CareTeam using the CareTeam.participant.member element. Participants may either be Practitioners or Organizations.
  • Their role and period of involvement are described at the participant level (that is CareTeam.participant.role and CareTeam.participant.period).
  • The reason of involvement is described in CareTeam.reasonCode
Pregnancy, Maternity Record Condition, EpisodeOfCare Each pregnancy is a Condition. It is also represented as an EpisodeOfCare for each involved Organization. The pregnancy includes references to an Organization and responsible Practitioner. (Practitioners responsible for the actual data may be included there, i.e. in Procedures, Observations.)
  • Condition points to the EpisodeOfCare through a EpisodeOfCare.context.reference element. (Note: different providers may each have their own Condition resource.)
  • EpisodeOfCare points to the Condition through a EpisodeOfCare.diagnosis.condition element.
  • Condition points to the Patient with Condition.subject.reference
  • Condition.status must be 'active' for ongoing pregnancies and 'inactive' for past ones.
Patient-related Observations Observation Observations such as blood type pertain to the Patient.
  • Observations can refer to an EpisodeOfCare with Observation.context.reference
Pregnancy-related Observations Observation Observations such as gravidity and parity do not (only) pertain to the Patient but to a particular pregnancy.
  • Pregnancy-related Observations use focus extension to point to Condition they're about. Without this, all gravidities would only be Observations about a Patient.
  • Pregnancy-related Observations refer to the EpisodeOfCare with Observation.context.reference
Pregnancy-related disorder Condition Conditions such as cholestasis and hypertension do not (only) pertain to the Patient but to a particular pregnancy.
  • Pregnancy-related Observations use partOf extension to point to Condition they're about.
  • In some cases the partOf Condition may not be available. The BGZ for instance does not relate Conditions to particular pregnancies.
  • Pregnancy-related Conditions refer to the EpisodeOfCare with Observation.context.reference
Childbirth Assistance Encounter Childbirth Assistance is modeled as an Encounter. The woman Patient is subject of the Encounter.
  • The place of birth is described in Encounter.class using a ConceptMap to map values to available FHIR codes
  • The Encounter.diagnosis element refers to the Pregnancy (Condition)
  • The Encounter.participant element containts a list of care providers that were present during delivery. Family members and even the woman Patient could also be included in this list.
  • Additional details can be defined at participant level, such as participant type and time of arrival. The latter uses an extension at participant level with a coded list of time of arrival.
  • Childbirth Assistance refers to the EpisodeOfCare with Encounter.EpisodeOfCare.reference
Delivery (Bevalling) Procedure Delivery is modeled with Procedure (even for uncomplicated natural births for consistency). A pregnancy can lead to one DeliveryProcedure even in multiple birth. The Patient is the subject.
  • Delivery refers to the EpisodeOfCare with Procedure.context.reference
  • Delivery refers to the Pregnancy with Procedure.reasonReference.reference
Delivery-related Observations Observation Observations such as onset of labor or blood loss pertain to a delivery Procedure.
  • Delivery-related Observations use focus extension to point to the delivery Procedure they're about.
  • Delivery-related Observations refer to the EpisodeOfCare with Observation.context.reference
Disorder of labor and delivery Condition Disorders occuring during or after delivery are related to either the Delivery (if pertaining to the mother) or to the Birth (if pertaining to (one of) the children).
  • A partOf extension is used to point to the Delivery of the Birth.
  • context is the Maternal Record or an Encounter.
Obstetric Procedure Procedure
Post partum disorder Condition
Birth Procedure This groups findings and procedures related to a particular child in a delivery - important in multiple births. A Birth has:
  • a partOf extension, pointing to the Delivery
  • subject is the Child
  • context is the Maternal Record EpisodeOfCare
Birth-related Observations Observation Observations such as parturition type pertain to a birth. They are also about the mother, which still is the subject.
  • Birth-related Observations use focus extension to point to a birth.
  • Birth-related Observations refer to the EpisodeOfCare with Observation.context.reference
Child Patient Child is a separate Patient.
  • Procedure-related Observations use focus extension to point to the child Patient they're about.
Child-related Observations Observation Observations such as Apgar score and birthweight pertain to the child Patient, which is the subject of these Observations.
  • Child observations refer to the EpisodeOfCare with Observation.context.reference
Child disorders Condition Child disorders such as chromosomal and congenital abnormalities or other problems are conditions. The child is the subject.
  • Child disorders can refer to the EpisodeOfCare with Condition.context.reference
  • A ConceptMap is available to map verification status to accepted FHIR codes
Diagnostic Reports (Onderzoeksverslagen)
Combined test DiagnosticReport Combined test (combinatietest) verslag. The woman Patient is the subject of the report.
  • This report refers to the EpisodeOfCare with DiagnosticReport.context.reference
Digital vaginal examination DiagnosticReport The digital vaginal examination DiagnosticReport groups Observations related to the digital vaginal examination. The woman Patient is the subject of the report.
  • This report refers to the EpisodeOfCare with DiagnosticReport.context.reference
Ultrasound (Echoverslag) DiagnosticReport The ultrasound groups Observations. The woman Patient is the subject of the report.
  • This report refers to the EpisodeOfCare with DiagnosticReport.context.reference

The use of focus extensions is a pre-adopt of FHIR R4, where it is part of Observation: "What the observation is about, when it is not about the subject of record." Focus is required for all Observations which do not pertain to the Patient. In R4, use of focus permits "reverse include" queries (give me all Observations with focus element X). In STU3, this could be a custom search.

The use of context is encouraged for all resources which have a context element. It is a reference to an EpisodeOfCare or an Encounter. Context should point to an Encounter when appropriate (scheduled maternity checks etc.) and to the EpisodeOfCare in all other cases. Possibly it will be absent in Observations where the source is not birth care, so readers should not rely on it's presence.

Observations should include a performer if known.

Pattern tables can be found on individual pattern pages and on Gebz:V2.3_FHIR_mapping_addendum.

The mapping is also available as an XML file: fhirmapping.xml

Terminology, NamingSystems, Mappings

Terminology

Relevant value sets can be found here. All resources can be downloaded in a .zip in XML or JSON format. In the .zip, the value sets are stored in the directory 'value sets'.

BabyConnect Afsprakenstelsel

The BabyConnect Afsprakenstelsel describes the BabyConnect architecture, which defines the following modules and transactions.

Modules

Module Name Role
A Healthcare information system (XIS) Send transaction to module B
B1 Convertor Translates ADA transaction to FHIR transaction Bundle which is sent to module B2
B2 FHIR server Receives and stores FHIR data
C Index Indexes and retrieves FHIR data from module B2
D1 Query builder Translates user query to a FHIR query which is sent to module C
D2 Translator Translates FHIR data retrieved from module C back to ADA format
E Viewer Collects the data and presents it to the end user

Module B and D are added to make it easier for XIS and viewer vendors to connect to BabyConnect. XIS and viewer vendors are however encouraged to implement their own FHIR API as module B and D will phase out eventually.

Transactions

BabyConnect defines the following transactions:

Actors

Transaction group Transaction Actor Role
Publish transaction (PUSH) Publish transaction Healthcare professional (using a XIS) Sends transaction to registry
Retrieve transaction (PULL) Retrieve transaction Healthcare professional (using a XIS and/or viewer software) Retrieves transaction from registry

Module A and E can either directly interact with the FHIR server (which they are encouraged to do) or use the convertor and translator software of module B and D.

Invocations

Publishing XIS: request message

Message Semantics

The publishing XIS or convertor executes a HTTP POST request of a Bundle with Bundle.type = transaction to the target's base endpoint. The first Bundle.entry contains a Composition resource, and each subsequent entry contains a resource that is referenced from the Composition resource.

POST [base]{&_format=[mime-type]}

As a result, all FHIR resources included in the Bundle will be stored individually in the FHIR server.

To persist a Document Bundle at the FHIR server (e.g. to preserve the clinical context), the publishing XIS or convertor should execute a HTTP GET request to the Composition endpoint of the FHIR server, handling the createDocumentOperation with persist=true. The response is a FHIR Document Bundle, which is generated from the Composition resource and stored to the FHIR server's Bundle endpoint.

GET [base]/Composition/[id]/$document?persist=true{&_format=[mime-type]}

Retrieving XIS: request message

When persisted at the FHIR server, FHIR Document Bundles can be retrieved by a HTTP GET request to the FHIR server's Bundle endpoint. Note that FHIR Document Bundles are immutable and its entries refer to a time-related version of a resource which is not necessarily its latest version.

GET [base]/Bundle/[id]{&_format=[mime-type]}

Individual resources can be retrieved by HTTP GET requests to specific resource endpoints, see the Search section and list of StructureDefinitions below.

Examples

Example FHIR resources can be found here: [1]

Search

Example search URLs can be found in the list of StructureDefinitions in each use case section. Some searches require the implementation of custom search parameters. These parameters can be found here: https://simplifier.net/geboortezorg-stu3/~resources?category=SearchParameter

Use cases

Use cases dataset 2.3

Use cases 2.3