PackagesCanonicalsLogsProblems
    Packages
    nictiz.fhir.nl.r4.profilingguidelines@0.3.0
    http://nictiz.nl/fhir/StructureDefinition/ProfilingGuidelinesR4-StructureDefinitions-Zib
{
  "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.3.0",
  "status": "draft",
  "id": "b9f84bfb-8a3f-4f01-a2e8-341a07cb6534",
  "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"
}