RequestTasks
Zweck
Tasks sind Aufgaben, die ein Standort regelmäßig abruft und abarbeitet. Dies umfasst beispielsweise die Auflösung eines Clearing-Prozesses, wenn ein Privacy-Preserving Record Linkage zu einem uneindeutigem Ergebnis kam. Es wird empfohlen, die Aufgaben regelmäßig (und mehrmals die Woche) abzurufen. Andernfalls können uneindeutige Matches nicht aufgelöst werden und entsprechende Pseudonyme nicht vergeben werden. Aufgaben können sein: Einen vorhergehenden Request erneut senden, das Pseudonym nach einem Clearing-Prozess abrufen und am Standort hinterlegen, Identifizierende Daten zu einem vorher gesendeten Bloomfilter senden. Aufgaben haben ein Verfallsdatum. Werden diese nicht rechtzeitig abgearbeitet, wird der auslösende Prozess abgebrochen (z.B. Clearing-Prozess).
Voraussetzung
- Die spezifizierte Studie muss im Zielsystem bekannt und angelegt sein.
- Die standortspezifische Ziel-Domäne (target) muss im Zielsystem bekannt und angelegt sein.
- API-Key: Der spezifizierte API-Key muss valide und zum Aufruf der Methode autorisiert 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/$requestTasks
Der Funktionsaufruf liefert eine Parameters-Ressource bestehend aus multiplen Multi-Part-Parametern zurück.
Invocations
URL: [base]/$requestTasks
This operation does NOT change content
Parameters (In)
Name | Cardinality | Type | Documentation |
study | 1..1 | string | Angabe der Studie |
target | 1..1 | string | Angabe der Ziel-Domäne bzw. des abrufenden Standorts |
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 |
dic_psn_available | 0..* | Pseudonym-Rückgabe aus einem Bloomfilter-Request. | |
dic_psn_available.expires | 0..1 | instant | Ablaufdatum (danach ist die Information ungültig) |
dic_psn_available.bloomfilter | 1..1 | base64Binary | Bloomfilter |
dic_psn_available.target | 1..1 | Identifier | Target-Identifikator |
dic_psn_available.pseudonym | 1..1 | Identifier | Pseudonym |
send_idat | 0..* | Anforderung, IDAT zu übermitteln. | |
send_idat.expires | 1..1 | instant | Ablaufdatum (danach ist die Information ungültig) |
send_idat.taskId | 1..1 | id | Identifikator der Aufgabe, dient der Rückreferenzierung in der providePatientData Operation. |
send_idat.pseudonym | 0..1 | Identifier | Pseudonym. Entweder Pseudonym oder Bloomfilter müssen enthalten sein. |
send_idat.bloomfilter | 0..1 | base64Binary | Bloomfilter. Entweder Pseudonym oder Bloomfilter müssen enthalten sein. |
send_idat.element | 1..* | Coding | Vorgabe, welche Elemente in den IDAT von providePatientData enthalten sein sollen. Das Coding ist an das Value Set IdatElements gebunden. |
repeat_request | 0..* | Anforderung einen Bloomfilter-Request zu wiederholen. | |
repeat_request.expires | 0..1 | instant | Ablaufdatum (danach ist die Information ungültig) |
repeat_request.study | 1..1 | Identifier | Angabe der Studie |
repeat_request.bloomfilter | 1..1 | base64Binary | Studien- und standortspezifischer Bloomfilter (base64-codiert) |
repeat_request.target | 1..1 | Identifier | Angabe des Bloomfilter sendenden Standorts (Ziel-Domäne) |
Ein Standort kann seine offenen Aufgaben abrufen. Antwort ist eine Liste von Tasks.
Im Erfolgsfall wird der HTTP Statuscode 200 zurückgegeben.
Im Fehlerfall wird einer der folgenden HTTP Statuscodes in Verbindung mit einer OperationOutcome-Ressource zurückgegeben:
- 400: Fehlende oder fehlerhafte Parameter.
- 401: Fehlende Authentifizierung oder Autorisierung.
Beispiel
Beispielhafter Request-Body:
<Parameters xmlns="http://hl7.org/fhir"> <id value="Parameters-RequestTasks-request-example-1" /> <parameter> <name value="study" /> <valueString value="num" /> </parameter> <parameter> <name value="target" /> <valueString value="codex" /> </parameter> <parameter> <name value="apikey" /> <valueString value="abcdef12345" /> </parameter> </Parameters>
Beispielhafte Rückmeldung:
<Parameters xmlns="http://hl7.org/fhir"> <id value="Parameters-RequestTasks-response-example-1" /> <parameter> <name value="dic_psn_available" /> <part> <name value="bloomfilter" /> <valueBase64Binary value="SWNoIGJpbiBlaW4gQmxvb21maWx0ZXIuIFZlcnNwcm9jaGVuLg==" /> </part> <part> <name value="target" /> <valueIdentifier> <system value="https://ths-greifswald.de/gpas" /> <value value="codex" /> </valueIdentifier> </part> <part> <name value="pseudonym" /> <valueIdentifier> <system value="https://ths-greifswald.de/gpas" /> <value value="codex_6348Q7" /> </valueIdentifier> </part> </parameter> <parameter> <name value="send_idat" /> <part> <name value="expires" /> <valueInstant value="2021-05-28T13:00:00.00+02:00" /> </part> <part> <name value="taskId" /> <valueId value="064ddebf-b20e-468a-97fd-88097bcdbc11" /> </part> <part> <name value="pseudonym" /> <valueIdentifier> <system value="https://ths-greifswald.de/gpas" /> <value value="codex_1244Q2" /> </valueIdentifier> </part> <part> <name value="element" /> <valueCoding> <system value="https://ths-greifswald.de/fhir/CodeSystem/dispatcher/IdatElements" /> <code value="given" /> </valueCoding> </part> <part> <name value="element" /> <valueCoding> <system value="https://ths-greifswald.de/fhir/CodeSystem/dispatcher/IdatElements" /> <code value="family" /> </valueCoding> </part> <part> <name value="element" /> <valueCoding> <system value="https://ths-greifswald.de/fhir/CodeSystem/dispatcher/IdatElements" /> <code value="birthdate" /> </valueCoding> </part> <part> <name value="element" /> <valueCoding> <system value="https://ths-greifswald.de/fhir/CodeSystem/dispatcher/IdatElements" /> <code value="gender" /> </valueCoding> </part> <part> <name value="element" /> <valueCoding> <system value="https://ths-greifswald.de/fhir/CodeSystem/dispatcher/IdatElements" /> <code value="birthplace" /> </valueCoding> </part> <part> <name value="element" /> <valueCoding> <system value="https://ths-greifswald.de/fhir/CodeSystem/dispatcher/IdatElements" /> <code value="degree" /> </valueCoding> </part> </parameter> <parameter> <name value="repeat_request" /> <part> <name value="study" /> <valueIdentifier> <system value="https://ths-greifswald.de/gpas" /> <value value="num" /> </valueIdentifier> </part> <part> <name value="bloomfilter" /> <valueBase64Binary value="SWNoIGJpbiBlaW4gQmxvb21maWx0ZXIuIFZlcnNwcm9jaGVuLg==" /> </part> <part> <name value="target" /> <valueIdentifier> <system value="https://ths-greifswald.de/gpas" /> <value value="codex" /> </valueIdentifier> </part> </parameter> </Parameters>