Voorbeelden Koppeltaal berichten

Koppeltaal is in de loop der tijd doorontwikkeld tot v1.3.x. Met de introductie van resource versionering is de implementatie lastig voor de IT-deelnemers. Hiervoor hebben we voorbeelden toegevoegd.

Starten met een behandelplan

Aanmaken van een CarePlan

Een behandelaar maakt via een portaal, een nieuw behandelplan aan. Hiervoor wordt een FHIR bericht verstuurd naar de Koppeltaal server. Dit bericht kan als XML of JSON content aangeboden worden. Elke nieuwe interactie begint met een MessageHeader met daarin een extension.valueResource.reference naar een Patient en een data.reference naar de focal resource. De aangeboden focal resource heeft op dat moment geen versie, die moet door de Koppeltaal server uitgegeven worden.

Volgende voorbeeld is de MessageHeader in XML formaat.

<feed xmlns="http://www.w3.org/2005/Atom">
   <id>urn:uuid:97b7a1e2-ca51-415e-b06c-fc8564a979fa</id>
   <category term="http://ggz.koppeltaal.nl/fhir/Koppeltaal/Domain#PythonAdapterTesting" label="PythonAdapterTesting" scheme="http://hl7.org/fhir/tag/security" />
   <category term="http://hl7.org/fhir/tag/message" scheme="http://hl7.org/fhir/tag" />
   <entry>
      <id>http://127.0.0.1:37527/app/fhir/Koppeltaal/MessageHeader/139882808154208</id>
      <content type="text/xml">
         <MessageHeader xmlns="http://hl7.org/fhir" id="ref002">
            <extension url="http://ggz.koppeltaal.nl/fhir/Koppeltaal/MessageHeader#Patient">
               <valueResource>
                  <reference value="http://127.0.0.1:37527/app/fhir/Koppeltaal/Patient/751512203" />
               </valueResource>
            </extension>
            <identifier value="3f03e865-e87c-4337-922c-5be69dbcd243" />
            <timestamp value="2020-08-13T02:30:41+00:00" />
            <event>
               <system value="http://ggz.koppeltaal.nl/fhir/Koppeltaal/MessageEvents" />
               <code value="CreateOrUpdateCarePlan" />
               <display value="CreateOrUpdateCarePlan" />
            </event>
            <source id="ref001">
               <name value="New integration for 'app.None'" />
               <software value="Koppeltaal Adapter" />
               <version value="1.3.x" />
               <endpoint value="http://127.0.0.1:37527/app/fhir/Koppeltaal" />
            </source>
            <data>
               <reference value="http://127.0.0.1:37527/app/fhir/Koppeltaal/CarePlan/751512212" />
            </data>
         </MessageHeader>
      </content>
   </entry>
   ...

Dezelfde MessageHeader in JSON formaat.

Alle resources die met dit bericht meekomen, hebben een selflink, zonder versie in de link href

Voorbeeld van resources in XML formaat.

Voorbeeld van resources in JSON formaat.

Koppeltaal server beantwoordt het binnenkomend bericht, en verstuurd een antwoord naar de verzender waarin staat wat de versies zijn van de verschillende resources.

De verzender moet de versie van de resources in zijn eigen administratie bijhouden zodat de verzender later mutaties op de resources kan uitvoeren. Mutaties mogen alleen op de meest recente versie van resources uitgevoerd worden.

Applicaties die geabonneerd zijn op de CreateOrUpdateCarePlan krijgen een verrijkt bericht binnen waar de versies van de resources zijn toegevoegd.

Updaten van een CarePlan

Bij het aanpassen van een CarePlan moet men de juiste versies van de resources gebruiken om een mutatie doorgevoerd te krijgen door de Koppeltaal server.

Fout situaties

Verkeerde resource versie

Als er aan een Koppeltaal versie 1.3.5 of een hogere compatibele applicatie een 409 HTTP statuscode wordt teruggegeven, omdat één of meer verkeerde resource versies zijn meegestuurd, worden hierin de resources teruggegeven waarvan de verkeerde versie was meegestuurd. Dit gebeurt in de volgende response:

Onbekende resource

Als er een bericht verstuurd wordt naar de Koppeltaal Server met daarin een resource die Koppeltaal niet ondersteunt (in dit voorbeeld ‘Condition’), wordt de volgende respons geretourneerd:

Interacties

CreateOrUpdateCarePlan

Deze interactie is opgebouwd uit een update van het CarePlan, Organization, Patient, Practitioner en CareTeam.

CreateOrUpdatePatient

Update van een Patiënt.

CreateOrUpdateActivityDefinition

Een wijziging in de activiteiten definities.

UpdateCarePlanActivityStatus

Status update doorgeven.

Last updated