PackagesCanonicalsLogsProblems
    Packages
    nictiz.fhir.nl.r4.profilingguidelines@0.6.0
    http://nictiz.nl/fhir/StructureDefinition/ProfilingGuidelinesR4-SearchParameters
{
  "description": "Conformance profile to check SearchParameters for conformance to the [Nictiz profiling guidelines for FHIR R4](https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4).",
  "_filename": "ProfilingGuidelinesR4-SearchParameters.json",
  "package_name": "nictiz.fhir.nl.r4.profilingguidelines",
  "date": null,
  "derivation": "constraint",
  "publisher": null,
  "fhirVersion": "4.0.1",
  "name": "ProfilingGuidelinesR4_SearchParameters",
  "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://hl7.org/fhir/object-implementation",
    "name": "Object Implementation Information",
    "identity": "objimpl"
  } ],
  "abstract": false,
  "type": "SearchParameter",
  "experimental": null,
  "resourceType": "StructureDefinition",
  "title": "SearchParameters conformance to FHIR Profiling Guidelines for FHIR R4",
  "package_version": "0.6.0",
  "status": "draft",
  "id": "2df27275-fb06-47d2-9d5b-e437f9942ba8",
  "kind": "resource",
  "url": "http://nictiz.nl/fhir/StructureDefinition/ProfilingGuidelinesR4-SearchParameters",
  "version": null,
  "differential": {
    "element": [ {
      "id": "SearchParameter",
      "path": "SearchParameter",
      "constraint": [ {
        "key": "sp-pg-01",
        "human": "The id should consist of a PascalCased target followed by lowercase words which are sepearated by dashes",
        "source": "https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4",
        "severity": "error",
        "expression": "SearchParameter.id.matches('^[A-Z][A-Za-z]+-[a-z][a-z-]+[a-z]$')"
      }, {
        "key": "sp-pg-02",
        "human": "The canonical URL should conform to the profiling guidelines",
        "source": "https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4",
        "severity": "error",
        "expression": "SearchParameter.url = 'http://nictiz.nl/fhir/SearchParameter/' + SearchParameter.id"
      }, {
        "key": "sp-pg-03",
        "human": "The name of the SearchParameter should conform to the profiling guidelines",
        "source": "https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4",
        "severity": "warning",
        "expression": "SearchParameter.name.replaceMatches('^(.*?)_.*$', '$1') = SearchParameter.id.replaceMatches('^(.*?)-.*$', '$1') and SearchParameter.name.replaceMatches('^.*?_(.*)$', '$1').lower() = SearchParameter.id.replaceMatches('^.*?-(.*)$', '$1').replace('-', '')"
      } ]
    }, {
      "id": "SearchParameter.publisher",
      "min": 1,
      "path": "SearchParameter.publisher",
      "fixedString": "Nictiz"
    }, {
      "id": "SearchParameter.contact",
      "max": "1",
      "min": 1,
      "path": "SearchParameter.contact"
    }, {
      "id": "SearchParameter.contact.name",
      "min": 1,
      "path": "SearchParameter.contact.name",
      "fixedString": "Nictiz"
    }, {
      "id": "SearchParameter.contact.telecom",
      "max": "1",
      "min": 1,
      "path": "SearchParameter.contact.telecom",
      "patternContactPoint": {
        "use": "work",
        "value": "https://www.nictiz.nl",
        "system": "url"
      }
    }, {
      "id": "SearchParameter.purpose",
      "min": 1,
      "path": "SearchParameter.purpose"
    }, {
      "id": "SearchParameter.code",
      "path": "SearchParameter.code",
      "constraint": [ {
        "key": "sd-pg-04",
        "human": "The code of the SearchParameter should consist of lowercase words separated by dashes",
        "source": "https://informatiestandaarden.nictiz.nl/wiki/FHIR:V1.0_FHIR_Profiling_Guidelines_R4",
        "severity": "error",
        "expression": "$this.length() = $this.replaceMatches('[^a-z-]', '').length()"
      } ]
    }, {
      "id": "SearchParameter.expression",
      "min": 1,
      "path": "SearchParameter.expression"
    }, {
      "id": "SearchParameter.xpath",
      "max": "0",
      "path": "SearchParameter.xpath"
    }, {
      "id": "SearchParameter.xpathUsage",
      "max": "0",
      "path": "SearchParameter.xpathUsage"
    } ]
  },
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/SearchParameter"
}