Gebz:V2.3 FHIR IG Retrieve: verschil tussen versies
Nieuwe pagina aangemaakt met '{{IssueBox|Dit materiaal is in ontwikkeling en nog niet geschikt voor gebruik!}} {{#customtitle:FHIR Implementation Guide Geboortezorg v2.3 Retrieve view| FHIR Impl...' |
Geen bewerkingssamenvatting |
||
| Regel 24: | Regel 24: | ||
==Retrieval table== | ==Retrieval table== | ||
Under construction | |||
{| class="wikitable" | |||
|- | |||
! 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. | |||
<syntaxhighlight lang="xml" heading="XML fragment"> | |||
<?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> | |||
</syntaxhighlight> | |||
====TouchStone TestScript==== | |||
Hieronder een voorbeeld van de opbouw van een test in een TestScript in TouchStone. | |||
<syntaxhighlight lang="xml" heading="XML fragment"> | |||
<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> | |||
</syntaxhighlight> | |||
==Translation table== | ==Translation table== | ||
Versie van 24 apr 2020 11:23
|
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>