pseudonymous
June 25, 2025 · View on GitHub
Pseudonymize FHIR🔥 resources from and to MongoDB databases
This is a command line tool to run pseudonymization / anonymization on FHIR resources via the FHIR® Pseudonymizer. It currently supports reading from a MongoDB database. Data from all collections are send to the FHIR pseudonymization service and written back to a target database and its collections accordingly.
Usage
The project name is the only required command line flag to provide when running the tool.
It is used by convention as a suffix to determine the source database (idat_fhir_[project]).
The target database name is set to psn_fhir_[project].
Configuration properties are set via a YAML file which defaults to app.yaml.
Usage:
pseudonymous [flags]
Flags:
-c, --config string config file (default is ./app.yaml)
-h, --help help for pseudonymous
-p, --project string project name (required)
Installation
Binary releases and docker images are available under releases.
Configuration properties
| Name | Default | Description |
|---|---|---|
app.log-level | info | Log level (error,warn,info,debug) |
app.concurrency | 5 | Number of concurrent threads |
gpas.domains | example: - patient: PATIENT - encounter: ENC | gPAS domain names and (part) prefix for auto-creating domains |
gpas.url | URL to the gPAS SOAP service for auto-creating domains | |
gpas.auth.basic.username | BasicAuth username for the gPAS SOAP endpoint | |
gpas.auth.basic.password | BasicAuth password for the gPAS SOAP endpoint | |
fhir.provider.mongodb.connection | mongodb://localhost | MongoDB connection string |
fhir.provider.mongodb.batch-size | 5000 | Batch size when reading data from the source database |
fhir.pseudonymizer.url | http://localhost:5000/fhir | FHIR® Pseudonymizer endpoint url |
fhir.pseudonymizer.auth.basic.username | BasicAuth username for the FHIR® Pseudonymizer endpoint | |
fhir.pseudonymizer.auth.basic.password | BasicAuth password for the FHIR® Pseudonymizer endpoint | |
fhir.pseudonymizer.retry.count | 10 | Retry count |
fhir.pseudonymizer.retry.timeout | 10 | Retry timeout |
fhir.pseudonymizer.retry.wait | 5 | Retry wait between retries |
fhir.pseudonymizer.retry.max-wait | 20 | Retry maximum wait |
Environment variables
Override configuration properties by providing environment variables with their respective names.
Upper case env variables are supported as well as underscores (_) instead of . and -.