Pseudonymize

The REST interface Pseudonymize accepts a (list of ) FHIR Bundle(s) of the form TrustcenterBundle as input. This consists of several specific FHIR profiles defined in this section.

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:

  1. 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.
  2. 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": [
					{
						"use": "official",
						"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": [
					{
						"use": "official",
						"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"
			}
		}
	]
}