RequestPsnFromBfWorkflow

Zweck

Anlegen und Matching von Patienten rein auf Basis von Bloomfiltern (PPRL) für einen gegebenen Geltungsbereich (Studie und Standort). Sofern noch nicht vorhanden, wird eine valide Ziel-Domäne automatisch angelegt. Rückgabe der generierten Pseudonyme (z.b. DIC-PSN(s)) als Params.

Voraussetzung
  • Die spezifizierte Studie muss im Zielsystem bekannt und angelegt sein.
  • Die übermittelten Bloomfilter müssen valide sein.
  • Der spezifizierte API-KEY muss valide sein und über die nötigen Rechte zum Aufruf der Funktion verfügen.
  • Die standortspezifische Domäne (target) muss im Zielsystem bekannt und angelegt sein.
Aufruf und Rückgabe

Die bereitgestellte Funktionalität kann per POST-Request aufgerufen werden. Die erforderlichen Angaben werden per POST-BODY in Form von FHIR Parameters übermittelt.

<HOST>:<PORT>/ttp-fhir/fhir/dispatcher/$requestPsnFromBfWorkflow

Der Funktionsaufruf liefert eine Parameters-Ressource bestehend aus multiplen Multi-Part-Parametern zurück.

The resource cannot be rendered.

Im Erfolgsfall wird jeweils ein pseudonym-bf-Parameter zurückgegeben mit folgenden Teilen:

  1. bloomfilter = der zu für PPRL erforderliche Bloomfilter (Teil des Requests)
  2. target = die (erzeugte und) verwendete Pseudonymisierungsdomäne
  3. pseudonym = das fTTP-seitig erzeugte Pseudonym.

Im Einzel-Fehlerfall wird jeweils ein error-Parameter zurückgegeben, ebenfalls mit den Teilen bloomfilter und target sowie einem error-code anstelle des Pseudonyms.

Im vollständigen Fehlerfall wird einer der folgenden HTTP Statuscodes in Verbindung mit einer OperationOutcome-Ressource zurückgegeben:

  • 400: fehlende oder fehlerhafte Parameter
Beispiel

Beispielhafter Request-Body (orientiert am Beispiel der fTTP-NUM Use Cases):

<Parameters xmlns="http://hl7.org/fhir">
    <parameter>
        <name value="study" />
        <valueString value="num" />
    </parameter>
    <parameter>
        <name value="bloomfilter" />
        <valueBase64Binary value="SWNoIGJpbiBlaW4gQmxvb21maWx0ZXIuIFZlcnNwcm9jaGVuLg==" />
    </parameter>
    <parameter>
        <name value="target" />
        <valueString value="dic_erlangen" />
    </parameter>
    <parameter>
        <name value="apikey" />
        <valueString value="abcdef12345" />
    </parameter>
</Parameters>

Eine beispielhafte Rückmeldung (orientiert am Beispiel der fTTP-NUM Use Cases) kann wie folgt aussehen:

<Parameters xmlns="http://hl7.org/fhir">
    <parameter>
        <name value="pseudonym-bf" />
        <part>
            <name value="bloomfilter" />
            <valueBase64Binary value="SWNoIGJpbiBlaW4gQmxvb21maWx0ZXIuIFZlcnNwcm9jaGVuLg==" />
        </part>
        <part>
            <name value="target" />
            <valueIdentifier>
                <system value="https://ths-greifswald.de/gpas" />
                <value value="dic_erlangen" />
            </valueIdentifier>
        </part>
        <part>
            <name value="pseudonym" />
            <valueIdentifier>
                <system value="https://ths-greifswald.de/gpas" />
                <value value="dic_1H51T" />
            </valueIdentifier>
        </part>
    </parameter>
    <parameter>
        <name value="error" />
        <part>
            <name value="bloomfilter" />
            <valueBase64Binary value="hHjklOllOjhgFGFzzghikxvb21maWx0ZXIuIFZlcnNwcm9jrtfg==" />
        </part>
        <part>
            <name value="target" />
            <valueIdentifier>
                <system value="https://ths-greifswald.de/gpas" />
                <value value="dic_erlangen" />
            </valueIdentifier>
        </part>
        <part>
            <name value="error-code" />
            <valueCoding>
                <system value="http://hl7.org/fhir/issue-type" />
                <code value="not-found" />
                <display value="Not Found" />
            </valueCoding>
        </part>
    </parameter>
</Parameters>