{
"description": "Conformance profile to check zib profiles for conformance to the [Nictiz profiling guidelines for FHIR R4](https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4).",
"_filename": "ProfilingGuidelinesR4-StructureDefinitions-Zib.json",
"package_name": "nictiz.fhir.nl.r4.profilingguidelines",
"date": null,
"derivation": "constraint",
"publisher": null,
"fhirVersion": "4.0.1",
"name": "ProfilingGuidelinesR4StructureDefinitionsZib",
"mapping": [ {
"uri": "http://hl7.org/v3",
"name": "RIM Mapping",
"identity": "rim"
}, {
"uri": "http://hl7.org/fhir/workflow",
"name": "Workflow Pattern",
"identity": "workflow"
}, {
"uri": "http://hl7.org/fhir/fivews",
"name": "FiveWs Pattern Mapping",
"identity": "w5"
}, {
"uri": "http://metadata-standards.org/11179/",
"name": "ISO 11179",
"identity": "iso11179"
}, {
"uri": "http://hl7.org/fhir/object-implementation",
"name": "Object Implementation Information",
"identity": "objimpl"
} ],
"abstract": false,
"type": "StructureDefinition",
"experimental": null,
"resourceType": "StructureDefinition",
"title": "Zib StructureDefinition conformance to FHIR Profiling Guidelines for FHIR R4",
"package_version": "0.8.0",
"status": "draft",
"id": "d456dee9-d930-4d2e-809a-2c8c39783dc5",
"kind": "resource",
"url": "http://nictiz.nl/fhir/StructureDefinition/ProfilingGuidelinesR4-StructureDefinitions-Zib",
"version": null,
"differential": {
"element": [ {
"id": "StructureDefinition.purpose",
"min": 1,
"path": "StructureDefinition.purpose"
}, {
"id": "StructureDefinition.mapping",
"path": "StructureDefinition.mapping",
"constraint": [ {
"key": "sd-zpg-04",
"human": "Zib mapping name and identity should follow the profiling guidelines",
"source": "http://nictiz.nl/fhir/StructureDefinition/ProfilingGuidelinesR4-StructureDefinitions-Zib",
"severity": "error",
"expression": "name.lower().startsWith('zib') implies (name.startsWith('zib ') and identity.startsWith('zib-'))"
}, {
"key": "sd-zpg-05",
"human": "The URI for zib mappings should align with the mapping name",
"source": "http://nictiz.nl/fhir/StructureDefinition/ProfilingGuidelinesR4-StructureDefinitions-Zib",
"severity": "error",
"expression": "name.lower().startsWith('zib') implies uri = 'https://zibs.nl/wiki/' + name.replaceMatches('.* ', '')"
}, {
"key": "sd-zpg-06",
"human": "The mapping identity and mapping name for zibs should align according to the profiling guidelines",
"source": "http://nictiz.nl/fhir/StructureDefinition/ProfilingGuidelinesR4-StructureDefinitions-Zib",
"severity": "error",
"expression": "identity.lower().startsWith('zib') implies identity = name.replaceMatches('\\\\(.*', '').replace(' ', '-').lower() + name.replaceMatches('.*\\\\((?.*)\\\\)', '-${suffix}')"
} ]
}, {
"id": "StructureDefinition.differential.element",
"path": "StructureDefinition.differential.element",
"constraint": [ {
"key": "sd-zpg-08",
"human": "If an alias exists, mapping.map needs to be present.",
"source": "https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4",
"severity": "error",
"expression": "alias.exists() implies mapping.map.exists()"
}, {
"key": "sd-pg-02",
"human": "If mapping.map exists and the mapping is not implicit, short should exist",
"source": "https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4",
"severity": "error",
"expression": "mapping.select(map.exists() and comment.contains(' (implicit, main mapping is on ').not()).anyTrue() implies short.exists()"
}, {
"key": "sd-pg-03",
"human": "If mapping.map exists and the mapping is not implicit and the element is not the root element, definition should exist.",
"source": "https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4",
"severity": "error",
"expression": "(mapping.select(map.exists() and (comment.contains(' (implicit, main mapping is on ') or comment.startsWith('Reversed reference for ')).not()).anyTrue() and (id.indexOf('.') != -1) and mapping.select(map.endsWith('.1').not()).anyTrue()) implies definition.exists()"
}, {
"key": "sd-pg-04",
"human": "If mapping.map exists and the mapping is not implicit, alias should exist.",
"source": "https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4",
"severity": "error",
"expression": "mapping.select(map.exists() and comment.contains(' (implicit, main mapping is on ').not()).anyTrue() implies alias.exists()"
} ]
} ]
},
"baseDefinition": "http://nictiz.nl/fhir/StructureDefinition/ProfilingGuidelinesR4-StructureDefinitions"
}