FHIR Testing IG, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 0.1.0-SNAPSHOT built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-testing-ig/ and changes regularly. See the Directory of published versions
<TestScript xmlns="http://hl7.org/fhir">
<id value="testscript-example-history"/>
<language value="en"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><p class="res-header-id"><b>Generated Narrative: TestScript testscript-example-history</b></p><a name="testscript-example-history"> </a><a name="hctestscript-example-history"> </a><div style="display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%"><p style="margin-bottom: 0px">Language: en</p></div><p><b>url</b>: <a href="http://hl7.org/fhir/R5/testscript-example-history.html">http://hl7.org/fhir/TestScript/testscript-example-history</a></p><p><b>identifier</b>: <a href="http://terminology.hl7.org/7.0.1/NamingSystem-uri.html" title="As defined by RFC 3986 (http://www.ietf.org/rfc/rfc3986.txt)(with many schemes defined in many RFCs). For OIDs and UUIDs, use the URN form (urn:oid:(note: lowercase) and urn:uuid:). See http://www.ietf.org/rfc/rfc3001.txt and http://www.ietf.org/rfc/rfc4122.txt
This oid is used as an identifier II.root to indicate the the extension is an absolute URI (technically, an IRI). Typically, this is used for OIDs and GUIDs. Note that when this OID is used with OIDs and GUIDs, the II.extension should start with urn:oid or urn:uuid:
Note that this OID is created to aid with interconversion between CDA and FHIR - FHIR uses urn:ietf:rfc:3986 as equivalent to this OID. URIs as identifiers appear more commonly in FHIR.
This OID may also be used in CD.codeSystem.">Uniform Resource Identifier (URI)</a>/urn:oid:2.16.840.1.113883.4.642.12.1</p><p><b>version</b>: 1.0</p><p><b>name</b>: TestScriptExampleHistory</p><p><b>title</b>: TestScript Example History</p><p><b>status</b>: Draft</p><p><b>experimental</b>: true</p><p><b>date</b>: 2017-01-18</p><p><b>publisher</b>: HL7</p><p><b>contact</b>: Support: <a href="mailto:support@HL7.org">support@HL7.org</a></p><p><b>description</b>: </p><div><p>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>
</div><p><b>jurisdiction</b>: <span title="Codes:{urn:iso:std:iso:3166 US}">United States of America</span></p><p><b>purpose</b>: </p><div><p>Patient (Conditional) Create, Update, Delete and History (Instance) Operations</p>
</div><p><b>copyright</b>: </p><div><p>© HL7.org 2011+</p>
</div><blockquote><p><b>metadata</b></p><h3>Links</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Url</b></td><td><b>Description</b></td></tr><tr><td style="display: none">*</td><td><a href="http://hl7.org/fhir/patient.html">http://hl7.org/fhir/patient.html</a></td><td>Demographics and other administrative information about an individual or animal receiving care or other health-related services.</td></tr></table><blockquote><p><b>capability</b></p><p><b>required</b>: true</p><p><b>validated</b>: false</p><p><b>description</b>: Patient Update, Delete and History (Instance) Operations</p><p><b>link</b>: <a href="http://hl7.org/fhir/http.html#update">http://hl7.org/fhir/http.html#update</a>, <a href="http://hl7.org/fhir/http.html#delete">http://hl7.org/fhir/http.html#delete</a>, <a href="http://hl7.org/fhir/http.html#history">http://hl7.org/fhir/http.html#history</a></p><p><b>capabilities</b>: <a href="http://hl7.org/fhir/R5/capabilitystatement-example.html">http://hl7.org/fhir/CapabilityStatement/example</a></p></blockquote></blockquote><blockquote><p><b>fixture</b></p><blockquote><p><b>id</b></p>fixture-patient-create</blockquote><p><b>autocreate</b>: false</p><p><b>autodelete</b>: false</p><p><b>resource</b>: <a href="http://hl7.org/fhir/R5/patient-example.html">Peter Chalmers</a></p></blockquote><blockquote><p><b>fixture</b></p><blockquote><p><b>id</b></p>fixture-patient-update</blockquote><p><b>autocreate</b>: false</p><p><b>autodelete</b>: false</p><p><b>resource</b>: <a href="http://hl7.org/fhir/R5/patient-example-a.html">Donald Duck</a></p></blockquote><p><b>profile</b>: <a href="http://hl7.org/fhir/R5/bundle.html">Bundle</a></p><blockquote><p><b>variable</b></p><p><b>name</b>: createResourceId</p><h3>Expressions</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>application/xml</td><td>Patient/id</td></tr></table><p><b>sourceId</b>: fixture-patient-create</p></blockquote><blockquote><p><b>setup</b></p><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Label</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td></tr><tr><td style="display: none">*</td><td><a href="http://hl7.org/fhir/R5/codesystem-restful-interaction.html#restful-interaction-delete">FHIR Restful Interactions: delete</a> (delete)</td><td><a href="http://hl7.org/fhir/R5/patient.html">http://hl7.org/fhir/StructureDefinition/Patient</a></td><td>SetupDeletePatient</td><td>Execute a delete operation to insure the patient does not exist on the server.</td><td>json</td><td>true</td><td>/${createResourceId}</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>ResponseCode</b></td><td><b>StopTestOnFail</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned HTTP status is 200(OK) or 204(No Content).</td><td>response</td><td>in</td><td>200,204</td><td>false</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Label</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td><td><b>SourceId</b></td></tr><tr><td style="display: none">*</td><td><a href="http://hl7.org/fhir/R5/codesystem-restful-interaction.html#restful-interaction-update">FHIR Restful Interactions: update</a> (update)</td><td><a href="http://hl7.org/fhir/R5/patient.html">http://hl7.org/fhir/StructureDefinition/Patient</a></td><td>SetupCreatePatient</td><td>Create patient resource on test server using the contents of fixture-patient-create</td><td>json</td><td>json</td><td>true</td><td>/${createResourceId}</td><td>fixture-patient-create</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ResponseCode</b></td><td><b>StopTestOnFail</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned HTTP status is 201(Created).</td><td>response</td><td>201</td><td>false</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Label</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>EncodeRequestUrl</b></td><td><b>Params</b></td><td><b>SourceId</b></td></tr><tr><td style="display: none">*</td><td><a href="http://hl7.org/fhir/R5/codesystem-restful-interaction.html#restful-interaction-update">FHIR Restful Interactions: update</a> (update)</td><td><a href="http://hl7.org/fhir/R5/patient.html">http://hl7.org/fhir/StructureDefinition/Patient</a></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>true</td><td>/${createResourceId}</td><td>fixture-patient-update</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ResponseCode</b></td><td><b>StopTestOnFail</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned HTTP status is 200(OK).</td><td>response</td><td>200</td><td>false</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>01-HistoryPatient</blockquote><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 class="grid"><tr><td style="display: none">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>ContentType</b></td><td><b>EncodeRequestUrl</b></td><td><b>TargetId</b></td></tr><tr><td style="display: none">*</td><td><a href="http://hl7.org/fhir/R5/codesystem-restful-interaction.html#restful-interaction-history">FHIR Restful Interactions: history</a> (history)</td><td><a href="http://hl7.org/fhir/R5/patient.html">http://hl7.org/fhir/StructureDefinition/Patient</a></td><td>Get the Patient history on the test server using the id from fixture-patient-create.</td><td>json</td><td>json</td><td>true</td><td>fixture-patient-create</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Response</b></td><td><b>StopTestOnFail</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned HTTP status is 200(OK).</td><td>response</td><td>OK</td><td>false</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Resource</b></td><td><b>StopTestOnFail</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned resource type is Bundle.</td><td><a href="http://hl7.org/fhir/R5/bundle.html">http://hl7.org/fhir/StructureDefinition/Bundle</a></td><td>false</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>StopTestOnFail</b></td><td><b>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned Bundle conforms to the base FHIR specification.</td><td>false</td><td>bundle-profile</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><blockquote><p><b>assert</b></p><p><b>description</b>: Confirm that the returned Bundle type equals 'history'.</p><h3>Expressions</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Language</b></td><td><b>Expression</b></td></tr><tr><td style="display: none">*</td><td>application/xml</td><td>fhir:Bundle/fhir:type/@value</td></tr></table><p><b>operator</b>: equals</p><p><b>stopTestOnFail</b>: false</p><p><b>value</b>: history</p><p><b>warningOnly</b>: false</p></blockquote></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:2.16.840.1.113883.4.642.12.1"/>
</identifier>
<version value="1.0"/>
<name value="TestScriptExampleHistory"/>
<title 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"/>
</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"/>
<validated value="false"/>
<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 value="http://hl7.org/fhir/CapabilityStatement/example"/>
</capability>
</metadata>
<fixture id="fixture-patient-create">
<autocreate value="false"/>
<autodelete value="false"/>
<resource>
<reference value="Patient/example"/>
<display value="Peter Chalmers"/>
</resource>
</fixture>
<fixture id="fixture-patient-update">
<autocreate value="false"/>
<autodelete value="false"/>
<resource>
<reference value="Patient/pat1"/>
<display value="Donald Duck"/>
</resource>
</fixture>
<profile value="http://hl7.org/fhir/StructureDefinition/Bundle">🔗
<id value="bundle-profile"/>
</profile>
<variable>
<name value="createResourceId"/>
<expression>
<language value="application/xml"/>
<expression value="Patient/id"/>
</expression>
<sourceId value="fixture-patient-create"/>
</variable>
<setup>
<action>
<operation>
<type>
<system value="http://hl7.org/fhir/restful-interaction"/>
<code value="delete"/>
</type>
<resource value="Patient"/>
<label value="SetupDeletePatient"/>
<description
value="Execute a delete operation to insure the patient does not exist on the server."/>
<accept value="json"/>
<encodeRequestUrl value="true"/>
<params value="/${createResourceId}"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned HTTP status is 200(OK) or 204(No Content)."/>
<direction value="response"/>
<operator value="in"/>
<responseCode value="200,204"/>
<stopTestOnFail value="false"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<operation>
<type>
<system value="http://hl7.org/fhir/restful-interaction"/>
<code value="update"/>
</type>
<resource value="Patient"/>
<label value="SetupCreatePatient"/>
<description
value="Create patient resource on test server using the contents of fixture-patient-create"/>
<accept value="json"/>
<contentType value="json"/>
<encodeRequestUrl value="true"/>
<params value="/${createResourceId}"/>
<sourceId value="fixture-patient-create"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned HTTP status is 201(Created)."/>
<direction value="response"/>
<responseCode value="201"/>
<stopTestOnFail value="false"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<operation>
<type>
<system value="http://hl7.org/fhir/restful-interaction"/>
<code value="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"/>
<encodeRequestUrl value="true"/>
<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"/>
<stopTestOnFail value="false"/>
<warningOnly value="false"/>
</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/restful-interaction"/>
<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"/>
<encodeRequestUrl value="true"/>
<targetId value="fixture-patient-create"/>
</operation>
</action>
<action>
<assert>
<description
value="Confirm that the returned HTTP status is 200(OK)."/>
<direction value="response"/>
<response value="okay"/>
<stopTestOnFail value="false"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description
value="Confirm that the returned resource type is Bundle."/>
<resource value="Bundle"/>
<stopTestOnFail value="false"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description
value="Confirm that the returned Bundle conforms to the base FHIR specification."/>
<stopTestOnFail value="false"/>
<validateProfileId value="bundle-profile"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<description
value="Confirm that the returned Bundle type equals 'history'."/>
<expression>
<language value="application/xml"/>
<expression value="fhir:Bundle/fhir:type/@value"/>
</expression>
<operator value="equals"/>
<stopTestOnFail value="false"/>
<value value="history"/>
<warningOnly value="false"/>
</assert>
</action>
</test>
</TestScript>