Pseudonymize
The REST interface Pseudonymize
accepts a (list of ) FHIR Bundle(s) as input.
Multi-PSN Support
Since version 2.1.0, multi-psn support is included. This means, that for each entity (e.g. patient), multiple pseudonyms can be created, e.g. on a per project basis. Note that a so-called internal pseudonym is created in any case. This is the pseudonym used in the default case (see below). In case a target system is provided a so-called external pseudonym is created in addition to the internal pseudonym (see below).
Request overview
No. | Name | URL | Required client role | Request type | Request param | Request body |
---|---|---|---|---|---|---|
1 | Pseudonymize | server:port/v1/process |
trustcenter-facade (usage-allowed), backend-entitylist (usage-allowed) (since v5.0.0) |
POST | targetSystem |
JSON FHIR Bundle |
2 | Pseudonymize | server:port/v1/process/all |
trustcenter-facade (usage-allowed), backend-entitylist (usage-allowed) (since v5.0.0) |
POST | targetSystem |
List of JSON FHIR Bundles |
Request Parameter targetSystem
The target system is used to implement project-specific pseudonymization, or multi-PSN support, as described above. It has implications on two levels:
- Pseudonym alphabet. If no target system is provided the pseudonym will be generated from the default BASE64 alphabet. If a target system is provided, the pseudonym will be generated from the specified alphabet for this target system, or from the default alphabet otherwise. The alphabet specification has to be provided to the system during installation via the .env file.
- Transport encryption. Transport encryption means that when using the pseudonymization interface, pseudonyms will be encrypted in the response. This encryption behavior can be controlled via configuration parameters for the default case and each desired target system separately (via the env. file).
Example
Input
{ "resourceType":"Bundle", "entry":[ { "resource":{ "resourceType":"Encounter", "identifier":[ { "system":"Test", "value":"identifier-value-123", "period":{ "start":"2017-01-01T10:46:19+01:00", "end":"2017-02-01T10:46:19+01:00" } } ] } }, { "resource":{ "resourceType":"Patient", "identifier":[ { "system":"Test", "value":"ABC123" } ], "name":[ { "use":"official", "family":"Müller", "_family":{ "extension":[ { "url":"http://hl7.org/fhir/StructureDefinition/humanname-own-name", "valueString":"Musterman" } ] }, "given":[ "Erika" ] } ], "gender":"female", "birthDate":"1970-02-01" } } ] }
Output
{ "resourceType":"Bundle", "entry":[ { "resource":{ "resourceType":"Encounter", "identifier":[ { "use":"secondary", "system":"urn:fdc:difuture.de:trustcenter.encrypted", "value":"aKPgN1AHKhMstGRprcZlL73tbWxkPmc9WHqLIIgIVMJ..." } ] }, "response":{ "status":"200 OK" } }, { "resource":{ "resourceType":"Patient", "identifier":[ { "use":"secondary", "system":"urn:fdc:difuture.de:trustcenter.encrypted", "value":"crufPesk+jWwrdvy+4VJXvxnIptNEpNRrB48aVUZNrJp..." } ], "gender":"female", "birthDate":"1970" }, "response":{ "status":"200 OK" } } ] }