Scalable Consent Management Testing Guide - Local Development build (v1.0.0-ballot) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Page standards status: Trial-use | Maturity Level: 1 |
<TestScript xmlns="http://hl7.org/fhir">
<id value="03-Read-an-AuditEvent"/>
<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 03-Read-an-AuditEvent</b></p><a name="03-Read-an-AuditEvent"> </a><a name="hc03-Read-an-AuditEvent"> </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><blockquote><p><b>AEGIS Touchstone Testing TestScript Rule Extension</b></p><ul><li>ruleId: AssertBodyExists</li><li>path: /FHIRCommon/_reference/rule/AssertBodyExists.groovy</li></ul></blockquote><p><b>StructureDefinition Work Group</b>: cbcc</p><p><b>url</b>: <a href="TestScript-03-Read-an-AuditEvent.html">TestScript 01 Read Simple Search - All SUT | 03 Read an AuditEvent</a></p><p><b>version</b>: 1.0.0-ballot</p><p><b>name</b>: Test_03_Read_an_AuditEvent</p><p><b>title</b>: 01 Read Simple Search - All SUT | 03 Read an AuditEvent</p><p><b>status</b>: Active</p><p><b>date</b>: 2026-03-30</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 client and server to verify support for the AuditEvent read interaction
and the return of a valid AuditEvent resource conforming to the FASTConsentAuditEvent profile.
This scenario is generic and can be used with any FHIR format and query parameters.
Test case supporting the FAST Consent Management IG Version: CI.
See https://wildfhir4.wildfhir.org/ig/fhir-consent-management-tg/rtm_test_cases.html#testcase-141
Test System Details (in order of appearance):
[Origin 1: Consent Client's RESTful client. System Under Test: this must be an external test system (not Touchstone).]
[Destination 1: Consent Admin Service's RESTful FHIR Server. System Under Test: this must be an external test system (not a mock).]</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) AEGIS.net, Inc. 2026</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/7.1.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/7.1.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/auditevent.html">http://hl7.org/fhir/StructureDefinition/AuditEvent</a></p><h3>Variables</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Name</b></td><td><b>Description</b></td><td><b>Hint</b></td></tr><tr><td style="display: none">*</td><td>dest-1-FHIRRead-1-needed-AuditEvent_id</td><td>Consent Admin Service's Id of AuditEvent to use, available at Destination 1.</td><td>[Enter Consent Admin Service's Id of AuditEvent to use, available at Destination 1]</td></tr></table><blockquote><p><b>test</b></p><p><b>name</b>: Step_001_AuditEvent_read</p><p><b>description</b>: Consent Client reads a AuditEvent resource at Consent Admin Service.</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>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Method</b></td><td><b>Origin</b></td><td><b>Params</b></td><td><b>RequestId</b></td><td><b>ResponseId</b></td></tr><tr><td style="display: none">*</td><td><a href="http://terminology.hl7.org/7.1.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-read">Test script operation code: read</a> (Read)</td><td>AuditEvent</td><td>Read a AuditEvent resource.</td><td>1</td><td>true</td><td>GET</td><td>1</td><td>/${dest-1-FHIRRead-1-needed-AuditEvent_id}</td><td>dest-1-FHIRRead-1-request</td><td>dest-1-FHIRRead-1-response</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>Operator</b></td><td><b>ResponseCode</b></td><td><b>SourceId</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the returned HTTP status is 200 OK.</td><td>response</td><td>in</td><td>200</td><td>dest-1-FHIRRead-1-response</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>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the response body exists.</td><td>response</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>Resource</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the response body is a AuditEvent resource.</td><td>response</td><td>AuditEvent</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>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the response body conforms to the base FHIR AuditEvent profile. This also checks any declared profiles within.</td><td>response</td><td>AuditEvent-profile</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>Operator</b></td><td><b>SourceId</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style="display: none">*</td><td/><td>Confirm that the AuditEvent resource in the response declares the FASTConsentAuditEvent profile.</td><td>response</td><td>AuditEvent.meta.profile contains 'http://hl7.org/fhir/us/consent-management/StructureDefinition/FASTConsentAuditEvent'</td><td>equals</td><td>dest-1-FHIRRead-1-response</td><td>true</td><td>false</td></tr></table></blockquote></blockquote></div>
</text>
<extension
url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule">
<extension url="ruleId">
<valueId value="AssertBodyExists"/>
</extension>
<extension url="path">
<valueString
value="/FHIRCommon/_reference/rule/AssertBodyExists.groovy"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
<valueCode value="cbcc"/>
</extension>
<url
value="http://hl7.org/fhir/us/consent-management-tg/TestScript/03-Read-an-AuditEvent"/>
<version value="1.0.0-ballot"/>
<name value="Test_03_Read_an_AuditEvent"/>
<title value="01 Read Simple Search - All SUT | 03 Read an AuditEvent"/>
<status value="active"/>
<date value="2026-03-30"/>
<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 client and server to verify support for the AuditEvent read interaction
and the return of a valid AuditEvent resource conforming to the FASTConsentAuditEvent profile.
This scenario is generic and can be used with any FHIR format and query parameters.
Test case supporting the FAST Consent Management IG Version: CI.
See https://wildfhir4.wildfhir.org/ig/fhir-consent-management-tg/rtm_test_cases.html#testcase-141
Test System Details (in order of appearance):
[Origin 1: Consent Client's RESTful client. System Under Test: this must be an external test system (not Touchstone).]
[Destination 1: Consent Admin Service's RESTful FHIR Server. System Under Test: this must be an external test system (not a mock).]"/>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="US"/>
<display value="United States of America"/>
</coding>
</jurisdiction>
<copyright value="(c) AEGIS.net, Inc. 2026"/>
<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="AuditEvent-profile">🔗
<reference value="http://hl7.org/fhir/StructureDefinition/AuditEvent"/>
</profile>
<variable>
<name value="dest-1-FHIRRead-1-needed-AuditEvent_id"/>
<description
value="Consent Admin Service's Id of AuditEvent to use, available at Destination 1."/>
<hint
value="[Enter Consent Admin Service's Id of AuditEvent to use, available at Destination 1]"/>
</variable>
<test>
<name value="Step_001_AuditEvent_read"/>
<description
value="Consent Client reads a AuditEvent resource at Consent Admin Service."/>
<action>
<operation>
<type>
<system
value="http://terminology.hl7.org/CodeSystem/testscript-operation-codes"/>
<code value="read"/>
</type>
<resource value="AuditEvent"/>
<description value="Read a AuditEvent resource."/>
<destination value="1"/>
<encodeRequestUrl value="true"/>
<method value="get"/>
<origin value="1"/>
<params value="/${dest-1-FHIRRead-1-needed-AuditEvent_id}"/>
<requestId value="dest-1-FHIRRead-1-request"/>
<responseId value="dest-1-FHIRRead-1-response"/>
</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 HTTP status is 200 OK."/>
<direction value="response"/>
<operator value="in"/>
<responseCode value="200"/>
<sourceId value="dest-1-FHIRRead-1-response"/>
<warningOnly value="false"/>
</assert>
</action>
<action>
<assert>
<extension
url="http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule">
<extension url="ruleId">
<valueId value="AssertBodyExists"/>
</extension>
<extension url="param">
<extension url="name">
<valueString value="errorMessage"/>
</extension>
<extension url="value">
<valueString value="the response body does not exist."/>
</extension>
</extension>
</extension>
<description value="Confirm that the response body exists."/>
<direction value="response"/>
<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 response body is a AuditEvent resource."/>
<direction value="response"/>
<resource value="AuditEvent"/>
<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 response body conforms to the base FHIR AuditEvent profile. This also checks any declared profiles within."/>
<direction value="response"/>
<validateProfileId value="AuditEvent-profile"/>
<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 AuditEvent resource in the response declares the FASTConsentAuditEvent profile."/>
<direction value="response"/>
<expression
value="AuditEvent.meta.profile contains 'http://hl7.org/fhir/us/consent-management/StructureDefinition/FASTConsentAuditEvent'"/>
<operator value="equals"/>
<sourceId value="dest-1-FHIRRead-1-response"/>
<value value="true"/>
<warningOnly value="false"/>
</assert>
</action>
</test>
</TestScript>