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)
Name | Cardinality | Type | Documentation |
study | 1..1 | string | Angabe der Studie |
bloomfilter | 1..* | base64Binary | Liste studien- und standortspezifischer Bloomfilter (base64-codiert) |
target | 1..1 | string | Angabe des Bloomfilter sendenden Standorts (Ziel-Domäne) |
apikey | 1..1 | string | Gültiger API-Key zur Authentifizierung und Authorisierung des aufrufenden Systems gegenüber dem verarbeitenden Workflow-Manager |
Return Values (Out)
Name | Cardinality | Type | Documentation |
pseudonym-bf | 0..* | Ermitteltes bzw. generiertes studien- und standort-spezifisches Pseudonym | |
pseudonym-bf.bloomfilter | 1..1 | base64Binary | Bloomfilter |
pseudonym-bf.target | 1..1 | Identifier | die verwendete Ziel-Domäne (im Request übergeben) |
pseudonym-bf.pseudonym | 1..1 | Identifier | das in der Ziel-Domäne erzeugte Pseudonym. |
error | 0..* | Fehlerrückgabe bei Teil-Fehlern | |
error.bloomfilter | 0..1 | base64Binary | Bloomfilter |
error.target | 0..1 | Identifier | die verwendete Ziel-Domäne (im Request übergeben) |
error.error-code | 1..1 | Coding | 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>