PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r3.r5@0.1.0
    http://hl7.org/fhir/3.0/StructureDefinition/extension-TestScript.rule
{
  "description": "STU3: `TestScript.rule` (new:BackboneElement)",
  "_filename": "StructureDefinition-ext-R3-TestScript.rule.json",
  "package_name": "hl7.fhir.uv.xver-r3.r5",
  "date": "2026-03-17T21:02:03.8104715+00:00",
  "derivation": "constraint",
  "publisher": "FHIR Infrastructure",
  "fhirVersion": "5.0.0",
  "jurisdiction": [ {
    "coding": [ {
      "code": "001",
      "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
      "display": "World"
    } ]
  } ],
  "purpose": "This extension is part of the cross-version definitions generated to enable use of the\r\nelement `TestScript.rule` as defined in FHIR STU3\r\nin FHIR R5.\r\n\r\nThe source element is defined as:\r\n`TestScript.rule` 0..* `BackboneElement`\r\n\r\nAcross FHIR versions, the element set has been mapped as:\r\n*  STU3: `TestScript.rule` 0..* `BackboneElement`\r\n\r\nFollowing are the generation technical comments:\r\nElement `TestScript.rule` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
  "name": "ExtensionTestScript_Rule",
  "mapping": [ {
    "uri": "http://hl7.org/v3",
    "name": "RIM Mapping",
    "identity": "rim"
  } ],
  "abstract": false,
  "type": "Extension",
  "experimental": "false",
  "resourceType": "StructureDefinition",
  "title": "STU3: Assert rule used within the test script (new)",
  "package_version": "0.1.0",
  "extension": [ {
    "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
    "valueCode": "fhir"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/package-source",
    "extension": [ {
      "url": "packageId",
      "valueId": "hl7.fhir.uv.xver-r3.r5"
    }, {
      "url": "version",
      "valueString": "0.1.0"
    }, {
      "url": "uri",
      "valueUri": "http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r3.r5"
    } ]
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/version-specific-use",
    "extension": [ {
      "url": "startFhirVersion",
      "valueCode": "5.0"
    }, {
      "url": "endFhirVersion",
      "valueCode": "5.0"
    } ]
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics",
    "valueCode": "can-bind"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
    "valueInteger": 0,
    "_valueInteger": {
      "extension": [ {
        "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical": "http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r3.r5"
      } ]
    }
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
    "valueCode": "trial-use",
    "_valueCode": {
      "extension": [ {
        "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
        "valueCanonical": "http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r3.r5"
      } ]
    }
  } ],
  "snapshot": {
    "element": [ {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "source": "http://hl7.org/fhir/StructureDefinition/Element|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension",
      "min": 0,
      "definition": "STU3: `TestScript.rule` (new:BackboneElement)",
      "isModifier": false,
      "short": "STU3: Assert rule used within the test script (new)",
      "max": "*",
      "id": "Extension",
      "comment": "Element `TestScript.rule` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).\nEach rule should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource.",
      "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|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension.extension",
      "min": 1,
      "definition": "An Extension",
      "isModifier": false,
      "short": "Extension",
      "slicing": {
        "rules": "open",
        "ordered": false,
        "description": "Extensions are always sliced by (at least) url",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      },
      "type": [ {
        "code": "Extension"
      } ],
      "max": "*",
      "id": "Extension.extension",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "isSummary": false
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "source": "http://hl7.org/fhir/StructureDefinition/Element|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension.extension",
      "requirements": "Element `TestScript.rule.resource` is part of an existing definition because parent element `TestScript.rule` requires a cross-version extension.\nElement `TestScript.rule.resource` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.resource` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "min": 1,
      "definition": "STU3: `TestScript.rule.resource` (new:Reference(Resource))",
      "isModifier": false,
      "short": "STU3: Assert rule resource reference (new)",
      "type": [ {
        "code": "Extension"
      } ],
      "sliceName": "resource",
      "max": "1",
      "id": "Extension.extension:resource",
      "comment": "Element `TestScript.rule.resource` is part of an existing definition because parent element `TestScript.rule` requires a cross-version extension.\nElement `TestScript.rule.resource` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.resource` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "isSummary": false
    }, {
      "path": "Extension.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.extension:resource.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|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension.extension.extension",
      "min": 0,
      "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "isModifier": false,
      "short": "Additional content defined by implementations",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      } ],
      "slicing": {
        "rules": "open",
        "description": "Extensions are always sliced by (at least) url",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      },
      "type": [ {
        "code": "Extension"
      } ],
      "alias": [ "extensions", "user content" ],
      "max": "*",
      "id": "Extension.extension:resource.extension",
      "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "isSummary": false
    }, {
      "path": "Extension.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": "resource",
      "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.extension:resource.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|5.0.0",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "Extension.extension.value[x]",
      "min": 1,
      "definition": "Reference to the resource (containing the contents of the rule needed for assertions).",
      "isModifier": false,
      "short": "Assert rule resource reference",
      "mapping": [ {
        "map": "N/A",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "Reference",
        "targetProfile": [ "http://hl7.org/fhir/3.0/StructureDefinition/profile-Resource|0.1.0", "http://hl7.org/fhir/StructureDefinition/Resource|5.0.0" ]
      } ],
      "max": "1",
      "id": "Extension.extension:resource.value[x]",
      "condition": [ "ext-1" ],
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      },
      "isSummary": false
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "source": "http://hl7.org/fhir/StructureDefinition/Element|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension.extension",
      "requirements": "Element `TestScript.rule.param` is part of an existing definition because parent element `TestScript.rule` requires a cross-version extension.\nElement `TestScript.rule.param` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "min": 0,
      "definition": "STU3: `TestScript.rule.param` (new:BackboneElement)",
      "isModifier": false,
      "short": "STU3: Rule parameter template (new)",
      "type": [ {
        "code": "Extension"
      } ],
      "sliceName": "param",
      "max": "*",
      "id": "Extension.extension:param",
      "comment": "Element `TestScript.rule.param` is part of an existing definition because parent element `TestScript.rule` requires a cross-version extension.\nElement `TestScript.rule.param` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).\nThe parameter value can be dynamic at runtime.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "isSummary": false
    }, {
      "path": "Extension.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.extension:param.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|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension.extension.extension",
      "min": 1,
      "definition": "An Extension",
      "isModifier": false,
      "short": "Extension",
      "slicing": {
        "rules": "open",
        "ordered": false,
        "description": "Extensions are always sliced by (at least) url",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      },
      "type": [ {
        "code": "Extension"
      } ],
      "max": "*",
      "id": "Extension.extension:param.extension",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "isSummary": false
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "source": "http://hl7.org/fhir/StructureDefinition/Element|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension.extension.extension",
      "requirements": "Element `TestScript.rule.param.name` is part of an existing definition because parent element `TestScript.rule.param` requires a cross-version extension.\nElement `TestScript.rule.param.name` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param.name` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "min": 1,
      "definition": "STU3: `TestScript.rule.param.name` (new:string)",
      "isModifier": false,
      "short": "STU3: Parameter name matching external assert rule parameter (new)",
      "type": [ {
        "code": "Extension"
      } ],
      "sliceName": "name",
      "max": "1",
      "id": "Extension.extension:param.extension:name",
      "comment": "Element `TestScript.rule.param.name` is part of an existing definition because parent element `TestScript.rule.param` requires a cross-version extension.\nElement `TestScript.rule.param.name` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param.name` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).\nThe external rule template would be looking for the parameter by this name.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "isSummary": false
    }, {
      "path": "Extension.extension.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.extension:param.extension:name.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|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension.extension.extension.extension",
      "min": 0,
      "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "isModifier": false,
      "short": "Additional content defined by implementations",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      } ],
      "slicing": {
        "rules": "open",
        "description": "Extensions are always sliced by (at least) url",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      },
      "type": [ {
        "code": "Extension"
      } ],
      "alias": [ "extensions", "user content" ],
      "max": "*",
      "id": "Extension.extension:param.extension:name.extension",
      "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "isSummary": false
    }, {
      "path": "Extension.extension.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": "name",
      "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.extension:param.extension:name.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|5.0.0",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "Extension.extension.extension.value[x]",
      "min": 1,
      "definition": "Descriptive name for this parameter that matches the external assert rule parameter name.",
      "isModifier": false,
      "short": "Parameter name matching external assert rule parameter",
      "mapping": [ {
        "map": "N/A",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "string"
      } ],
      "max": "1",
      "id": "Extension.extension:param.extension:name.value[x]",
      "condition": [ "ext-1" ],
      "comment": "The external rule template would be looking for the parameter by this name.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      },
      "isSummary": false
    }, {
      "constraint": [ {
        "key": "ele-1",
        "human": "All FHIR elements must have a @value or children",
        "source": "http://hl7.org/fhir/StructureDefinition/Element|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension.extension.extension",
      "requirements": "Element `TestScript.rule.param.value` is part of an existing definition because parent element `TestScript.rule.param` requires a cross-version extension.\nElement `TestScript.rule.param.value` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param.value` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "min": 0,
      "definition": "STU3: `TestScript.rule.param.value` (new:string)",
      "isModifier": false,
      "short": "STU3: Parameter value defined either explicitly or dynamically (new)",
      "type": [ {
        "code": "Extension"
      } ],
      "sliceName": "value",
      "max": "1",
      "id": "Extension.extension:param.extension:value",
      "comment": "Element `TestScript.rule.param.value` is part of an existing definition because parent element `TestScript.rule.param` requires a cross-version extension.\nElement `TestScript.rule.param.value` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param.value` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).\nThis value can be overwritten by the assert.rule.param.value i.e. TestScript.rule.param.value will be used if assert.rule.param.value is not specified.  The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "isSummary": false
    }, {
      "path": "Extension.extension.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.extension:param.extension:value.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|5.0.0",
        "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|5.0.0",
        "severity": "error",
        "expression": "extension.exists() != value.exists()"
      } ],
      "path": "Extension.extension.extension.extension",
      "min": 0,
      "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
      "isModifier": false,
      "short": "Additional content defined by implementations",
      "mapping": [ {
        "map": "n/a",
        "identity": "rim"
      } ],
      "slicing": {
        "rules": "open",
        "description": "Extensions are always sliced by (at least) url",
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      },
      "type": [ {
        "code": "Extension"
      } ],
      "alias": [ "extensions", "user content" ],
      "max": "*",
      "id": "Extension.extension:param.extension:value.extension",
      "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Element.extension"
      },
      "isSummary": false
    }, {
      "path": "Extension.extension.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": "value",
      "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.extension:param.extension:value.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|5.0.0",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "Extension.extension.extension.value[x]",
      "min": 0,
      "definition": "The explicit or dynamic value for the parameter that will be passed on to the external rule template.",
      "isModifier": false,
      "short": "Parameter value defined either explicitly or dynamically",
      "mapping": [ {
        "map": "N/A",
        "identity": "rim"
      } ],
      "type": [ {
        "code": "string"
      } ],
      "max": "1",
      "id": "Extension.extension:param.extension:value.value[x]",
      "condition": [ "ext-1" ],
      "comment": "This value can be overwritten by the assert.rule.param.value i.e. TestScript.rule.param.value will be used if assert.rule.param.value is not specified.  The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      },
      "isSummary": false
    }, {
      "path": "Extension.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": "param",
      "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.extension:param.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|5.0.0",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "Extension.extension.value[x]",
      "min": 0,
      "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": "base64Binary"
      }, {
        "code": "boolean"
      }, {
        "code": "canonical"
      }, {
        "code": "code"
      }, {
        "code": "date"
      }, {
        "code": "dateTime"
      }, {
        "code": "decimal"
      }, {
        "code": "id"
      }, {
        "code": "instant"
      }, {
        "code": "integer"
      }, {
        "code": "integer64"
      }, {
        "code": "markdown"
      }, {
        "code": "oid"
      }, {
        "code": "positiveInt"
      }, {
        "code": "string"
      }, {
        "code": "time"
      }, {
        "code": "unsignedInt"
      }, {
        "code": "uri"
      }, {
        "code": "url"
      }, {
        "code": "uuid"
      }, {
        "code": "Address"
      }, {
        "code": "Age"
      }, {
        "code": "Annotation"
      }, {
        "code": "Attachment"
      }, {
        "code": "CodeableConcept"
      }, {
        "code": "CodeableReference"
      }, {
        "code": "Coding"
      }, {
        "code": "ContactPoint"
      }, {
        "code": "Count"
      }, {
        "code": "Distance"
      }, {
        "code": "Duration"
      }, {
        "code": "HumanName"
      }, {
        "code": "Identifier"
      }, {
        "code": "Money"
      }, {
        "code": "Period"
      }, {
        "code": "Quantity"
      }, {
        "code": "Range"
      }, {
        "code": "Ratio"
      }, {
        "code": "RatioRange"
      }, {
        "code": "Reference"
      }, {
        "code": "SampledData"
      }, {
        "code": "Signature"
      }, {
        "code": "Timing"
      }, {
        "code": "ContactDetail"
      }, {
        "code": "DataRequirement"
      }, {
        "code": "Expression"
      }, {
        "code": "ParameterDefinition"
      }, {
        "code": "RelatedArtifact"
      }, {
        "code": "TriggerDefinition"
      }, {
        "code": "UsageContext"
      }, {
        "code": "Availability"
      }, {
        "code": "ExtendedContactDetail"
      }, {
        "code": "Dosage"
      }, {
        "code": "Meta"
      } ],
      "max": "0",
      "id": "Extension.extension:param.value[x]",
      "condition": [ "ext-1" ],
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      },
      "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/3.0/StructureDefinition/extension-TestScript.rule",
      "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|5.0.0",
        "severity": "error",
        "expression": "hasValue() or (children().count() > id.count())"
      } ],
      "path": "Extension.value[x]",
      "min": 0,
      "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": "base64Binary"
      }, {
        "code": "boolean"
      }, {
        "code": "canonical"
      }, {
        "code": "code"
      }, {
        "code": "date"
      }, {
        "code": "dateTime"
      }, {
        "code": "decimal"
      }, {
        "code": "id"
      }, {
        "code": "instant"
      }, {
        "code": "integer"
      }, {
        "code": "integer64"
      }, {
        "code": "markdown"
      }, {
        "code": "oid"
      }, {
        "code": "positiveInt"
      }, {
        "code": "string"
      }, {
        "code": "time"
      }, {
        "code": "unsignedInt"
      }, {
        "code": "uri"
      }, {
        "code": "url"
      }, {
        "code": "uuid"
      }, {
        "code": "Address"
      }, {
        "code": "Age"
      }, {
        "code": "Annotation"
      }, {
        "code": "Attachment"
      }, {
        "code": "CodeableConcept"
      }, {
        "code": "CodeableReference"
      }, {
        "code": "Coding"
      }, {
        "code": "ContactPoint"
      }, {
        "code": "Count"
      }, {
        "code": "Distance"
      }, {
        "code": "Duration"
      }, {
        "code": "HumanName"
      }, {
        "code": "Identifier"
      }, {
        "code": "Money"
      }, {
        "code": "Period"
      }, {
        "code": "Quantity"
      }, {
        "code": "Range"
      }, {
        "code": "Ratio"
      }, {
        "code": "RatioRange"
      }, {
        "code": "Reference"
      }, {
        "code": "SampledData"
      }, {
        "code": "Signature"
      }, {
        "code": "Timing"
      }, {
        "code": "ContactDetail"
      }, {
        "code": "DataRequirement"
      }, {
        "code": "Expression"
      }, {
        "code": "ParameterDefinition"
      }, {
        "code": "RelatedArtifact"
      }, {
        "code": "TriggerDefinition"
      }, {
        "code": "UsageContext"
      }, {
        "code": "Availability"
      }, {
        "code": "ExtendedContactDetail"
      }, {
        "code": "Dosage"
      }, {
        "code": "Meta"
      } ],
      "max": "0",
      "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": "ba94f127-2317-4d43-9f40-1400365a4d2d",
  "kind": "complex-type",
  "url": "http://hl7.org/fhir/3.0/StructureDefinition/extension-TestScript.rule",
  "context": [ {
    "type": "element",
    "expression": "TestScript"
  } ],
  "version": "0.1.0",
  "differential": {
    "element": [ {
      "path": "Extension",
      "min": 0,
      "definition": "STU3: `TestScript.rule` (new:BackboneElement)",
      "isModifier": false,
      "short": "STU3: Assert rule used within the test script (new)",
      "max": "*",
      "id": "Extension",
      "comment": "Element `TestScript.rule` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).\nEach rule should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Extension"
      }
    }, {
      "id": "Extension.extension",
      "max": "*",
      "min": 1,
      "base": {
        "max": "*",
        "min": 0,
        "path": "Extension.extension"
      },
      "path": "Extension.extension",
      "slicing": {
        "rules": "open",
        "ordered": false,
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      }
    }, {
      "path": "Extension.extension",
      "requirements": "Element `TestScript.rule.resource` is part of an existing definition because parent element `TestScript.rule` requires a cross-version extension.\nElement `TestScript.rule.resource` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.resource` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "min": 1,
      "definition": "STU3: `TestScript.rule.resource` (new:Reference(Resource))",
      "short": "STU3: Assert rule resource reference (new)",
      "sliceName": "resource",
      "max": "1",
      "id": "Extension.extension:resource",
      "comment": "Element `TestScript.rule.resource` is part of an existing definition because parent element `TestScript.rule` requires a cross-version extension.\nElement `TestScript.rule.resource` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.resource` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Extension.extension"
      }
    }, {
      "id": "Extension.extension:resource.url",
      "max": "1",
      "min": 1,
      "base": {
        "max": "1",
        "min": 1,
        "path": "Extension.url"
      },
      "path": "Extension.extension.url",
      "fixedUri": "resource"
    }, {
      "id": "Extension.extension:resource.value[x]",
      "max": "1",
      "min": 1,
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      },
      "path": "Extension.extension.value[x]",
      "type": [ {
        "code": "Reference",
        "targetProfile": [ "http://hl7.org/fhir/3.0/StructureDefinition/profile-Resource|0.1.0", "http://hl7.org/fhir/StructureDefinition/Resource|5.0.0" ]
      } ],
      "short": "Assert rule resource reference",
      "definition": "Reference to the resource (containing the contents of the rule needed for assertions)."
    }, {
      "path": "Extension.extension",
      "requirements": "Element `TestScript.rule.param` is part of an existing definition because parent element `TestScript.rule` requires a cross-version extension.\nElement `TestScript.rule.param` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "min": 0,
      "definition": "STU3: `TestScript.rule.param` (new:BackboneElement)",
      "short": "STU3: Rule parameter template (new)",
      "sliceName": "param",
      "max": "*",
      "id": "Extension.extension:param",
      "comment": "Element `TestScript.rule.param` is part of an existing definition because parent element `TestScript.rule` requires a cross-version extension.\nElement `TestScript.rule.param` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).\nThe parameter value can be dynamic at runtime.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Extension.extension"
      }
    }, {
      "id": "Extension.extension:param.extension",
      "max": "*",
      "min": 1,
      "base": {
        "max": "*",
        "min": 0,
        "path": "Extension.extension"
      },
      "path": "Extension.extension.extension",
      "slicing": {
        "rules": "open",
        "ordered": false,
        "discriminator": [ {
          "path": "url",
          "type": "value"
        } ]
      }
    }, {
      "path": "Extension.extension.extension",
      "requirements": "Element `TestScript.rule.param.name` is part of an existing definition because parent element `TestScript.rule.param` requires a cross-version extension.\nElement `TestScript.rule.param.name` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param.name` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "min": 1,
      "definition": "STU3: `TestScript.rule.param.name` (new:string)",
      "short": "STU3: Parameter name matching external assert rule parameter (new)",
      "sliceName": "name",
      "max": "1",
      "id": "Extension.extension:param.extension:name",
      "comment": "Element `TestScript.rule.param.name` is part of an existing definition because parent element `TestScript.rule.param` requires a cross-version extension.\nElement `TestScript.rule.param.name` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param.name` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).\nThe external rule template would be looking for the parameter by this name.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Extension.extension"
      }
    }, {
      "id": "Extension.extension:param.extension:name.url",
      "max": "1",
      "min": 1,
      "base": {
        "max": "1",
        "min": 1,
        "path": "Extension.url"
      },
      "path": "Extension.extension.extension.url",
      "fixedUri": "name"
    }, {
      "path": "Extension.extension.extension.value[x]",
      "min": 1,
      "definition": "Descriptive name for this parameter that matches the external assert rule parameter name.",
      "short": "Parameter name matching external assert rule parameter",
      "type": [ {
        "code": "string"
      } ],
      "max": "1",
      "id": "Extension.extension:param.extension:name.value[x]",
      "comment": "The external rule template would be looking for the parameter by this name.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      }
    }, {
      "path": "Extension.extension.extension",
      "requirements": "Element `TestScript.rule.param.value` is part of an existing definition because parent element `TestScript.rule.param` requires a cross-version extension.\nElement `TestScript.rule.param.value` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param.value` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).",
      "min": 0,
      "definition": "STU3: `TestScript.rule.param.value` (new:string)",
      "short": "STU3: Parameter value defined either explicitly or dynamically (new)",
      "sliceName": "value",
      "max": "1",
      "id": "Extension.extension:param.extension:value",
      "comment": "Element `TestScript.rule.param.value` is part of an existing definition because parent element `TestScript.rule.param` requires a cross-version extension.\nElement `TestScript.rule.param.value` has a context of TestScript based on following the parent source element upwards and mapping to `TestScript`.\nElement `TestScript.rule.param.value` has no mapping targets in FHIR R5. Typically, this is because the element has been added (is a new element).\nThis value can be overwritten by the assert.rule.param.value i.e. TestScript.rule.param.value will be used if assert.rule.param.value is not specified.  The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
      "base": {
        "max": "*",
        "min": 0,
        "path": "Extension.extension"
      }
    }, {
      "id": "Extension.extension:param.extension:value.url",
      "max": "1",
      "min": 1,
      "base": {
        "max": "1",
        "min": 1,
        "path": "Extension.url"
      },
      "path": "Extension.extension.extension.url",
      "fixedUri": "value"
    }, {
      "path": "Extension.extension.extension.value[x]",
      "min": 0,
      "definition": "The explicit or dynamic value for the parameter that will be passed on to the external rule template.",
      "short": "Parameter value defined either explicitly or dynamically",
      "type": [ {
        "code": "string"
      } ],
      "max": "1",
      "id": "Extension.extension:param.extension:value.value[x]",
      "comment": "This value can be overwritten by the assert.rule.param.value i.e. TestScript.rule.param.value will be used if assert.rule.param.value is not specified.  The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      }
    }, {
      "id": "Extension.extension:param.url",
      "max": "1",
      "min": 1,
      "base": {
        "max": "1",
        "min": 1,
        "path": "Extension.url"
      },
      "path": "Extension.extension.url",
      "fixedUri": "param"
    }, {
      "id": "Extension.extension:param.value[x]",
      "max": "0",
      "min": 0,
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      },
      "path": "Extension.extension.value[x]"
    }, {
      "id": "Extension.url",
      "max": "1",
      "min": 1,
      "base": {
        "max": "1",
        "min": 1,
        "path": "Extension.url"
      },
      "path": "Extension.url",
      "fixedUri": "http://hl7.org/fhir/3.0/StructureDefinition/extension-TestScript.rule"
    }, {
      "id": "Extension.value[x]",
      "max": "0",
      "min": 0,
      "base": {
        "max": "1",
        "min": 0,
        "path": "Extension.value[x]"
      },
      "path": "Extension.value[x]"
    } ]
  },
  "contact": [ {
    "name": "FHIR Infrastructure",
    "telecom": [ {
      "value": "http://www.hl7.org/Special/committees/fiwg",
      "system": "url"
    } ]
  } ],
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension|5.0.0"
}