Scalable Consent Management Testing Guide
0.1.0 - ci-build United States of America flag

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

: Scalable Consent Management 0.1.0 Test Plan - XML Representation

Page standards status: Trial-use Maturity Level: 1

Raw xml | Download


<TestPlan xmlns="http://hl7.org/fhir">
  <id value="fhir-consent-management-0.1.0-test-plan"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: TestPlan fhir-consent-management-0.1.0-test-plan</b></p><a name="fhir-consent-management-0.1.0-test-plan"> </a><a name="hcfhir-consent-management-0.1.0-test-plan"> </a><p><b>Contact:</b> (HL7 International / Community Based Collaborative Care: <a href="http://www.hl7.org/Special/committees/cbcc">http://www.hl7.org/Special/com...</a>)</p><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Read a Consent</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> A Consent conforming to the FASTConsent profile exists at the CAS, and its ID is known.</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client sends a conformant <a href="https://hl7.org/fhir/R4/http.html#read">read</a> to CAS using the known ID. This is unconstrained, e.g. the &quot;_format&quot; parameter may be present.</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies the request is valid.]</li>
<li>CAS returns a conformant response containing the resource.</li>
<li>Verify the response is valid according to the linked requirements, including that the Consent declares and conforms to the FASTConsent profile.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for a Consent</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> At least one Consent conforming to the FASTConsent profile exists at the CAS, and details about it sufficient to search are known.</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client sends a conformant <a href="https://hl7.org/fhir/R4/http.html#search">search</a> request to CAS using some combination of the search criteria required to be supported.</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies the request is valid.]</li>
<li>CAS returns a conformant response containing the matching resource(s).</li>
<li>Verify the response is valid according to the linked requirements.</li>
<li>Verify that at least one Consent resource is returned, and that each returned Consent declares and conforms to the FASTConsent profile.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentController - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentController details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentController criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentController - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentController details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentController criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by date - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> date details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the date criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by date - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> date details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the date criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentGrantee - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentGrantee details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentGrantee criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentGrantee - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentGrantee details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentGrantee criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentManager - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentManager details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentManager criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentManager - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentManager details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentManager criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentOrganizationId - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentOrganizationId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentOrganizationId criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentOrganizationId - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentOrganizationId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentOrganizationId criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by patient - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> patient details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the patient criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by patient - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> patient details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the patient criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentPatientId - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentPatientId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentPatientId criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsentPatientId - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTConsentPatientId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentPatientId criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by scope - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> scope details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the scope criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by scope - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> scope details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the scope criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by status - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> status details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the status criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by status - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> status details are known by which at least one Consent would match and at least one Consent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the status criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsent profile - JSON</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> At least one Consent declaring the FASTConsent profile and at least one Consent not declaring it exist at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsent profile criteria and requests JSON.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for Consent by FASTConsent profile - XML</strong></p>
<p>This test case extends test case &quot;Search for a Consent&quot;.</p>
<p><strong>Pre-condition:</strong> At least one Consent declaring the FASTConsent profile and at least one Consent not declaring it exist at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsent profile criteria and requests XML.</li>
<li>In step 6, verify that only matching Consent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Read an AuditEvent</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> An AuditEvent conforming to the FASTConsentAuditEvent profile exists at the CAS, and its ID is known.</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client sends a conformant <a href="https://hl7.org/fhir/R4/http.html#read">read</a> to CAS using the known ID. This is unconstrained, e.g. the &quot;_format&quot; parameter may be present.</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies the request is valid.]</li>
<li>CAS returns a conformant response containing the resource.</li>
<li>Verify the response is valid according to the linked requirements, including that the AuditEvent declares and conforms to the FASTConsentAuditEvent profile.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for</strong> <strong>an AuditEvent</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> At least one AuditEvent conforming to the FASTConsentAuditEvent profile exists at the CAS, and details about it sufficient to search are known.</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client sends a conformant <a href="https://hl7.org/fhir/R4/http.html#search">search</a> request to CAS using some combination of the search criteria required to be supported.</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies the request is valid.]</li>
<li>CAS returns a conformant response containing the matching resource(s).</li>
<li>Verify the response is valid according to the linked requirements.</li>
<li>Verify that at least one AuditEvent resource is returned, and that each returned AuditEvent declares and conforms to the FASTConsentAuditEvent profile.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for AuditEvent by FASTAuditEventConsent - JSON</strong></p>
<p>This test case extends test case &quot;Search for an AuditEvent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTAuditEventConsent details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTAuditEventConsent criteria and requests JSON.</li>
<li>In step 6, verify that only matching AuditEvent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for</strong> <strong>AuditEvent by FASTAuditEventConsent - XML</strong></p>
<p>This test case extends test case &quot;Search for an AuditEvent&quot;.</p>
<p><strong>Pre-condition:</strong> FASTAuditEventConsent details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTAuditEventConsent criteria and requests XML.</li>
<li>In step 6, verify that only matching AuditEvent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for AuditEvent by patient - JSON</strong></p>
<p>This test case extends test case &quot;Search for an AuditEvent&quot;.</p>
<p><strong>Pre-condition:</strong> patient details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the patient criteria and requests JSON.</li>
<li>In step 6, verify that only matching AuditEvent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for</strong> <strong>AuditEvent by patient - XML</strong></p>
<p>This test case extends test case &quot;Search for an AuditEvent&quot;.</p>
<p><strong>Pre-condition:</strong> patient details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.</p>
<ul>
<li>In step 1, the client includes the patient criteria and requests XML.</li>
<li>In step 6, verify that only matching AuditEvent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for AuditEvent by FASTConsentAuditEvent profile - JSON</strong></p>
<p>This test case extends test case &quot;Search for an AuditEvent&quot;.</p>
<p><strong>Pre-condition:</strong> At least one AuditEvent declaring the FASTConsentAuditEvent profile and at least one AuditEvent not declaring it exist at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentAuditEvent profile criteria and requests JSON.</li>
<li>In step 6, verify that only matching AuditEvent resources are returned.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Search for AuditEvent by FASTConsentAuditEvent profile - XML</strong></p>
<p>This test case extends test case &quot;Search for an AuditEvent&quot;.</p>
<p><strong>Pre-condition:</strong> At least one AuditEvent declaring the FASTConsentAuditEvent profile and at least one AuditEvent not declaring it exist at the CAS.</p>
<ul>
<li>In step 1, the client includes the FASTConsentAuditEvent profile criteria and requests XML.</li>
<li>In step 6, verify that only matching AuditEvent resources are returned.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Read a Subscription</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> A Subscription [optionally conforming to the FASTSubscription profile] exists at the CAS, and its ID is known.</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client sends a conformant <a href="https://hl7.org/fhir/R4/http.html#read">read</a> to CAS using the known ID. This is unconstrained, e.g. the &quot;_format&quot; parameter may be present.</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies the request is valid.]</li>
<li>CAS returns a conformant response containing the resource.</li>
<li>Verify the response is valid according to the linked requirements [note no rqmt that the Subscription declares and conforms to the FASTSubscription profile].</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Create a subscription - rest-hook</strong></p>
<p>This is a wide-open workflow that can be used as the base for many variations.</p>
<p><strong>Actors:</strong> Consent Client, CAS, Notification Endpoint</p>
<p><strong>Pre-condition:</strong> CAS has advertised its support for subscriptions in its CapabilityStatement. Consent Client has prepared its Notification Endpoint to receive notifications.</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Optional: Consent Client discovers subscription support at the CAS. Execute test case &quot;Obtain server CapabilityStatement&quot;.</li>
<li>Client POSTs a conformant Subscription to the CAS. [note no requirement for it to be FASTSubscription]</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>CAS verifies the request is valid.</li>
<li>CAS returns a conformant response indicating the new Subscription location and optionally the resource in the body.</li>
<li>Verify the response is valid according to the linked requirements.</li>
<li>Optional: CAS sends a handshake. Execute test case &quot;Notify for a Subscription - rest-hook&quot;. The trigger in step 1 is the creation of the Subscription. Verify the notification as &quot;handshake&quot;.</li>
<li>Optional: Consent Client GETs the new Subscription to confirm it is active. Execute test case &quot;Read a Subscription&quot;.</li>
<li>Optional: Consent Client executes $status against the new Subscription to confirm it is active. Execute test case &quot;Operation: Get Subscription Status&quot;.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>The new Subscription exists at the CAS.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Create a subscription - rest-hook PUT</strong></p>
<p>This test case extends test case &quot;Workflow: Create a subscription - rest-hook&quot;.</p>
<ul>
<li>In step 2, Consent Client PUTs a conformant Subscription to the CAS.</li>
<li>In step 3, verify the resource id passed in was used.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Error: Create a Subscription - rest-hook - unsupported backport-channel-type</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Consent Client POSTs a Subscription to the CAS using the backport-channel-type extension with a nonsense value.</li>
<li>CAS returns a conformant response indicating the Subscription request was rejected.</li>
<li>Verify the response is valid according to the linked requirements.</li>
</ol>
<p><strong>Post-condition:</strong> The Subscription has not been created at the CAS.</p>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Error</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Error: Create a Subscription - rest-hook - unsupported filter</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Consent Client POSTs a Subscription to the CAS using a filter with a nonsense value.</li>
<li>CAS returns a conformant response indicating the Subscription request was rejected.</li>
<li>Verify the response is valid according to the linked requirements.</li>
</ol>
<p><strong>Post-condition:</strong> The Subscription has not been created at the CAS.</p>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Error</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Error: Create a Subscription - rest-hook - unsupported content level</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Consent Client POSTs a Subscription to the CAS using a content level the server does not support.</li>
<li>CAS returns a conformant response indicating the Subscription request was rejected.</li>
<li>Verify the response is valid according to the linked requirements.</li>
</ol>
<p><strong>Post-condition:</strong> The Subscription has not been created at the CAS.</p>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Error</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Error: Create a Subscription - rest-hook - unsupported topic</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Consent Client POSTs a Subscription to the CAS using a nonsense topic.</li>
<li>CAS returns a conformant response indicating the Subscription request was rejected.</li>
<li>Verify the response is valid according to the linked requirements.</li>
</ol>
<p><strong>Post-condition:</strong> The Subscription has not been created at the CAS.</p>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Error</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Update a Subscription - rest-hook</strong></p>
<p>This is a wide-open workflow that can be used as the base for many variations.</p>
<p><strong>Actors:</strong> Consent Client, CAS, Notification Endpoint</p>
<p><strong>Pre-condition:</strong> Consent Client has an existing Subscription at the CAS.</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client PUTs an updated, conformant Subscription to the CAS. [note no requirement for it to be FASTSubscription]</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>CAS verifies the request is valid.</li>
<li>CAS returns a conformant response indicating the new Subscription location and optionally the resource in the body.</li>
<li>Verify the response is valid according to the linked requirements.</li>
<li>Optional: CAS sends a handshake. Execute test case &quot;Notify for a Subscription - rest-hook channel&quot;. The trigger in step 1 is the creation of the Subscription. Verify the notification as &quot;handshake&quot;.</li>
<li>Optional: Consent Client GETs the new Subscription to confirm it is active. Execute test case &quot;Read a Subscription&quot;.</li>
<li>Optional: Consent Client executes $status against the new Subscription to confirm it is active. Execute test case &quot;Operation: Get Subscription Status&quot;.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>The updated Subscription exists at the CAS.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Update a Subscription - rest-hook PATCH</strong></p>
<p>This test case extends test case &quot;Workflow: Update a Subscription - rest-hook&quot;.</p>
<ul>
<li>In step 1, Consent Client PATCHs an updated, conformant Subscription to the CAS.</li>
<li>At the end of the test case, verify the resource was updated appropriately.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Notify for a Subscription</strong> <strong>- rest-hook</strong></p>
<p>This is a wide-open workflow that can be used as the base for many variations. Each variation needs to specify what the trigger in step 1 is.</p>
<p><strong>Actors:</strong> Consent Client, CAS, Notification Endpoint</p>
<p><strong>Pre-condition:</strong> Consent Client has successfully made a Subscription at the CAS, with the rest-hook channel type.</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>An actor performs an action at the CAS that should trigger a notification for this Subscription.</li>
<li>CAS POSTs a conformant R4 Topic-Based Subscription Notification Bundle to the Consent Client's Notification Endpoint.</li>
<li>Verify the notification is valid according to the linked requirements.</li>
<li>The Consent Client verifies the notification and returns a valid 200 response.</li>
<li>Verify the response.</li>
<li>Optional: Consent Client GETs a new or modified Consent. Execute test case &quot;Read a Consent&quot;.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Operation: Get Subscription Status</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client POSTs to CAS: [base]/Subscription/$status.</li>
<li>Verify input parameters are valid according to linked requirements.</li>
<li>CAS returns a response.</li>
<li>Verify response is valid according to linked requirements.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Operation: File a Consent</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client POSTs to CAS: [base]/Consent/$fileConsent [unconstrained, e.g. the &quot;document&quot; parameter may be either flavor].</li>
<li>Verify input parameters are valid according to linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies inputs, generates and persists the Consent and related resources. CAS may retain external references (e.g. to Patient), or replace with references to new or matched existing resources.]</li>
<li>CAS returns a response.</li>
<li>Verify response is valid according to linked requirements.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>[No requirements yet, but something like this: The Consent and related resources are persisted and available at the CAS.]</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Operation: Revoke a Consent</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client POSTs to CAS: [base]/Consent/$revokeConsent [unconstrained, e.g. the &quot;document&quot; parameter may be either flavor].</li>
<li>Verify input parameters are valid according to linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies inputs, persists the revoked Consent and related resources. CAS may retain external references (e.g. to Patient), or replace with references to new or matched existing resources.]</li>
<li>CAS returns a response.</li>
<li>Verify response is valid according to linked requirements.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>[No requirements yet, but something like this: The revoked Consent and related resources are persisted and available at the CAS.]</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Operation: Record a Disclosure</strong></p>
<p><strong>Actors:</strong> Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client POSTs to CAS: [base]/AuditEvent/$recordDisclosure [unconstrained].</li>
<li>Verify input parameters are valid according to linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies inputs, generates and persists the AuditEvent and related resources. CAS may retain external references (e.g. to Patient), or replace with references to new or matched existing resources.]</li>
<li>CAS returns a response.</li>
<li>Verify response is valid according to linked requirements.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>[No requirements yet, but something like this: The AuditEvent and related resources are persisted and available at the CAS.]</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Obtain server CapabilityStatement</strong></p>
<p><strong>Actors:</strong> Consent client, CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client sends a metadata request to the CAS, requesting the FHIR 4.0 CS by using the fhirVersion Accept header.</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies the request is valid.]</li>
<li>CAS returns a conformant response containing the system CapabilityStatement.</li>
<li>Verify the response is valid according to the linked requirements.</li>
<li>Verify the CapabilityStatement includes the normative aspects defined in the ConsentAdministrativeServer CapabilityStatement. Additional aspects are permitted but will not be evaluated.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Obtain server CapabilityStatement - JSON</strong></p>
<p>This test case extends test case &quot;Obtain server CapabilityStatement&quot;.</p>
<ul>
<li>In step 1, the client requests JSON.</li>
<li>In step 5, verify the CapabilityStatement is JSON.</li>
<li>In all steps, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Obtain server CapabilityStatement - XML</strong></p>
<p>This test case extends test case &quot;Obtain server CapabilityStatement&quot;.</p>
<ul>
<li>In step 1, the client requests XML.</li>
<li>In step 5, verify the CapabilityStatement is XML.</li>
<li>In all steps, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Obtain and handle conformant variations of server CapabilityStatement</strong></p>
<p>This tests the ability of a client to handle legal variants of CSs.</p>
<p><strong>Actors:</strong> Consent Client, Simulated CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client sends a metadata request to the CAS. [unconstrained; may or may not use the fhirVersion Accept header]</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>[No requirements yet, but something like this: CAS verifies the request is valid.]</li>
<li>CAS returns a conformant response containing the system CapabilityStatement.</li>
<li>Verify the response is valid according to the linked requirements.</li>
<li>Verify the CapabilityStatement includes the normative aspects defined in the ConsentAdministrativeServer CapabilityStatement. Additional aspects are permitted but will not be evaluated.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>The client should be able to communicate with this server per the workflows in this IG.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Provisional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Obtain and handle STU3 version server CapabilityStatement</strong></p>
<p>This tests the ability of a client to handle an STU3 CS.</p>
<p><strong>Actors:</strong> Consent Client, Simulated CAS</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Client sends a metadata request to the CAS without the fhirVersion Accept header.</li>
<li>Verify the request is valid according to the linked requirements.</li>
<li>CAS returns a conformant response containing an STU3 system CapabilityStatement.</li>
<li>Verify the client detects the version mismatch and resolves somehow, e.g. notifies the user, retries the request including the fhirVersion Accept header, etc.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None (yet)</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Test client CapabilityStatement</strong></p>
<p><strong>Actors:</strong> Consent client</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Obtain the client CapabilityStatement.</li>
<li>Verify the CapabilityStatement includes the normative aspects defined in the ConsentClient CapabilityStatement. Additional aspects are permitted but will not be evaluated.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Test client CapabilityStatement - JSON</strong></p>
<p>This test case extends test case &quot;Test client CapabilityStatement&quot;.</p>
<ul>
<li>In step 1, obtain the JSON CapabilityStatement.</li>
<li>In step 2, evaluate FHIR content as JSON.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Test client CapabilityStatement - XML</strong></p>
<p>This test case extends test case &quot;Test client CapabilityStatement&quot;.</p>
<ul>
<li>In step 1, obtain the XML CapabilityStatement.</li>
<li>In step 2, evaluate FHIR content as XML.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Consent subscription and notification</strong></p>
<p>This is a wide-open workflow that can be used as the base for many variations.</p>
<p><strong>Actors:</strong> Consent Client, CAS, Notification Endpoint, Tester</p>
<p><strong>Pre-condition:</strong> CAS has advertised its support for subscriptions in its CapabilityStatement. Consent Client has prepared its Notification Endpoint to receive notifications. There are no current subscriptions between this CAS and this Endpoint.</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Execute test case &quot;Create a Subscription - rest-hook&quot;.</li>
<li>Tester performs an action at the CAS that should trigger a notification for this Subscription. This may be a local action or an API action.</li>
<li>Execute test case &quot;Notify for a Subscription - rest-hook&quot;. The trigger is step 2 above. Additionally verify the notification as &quot;event-notification&quot;.</li>
<li>Client DELETEs the FASTSubscription at the CAS.</li>
<li>The CAS deletes the Subscription.</li>
<li>Verify the response is valid according to the linked requirements.</li>
<li>Tester performs an action at the CAS that should trigger a notification for the previous Subscription. This may be a local action or an API action.</li>
<li>Verify the CAS does not POST an &quot;event-notification&quot; R4 Topic-Based Subscription Notification Bundle to the Endpoint.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>Any Subscriptions created at the CAS have been deleted. Other changes at the CAS (new Consents, etc.) may or may not have been deleted.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Consent subscription and notification - FASTConsentPatientId</strong></p>
<p>This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.</p>
<p><strong>Test data:</strong> Data for 2 conformant FASTConsents for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Each Consent differs by where it identifies the patient: patient.identifier element or patient.extension additionalIdentifier.</p>
<ul>
<li>In step 1, Consent Client creates a Subscription at the CAS filtering only on FASTConsentPatientId, for the known patient in the test data.</li>
<li>Repeat steps 2-3 as follows:</li>
<li>In step 2, Tester creates each Consent at the CAS using this test data.</li>
<li>In step 3, verify notification for each per this subscription and trigger.</li>
<li>In step 2, Tester updates each Consent at the CAS.</li>
<li>In step 3, verify notification for each per this subscription and trigger.</li>
<li>In step 2, Tester deletes the Consent at the CAS.</li>
<li>In step 3, verify notification for each per this subscription and trigger.</li>
<li>Continue with steps 4-6.</li>
<li>Repeat steps 7-8 as follows:</li>
<li>In step 7, Tester creates each Consent at the CAS using this test data.</li>
<li>In step 7, Tester updates each Consent at the CAS.</li>
<li>In step 7, Tester deletes each Consent at the CAS.</li>
</ul>
<p><strong>Additional Post-condition:</strong></p>
<ul>
<li>Any Consents created at the CAS have been deleted.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Consent subscription and notification - FASTConsentOrganizationId</strong></p>
<p>This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.</p>
<p><strong>Test data:</strong> Data for 4 conformant FASTConsents for an existing organization known at the CAS. No existing Consents for this organization at the CAS. Each Consent differs by where it identifies the organization: the extensions grantee, manager, controller or the provision.actor.role.reference.</p>
<ul>
<li>In step 1, Consent Client creates a Subscription at the CAS filtering only on FASTConsentOrganizationId, for the known organization in the test data.</li>
<li>Repeat steps 2-3 as follows:</li>
<li>In step 2, Tester creates each Consent at the CAS using this test data.</li>
<li>In step 3, verify notification for each per this subscription and trigger.</li>
<li>In step 2, Tester updates each Consent at the CAS.</li>
<li>In step 3, verify notification for each per this subscription and trigger.</li>
<li>In step 2, Tester deletes the Consent at the CAS.</li>
<li>In step 3, verify notification for each per this subscription and trigger.</li>
<li>Continue with steps 4-6.</li>
<li>Repeat steps 7-8 as follows:</li>
<li>In step 7, Tester creates each Consent at the CAS using this test data.</li>
<li>In step 7, Tester updates each Consent at the CAS.</li>
<li>In step 7, Tester deletes each Consent at the CAS.</li>
</ul>
<p><strong>Additional Post-condition:</strong></p>
<ul>
<li>Any Consents created at the CAS have been deleted.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Consent subscription and notification - actor</strong></p>
<p>This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.</p>
<p><strong>Test data:</strong> Data for a conformant FASTConsent for an existing Consent actor (Consent.provision.actor.reference - see the actor search parameter) known at the CAS. No existing Consents for this actor at the CAS.</p>
<ul>
<li>In step 1, Consent Client creates a Subscription at the CAS filtering only on actor, for the known actor in the test data.</li>
<li>Repeat steps 2-3 as follows:</li>
<li>In step 2, Tester creates the Consent at the CAS using this test data.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester updates the Consent at the CAS.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester deletes the Consent at the CAS.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>Continue with steps 4-6.</li>
<li>Repeat steps 7-8 as follows:</li>
<li>In step 7, Tester creates the Consent at the CAS using this test data.</li>
<li>In step 7, Tester updates the Consent at the CAS.</li>
<li>In step 7, Tester deletes the Consent at the CAS.</li>
</ul>
<p><strong>Additional Post-condition:</strong></p>
<ul>
<li>Any Consents created at the CAS have been deleted.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Consent subscription and notification - status</strong></p>
<p>This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.</p>
<p><strong>Test data:</strong> Data for a conformant FASTConsent for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Note that it may not be possible for there to be no existing Consents having this status at the CAS, so there may be false positives the tester will need to examine.</p>
<ul>
<li>In step 1, Consent Client creates a Subscription at the CAS filtering only on status, for the known status in the test data.</li>
<li>Repeat steps 2-3 as follows:</li>
<li>In step 2, Tester creates the Consent at the CAS using this test data.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester updates the Consent at the CAS, changing a field other than status.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester updates the Consent at the CAS, changing the status field.</li>
<li>In step 3, status should not match, so no notification should occur.</li>
<li>In step 2, Tester updates the Consent at the CAS, changing the status field back to the matching value.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester deletes the Consent at the CAS.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>Continue with steps 4-6.</li>
<li>Repeat steps 7-8 as follows:</li>
<li>In step 7, Tester creates the Consent at the CAS using this test data.</li>
<li>In step 7, Tester updates the Consent at the CAS.</li>
<li>In step 7, Tester deletes the Consent at the CAS.</li>
</ul>
<p><strong>Additional Post-condition:</strong></p>
<ul>
<li>Any Consents created at the CAS have been deleted.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Consent subscription and notification - scope</strong></p>
<p>This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.</p>
<p><strong>Test data:</strong> Data for a conformant FASTConsent for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Note that it may not be possible for there to be no existing Consents having this scope at the CAS, so there may be false positives the tester will need to examine.</p>
<ul>
<li>In step 1, Consent Client creates a Subscription at the CAS filtering only on scope, for the known scope in the test data.</li>
<li>Repeat steps 2-3 as follows:</li>
<li>In step 2, Tester creates the Consent at the CAS using this test data.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester updates the Consent at the CAS, changing a field other than scope.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester updates the Consent at the CAS, changing the scope field.</li>
<li>In step 3, scope should not match, so no notification should occur.</li>
<li>In step 2, Tester updates the Consent at the CAS, changing the scope field back to the matching value.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester deletes the Consent at the CAS.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>Continue with steps 4-6.</li>
<li>Repeat steps 7-8 as follows:</li>
<li>In step 7, Tester creates the Consent at the CAS using this test data.</li>
<li>In step 7, Tester updates the Consent at the CAS.</li>
<li>In step 7, Tester deletes the Consent at the CAS.</li>
</ul>
<p><strong>Additional Post-condition:</strong></p>
<ul>
<li>Any Consents created at the CAS have been deleted.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Consent subscription and notification - no filters</strong></p>
<p>This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.</p>
<p><strong>Test data:</strong> Data for a conformant FASTConsent for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Note that it may not be possible for there to be no existing Consents at the CAS, so there may be false positives the tester will need to examine.</p>
<ul>
<li>In step 1, Consent Client creates a Subscription at the CAS with no filters.</li>
<li>Repeat steps 2-3 as follows:</li>
<li>In step 2, Tester creates the Consent at the CAS using this test data.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester updates the Consent at the CAS.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>In step 2, Tester deletes the Consent at the CAS.</li>
<li>In step 3, verify notification per this subscription and trigger.</li>
<li>Continue with steps 4-6.</li>
<li>Repeat steps 7-8 as follows:</li>
<li>In step 7, Tester creates the Consent at the CAS using this test data.</li>
<li>In step 7, Tester updates the Consent at the CAS.</li>
<li>In step 7, Tester deletes the Consent at the CAS.</li>
</ul>
<p><strong>Additional Post-condition:</strong></p>
<ul>
<li>Any Consents created at the CAS have been deleted.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Consent subscription and notification - all filters</strong></p>
<p>This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.</p>
<p>TBD - define background test data that:</p>
<ul>
<li>matches on all fields in the subscription</li>
<li>matches on all but one field in the subscription - do this for each field</li>
</ul>
<p><strong>Additional Post-condition:</strong></p>
<ul>
<li>Any Consents created at the CAS have been deleted.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Conditional</span></li><li><span title="Codes:">Alternate success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Workflow: Utilize Consent For Disclosure</strong></p>
<p>This is a wide-open workflow that can be used as the base for many variations.</p>
<p><strong>Actors:</strong> Data Consumer, Data Holder with Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> Data holder has PHI for a patient. CAS has a valid, active Consent associated with that patient. [The rest is undefined: Data Holder may already have the Consent and know it is managed at this particular CAS, Data Holder may not know about the Consent or the CAS and discover it at the time the disclosure is requested.]</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Data Holder is triggered to disclose PHI for the patient to the Data Consumer. This is unconstrained; it could be a request from the Consumer to the Holder, a push, etc.</li>
<li>Data Holder determines a Consent managed at the CAS affects this disclosure decision.</li>
<li>Optional: If needed, the Data Holder's Consent Client obtains the Consent from the CAS. This is unconstrained; it could be a read, search, etc. Execute the appropriate test cases.</li>
<li>Data Holder uses the Consent to make a determination to disclose. This is unconstrained; the determination could be based on multiple factors of which the Consent is only one part.</li>
<li>Data Holder discloses the PHI. This is the completion of whatever was started in step 1, e.g. a GET response.</li>
<li>Verify information was disclosed.</li>
<li>Data Holder's Consent Client records a disclosure at the CAS. Execute test case &quot;Operation: Record a Disclosure&quot;.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>The disclosure AuditEvent exists at the CAS.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Use Case: Sign and File Consent</strong></p>
<p><strong>Actors:</strong> Consenter, Consent Client, CAS</p>
<p><strong>Pre-condition:</strong> A consent form has been reviewed and completed (see use case <a href="https://build.fhir.org/ig/HL7/fhir-consent-management/usecases.html#review-consent">Review Consent</a>).</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>The consenter expresses their wish to sign and enact the consent [VERIFY: inspection]. The user experience provides a mechanism [VERIFY: inspection] to ensure the patient is making this decision in an informed way (and not by accident).</li>
<li>A proper user experience enables the consenter to sign the consent form [VERIFY: inspection].</li>
<li>Execute test case &quot;Operation: File a Consent&quot;.</li>
<li>The consenter can see the change in the status of the consent to become active [VERIFY: inspection].</li>
<li>The consenter can review the finalized consent [VERIFY: inspection] and download a human-readable or print-friendly copy [VERIFY: inspection].</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>A signed consent form is retained for future review. [Q: Is this optional based on whether QR or DR were passed in?]</li>
<li>A computable consent resource is extracted based on the finalized consent form and is stored in the consent store FHIR server.</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Provisional</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table><h2>Test Case</h2><h3>Test Plan Dependency:</h3><table class="grid"><tr><td><div><p><strong>Validate FHIR resources</strong></p>
<p>This is a base test case that will be added to all others.</p>
<p><strong>Actors:</strong> Any</p>
<p><strong>Pre-condition:</strong> None</p>
<p><strong>Narrative:</strong></p>
<ol>
<li>Test tool or manual evaluator captures any message under test.</li>
<li>Call the FHIR Validator on the top level resources in the message.</li>
</ol>
<p><strong>Post-condition:</strong></p>
<ul>
<li>None</li>
</ul>
</div></td></tr><tr><td/></tr></table><h3>Assertion</h3><table class="grid"><tr><td><b>Type</b></td><td><b>Content</b></td><td><b>Result</b></td></tr><tr><td><ul><li><span title="Codes:">Required</span></li><li><span title="Codes:">Basic success</span></li></ul></td><td>??</td><td>??</td></tr></table></div>
  </text>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="cbcc"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="1">
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical
                        value="http://hl7.org/fhir/us/consent-management-tg/ImplementationGuide/hl7.fhir.us.consent-management-tg"/>
      </extension>
    </valueInteger>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use">
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical
                        value="http://hl7.org/fhir/us/consent-management-tg/ImplementationGuide/hl7.fhir.us.consent-management-tg"/>
      </extension>
    </valueCode>
  </extension>
  <url
       value="http://hl7.org/fhir/us/consent-management-tg/TestPlan/fhir-consent-management-0.1.0-test-plan"/>
  <version value="0.1.0"/>
  <name value="fhir-consent-management-0.1.0-test-plan"/>
  <title value="Scalable Consent Management 0.1.0 Test Plan"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2025-10-15T14:24:16-04:00"/>
  <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="The Scalable Consent Management Testing Guide defines the testing artifacts used to verify and validate implementations declaring conformance to and against the Scalable Consent Management Implementation Guide."/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America"/>
    </coding>
  </jurisdiction>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-43"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-35"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-331"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-333"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-52"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-36"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-56"/>
    </extension>
    <sequence value="1"/>
    <dependency>
      <description
                   value="**Read a Consent**

**Actors:** Consent Client, CAS

**Pre-condition:** A Consent conforming to the FASTConsent profile exists at the CAS, and its ID is known.

**Narrative:**

1. Client sends a conformant [read](https://hl7.org/fhir/R4/http.html#read) to CAS using the known ID. This is unconstrained, e.g. the &quot;\_format&quot; parameter may be present.
2. Verify the request is valid according to the linked requirements.
3. \[No requirements yet, but something like this: CAS verifies the request is valid.\]
4. CAS returns a conformant response containing the resource.
5. Verify the response is valid according to the linked requirements, including that the Consent declares and conforms to the FASTConsent profile.

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-43"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-35"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-331"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-333"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-52"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-63"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-37"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-57"/>
    </extension>
    <sequence value="2"/>
    <dependency>
      <description
                   value="**Search for a Consent**

**Actors:** Consent Client, CAS

**Pre-condition:** At least one Consent conforming to the FASTConsent profile exists at the CAS, and details about it sufficient to search are known.

**Narrative:**

1. Client sends a conformant [search](https://hl7.org/fhir/R4/http.html#search) request to CAS using some combination of the search criteria required to be supported.
2. Verify the request is valid according to the linked requirements.
3. \[No requirements yet, but something like this: CAS verifies the request is valid.\]
4. CAS returns a conformant response containing the matching resource(s).
5. Verify the response is valid according to the linked requirements.
6. Verify that at least one Consent resource is returned, and that each returned Consent declares and conforms to the FASTConsent profile.

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-364"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-199"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-58"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-472"/>
    </extension>
    <sequence value="3"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentController - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentController details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentController criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-364"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-199"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-58"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-472"/>
    </extension>
    <sequence value="4"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentController - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentController details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentController criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-365"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-72"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-369"/>
    </extension>
    <sequence value="5"/>
    <dependency>
      <description
                   value="**Search for Consent by date - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** date details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the date criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-365"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-72"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-369"/>
    </extension>
    <sequence value="6"/>
    <dependency>
      <description
                   value="**Search for Consent by date - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** date details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the date criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-38"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-370"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-473"/>
    </extension>
    <sequence value="7"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentGrantee - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentGrantee details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentGrantee criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-38"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-370"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-473"/>
    </extension>
    <sequence value="8"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentGrantee - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentGrantee details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentGrantee criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-367"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-200"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-371"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-474"/>
    </extension>
    <sequence value="9"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentManager - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentManager details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentManager criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-367"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-200"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-371"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-474"/>
    </extension>
    <sequence value="10"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentManager - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentManager details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentManager criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-39"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-59"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-475"/>
    </extension>
    <sequence value="11"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentOrganizationId - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentOrganizationId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentOrganizationId criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-39"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-59"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-475"/>
    </extension>
    <sequence value="12"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentOrganizationId - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentOrganizationId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentOrganizationId criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-71"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-40"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-60"/>
    </extension>
    <sequence value="13"/>
    <dependency>
      <description
                   value="**Search for Consent by patient - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** patient details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the patient criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-71"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-40"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-60"/>
    </extension>
    <sequence value="14"/>
    <dependency>
      <description
                   value="**Search for Consent by patient - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** patient details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the patient criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-368"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-372"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-476"/>
    </extension>
    <sequence value="15"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentPatientId - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentPatientId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentPatientId criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-368"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-372"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-476"/>
    </extension>
    <sequence value="16"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsentPatientId - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** FASTConsentPatientId details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the FASTConsentPatientId criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-201"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-42"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-47"/>
    </extension>
    <sequence value="17"/>
    <dependency>
      <description
                   value="**Search for Consent by scope - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** scope details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the scope criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-201"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-42"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-47"/>
    </extension>
    <sequence value="18"/>
    <dependency>
      <description
                   value="**Search for Consent by scope - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** scope details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the scope criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-73"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-41"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-61"/>
    </extension>
    <sequence value="19"/>
    <dependency>
      <description
                   value="**Search for Consent by status - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** status details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the status criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-73"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-41"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-61"/>
    </extension>
    <sequence value="20"/>
    <dependency>
      <description
                   value="**Search for Consent by status - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** status details are known by which at least one Consent would match and at least one Consent would not match at the CAS.

- In step 1, the client includes the status criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-331"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-332"/>
    </extension>
    <sequence value="21"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsent profile - JSON**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** At least one Consent declaring the FASTConsent profile and at least one Consent not declaring it exist at the CAS.

- In step 1, the client includes the FASTConsent profile criteria and requests JSON.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-331"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-332"/>
    </extension>
    <sequence value="22"/>
    <dependency>
      <description
                   value="**Search for Consent by FASTConsent profile - XML**

This test case extends test case &quot;Search for a Consent&quot;.

**Pre-condition:** At least one Consent declaring the FASTConsent profile and at least one Consent not declaring it exist at the CAS.

- In step 1, the client includes the FASTConsent profile criteria and requests XML.
- In step 6, verify that only matching Consent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-661"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-397"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-398"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-399"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-401"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-402"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-404"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-405"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-513"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-514"/>
    </extension>
    <sequence value="23"/>
    <dependency>
      <description
                   value="**Read an AuditEvent**

**Actors:** Consent Client, CAS

**Pre-condition:** An AuditEvent conforming to the FASTConsentAuditEvent profile exists at the CAS, and its ID is known.

**Narrative:**

1. Client sends a conformant [read](https://hl7.org/fhir/R4/http.html#read) to CAS using the known ID. This is unconstrained, e.g. the &quot;\_format&quot; parameter may be present.
2. Verify the request is valid according to the linked requirements.
3. \[No requirements yet, but something like this: CAS verifies the request is valid.\]
4. CAS returns a conformant response containing the resource.
5. Verify the response is valid according to the linked requirements, including that the AuditEvent declares and conforms to the FASTConsentAuditEvent profile.

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-661"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-397"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-398"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-399"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-401"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-402"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-407"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-406"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-408"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-513"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-514"/>
    </extension>
    <sequence value="24"/>
    <dependency>
      <description
                   value="**Search for** **an AuditEvent**

**Actors:** Consent Client, CAS

**Pre-condition:** At least one AuditEvent conforming to the FASTConsentAuditEvent profile exists at the CAS, and details about it sufficient to search are known.

**Narrative:**

1. Client sends a conformant [search](https://hl7.org/fhir/R4/http.html#search) request to CAS using some combination of the search criteria required to be supported.
2. Verify the request is valid according to the linked requirements.
3. \[No requirements yet, but something like this: CAS verifies the request is valid.\]
4. CAS returns a conformant response containing the matching resource(s).
5. Verify the response is valid according to the linked requirements.
6. Verify that at least one AuditEvent resource is returned, and that each returned AuditEvent declares and conforms to the FASTConsentAuditEvent profile.

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-266"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-409"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-267"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-411"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-471"/>
    </extension>
    <sequence value="25"/>
    <dependency>
      <description
                   value="**Search for AuditEvent by FASTAuditEventConsent - JSON**

This test case extends test case &quot;Search for an AuditEvent&quot;.

**Pre-condition:** FASTAuditEventConsent details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.

- In step 1, the client includes the FASTAuditEventConsent criteria and requests JSON.
- In step 6, verify that only matching AuditEvent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-266"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-409"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-267"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-411"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-search-parameters-client-admin-service.html#requirement-471"/>
    </extension>
    <sequence value="26"/>
    <dependency>
      <description
                   value="**Search for** **AuditEvent by FASTAuditEventConsent - XML**

This test case extends test case &quot;Search for an AuditEvent&quot;.

**Pre-condition:** FASTAuditEventConsent details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.

- In step 1, the client includes the FASTAuditEventConsent criteria and requests XML.
- In step 6, verify that only matching AuditEvent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-298"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-412"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-299"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-414"/>
    </extension>
    <sequence value="27"/>
    <dependency>
      <description
                   value="**Search for AuditEvent by patient - JSON**

This test case extends test case &quot;Search for an AuditEvent&quot;.

**Pre-condition:** patient details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.

- In step 1, the client includes the patient criteria and requests JSON.
- In step 6, verify that only matching AuditEvent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-298"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-412"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-299"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-414"/>
    </extension>
    <sequence value="28"/>
    <dependency>
      <description
                   value="**Search for** **AuditEvent by patient - XML**

This test case extends test case &quot;Search for an AuditEvent&quot;.

**Pre-condition:** patient details are known by which at least one AuditEvent would match and at least one AuditEvent would not match at the CAS.

- In step 1, the client includes the patient criteria and requests XML.
- In step 6, verify that only matching AuditEvent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-399"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-400"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-514"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-515"/>
    </extension>
    <sequence value="29"/>
    <dependency>
      <description
                   value="**Search for AuditEvent by FASTConsentAuditEvent profile - JSON**

This test case extends test case &quot;Search for an AuditEvent&quot;.

**Pre-condition:** At least one AuditEvent declaring the FASTConsentAuditEvent profile and at least one AuditEvent not declaring it exist at the CAS.

- In step 1, the client includes the FASTConsentAuditEvent profile criteria and requests JSON.
- In step 6, verify that only matching AuditEvent resources are returned.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-399"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-400"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-514"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-515"/>
    </extension>
    <sequence value="30"/>
    <dependency>
      <description
                   value="**Search for AuditEvent by FASTConsentAuditEvent profile - XML**

This test case extends test case &quot;Search for an AuditEvent&quot;.

**Pre-condition:** At least one AuditEvent declaring the FASTConsentAuditEvent profile and at least one AuditEvent not declaring it exist at the CAS.

- In step 1, the client includes the FASTConsentAuditEvent profile criteria and requests XML.
- In step 6, verify that only matching AuditEvent resources are returned.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-64"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-377"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-381"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-496"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-505"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-components-admin-service.html#requirement-565"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-567"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-513"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-517"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-514"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client-admin-service.html#requirement-537"/>
    </extension>
    <sequence value="31"/>
    <dependency>
      <description
                   value="**Read a Subscription**

**Actors:** Consent Client, CAS

**Pre-condition:** A Subscription \[optionally conforming to the FASTSubscription profile\] exists at the CAS, and its ID is known.

**Narrative:**

1. Client sends a conformant [read](https://hl7.org/fhir/R4/http.html#read) to CAS using the known ID. This is unconstrained, e.g. the &quot;\_format&quot; parameter may be present.
2. Verify the request is valid according to the linked requirements.
3. \[No requirements yet, but something like this: CAS verifies the request is valid.\]
4. CAS returns a conformant response containing the resource.
5. Verify the response is valid according to the linked requirements \[note no rqmt that the Subscription declares and conforms to the FASTSubscription profile\].

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-64"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-377"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-381"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-265"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-378"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-382"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-497"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-503"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-499"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-500"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-501"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-components-client.html#requirement-512"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client.html#requirement-566"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-513"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-517"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-506"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-529"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client.html#requirement-532"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-533"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client.html#requirement-536"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client.html#requirement-564"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client-admin-service.html#requirement-537"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-538"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client.html#requirement-540"/>
    </extension>
    <sequence value="32"/>
    <dependency>
      <description
                   value="**Workflow: Create a subscription - rest-hook**

This is a wide-open workflow that can be used as the base for many variations.

**Actors:** Consent Client, CAS, Notification Endpoint

**Pre-condition:** CAS has advertised its support for subscriptions in its CapabilityStatement. Consent Client has prepared its Notification Endpoint to receive notifications.

**Narrative:**

1. Optional: Consent Client discovers subscription support at the CAS. Execute test case &quot;Obtain server CapabilityStatement&quot;.
2. Client POSTs a conformant Subscription to the CAS. \[note no requirement for it to be FASTSubscription\]
3. Verify the request is valid according to the linked requirements.
4. CAS verifies the request is valid.
5. CAS returns a conformant response indicating the new Subscription location and optionally the resource in the body.
6. Verify the response is valid according to the linked requirements.
7. Optional: CAS sends a handshake. Execute test case &quot;Notify for a Subscription - rest-hook&quot;. The trigger in step 1 is the creation of the Subscription. Verify the notification as &quot;handshake&quot;.
8. Optional: Consent Client GETs the new Subscription to confirm it is active. Execute test case &quot;Read a Subscription&quot;.
9. Optional: Consent Client executes $status against the new Subscription to confirm it is active. Execute test case &quot;Operation: Get Subscription Status&quot;.

**Post-condition:**

- The new Subscription exists at the CAS."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-503"/>
    </extension>
    <sequence value="33"/>
    <dependency>
      <description
                   value="**Workflow: Create a subscription - rest-hook PUT**

This test case extends test case &quot;Workflow: Create a subscription - rest-hook&quot;.

- In step 2, Consent Client PUTs a conformant Subscription to the CAS.
- In step 3, verify the resource id passed in was used."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-68"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-507"/>
    </extension>
    <sequence value="34"/>
    <dependency>
      <description
                   value="**Error: Create a Subscription - rest-hook - unsupported backport-channel-type**

**Actors:** Consent Client, CAS

**Pre-condition:** None

**Narrative:**

1. Consent Client POSTs a Subscription to the CAS using the backport-channel-type extension with a nonsense value.
2. CAS returns a conformant response indicating the Subscription request was rejected.
3. Verify the response is valid according to the linked requirements.

**Post-condition:** The Subscription has not been created at the CAS."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Error"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-68"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-531"/>
    </extension>
    <sequence value="35"/>
    <dependency>
      <description
                   value="**Error: Create a Subscription - rest-hook - unsupported filter**

**Actors:** Consent Client, CAS

**Pre-condition:** None

**Narrative:**

1. Consent Client POSTs a Subscription to the CAS using a filter with a nonsense value.
2. CAS returns a conformant response indicating the Subscription request was rejected.
3. Verify the response is valid according to the linked requirements.

**Post-condition:** The Subscription has not been created at the CAS."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Error"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-535"/>
    </extension>
    <sequence value="36"/>
    <dependency>
      <description
                   value="**Error: Create a Subscription - rest-hook - unsupported content level**

**Actors:** Consent Client, CAS

**Pre-condition:** None

**Narrative:**

1. Consent Client POSTs a Subscription to the CAS using a content level the server does not support.
2. CAS returns a conformant response indicating the Subscription request was rejected.
3. Verify the response is valid according to the linked requirements.

**Post-condition:** The Subscription has not been created at the CAS."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Error"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-539"/>
    </extension>
    <sequence value="37"/>
    <dependency>
      <description
                   value="**Error: Create a Subscription - rest-hook - unsupported topic**

**Actors:** Consent Client, CAS

**Pre-condition:** None

**Narrative:**

1. Consent Client POSTs a Subscription to the CAS using a nonsense topic.
2. CAS returns a conformant response indicating the Subscription request was rejected.
3. Verify the response is valid according to the linked requirements.

**Post-condition:** The Subscription has not been created at the CAS."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Error"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-379"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-383"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-509"/>
    </extension>
    <sequence value="38"/>
    <dependency>
      <description
                   value="**Workflow: Update a Subscription - rest-hook**

This is a wide-open workflow that can be used as the base for many variations.

**Actors:** Consent Client, CAS, Notification Endpoint

**Pre-condition:** Consent Client has an existing Subscription at the CAS.

**Narrative:**

1. Client PUTs an updated, conformant Subscription to the CAS. \[note no requirement for it to be FASTSubscription\]
2. Verify the request is valid according to the linked requirements.
3. CAS verifies the request is valid.
4. CAS returns a conformant response indicating the new Subscription location and optionally the resource in the body.
5. Verify the response is valid according to the linked requirements.
6. Optional: CAS sends a handshake. Execute test case &quot;Notify for a Subscription - rest-hook channel&quot;. The trigger in step 1 is the creation of the Subscription. Verify the notification as &quot;handshake&quot;.
7. Optional: Consent Client GETs the new Subscription to confirm it is active. Execute test case &quot;Read a Subscription&quot;.
8. Optional: Consent Client executes $status against the new Subscription to confirm it is active. Execute test case &quot;Operation: Get Subscription Status&quot;.

**Post-condition:**

- The updated Subscription exists at the CAS."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-509"/>
    </extension>
    <sequence value="39"/>
    <dependency>
      <description
                   value="**Workflow: Update a Subscription - rest-hook PATCH**

This test case extends test case &quot;Workflow: Update a Subscription - rest-hook&quot;.

- In step 1, Consent Client PATCHs an updated, conformant Subscription to the CAS.
- At the end of the test case, verify the resource was updated appropriately."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-331"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-64"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-377"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-381"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-265"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-500"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-501"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-components-admin-service.html#requirement-565"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-567"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-513"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-517"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-514"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-506"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-529"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-530"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-534"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client-admin-service.html#requirement-562"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-563"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client.html#requirement-564"/>
    </extension>
    <sequence value="40"/>
    <dependency>
      <description
                   value="**Workflow: Notify for a Subscription** **- rest-hook**

This is a wide-open workflow that can be used as the base for many variations. Each variation needs to specify what the trigger in step 1 is.

**Actors:** Consent Client, CAS, Notification Endpoint

**Pre-condition:** Consent Client has successfully made a Subscription at the CAS, with the rest-hook channel type.

**Narrative:**

1. An actor performs an action at the CAS that should trigger a notification for this Subscription.
2. CAS POSTs a conformant R4 Topic-Based Subscription Notification Bundle to the Consent Client's Notification Endpoint.
3. Verify the notification is valid according to the linked requirements.
4. The Consent Client verifies the notification and returns a valid 200 response.
5. Verify the response.
6. Optional: Consent Client GETs a new or modified Consent. Execute test case &quot;Read a Consent&quot;.

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-498"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-508"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-client.html#requirement-564"/>
    </extension>
    <sequence value="41"/>
    <dependency>
      <description
                   value="**Operation: Get Subscription Status**

**Actors:** Consent Client, CAS

**Pre-condition:** None

**Narrative:**

1. Client POSTs to CAS: \[base\]/Subscription/$status.
2. Verify input parameters are valid according to linked requirements.
3. CAS returns a response.
4. Verify response is valid according to linked requirements.

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-35"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-52"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-334"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-62"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-46"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-53"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-463"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-133"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-134"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-135"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-166"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-168"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-464"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-70"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-430"/>
    </extension>
    <sequence value="42"/>
    <dependency>
      <description
                   value="**Operation: File a Consent**

**Actors:** Consent Client, CAS

**Pre-condition:** None

**Narrative:**

1. Client POSTs to CAS: \[base\]/Consent/$fileConsent \[unconstrained, e.g. the &quot;document&quot; parameter may be either flavor\].
2. Verify input parameters are valid according to linked requirements.
3. \[No requirements yet, but something like this: CAS verifies inputs, generates and persists the Consent and related resources. CAS may retain external references (e.g. to Patient), or replace with references to new or matched existing resources.\]
4. CAS returns a response.
5. Verify response is valid according to linked requirements.

**Post-condition:**

- \[No requirements yet, but something like this: The Consent and related resources are persisted and available at the CAS.\]"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-35"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-52"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-334"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-101"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-374"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-376"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-466"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-438"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-439"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-440"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-447"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-442"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-444"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-469"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-441"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-448"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-443"/>
    </extension>
    <sequence value="43"/>
    <dependency>
      <description
                   value="**Operation: Revoke a Consent**

**Actors:** Consent Client, CAS

**Pre-condition:** None

**Narrative:**

1. Client POSTs to CAS: \[base\]/Consent/$revokeConsent \[unconstrained, e.g. the &quot;document&quot; parameter may be either flavor\].
2. Verify input parameters are valid according to linked requirements.
3. \[No requirements yet, but something like this: CAS verifies inputs, persists the revoked Consent and related resources. CAS may retain external references (e.g. to Patient), or replace with references to new or matched existing resources.\]
4. CAS returns a response.
5. Verify response is valid according to linked requirements.

**Post-condition:**

- \[No requirements yet, but something like this: The revoked Consent and related resources are persisted and available at the CAS.\]"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-52"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-334"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-415"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-416"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-398"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-402"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-403"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-467"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-445"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-446"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-451"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-449"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-extended-operations-client-admin-service.html#requirement-453"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-470"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-452"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-450"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-513"/>
    </extension>
    <sequence value="44"/>
    <dependency>
      <description
                   value="**Operation: Record a Disclosure**

**Actors:** Consent Client, CAS

**Pre-condition:** None

**Narrative:**

1. Client POSTs to CAS: \[base\]/AuditEvent/$recordDisclosure \[unconstrained\].
2. Verify input parameters are valid according to linked requirements.
3. \[No requirements yet, but something like this: CAS verifies inputs, generates and persists the AuditEvent and related resources. CAS may retain external references (e.g. to Patient), or replace with references to new or matched existing resources.\]
4. CAS returns a response.
5. Verify response is valid according to linked requirements.

**Post-condition:**

- \[No requirements yet, but something like this: The AuditEvent and related resources are persisted and available at the CAS.\]"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-69"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-1"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-43"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-35"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-36"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-37"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-199"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-72"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-38"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-200"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-39"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-40"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-368"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-42"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-41"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-46"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-374"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-377"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-378"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-379"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-380"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-415"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-397"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-398"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-404"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-406"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-409"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-412"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-509"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-511"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-602"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-604"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-694"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-499"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-504"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-513"/>
    </extension>
    <sequence value="45"/>
    <dependency>
      <description
                   value="**Obtain server CapabilityStatement**

**Actors:** Consent client, CAS

**Pre-condition:** None

**Narrative:**

1. Client sends a metadata request to the CAS, requesting the FHIR 4.0 CS by using the fhirVersion Accept header.
2. Verify the request is valid according to the linked requirements.
3. \[No requirements yet, but something like this: CAS verifies the request is valid.\]
4. CAS returns a conformant response containing the system CapabilityStatement.
5. Verify the response is valid according to the linked requirements.
6. Verify the CapabilityStatement includes the normative aspects defined in the ConsentAdministrativeServer CapabilityStatement. Additional aspects are permitted but will not be evaluated.

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-2"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-49"/>
    </extension>
    <sequence value="46"/>
    <dependency>
      <description
                   value="**Obtain server CapabilityStatement - JSON**

This test case extends test case &quot;Obtain server CapabilityStatement&quot;.

- In step 1, the client requests JSON.
- In step 5, verify the CapabilityStatement is JSON.
- In all steps, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-34"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-50"/>
    </extension>
    <sequence value="47"/>
    <dependency>
      <description
                   value="**Obtain server CapabilityStatement - XML**

This test case extends test case &quot;Obtain server CapabilityStatement&quot;.

- In step 1, the client requests XML.
- In step 5, verify the CapabilityStatement is XML.
- In all steps, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <sequence value="48"/>
    <dependency>
      <description
                   value="**Obtain and handle conformant variations of server CapabilityStatement**

This tests the ability of a client to handle legal variants of CSs.

**Actors:** Consent Client, Simulated CAS

**Pre-condition:** None

**Narrative:**

1. Client sends a metadata request to the CAS. \[unconstrained; may or may not use the fhirVersion Accept header\]
2. Verify the request is valid according to the linked requirements.
3. \[No requirements yet, but something like this: CAS verifies the request is valid.\]
4. CAS returns a conformant response containing the system CapabilityStatement.
5. Verify the response is valid according to the linked requirements.
6. Verify the CapabilityStatement includes the normative aspects defined in the ConsentAdministrativeServer CapabilityStatement. Additional aspects are permitted but will not be evaluated.

**Post-condition:**

- The client should be able to communicate with this server per the workflows in this IG."/>
    </dependency>
    <assertion>
      <type>
        <text value="Provisional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <sequence value="49"/>
    <dependency>
      <description
                   value="**Obtain and handle STU3 version server CapabilityStatement**

This tests the ability of a client to handle an STU3 CS.

**Actors:** Consent Client, Simulated CAS

**Pre-condition:** None

**Narrative:**

1. Client sends a metadata request to the CAS without the fhirVersion Accept header.
2. Verify the request is valid according to the linked requirements.
3. CAS returns a conformant response containing an STU3 system CapabilityStatement.
4. Verify the client detects the version mismatch and resolves somehow, e.g. notifies the user, retries the request including the fhirVersion Accept header, etc.

**Post-condition:**

- None (yet)"/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-48"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-333"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-52"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-56"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-57"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-58"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-369"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-370"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-371"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-59"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-60"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-372"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-47"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-61"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-53"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-376"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-381"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-382"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-383"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-384"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-416"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-401"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-402"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-405"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-408"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-411"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-414"/>
    </extension>
    <sequence value="50"/>
    <dependency>
      <description
                   value="**Test client CapabilityStatement**

**Actors:** Consent client

**Pre-condition:** None

**Narrative:**

1. Obtain the client CapabilityStatement.
2. Verify the CapabilityStatement includes the normative aspects defined in the ConsentClient CapabilityStatement. Additional aspects are permitted but will not be evaluated.

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-49"/>
    </extension>
    <sequence value="51"/>
    <dependency>
      <description
                   value="**Test client CapabilityStatement - JSON**

This test case extends test case &quot;Test client CapabilityStatement&quot;.

- In step 1, obtain the JSON CapabilityStatement.
- In step 2, evaluate FHIR content as JSON."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-50"/>
    </extension>
    <sequence value="52"/>
    <dependency>
      <description
                   value="**Test client CapabilityStatement - XML**

This test case extends test case &quot;Test client CapabilityStatement&quot;.

- In step 1, obtain the XML CapabilityStatement.
- In step 2, evaluate FHIR content as XML."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-64"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-377"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-381"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-202"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-265"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-380"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-384"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-510"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-500"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-501"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-513"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-517"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-534"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-workflow-client-admin-service.html#requirement-541"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-admin-service.html#requirement-600"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-admin-service.html#requirement-606"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-admin-service.html#requirement-607"/>
    </extension>
    <sequence value="53"/>
    <dependency>
      <description
                   value="**Workflow: Consent subscription and notification**

This is a wide-open workflow that can be used as the base for many variations.

**Actors:** Consent Client, CAS, Notification Endpoint, Tester

**Pre-condition:** CAS has advertised its support for subscriptions in its CapabilityStatement. Consent Client has prepared its Notification Endpoint to receive notifications. There are no current subscriptions between this CAS and this Endpoint.

**Narrative:**

1. Execute test case &quot;Create a Subscription - rest-hook&quot;.
2. Tester performs an action at the CAS that should trigger a notification for this Subscription. This may be a local action or an API action.
3. Execute test case &quot;Notify for a Subscription - rest-hook&quot;. The trigger is step 2 above. Additionally verify the notification as &quot;event-notification&quot;.
4. Client DELETEs the FASTSubscription at the CAS.
5. The CAS deletes the Subscription.
6. Verify the response is valid according to the linked requirements.
7. Tester performs an action at the CAS that should trigger a notification for the previous Subscription. This may be a local action or an API action.
8. Verify the CAS does not POST an &quot;event-notification&quot; R4 Topic-Based Subscription Notification Bundle to the Endpoint.

**Post-condition:**

- Any Subscriptions created at the CAS have been deleted. Other changes at the CAS (new Consents, etc.) may or may not have been deleted."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-admin-service.html#requirement-603"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-client.html#requirement-635"/>
    </extension>
    <sequence value="54"/>
    <dependency>
      <description
                   value="**Workflow: Consent subscription and notification - FASTConsentPatientId**

This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.

**Test data:** Data for 2 conformant FASTConsents for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Each Consent differs by where it identifies the patient: patient.identifier element or patient.extension additionalIdentifier.

- In step 1, Consent Client creates a Subscription at the CAS filtering only on FASTConsentPatientId, for the known patient in the test data.
- Repeat steps 2-3 as follows:
- In step 2, Tester creates each Consent at the CAS using this test data.
- In step 3, verify notification for each per this subscription and trigger.
- In step 2, Tester updates each Consent at the CAS.
- In step 3, verify notification for each per this subscription and trigger.
- In step 2, Tester deletes the Consent at the CAS.
- In step 3, verify notification for each per this subscription and trigger.
- Continue with steps 4-6.
- Repeat steps 7-8 as follows:
- In step 7, Tester creates each Consent at the CAS using this test data.
- In step 7, Tester updates each Consent at the CAS.
- In step 7, Tester deletes each Consent at the CAS.

**Additional Post-condition:**

- Any Consents created at the CAS have been deleted."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-admin-service.html#requirement-628"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-client.html#requirement-636"/>
    </extension>
    <sequence value="55"/>
    <dependency>
      <description
                   value="**Workflow: Consent subscription and notification - FASTConsentOrganizationId**

This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.

**Test data:** Data for 4 conformant FASTConsents for an existing organization known at the CAS. No existing Consents for this organization at the CAS. Each Consent differs by where it identifies the organization: the extensions grantee, manager, controller or the provision.actor.role.reference.

- In step 1, Consent Client creates a Subscription at the CAS filtering only on FASTConsentOrganizationId, for the known organization in the test data.
- Repeat steps 2-3 as follows:
- In step 2, Tester creates each Consent at the CAS using this test data.
- In step 3, verify notification for each per this subscription and trigger.
- In step 2, Tester updates each Consent at the CAS.
- In step 3, verify notification for each per this subscription and trigger.
- In step 2, Tester deletes the Consent at the CAS.
- In step 3, verify notification for each per this subscription and trigger.
- Continue with steps 4-6.
- Repeat steps 7-8 as follows:
- In step 7, Tester creates each Consent at the CAS using this test data.
- In step 7, Tester updates each Consent at the CAS.
- In step 7, Tester deletes each Consent at the CAS.

**Additional Post-condition:**

- Any Consents created at the CAS have been deleted."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-admin-service.html#requirement-629"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-client.html#requirement-637"/>
    </extension>
    <sequence value="56"/>
    <dependency>
      <description
                   value="**Workflow: Consent subscription and notification - actor**

This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.

**Test data:** Data for a conformant FASTConsent for an existing Consent actor (Consent.provision.actor.reference - see the actor search parameter) known at the CAS. No existing Consents for this actor at the CAS.

- In step 1, Consent Client creates a Subscription at the CAS filtering only on actor, for the known actor in the test data.
- Repeat steps 2-3 as follows:
- In step 2, Tester creates the Consent at the CAS using this test data.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester updates the Consent at the CAS.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester deletes the Consent at the CAS.
- In step 3, verify notification per this subscription and trigger.
- Continue with steps 4-6.
- Repeat steps 7-8 as follows:
- In step 7, Tester creates the Consent at the CAS using this test data.
- In step 7, Tester updates the Consent at the CAS.
- In step 7, Tester deletes the Consent at the CAS.

**Additional Post-condition:**

- Any Consents created at the CAS have been deleted."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-admin-service.html#requirement-630"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-client.html#requirement-638"/>
    </extension>
    <sequence value="57"/>
    <dependency>
      <description
                   value="**Workflow: Consent subscription and notification - status**

This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.

**Test data:** Data for a conformant FASTConsent for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Note that it may not be possible for there to be no existing Consents having this status at the CAS, so there may be false positives the tester will need to examine.

- In step 1, Consent Client creates a Subscription at the CAS filtering only on status, for the known status in the test data.
- Repeat steps 2-3 as follows:
- In step 2, Tester creates the Consent at the CAS using this test data.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester updates the Consent at the CAS, changing a field other than status.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester updates the Consent at the CAS, changing the status field.
- In step 3, status should not match, so no notification should occur.
- In step 2, Tester updates the Consent at the CAS, changing the status field back to the matching value.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester deletes the Consent at the CAS.
- In step 3, verify notification per this subscription and trigger.
- Continue with steps 4-6.
- Repeat steps 7-8 as follows:
- In step 7, Tester creates the Consent at the CAS using this test data.
- In step 7, Tester updates the Consent at the CAS.
- In step 7, Tester deletes the Consent at the CAS.

**Additional Post-condition:**

- Any Consents created at the CAS have been deleted."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-admin-service.html#requirement-631"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-client.html#requirement-639"/>
    </extension>
    <sequence value="58"/>
    <dependency>
      <description
                   value="**Workflow: Consent subscription and notification - scope**

This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.

**Test data:** Data for a conformant FASTConsent for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Note that it may not be possible for there to be no existing Consents having this scope at the CAS, so there may be false positives the tester will need to examine.

- In step 1, Consent Client creates a Subscription at the CAS filtering only on scope, for the known scope in the test data.
- Repeat steps 2-3 as follows:
- In step 2, Tester creates the Consent at the CAS using this test data.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester updates the Consent at the CAS, changing a field other than scope.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester updates the Consent at the CAS, changing the scope field.
- In step 3, scope should not match, so no notification should occur.
- In step 2, Tester updates the Consent at the CAS, changing the scope field back to the matching value.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester deletes the Consent at the CAS.
- In step 3, verify notification per this subscription and trigger.
- Continue with steps 4-6.
- Repeat steps 7-8 as follows:
- In step 7, Tester creates the Consent at the CAS using this test data.
- In step 7, Tester updates the Consent at the CAS.
- In step 7, Tester deletes the Consent at the CAS.

**Additional Post-condition:**

- Any Consents created at the CAS have been deleted."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-admin-service.html#requirement-64"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-377"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-381"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-202"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-265"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-380"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-client.html#requirement-384"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-510"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-500"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-501"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-513"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-517"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-conformance-admin-service.html#requirement-534"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-workflow-client-admin-service.html#requirement-541"/>
    </extension>
    <sequence value="59"/>
    <dependency>
      <description
                   value="**Workflow: Consent subscription and notification - no filters**

This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.

**Test data:** Data for a conformant FASTConsent for an existing patient known at the CAS. No existing Consents for this patient at the CAS. Note that it may not be possible for there to be no existing Consents at the CAS, so there may be false positives the tester will need to examine.

- In step 1, Consent Client creates a Subscription at the CAS with no filters.
- Repeat steps 2-3 as follows:
- In step 2, Tester creates the Consent at the CAS using this test data.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester updates the Consent at the CAS.
- In step 3, verify notification per this subscription and trigger.
- In step 2, Tester deletes the Consent at the CAS.
- In step 3, verify notification per this subscription and trigger.
- Continue with steps 4-6.
- Repeat steps 7-8 as follows:
- In step 7, Tester creates the Consent at the CAS using this test data.
- In step 7, Tester updates the Consent at the CAS.
- In step 7, Tester deletes the Consent at the CAS.

**Additional Post-condition:**

- Any Consents created at the CAS have been deleted."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-admin-service.html#requirement-632"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-client.html#requirement-640"/>
    </extension>
    <sequence value="60"/>
    <dependency>
      <description
                   value="**Workflow: Consent subscription and notification - all filters**

This test case extends test case &quot;Workflow: Consent subscription and notification&quot;.

TBD - define background test data that:

- matches on all fields in the subscription
- matches on all but one field in the subscription - do this for each field

**Additional Post-condition:**

- Any Consents created at the CAS have been deleted."/>
    </dependency>
    <assertion>
      <type>
        <text value="Conditional"/>
      </type>
      <type>
        <text value="Alternate success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-capstmt-admin-service.html#requirement-331"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-technical-specification-client.html#requirement-167"/>
    </extension>
    <sequence value="61"/>
    <dependency>
      <description
                   value="**Workflow: Utilize Consent For Disclosure**

This is a wide-open workflow that can be used as the base for many variations.

**Actors:** Data Consumer, Data Holder with Consent Client, CAS

**Pre-condition:** Data holder has PHI for a patient. CAS has a valid, active Consent associated with that patient. \[The rest is undefined: Data Holder may already have the Consent and know it is managed at this particular CAS, Data Holder may not know about the Consent or the CAS and discover it at the time the disclosure is requested.\]

**Narrative:**

1. Data Holder is triggered to disclose PHI for the patient to the Data Consumer. This is unconstrained; it could be a request from the Consumer to the Holder, a push, etc.
2. Data Holder determines a Consent managed at the CAS affects this disclosure decision.
3. Optional: If needed, the Data Holder's Consent Client obtains the Consent from the CAS. This is unconstrained; it could be a read, search, etc. Execute the appropriate test cases.
4. Data Holder uses the Consent to make a determination to disclose. This is unconstrained; the determination could be based on multiple factors of which the Consent is only one part.
5. Data Holder discloses the PHI. This is the completion of whatever was started in step 1, e.g. a GET response.
6. Verify information was disclosed.
7. Data Holder's Consent Client records a disclosure at the CAS. Execute test case &quot;Operation: Record a Disclosure&quot;.

**Post-condition:**

- The disclosure AuditEvent exists at the CAS."/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <sequence value="62"/>
    <dependency>
      <description
                   value="**Use Case: Sign and File Consent**

**Actors:** Consenter, Consent Client, CAS

**Pre-condition:** A consent form has been reviewed and completed (see use case [Review Consent](https://build.fhir.org/ig/HL7/fhir-consent-management/usecases.html#review-consent)).

**Narrative:**

1. The consenter expresses their wish to sign and enact the consent \[VERIFY: inspection\]. The user experience provides a mechanism \[VERIFY: inspection\] to ensure the patient is making this decision in an informed way (and not by accident).
2. A proper user experience enables the consenter to sign the consent form \[VERIFY: inspection\].
3. Execute test case &quot;Operation: File a Consent&quot;.
4. The consenter can see the change in the status of the consent to become active \[VERIFY: inspection\].
5. The consenter can review the finalized consent \[VERIFY: inspection\] and download a human-readable or print-friendly copy \[VERIFY: inspection\].

**Post-condition:**

- A signed consent form is retained for future review. \[Q: Is this optional based on whether QR or DR were passed in?\]
- A computable consent resource is extracted based on the finalized consent form and is stored in the consent store FHIR server."/>
    </dependency>
    <assertion>
      <type>
        <text value="Provisional"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
  <testCase>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-477"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-595"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-597"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-599"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-601"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-structure-definitions-client-admin-service.html#requirement-598"/>
    </extension>
    <extension url="http://hl7.org/fhir/StructureDefinition/narrativeLink">
      <valueUrl
                value="https://build.fhir.org/ig/HL7/fhir-consent-management/Requirements-subscriptiontopic-fastconsentsubscriptiontopic-client-admin-ser.html#requirement-596"/>
    </extension>
    <sequence value="63"/>
    <dependency>
      <description
                   value="**Validate FHIR resources**

This is a base test case that will be added to all others.

**Actors:** Any

**Pre-condition:** None

**Narrative:**

1. Test tool or manual evaluator captures any message under test.
2. Call the FHIR Validator on the top level resources in the message.

**Post-condition:**

- None"/>
    </dependency>
    <assertion>
      <type>
        <text value="Required"/>
      </type>
      <type>
        <text value="Basic success"/>
      </type>
    </assertion>
  </testCase>
</TestPlan>