{
"description": null,
"_filename": "StructureDefinition-proxy-permission-ps.json",
"package_name": "se.electronichealth.fhir.ppdr.r5",
"date": null,
"derivation": "constraint",
"publisher": null,
"fhirVersion": "5.0.0",
"name": "ProxyPermissionPs",
"abstract": false,
"type": "Permission",
"experimental": null,
"resourceType": "StructureDefinition",
"title": "Proxy Permission (PS)",
"package_version": "0.1.0-alpha",
"status": "active",
"id": "bd3c1437-e0b5-4cd2-8621-cc8b22f32140",
"kind": "resource",
"url": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"version": "0.1.0",
"differential": {
"element": [ {
"id": "Permission.status",
"path": "Permission.status",
"short": "active | rejected",
"binding": {
"strength": "required",
"valueSet": "http://electronichealth.se/fhir/NDI/ValueSet/ps-proxy-permission-statuses"
},
"mustSupport": true
}, {
"id": "Permission.asserter",
"min": 1,
"path": "Permission.asserter",
"type": [ {
"code": "Reference",
"targetProfile": [ "http://electronichealth.se/fhir/NDI/StructureDefinition/patient-data-access" ]
} ],
"mustSupport": true
}, {
"id": "Permission.asserter.identifier",
"min": 1,
"path": "Permission.asserter.identifier",
"constraint": [ {
"key": "ndi-personal-identity-number-value-1",
"human": "A Swedish personal identity number (sv: personnummer) should follow format 198001032385",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "value.matches('^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\\\\d{4}$') or system != 'http://electronichealth.se/identifier/personnummer'"
}, {
"key": "ndi-coordination-number-value-1",
"human": "A Swedish coordination number (sv: samordningsnummer) should follow format 201903682399",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "value.matches('^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(0[1-9]|1[0-2])([6-9][1-9])\\\\d{4}$') or system != 'http://electronichealth.se/identifier/samordningsnummer'"
} ],
"mustSupport": true
}, {
"id": "Permission.asserter.identifier.system",
"min": 1,
"path": "Permission.asserter.identifier.system",
"mustSupport": true
}, {
"id": "Permission.asserter.identifier.value",
"min": 1,
"path": "Permission.asserter.identifier.value",
"mustSupport": true
}, {
"id": "Permission.date",
"max": "1",
"min": 1,
"path": "Permission.date",
"constraint": [ {
"key": "ndi-dateTime-1",
"human": "DateTime must be without timestamp",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "$this.toString().contains('T') = false"
} ],
"mustSupport": true
}, {
"id": "Permission.validity",
"min": 1,
"path": "Permission.validity",
"mustSupport": true
}, {
"id": "Permission.validity.start",
"min": 1,
"path": "Permission.validity.start",
"constraint": [ {
"key": "ndi-dateTime-1",
"human": "DateTime must be without timestamp",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "$this.toString().contains('T') = false"
} ],
"mustSupport": true
}, {
"id": "Permission.validity.end",
"path": "Permission.validity.end",
"constraint": [ {
"key": "ndi-dateTime-1",
"human": "DateTime must be without timestamp",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "$this.toString().contains('T') = false"
} ],
"mustSupport": true
}, {
"id": "Permission.justification",
"path": "Permission.justification",
"mustSupport": true
}, {
"id": "Permission.justification.evidence",
"max": "1",
"min": 1,
"path": "Permission.justification.evidence",
"type": [ {
"code": "Reference",
"targetProfile": [ "http://electronichealth.se/fhir/NDI/StructureDefinition/power-of-attorney-poa", "http://hl7.org/fhir/StructureDefinition/RelatedPerson" ]
} ],
"comment": "Reference Consent (PowerOfAttorney) for legal justification. Reference RelatedPerson when relationship to patient, eg guardian, justifies permission",
"mustSupport": true
}, {
"id": "Permission.justification.evidence.reference",
"min": 1,
"path": "Permission.justification.evidence.reference",
"mustSupport": true
}, {
"id": "Permission.combining",
"path": "Permission.combining",
"fixedCode": "deny-unless-permit",
"mustSupport": true
}, {
"id": "Permission.rule",
"max": "1",
"min": 1,
"path": "Permission.rule",
"mustSupport": true
}, {
"id": "Permission.rule.type",
"min": 1,
"path": "Permission.rule.type",
"fixedCode": "permit",
"mustSupport": true
}, {
"id": "Permission.rule.data",
"max": "1",
"path": "Permission.rule.data",
"mustSupport": true
}, {
"id": "Permission.rule.data.extension:documentType",
"max": "*",
"min": 0,
"path": "Permission.rule.data.extension",
"type": [ {
"code": "Extension",
"profile": [ "http://electronichealth.se/fhir/NDI/StructureDefinition/permission-data-document-type-ps" ]
} ],
"sliceName": "documentType",
"mustSupport": true
}, {
"id": "Permission.rule.data.extension:documentType.value[x]",
"min": 1,
"path": "Permission.rule.data.extension.value[x]",
"binding": {
"strength": "required",
"valueSet": "http://electronichealth.se/fhir/NDI/ValueSet/ndi-ehds-categories"
},
"mustSupport": true
}, {
"id": "Permission.rule.data.extension:documentType.value[x].coding",
"max": "1",
"min": 1,
"path": "Permission.rule.data.extension.value[x].coding",
"mustSupport": true
}, {
"id": "Permission.rule.data.extension:documentType.value[x].coding.system",
"min": 1,
"path": "Permission.rule.data.extension.value[x].coding.system",
"mustSupport": true
}, {
"id": "Permission.rule.data.extension:documentType.value[x].coding.code",
"min": 1,
"path": "Permission.rule.data.extension.value[x].coding.code",
"mustSupport": true
}, {
"id": "Permission.rule.data.resource",
"path": "Permission.rule.data.resource",
"slicing": {
"rules": "open",
"ordered": false,
"description": "Slice data based on meaning",
"discriminator": [ {
"path": "meaning",
"type": "value"
} ]
},
"mustSupport": true
}, {
"id": "Permission.rule.data.resource.meaning",
"path": "Permission.rule.data.resource.meaning",
"mustSupport": true
}, {
"id": "Permission.rule.data.resource.reference",
"path": "Permission.rule.data.resource.reference",
"mustSupport": true
}, {
"id": "Permission.rule.data.resource:fromCaregiverOrUnit",
"max": "*",
"min": 0,
"path": "Permission.rule.data.resource",
"sliceName": "fromCaregiverOrUnit",
"mustSupport": true
}, {
"id": "Permission.rule.data.resource:fromCaregiverOrUnit.meaning",
"path": "Permission.rule.data.resource.meaning",
"fixedCode": "authoredby"
}, {
"id": "Permission.rule.data.resource:fromCaregiverOrUnit.reference",
"path": "Permission.rule.data.resource.reference",
"type": [ {
"code": "Reference",
"targetProfile": [ "http://electronichealth.se/fhir/NDI/StructureDefinition/organization-data-access" ]
} ]
}, {
"id": "Permission.rule.data.resource:fromCaregiverOrUnit.reference.reference",
"path": "Permission.rule.data.resource.reference.reference",
"mustSupport": true
}, {
"id": "Permission.rule.data.resource:fromCaregiverOrUnit.reference.identifier",
"path": "Permission.rule.data.resource.reference.identifier",
"constraint": [ {
"key": "ndi-organization-identifier-value-1",
"human": "A Swedish organization identifier (sv: organisationsnummer) should follow format 7999000057",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "value.matches('^\\\\d{6}\\\\d{4}$') or system != 'urn:oid:2.5.4.97'"
}, {
"key": "ndi-personal-identity-number-value-1",
"human": "A Swedish personal identity number (sv: personnummer) should follow format 198001032385",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "value.matches('^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\\\\d{4}$') or system != 'http://electronichealth.se/identifier/personnummer'"
}, {
"key": "ndi-coordination-number-value-1",
"human": "A Swedish coordination number (sv: samordningsnummer) should follow format 201903682399",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "value.matches('^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(0[1-9]|1[0-2])([6-9][1-9])\\\\d{4}$') or system != 'http://electronichealth.se/identifier/samordningsnummer'"
} ],
"mustSupport": true
}, {
"id": "Permission.rule.data.resource:fromCaregiverOrUnit.reference.identifier.system",
"min": 1,
"path": "Permission.rule.data.resource.reference.identifier.system",
"mustSupport": true
}, {
"id": "Permission.rule.data.resource:fromCaregiverOrUnit.reference.identifier.value",
"min": 1,
"path": "Permission.rule.data.resource.reference.identifier.value",
"mustSupport": true
}, {
"id": "Permission.rule.data.period",
"max": "1",
"path": "Permission.rule.data.period",
"constraint": [ {
"key": "ndi-dateTime-1",
"human": "DateTime must be without timestamp",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "$this.toString().contains('T') = false"
}, {
"key": "ndi-dateTime-1",
"human": "DateTime must be without timestamp",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "$this.toString().contains('T') = false"
} ],
"mustSupport": true
}, {
"id": "Permission.rule.data.period.start",
"path": "Permission.rule.data.period.start",
"mustSupport": true
}, {
"id": "Permission.rule.data.period.end",
"path": "Permission.rule.data.period.end",
"mustSupport": true
}, {
"id": "Permission.rule.activity",
"max": "1",
"min": 1,
"path": "Permission.rule.activity",
"mustSupport": true
}, {
"id": "Permission.rule.activity.actor",
"max": "1",
"min": 1,
"path": "Permission.rule.activity.actor",
"type": [ {
"code": "Reference",
"targetProfile": [ "http://hl7.org/fhir/StructureDefinition/RelatedPerson" ]
} ],
"mustSupport": true
}, {
"id": "Permission.rule.activity.actor.identifier",
"min": 1,
"path": "Permission.rule.activity.actor.identifier",
"constraint": [ {
"key": "ndi-personal-identity-number-value-1",
"human": "A Swedish personal identity number (sv: personnummer) should follow format 198001032385",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "value.matches('^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\\\\d{4}$') or system != 'http://electronichealth.se/identifier/personnummer'"
}, {
"key": "ndi-coordination-number-value-1",
"human": "A Swedish coordination number (sv: samordningsnummer) should follow format 201903682399",
"source": "http://electronichealth.se/fhir/NDI/StructureDefinition/proxy-permission-ps",
"severity": "error",
"expression": "value.matches('^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(0[1-9]|1[0-2])([6-9][1-9])\\\\d{4}$') or system != 'http://electronichealth.se/identifier/samordningsnummer'"
} ],
"mustSupport": true
}, {
"id": "Permission.rule.activity.actor.identifier.system",
"min": 1,
"path": "Permission.rule.activity.actor.identifier.system",
"mustSupport": true
}, {
"id": "Permission.rule.activity.actor.identifier.value",
"min": 1,
"path": "Permission.rule.activity.actor.identifier.value",
"mustSupport": true
}, {
"id": "Permission.rule.activity.action",
"min": 1,
"path": "Permission.rule.activity.action",
"binding": {
"strength": "required",
"valueSet": "http://electronichealth.se/fhir/NDI/ValueSet/ps-permission-actions"
},
"mustSupport": true
}, {
"id": "Permission.rule.activity.action.coding",
"max": "1",
"min": 1,
"path": "Permission.rule.activity.action.coding",
"mustSupport": true
}, {
"id": "Permission.rule.activity.action.coding.system",
"min": 1,
"path": "Permission.rule.activity.action.coding.system",
"mustSupport": true
}, {
"id": "Permission.rule.activity.action.coding.code",
"min": 1,
"path": "Permission.rule.activity.action.coding.code",
"mustSupport": true
} ]
},
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Permission"
}