PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.tools@1.3.0
    http://hl7.org/fhir/tools/StructureDefinition/type-profile-constraints
{
  "description": "Records, on a type profile in a snapshot element, how much of what the profile says on its root element has been merged into the snapshot element. Snapshot generation merges the constraints on the root of a data type profile (cardinality, value ranges, fixed and pattern values, invariants, bindings, mappings, must-support and must-have-value) into the element that uses the profile, so the element carries them directly; this extension says whether that has been done fully, partially, or not at all, so that consumers such as validators know whether they still need to check the root of the type profile",
  "_filename": "StructureDefinition-type-profile-constraints.json",
  "package_name": "hl7.fhir.uv.tools",
  "date": "2026-10-06T15:55:40+11:00",
  "derivation": "constraint",
  "publisher": "HL7 International / FHIR Infrastructure",
  "fhirVersion": "5.0.0",
  "jurisdiction": [ {
    "coding": [ {
      "code": "001",
      "system": "http://unstats.un.org/unsd/methods/m49/m49.htm"
    } ]
  } ],
  "name": "TypeProfileConstraintsExt",
  "mapping": [ {
    "uri": "http://hl7.org/v3",
    "name": "RIM Mapping",
    "identity": "rim"
  } ],
  "abstract": false,
  "type": "Extension",
  "experimental": "false",
  "resourceType": "StructureDefinition",
  "title": "Type Profile Constraints Extension",
  "package_version": "1.3.0",
  "extension": [ {
    "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
    "valueInteger": 1
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
    "valueCode": "fhir"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics",
    "valueCode": "can-bind"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode": "informative",
    "_valueCode": {
      "extension": [ {
        "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical": "http://hl7.org/fhir/tools/ImplementationGuide/hl7.fhir.uv.tools"
      } ]
    }
  } ],
  "snapshot": {
    "element": [ {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "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",
        "source": "http://hl7.org/fhir/StructureDefinition/Extension",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension",
      "min": 0,
      "definition": "Whether the constraints this type profile makes on its root element have been merged into the snapshot element that uses the profile: fully, partially, or not at all. Only used in snapshots; set by the snapshot generator.",
      "isModifier": false,
      "short": "Whether the root constraints of this type profile are merged into the snapshot element",
      "max": "1",
      "id": "Extension",
      "comment": "Documentation (short, definition, comment etc.) on the root of a type profile is never merged, since it describes the type, not the element; that doesn't make the merge partial.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Extension"
      }
    }, {
      "path": "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": "id"
        } ]
      } ],
      "representation": [ "xmlAttr" ],
      "max": "1",
      "id": "Extension.id",
      "condition": [ "ele-1" ],
      "base": {
        "max": "1",
        "min": 0,
        "path": "Element.id"
      },
      "isSummary": false
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "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",
        "source": "http://hl7.org/fhir/StructureDefinition/Extension",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "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",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "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": "http://hl7.org/fhir/tools/StructureDefinition/type-profile-constraints",
      "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",
        "source": "http://hl7.org/fhir/StructureDefinition/Element",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "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/R5/extensibility.html) for a list).",
      "isModifier": false,
      "short": "Value of extension",
      "mapping": [ {
        "map": "N/A",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "code"
      } ],
      "binding": {
        "strength": "required",
        "valueSet": "http://hl7.org/fhir/tools/ValueSet/type-profile-constraints"
      },
      "max": "1",
      "id": "Extension.value[x]",
      "condition": [ "ext-1" ],
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      },
      "isSummary": false
    } ],
    "extension": [ {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
      "valueString": "5.0.0"
    } ]
  },
  "status": "active",
  "id": "e51d2a5a-f103-4f7a-9e51-29c8076406c0",
  "kind": "complex-type",
  "url": "http://hl7.org/fhir/tools/StructureDefinition/type-profile-constraints",
  "identifier": [ {
    "value": "urn:oid:2.16.840.1.113883.4.642.40.1.42.89",
    "system": "urn:ietf:rfc:3986"
  } ],
  "context": [ {
    "type": "element",
    "expression": "ElementDefinition.type.profile"
  } ],
  "version": "1.3.0",
  "differential": {
    "element": [ {
      "id": "Extension",
      "max": "1",
      "min": 0,
      "path": "Extension",
      "short": "Whether the root constraints of this type profile are merged into the snapshot element",
      "comment": "Documentation (short, definition, comment etc.) on the root of a type profile is never merged, since it describes the type, not the element; that doesn't make the merge partial.",
      "definition": "Whether the constraints this type profile makes on its root element have been merged into the snapshot element that uses the profile: fully, partially, or not at all. Only used in snapshots; set by the snapshot generator.",
      "meaningWhenMissing": "The snapshot was generated by a tool that doesn't record this, so it's unknown whether any constraints were merged: consumers should behave as if none were"
    }, {
      "id": "Extension.extension",
      "max": "0",
      "path": "Extension.extension"
    }, {
      "id": "Extension.url",
      "path": "Extension.url",
      "fixedUri": "http://hl7.org/fhir/tools/StructureDefinition/type-profile-constraints"
    }, {
      "id": "Extension.value[x]",
      "max": "1",
      "min": 1,
      "path": "Extension.value[x]",
      "type": [ {
        "code": "code"
      } ],
      "binding": {
        "strength": "required",
        "valueSet": "http://hl7.org/fhir/tools/ValueSet/type-profile-constraints"
      }
    } ]
  },
  "contact": [ {
    "telecom": [ {
      "value": "http://www.hl7.org/Special/committees/fiwg",
      "system": "url"
    } ]
  } ],
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension"
}