RequestPsnFromBfWorkflow

Zweck

Anlegen und Matching von Patienten rein auf Basis von Bloomfiltern (PPRL) für einen gegebenen Geltungsbereich (Studie und Standort). Rückgabe der generierten Pseudonyme (z.b. DIC-PSN(s)) als Parameter.

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.

Invocations

URL: [base]/$requestPsnFromBfWorkflow

Parameters (In)

NameCardinalityTypeDocumentation
study1..1string

Angabe der Studie

bloomfilter1..*base64Binary

Liste studien- und standortspezifischer Bloomfilter (base64-codiert)

target1..1string

Angabe des Bloomfilter sendenden Standorts (Ziel-Domäne)

apikey1..1string

Gültiger API-Key zur Authentifizierung und Authorisierung des aufrufenden Systems gegenüber dem verarbeitenden Workflow-Manager

Return Values (Out)

NameCardinalityTypeDocumentation
pseudonym-bf0..*

Ermitteltes bzw. generiertes studien- und standort-spezifisches Pseudonym

pseudonym-bf.bloomfilter1..1base64Binary

Bloomfilter

pseudonym-bf.target1..1Identifier

die verwendete Ziel-Domäne (im Request übergeben)

pseudonym-bf.pseudonym1..1Identifier

das in der Ziel-Domäne erzeugte Pseudonym.

error0..*

Fehlerrückgabe bei Teil-Fehlern

error.bloomfilter0..1base64Binary

Bloomfilter

error.target0..1Identifier

die verwendete Ziel-Domäne (im Request übergeben)

error.error-code1..1Coding

Fehlercode

Personenregistrierung und Privacy-Preserving Record Linkage (PPRL) auf Basis von Bloomfiltern (BF) innerhalb eines Geltungsbereiches (Studie, Standort). Die Erzeugung eines standortspezifischen Pseudonyms erfolgt innerhalb der angegebenen Ziel-Domäne. Diese wird automatisch erzeugt, sofern noch nicht vorhanden. Die Rückgabe eines standortspezifischen Pseudonyms (z.B. DIZPseudonym) erfolgt als Parameter.

Im Erfolgsfall wird der HTTP Statuscode 200 zurückgegeben.

Wenn einzelne übergebene Parameter fehlerhaft bzw. nicht valide sind, wird statt eines Pseudonyms ein Fehler-Parameter (error-Parameter) mit der Fehlerbeschreibung zurückgeliefert.

Ist der Request gänzlich ungültig, wird einer der folgenden HTTP Statuscodes in Verbindung mit einer OperationOutcome-Ressource zurückgegeben:

  • 400: Fehlende oder fehlerhafte Parameter.
  • 401: Fehlende Authentifizierung oder Autorisierung.
  • 404: Parameter mit unbekanntem Inhalt.
  • 422: Fehlende oder falsche Patienten-Attribute.
Hinweis zu zukünftigen Änderungen

Das Pseudonym wird künftig nur dann geliefert, wenn kein Clearing-Prozess angestoßen wird. Ist dieser erforderlich, muss dieser zunächst vollständig abgeschlossen sein und das Pseudonym kann über requestTasks abgerufen werden.

Beispiel

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

<Parameters xmlns="http://hl7.org/fhir">
    <id value="Parameters-RequestPsnFromBfWorkflow-request-example-1" />
    <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">
    <id value="Parameters-RequestPsnFromBfWorkflow-response-example-1" />
    <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="ZHVtbXk=" />
        </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>