Onco:V1.0Implementatiegids-MDO-verslagen

Uit informatiestandaarden
Versie door Marc (overleg | bijdragen) op 6 feb 2017 om 12:32
Naar navigatie springen Naar zoeken springen

Dit is een eerste aanzet tot een implementatiegids voor MDO verslagen, i.h.k.v. oncologie voor IKNL uit te wisselen tussen EPD’s en de NKR. De definitieve versie van de implementatiegids wordt opgesteld conform de richtlijnen van FHIR (zal dus ook in HTML beschikbaar komen). Deze voorlopige versie is alleen om de voornaamste aanwijzingen en richtlijnen op een rijtje te zetten. Alles in dit document is voorlopig en kan nog wijzigen, met name de coderingen.

Inleiding

De aanlevering aan het NKR wordt vormgegeven met FHIR QuestionnaireResponse bestanden. Een QuestionnaireResponse bevat een hiërarchische, gegroepeerde verzameling - meestal klinische - bevindingen. Deze structuur sluit goed aan bij gegevensaanlevering aan een registratie zoals de NKR: de aangeleverde gegevens zijn immers de verzameling gegevens uit het primaire zorgproces, die relevant is voor de NKR. In een QuestionnaireResponse kan dus een vrij willekeurige verzameling (klinische) gegevens uitgewisseld worden. Bij een QuestionnaireResponse hoort een Questionnaire: daarin wordt vastgelegd welke gegevens precies worden uitgevraagd. Bij iedere transactie naar de IKNL, zoals de “MDO verslag diagnose en primaire behandeling” hoort dus een Questionnaire. Ieder daadwerkelijk aangeleverd verslag is een QuestionnaireResponse.

Inhoud van het MDO verslag

QuestionnaireResponse

XML voorbeeld:

<QuestionnaireResponse xmlns="http://hl7.org/fhir">
    <id value="3141"/>
    <meta>
        <profile value="http://www.iknl.fhir/mdo_verslag_diagnose_20161112"/>
    </meta>
    <language value="nl-NL"/>

Het rapport begint met identificaties en versies, en de gebruikte taal:

  • Een uniek id (uniek binnen het verzonden FHIR bericht)
  • Versie Oncologie standaard voor deze transactie
  • Taal (altijd Nederlands)

text

Iedere FHIR resource bevat een tekstuele weergave van de inhoud. Dat moet HTML zijn, bijvoorbeeld een table of list, maar mag ook een pre element met geformatteerde tekst zijn.

XML voorbeeld:

<text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
        <table>
            <tr>
                <td>Patient</td>
                <td>123456</td>
            </tr>
            <tr>
                <td>Zijdigheid inzending</td>
                <td>Links</td>
            </tr>
            <tr>
                <td>Lokalisatie tumor</td>
                <td>Binnenste bovenkwadrant van de borst</td>
            </tr>
            ....
        </table>
    </div>
</text>

Dit kan ook:

<text>
    <status value="generated"/>
    <pre xmlns="http://www.w3.org/1999/xhtml">
    Patient                 : 123456
    Zijdigheid inzending    : Links
    Lokalisatie tumor       : Binnenste bovenkwadrant van de borst
    </pre>
</text>

Voor de uitwisseling van MDO verslagen is het optioneel, de NKR heeft het niet nodig.

contained

Na text komen een aantal contained resources. Dit zijn onafhankelijke elementen, waarnaar vanuit de QuestionnaireResponse gerefereerd wordt (zie verderop). FHIR is gebaseerd op ‘resources’: losse componenten, die naar elkaar verwijzen. In dit geval worden alle resources opgenomen in dit FHIR bestand zelf. Het voordeel van deze aanpak is dat dezelfde componenten in een andere context ook gebruikt kunnen worden.

Patient

Patiëntgegevens, waaronder een lokaal patiëntennummer of BSN, geslacht en geboortedatum. Het id veld is een FHIR id voor gebruik binnen het FHIR document, niet het patiënt id.

Voor patiënt volgen we de nl-core-patient uit de NL-BasicComponents

De naam wordt gevuld met de gegevens die bekend zijn. Dat kan een eenvoudige weergave zijn zoals hieronder, of een volledige opsplitsing met partner-naam et cetera als beschreven in de NL-BasicComponents.

XML voorbeeld:

<Patient>
    <id value="nl-core-patient-example-1" />
    <identifier>
        <use value="official" />
        <system value="http://fhir.nl/fhir/NamingSystem/bsn" />
        <value value="123456782" />
    </identifier>
    <active value="true" />
    <name>
        <use value="official" />
        <family value="Jongeneel-de Haas"/>
        <given value="Irma"/>
    </name>
    <gender value="female" />
    <birthDate value="1970-03-04" />
</Patient>

Van een patiënt is meegeven van een identificatie (zoals BSN) verplicht. Meesturen van naam, geslacht en geboortedatum wordt aanbevolen. Andere gegevens zoals adres zijn geen deel van de MDO aanlevering.

Organisatie

Gegevens van het aanleverende ziekenhuis.

Voor organisatie volgen we de nl-core-organization uit de NL-BasicComponents

XML voorbeeld:

<contained>
    <Organization>
        <id value="organization1"/>
        <identifier>
            <system value="http://fhir.nl/fhir/NamingSystem/ura" />
            <value value="12341234" />
        </identifier>
        <active value="true" />
        <name value="Ziekenhuis Gooi en Overvecht" />
    </Organization>
</contained>

Een identifier is verplicht, de naam van het ziekenhuis is wenselijk.

status

De status moet altijd "completed" zijn. XML voorbeeld:

<status value="completed"/>

Questionnaire

De aanlevering aan de NKR is vormgegeven als een FHIR QuestionnaireResponse. In iedere QuestionnaireResponse zit eerst een verwijzing naar de bijbehorende Questionnaire: dat zijn de definities van de “vragen” die beantwoord worden in de QuestionnaireResponse.

XML voorbeeld:

<questionnaire>
    <reference value="../Questionnaire/2.16.840.1.113883.2.4.3.11.60.107.4.22--20151022132049.xml"/>
</questionnaire>

subject en author

Vervolgens wordt verwezen naar de patiënt en de auteur (TODO: is de auteur een organisatie of zijn het een of meer personen?). Dit zijn interne referenties naar de patiënt en de auteur die opgenomen zijn in de QuestionnaireResponse (zie hierboven bij "contained").

XML voorbeeld:

<subject>
    <reference value="#patient1"/>
</subject>
<author>
    <reference value="#organization1"/>
</author>

items

De daadwerkelijke gegevens beginnen in items. In de Questionnaire is ieder item gedefinieerd:

XML voorbeeld:

<item>
    <linkId value="2.16.840.1.113883.2.4.3.11.60.107.2.1.1000--2015-04-09T00:00:00"/>
    <text value="Demografische gegevens"/>
    <type value="group"/>
    <required value="true"/>
    <repeats value="false"/>

Daarbij wordt aangegeven:

  • Het linkId, de formele identificatie van dit gegeven. Een linkId moet uniek zijn binnen de Questionnaire.
  • De text, een leesbaar gegeven betreffende het item.
  • Een type, wat 'group' of een datatype kan zijn (zie verderop).
  • required, wat aangeeft of het verplicht voor moet komen in de QuestionnaireResponse
  • repeats, wat aangeeft of het mag herhalen binnen de QuestionnaireResponse.

In een QuestionnaireResponse worden de items als volgt weergegeven:

XML voorbeeld:

<item>
    linkId value="2.16.840.1.113883.2.4.3.11.60.107.2.1.1000--2015-04-09T00:00:00"/>
    <text value="demografische_gegevens"/>

Ieder item heeft een linkId en een text attribuut. Het linkId is de relatie naar de definitie van het gegeven in de Questionnaire. Het text attribuut is optioneel in FHIR, maar hier verplicht: het geeft een leesbare aanwijzing waarover het gaat, wat bruikbaar is bij debugging en afhandeling van uitval. Er zijn twee soorten items: group en question.

Items (group)

Group items dienen alleen om de informatie hiërarchisch te organiseren en om herhalende groepen mogelijk te maken. In zowel Questionnaire als een QuestionnaireResponse zijn de group items eenvoudig items die andere items bevatten. Hier de weergave uit de QuestionnaireResponse:

XML voorbeeld:

<item>
    <linkId value="item-1000"/>
    <text value="demografische_gegevens"/>
    <item>
        <linkId value="item-13187"/>
        <text value="patient"/>

Items (questions and answers)

De feitelijke gegevens zijn in een Questionnaire als question opgenomen, en in de QuestionnaireResponse als corresponderend answer. In een Questionnaire kan dat bijvoorbeeld zo zijn:


XML voorbeeld:

<item>
    <linkId value="2.16.840.1.113883.2.4.3.11.60.107.2.1.13219--2015-06-17T11:44:34"/>
    <definition value="../DataElement/2.16.840.1.113883.2.4.3.11.60.107.2.1.13219--20150617114434"/>
    <text value="Geboortedatum"/>
    <type value="dateTime"/>
    <required value="true"/>
    <repeats value="false"/>
</item>

We zien weer de algemene gegevens van een item (linkId en text), en daarnaast:

  • een concept, met de codering van de betekenis van het gevraagde gegeven. Dit zullen uiteindelijk meestal Snomed coderingen zijn. Nu zijn het veelal nog ART-DECOR coderingen.
  • een type, met daarin het datatype van het gevraagde gegeven.

Een bijbehorend QuestionnaireResponse item ziet er als volgt uit:

XML voorbeeld:

<item>
    <linkId value="2.16.840.1.113883.2.4.3.11.60.107.2.1.13219--2015-06-17T11:44:34"/>
    <text value="geboortedatum"/>
    <answer>
        <valueString value="1986-12-06T12:00:00"/>
    </answer>
</item>

Een gecodeerd item ziet er als volgt uit in de Questionnaire:

XML voorbeeld:

<item>
    <linkId value="2.16.840.1.113883.2.4.3.11.60.107.2.1.13220--2015-06-17T11:44:34"/>
    <definition value="../DataElement/2.16.840.1.113883.2.4.3.11.60.107.2.1.13220--20150617114434"/>
    <text value="Geslacht"/>
    <type value="choice"/>
    <required value="true"/>
    <repeats value="false"/>
    <option>
        <valueCoding>
            <code value="UN"/>
            <display value="Undifferentiated"/>
        </valueCoding>
    </option>
    <option>
        <valueCoding>
            <code value="M"/>
            <display value="Male"/>
        </valueCoding>
    </option>
    <option>
        <valueCoding>
            <code value="F"/>
            <display value="Female"/>
        </valueCoding>
    </option>
</item>

Na de overige gegevens volgt een lijst met codes waaruit gekozen kan worden. (Noot: het is waarschijnlijk dat in de uiteindelijke specificatie de letterlijk opgenomen lijsten vervangen worden door links naar valueSets op decor.nictiz.nl)

Het bijbehorende antwoord in een QuestionnaireResponse ziet er als volgt uit:

XML voorbeeld:

<item>
    <linkId value="item-13220"/>
    <text value="geslacht"/>
    <answer>
        <valueCoding>
            <system value="urn:oid:2.16.840.1.113883.5.1"/>
            <code value="M"/>
            <display value="Male"/>
        </valueCoding>
    </answer>
</item>

Datatypes

De volgende datatypes en bijbehorende elementen in de QuestionnaireResponse worden gebruikt.

Datatype QuestionnaireResponse Voorbeeld Opmerkingen
boolean valueBoolean true, false
decimal valueDecimal 3.14 Geen voorloopnullen
integer valueInteger 1, 999 Geen voorloopnullen
date valueDate 1961-03-06
dateTime valueDateTime 2017-02-06T13:09
time valueTime 13:09
string valueString Marc de Graauw
Coding valueCoding
<valueCoding>
    <system value="urn:oid:2.16.840.1.113883.5.1"/>
    <code value="M"/>
    <display value="Male"/>
</valueCoding>
Quantity valueQuantity
<valueQuantity>
  <value value="25" />
  <unit value="sec" />
  <system value="http://unitsofmeasure.org" />
  <code value="s" />
</valueQuantity>

Transacties

Triggers

Document identificatie

Wijzigingen en beheer