{
"description": "This holds a pseudonymized key that can be used for all encrypted fields in the resource (long text pseudonymisation)",
"_filename": "StructureDefinition-be-ext-key-pseudonymization.json",
"package_name": "hl7.fhir.be.infsec",
"date": "2024-11-12T09:30:06+01:00",
"derivation": "constraint",
"publisher": "eHealth Platform",
"fhirVersion": "4.0.1",
"jurisdiction": [ {
"coding": [ {
"code": "BE",
"system": "urn:iso:std:iso:3166",
"display": "Belgium"
} ]
} ],
"name": "BeExtKeyPseudonymization",
"mapping": [ {
"uri": "http://hl7.org/v3",
"name": "RIM Mapping",
"identity": "rim"
} ],
"abstract": false,
"type": "Extension",
"experimental": null,
"resourceType": "StructureDefinition",
"title": "Key Pseudonymization Extension",
"package_version": "1.2.0",
"snapshot": {
"element": [ {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension",
"min": 0,
"definition": "This holds a pseudonymized key that can be used for all encrypted fields in the resource (long text pseudonymisation)",
"isModifier": false,
"short": "Pseudonymization key (See Blinded Pseudonymization Cookbook, Annex: Processing of input data exceeding 32\nbytes)",
"max": "*",
"id": "Extension",
"condition": [ "ele-1" ],
"base": {
"max": "*",
"min": 0,
"path": "Extension"
}
}, {
"path": "Extension.id",
"min": 1,
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"isModifier": false,
"short": "kid (also available in JWE)",
"mapping": [ {
"map": "n/a",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
} ]
} ],
"mustSupport": true,
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.id",
"base": {
"max": "1",
"min": 0,
"path": "Element.id"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension",
"min": 1,
"definition": "An Extension",
"isModifier": false,
"short": "Extension",
"slicing": {
"rules": "open",
"description": "Extensions are always sliced by (at least) url",
"discriminator": [ {
"path": "url",
"type": "value"
} ]
},
"type": [ {
"code": "Extension"
} ],
"max": "*",
"id": "Extension.extension",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension",
"min": 1,
"definition": "An Extension",
"isModifier": false,
"short": "Extension",
"type": [ {
"code": "Extension"
} ],
"mustSupport": true,
"sliceName": "key",
"max": "1",
"id": "Extension.extension:key",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.id",
"min": 0,
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"isModifier": false,
"short": "Unique id for inter-element referencing",
"mapping": [ {
"map": "n/a",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:key.id",
"base": {
"max": "1",
"min": 0,
"path": "Element.id"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension.extension",
"min": 0,
"definition": "An Extension",
"isModifier": false,
"short": "Extension",
"slicing": {
"rules": "open",
"description": "Extensions are always sliced by (at least) url",
"discriminator": [ {
"path": "url",
"type": "value"
} ]
},
"type": [ {
"code": "Extension"
} ],
"max": "0",
"id": "Extension.extension:key.extension",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.url",
"min": 1,
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"isModifier": false,
"short": "identifies the meaning of the extension",
"fixedUri": "key",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:key.url",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"base": {
"max": "1",
"min": 1,
"path": "Extension.url"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
} ],
"path": "Extension.extension.value[x]",
"min": 1,
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"isModifier": false,
"short": "pseudonymized key",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "string"
} ],
"mustSupport": true,
"max": "1",
"id": "Extension.extension:key.value[x]",
"base": {
"max": "1",
"min": 0,
"path": "Extension.value[x]"
},
"isSummary": false
}, {
"path": "Extension.extension.value[x].id",
"min": 0,
"definition": "unique id for the element within a resource (for internal references)",
"isModifier": false,
"short": "xml:id (or equivalent in JSON)",
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:key.value[x].id",
"base": {
"max": "1",
"min": 0,
"path": "Element.id"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension.value[x].extension",
"min": 1,
"definition": "An Extension",
"isModifier": false,
"short": "Extension",
"slicing": {
"rules": "open",
"ordered": false,
"discriminator": [ {
"path": "url",
"type": "value"
} ]
},
"type": [ {
"code": "Extension"
} ],
"max": "*",
"id": "Extension.extension:key.value[x].extension",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension.value[x].extension",
"min": 1,
"definition": "This is a marker interface. If the field is pseudonymized, the string field SHALL have this extension.",
"isModifier": false,
"short": "Pseudonymization data",
"type": [ {
"code": "Extension",
"profile": [ "https://www.ehealth.fgov.be/standards/fhir/infsec/StructureDefinition/be-ext-pseudonymization" ]
} ],
"sliceName": "pseudonymization",
"max": "1",
"id": "Extension.extension:key.value[x].extension:pseudonymization",
"condition": [ "ele-1" ],
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
}
}, {
"path": "Extension.extension.value[x].value",
"min": 0,
"definition": "The actual value",
"isModifier": false,
"short": "Primitive value for string",
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}, {
"url": "http://hl7.org/fhir/StructureDefinition/regex",
"valueString": "[ \\r\\n\\t\\S]+"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:key.value[x].value",
"maxLength": 1048576,
"base": {
"max": "1",
"min": 0,
"path": "string.value"
},
"isSummary": false
}, {
"path": "Extension.url",
"min": 1,
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"isModifier": false,
"short": "identifies the meaning of the extension",
"fixedUri": "https://www.ehealth.fgov.be/standards/fhir/infsec/StructureDefinition/be-ext-key-pseudonymization",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.url",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"base": {
"max": "1",
"min": 1,
"path": "Extension.url"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
} ],
"path": "Extension.value[x]",
"min": 0,
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"isModifier": false,
"short": "Value of extension",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "base64Binary"
}, {
"code": "boolean"
}, {
"code": "canonical"
}, {
"code": "code"
}, {
"code": "date"
}, {
"code": "dateTime"
}, {
"code": "decimal"
}, {
"code": "id"
}, {
"code": "instant"
}, {
"code": "integer"
}, {
"code": "markdown"
}, {
"code": "oid"
}, {
"code": "positiveInt"
}, {
"code": "string"
}, {
"code": "time"
}, {
"code": "unsignedInt"
}, {
"code": "uri"
}, {
"code": "url"
}, {
"code": "uuid"
}, {
"code": "Address"
}, {
"code": "Age"
}, {
"code": "Annotation"
}, {
"code": "Attachment"
}, {
"code": "CodeableConcept"
}, {
"code": "Coding"
}, {
"code": "ContactPoint"
}, {
"code": "Count"
}, {
"code": "Distance"
}, {
"code": "Duration"
}, {
"code": "HumanName"
}, {
"code": "Identifier"
}, {
"code": "Money"
}, {
"code": "Period"
}, {
"code": "Quantity"
}, {
"code": "Range"
}, {
"code": "Ratio"
}, {
"code": "Reference"
}, {
"code": "SampledData"
}, {
"code": "Signature"
}, {
"code": "Timing"
}, {
"code": "ContactDetail"
}, {
"code": "Contributor"
}, {
"code": "DataRequirement"
}, {
"code": "Expression"
}, {
"code": "ParameterDefinition"
}, {
"code": "RelatedArtifact"
}, {
"code": "TriggerDefinition"
}, {
"code": "UsageContext"
}, {
"code": "Dosage"
}, {
"code": "Meta"
} ],
"max": "0",
"id": "Extension.value[x]",
"base": {
"max": "1",
"min": 0,
"path": "Extension.value[x]"
},
"isSummary": false
} ]
},
"status": "active",
"id": "13ecd317-766e-451b-8664-643cecdaf266",
"kind": "complex-type",
"url": "https://www.ehealth.fgov.be/standards/fhir/infsec/StructureDefinition/be-ext-key-pseudonymization",
"context": [ {
"type": "element",
"expression": "Meta"
} ],
"version": "1.2.0",
"differential": {
"element": [ {
"id": "Extension",
"path": "Extension",
"short": "Pseudonymization key (See Blinded Pseudonymization Cookbook, Annex: Processing of input data exceeding 32\nbytes)",
"definition": "This holds a pseudonymized key that can be used for all encrypted fields in the resource (long text pseudonymisation)"
}, {
"id": "Extension.id",
"min": 1,
"path": "Extension.id",
"short": "kid (also available in JWE)",
"mustSupport": true
}, {
"id": "Extension.extension",
"min": 1,
"path": "Extension.extension"
}, {
"id": "Extension.extension:key",
"max": "1",
"min": 1,
"path": "Extension.extension",
"sliceName": "key",
"mustSupport": true
}, {
"id": "Extension.extension:key.extension",
"max": "0",
"path": "Extension.extension.extension"
}, {
"id": "Extension.extension:key.url",
"path": "Extension.extension.url",
"fixedUri": "key"
}, {
"id": "Extension.extension:key.value[x]",
"min": 1,
"path": "Extension.extension.value[x]",
"type": [ {
"code": "string"
} ],
"short": "pseudonymized key",
"mustSupport": true
}, {
"id": "Extension.extension:key.value[x].extension",
"min": 1,
"path": "Extension.extension.value[x].extension",
"slicing": {
"rules": "open",
"ordered": false,
"discriminator": [ {
"path": "url",
"type": "value"
} ]
}
}, {
"id": "Extension.extension:key.value[x].extension:pseudonymization",
"max": "1",
"min": 1,
"path": "Extension.extension.value[x].extension",
"type": [ {
"code": "Extension",
"profile": [ "https://www.ehealth.fgov.be/standards/fhir/infsec/StructureDefinition/be-ext-pseudonymization" ]
} ],
"sliceName": "pseudonymization"
}, {
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "https://www.ehealth.fgov.be/standards/fhir/infsec/StructureDefinition/be-ext-key-pseudonymization"
}, {
"id": "Extension.value[x]",
"max": "0",
"path": "Extension.value[x]"
} ]
},
"contact": [ {
"name": "eHealth Platform",
"telecom": [ {
"value": "https://www.ehealth.fgov.be/standards/fhir",
"system": "url"
}, {
"value": "support@be-ehealth-standards.atlassian.net",
"system": "email"
} ]
}, {
"name": "Message Structure eHealth",
"telecom": [ {
"use": "work",
"value": "support@be-ehealth-standards.atlassian.net",
"system": "email"
} ]
} ],
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension"
}