FHIR Testing IG
0.1.0-SNAPSHOT - Draft International flag

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 Example Read Common

Page standards status: Informative

Raw xml | Download


<TestScript xmlns="http://hl7.org/fhir">
  <id value="testscript-example-readcommon"/>
  <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-readcommon</b></p><a name="testscript-example-readcommon"> </a><a name="hctestscript-example-readcommon"> </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/TestScript/testscript-example-readcommon">http://hl7.org/fhir/TestScript/testscript-example-readcommon</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.8</p><p><b>version</b>: 1.0</p><p><b>title</b>: TestScript Example Read Common</p><p><b>status</b>: Draft</p><p><b>experimental</b>: true</p><p><b>date</b>: 2024-04-24</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 showing the use of the common element to reuse actions within the test element. Each test will perform a Patient read operation utilizing user defined dynamic variables that will hold the Patient resource id values.</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 Read Operation</p>
</div><p><b>copyright</b>: </p><div><p>© HL7.org 2011+</p>
</div><h3>Scopes</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Artifact</b></td><td><b>Conformance</b></td><td><b>Phase</b></td></tr><tr><td style="display: none">*</td><td><a href="http://hl7.org/fhir/R5/patient.html">Patient</a></td><td><span title="Codes:{http://hl7.org/fhir/testscript-scope-conformance-codes optional}">Optional</span></td><td><span title="Codes:{http://hl7.org/fhir/testscript-scope-phase-codes unit}">Unit</span></td></tr></table><p><b>profile</b>: <a href="http://hl7.org/fhir/R5/patient.html">Patient</a></p><blockquote><p><b>variable</b></p><p><b>name</b>: PatientResourceId1</p><p><b>defaultValue</b>: f001</p></blockquote><blockquote><p><b>variable</b></p><p><b>name</b>: PatientResourceId2</p><p><b>defaultValue</b>: f002</p></blockquote><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>PatientRead1</blockquote><p><b>name</b>: Patient Read Test 1</p><p><b>description</b>: Read a known Patient (default id 'f001') and validate response using common action asserts.</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>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-read">FHIR Restful Interactions: read</a> (read)</td><td><a href="http://hl7.org/fhir/R5/patient.html">http://hl7.org/fhir/StructureDefinition/Patient</a></td><td>Read the known Patient resource on the destination test system using the user defined dynamic variable ${PatientResourceId1}.</td><td>xml</td><td>true</td><td>/${PatientResourceId1}</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Commons</h3><table class="grid"><tr><td style="display: none">-</td><td><b>KeyRef</b></td></tr><tr><td style="display: none">*</td><td>CommonReadActionAsserts</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>PatientRead2</blockquote><p><b>name</b>: Patient Read Test 2</p><p><b>description</b>: Read a known Patient (default id 'f002') and validate response using common action asserts.</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>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-read">FHIR Restful Interactions: read</a> (read)</td><td><a href="http://hl7.org/fhir/R5/patient.html">http://hl7.org/fhir/StructureDefinition/Patient</a></td><td>Read the known Patient resource on the destination test system using the user defined dynamic variable ${PatientResourceId2}.</td><td>xml</td><td>true</td><td>/${PatientResourceId2}</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Commons</h3><table class="grid"><tr><td style="display: none">-</td><td><b>KeyRef</b></td></tr><tr><td style="display: none">*</td><td>CommonReadActionAsserts</td></tr></table></blockquote></blockquote><blockquote><p><b>common</b></p><p><b>key</b>: CommonReadActionAsserts</p><p><b>name</b>: Common Read Action Asserts</p><p><b>description</b>: The common action asserts to evaluate and validate conformance to the base FHIR read operation.</p><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>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>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>ContentType</b></td><td><b>StopTestOnFail</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned format is XML.</td><td>xml</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>HeaderField</b></td><td><b>Operator</b></td><td><b>StopTestOnFail</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server might not support versioning.</td><td>Last-Modified</td><td>notEmpty</td><td>false</td><td>true</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>Resource</b></td><td><b>StopTestOnFail</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned resource type is Patient.</td><td><a href="http://hl7.org/fhir/R5/patient.html">http://hl7.org/fhir/StructureDefinition/Patient</a></td><td>false</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Description</b></td><td><b>StopTestOnFail</b></td><td><b>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td>Confirm that the returned Patient conforms to the base FHIR specification.</td><td>false</td><td>patient-profile</td><td>false</td></tr></table></blockquote></blockquote></div>
  </text>
  <url value="http://hl7.org/fhir/TestScript/testscript-example-readcommon"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:2.16.840.1.113883.4.642.12.8"/>
  </identifier>
  <version value="1.0"/>
  <title value="TestScript Example Read Common"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2024-04-24"/>
  <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 the use of the common element to reuse actions within the test element. Each test will perform a Patient read operation utilizing user defined dynamic variables that will hold the Patient resource id values."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America"/>
    </coding>
  </jurisdiction>
  <purpose value="Patient Read Operation"/>
  <copyright value="© HL7.org 2011+"/>
  <scope>
    <artifact value="http://hl7.org/fhir/StructureDefinition/Patient"/>
    <conformance>
      <coding>
        <system
                value="http://hl7.org/fhir/testscript-scope-conformance-codes"/>
        <code value="optional"/>
      </coding>
    </conformance>
    <phase>
      <coding>
        <system value="http://hl7.org/fhir/testscript-scope-phase-codes"/>
        <code value="unit"/>
      </coding>
    </phase>
  </scope>
  <profile value="http://hl7.org/fhir/StructureDefinition/Patient">🔗 
    <id value="patient-profile"/>
  </profile>
  <variable>
    <name value="PatientResourceId1"/>
    <defaultValue value="f001"/>
  </variable>
  <variable>
    <name value="PatientResourceId2"/>
    <defaultValue value="f002"/>
  </variable>
  <test id="PatientRead1">
    <name value="Patient Read Test 1"/>
    <description
                 value="Read a known Patient (default id 'f001') and validate response using common action asserts."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/restful-interaction"/>
          <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 ${PatientResourceId1}."/>
        <accept value="xml"/>
        <encodeRequestUrl value="true"/>
        <params value="/${PatientResourceId1}"/>
      </operation>
    </action>
    <action>
      <common>
        <keyRef value="CommonReadActionAsserts"/>
      </common>
    </action>
  </test>
  <test id="PatientRead2">
    <name value="Patient Read Test 2"/>
    <description
                 value="Read a known Patient (default id 'f002') and validate response using common action asserts."/>
    <action>
      <operation>
        <type>
          <system value="http://hl7.org/fhir/restful-interaction"/>
          <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 ${PatientResourceId2}."/>
        <accept value="xml"/>
        <encodeRequestUrl value="true"/>
        <params value="/${PatientResourceId2}"/>
      </operation>
    </action>
    <action>
      <common>
        <keyRef value="CommonReadActionAsserts"/>
      </common>
    </action>
  </test>
  <common>
    <key value="CommonReadActionAsserts"/>
    <name value="Common Read Action Asserts"/>
    <description
                 value="The common action asserts to evaluate and validate conformance to the base FHIR read operation."/>
    <action>
      <assert>
        <description
                     value="Confirm that the returned HTTP status is 200(OK)."/>
        <response value="okay"/>
        <stopTestOnFail value="false"/>
        <warningOnly value="false"/>
      </assert>
    </action>
    <action>
      <assert>
        <description value="Confirm that the returned format is XML."/>
        <contentType value="xml"/>
        <stopTestOnFail value="false"/>
        <warningOnly value="false"/>
      </assert>
    </action>
    <action>
      <assert>
        <description
                     value="Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server might not support versioning."/>
        <headerField value="Last-Modified"/>
        <operator value="notEmpty"/>
        <stopTestOnFail value="false"/>
        <warningOnly value="true"/>
      </assert>
    </action>
    <action>
      <assert>
        <description
                     value="Confirm that the returned resource type is Patient."/>
        <resource value="Patient"/>
        <stopTestOnFail value="false"/>
        <warningOnly value="false"/>
      </assert>
    </action>
    <action>
      <assert>
        <description
                     value="Confirm that the returned Patient conforms to the base FHIR specification."/>
        <stopTestOnFail value="false"/>
        <validateProfileId value="patient-profile"/>
        <warningOnly value="false"/>
      </assert>
    </action>
  </common>
</TestScript>