Research Data Sharing IG
1.0.0 - CI Build International flag

Research Data Sharing IG, published by IEHR-Workgroup. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/InteropEHRate-project/research-data-sharing/ and changes regularly. See the Directory of published versions

Extension: Anonymization Extension-IEHR

Official URL: http://interopehrate.eu/fhir/StructureDefinition/AnonymizationExtension-IEHR Version: 1.0.0
Draft as of 2024-04-08 Computable Name: AnonymizationExtensionIEHR

This Extension describes the type of anonymization used in a ResearchStudy

Context of Use

This extension may be used on the following element(s):

  • Element ID DomainResource

Notes on the pseudonymization process

For the research scenario, random pseudonyms are used for privacy-preserving data sharing based on the signature scheme proposed in 'Jan Camenisch, Anna Lysyanskaya. "Signature Schemes and Anonymous Credentials from Bilinear Maps." CRYPTO 2004.'

This extension can be used in two different contexts with different meaning:

  1. ResearchStudy: If the extension is part of a ResearchStudy it represents how the answers to the study SHOULD be anonymized before they are sent to the Researchcenter.
  2. Other resources: If the extension is part of another resource it represents how the resource IS anonymized. Therefore a resource without this extension should be treated as not anomyized at all.

Usage info

Usage:

Formal Views of Extension Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

This structure is derived from Extension

Summary

Simple Extension of type Coding: This Extension describes the type of anonymization used in a ResearchStudy

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..* Extension Anonymization Type
... url 1..1 uri "http://interopehrate.eu/fhir/StructureDefinition/AnonymizationExtension-IEHR"
... value[x] 1..1 Coding Value of extension
Binding: Anonymization ValueSet (extensible)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..* Extension Anonymization Type
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... url 1..1 uri "http://interopehrate.eu/fhir/StructureDefinition/AnonymizationExtension-IEHR"

doco Documentation for this format

This structure is derived from Extension

Summary

Simple Extension of type Coding: This Extension describes the type of anonymization used in a ResearchStudy

Differential View

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..* Extension Anonymization Type
... url 1..1 uri "http://interopehrate.eu/fhir/StructureDefinition/AnonymizationExtension-IEHR"
... value[x] 1..1 Coding Value of extension
Binding: Anonymization ValueSet (extensible)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..* Extension Anonymization Type
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... url 1..1 uri "http://interopehrate.eu/fhir/StructureDefinition/AnonymizationExtension-IEHR"

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSetURI
Extension.value[x]extensibleAnonymizationValueSet
http://interopehrate.eu/fhir/ValueSet/AnonymizationValueSet-IEHR
from this IG

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()