FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions

Example TestScript/testscript-example (XML)

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

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

Jump past Narrative

General TestScript Example (id = "testscript-example")

<?xml version="1.0" encoding="UTF-8"?>

<TestScript xmlns="http://hl7.org/fhir">
  <id value="testscript-example"/> 
  <text> <status value="extensions"/> <div xmlns="http://www.w3.org/1999/xhtml"><p> <b> Generated Narrative: TestScript</b> <a name="testscript-example"> </a> <a name="hctestscript-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 TestScript &quot;testscript-example&quot; </p> </div> <p> <b> StructureDefinition Work Group</b> : fhir</p> <p> <b> url</b> : <code> http://hl7.org/fhir/TestScript/testscript-example</code> </p> <p> <b> identifier</b> : <a href="http://terminology.hl7.org/6.0.2/NamingSystem-uri.html" title="As defined by RFC 3986 (http://www.ietf.org/rfc/rfc3986.txt)(with many schemes
         defined in many RFCs). For OIDs and UUIDs, use the URN form (urn:oid:(note: lowercase)
         and urn:uuid:). See http://www.ietf.org/rfc/rfc3001.txt and http://www.ietf.org/rfc/rfc4122.t
        xt 

This oid is used as an identifier II.root to indicate the the extension is an absolute
         URI (technically, an IRI). Typically, this is used for OIDs and GUIDs. Note that
         when this OID is used with OIDs and GUIDs, the II.extension should start with urn:oid
         or urn:uuid: 

Note that this OID is created to aid with interconversion between CDA and FHIR
         - FHIR uses urn:ietf:rfc:3986 as equivalent to this OID. URIs as identifiers appear
         more commonly in FHIR.

This OID may also be used in CD.codeSystem.">Uniform Resource Identifier (URI)</a> /urn:oid:2.16.840.1.113883.4.642.12.4</p> <p> <b> version</b> : 1.0</p> <p> <b> name</b> : TestScriptExample</p> <p> <b> title</b> : TestScript Example</p> <p> <b> status</b> : draft</p> <p> <b> experimental</b> : true</p> <p> <b> date</b> : 2017-01-18</p> <p> <b> publisher</b> : HL7 International / FHIR Infrastructure</p> <p> <b> contact</b> : Support: <a href="http://www.hl7.org/Special/committees/fiwg">http://www.hl7.org/Special/committees/fiwg</a> </p> <p> <b> description</b> : TestScript example resource with setup to delete if present and create a new
         instance of a Patient; and single test definition to read the created Patient with
         various asserts.</p> <h3> UseContexts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Code</b> </td> <td> <b> Value[x]</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Clinical Focus (Details: http://terminology.hl7.org/CodeSystem/usage-context-type
             code focus = 'Clinical Focus', stated as 'null')</td> <td> positive <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/6.0.2/CodeSystem-variant-state.html">sequenceStatus</a> #positive)</span> </td> </tr> <tr> <td style="display: none">*</td> <td> Program (Details: http://terminology.hl7.org/CodeSystem/usage-context-type code
             program = 'Program', stated as 'null')</td> <td> 2018-? year</td> </tr> </table> <p> <b> jurisdiction</b> : United States of America <span style="background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki"> (<a href="http://terminology.hl7.org/6.0.2/CodeSystem-ISO3166Part1.html">ISO 3166-1 Codes for the representation of names of countries and their subdivisions
             — Part 1: Country code</a> #US)</span> </p> <p> <b> purpose</b> : Patient Conditional Create (Update), Read and Delete Operations</p> <p> <b> copyright</b> : © HL7.org 2011+</p> <blockquote> <p> <b> metadata</b> </p> <h3> Links</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Url</b> </td> <td> <b> Description</b> </td> </tr> <tr> <td style="display: none">*</td> <td> <a href="http://hl7.org/fhir/patient.html">http://hl7.org/fhir/patient.html</a> </td> <td> Demographics and other administrative information about an individual or animal
               receiving care or other health-related services.</td> </tr> </table> <h3> Capabilities</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Required</b> </td> <td> <b> Validated</b> </td> <td> <b> Description</b> </td> <td> <b> Link</b> </td> <td> <b> Capabilities</b> </td> </tr> <tr> <td style="display: none">*</td> <td> true</td> <td> false</td> <td> Patient Update, Read and Delete Operations</td> <td> <a href="http://hl7.org/fhir/http.html#delete">http://hl7.org/fhir/http.html#delete</a> , <a href="http://hl7.org/fhir/http.html#read">http://hl7.org/fhir/http.html#read</a> , <a href="http://hl7.org/fhir/http.html#update">http://hl7.org/fhir/http.html#update</a> </td> <td> <a href="http://hl7.org/fhir/CapabilityStatement/example">http://hl7.org/fhir/CapabilityStatement/example</a> </td> </tr> </table> </blockquote> <blockquote> <p> <b> fixture</b> </p> <p> <b> autocreate</b> : false</p> <p> <b> autodelete</b> : false</p> <p> <b> resource</b> : <a href="patient-example.html">Patient/example: Peter Chalmers</a>  &quot;Peter CHALMERS&quot;</p> </blockquote> <blockquote> <p> <b> fixture</b> </p> <p> <b> autocreate</b> : false</p> <p> <b> autodelete</b> : false</p> <p> <b> resource</b> : <a href="patient-example.html">Patient/example: Peter Chalmers (minimum)</a>  &quot;Peter CHALMERS&quot;</p> </blockquote> <p> <b> profile</b> : <a href="patient.html">Patient</a> </p> <h3> Variables</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Name</b> </td> <td> <b> Path</b> </td> <td> <b> SourceId</b> </td> </tr> <tr> <td style="display: none">*</td> <td> createResourceId</td> <td> Patient/id</td> <td> fixture-patient-create</td> </tr> </table> <blockquote> <p> <b> setup</b> </p> <blockquote> <p> <b> action</b> </p> <h3> Operations</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Type</b> </td> <td> <b> Resource</b> </td> <td> <b> Label</b> </td> <td> <b> Description</b> </td> <td> <b> Accept</b> </td> <td> <b> EncodeRequestUrl</b> </td> <td> <b> Params</b> </td> </tr> <tr> <td style="display: none">*</td> <td> delete (Details: http://hl7.org/fhir/restful-interaction code delete = 'delete',
                 stated as 'null')</td> <td> <a href="patient.html">Patient</a> </td> <td> SetupDeletePatient</td> <td> Execute a delete operation to insure the patient does not exist on the server.</td> <td> json</td> <td> true</td> <td> /${createResourceId}</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> Direction</b> </td> <td> <b> Operator</b> </td> <td> <b> ResponseCode</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned HTTP status is 200(OK) or 204(No Content).</td> <td> response</td> <td> in</td> <td> 200,204</td> <td> false</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Operations</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Type</b> </td> <td> <b> Resource</b> </td> <td> <b> Label</b> </td> <td> <b> Description</b> </td> <td> <b> Accept</b> </td> <td> <b> ContentType</b> </td> <td> <b> EncodeRequestUrl</b> </td> <td> <b> Params</b> </td> <td> <b> SourceId</b> </td> </tr> <tr> <td style="display: none">*</td> <td> update (Details: http://hl7.org/fhir/restful-interaction code update = 'update',
                 stated as 'null')</td> <td> <a href="patient.html">Patient</a> </td> <td> SetupCreatePatient</td> <td> Create patient resource on test server using the contents of fixture-patient-create</td> <td> json</td> <td> json</td> <td> true</td> <td> /${createResourceId}</td> <td> fixture-patient-create</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> Direction</b> </td> <td> <b> ResponseCode</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned HTTP status is 201(Created).</td> <td> response</td> <td> 201</td> <td> false</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Operations</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Type</b> </td> <td> <b> Resource</b> </td> <td> <b> Description</b> </td> <td> <b> EncodeRequestUrl</b> </td> <td> <b> TargetId</b> </td> </tr> <tr> <td style="display: none">*</td> <td> read (Details: http://hl7.org/fhir/restful-interaction code read = 'read', stated
                 as 'null')</td> <td> <a href="patient.html">Patient</a> </td> <td> Read the created patient resource on the test server using the id from fixture-patient-create
                . Verify contents.</td> <td> true</td> <td> fixture-patient-create</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> Direction</b> </td> <td> <b> Response</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned HTTP status is 200(OK).</td> <td> response</td> <td> okay</td> <td> false</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> CompareToSourceId</b> </td> <td> <b> CompareToSourceExpression</b> </td> <td> <b> Operator</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned Patient contains the expected family name 'Chalmers'.
                 Uses explicit compareToSourceId reference to fixture-patient-create used to create
                 the Patient.</td> <td> fixture-patient-create</td> <td> Patient.name.first().family</td> <td> equals</td> <td> false</td> <td> false</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 style="display: none">-</td> <td> <b> Type</b> </td> <td> <b> Resource</b> </td> <td> <b> Description</b> </td> <td> <b> EncodeRequestUrl</b> </td> <td> <b> ResponseId</b> </td> <td> <b> TargetId</b> </td> </tr> <tr> <td style="display: none">*</td> <td> read (Details: http://hl7.org/fhir/restful-interaction code read = 'read', stated
                 as 'null')</td> <td> <a href="patient.html">Patient</a> </td> <td> Read the patient resource on the test server using the id from fixture-patient-create.
                 Prevent URL encoding of the request.</td> <td> false</td> <td> fixture-patient-read</td> <td> fixture-patient-create</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Label</b> </td> <td> <b> Description</b> </td> <td> <b> Direction</b> </td> <td> <b> Response</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> 01-ReadPatientOK</td> <td> Confirm that the returned HTTP status is 200(OK).</td> <td> response</td> <td> okay</td> <td> false</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> Direction</b> </td> <td> <b> HeaderField</b> </td> <td> <b> Operator</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned HTTP Header Last-Modified is present. Warning only as
                 the server might not support versioning.</td> <td> response</td> <td> Last-Modified</td> <td> notEmpty</td> <td> false</td> <td> true</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> Resource</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned resource type is Patient.</td> <td> <a href="patient.html">Patient</a> </td> <td> false</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> ValidateProfileId</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned Patient conforms to the base FHIR specification.</td> <td> false</td> <td> patient-profile</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> Operator</b> </td> <td> <b> Path</b> </td> <td> <b> SourceId</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> Value</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned Patient contains the expected family name 'Chalmers'.
                 Uses explicit sourceId reference to read responseId fixture.</td> <td> equals</td> <td> fhir:Patient/fhir:name/fhir:family/@value</td> <td> fixture-patient-read</td> <td> false</td> <td> Chalmers</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> Operator</b> </td> <td> <b> Path</b> </td> <td> <b> SourceId</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> Value</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned Patient contains the expected given name 'Peter'. Uses
                 explicit sourceId reference to read responseId fixture.</td> <td> equals</td> <td> fhir:Patient/fhir:name/fhir:given/@value</td> <td> fixture-patient-read</td> <td> false</td> <td> Peter</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> CompareToSourceId</b> </td> <td> <b> CompareToSourcePath</b> </td> <td> <b> Operator</b> </td> <td> <b> Path</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned Patient contains the expected family name 'Chalmers'.
                 Uses explicit compareToSourceId reference to fixture-patient-create used to create
                 the Patient and implicit reference to read response payload.</td> <td> fixture-patient-create</td> <td> fhir:Patient/fhir:name/fhir:family/@value</td> <td> equals</td> <td> fhir:Patient/fhir:name/fhir:family/@value</td> <td> false</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> CompareToSourceId</b> </td> <td> <b> CompareToSourcePath</b> </td> <td> <b> Path</b> </td> <td> <b> SourceId</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned Patient contains the expected family name 'Chalmers'.
                 Uses explicit compareToSourceId reference to fixture-patient-create used to create
                 the Patient and explicit reference to read response payload and default operator
                 of 'equals'.</td> <td> fixture-patient-create</td> <td> fhir:Patient/fhir:name/fhir:given/@value</td> <td> fhir:Patient/fhir:name/fhir:given/@value</td> <td> fixture-patient-read</td> <td> false</td> <td> false</td> </tr> </table> </blockquote> <blockquote> <p> <b> action</b> </p> <h3> Asserts</h3> <table class="grid"><tr> <td style="display: none">-</td> <td> <b> Description</b> </td> <td> <b> MinimumId</b> </td> <td> <b> StopTestOnFail</b> </td> <td> <b> WarningOnly</b> </td> </tr> <tr> <td style="display: none">*</td> <td> Confirm that the returned resource contains the expected retained elements and
                 values. Warning only to provide users with reviewable results.</td> <td> fixture-patient-minimum</td> <td> false</td> <td> true</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 style="display: none">-</td> <td> <b> Type</b> </td> <td> <b> Resource</b> </td> <td> <b> Description</b> </td> <td> <b> EncodeRequestUrl</b> </td> <td> <b> TargetId</b> </td> </tr> <tr> <td style="display: none">*</td> <td> delete (Details: http://hl7.org/fhir/restful-interaction code delete = 'delete',
                 stated as 'null')</td> <td> <a href="patient.html">Patient</a> </td> <td> Delete the patient resource on the test server using the id from fixture-patient-create.</td> <td> true</td> <td> fixture-patient-create</td> </tr> </table> </blockquote> </blockquote> </div> </text> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"><valueCode value="fhir"/> </extension> 
  <url value="http://hl7.org/fhir/TestScript/testscript-example"/> 
  <identifier> 
    <system value="urn:ietf:rfc:3986"/> 
    <value value="urn:oid:2.16.840.1.113883.4.642.12.4"/> 
  </identifier> 
  <version value="1.0"/> 
  <name value="TestScriptExample"/> 
  <title value="TestScript Example"/> 
  <status value="draft"/> 
  <experimental value="true"/> 
  <date value="2017-01-18"/> 
  <publisher value="HL7 International / FHIR Infrastructure"/> 
  <contact> 
    <name value="Support"/> 
    <telecom> 
      <system value="url"/> 
      <value value="http://www.hl7.org/Special/committees/fiwg"/> 
      <use value="work"/> 
    </telecom> 
  </contact> 
  <description value="TestScript example resource with setup to delete if present and create a new instance
   of a Patient; and single test definition to read the created Patient with various
   asserts."/> 
  <useContext> 
    <code> 
      <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> 
      <code value="focus"/> 
    </code> 
    <valueCodeableConcept> 
      <coding> 
        <system value="http://terminology.hl7.org/CodeSystem/variant-state"/> 
        <code value="positive"/> 
      </coding> 
    </valueCodeableConcept> 
  </useContext> 
  <useContext> 
    <code> 
      <system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/> 
      <code value="program"/> 
    </code> 
    <valueRange> 
      <low> 
        <value value="2018"/> 
        <unit value="year"/> 
        <system value="http://unitsofmeasure.org"/> 
        <code value="a"/> 
      </low> 
    </valueRange> 
  </useContext> 
  <jurisdiction> 
    <coding> 
      <system value="urn:iso:std:iso:3166"/> 
      <code value="US"/> 
      <display value="United States of America"/> 
    </coding> 
  </jurisdiction> 
  <purpose value="Patient Conditional Create (Update), Read and Delete Operations"/> 
  <copyright value="© HL7.org 2011+"/> 
  <metadata> 
    <link> 
      <url value="http://hl7.org/fhir/patient.html"/> 
      <description value="Demographics and other administrative information about an individual or animal
       receiving care or other health-related services."/> 
    </link> 
    <capability> 
      <required value="true"/> 
      <validated value="false"/> 
      <description value="Patient Update, Read and Delete Operations"/> 
      <link value="http://hl7.org/fhir/http.html#delete"/> 
      <link value="http://hl7.org/fhir/http.html#read"/> 
      <link value="http://hl7.org/fhir/http.html#update"/> 
      <capabilities value="http://hl7.org/fhir/CapabilityStatement/example"/> 
    </capability> 
  </metadata> 
  <fixture id="fixture-patient-create">
    <autocreate value="false"/> 
    <autodelete value="false"/> 
    <resource> 
      <reference value="Patient/example"/> 
      <display value="Peter Chalmers"/> 
    </resource> 
  </fixture> 
  <fixture id="fixture-patient-minimum">
    <autocreate value="false"/> 
    <autodelete value="false"/> 
    <resource> 
      <reference value="Patient/example"/> 
      <display value="Peter Chalmers (minimum)"/> 
    </resource> 
  </fixture> 
  <profile id="patient-profile" value="http://hl7.org/fhir/StructureDefinition/Patient"/> 
  <variable> 
    <name value="createResourceId"/> 
    <path value="Patient/id"/> 
    <sourceId value="fixture-patient-create"/> 
  </variable> 
  <setup> 
    <action> 
      <operation> 
        <type> 
          <system value="http://hl7.org/fhir/restful-interaction"/> 
          <code value="delete"/> 
        </type> 
        <resource value="Patient"/> 
        <label value="SetupDeletePatient"/> 
        <description value="Execute a delete operation to insure the patient does not exist on the server."/> 
        <accept value="json"/> 
        <encodeRequestUrl value="true"/> 
        <params value="/${createResourceId}"/> 
      </operation> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned HTTP status is 200(OK) or 204(No Content)."/> 
        <direction value="response"/> 
        <operator value="in"/> 
        <responseCode value="200,204"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <operation> 
        <type> 
          <system value="http://hl7.org/fhir/restful-interaction"/> 
          <code value="update"/> 
        </type> 
        <resource value="Patient"/> 
        <label value="SetupCreatePatient"/> 
        <description value="Create patient resource on test server using the contents of fixture-patient-create"/> 
        <accept value="json"/> 
        <contentType value="json"/> 
        <encodeRequestUrl value="true"/> 
        <params value="/${createResourceId}"/> 
        <sourceId value="fixture-patient-create"/> 
      </operation> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned HTTP status is 201(Created)."/> 
        <direction value="response"/> 
        <responseCode value="201"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <operation> 
        <type> 
          <system value="http://hl7.org/fhir/restful-interaction"/> 
          <code value="read"/> 
        </type> 
        <resource value="Patient"/> 
        <description value="Read the created patient resource on the test server using the id from fixture-patient-create
        . Verify contents."/> 
        <encodeRequestUrl value="true"/> 
        <targetId value="fixture-patient-create"/> 
      </operation> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned HTTP status is 200(OK)."/> 
        <direction value="response"/> 
        <response value="okay"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned Patient contains the expected family name 'Chalmers'.
         Uses explicit compareToSourceId reference to fixture-patient-create used to create
         the Patient."/> 
        <compareToSourceId value="fixture-patient-create"/> 
        <compareToSourceExpression value="Patient.name.first().family"/> 
        <operator value="equals"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
  </setup> 
  <test id="01-ReadPatient">
    <name value="Read Patient"/> 
    <description value="Read a Patient and validate response."/> 
    <action> 
      <operation> 
        <type> 
          <system value="http://hl7.org/fhir/restful-interaction"/> 
          <code value="read"/> 
        </type> 
        <resource value="Patient"/> 
        <description value="Read the patient resource on the test server using the id from fixture-patient-create.
         Prevent URL encoding of the request."/> 
        <encodeRequestUrl value="false"/> 
        <responseId value="fixture-patient-read"/> 
        <targetId value="fixture-patient-create"/> 
      </operation> 
    </action> 
    <action> 
      <assert> 
        <label value="01-ReadPatientOK"/> 
        <description value="Confirm that the returned HTTP status is 200(OK)."/> 
        <direction value="response"/> 
        <response value="okay"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned HTTP Header Last-Modified is present. Warning only as
         the server might not support versioning."/> 
        <direction value="response"/> 
        <headerField value="Last-Modified"/> 
        <operator value="notEmpty"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="true"/> 
      </assert> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned resource type is Patient."/> 
        <resource value="Patient"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned Patient conforms to the base FHIR specification."/> 
        <stopTestOnFail value="false"/> 
        <validateProfileId value="patient-profile"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned Patient contains the expected family name 'Chalmers'.
         Uses explicit sourceId reference to read responseId fixture."/> 
        <operator value="equals"/> 
        <path value="fhir:Patient/fhir:name/fhir:family/@value"/> 
        <sourceId value="fixture-patient-read"/> 
        <stopTestOnFail value="false"/> 
        <value value="Chalmers"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned Patient contains the expected given name 'Peter'. Uses
         explicit sourceId reference to read responseId fixture."/> 
        <operator value="equals"/> 
        <path value="fhir:Patient/fhir:name/fhir:given/@value"/> 
        <sourceId value="fixture-patient-read"/> 
        <stopTestOnFail value="false"/> 
        <value value="Peter"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned Patient contains the expected family name 'Chalmers'.
         Uses explicit compareToSourceId reference to fixture-patient-create used to create
         the Patient and implicit reference to read response payload."/> 
        <compareToSourceId value="fixture-patient-create"/> 
        <compareToSourcePath value="fhir:Patient/fhir:name/fhir:family/@value"/> 
        <operator value="equals"/> 
        <path value="fhir:Patient/fhir:name/fhir:family/@value"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned Patient contains the expected family name 'Chalmers'.
         Uses explicit compareToSourceId reference to fixture-patient-create used to create
         the Patient and explicit reference to read response payload and default operator
         of 'equals'."/> 
        <compareToSourceId value="fixture-patient-create"/> 
        <compareToSourcePath value="fhir:Patient/fhir:name/fhir:given/@value"/> 
        <path value="fhir:Patient/fhir:name/fhir:given/@value"/> 
        <sourceId value="fixture-patient-read"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="false"/> 
      </assert> 
    </action> 
    <action> 
      <assert> 
        <description value="Confirm that the returned resource contains the expected retained elements and
         values. Warning only to provide users with reviewable results."/> 
        <minimumId value="fixture-patient-minimum"/> 
        <stopTestOnFail value="false"/> 
        <warningOnly value="true"/> 
      </assert> 
    </action> 
  </test> 
  <teardown> 
    <action> 
      <operation> 
        <type> 
          <system value="http://hl7.org/fhir/restful-interaction"/> 
          <code value="delete"/> 
        </type> 
        <resource value="Patient"/> 
        <description value="Delete the patient resource on the test server using the id from fixture-patient-create."/> 
        <encodeRequestUrl value="true"/> 
        <targetId value="fixture-patient-create"/> 
      </operation> 
    </action> 
  </teardown> 
</TestScript> 

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.