R5 Final QA

This page is part of the FHIR Specification (v5.0.0-draft-final: Final QA Preview for R5 - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Example TestReport/testreport-example (JSON)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: Not linked to any defined compartments

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

General TestReport Example

{
  "resourceType" : "TestReport",
  "id" : "testreport-example",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative: TestReport</b><a name=\"testreport-example\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource TestReport &quot;testreport-example&quot; </p></div><p><b>identifier</b>: id: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9878</p><p><b>name</b>: TestReport Example for TestScript Example</p><p><b>status</b>: completed</p><p><b>testScript</b>: <a href=\"http://example.com/TestScript/testscript-example\">http://example.com/TestScript/testscript-example</a></p><p><b>result</b>: pass</p><p><b>score</b>: 100.0</p><p><b>tester</b>: HL7 Execution Engine</p><p><b>issued</b>: 2016-10-07T08:25:34-05:00</p><blockquote><p><b>participant</b></p><p><b>type</b>: test-engine</p><p><b>uri</b>: <a href=\"http://projectcrucible.org\">http://projectcrucible.org</a></p><p><b>display</b>: Crucible</p></blockquote><blockquote><p><b>participant</b></p><p><b>type</b>: server</p><p><b>uri</b>: <a href=\"http://fhir3.healthintersections.com.au/open\">http://fhir3.healthintersections.com.au/open</a></p><p><b>display</b>: HealthIntersections STU3</p></blockquote><blockquote><p><b>setup</b></p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>DELETE Patient</td><td><a href=\"http://projectcrucible.org/permalink/1\">http://projectcrucible.org/permalink/1</a></td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>HTTP 204</td><td>http://projectcrucible.org/permalink/1</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>POST Patient/fixture-patient-create</td><td><a href=\"http://projectcrucible.org/permalink/1\">http://projectcrucible.org/permalink/1</a></td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>HTTP 201</td><td>http://projectcrucible.org/permalink/1</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Read Patient</p><p><b>description</b>: Read a Patient and validate response.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>GET Patient/fixture-patient-create</td><td><a href=\"http://projectcrucible.org/permalink/2\">http://projectcrucible.org/permalink/2</a></td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>HTTP 200</td><td>http://projectcrucible.org/permalink/2</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>Last-Modified Present</td><td>http://projectcrucible.org/permalink/2</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>Response is Patient</td><td>http://projectcrucible.org/permalink/2</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>Response validates</td><td>http://projectcrucible.org/permalink/2</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>Patient.name.family 'Chalmers'</td><td>http://projectcrucible.org/permalink/2</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>Patient.name.given 'Peter'</td><td>http://projectcrucible.org/permalink/2</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>Patient.name.family 'Chalmers'</td><td>http://projectcrucible.org/permalink/2</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>Patient.name.family 'Chalmers'</td><td>http://projectcrucible.org/permalink/2</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>Patient expected values.</td><td>http://projectcrucible.org/permalink/2</td></tr></table></blockquote></blockquote><blockquote><p><b>teardown</b></p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td>-</td><td><b>Result</b></td><td><b>Message</b></td><td><b>Detail</b></td></tr><tr><td>*</td><td>pass</td><td>DELETE Patient/fixture-patient-create.</td><td><a href=\"http://projectcrucible.org/permalink/3\">http://projectcrucible.org/permalink/3</a></td></tr></table></blockquote></blockquote></div>"
  },
  "identifier" : {
    "system" : "urn:ietf:rfc:3986",
    "value" : "urn:oid:1.3.6.1.4.1.21367.2005.3.7.9878"
  },
  "name" : "TestReport Example for TestScript Example",
  "status" : "completed",
  "testScript" : "http://example.com/TestScript/testscript-example",
  "result" : "pass",
  "score" : 100.0,
  "tester" : "HL7 Execution Engine",
  "issued" : "2016-10-07T08:25:34-05:00",
  "participant" : [{
    "type" : "test-engine",
    "uri" : "http://projectcrucible.org",
    "display" : "Crucible"
  },
  {
    "type" : "server",
    "uri" : "http://fhir3.healthintersections.com.au/open",
    "display" : "HealthIntersections STU3"
  }],
  "setup" : {
    "action" : [{
      "operation" : {
        "result" : "pass",
        "message" : "DELETE Patient",
        "detail" : "http://projectcrucible.org/permalink/1"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "HTTP 204",
        "detail" : "http://projectcrucible.org/permalink/1"
      }
    },
    {
      "operation" : {
        "result" : "pass",
        "message" : "POST Patient/fixture-patient-create",
        "detail" : "http://projectcrucible.org/permalink/1"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "HTTP 201",
        "detail" : "http://projectcrucible.org/permalink/1"
      }
    }]
  },
  "test" : [{
    "id" : "01-ReadPatient",
    "name" : "Read Patient",
    "description" : "Read a Patient and validate response.",
    "action" : [{
      "operation" : {
        "result" : "pass",
        "message" : "GET Patient/fixture-patient-create",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "HTTP 200",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "Last-Modified Present",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "Response is Patient",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "Response validates",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "Patient.name.family 'Chalmers'",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "Patient.name.given 'Peter'",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "Patient.name.family 'Chalmers'",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "Patient.name.family 'Chalmers'",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    },
    {
      "assert" : {
        "result" : "pass",
        "message" : "Patient expected values.",
        "detail" : "http://projectcrucible.org/permalink/2"
      }
    }]
  }],
  "teardown" : {
    "action" : [{
      "operation" : {
        "result" : "pass",
        "message" : "DELETE Patient/fixture-patient-create.",
        "detail" : "http://projectcrucible.org/permalink/3"
      }
    }]
  }
}

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.