Skip to content

add de-identification section to SOF#5

Open
andreyorst wants to merge 5 commits intomainfrom
de-identification
Open

add de-identification section to SOF#5
andreyorst wants to merge 5 commits intomainfrom
de-identification

Conversation

@andreyorst
Copy link
Copy Markdown
Contributor

No description provided.

@andreyorst andreyorst requested a review from spicyfalafel April 3, 2026 11:37
@andreyorst andreyorst marked this pull request as draft April 3, 2026 11:40
@andreyorst andreyorst marked this pull request as ready for review April 3, 2026 12:06
Comment thread docs/modules/sql-on-fhir/README.md Outdated
Comment thread docs/modules/sql-on-fhir/de-identification.md Outdated
Comment thread docs/modules/sql-on-fhir/de-identification.md
Comment thread docs/SUMMARY.md Outdated
Comment thread docs/modules/sql-on-fhir/README.md Outdated
Comment thread docs/modules/sql-on-fhir/de-identification.md Outdated
Comment thread docs/modules/sql-on-fhir/de-identification.md Outdated
Comment thread docs/modules/sql-on-fhir/de-identification.md Outdated
@andreyorst andreyorst requested a review from spicyfalafel April 17, 2026 11:56
Comment thread docs/modules/sql-on-fhir/operation-run.md Outdated
Comment thread docs/modules/sql-on-fhir/operation-materialize.md Outdated
Comment thread docs/modules/sql-on-fhir/de-identification.md Outdated
Comment thread docs/modules/sql-on-fhir/de-identification.md
@andreyorst andreyorst requested a review from spicyfalafel April 17, 2026 14:55

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.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can remove this line because the next sentence already explains the restriction


## 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):
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How to do it? Can't find it. Can you specify it here?

Image


## 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):
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FAR is not used widely in docs, and in UI, it is not FAR anymore.

"via FAR (Aidbox's artifact registry)" -> "via [Artefact Registry](relative-path/artifact-registry/artifact-registry-overview) ("FHIR packages" in Aidbox UI)"

```

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).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add here "See also: [Writing custom PostgreSQL functions](#writing-custom-postgresql-functions)"

Comment thread docs/modules/sql-on-fhir/de-identification.md

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
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We didn't write about SQL injection prevention in the docs before. It is cool that we do it, but we don't have to point to it. Maybe it's just me, but I think it is redundant here.

}
```

## Security considerations
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not much here. We can split "key management" and "encryption limitations" content into hints in "## encrypt" section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants