R6 Ballot (2nd Draft)

Publish-box (todo)

Example TestScript/testscript-example-readcommon (JSON)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: No defined compartments

Raw JSON (canonical form + also see JSON Format Specification)

Read Common TestScript Example

{
  "resourceType" : "TestScript",
  "id" : "testscript-example-readcommon",
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
    "valueCode" : "fhir"
  }],
  "url" : "http://hl7.org/fhir/TestScript/testscript-example-readcommon",
  "identifier" : [{
    "system" : "urn:ietf:rfc:3986",
    "value" : "urn:oid:2.16.840.1.113883.4.642.12.8"
  }],
  "version" : "1.0",
  "name" : "TestScript Example Read Common",
  "status" : "draft",
  "experimental" : true,
  "date" : "2024-04-24",
  "publisher" : "HL7 International / FHIR Infrastructure",
  "contact" : [{
    "telecom" : [{
      "system" : "url",
      "value" : "http://www.hl7.org/Special/committees/fiwg"
    }]
  }],
  "description" : "TestScript example resource showing the use of the common element to reuse actions within the test element. Each test will perform a Patient read operation utilizing user defined dynamic variables that will hold the Patient resource id values.",
  "jurisdiction" : [{
    "coding" : [{
      "system" : "urn:iso:std:iso:3166",
      "code" : "US",
      "display" : "United States of America"
    }]
  }],
  "purpose" : "Patient Read Operation",
  "copyright" : "© HL7.org 2011+",
  "scope" : [{
    "artifact" : "http://hl7.org/fhir/StructureDefinition/Patient",
    "conformance" : {
      "coding" : [{
        "system" : "http://hl7.org/fhir/testscript-scope-conformance-codes",
        "code" : "optional"
      }]
    },
    "phase" : {
      "coding" : [{
        "system" : "http://hl7.org/fhir/testscript-scope-phase-codes",
        "code" : "unit"
      }]
    }
  }],
  "profile" : ["http://hl7.org/fhir/StructureDefinition/Patient"],
  "variable" : [{
    "name" : "PatientResourceId1",
    "defaultValue" : "f001"
  },
  {
    "name" : "PatientResourceId2",
    "defaultValue" : "f002"
  }],
  "test" : [{
    "id" : "PatientRead1",
    "name" : "Patient Read Test 1",
    "description" : "Read a known Patient (default id 'f001') and validate response using common action asserts.",
    "action" : [{
      "operation" : {
        "type" : {
          "system" : "http://hl7.org/fhir/restful-interaction",
          "code" : "read"
        },
        "resource" : "Patient",
        "description" : "Read the known Patient resource on the destination test system using the user defined dynamic variable ${PatientResourceId1}.",
        "accept" : "xml",
        "encodeRequestUrl" : true,
        "params" : "/${PatientResourceId1}"
      }
    },
    {
      "common" : {
        "keyRef" : "CommonReadActionAsserts"
      }
    }]
  },
  {
    "id" : "PatientRead2",
    "name" : "Patient Read Test 2",
    "description" : "Read a known Patient (default id 'f002') and validate response using common action asserts.",
    "action" : [{
      "operation" : {
        "type" : {
          "system" : "http://hl7.org/fhir/restful-interaction",
          "code" : "read"
        },
        "resource" : "Patient",
        "description" : "Read the known Patient resource on the destination test system using the user defined dynamic variable ${PatientResourceId2}.",
        "accept" : "xml",
        "encodeRequestUrl" : true,
        "params" : "/${PatientResourceId2}"
      }
    },
    {
      "common" : {
        "keyRef" : "CommonReadActionAsserts"
      }
    }]
  }],
  "common" : [{
    "key" : "CommonReadActionAsserts",
    "name" : "Common Read Action Asserts",
    "description" : "The common action asserts to evaluate and validate conformance to the base FHIR read operation.",
    "action" : [{
      "assert" : {
        "description" : "Confirm that the returned HTTP status is 200(OK).",
        "response" : "okay",
        "stopTestOnFail" : false,
        "warningOnly" : false
      }
    },
    {
      "assert" : {
        "description" : "Confirm that the returned format is XML.",
        "contentType" : "xml",
        "stopTestOnFail" : false,
        "warningOnly" : false
      }
    },
    {
      "assert" : {
        "description" : "Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server might not support versioning.",
        "headerField" : "Last-Modified",
        "operator" : "notEmpty",
        "stopTestOnFail" : false,
        "warningOnly" : true
      }
    },
    {
      "assert" : {
        "description" : "Confirm that the returned resource type is Patient.",
        "resource" : "Patient",
        "stopTestOnFail" : false,
        "warningOnly" : false
      }
    },
    {
      "assert" : {
        "description" : "Confirm that the returned Patient conforms to the base FHIR specification.",
        "stopTestOnFail" : false,
        "validateProfileId" : "patient-profile",
        "warningOnly" : false
      }
    }]
  }]
}

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.