Gebz:V2.3 FHIR IG Retrieve
Dit materiaal is in ontwikkeling en nog niet geschikt voor gebruik! |
{{#customtitle:FHIR Implementation Guide Geboortezorg v2.3 Retrieve view| FHIR Implementation Guide Geboortezorg v2.3 Retrieve view}}
Introduction
This page details the HL7 FHIR requirements for retrieving a view for a particular use case. Use cases examples are:
- Regular consultation
- Obstetric intake
- Acute referral
- etc.
Usually the use cases for retrieving views will not match those for registering data one-on-one; however in the first case, Prio1, we've chosen to use the same scenario for registering and retrieving.
Use case: Retrieve Prio1 view
Introduction
The Register Prio1 transaction is requested by the receiving XIS from the registry. The retrieval is facilitated by two tables:
- Table with all FHIR resources to be retrieved, along with necessary query parameters
- Table with designations of all codes (Snomed CT, LOINC) in a chosen language.
Retrieval table
Under construction
methode | toelichting | voordelen | nadelen |
---|---|---|---|
XML | Genereren van een XML bestand uit ART-DECOR door op basis van de betreffende transactie alle elementen en bijhorende FHIR-mappingen / requests op te halen. Het XML bestand kan vervolgens door leveranciers (automatisch) worden uitgelezen. | Relatief eenvoudige oplossing
Sluit aan bij ART-DECOR data definitie Onderhoud op 1 plek in ART-DECOR |
|
FHIR | Retrieval table als FHIR resource instance beschikbaar stellen op de FHIR server (C). | Definities beschikbaar op FHIR server | Nog onduidelijk welke resource hiervoor het meest geschikt is, geen resource die 1 op 1 dit doel dient
Maakt de oplossing complexer en mogelijk lastiger voor leveranciers om te implementeren Vergt onderhoud op de C server bij wijzigingen in transacties (hier evt ook FHIR instances genereren via ART-DECOR mogelijk) |
TouchStone | Uitlezen operations uit FHIR TestScripts in TouchStone. Per transaction is er een TestScript beschikbaar die alle requests test die een server moet kunnen uitvoeren. | Relatief eenvoudige oplossing
Geen extra werk nodig |
Koppeling naar data definitie in ART-DECOR ontbreekt (zou evt als label toegevoegd kunnen worden)
Toegang tot TouchStone nodig |
Voorbeelden
XML
Hieronder een voorbeeld van hoe de XML voor de transactie Prio 1 huidige zwangerschap er uit zou kunnen komen te zien.
<?xml version="1.0" encoding="UTF-8"?>
<dataset id="2.16.840.1.113883.2.4.3.11.60.90.77.1.6" effectiveDate="2016-09-08T00:00:00"
statusCode="draft" prefix="peri20-" transactionId="2.16.840.1.113883.2.4.3.11.60.90.77.4.2493"
transactionEffectiveDate="2020-01-08T13:13:15" transactionStatusCode="draft"
transactionType="stationary" transactionIddisplay="peri-transaction-2493"
shortName="prio1_huidige_zwangerschap" iddisplay="peri23-dataset-">
<name language="nl-NL">Prio1 huidige zwangerschap</name>
<desc language="nl-NL"/>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.2" statusCode="draft"
effectiveDate="2016-09-08T00:00:00" type="group" minimumMultiplicity="1"
maximumMultiplicity="1" conformance="R" isMandatory="false" iddisplay="peri23-dataelement-2"
shortName="vrouw">
<name language="nl-NL">Vrouw</name>
<desc language="nl-NL"> Vrouw die obstetrische zorgdiensten afneemt / heeft afgenomen. </desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url value="Patient?identifier=[BSN]"/>
</request>
</community>
</concept>
<concept>
<name language="nl-NL">Zwangerschapsdossier</name>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url value="EpisodeOfCare?patient=[VrouwID]"/>
</request>
</community>
</concept>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.10020" statusCode="draft"
effectiveDate="2016-09-08T00:00:00" type="group" minimumMultiplicity="1"
maximumMultiplicity="1" conformance="R" isMandatory="false"
iddisplay="peri23-dataelement-10020" shortName="zorginstelling">
<name language="nl-NL">Zorginstelling</name>
<desc language="nl-NL"> Organisatie (instelling) die de zorg levert / heeft geleverd </desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url value="Organization/[OrganizationID]"/>
</request>
</community>
</concept>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.10810" statusCode="draft"
effectiveDate="2016-09-08T00:00:00" type="item" minimumMultiplicity="0"
maximumMultiplicity="1" conformance="R" isMandatory="false"
iddisplay="peri23-dataelement-10810" shortName="bloedgroep_vrouw">
<name language="nl-NL">Bloedgroep vrouw</name>
<desc language="nl-NL">Bloedgroep van de vrouw</desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url
value="Observation?code=http://loinc.org|883-9&patient=[VrouwID]&context=[DossierID]"
/>
</request>
</community>
</concept>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.10811" statusCode="draft"
effectiveDate="2016-09-08T00:00:00" type="item" minimumMultiplicity="0"
maximumMultiplicity="1" conformance="R" isMandatory="false"
iddisplay="peri23-dataelement-10811" shortName="rhesus_d_factor_vrouw">
<name language="nl-NL">Rhesus D Factor vrouw</name>
<desc language="nl-NL">Rhesus D factor van de vrouw</desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url
value="Observation?code=http://loinc.org|1305-2&patient=[VrouwID]&context=[DossierID]"
/>
</request>
</community>
</concept>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.10816" statusCode="draft"
effectiveDate="2016-09-08T00:00:00" type="item" minimumMultiplicity="0"
maximumMultiplicity="1" conformance="R" isMandatory="false"
iddisplay="peri23-dataelement-10816" shortName="rhesus_c_factor">
<name language="nl-NL">Rhesus c Factor</name>
<desc language="nl-NL">Rhesus c factor van de vrouw</desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url
value="Observation?code=http://loinc.org|718-7&patient=[VrouwID]&context=[DossierID]"
/>
</request>
</community>
</concept>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.3" statusCode="draft"
effectiveDate="2016-09-08T00:00:00" type="group" minimumMultiplicity="1"
maximumMultiplicity="1" conformance="R" isMandatory="false" iddisplay="peri23-dataelement-3"
shortName="zwangerschap">
<name language="nl-NL">Zwangerschap</name>
<desc language="nl-NL"> De al dan niet afgesloten zwangerschap waarop de gegevens betrekking
hebben. </desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url
value="Condition?code=http://snomed.info/sct|364320009&patient=[VrouwID]&context=[DossierID]"
/>
</request>
</community>
</concept>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.20010" statusCode="final"
effectiveDate="2016-09-08T00:00:00" type="item" minimumMultiplicity="1"
maximumMultiplicity="1" conformance="R" isMandatory="false"
iddisplay="peri23-dataelement-20010" shortName="graviditeit">
<name language="nl-NL">Graviditeit</name>
<desc language="nl-NL"> Het aantal keren dat de vrouw zwanger is geworden (inclusief deze). </desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url
value="Observation?code=http://loinc.org|11996-6&patient=[VrouwID]&context=[DossierID]"
/>
</request>
</community>
</concept>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.20153" statusCode="draft"
effectiveDate="2016-09-08T00:00:00" type="item" minimumMultiplicity="1"
maximumMultiplicity="1" conformance="R" isMandatory="false"
iddisplay="peri23-dataelement-20153" shortName="pariteit">
<name language="nl-NL">Pariteit</name>
<desc language="nl-NL"> Aantal zwangerschappen die eindigden met een partus (>= 16w 0d / 112
dagen) </desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url
value="Observation?code=http://loinc.org|11977-6&patient=[VrouwID]&context=[DossierID]"
/>
</request>
</community>
</concept>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.20029" statusCode="draft"
effectiveDate="2016-09-08T00:00:00" type="group" minimumMultiplicity="1"
maximumMultiplicity="1" conformance="R" isMandatory="false"
iddisplay="peri23-dataelement-20029" shortName="a_terme_datum_groep">
<name language="nl-NL">A terme datum (groep)</name>
<desc language="nl-NL">A terme datum (groep)</desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url
value="Observation?code=http://loinc.org|11778-8&patient=[VrouwID]&context=[DossierID]"
/>
</request>
</community>
</concept>
<concept id="2.16.840.1.113883.2.4.3.11.60.90.77.2.6.10814" statusCode="draft"
effectiveDate="2016-09-08T00:00:00" type="item" minimumMultiplicity="1"
maximumMultiplicity="1" conformance="R" isMandatory="false"
iddisplay="peri23-dataelement-10814" shortName="hb">
<name language="nl-NL">Hb</name>
<desc language="nl-NL">Hb waarde</desc>
<community name="fhirmapping">
<request>
<method value="GET"/>
<url
value="Observation?code=http://loinc.org|718-7&patient=[VrouwID]&context=[DossierID]"
/>
</request>
</community>
</concept>
</dataset>
TouchStone TestScript
Hieronder een voorbeeld van de opbouw van een test in een TestScript in TouchStone.
<test id="01-ServePatient">
<name value="01-ServePatient"/>
<description value="Test XIS Server query operation for Patient - XML Format."/>
<action>
<operation>
<label value="peri23-dataelement-2"/> <!-- kan optioneel toegevoegd worden -->
<type>
<system value="http://hl7.org/fhir/testscript-operation-codes"/>
<code value="search"/>
</type>
<resource value="Patient"/>
<description value="Test XIS Server query operation for Patient - XML Format."/>
<accept value="xml"/>
<contentType value="none"/>
<params value="?_identifier=${bsn}"/>
</operation>
</action>