Scalable Consent Management Testing Guide
0.1.0 - ci-build

Scalable Consent Management Testing Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

## : FAST Consent Search Consent XML - XML Representation

Page standards status: Trial-use | Maturity Level: 1

Raw xml | Download

    <TestScript xmlns="http://hl7.org/fhir">
      <id value="fastconsentsearchconsentxml"/>
      <meta>
        <profile
                 value="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript"/>
      </meta>
      <text>
        <status value="extensions"/>
        <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: TestScript fastconsentsearchconsentxml</b></p><a name="fastconsentsearchconsentxml"> </a><a name="hcfastconsentsearchconsentxml"> </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"/><p style="margin-bottom: 0px">Profile: <a href="file://D:\GitHub\Touchstone\testing-ig\output/StructureDefinition-testscript.html">AEGIS Touchstone Testing TestScript Profile</a></p></div><p><b>StructureDefinition Work Group</b>: cbcc</p><p><b>url</b>: <a href="TestScript-fastconsentsearchconsentxml.html">TestScript FAST Consent Search Consent XML</a></p><p><b>version</b>: 0.1.0</p><p><b>name</b>: FASTConsentSearchConsentXML</p><p><b>title</b>: FAST Consent Search Consent XML</p><p><b>status</b>: Active</p><p><b>date</b>: 2025-05-22</p><p><b>publisher</b>: HL7 International / Community Based Collaborative Care</p><p><b>contact</b>: HL7 International / Community Based Collaborative Care: <a href="http://www.hl7.org/Special/committees/cbcc">http://www.hl7.org/Special/committees/cbcc</a></p><p><b>description</b>: </p><div><p>Test a FAST Consent Management Server implementation of the FHIR search interaction for Consent resources using XML Format. The user must enter the FAST Consent patientId parameter. The reverse include parameter for any recorded AuditEvent resources is also defined.</p>
    </div><p><b>jurisdiction</b>: <span title="Codes:{urn:iso:std:iso:3166 US}">United States of America</span></p><p><b>copyright</b>: </p><div><p>(c) HL7 International / Community Based Collaborative Care 2025</p>
    </div><h3>Origins</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Index</b></td><td><b>Profile</b></td></tr><tr><td style="display: none">*</td><td>1</td><td><a href="http://terminology.hl7.org/6.5.0/CodeSystem-testscript-profile-origin-types.html#testscript-profile-origin-types-FHIR-Client">Test script profile origin type FHIR-Client</a>: FHIR Client</td></tr></table><h3>Destinations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Index</b></td><td><b>Profile</b></td></tr><tr><td style="display: none">*</td><td>1</td><td><a href="http://terminology.hl7.org/6.5.0/CodeSystem-testscript-profile-destination-types.html#testscript-profile-destination-types-FHIR-Server">Test script profile destination type FHIR-Server</a>: FHIR Server</td></tr></table><p><b>profile</b>: <a href="http://hl7.org/fhir/R4/bundle.html">http://hl7.org/fhir/StructureDefinition/Bundle</a></p><h3>Variables</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Name</b></td><td><b>DefaultValue</b></td><td><b>Description</b></td><td><b>Hint</b></td></tr><tr><td style="display: none">*</td><td>patientId</td><td>example</td><td>Enter a known Consent patientI Identifier value on the destination system.</td><td>[patientId Identifier]</td></tr></table><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>FASTConsentSearchConsentXML</blockquote><p><b>name</b>: FASTConsentSearchConsentXML</p><p><b>description</b>: Test the FAST Consent Management Server search operation with reverse include of any recorded AuditEvent resources. The expected response content is a searchset Bundle resource for all Consent resources matching the patientId parameter in XML format.</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>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Origin</b></td><td><b>Params</b></td></tr><tr><td style="display: none">*</td><td><a href="http://terminology.hl7.org/6.5.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-search">Test script operation code search</a>: Search</td><td>Consent</td><td>Search for the Consent and validate the search results</td><td>xml</td><td>xml</td><td>1</td><td>true</td><td>1</td><td>?patientId=${patientId}&amp;_revinclude=AuditEvent:consent</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ResponseCode</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the returned response code is 200 OK.</td><td>response</td><td>200</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>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>HeaderField</b></td><td><b>Operator</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the returned HTTP Header Content-Type is present.</td><td>response</td><td>Content-Type</td><td>notEmpty</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>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ContentType</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the returned HTTP Header Content-Type contains the FHIR mime-type 'application/fhir+xml'. Warning only to allow for review.</td><td>response</td><td>xml</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>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Resource</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the returned response payload is a Bundle resource.</td><td>response</td><td>Bundle</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>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the returned Bundle conforms to the FAST Consent IG and FHIR specification.</td><td>response</td><td>BundleProfile</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>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the returned response payload is a searchset Bundle resource.</td><td>response</td><td>.type</td><td>searchset</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>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the returned searchset Bundle contains a Consent resource.</td><td>response</td><td>Bundle.entry.resource.as(Consent).exists()</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>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the returned searchset Bundle contains an AuditEvent resource.</td><td>response</td><td>Bundle.entry.resource.as(AuditEvent).exists()</td><td>false</td></tr></table></blockquote></blockquote></div>
      </text>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
        <valueCode value="cbcc"/>
      </extension>
      <url
           value="http://hl7.org/fhir/us/consent-management-tg/TestScript/fastconsentsearchconsentxml"/>
      <version value="0.1.0"/>
      <name value="FASTConsentSearchConsentXML"/>
      <title value="FAST Consent Search Consent XML"/>
      <status value="active"/>
      <date value="2025-05-22"/>
      <publisher value="HL7 International / Community Based Collaborative Care"/>
      <contact>
        <name value="HL7 International / Community Based Collaborative Care"/>
        <telecom>
          <system value="url"/>
          <value value="http://www.hl7.org/Special/committees/cbcc"/>
        </telecom>
      </contact>
      <description
                   value="Test a FAST Consent Management Server implementation of the FHIR search interaction for Consent resources using XML Format. The user must enter the FAST Consent patientId parameter. The reverse include parameter for any recorded AuditEvent resources is also defined."/>
      <jurisdiction>
        <coding>
          <system value="urn:iso:std:iso:3166"/>
          <code value="US"/>
          <display value="United States of America"/>
        </coding>
      </jurisdiction>
      <copyright
                 value="(c) HL7 International / Community Based Collaborative Care 2025"/>
      <origin>
        <index value="1"/>
        <profile>
          <system
                  value="http://terminology.hl7.org/CodeSystem/testscript-profile-origin-types"/>
          <code value="FHIR-Client"/>
        </profile>
      </origin>
      <destination>
        <index value="1"/>
        <profile>
          <system
                  value="http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types"/>
          <code value="FHIR-Server"/>
        </profile>
      </destination>
      <profile id="BundleProfile">🔗
        <reference value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
      </profile>
      <variable>
        <name value="patientId"/>
        <defaultValue value="example"/>
        <description
                     value="Enter a known Consent patientI Identifier value on the destination system."/>
        <hint value="[patientId Identifier]"/>
      </variable>
      <test id="FASTConsentSearchConsentXML">
        <name value="FASTConsentSearchConsentXML"/>
        <description
                     value="Test the FAST Consent Management Server search operation with reverse include of any recorded AuditEvent resources. The expected response content is a searchset Bundle resource for all Consent resources matching the patientId parameter in XML format."/>
        <action>
          <operation>
            <type>
              <system
                      value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
              <code value="search"/>
            </type>
            <resource value="Consent"/>
            <description
                         value="Search for the Consent and validate the search results"/>
            <accept value="xml"/>
            <contentType value="xml"/>
            <destination value="1"/>
            <encodeRequestUrl value="true"/>
            <origin value="1"/>
            <params
                    value="?patientId=${patientId}&amp;_revinclude=AuditEvent:consent"/>
          </operation>
        </action>
        <action>
          <assert>
            <extension
                       url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail">
              <valueBoolean value="false"/>
            </extension>
            <description
                         value="Confirm that the returned response code is 200 OK."/>
            <direction value="response"/>
            <responseCode value="200"/>
            <warningOnly value="false"/>
          </assert>
        </action>
        <action>
          <assert>
            <extension
                       url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail">
              <valueBoolean value="false"/>
            </extension>
            <description
                         value="Confirm that the returned HTTP Header Content-Type is present."/>
            <direction value="response"/>
            <headerField value="Content-Type"/>
            <operator value="notEmpty"/>
            <warningOnly value="false"/>
          </assert>
        </action>
        <action>
          <assert>
            <extension
                       url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail">
              <valueBoolean value="false"/>
            </extension>
            <description
                         value="Confirm that the returned HTTP Header Content-Type contains the FHIR mime-type 'application/fhir+xml'. Warning only to allow for review."/>
            <direction value="response"/>
            <contentType value="xml"/>
            <warningOnly value="true"/>
          </assert>
        </action>
        <action>
          <assert>
            <extension
                       url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail">
              <valueBoolean value="false"/>
            </extension>
            <description
                         value="Confirm that the returned response payload is a Bundle resource."/>
            <direction value="response"/>
            <resource value="Bundle"/>
            <warningOnly value="true"/>
          </assert>
        </action>
        <action>
          <assert>
            <extension
                       url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail">
              <valueBoolean value="false"/>
            </extension>
            <description
                         value="Confirm that the returned Bundle conforms to the FAST Consent IG and FHIR specification."/>
            <direction value="response"/>
            <validateProfileId value="BundleProfile"/>
            <warningOnly value="true"/>
          </assert>
        </action>
        <action>
          <assert>
            <extension
                       url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail">
              <valueBoolean value="false"/>
            </extension>
            <description
                         value="Confirm that the returned response payload is a searchset Bundle resource."/>
            <direction value="response"/>
            <path value=".type"/>
            <value value="searchset"/>
            <warningOnly value="true"/>
          </assert>
        </action>
        <action>
          <assert>
            <extension
                       url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail">
              <valueBoolean value="false"/>
            </extension>
            <description
                         value="Confirm that the returned searchset Bundle contains a Consent resource."/>
            <direction value="response"/>
            <expression value="Bundle.entry.resource.as(Consent).exists()"/>
            <warningOnly value="false"/>
          </assert>
        </action>
        <action>
          <assert>
            <extension
                       url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail">
              <valueBoolean value="false"/>
            </extension>
            <description
                         value="Confirm that the returned searchset Bundle contains an AuditEvent resource."/>
            <direction value="response"/>
            <expression value="Bundle.entry.resource.as(AuditEvent).exists()"/>
            <warningOnly value="false"/>
          </assert>
        </action>
      </test>
    </TestScript>