From d78bef94907a88ce02d72087919b89491390f7c6 Mon Sep 17 00:00:00 2001 From: Andrey Listopadov Date: Fri, 3 Apr 2026 14:36:17 +0300 Subject: [PATCH 1/6] add de-identification section to SOF --- SUMMARY.md | 1 + docs/modules/sql-on-fhir/README.md | 6 + docs/modules/sql-on-fhir/de-identification.md | 337 ++++++++++++++++++ 3 files changed, 344 insertions(+) create mode 100644 docs/modules/sql-on-fhir/de-identification.md diff --git a/SUMMARY.md b/SUMMARY.md index d5f8c8edb..138cb885c 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -327,6 +327,7 @@ * [Defining flat views with view definitions](modules/sql-on-fhir/defining-flat-views-with-view-definitions.md) * [Migrate to the spec-compliant ViewDefinition format](modules/sql-on-fhir/migrate-to-the-spec-compliant-viewdefinition-format.md) * [Query data from flat views](modules/sql-on-fhir/query-data-from-flat-views.md) + * [De-identification](modules/sql-on-fhir/de-identification.md) * [Reference](modules/sql-on-fhir/reference.md) * [Integration Toolkit](modules/integration-toolkit/README.md) * [C-CDA / FHIR Converter](modules/integration-toolkit/ccda-converter/README.md) diff --git a/docs/modules/sql-on-fhir/README.md b/docs/modules/sql-on-fhir/README.md index d5821f4c7..08923eccb 100644 --- a/docs/modules/sql-on-fhir/README.md +++ b/docs/modules/sql-on-fhir/README.md @@ -22,6 +22,12 @@ Once your flat view is defined and materialized, you can query data from it usin See [Query data from flat views](./query-data-from-flat-views.md). +## De-identification + +ViewDefinition columns can be annotated with de-identification methods to transform sensitive data during SQL generation. Supported methods include redact, cryptoHash, dateshift, encrypt, substitute, perturb, and custom PostgreSQL functions. + +See [De-identification](./de-identification.md). + ## SQL on FHIR reference To dive deeper into the nuances of using SQL on FHIR in Aidbox, consult the reference page. diff --git a/docs/modules/sql-on-fhir/de-identification.md b/docs/modules/sql-on-fhir/de-identification.md new file mode 100644 index 000000000..a7ce65d76 --- /dev/null +++ b/docs/modules/sql-on-fhir/de-identification.md @@ -0,0 +1,337 @@ +# De-identification + +Aidbox supports per-column de-identification in ViewDefinitions via a FHIR extension. When a column has a de-identification extension, the SQL compiler wraps the column expression with a PostgreSQL function that transforms the value before it reaches the output. + +This works with all ViewDefinition operations: `$run`, `$sql`, and `$materialize`. + +## Extension format + +Add the de-identification extension to any column in the `select` array: + +```json +{ + "name": "birth_date", + "path": "birthDate", + "extension": [ + { + "url": "http://health-samurai.io/fhir/core/StructureDefinition/de-identification", + "extension": [ + {"url": "method", "valueCode": "dateshift"}, + {"url": "dateShiftKey", "valueString": "my-secret-key"} + ] + } + ] +} +``` + +The extension uses sub-extensions for the method and its parameters. The `method` sub-extension is required and specifies which de-identification method to apply. + +## Methods + +### redact + +Replaces the value with NULL. No parameters. + +```json +{"url": "method", "valueCode": "redact"} +``` + +### cryptoHash + +Replaces the value with its HMAC-SHA256 hash (hex-encoded). Deterministic — same input always produces the same hash. One-way, cannot be reversed. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| cryptoHashKey | string | yes | HMAC secret key | + +```json +[ + {"url": "method", "valueCode": "cryptoHash"}, + {"url": "cryptoHashKey", "valueString": "my-hash-key"} +] +``` + +### dateshift + +Shifts date and dateTime values by a deterministic offset derived from the resource id. All dates within the same resource shift by the same number of days, preserving temporal relationships. The offset range is -50 to +50 days. + +Year-only values (`"2000"`) and year-month values (`"2000-06"`) cannot be shifted meaningfully and are replaced with NULL. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| dateShiftKey | string | yes | HMAC key used to compute the per-resource offset | + +```json +[ + {"url": "method", "valueCode": "dateshift"}, + {"url": "dateShiftKey", "valueString": "my-shift-key"} +] +``` + +### birthDateSafeHarbor + +Intended **only for `Patient.birthDate`**. Behaves like `dateshift` but returns NULL when the birth date implies the patient is over 89 years old, per HIPAA Safe Harbor rule 45 CFR 164.514(b)(2)(i)(C). + +Applying this method to any other date column is semantically incorrect — the function computes `age(current_date, input)` and treats the input as a birth date. Use plain `dateshift` for non-birth-date fields. + +Because the function depends on `current_date`, it is marked `STABLE` rather than `IMMUTABLE`. The age cutoff re-evaluates on every query. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| dateShiftKey | string | yes | HMAC key used to compute the per-resource offset | + +```json +[ + {"url": "method", "valueCode": "birthDateSafeHarbor"}, + {"url": "dateShiftKey", "valueString": "my-shift-key"} +] +``` + +### encrypt + +AES-128-CBC encrypts the value and returns a base64-encoded string. Reversible with the key. Uses a zero initialization vector for deterministic output — same plaintext always produces the same ciphertext. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| encryptKey | string | yes | Hex-encoded AES-128 key (32 hex characters = 16 bytes) | + +```json +[ + {"url": "method", "valueCode": "encrypt"}, + {"url": "encryptKey", "valueString": "0123456789abcdef0123456789abcdef"} +] +``` + +### substitute + +Replaces the value with a fixed string. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| replaceWith | string | yes | Replacement value | + +```json +[ + {"url": "method", "valueCode": "substitute"}, + {"url": "replaceWith", "valueString": "REDACTED"} +] +``` + +### perturb + +Adds random noise to numeric values. The result is non-deterministic — each query produces different output. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| span | decimal | no | Noise magnitude. Default: 1.0 | +| rangeType | code | no | `fixed` (absolute noise) or `proportional` (relative to value). Default: `fixed` | +| roundTo | integer | no | Decimal places to round to. 0 means integer. Default: 0 | + +With `fixed` range type, noise is in the range ±span/2. With `proportional`, noise is ±(span × value)/2. Any other `rangeType` value raises a SQL error. + +```json +[ + {"url": "method", "valueCode": "perturb"}, + {"url": "span", "valueDecimal": 10}, + {"url": "rangeType", "valueCode": "fixed"}, + {"url": "roundTo", "valueInteger": 0} +] +``` + +### custom_function + +Applies a user-provided PostgreSQL function. The function must already exist in the database. Its first argument is the column value cast to text. An optional second argument can be passed via `custom_arg`. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| custom_function | string | yes | PostgreSQL function name. Must match `^[a-zA-Z][a-zA-Z0-9_.]*$` | +| custom_arg | string, integer, decimal, boolean, or code | no | Optional second argument | + +```json +[ + {"url": "method", "valueCode": "custom_function"}, + {"url": "custom_function", "valueString": "left"}, + {"url": "custom_arg", "valueInteger": 4} +] +``` + +This example uses the built-in PostgreSQL `left` function to keep only the first 4 characters (e.g. extracting just the year from a date string). + +## Example ViewDefinition + +A complete ViewDefinition that de-identifies Patient data: + +```json +{ + "resourceType": "ViewDefinition", + "id": "deident-patients", + "name": "deident_patients", + "status": "active", + "resource": "Patient", + "select": [{ + "column": [{ + "name": "id", + "path": "id", + "extension": [{ + "url": "http://health-samurai.io/fhir/core/StructureDefinition/de-identification", + "extension": [{ + "url": "method", + "valueCode": "cryptoHash" + }, { + "url": "cryptoHashKey", + "valueString": "patient-hash-key" + }] + }] + }, { + "name": "gender", + "path": "gender" + }, { + "name": "birth_date", + "path": "birthDate", + "extension": [{ + "url": "http://health-samurai.io/fhir/core/StructureDefinition/de-identification", + "extension": [{ + "url": "method", + "valueCode": "dateshift" + }, { + "url": "dateShiftKey", + "valueString": "date-shift-key" + }] + }] + }] + }, { + "forEach": "name", + "select": [{ + "column": [{ + "name": "use", + "path": "use" + }, { + "name": "family", + "path": "family", + "extension": [{ + "url": "http://health-samurai.io/fhir/core/StructureDefinition/de-identification", + "extension": [{ + "url": "method", + "valueCode": "redact" + }] + }] + }] + }] + }, { + "forEach": "address", + "select": [{ + "column": [{ + "name": "state", + "path": "state" + }, { + "name": "postal_code", + "path": "postalCode", + "extension": [{ + "url": "http://health-samurai.io/fhir/core/StructureDefinition/de-identification", + "extension": [{ + "url": "method", + "valueCode": "substitute" + }, { + "url": "replaceWith", + "valueString": "000" + }] + }] + }] + }] + }] +} +``` + +In this example: + +- `id` is replaced with a consistent hash +- `gender` passes through unchanged (no extension) +- `birthDate` is shifted by a deterministic offset per patient +- `name.family` is redacted (NULL) +- `name.use` passes through (code values are not PHI) +- `address.state` passes through (safe at state level) +- `address.postalCode` is replaced with "000" + +## Materialization restriction + +A ViewDefinition that contains any de-identification extension can only be materialized as a `table`. Attempting to materialize as `view` or `materialized-view` returns HTTP 422 with an OperationOutcome: + +> ViewDefinitions with de-identification extensions can only be materialized as 'table'. Views and materialized views expose cryptographic keys in PostgreSQL system catalogs. + +This restriction exists because PostgreSQL stores the full view definition (including the compiled SQL with embedded keys) in `pg_views.definition` and `pg_matviews.definition`. Any user with `SELECT` on those catalogs would see the `cryptoHashKey`, `dateShiftKey`, or `encryptKey` values in plaintext. Tables materialize the transformed data only, leaving the keys inside the ViewDefinition resource itself (which is access-controlled). + +`$run` and `$sql` are unaffected — they return data or SQL strings directly without storing anything in system catalogs. + +## Pre-built ViewDefinitions + +Aidbox ships an IG package `io.health-samurai.de-identification.r4` with ready-made Safe Harbor ViewDefinitions for common FHIR R4 resource types: + +| Resource | Use | +|----------|-----| +| Patient | Uses `birthDateSafeHarbor` on `birthDate`, cryptoHash on `id`, redact on name/address identifiers | +| Encounter, Condition, Observation | `dateshift` on clinical dates, cryptoHash on references | +| Claim, ExplanationOfBenefit | `dateshift` on billable periods | +| AllergyIntolerance, DiagnosticReport, MedicationRequest, MedicationDispense, MedicationAdministration, Immunization, Procedure, Specimen, DocumentReference | Same general approach | +| Practitioner, Location | Identifier redaction | + +Install the package via FHIR package management and use these ViewDefinitions directly, or copy and customize them. Every cryptographic key parameter in the pre-built VDs is blank (`""`) — you must set real keys before using them for actual de-identification. + +## Using the UI + +The ViewDefinition builder in Aidbox UI includes a de-identification picker on each column. Click the shield icon next to a column's path to open the configuration popover. + +When a de-identification method is configured, the shield icon turns blue. Hovering shows the current method name. + +## Writing custom PostgreSQL functions + +Custom functions referenced via `custom_function` must: + +- Accept `text` as the first argument (the column value) +- Optionally accept a second argument of any type (passed via `custom_arg`) +- Already exist in the database before the ViewDefinition is executed + +Example: + +```sql +CREATE OR REPLACE FUNCTION my_mask(value text) +RETURNS text LANGUAGE sql IMMUTABLE PARALLEL SAFE AS $$ + SELECT CASE + WHEN value IS NULL THEN NULL + ELSE left(value, 1) || repeat('*', greatest(length(value) - 1, 0)) + END; +$$; +``` + +Then reference it in a column: + +```json +{ + "url": "http://health-samurai.io/fhir/core/StructureDefinition/de-identification", + "extension": [ + {"url": "method", "valueCode": "custom_function"}, + {"url": "custom_function", "valueString": "my_mask"} + ] +} +``` + +## Security considerations + +### Key management + +Cryptographic keys (`cryptoHashKey`, `dateShiftKey`, `encryptKey`) are stored as plaintext strings inside the ViewDefinition resource. Anyone with read access to the ViewDefinition can see the keys. + +Restrict access to ViewDefinition resources using [AccessPolicy](../../access-control/authorization/README.md) to ensure only authorized users can view or modify de-identification configurations. + +### SQL injection prevention + +The `custom_function` parameter is validated against `^[a-zA-Z][a-zA-Z0-9_.]*$` — only letters, digits, underscores, and dots are allowed. This validation happens both in the Aidbox UI and in the SQL compiler. String arguments passed via `custom_arg` are safely escaped by the SQL generator. + +### Encryption limitations + +The `encrypt` method uses AES-128-CBC with a zero initialization vector. This makes encryption deterministic — the same plaintext always produces the same ciphertext, which is useful for consistent de-identification but leaks frequency information. This is not suitable for general-purpose encryption. + +See also: + +- [Defining flat views with view definitions](./defining-flat-views-with-view-definitions.md) +- [$run operation](./operation-run.md) +- [$materialize operation](./operation-materialize.md) From 0bafbc832082dbc169e50c7a5731d00ec4d9d1b5 Mon Sep 17 00:00:00 2001 From: Andrey Listopadov Date: Thu, 16 Apr 2026 11:15:37 +0300 Subject: [PATCH 2/6] mention breaking change for SOF without fhir-schema mode --- docs/modules/sql-on-fhir/README.md | 6 +++--- docs/modules/sql-on-fhir/de-identification.md | 16 ++++++++++------ .../modules/sql-on-fhir/operation-materialize.md | 2 +- docs/modules/sql-on-fhir/operation-run.md | 2 +- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/modules/sql-on-fhir/README.md b/docs/modules/sql-on-fhir/README.md index 08923eccb..e32065862 100644 --- a/docs/modules/sql-on-fhir/README.md +++ b/docs/modules/sql-on-fhir/README.md @@ -4,8 +4,8 @@ description: Create flat SQL views from FHIR resources using ViewDefinitions for # SQL on FHIR -{% hint style="info" %} -**SQL on FHIR** engine is currently in **preview** +{% hint style="warning" %} +Starting from version **2604**, SQL on FHIR requires **fhir-schema mode** (`fhir.validation.fhir-schema-validation=true`). ViewDefinitions are stored in the FHIR Artifact Registry (FAR), which is only available in fhir-schema mode. Without it, ViewDefinition CRUD, `$run`, `$sql`, and `$materialize` operations will not work. {% endhint %} Performing analysis on FHIR data requires extracting data from deeply nested structures of resources, which may be cumbersome in some cases. To address this problem, Aidbox implements [SQL on FHIR](https://build.fhir.org/ig/FHIR/sql-on-fhir-v2/index.html) specification allowing users to create flat views of their resources in a simple, straightforward way @@ -24,7 +24,7 @@ See [Query data from flat views](./query-data-from-flat-views.md). ## De-identification -ViewDefinition columns can be annotated with de-identification methods to transform sensitive data during SQL generation. Supported methods include redact, cryptoHash, dateshift, encrypt, substitute, perturb, and custom PostgreSQL functions. +Starting from version **2604**, ViewDefinition columns can be annotated with de-identification methods to transform sensitive data during SQL generation. Supported methods include redact, cryptoHash, dateshift, encrypt, substitute, perturb, and custom PostgreSQL functions. See [De-identification](./de-identification.md). diff --git a/docs/modules/sql-on-fhir/de-identification.md b/docs/modules/sql-on-fhir/de-identification.md index a7ce65d76..6670f3416 100644 --- a/docs/modules/sql-on-fhir/de-identification.md +++ b/docs/modules/sql-on-fhir/de-identification.md @@ -1,9 +1,13 @@ # De-identification -Aidbox supports per-column de-identification in ViewDefinitions via a FHIR extension. When a column has a de-identification extension, the SQL compiler wraps the column expression with a PostgreSQL function that transforms the value before it reaches the output. +Starting from version **2604**, Aidbox supports per-column de-identification in ViewDefinitions via a FHIR extension. When a column has a de-identification extension, the SQL compiler wraps the column expression with a PostgreSQL function that transforms the value before it reaches the output. This works with all ViewDefinition operations: `$run`, `$sql`, and `$materialize`. +{% hint style="info" %} +Requires **fhir-schema mode**. See [SQL on FHIR prerequisites](./README.md). +{% endhint %} + ## Extension format Add the de-identification extension to any column in the `select` array: @@ -70,11 +74,11 @@ Year-only values (`"2000"`) and year-month values (`"2000-06"`) cannot be shifte ### birthDateSafeHarbor -Intended **only for `Patient.birthDate`**. Behaves like `dateshift` but returns NULL when the birth date implies the patient is over 89 years old, per HIPAA Safe Harbor rule 45 CFR 164.514(b)(2)(i)(C). +Intended **only for `Patient.birthDate`**. Behaves like `dateshift` but returns NULL when the birth date implies the patient is over 89 years old, per HIPAA Safe Harbor rule [45 CFR 164.514(b)(2)(i)(C)](https://www.ecfr.gov/current/title-45/subtitle-A/subchapter-C/part-164/subpart-E/section-164.514). Applying this method to any other date column is semantically incorrect — the function computes `age(current_date, input)` and treats the input as a birth date. Use plain `dateshift` for non-birth-date fields. -Because the function depends on `current_date`, it is marked `STABLE` rather than `IMMUTABLE`. The age cutoff re-evaluates on every query. +Because the function depends on `current_date`, it is marked [`STABLE`](https://www.postgresql.org/docs/current/xfunc-volatility.html) rather than `IMMUTABLE` — PostgreSQL guarantees it returns the same result within a single transaction, but the result may differ between transactions as the current date changes. This means the age cutoff re-evaluates on every query. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| @@ -127,7 +131,7 @@ Adds random noise to numeric values. The result is non-deterministic — each qu | rangeType | code | no | `fixed` (absolute noise) or `proportional` (relative to value). Default: `fixed` | | roundTo | integer | no | Decimal places to round to. 0 means integer. Default: 0 | -With `fixed` range type, noise is in the range ±span/2. With `proportional`, noise is ±(span × value)/2. Any other `rangeType` value raises a SQL error. +With `fixed` range type, noise is in the range `±span/2`. With `proportional`, noise is `±(span × value)/2`. Any other `rangeType` value raises a SQL error. ```json [ @@ -145,7 +149,7 @@ Applies a user-provided PostgreSQL function. The function must already exist in | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | custom_function | string | yes | PostgreSQL function name. Must match `^[a-zA-Z][a-zA-Z0-9_.]*$` | -| custom_arg | string, integer, decimal, boolean, or code | no | Optional second argument | +| custom_arg | any primitive | no | Optional second argument, passed as a FHIR sub-extension using the appropriate `value[x]` type: `valueString`, `valueInteger`, `valueDecimal`, `valueBoolean`, or `valueCode` | ```json [ @@ -264,7 +268,7 @@ This restriction exists because PostgreSQL stores the full view definition (incl ## Pre-built ViewDefinitions -Aidbox ships an IG package `io.health-samurai.de-identification.r4` with ready-made Safe Harbor ViewDefinitions for common FHIR R4 resource types: +The IG package `io.health-samurai.de-identification.r4` provides ready-made Safe Harbor ViewDefinitions for common FHIR R4 resource types. Install it via FAR (Aidbox's artifact registry): | Resource | Use | |----------|-----| diff --git a/docs/modules/sql-on-fhir/operation-materialize.md b/docs/modules/sql-on-fhir/operation-materialize.md index 69f2236fa..f200993db 100644 --- a/docs/modules/sql-on-fhir/operation-materialize.md +++ b/docs/modules/sql-on-fhir/operation-materialize.md @@ -8,7 +8,7 @@ description: Materializing SQL-on-FHIR ViewDefinitions as database tables, views {% endhint %} {% hint style="warning" %} -When running Aidbox not in FHIRSchema mode, please be aware that input parameters for the `$materialize` operation are not validated against FHIR specifications. +Requires **fhir-schema mode**. See [SQL on FHIR prerequisites](./README.md). {% endhint %} {% hint style="info" %} diff --git a/docs/modules/sql-on-fhir/operation-run.md b/docs/modules/sql-on-fhir/operation-run.md index e58fdfb28..3cb6c8e43 100644 --- a/docs/modules/sql-on-fhir/operation-run.md +++ b/docs/modules/sql-on-fhir/operation-run.md @@ -4,7 +4,7 @@ description: Using the $run operation to execute SQL-on-FHIR ViewDefinitions # $run operation {% hint style="warning" %} -When running Aidbox not in FHIRSchema mode, please be aware that input parameters for the `$run` operation are not validated against FHIR specifications. +Requires **fhir-schema mode**. See [SQL on FHIR prerequisites](./README.md). {% endhint %} {% hint style="info" %} From 595bf53758425007b3aa55c9636c328851eb50ad Mon Sep 17 00:00:00 2001 From: Andrey Listopadov Date: Fri, 17 Apr 2026 14:39:18 +0300 Subject: [PATCH 3/6] add screenshot --- assets/deident-viewdefinition-builder.png | Bin 0 -> 199646 bytes docs/modules/sql-on-fhir/de-identification.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 assets/deident-viewdefinition-builder.png diff --git a/assets/deident-viewdefinition-builder.png b/assets/deident-viewdefinition-builder.png new file mode 100644 index 0000000000000000000000000000000000000000..68492454917a6e20d316658dd40d13296491e62b GIT binary patch literal 199646 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

PnB;PZ1g1mUM-t%3hBBAEYhy3}cb8@4J!Ro(it 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 Date: Fri, 17 Apr 2026 17:48:55 +0300 Subject: [PATCH 4/6] add result example --- docs/modules/sql-on-fhir/de-identification.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/modules/sql-on-fhir/de-identification.md b/docs/modules/sql-on-fhir/de-identification.md index 8f93eef9e..d775b0606 100644 --- a/docs/modules/sql-on-fhir/de-identification.md +++ b/docs/modules/sql-on-fhir/de-identification.md @@ -204,12 +204,9 @@ A complete ViewDefinition that de-identifies Patient data: }] }] }, { - "forEach": "name", + "forEachOrNull": "name", "select": [{ "column": [{ - "name": "use", - "path": "use" - }, { "name": "family", "path": "family", "extension": [{ @@ -222,12 +219,9 @@ A complete ViewDefinition that de-identifies Patient data: }] }] }, { - "forEach": "address", + "forEachOrNull": "address", "select": [{ "column": [{ - "name": "state", - "path": "state" - }, { "name": "postal_code", "path": "postalCode", "extension": [{ @@ -252,10 +246,16 @@ In this example: - `gender` passes through unchanged (no extension) - `birthDate` is shifted by a deterministic offset per patient - `name.family` is redacted (NULL) -- `name.use` passes through (code values are not PHI) -- `address.state` passes through (safe at state level) - `address.postalCode` is replaced with "000" +The result from the `$run` operation would look like this: + +| `id` | `gender` | `birth_date` | `family` | `postal_code` | +|------------------------------------------------------------------|----------|--------------|----------|---------------| +| a9c063ce560ab35c2156d4bf153457d8c7b0ad6325c1c4112b34eb7147aaa8f9 | female | 1985-03-02 | null | 000 | +| 6e7dfba4a51c359ead0afd9e3ff542c9417505957bf374e510eb37ec020fbc12 | male | 1952-11-12 | null | 000 | +| 27fb6fd29c5657c1a122aa1ae28cdfc5e10b202c6dc7d498cec72609b3a1b447 | female | 1930-05-08 | null | 000 | + ## Materialization restriction A ViewDefinition that contains any de-identification extension can only be materialized as a `table`. Attempting to materialize as `view` or `materialized-view` returns HTTP 422 with an OperationOutcome: From ff5f0caf0a6da1a40eea079e457b9bf26ccff5fb Mon Sep 17 00:00:00 2001 From: Andrey Listopadov Date: Fri, 17 Apr 2026 17:53:15 +0300 Subject: [PATCH 5/6] remove link --- docs/modules/sql-on-fhir/de-identification.md | 2 +- docs/modules/sql-on-fhir/operation-materialize.md | 2 +- docs/modules/sql-on-fhir/operation-run.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/modules/sql-on-fhir/de-identification.md b/docs/modules/sql-on-fhir/de-identification.md index d775b0606..5d9022555 100644 --- a/docs/modules/sql-on-fhir/de-identification.md +++ b/docs/modules/sql-on-fhir/de-identification.md @@ -5,7 +5,7 @@ Starting from version **2604**, Aidbox supports per-column de-identification in This works with all ViewDefinition operations: `$run`, `$sql`, and `$materialize`. {% hint style="info" %} -Requires **fhir-schema mode**. See [SQL on FHIR prerequisites](./README.md). +Requires **fhir-schema mode**. {% endhint %} ## Extension format diff --git a/docs/modules/sql-on-fhir/operation-materialize.md b/docs/modules/sql-on-fhir/operation-materialize.md index f200993db..2251da708 100644 --- a/docs/modules/sql-on-fhir/operation-materialize.md +++ b/docs/modules/sql-on-fhir/operation-materialize.md @@ -8,7 +8,7 @@ description: Materializing SQL-on-FHIR ViewDefinitions as database tables, views {% endhint %} {% hint style="warning" %} -Requires **fhir-schema mode**. See [SQL on FHIR prerequisites](./README.md). +Requires **fhir-schema mode**. {% endhint %} {% hint style="info" %} diff --git a/docs/modules/sql-on-fhir/operation-run.md b/docs/modules/sql-on-fhir/operation-run.md index 3cb6c8e43..b7b8cefff 100644 --- a/docs/modules/sql-on-fhir/operation-run.md +++ b/docs/modules/sql-on-fhir/operation-run.md @@ -4,7 +4,7 @@ description: Using the $run operation to execute SQL-on-FHIR ViewDefinitions # $run operation {% hint style="warning" %} -Requires **fhir-schema mode**. See [SQL on FHIR prerequisites](./README.md). +Requires **fhir-schema mode**. {% endhint %} {% hint style="info" %} From 8da39cb686e9e7e5972abac15c58adb088df633a Mon Sep 17 00:00:00 2001 From: Andrey Listopadov Date: Mon, 20 Apr 2026 12:07:34 +0300 Subject: [PATCH 6/6] fix review notes --- docs/modules/sql-on-fhir/de-identification.md | 29 +++++++------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/docs/modules/sql-on-fhir/de-identification.md b/docs/modules/sql-on-fhir/de-identification.md index 5d9022555..f855b0bc0 100644 --- a/docs/modules/sql-on-fhir/de-identification.md +++ b/docs/modules/sql-on-fhir/de-identification.md @@ -106,6 +106,14 @@ AES-128-CBC encrypts the value and returns a base64-encoded string. Reversible w ] ``` +{% hint style="warning" %} +**Key management.** Cryptographic keys (`cryptoHashKey`, `dateShiftKey`, `encryptKey`) are stored as plaintext strings inside the ViewDefinition resource. Anyone with read access to the ViewDefinition can see the keys. Restrict access using [AccessPolicy](../../access-control/authorization/README.md). +{% endhint %} + +{% hint style="warning" %} +**Encryption limitations.** `encrypt` uses AES-128-CBC with a zero initialization vector. Encryption is deterministic — same plaintext always produces same ciphertext, which is useful for consistent de-identification but leaks frequency information. Not suitable for general-purpose encryption. +{% endhint %} + ### substitute Replaces the value with a fixed string. @@ -160,6 +168,7 @@ Applies a user-provided PostgreSQL function. The function must already exist in ``` This example uses the built-in PostgreSQL `left` function to keep only the first 4 characters (e.g. extracting just the year from a date string). +See also: [Writing custom PostgreSQL functions](#writing-custom-postgresql-functions) ## Example ViewDefinition @@ -260,15 +269,13 @@ The result from the `$run` operation would look like this: A ViewDefinition that contains any de-identification extension can only be materialized as a `table`. Attempting to materialize as `view` or `materialized-view` returns HTTP 422 with an OperationOutcome: -> ViewDefinitions with de-identification extensions can only be materialized as 'table'. Views and materialized views expose cryptographic keys in PostgreSQL system catalogs. - This restriction exists because PostgreSQL stores the full view definition (including the compiled SQL with embedded keys) in `pg_views.definition` and `pg_matviews.definition`. Any user with `SELECT` on those catalogs would see the `cryptoHashKey`, `dateShiftKey`, or `encryptKey` values in plaintext. Tables materialize the transformed data only, leaving the keys inside the ViewDefinition resource itself (which is access-controlled). `$run` and `$sql` are unaffected — they return data or SQL strings directly without storing anything in system catalogs. ## Pre-built ViewDefinitions -The IG package `io.health-samurai.de-identification.r4` provides ready-made Safe Harbor ViewDefinitions for common FHIR R4 resource types. Install it via FAR (Aidbox's artifact registry): +The IG package `io.health-samurai.de-identification.r4` provides ready-made Safe Harbor ViewDefinitions for common FHIR R4 resource types. Install it via [Artefact Registry](../../artifact-registry/artifact-registry-overview.md) ("FHIR packages" in Aidbox UI): | Resource | Use | |----------|-----| @@ -320,22 +327,6 @@ Then reference it in a column: } ``` -## Security considerations - -### Key management - -Cryptographic keys (`cryptoHashKey`, `dateShiftKey`, `encryptKey`) are stored as plaintext strings inside the ViewDefinition resource. Anyone with read access to the ViewDefinition can see the keys. - -Restrict access to ViewDefinition resources using [AccessPolicy](../../access-control/authorization/README.md) to ensure only authorized users can view or modify de-identification configurations. - -### SQL injection prevention - -The `custom_function` parameter is validated against `^[a-zA-Z][a-zA-Z0-9_.]*$` — only letters, digits, underscores, and dots are allowed. This validation happens both in the Aidbox UI and in the SQL compiler. String arguments passed via `custom_arg` are safely escaped by the SQL generator. - -### Encryption limitations - -The `encrypt` method uses AES-128-CBC with a zero initialization vector. This makes encryption deterministic — the same plaintext always produces the same ciphertext, which is useful for consistent de-identification but leaks frequency information. This is not suitable for general-purpose encryption. - See also: - [Defining flat views with view definitions](./defining-flat-views-with-view-definitions.md)