FHIR © HL7.org  |  Server Home  |  Health Intersections FHIR Server v1.0.197  |  FHIR Version 3.0.1  | User: ANONYMOUS (Unknown)  

History Record

XML or JSON representation

Links: First Previous Next Last  (7 found). Search: http://test.fhir.org/r3/TestScript/_history?&_prior=2017-12-15T04:18:50Z&_format=text/xhtml&history-id=4b3ff947-1e2b-47ae-9774-beda63709c 

SQL (for debugging): Insert into SearchEntries Select 8563, Ids.ResourceKey, Versions.ResourceVersionKey, RIGHT ('0000000000000'+CAST(Versions.ResourceVersionKey AS VARCHAR(14)),14) as sort, null, null from Versions, Ids, Sessions where Ids.ResourceTypeKey = 116 and Versions.ResourceKey = Ids.ResourceKey and Versions.SessionKey = Sessions.SessionKey order by ResourceVersionKey DESC

TestScript "testscript-example" Version "1"

Created by SYSTEM () at 11/28/2017 8:36:28 AM(UTC)

Tags: (no tags)  +

This Resource , XML or JSON representation, or the full version history.. provenance for this resource
Updated: by

Generated Narrative with Details

id: testscript-example

url: http://hl7.org/fhir/TestScript/testscript-example

identifier: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9876

version: 1.0

name: TestScript Example

status: draft

experimental: true

date: 18/01/2017

publisher: HL7

contact:

description: 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:

jurisdiction: United States of America (the) (Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})

purpose: Patient Conditional Create (Update), Read and Delete Operations

copyright: © HL7.org 2011+

metadata

Links

-UrlDescription
*http://hl7.org/fhir/patient.htmlDemographics and other administrative information about an individual or animal receiving care or other health-related services.

Capabilities

-RequiredDescriptionLinkCapabilities
*truePatient Update, Read and Delete Operationshttp://hl7.org/fhir/http.html#deleteCapabilityStatement/example

fixture

autocreate: false

autodelete: false

resource: Peter Chalmers

fixture

autocreate: false

autodelete: false

resource: Peter Chalmers (minimum)

profile: http://hl7.org/fhir/StructureDefinition/Patient

Variables

-NamePathSourceId
*createResourceIdPatient/idfixture-patient-create

setup

action

Operations

-TypeResourceLabelDescriptionAcceptParams
*Delete (Details: http://hl7.org/fhir/testscript-operation-codes code delete = 'Delete', stated as 'null')PatientSetupDeletePatientExecute a delete operation to insure the patient does not exist on the server.json/${createResourceId}

action

Asserts

-DescriptionDirectionOperatorResponseCode
*Confirm that the returned HTTP status is 200(OK) or 204(No Content).responsein200,204

action

Operations

-TypeResourceLabelDescriptionAcceptContentTypeParamsSourceId
*Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')PatientSetupCreatePatientCreate patient resource on test server using the contents of fixture-patient-createjsonjson/${createResourceId}fixture-patient-create

action

Asserts

-DescriptionDirectionResponseCode
*Confirm that the returned HTTP status is 201(Created).response201

action

Operations

-TypeResourceDescriptionTargetId
*Read (Details: http://hl7.org/fhir/testscript-operation-codes code read = 'Read', stated as 'null')PatientRead the created patient resource on the test server using the id from fixture-patient-create. Verify contents.fixture-patient-create

action

Asserts

-DescriptionDirectionResponse
*Confirm that the returned HTTP status is 200(OK).responseokay

action

Asserts

-DescriptionCompareToSourceIdCompareToSourceExpressionOperator
*Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit compareToSourceId reference to fixture-patient-create used to create the Patient.fixture-patient-createPatient.name.first().familyequals

test

name: Read Patient

description: Read a Patient and validate response.

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

teardown

action

Operations

-
*

<?xml version="1.0" encoding="UTF-8"?>
<TestScript xmlns="http://hl7.org/fhir">
  <id value="testscript-example"/>
  <meta>
    <versionId value="1"/>
    <lastUpdated value="2017-11-28T08:36:28Z"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>
        <b>Generated Narrative with Details</b>
      </p>
      <p>
        <b>id</b>: testscript-example</p>
      <p>
        <b>url</b>:
        <a>http://hl7.org/fhir/TestScript/testscript-example</a>
      </p>
      <p>
        <b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9876</p>
      <p>
        <b>version</b>: 1.0</p>
      <p>
        <b>name</b>: TestScript Example</p>
      <p>
        <b>status</b>: draft</p>
      <p>
        <b>experimental</b>: true</p>
      <p>
        <b>date</b>: 18/01/2017</p>
      <p>
        <b>publisher</b>: HL7</p>
      <p>
        <b>contact</b>: </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>
      <p>
        <b>useContext</b>: </p>
      <p>
        <b>jurisdiction</b>: United States of America (the)
        <span>(Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})</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>
          <tr>
            <td>-</td>
            <td>
              <b>Url</b>
            </td>
            <td>
              <b>Description</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>
              <a>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>
          <tr>
            <td>-</td>
            <td>
              <b>Required</b>
            </td>
            <td>
              <b>Description</b>
            </td>
            <td>
              <b>Link</b>
            </td>
            <td>
              <b>Capabilities</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>true</td>
            <td>Patient Update, Read and Delete Operations</td>
            <td>
              <a>http://hl7.org/fhir/http.html#delete</a>
            </td>
            <td>
              <a>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>Peter Chalmers</a>
        </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>Peter Chalmers (minimum)</a>
        </p>
      </blockquote>
      <p>
        <b>profile</b>:
        <a>http://hl7.org/fhir/StructureDefinition/Patient</a>
      </p>
      <h3>Variables</h3>
      <table>
        <tr>
          <td>-</td>
          <td>
            <b>Name</b>
          </td>
          <td>
            <b>Path</b>
          </td>
          <td>
            <b>SourceId</b>
          </td>
        </tr>
        <tr>
          <td>*</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>
            <tr>
              <td>-</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>Params</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Delete (Details: http://hl7.org/fhir/testscript-operation-codes code delete = 'Delete', stated as 'null')</td>
              <td>Patient</td>
              <td>SetupDeletePatient</td>
              <td>Execute a delete operation to insure the patient does not exist on the server.</td>
              <td>json</td>
              <td>/${createResourceId}</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>Operator</b>
              </td>
              <td>
                <b>ResponseCode</b>
              </td>
            </tr>
            <tr>
              <td>*</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>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</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>Params</b>
              </td>
              <td>
                <b>SourceId</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')</td>
              <td>Patient</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>/${createResourceId}</td>
              <td>fixture-patient-create</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>ResponseCode</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Confirm that the returned HTTP status is 201(Created).</td>
              <td>response</td>
              <td>201</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Type</b>
              </td>
              <td>
                <b>Resource</b>
              </td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>TargetId</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Read (Details: http://hl7.org/fhir/testscript-operation-codes code read = 'Read', stated as 'null')</td>
              <td>Patient</td>
              <td>Read the created patient resource on the test server using the id from fixture-patient-create. Verify contents.</td>
              <td>fixture-patient-create</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>Response</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Confirm that the returned HTTP status is 200(OK).</td>
              <td>response</td>
              <td>okay</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>CompareToSourceId</b>
              </td>
              <td>
                <b>CompareToSourceExpression</b>
              </td>
              <td>
                <b>Operator</b>
              </td>
            </tr>
            <tr>
              <td>*</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>
            </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>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>teardown</b>
        </p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
    </div>
  </text>
  <url value="http://hl7.org/fhir/TestScript/testscript-example"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:1.3.6.1.4.1.21367.2005.3.7.9876"/>
  </identifier>
  <version value="1.0"/>
  <name value="TestScript Example"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2017-01-18"/>
  <publisher value="HL7"/>
  <contact>
    <name value="Support"/>
    <telecom>
      <system value="email"/>
      <value value="support@HL7.org"/>
      <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://hl7.org/fhir/usage-context-type"/>
      <code value="focus"/>
    </code>
    <valueCodeableConcept>
      <coding>
        <system value="http://hl7.org/fhir/variant-state"/>
        <code value="positive"/>
      </coding>
    </valueCodeableConcept>
  </useContext>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America (the)"/>
    </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"/>
      <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>
        <reference value="CapabilityStatement/example"/>
      </capabilities>
    </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">
    <reference value="StructureDefinition/Patient"/>
  </profile>
  <variable>
    <name value="createResourceId"/>
    <path value="Patient/id"/>
    <sourceId value="fixture-patient-create"/>
  </variable>
  <setup>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <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"/>
        <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"/>
      </assert>
    </action>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <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"/>
        <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"/>
      </assert>
    </action>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <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."/>
        <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"/>
      </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"/>
      </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/testscript-operation-codes"/>
          <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"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server may not support versioning."/>
        <direction value="response"/>
        <headerField value="Last-Modified"/>
        <operator value="notEmpty"/>
        <warningOnly value="true"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned resource type is Patient."/>
        <resource value="Patient"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned Patient conforms to the base FHIR specification."/>
        <validateProfileId value="patient-profile"/>
      </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"/>
        <value value="Chalmers"/>
      </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"/>
        <value value="Peter"/>
      </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"/>
      </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"/>
      </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"/>
        <warningOnly value="true"/>
      </assert>
    </action>
  </test>
  <teardown>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="delete"/>
        </type>
        <resource value="Patient"/>
        <description value="Delete the patient resource on the test server using the id from fixture-patient-create."/>
        <targetId value="fixture-patient-create"/>
      </operation>
    </action>
  </teardown>
</TestScript>

TestScript "testscript-example-update" Version "1"

Created by SYSTEM () at 11/28/2017 8:36:28 AM(UTC)

Tags: (no tags)  +

This Resource , XML or JSON representation, or the full version history.. provenance for this resource
Updated: by

Generated Narrative with Details

id: testscript-example-update

url: http://hl7.org/fhir/TestScript/testscript-example-update

identifier: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9882

version: 1.0

name: TestScript Example Update

status: draft

experimental: true

date: 18/01/2017

publisher: HL7

contact:

description: TestScript example resource with setup to delete if present and create a new instance of a Patient; and single test definition to update that Patient with various asserts.

jurisdiction: United States of America (the) (Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})

purpose: Patient (Conditional) Create, Update, Delete Operations

copyright: © HL7.org 2011+

metadata

Links

-UrlDescription
*http://hl7.org/fhir/patient.htmlDemographics and other administrative information about an individual or animal receiving care or other health-related services.

Capabilities

-RequiredDescriptionLinkCapabilities
*truePatient Update and Delete Operationshttp://hl7.org/fhir/http.html#updateCapabilityStatement/example

fixture

autocreate: false

autodelete: false

resource: Peter Chalmers

fixture

autocreate: false

autodelete: false

resource: Donald Duck

profile: http://hl7.org/fhir/StructureDefinition/Patient

Variables

-NamePathSourceId
*createResourceIdPatient/idfixture-patient-create

setup

action

Operations

-TypeResourceLabelDescriptionAcceptParams
*Delete (Details: http://hl7.org/fhir/testscript-operation-codes code delete = 'Delete', stated as 'null')PatientSetupDeletePatientExecute a delete operation to insure the patient does not exist on the server.xml/${createResourceId}

action

Asserts

-DescriptionDirectionOperatorResponseCode
*Confirm that the returned HTTP status is 200(OK) or 204(No Content).responsein200,204

action

Operations

-TypeResourceLabelDescriptionAcceptContentTypeParamsSourceId
*Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')PatientSetupCreatePatientCreate patient resource on test server using the contents of fixture-patient-createxmlxml/${createResourceId}fixture-patient-create

action

Asserts

-DescriptionDirectionResponseCode
*Confirm that the returned HTTP status is 201(Created).response201

test

name: Update Patient

description: Update a Patient and validate response.

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

<?xml version="1.0" encoding="UTF-8"?>
<TestScript xmlns="http://hl7.org/fhir">
  <id value="testscript-example-update"/>
  <meta>
    <versionId value="1"/>
    <lastUpdated value="2017-11-28T08:36:28Z"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>
        <b>Generated Narrative with Details</b>
      </p>
      <p>
        <b>id</b>: testscript-example-update</p>
      <p>
        <b>url</b>:
        <a>http://hl7.org/fhir/TestScript/testscript-example-update</a>
      </p>
      <p>
        <b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9882</p>
      <p>
        <b>version</b>: 1.0</p>
      <p>
        <b>name</b>: TestScript Example Update</p>
      <p>
        <b>status</b>: draft</p>
      <p>
        <b>experimental</b>: true</p>
      <p>
        <b>date</b>: 18/01/2017</p>
      <p>
        <b>publisher</b>: HL7</p>
      <p>
        <b>contact</b>: </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 update that Patient with various asserts.</p>
      <p>
        <b>jurisdiction</b>: United States of America (the)
        <span>(Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})</span>
      </p>
      <p>
        <b>purpose</b>: Patient (Conditional) Create, Update, Delete Operations</p>
      <p>
        <b>copyright</b>: © HL7.org 2011+</p>
      <blockquote>
        <p>
          <b>metadata</b>
        </p>
        <h3>Links</h3>
        <table>
          <tr>
            <td>-</td>
            <td>
              <b>Url</b>
            </td>
            <td>
              <b>Description</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>
              <a>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>
          <tr>
            <td>-</td>
            <td>
              <b>Required</b>
            </td>
            <td>
              <b>Description</b>
            </td>
            <td>
              <b>Link</b>
            </td>
            <td>
              <b>Capabilities</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>true</td>
            <td>Patient Update and Delete Operations</td>
            <td>
              <a>http://hl7.org/fhir/http.html#update</a>
            </td>
            <td>
              <a>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>Peter Chalmers</a>
        </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>Donald Duck</a>
        </p>
      </blockquote>
      <p>
        <b>profile</b>:
        <a>http://hl7.org/fhir/StructureDefinition/Patient</a>
      </p>
      <h3>Variables</h3>
      <table>
        <tr>
          <td>-</td>
          <td>
            <b>Name</b>
          </td>
          <td>
            <b>Path</b>
          </td>
          <td>
            <b>SourceId</b>
          </td>
        </tr>
        <tr>
          <td>*</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>
            <tr>
              <td>-</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>Params</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Delete (Details: http://hl7.org/fhir/testscript-operation-codes code delete = 'Delete', stated as 'null')</td>
              <td>Patient</td>
              <td>SetupDeletePatient</td>
              <td>Execute a delete operation to insure the patient does not exist on the server.</td>
              <td>xml</td>
              <td>/${createResourceId}</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>Operator</b>
              </td>
              <td>
                <b>ResponseCode</b>
              </td>
            </tr>
            <tr>
              <td>*</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>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</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>Params</b>
              </td>
              <td>
                <b>SourceId</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')</td>
              <td>Patient</td>
              <td>SetupCreatePatient</td>
              <td>Create patient resource on test server using the contents of fixture-patient-create</td>
              <td>xml</td>
              <td>xml</td>
              <td>/${createResourceId}</td>
              <td>fixture-patient-create</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>ResponseCode</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Confirm that the returned HTTP status is 201(Created).</td>
              <td>response</td>
              <td>201</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: Update Patient</p>
        <p>
          <b>description</b>: Update a Patient and validate response.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
    </div>
  </text>
  <url value="http://hl7.org/fhir/TestScript/testscript-example-update"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:1.3.6.1.4.1.21367.2005.3.7.9882"/>
  </identifier>
  <version value="1.0"/>
  <name value="TestScript Example Update"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2017-01-18"/>
  <publisher value="HL7"/>
  <contact>
    <name value="Support"/>
    <telecom>
      <system value="email"/>
      <value value="support@HL7.org"/>
      <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 update that Patient with various asserts."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America (the)"/>
    </coding>
  </jurisdiction>
  <purpose value="Patient (Conditional) Create, Update, 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"/>
      <description value="Patient Update and Delete Operations"/>
      <link value="http://hl7.org/fhir/http.html#update"/>
      <link value="http://hl7.org/fhir/http.html#delete"/>
      <capabilities>
        <reference value="CapabilityStatement/example"/>
      </capabilities>
    </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-update">
    <autocreate value="false"/>
    <autodelete value="false"/>
    <resource>
      <reference value="Patient/pat1"/>
      <display value="Donald Duck"/>
    </resource>
  </fixture>
  <profile id="patient-profile">
    <reference value="StructureDefinition/Patient"/>
  </profile>
  <variable>
    <name value="createResourceId"/>
    <path value="Patient/id"/>
    <sourceId value="fixture-patient-create"/>
  </variable>
  <setup>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <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="xml"/>
        <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"/>
      </assert>
    </action>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <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="xml"/>
        <contentType value="xml"/>
        <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"/>
      </assert>
    </action>
  </setup>
  <test id="01-UpdatePatient">
    <name value="Update Patient"/>
    <description value="Update a Patient and validate response."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="update"/>
        </type>
        <resource value="Patient"/>
        <label value="SetupUpdatePatient"/>
        <description value="Update patient resource on test server using the contents of fixture-patient-update"/>
        <accept value="xml"/>
        <contentType value="xml"/>
        <params value="/${createResourceId}"/>
        <sourceId value="fixture-patient-update"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 200(OK)."/>
        <response value="okay"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned format is XML."/>
        <contentType value="xml"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server may not support versioning."/>
        <headerField value="Last-Modified"/>
        <operator value="notEmpty"/>
        <warningOnly value="true"/>
      </assert>
    </action>
  </test>
</TestScript>

TestScript "testscript-example-search" Version "1"

Created by SYSTEM () at 11/28/2017 8:36:27 AM(UTC)

Tags: (no tags)  +

This Resource , XML or JSON representation, or the full version history.. provenance for this resource
Updated: by

Generated Narrative with Details

id: testscript-example-search

url: http://hl7.org/fhir/TestScript/testscript-example-search

identifier: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9881

version: 1.0

name: TestScript Example Search

status: draft

experimental: true

date: 18/01/2017

publisher: HL7

contact:

description: TestScript example resource with simple Patient search test. The read tests will utilize user defined dynamic variables that will hold the Patient search parameter values.

jurisdiction: United States of America (the) (Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})

purpose: Patient Search Operation

copyright: © HL7.org 2011+

metadata

Links

-UrlDescription
*http://hl7.org/fhir/patient.htmlDemographics and other administrative information about an individual or animal receiving care or other health-related services.

Capabilities

-RequiredDescriptionLinkCapabilities
*truePatient Search Operationhttp://hl7.org/fhir/http.html#searchCapabilityStatement/example

Fixtures

-Resource
*Peter Chalmers

profile: http://hl7.org/fhir/StructureDefinition/Bundle

variable

name: PatientCreateLocation

headerField: Location

sourceId: PatientCreateResponse

variable

name: PatientSearchFamilyName

description: Enter patient search criteria for a known family name on the target system

hint: [Family name]

variable

name: PatientSearchGivenName

description: Enter patient search criteria for a known given name on the target system

hint: [Given name]

variable

name: PatientSearchBundleTotal

description: Evaluate the returned Patient searchset Bundle.total value

expression: Bundle.total.toInteger()

setup

action

Operations

-TypeResourceDescriptionAcceptParams
*Search (Details: http://hl7.org/fhir/testscript-operation-codes code search = 'Search', stated as 'null')PatientTest simple search to verify server support.xml?family=DONTEXPECTAMATCH&given=DONTEXPECTAMATCH

action

Asserts

-DescriptionDirectionOperatorRequestURL
*Confirm that the request url contains the family search parameter.requestcontainsfamily

action

Asserts

-DescriptionDirectionResponseCode
*Confirm that the returned HTTP status is 200(OK).response200

action

Asserts

-DescriptionResource
*Confirm that the returned resource type is Bundle.Bundle

action

Asserts

-DescriptionNavigationLinks
*Confirm that the returned Bundle correctly defines the navigation links.true

test

name: Patient Create Search

description: Create a Patient resource and capture the returned HTTP Header Location. Then search for (read) that Patient using the Location URL value and validate the response.

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

test

name: Patient Search Dynamic

description: Search for Patient resources using the user defined dynamic variables ${PatientSearchFamilyName} and ${PatientSearchGivenName} and validate response.

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

<?xml version="1.0" encoding="UTF-8"?>
<TestScript xmlns="http://hl7.org/fhir">
  <id value="testscript-example-search"/>
  <meta>
    <versionId value="1"/>
    <lastUpdated value="2017-11-28T08:36:27Z"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>
        <b>Generated Narrative with Details</b>
      </p>
      <p>
        <b>id</b>: testscript-example-search</p>
      <p>
        <b>url</b>:
        <a>http://hl7.org/fhir/TestScript/testscript-example-search</a>
      </p>
      <p>
        <b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9881</p>
      <p>
        <b>version</b>: 1.0</p>
      <p>
        <b>name</b>: TestScript Example Search</p>
      <p>
        <b>status</b>: draft</p>
      <p>
        <b>experimental</b>: true</p>
      <p>
        <b>date</b>: 18/01/2017</p>
      <p>
        <b>publisher</b>: HL7</p>
      <p>
        <b>contact</b>: </p>
      <p>
        <b>description</b>: TestScript example resource with simple Patient search test. The read tests will utilize user defined dynamic variables that will hold the Patient search parameter values.</p>
      <p>
        <b>jurisdiction</b>: United States of America (the)
        <span>(Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})</span>
      </p>
      <p>
        <b>purpose</b>: Patient Search Operation</p>
      <p>
        <b>copyright</b>: © HL7.org 2011+</p>
      <blockquote>
        <p>
          <b>metadata</b>
        </p>
        <h3>Links</h3>
        <table>
          <tr>
            <td>-</td>
            <td>
              <b>Url</b>
            </td>
            <td>
              <b>Description</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>
              <a>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>
          <tr>
            <td>-</td>
            <td>
              <b>Required</b>
            </td>
            <td>
              <b>Description</b>
            </td>
            <td>
              <b>Link</b>
            </td>
            <td>
              <b>Capabilities</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>true</td>
            <td>Patient Search Operation</td>
            <td>
              <a>http://hl7.org/fhir/http.html#search</a>
            </td>
            <td>
              <a>CapabilityStatement/example</a>
            </td>
          </tr>
        </table>
      </blockquote>
      <h3>Fixtures</h3>
      <table>
        <tr>
          <td>-</td>
          <td>
            <b>Resource</b>
          </td>
        </tr>
        <tr>
          <td>*</td>
          <td>
            <a>Peter Chalmers</a>
          </td>
        </tr>
      </table>
      <p>
        <b>profile</b>:
        <a>http://hl7.org/fhir/StructureDefinition/Bundle</a>
      </p>
      <blockquote>
        <p>
          <b>variable</b>
        </p>
        <p>
          <b>name</b>: PatientCreateLocation</p>
        <p>
          <b>headerField</b>: Location</p>
        <p>
          <b>sourceId</b>: PatientCreateResponse</p>
      </blockquote>
      <blockquote>
        <p>
          <b>variable</b>
        </p>
        <p>
          <b>name</b>: PatientSearchFamilyName</p>
        <p>
          <b>description</b>: Enter patient search criteria for a known family name on the target system</p>
        <p>
          <b>hint</b>: [Family name]</p>
      </blockquote>
      <blockquote>
        <p>
          <b>variable</b>
        </p>
        <p>
          <b>name</b>: PatientSearchGivenName</p>
        <p>
          <b>description</b>: Enter patient search criteria for a known given name on the target system</p>
        <p>
          <b>hint</b>: [Given name]</p>
      </blockquote>
      <blockquote>
        <p>
          <b>variable</b>
        </p>
        <p>
          <b>name</b>: PatientSearchBundleTotal</p>
        <p>
          <b>description</b>: Evaluate the returned Patient searchset Bundle.total value</p>
        <p>
          <b>expression</b>: Bundle.total.toInteger()</p>
      </blockquote>
      <blockquote>
        <p>
          <b>setup</b>
        </p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Type</b>
              </td>
              <td>
                <b>Resource</b>
              </td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Accept</b>
              </td>
              <td>
                <b>Params</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Search (Details: http://hl7.org/fhir/testscript-operation-codes code search = 'Search', stated as 'null')</td>
              <td>Patient</td>
              <td>Test simple search to verify server support.</td>
              <td>xml</td>
              <td>?family=DONTEXPECTAMATCH&amp;given=DONTEXPECTAMATCH</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>Operator</b>
              </td>
              <td>
                <b>RequestURL</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Confirm that the request url contains the family search parameter.</td>
              <td>request</td>
              <td>contains</td>
              <td>family</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>ResponseCode</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Confirm that the returned HTTP status is 200(OK).</td>
              <td>response</td>
              <td>200</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Resource</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Confirm that the returned resource type is Bundle.</td>
              <td>Bundle</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>NavigationLinks</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Confirm that the returned Bundle correctly defines the navigation links.</td>
              <td>true</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: Patient Create Search</p>
        <p>
          <b>description</b>: Create a Patient resource and capture the returned HTTP Header Location. Then search for (read) that Patient using the Location URL value and validate the response.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: Patient Search Dynamic</p>
        <p>
          <b>description</b>: Search for Patient resources using the user defined dynamic variables ${PatientSearchFamilyName} and ${PatientSearchGivenName} and validate response.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
    </div>
  </text>
  <url value="http://hl7.org/fhir/TestScript/testscript-example-search"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:1.3.6.1.4.1.21367.2005.3.7.9881"/>
  </identifier>
  <version value="1.0"/>
  <name value="TestScript Example Search"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2017-01-18"/>
  <publisher value="HL7"/>
  <contact>
    <name value="Support"/>
    <telecom>
      <system value="email"/>
      <value value="support@HL7.org"/>
      <use value="work"/>
    </telecom>
  </contact>
  <description value="TestScript example resource with simple Patient search test. The read tests will utilize user defined dynamic variables that will hold the Patient search parameter values."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America (the)"/>
    </coding>
  </jurisdiction>
  <purpose value="Patient Search Operation"/>
  <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"/>
      <description value="Patient Search Operation"/>
      <link value="http://hl7.org/fhir/http.html#search"/>
      <capabilities>
        <reference value="CapabilityStatement/example"/>
      </capabilities>
    </capability>
  </metadata>
  <fixture id="fixture-patient-create">
    <resource>
      <reference value="Patient/example"/>
      <display value="Peter Chalmers"/>
    </resource>
  </fixture>
  <profile id="bundle-profile">
    <reference value="StructureDefinition/Bundle"/>
  </profile>
  <variable>
    <name value="PatientCreateLocation"/>
    <headerField value="Location"/>
    <sourceId value="PatientCreateResponse"/>
  </variable>
  <variable>
    <name value="PatientSearchFamilyName"/>
    <description value="Enter patient search criteria for a known family name on the target system"/>
    <hint value="[Family name]"/>
  </variable>
  <variable>
    <name value="PatientSearchGivenName"/>
    <description value="Enter patient search criteria for a known given name on the target system"/>
    <hint value="[Given name]"/>
  </variable>
  <variable>
    <name value="PatientSearchBundleTotal"/>
    <description value="Evaluate the returned Patient searchset Bundle.total value"/>
    <expression value="Bundle.total.toInteger()"/>
  </variable>
  <setup>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="search"/>
        </type>
        <resource value="Patient"/>
        <description value="Test simple search to verify server support."/>
        <accept value="xml"/>
        <params value="?family=DONTEXPECTAMATCH&amp;given=DONTEXPECTAMATCH"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the request url contains the family search parameter."/>
        <direction value="request"/>
        <operator value="contains"/>
        <requestURL value="family"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 200(OK)."/>
        <direction value="response"/>
        <responseCode value="200"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned resource type is Bundle."/>
        <resource value="Bundle"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned Bundle correctly defines the navigation links."/>
        <navigationLinks value="true"/>
      </assert>
    </action>
  </setup>
  <test id="01-PatientCreateSearch">
    <name value="Patient Create Search"/>
    <description value="Create a Patient resource and capture the returned HTTP Header Location. Then search for (read) that Patient using the Location URL value and validate the response."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="create"/>
        </type>
        <resource value="Patient"/>
        <description value="Create a Patient resource and capture the returned HTTP Header Location."/>
        <accept value="xml"/>
        <contentType value="xml"/>
        <responseId value="PatientCreateResponse"/>
        <sourceId value="fixture-patient-create"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 201(Created)."/>
        <response value="created"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP Header Location is present."/>
        <direction value="response"/>
        <headerField value="Location"/>
        <operator value="notEmpty"/>
      </assert>
    </action>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="read"/>
        </type>
        <description value="Read the created Patient using the captured Location URL value."/>
        <accept value="xml"/>
        <url value="${PatientCreateLocation}"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 200(OK)."/>
        <response value="okay"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned resource type is Patient."/>
        <resource value="Patient"/>
      </assert>
    </action>
  </test>
  <test id="02-PatientSearchDynamic">
    <name value="Patient Search Dynamic"/>
    <description value="Search for Patient resources using the user defined dynamic variables ${PatientSearchFamilyName} and ${PatientSearchGivenName} and validate response."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="search"/>
        </type>
        <resource value="Patient"/>
        <description value="Search for Patient resources on the destination test system."/>
        <accept value="xml"/>
        <params value="?family=${PatientSearchFamilyName}&amp;given=${PatientSearchGivenName}"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 200(OK)."/>
        <response value="okay"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned format is XML."/>
        <contentType value="xml"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned resource type is Bundle."/>
        <resource value="Bundle"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned Bundle conforms to the base FHIR specification."/>
        <validateProfileId value="bundle-profile"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned Bundle type equals 'searchset'."/>
        <operator value="equals"/>
        <path value="fhir:Bundle/fhir:type/@value"/>
        <value value="searchset"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned Bundle total is greater than or equal to the number of returned entries."/>
        <expression value="Bundle.total.toInteger() >= entry.count()"/>
      </assert>
    </action>
  </test>
</TestScript>

TestScript "testscript-example-rule" Version "1"

Created by SYSTEM () at 11/28/2017 8:36:27 AM(UTC)

Tags: (no tags)  +

This Resource , XML or JSON representation, or the full version history.. provenance for this resource
Updated: by

Generated Narrative with Details

id: testscript-example-rule

url: http://hl7.org/fhir/TestScript/testscript-example-rule

identifier: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9880

version: 1.0

name: TestScript Example

status: draft

experimental: true

date: 18/01/2017

publisher: HL7

contact:

description: 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. The asserts now include example rule and ruleset definitions to execute.

jurisdiction: United States of America (the) (Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})

purpose: Patient Conditional Create (Update), Read and Delete Operations

copyright: © HL7.org 2011+

metadata

Links

-UrlDescription
*http://hl7.org/fhir/patient.htmlDemographics and other administrative information about an individual or animal receiving care or other health-related services.

Capabilities

-RequiredDescriptionLinkCapabilities
*truePatient Update, Read and Delete Operationshttp://hl7.org/fhir/http.html#deleteCapabilityStatement/example

fixture

autocreate: false

autodelete: false

resource: Peter Chalmers

fixture

autocreate: false

autodelete: false

resource: Peter Chalmers (minimum)

profile: http://hl7.org/fhir/StructureDefinition/Patient

Variables

-NamePathSourceId
*createResourceIdPatient/idfixture-patient-create

rule

resource: TestScript/testscript-example

Params

-NameValue
*expectedStatusCode200

ruleset

resource: TestScript/testscript-example

rule

ruleId: RuleResponseContentType

Params

-NameValue
*expectedContentTypejson

rule

ruleId: RuleResponseStatusCode

Params

-NameValue
*expectedStatusCode200

setup

action

Operations

-TypeResourceLabelDescriptionAcceptParams
*Delete (Details: http://hl7.org/fhir/testscript-operation-codes code delete = 'Delete', stated as 'null')PatientSetupDeletePatientExecute a delete operation to insure the patient does not exist on the server.json/${createResourceId}

action

Asserts

-DescriptionDirectionOperatorResponseCode
*Confirm that the returned HTTP status is 200(OK) or 204(No Content).responsein200,204

action

Operations

-TypeResourceLabelDescriptionAcceptContentTypeParamsSourceId
*Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')PatientSetupCreatePatientCreate patient resource on test server using the contents of fixture-patient-createjsonjson/${createResourceId}fixture-patient-create

action

assert

label: Setup-RuleCreateOK

description: Confirm that the returned HTTP status is 201(Created).

direction: response

rule

ruleId: rule-responseStatusCode

Params

-NameValue
*expectedStatusCode201

test

name: Read Patient

description: Read a patient and validate response.

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

<?xml version="1.0" encoding="UTF-8"?>
<TestScript xmlns="http://hl7.org/fhir">
  <id value="testscript-example-rule"/>
  <meta>
    <versionId value="1"/>
    <lastUpdated value="2017-11-28T08:36:27Z"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>
        <b>Generated Narrative with Details</b>
      </p>
      <p>
        <b>id</b>: testscript-example-rule</p>
      <p>
        <b>url</b>:
        <a>http://hl7.org/fhir/TestScript/testscript-example-rule</a>
      </p>
      <p>
        <b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9880</p>
      <p>
        <b>version</b>: 1.0</p>
      <p>
        <b>name</b>: TestScript Example</p>
      <p>
        <b>status</b>: draft</p>
      <p>
        <b>experimental</b>: true</p>
      <p>
        <b>date</b>: 18/01/2017</p>
      <p>
        <b>publisher</b>: HL7</p>
      <p>
        <b>contact</b>: </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. The asserts now include example rule and ruleset definitions to execute.</p>
      <p>
        <b>jurisdiction</b>: United States of America (the)
        <span>(Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})</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>
          <tr>
            <td>-</td>
            <td>
              <b>Url</b>
            </td>
            <td>
              <b>Description</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>
              <a>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>
          <tr>
            <td>-</td>
            <td>
              <b>Required</b>
            </td>
            <td>
              <b>Description</b>
            </td>
            <td>
              <b>Link</b>
            </td>
            <td>
              <b>Capabilities</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>true</td>
            <td>Patient Update, Read and Delete Operations</td>
            <td>
              <a>http://hl7.org/fhir/http.html#delete</a>
            </td>
            <td>
              <a>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>Peter Chalmers</a>
        </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>Peter Chalmers (minimum)</a>
        </p>
      </blockquote>
      <p>
        <b>profile</b>:
        <a>http://hl7.org/fhir/StructureDefinition/Patient</a>
      </p>
      <h3>Variables</h3>
      <table>
        <tr>
          <td>-</td>
          <td>
            <b>Name</b>
          </td>
          <td>
            <b>Path</b>
          </td>
          <td>
            <b>SourceId</b>
          </td>
        </tr>
        <tr>
          <td>*</td>
          <td>createResourceId</td>
          <td>Patient/id</td>
          <td>fixture-patient-create</td>
        </tr>
      </table>
      <blockquote>
        <p>
          <b>rule</b>
        </p>
        <p>
          <b>resource</b>:
          <a>TestScript/testscript-example</a>
        </p>
        <h3>Params</h3>
        <table>
          <tr>
            <td>-</td>
            <td>
              <b>Name</b>
            </td>
            <td>
              <b>Value</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>expectedStatusCode</td>
            <td>200</td>
          </tr>
        </table>
      </blockquote>
      <blockquote>
        <p>
          <b>ruleset</b>
        </p>
        <p>
          <b>resource</b>:
          <a>TestScript/testscript-example</a>
        </p>
        <blockquote>
          <p>
            <b>rule</b>
          </p>
          <p>
            <b>ruleId</b>: RuleResponseContentType</p>
          <h3>Params</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Name</b>
              </td>
              <td>
                <b>Value</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>expectedContentType</td>
              <td>json</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>rule</b>
          </p>
          <p>
            <b>ruleId</b>: RuleResponseStatusCode</p>
          <h3>Params</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Name</b>
              </td>
              <td>
                <b>Value</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>expectedStatusCode</td>
              <td>200</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>setup</b>
        </p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</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>Params</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Delete (Details: http://hl7.org/fhir/testscript-operation-codes code delete = 'Delete', stated as 'null')</td>
              <td>Patient</td>
              <td>SetupDeletePatient</td>
              <td>Execute a delete operation to insure the patient does not exist on the server.</td>
              <td>json</td>
              <td>/${createResourceId}</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>Operator</b>
              </td>
              <td>
                <b>ResponseCode</b>
              </td>
            </tr>
            <tr>
              <td>*</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>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</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>Params</b>
              </td>
              <td>
                <b>SourceId</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')</td>
              <td>Patient</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>/${createResourceId}</td>
              <td>fixture-patient-create</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <blockquote>
            <p>
              <b>assert</b>
            </p>
            <p>
              <b>label</b>: Setup-RuleCreateOK</p>
            <p>
              <b>description</b>: Confirm that the returned HTTP status is 201(Created).</p>
            <p>
              <b>direction</b>: response</p>
            <blockquote>
              <p>
                <b>rule</b>
              </p>
              <p>
                <b>ruleId</b>: rule-responseStatusCode</p>
              <h3>Params</h3>
              <table>
                <tr>
                  <td>-</td>
                  <td>
                    <b>Name</b>
                  </td>
                  <td>
                    <b>Value</b>
                  </td>
                </tr>
                <tr>
                  <td>*</td>
                  <td>expectedStatusCode</td>
                  <td>201</td>
                </tr>
              </table>
            </blockquote>
          </blockquote>
        </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>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
    </div>
  </text>
  <url value="http://hl7.org/fhir/TestScript/testscript-example-rule"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:1.3.6.1.4.1.21367.2005.3.7.9880"/>
  </identifier>
  <version value="1.0"/>
  <name value="TestScript Example"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2017-01-18"/>
  <publisher value="HL7"/>
  <contact>
    <name value="Support"/>
    <telecom>
      <system value="email"/>
      <value value="support@HL7.org"/>
      <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. The asserts now include example rule and ruleset definitions to execute."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America (the)"/>
    </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"/>
      <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>
        <reference value="CapabilityStatement/example"/>
      </capabilities>
    </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">
    <reference value="StructureDefinition/Patient"/>
  </profile>
  <variable>
    <name value="createResourceId"/>
    <path value="Patient/id"/>
    <sourceId value="fixture-patient-create"/>
  </variable>
  <rule id="rule-responseStatusCode">
    <resource>
      <reference value="TestScript/testscript-example"/>
    </resource>
    <param>
      <name value="expectedStatusCode"/>
      <value value="200"/>
    </param>
  </rule>
  <ruleset id="ruleset-responseContentTypeStatusCode">
    <resource>
      <reference value="TestScript/testscript-example"/>
    </resource>
    <rule>
      <ruleId value="RuleResponseContentType"/>
      <param>
        <name value="expectedContentType"/>
        <value value="json"/>
      </param>
    </rule>
    <rule>
      <ruleId value="RuleResponseStatusCode"/>
      <param>
        <name value="expectedStatusCode"/>
        <value value="200"/>
      </param>
    </rule>
  </ruleset>
  <setup>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <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"/>
        <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"/>
      </assert>
    </action>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <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"/>
        <params value="/${createResourceId}"/>
        <sourceId value="fixture-patient-create"/>
      </operation>
    </action>
    <action>
      <assert>
        <label value="Setup-RuleCreateOK"/>
        <description value="Confirm that the returned HTTP status is 201(Created)."/>
        <direction value="response"/>
        <rule>
          <ruleId value="rule-responseStatusCode"/>
          <param>
            <name value="expectedStatusCode"/>
            <value value="201"/>
          </param>
        </rule>
      </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/testscript-operation-codes"/>
          <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-RuleReadPatientOK"/>
        <description value="Confirm that the returned HTTP status is 200(OK)."/>
        <rule>
          <ruleId value="rule-responseStatusCode"/>
        </rule>
      </assert>
    </action>
    <action>
      <assert>
        <label value="01-RuleReadPatientContentType"/>
        <ruleset>
          <rulesetId value="ruleset-responseResourcePatient"/>
          <rule>
            <ruleId value="RuleResponseContentType"/>
            <param>
              <name value="expectedContentType"/>
              <value value="XML"/>
            </param>
          </rule>
        </ruleset>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server may not support versioning."/>
        <direction value="response"/>
        <headerField value="Last-Modified"/>
        <operator value="notEmpty"/>
        <warningOnly value="true"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned resource type is Patient."/>
        <resource value="Patient"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned Patient conforms to the base FHIR specification."/>
        <validateProfileId value="patient-profile"/>
      </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"/>
        <value value="Chalmers"/>
      </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"/>
        <value value="Peter"/>
      </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"/>
      </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"/>
      </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"/>
        <warningOnly value="true"/>
      </assert>
    </action>
  </test>
</TestScript>

TestScript "testscript-example-readtest" Version "1"

Created by SYSTEM () at 11/28/2017 8:36:27 AM(UTC)

Tags: (no tags)  +

This Resource , XML or JSON representation, or the full version history.. provenance for this resource
Updated: by

Generated Narrative with Details

id: testscript-example-readtest

url: http://hl7.org/fhir/TestScript/testscript-example-readtest

identifier: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9879

version: 1.0

name: TestScript Example Read Test

status: draft

experimental: true

date: 18/01/2017

publisher: HL7

contact:

description: TestScript example resource with ported Sprinkler basic read tests R001, R002, R003, R004. The read tests will utilize user defined dynamic variables that will hold the Patient resource id values.

jurisdiction: United States of America (the) (Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})

purpose: Patient Read Operation

copyright: © HL7.org 2011+

metadata

Links

-UrlDescription
*http://hl7.org/fhir/patient.htmlDemographics and other administrative information about an individual or animal receiving care or other health-related services.

Capabilities

-RequiredDescriptionLinkCapabilities
*truePatient Read Operationhttp://hl7.org/fhir/http.html#readCapabilityStatement/example

profile: http://hl7.org/fhir/StructureDefinition/Patient

variable

name: KnownPatientResourceId

defaultValue: example

variable

name: NonExistsPatientResourceId

defaultValue: does-not-exist

test

name: Sprinkler Read Test R001

description: Read a known Patient and validate response.

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

test

name: Sprinkler Read Test R002

description: Read an unknown Resource Type and validate response.

action

Operations

-
*

action

Asserts

-
*

test

name: Sprinkler Read Test R003

description: Read a known, non-existing Patient and validate response.

action

Operations

-
*

action

Asserts

-
*

test

name: Sprinkler Read Test R004

description: Read a Patient using a known bad formatted resource id and validate response.

action

Operations

-
*

action

Asserts

-
*

<?xml version="1.0" encoding="UTF-8"?>
<TestScript xmlns="http://hl7.org/fhir">
  <id value="testscript-example-readtest"/>
  <meta>
    <versionId value="1"/>
    <lastUpdated value="2017-11-28T08:36:27Z"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>
        <b>Generated Narrative with Details</b>
      </p>
      <p>
        <b>id</b>: testscript-example-readtest</p>
      <p>
        <b>url</b>:
        <a>http://hl7.org/fhir/TestScript/testscript-example-readtest</a>
      </p>
      <p>
        <b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9879</p>
      <p>
        <b>version</b>: 1.0</p>
      <p>
        <b>name</b>: TestScript Example Read Test</p>
      <p>
        <b>status</b>: draft</p>
      <p>
        <b>experimental</b>: true</p>
      <p>
        <b>date</b>: 18/01/2017</p>
      <p>
        <b>publisher</b>: HL7</p>
      <p>
        <b>contact</b>: </p>
      <p>
        <b>description</b>: TestScript example resource with ported Sprinkler basic read tests R001, R002, R003, R004. The read tests will utilize user defined dynamic variables that will hold the Patient resource id values.</p>
      <p>
        <b>jurisdiction</b>: United States of America (the)
        <span>(Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})</span>
      </p>
      <p>
        <b>purpose</b>: Patient Read Operation</p>
      <p>
        <b>copyright</b>: © HL7.org 2011+</p>
      <blockquote>
        <p>
          <b>metadata</b>
        </p>
        <h3>Links</h3>
        <table>
          <tr>
            <td>-</td>
            <td>
              <b>Url</b>
            </td>
            <td>
              <b>Description</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>
              <a>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>
          <tr>
            <td>-</td>
            <td>
              <b>Required</b>
            </td>
            <td>
              <b>Description</b>
            </td>
            <td>
              <b>Link</b>
            </td>
            <td>
              <b>Capabilities</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>true</td>
            <td>Patient Read Operation</td>
            <td>
              <a>http://hl7.org/fhir/http.html#read</a>
            </td>
            <td>
              <a>CapabilityStatement/example</a>
            </td>
          </tr>
        </table>
      </blockquote>
      <p>
        <b>profile</b>:
        <a>http://hl7.org/fhir/StructureDefinition/Patient</a>
      </p>
      <blockquote>
        <p>
          <b>variable</b>
        </p>
        <p>
          <b>name</b>: KnownPatientResourceId</p>
        <p>
          <b>defaultValue</b>: example</p>
      </blockquote>
      <blockquote>
        <p>
          <b>variable</b>
        </p>
        <p>
          <b>name</b>: NonExistsPatientResourceId</p>
        <p>
          <b>defaultValue</b>: does-not-exist</p>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: Sprinkler Read Test R001</p>
        <p>
          <b>description</b>: Read a known Patient and validate response.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: Sprinkler Read Test R002</p>
        <p>
          <b>description</b>: Read an unknown Resource Type and validate response.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: Sprinkler Read Test R003</p>
        <p>
          <b>description</b>: Read a known, non-existing Patient and validate response.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: Sprinkler Read Test R004</p>
        <p>
          <b>description</b>: Read a Patient using a known bad formatted resource id and validate response.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
    </div>
  </text>
  <url value="http://hl7.org/fhir/TestScript/testscript-example-readtest"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:1.3.6.1.4.1.21367.2005.3.7.9879"/>
  </identifier>
  <version value="1.0"/>
  <name value="TestScript Example Read Test"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2017-01-18"/>
  <publisher value="HL7"/>
  <contact>
    <name value="Support"/>
    <telecom>
      <system value="email"/>
      <value value="support@HL7.org"/>
      <use value="work"/>
    </telecom>
  </contact>
  <description value="TestScript example resource with ported Sprinkler basic read tests R001, R002, R003, R004. The read tests will utilize user defined dynamic variables that will hold the Patient resource id values."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America (the)"/>
    </coding>
  </jurisdiction>
  <purpose value="Patient Read Operation"/>
  <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"/>
      <description value="Patient Read Operation"/>
      <link value="http://hl7.org/fhir/http.html#read"/>
      <capabilities>
        <reference value="CapabilityStatement/example"/>
      </capabilities>
    </capability>
  </metadata>
  <profile id="patient-profile">
    <reference value="StructureDefinition/Patient"/>
  </profile>
  <variable>
    <name value="KnownPatientResourceId"/>
    <defaultValue value="example"/>
  </variable>
  <variable>
    <name value="NonExistsPatientResourceId"/>
    <defaultValue value="does-not-exist"/>
  </variable>
  <test id="R001">
    <name value="Sprinkler Read Test R001"/>
    <description value="Read a known Patient and validate response."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="read"/>
        </type>
        <resource value="Patient"/>
        <description value="Read the known Patient resource on the destination test system using the user defined dynamic variable ${KnownPatientResourceId}."/>
        <accept value="xml"/>
        <params value="/${KnownPatientResourceId}"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 200(OK)."/>
        <response value="okay"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned format is XML."/>
        <contentType value="xml"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server may not support versioning."/>
        <headerField value="Last-Modified"/>
        <operator value="notEmpty"/>
        <warningOnly value="true"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned resource type is Patient."/>
        <resource value="Patient"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned Patient conforms to the base FHIR specification."/>
        <validateProfileId value="patient-profile"/>
      </assert>
    </action>
  </test>
  <test id="R002">
    <name value="Sprinkler Read Test R002"/>
    <description value="Read an unknown Resource Type and validate response."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="read"/>
        </type>
        <resource value="Patient"/>
        <description value="Attempt to read the Parameters resource type. What we really want here is an illegal type but the build process won't allow that. Parameters is a valid resource which doesn't have an end-point so, this should fail."/>
        <accept value="xml"/>
        <params value="/1"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 404(Not Found)."/>
        <response value="notFound"/>
      </assert>
    </action>
  </test>
  <test id="R003">
    <name value="Sprinkler Read Test R003"/>
    <description value="Read a known, non-existing Patient and validate response."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="read"/>
        </type>
        <resource value="Patient"/>
        <description value="Attempt to read the non-existing Patient resource on the destination test system using the user defined dynamic variable ${NonExistsPatientResourceId}."/>
        <accept value="xml"/>
        <params value="/${NonExistsPatientResourceId}"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 404(Not Found)."/>
        <response value="notFound"/>
      </assert>
    </action>
  </test>
  <test id="R004">
    <name value="Sprinkler Read Test R004"/>
    <description value="Read a Patient using a known bad formatted resource id and validate response."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="read"/>
        </type>
        <resource value="Patient"/>
        <description value="Attempt to read a Patient resource on the destination test system using known bad formatted resource id."/>
        <accept value="xml"/>
        <params value="/ID-may-not-contain-CAPITALS"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 400(Bad Request)."/>
        <response value="bad"/>
      </assert>
    </action>
  </test>
</TestScript>

TestScript "testscript-example-multisystem" Version "1"

Created by SYSTEM () at 11/28/2017 8:36:27 AM(UTC)

Tags: (no tags)  +

This Resource , XML or JSON representation, or the full version history.. provenance for this resource
Updated: by

Generated Narrative with Details

id: testscript-example-multisystem

url: http://hl7.org/fhir/TestScript/testscript-example-multisystem

identifier: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9878

version: 1.0

name: testscript-example-multisystem

title: Multisystem Test Script

status: draft

experimental: true

date: 18/01/2017

publisher: HL7

contact:

description: TestScript example resource showing use of origin and destination for multisystem support. The single origin will execute a Patient read against the two destination systems using user defined dynamic variables. The test engine will wait at each operation action with a defined origin and destination for the origin test system to send the expected FHIR operation to the destination test system. Once the expected request and response is observed, the test engine will continue with the test execution.

jurisdiction: United States of America (the) (Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})

purpose: Patient Read Operation

copyright: © HL7.org 2011+

Origins

-IndexProfile
*1FHIR-Client (Details: [not stated] code FHIR-Client = 'FHIR-Client', stated as 'null')

destination

index: 1

profile: FHIR-Server (Details: [not stated] code FHIR-Server = 'FHIR-Server', stated as 'null')

destination

index: 2

profile: FHIR-Server (Details: [not stated] code FHIR-Server = 'FHIR-Server', stated as 'null')

metadata

Links

-UrlDescription
*http://hl7.org/fhir/patient.htmlDemographics and other administrative information about an individual or animal receiving care or other health-related services.

capability

required: true

validated: false

description: Patient Read Operation

origin: 1

destination: 1

link: http://hl7.org/fhir/http.html#read

capabilities: CapabilityStatement/example

capability

required: true

validated: false

description: Patient Read Operation

origin: 1

destination: 2

link: http://hl7.org/fhir/http.html#read

capabilities: CapabilityStatement/example

variable

name: Dest1PatientResourceId

defaultValue: example

variable

name: Dest2PatientResourceId

defaultValue: example

test

name: ReadPatient-Destination1

description: Read a Patient from the first destination test system using the user defined dynamic variable ${Dest1PatientResourceId}. Perform basic validation.

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

test

name: ReadPatient-Destination2

description: Read a Patient from the second destination test system using the user defined dynamic variable ${Dest2PatientResourceId}. Perform basic validation.

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

<?xml version="1.0" encoding="UTF-8"?>
<TestScript xmlns="http://hl7.org/fhir">
  <id value="testscript-example-multisystem"/>
  <meta>
    <versionId value="1"/>
    <lastUpdated value="2017-11-28T08:36:27Z"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>
        <b>Generated Narrative with Details</b>
      </p>
      <p>
        <b>id</b>: testscript-example-multisystem</p>
      <p>
        <b>url</b>:
        <a>http://hl7.org/fhir/TestScript/testscript-example-multisystem</a>
      </p>
      <p>
        <b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9878</p>
      <p>
        <b>version</b>: 1.0</p>
      <p>
        <b>name</b>: testscript-example-multisystem</p>
      <p>
        <b>title</b>: Multisystem Test Script</p>
      <p>
        <b>status</b>: draft</p>
      <p>
        <b>experimental</b>: true</p>
      <p>
        <b>date</b>: 18/01/2017</p>
      <p>
        <b>publisher</b>: HL7</p>
      <p>
        <b>contact</b>: </p>
      <p>
        <b>description</b>: TestScript example resource showing use of origin and destination for multisystem support. The single origin will execute a Patient read against the two destination systems using user defined dynamic variables. The test engine will wait at each operation action with a defined origin and destination for the origin test system to send the expected FHIR operation to the destination test system. Once the expected request and response is observed, the test engine will continue with the test execution.</p>
      <p>
        <b>jurisdiction</b>: United States of America (the)
        <span>(Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})</span>
      </p>
      <p>
        <b>purpose</b>: Patient Read Operation</p>
      <p>
        <b>copyright</b>: © HL7.org 2011+</p>
      <h3>Origins</h3>
      <table>
        <tr>
          <td>-</td>
          <td>
            <b>Index</b>
          </td>
          <td>
            <b>Profile</b>
          </td>
        </tr>
        <tr>
          <td>*</td>
          <td>1</td>
          <td>FHIR-Client (Details: [not stated] code FHIR-Client = 'FHIR-Client', stated as 'null')</td>
        </tr>
      </table>
      <blockquote>
        <p>
          <b>destination</b>
        </p>
        <p>
          <b>index</b>: 1</p>
        <p>
          <b>profile</b>: FHIR-Server (Details: [not stated] code FHIR-Server = 'FHIR-Server', stated as 'null')</p>
      </blockquote>
      <blockquote>
        <p>
          <b>destination</b>
        </p>
        <p>
          <b>index</b>: 2</p>
        <p>
          <b>profile</b>: FHIR-Server (Details: [not stated] code FHIR-Server = 'FHIR-Server', stated as 'null')</p>
      </blockquote>
      <blockquote>
        <p>
          <b>metadata</b>
        </p>
        <h3>Links</h3>
        <table>
          <tr>
            <td>-</td>
            <td>
              <b>Url</b>
            </td>
            <td>
              <b>Description</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>
              <a>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>
        <blockquote>
          <p>
            <b>capability</b>
          </p>
          <p>
            <b>required</b>: true</p>
          <p>
            <b>validated</b>: false</p>
          <p>
            <b>description</b>: Patient Read Operation</p>
          <p>
            <b>origin</b>: 1</p>
          <p>
            <b>destination</b>: 1</p>
          <p>
            <b>link</b>:
            <a>http://hl7.org/fhir/http.html#read</a>
          </p>
          <p>
            <b>capabilities</b>:
            <a>CapabilityStatement/example</a>
          </p>
        </blockquote>
        <blockquote>
          <p>
            <b>capability</b>
          </p>
          <p>
            <b>required</b>: true</p>
          <p>
            <b>validated</b>: false</p>
          <p>
            <b>description</b>: Patient Read Operation</p>
          <p>
            <b>origin</b>: 1</p>
          <p>
            <b>destination</b>: 2</p>
          <p>
            <b>link</b>:
            <a>http://hl7.org/fhir/http.html#read</a>
          </p>
          <p>
            <b>capabilities</b>:
            <a>CapabilityStatement/example</a>
          </p>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>variable</b>
        </p>
        <p>
          <b>name</b>: Dest1PatientResourceId</p>
        <p>
          <b>defaultValue</b>: example</p>
      </blockquote>
      <blockquote>
        <p>
          <b>variable</b>
        </p>
        <p>
          <b>name</b>: Dest2PatientResourceId</p>
        <p>
          <b>defaultValue</b>: example</p>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: ReadPatient-Destination1</p>
        <p>
          <b>description</b>: Read a Patient from the first destination test system using the user defined dynamic variable ${Dest1PatientResourceId}. Perform basic validation.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: ReadPatient-Destination2</p>
        <p>
          <b>description</b>: Read a Patient from the second destination test system using the user defined dynamic variable ${Dest2PatientResourceId}. Perform basic validation.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
    </div>
  </text>
  <url value="http://hl7.org/fhir/TestScript/testscript-example-multisystem"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:1.3.6.1.4.1.21367.2005.3.7.9878"/>
  </identifier>
  <version value="1.0"/>
  <name value="testscript-example-multisystem"/>
  <title value="Multisystem Test Script"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2017-01-18"/>
  <publisher value="HL7"/>
  <contact>
    <name value="Support"/>
    <telecom>
      <system value="email"/>
      <value value="support@HL7.org"/>
      <use value="work"/>
    </telecom>
  </contact>
  <description value="TestScript example resource showing use of origin and destination for multisystem support. The single origin will execute a Patient read against the two destination systems using user defined dynamic variables. The test engine will wait at each operation action with a defined origin and destination for the origin test system to send the expected FHIR operation to the destination test system. Once the expected request and response is observed, the test engine will continue with the test execution."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America (the)"/>
    </coding>
  </jurisdiction>
  <purpose value="Patient Read Operation"/>
  <copyright value="© HL7.org 2011+"/>
  <origin>
    <index value="1"/>
    <profile>
      <code value="FHIR-Client"/>
    </profile>
  </origin>
  <destination>
    <index value="1"/>
    <profile>
      <code value="FHIR-Server"/>
    </profile>
  </destination>
  <destination>
    <index value="2"/>
    <profile>
      <code value="FHIR-Server"/>
    </profile>
  </destination>
  <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 Read Operation"/>
      <origin value="1"/>
      <destination value="1"/>
      <link value="http://hl7.org/fhir/http.html#read"/>
      <capabilities>
        <reference value="CapabilityStatement/example"/>
      </capabilities>
    </capability>
    <capability>
      <required value="true"/>
      <validated value="false"/>
      <description value="Patient Read Operation"/>
      <origin value="1"/>
      <destination value="2"/>
      <link value="http://hl7.org/fhir/http.html#read"/>
      <capabilities>
        <reference value="CapabilityStatement/example"/>
      </capabilities>
    </capability>
  </metadata>
  <variable>
    <name value="Dest1PatientResourceId"/>
    <defaultValue value="example"/>
  </variable>
  <variable>
    <name value="Dest2PatientResourceId"/>
    <defaultValue value="example"/>
  </variable>
  <test id="01-ReadPatient-Destination1">
    <name value="ReadPatient-Destination1"/>
    <description value="Read a Patient from the first destination test system using the user defined dynamic variable ${Dest1PatientResourceId}. Perform basic validation."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="read"/>
        </type>
        <resource value="Patient"/>
        <description value="Read a Patient from the first destination test system and perform basic validation."/>
        <accept value="xml"/>
        <contentType value="xml"/>
        <destination value="1"/>
        <origin value="1"/>
        <params value="/${Dest1PatientResourceId}"/>
        <requestId value="request-read-patient-01"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the request method GET was sent by the client system under test."/>
        <requestMethod value="get"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the client requested an Accept of xml."/>
        <direction value="request"/>
        <headerField value="Accept"/>
        <operator value="contains"/>
        <value value="xml"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 200(OK)."/>
        <direction value="response"/>
        <response value="okay"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned format is XML."/>
        <direction value="response"/>
        <contentType value="xml"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned resource type is Patient."/>
        <direction value="response"/>
        <resource value="Patient"/>
      </assert>
    </action>
  </test>
  <test id="02-ReadPatient-Destination2">
    <name value="ReadPatient-Destination2"/>
    <description value="Read a Patient from the second destination test system using the user defined dynamic variable ${Dest2PatientResourceId}. Perform basic validation."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="read"/>
        </type>
        <resource value="Patient"/>
        <description value="Read a Patient from the second destination test system and perform basic validation."/>
        <accept value="xml"/>
        <contentType value="xml"/>
        <destination value="2"/>
        <origin value="1"/>
        <params value="/${Dest2PatientResourceId}"/>
        <requestHeader>
          <field value="Accept-Charset"/>
          <value value="utf-8"/>
        </requestHeader>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the client requested an Accept of xml."/>
        <direction value="request"/>
        <headerField value="Accept"/>
        <operator value="contains"/>
        <value value="xml"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 200(OK)."/>
        <direction value="response"/>
        <response value="okay"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned format is XML."/>
        <direction value="response"/>
        <contentType value="xml"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned resource type is Patient."/>
        <direction value="response"/>
        <resource value="Patient"/>
      </assert>
    </action>
  </test>
</TestScript>

TestScript "testscript-example-history" Version "1"

Created by SYSTEM () at 11/28/2017 8:36:27 AM(UTC)

Tags: (no tags)  +

This Resource , XML or JSON representation, or the full version history.. provenance for this resource
Updated: by

Generated Narrative with Details

id: testscript-example-history

url: http://hl7.org/fhir/TestScript/testscript-example-history

identifier: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9877

version: 1.0

name: TestScript Example History

status: draft

experimental: true

date: 18/01/2017

publisher: HL7

contact:

description: TestScript example resource with setup to delete if present and create a new instance of a Patient then update that Patient to create a minimum history; and single test definition to get the history of that Patient with various asserts.

jurisdiction: United States of America (the) (Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})

purpose: Patient (Conditional) Create, Update, Delete and History (Instance) Operations

copyright: © HL7.org 2011+

metadata

Links

-UrlDescription
*http://hl7.org/fhir/patient.htmlDemographics and other administrative information about an individual or animal receiving care or other health-related services.

Capabilities

-RequiredDescriptionLinkCapabilities
*truePatient Update, Delete and History (Instance) Operationshttp://hl7.org/fhir/http.html#updateCapabilityStatement/example

fixture

autocreate: false

autodelete: false

resource: Peter Chalmers

fixture

autocreate: false

autodelete: false

resource: Donald Duck

profile: http://hl7.org/fhir/StructureDefinition/Bundle

Variables

-NamePathSourceId
*createResourceIdPatient/idfixture-patient-create

setup

action

Operations

-TypeResourceLabelDescriptionAcceptParams
*Delete (Details: http://hl7.org/fhir/testscript-operation-codes code delete = 'Delete', stated as 'null')PatientSetupDeletePatientExecute a delete operation to insure the patient does not exist on the server.json/${createResourceId}

action

Asserts

-DescriptionDirectionOperatorResponseCode
*Confirm that the returned HTTP status is 200(OK) or 204(No Content).responsein200,204

action

Operations

-TypeResourceLabelDescriptionAcceptContentTypeParamsSourceId
*Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')PatientSetupCreatePatientCreate patient resource on test server using the contents of fixture-patient-createjsonjson/${createResourceId}fixture-patient-create

action

Asserts

-DescriptionDirectionResponseCode
*Confirm that the returned HTTP status is 201(Created).response201

action

Operations

-TypeResourceLabelDescriptionAcceptContentTypeParamsSourceId
*Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')PatientSetupUpdatePatientUpdate patient resource on test server using the contents of fixture-patient-updatejsonjson/${createResourceId}fixture-patient-update

action

Asserts

-DescriptionDirectionResponseCode
*Confirm that the returned HTTP status is 200(OK).response200

test

name: History Patient

description: Get the history for a known Patient and validate response.

action

Operations

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

action

Asserts

-
*

<?xml version="1.0" encoding="UTF-8"?>
<TestScript xmlns="http://hl7.org/fhir">
  <id value="testscript-example-history"/>
  <meta>
    <versionId value="1"/>
    <lastUpdated value="2017-11-28T08:36:27Z"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>
        <b>Generated Narrative with Details</b>
      </p>
      <p>
        <b>id</b>: testscript-example-history</p>
      <p>
        <b>url</b>:
        <a>http://hl7.org/fhir/TestScript/testscript-example-history</a>
      </p>
      <p>
        <b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9877</p>
      <p>
        <b>version</b>: 1.0</p>
      <p>
        <b>name</b>: TestScript Example History</p>
      <p>
        <b>status</b>: draft</p>
      <p>
        <b>experimental</b>: true</p>
      <p>
        <b>date</b>: 18/01/2017</p>
      <p>
        <b>publisher</b>: HL7</p>
      <p>
        <b>contact</b>: </p>
      <p>
        <b>description</b>: TestScript example resource with setup to delete if present and create a new instance of a Patient then update that Patient to create a minimum history and single test definition to get the history of that Patient with various asserts.</p>
      <p>
        <b>jurisdiction</b>: United States of America (the)
        <span>(Details : {urn:iso:std:iso:3166 code 'US' = 'United States Minor Outlying Islands (the)', given as 'United States of America (the)'})</span>
      </p>
      <p>
        <b>purpose</b>: Patient (Conditional) Create, Update, Delete and History (Instance) Operations</p>
      <p>
        <b>copyright</b>: © HL7.org 2011+</p>
      <blockquote>
        <p>
          <b>metadata</b>
        </p>
        <h3>Links</h3>
        <table>
          <tr>
            <td>-</td>
            <td>
              <b>Url</b>
            </td>
            <td>
              <b>Description</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>
              <a>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>
          <tr>
            <td>-</td>
            <td>
              <b>Required</b>
            </td>
            <td>
              <b>Description</b>
            </td>
            <td>
              <b>Link</b>
            </td>
            <td>
              <b>Capabilities</b>
            </td>
          </tr>
          <tr>
            <td>*</td>
            <td>true</td>
            <td>Patient Update, Delete and History (Instance) Operations</td>
            <td>
              <a>http://hl7.org/fhir/http.html#update</a>
            </td>
            <td>
              <a>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>Peter Chalmers</a>
        </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>Donald Duck</a>
        </p>
      </blockquote>
      <p>
        <b>profile</b>:
        <a>http://hl7.org/fhir/StructureDefinition/Bundle</a>
      </p>
      <h3>Variables</h3>
      <table>
        <tr>
          <td>-</td>
          <td>
            <b>Name</b>
          </td>
          <td>
            <b>Path</b>
          </td>
          <td>
            <b>SourceId</b>
          </td>
        </tr>
        <tr>
          <td>*</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>
            <tr>
              <td>-</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>Params</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Delete (Details: http://hl7.org/fhir/testscript-operation-codes code delete = 'Delete', stated as 'null')</td>
              <td>Patient</td>
              <td>SetupDeletePatient</td>
              <td>Execute a delete operation to insure the patient does not exist on the server.</td>
              <td>json</td>
              <td>/${createResourceId}</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>Operator</b>
              </td>
              <td>
                <b>ResponseCode</b>
              </td>
            </tr>
            <tr>
              <td>*</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>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</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>Params</b>
              </td>
              <td>
                <b>SourceId</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')</td>
              <td>Patient</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>/${createResourceId}</td>
              <td>fixture-patient-create</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>ResponseCode</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Confirm that the returned HTTP status is 201(Created).</td>
              <td>response</td>
              <td>201</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</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>Params</b>
              </td>
              <td>
                <b>SourceId</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Update (Details: http://hl7.org/fhir/testscript-operation-codes code update = 'Update', stated as 'null')</td>
              <td>Patient</td>
              <td>SetupUpdatePatient</td>
              <td>Update patient resource on test server using the contents of fixture-patient-update</td>
              <td>json</td>
              <td>json</td>
              <td>/${createResourceId}</td>
              <td>fixture-patient-update</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
              <td>
                <b>Description</b>
              </td>
              <td>
                <b>Direction</b>
              </td>
              <td>
                <b>ResponseCode</b>
              </td>
            </tr>
            <tr>
              <td>*</td>
              <td>Confirm that the returned HTTP status is 200(OK).</td>
              <td>response</td>
              <td>200</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
      <blockquote>
        <p>
          <b>test</b>
        </p>
        <p>
          <b>name</b>: History Patient</p>
        <p>
          <b>description</b>: Get the history for a known Patient and validate response.</p>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Operations</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
        <blockquote>
          <p>
            <b>action</b>
          </p>
          <h3>Asserts</h3>
          <table>
            <tr>
              <td>-</td>
            </tr>
            <tr>
              <td>*</td>
            </tr>
          </table>
        </blockquote>
      </blockquote>
    </div>
  </text>
  <url value="http://hl7.org/fhir/TestScript/testscript-example-history"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:1.3.6.1.4.1.21367.2005.3.7.9877"/>
  </identifier>
  <version value="1.0"/>
  <name value="TestScript Example History"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2017-01-18"/>
  <publisher value="HL7"/>
  <contact>
    <name value="Support"/>
    <telecom>
      <system value="email"/>
      <value value="support@HL7.org"/>
      <use value="work"/>
    </telecom>
  </contact>
  <description value="TestScript example resource with setup to delete if present and create a new instance of a Patient then update that Patient to create a minimum history and single test definition to get the history of that Patient with various asserts."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America (the)"/>
    </coding>
  </jurisdiction>
  <purpose value="Patient (Conditional) Create, Update, Delete and History (Instance) 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"/>
      <description value="Patient Update, Delete and History (Instance) Operations"/>
      <link value="http://hl7.org/fhir/http.html#update"/>
      <link value="http://hl7.org/fhir/http.html#delete"/>
      <link value="http://hl7.org/fhir/http.html#history"/>
      <capabilities>
        <reference value="CapabilityStatement/example"/>
      </capabilities>
    </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-update">
    <autocreate value="false"/>
    <autodelete value="false"/>
    <resource>
      <reference value="Patient/pat1"/>
      <display value="Donald Duck"/>
    </resource>
  </fixture>
  <profile id="bundle-profile">
    <reference value="StructureDefinition/Bundle"/>
  </profile>
  <variable>
    <name value="createResourceId"/>
    <path value="Patient/id"/>
    <sourceId value="fixture-patient-create"/>
  </variable>
  <setup>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <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"/>
        <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"/>
      </assert>
    </action>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <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"/>
        <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"/>
      </assert>
    </action>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="update"/>
        </type>
        <resource value="Patient"/>
        <label value="SetupUpdatePatient"/>
        <description value="Update patient resource on test server using the contents of fixture-patient-update"/>
        <accept value="json"/>
        <contentType value="json"/>
        <params value="/${createResourceId}"/>
        <sourceId value="fixture-patient-update"/>
      </operation>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned HTTP status is 200(OK)."/>
        <direction value="response"/>
        <responseCode value="200"/>
      </assert>
    </action>
  </setup>
  <test id="01-HistoryPatient">
    <name value="History Patient"/>
    <description value="Get the history for a known Patient and validate response."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/testscript-operation-codes"/>
          <code value="history"/>
        </type>
        <resource value="Patient"/>
        <description value="Get the Patient history on the test server using the id from fixture-patient-create."/>
        <accept value="json"/>
        <contentType value="json"/>
        <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"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned resource type is Bundle."/>
        <resource value="Bundle"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned Bundle conforms to the base FHIR specification."/>
        <validateProfileId value="bundle-profile"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned Bundle type equals 'history'."/>
        <operator value="equals"/>
        <path value="fhir:Bundle/fhir:type/@value"/>
        <value value="history"/>
      </assert>
    </action>
  </test>
</TestScript>