Scalable Consent Management Testing Guide - Local Development build (v1.0.0-ballot) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Page standards status: Trial-use | Maturity Level: 1 |
@prefix fhir: <http://hl7.org/fhir/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . # - resource ------------------------------------------------------------------- a fhir:TestScript ; fhir:nodeRole fhir:treeRoot ; fhir:id [ fhir:v "01-Operation-File-a-Consent"] ; # fhir:meta [ ( fhir:profile [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript> ] ) ] ; # fhir:text [ fhir:status [ fhir:v "extensions" ] ; fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: TestScript 01-Operation-File-a-Consent</b></p><a name=\"01-Operation-File-a-Consent\"> </a><a name=\"hc01-Operation-File-a-Consent\"> </a><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\"/><p style=\"margin-bottom: 0px\">Profile: <a href=\"file://D:\\GitHub\\Touchstone\\testing-ig\\output/StructureDefinition-testscript.html\">AEGIS Touchstone Testing TestScript Profile</a></p></div><blockquote><p><b>AEGIS Touchstone Testing TestScript Rule Extension</b></p><ul><li>ruleId: GetVariable-FhirPath</li><li>path: /FHIRCommon/_reference/rule/GetVariable-FhirPath.groovy</li></ul></blockquote><blockquote><p><b>AEGIS Touchstone Testing TestScript Rule Extension</b></p><ul><li>ruleId: AssertBodyExists</li><li>path: /FHIRCommon/_reference/rule/AssertBodyExists.groovy</li></ul></blockquote><p><b>StructureDefinition Work Group</b>: cbcc</p><p><b>url</b>: <a href=\"TestScript-01-Operation-File-a-Consent.html\">TestScript 03 Operations - All SUT | 01 Operation: File a Consent</a></p><p><b>version</b>: 1.0.0-ballot</p><p><b>name</b>: Test_01_Operation_File_a_Consent</p><p><b>title</b>: 03 Operations - All SUT | 01 Operation: File a Consent</p><p><b>status</b>: Active</p><p><b>date</b>: 2026-03-30</p><p><b>publisher</b>: HL7 International / Community Based Collaborative Care</p><p><b>contact</b>: HL7 International / Community Based Collaborative Care: <a href=\"http://www.hl7.org/Special/committees/cbcc\">http://www.hl7.org/Special/committees/cbcc</a></p><p><b>description</b>: </p><div><p>Happy Path: Perform a successful Consent/$fileConsent operation.\nTest a client and server to verify support for the Consent $fileConsent operation,\nsupporting the FAST Consent Management IG Version: CI.\nThis scenario is generic and can be used with any FHIR format and query parameters.\nSee https://wildfhir4.wildfhir.org/ig/fhir-consent-management-tg/rtm_test_cases.html#testcase-68\nTest System Details (in order of appearance):\n[Origin 1: Consent Client's RESTful client. System Under Test: this must be an external test system (not Touchstone).]\n[Destination 1: Consent Admin Service's RESTful FHIR Server. System Under Test: this must be an external test system (not a mock).]\n[Origin 2: Touchstone's RESTful client. Simulated: this requires Touchstone to be chosen as the test system.]</p>\n</div><p><b>jurisdiction</b>: <span title=\"Codes:{urn:iso:std:iso:3166 US}\">United States of America</span></p><p><b>copyright</b>: </p><div><p>(c) AEGIS.net, Inc. 2026</p>\n</div><blockquote><p><b>origin</b></p><p><b>index</b>: 1</p><p><b>profile</b>: <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-testscript-profile-origin-types.html#testscript-profile-origin-types-FHIR-Client\">Test script profile origin type: FHIR-Client</a> (FHIR Client)</p></blockquote><blockquote><p><b>origin</b></p><p><b>index</b>: 2</p><p><b>profile</b>: <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-testscript-profile-origin-types.html#testscript-profile-origin-types-FHIR-Client\">Test script profile origin type: FHIR-Client</a> (FHIR Client)</p></blockquote><h3>Destinations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Index</b></td><td><b>Profile</b></td></tr><tr><td style=\"display: none\">*</td><td>1</td><td><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-testscript-profile-destination-types.html#testscript-profile-destination-types-FHIR-Server\">Test script profile destination type: FHIR-Server</a> (FHIR Server)</td></tr></table><p><b>profile</b>: </p><ul><li><a href=\"http://hl7.org/fhir/us/consent-management/2026Jan/StructureDefinition-FileConsentParameters.html\">http://hl7.org/fhir/us/consent-management/StructureDefinition/FileConsentParameters</a></li><li><a href=\"http://hl7.org/fhir/R4/bundle.html\">http://hl7.org/fhir/StructureDefinition/Bundle</a></li></ul><blockquote><p><b>test</b></p><p><b>name</b>: Step_001_Consent_slash_dollar_fileConsent_operation</p><p><b>description</b>: Consent Client invokes the Consent/$fileConsent operation at Consent Admin Service.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Method</b></td><td><b>Origin</b></td><td><b>Params</b></td><td><b>RequestId</b></td><td><b>ResponseId</b></td></tr><tr><td style=\"display: none\">*</td><td>testscript-operation-codes-extended: post (post)</td><td>Consent</td><td>Consent/$fileConsent operation.</td><td>1</td><td>true</td><td>POST</td><td>1</td><td>/$fileConsent</td><td>dest-1-FHIRExtendedOperation-1-request</td><td>dest-1-FHIRExtendedOperation-1-response</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the resource(s) in the request body at FHIRPath 'Parameters' conform to profile 'FileConsentParameters'.</td><td>request</td><td>Parameters</td><td>FileConsentParameters</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>SourceId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td>, </td><td>Save the identifier from the request so we can search for it in the next step and check its status.</td><td>request</td><td>dest-1-FHIRExtendedOperation-1-request</td><td>true</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Step_002_Consent_search</p><p><b>description</b>: Touchstone searches for Consent resources at Consent Admin Service, with query parameters: identifier = ${ConsentIdentifier}. Because there is no defined way to extract the id of the newly created Consent#xD;\nfrom the $fileConsent response, we will search by the identifier we saved from#xD;\nthe $fileConsent request, confirm it was created, and is active.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Accept</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Origin</b></td><td><b>Params</b></td><td><b>RequestId</b></td><td><b>ResponseId</b></td></tr><tr><td style=\"display: none\">*</td><td><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-search\">Test script operation code: search</a> (Search)</td><td>Consent</td><td>Search for Consent resources.</td><td>json</td><td>1</td><td>true</td><td>2</td><td>?identifier=${ConsentIdentifier}</td><td>dest-1-FHIRSearch-1-request</td><td>dest-1-FHIRSearch-1-response</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>ResponseCode</b></td><td><b>SourceId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the returned HTTP status is 200 OK.</td><td>response</td><td>in</td><td>200</td><td>dest-1-FHIRSearch-1-response</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response body exists.</td><td>response</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Resource</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response resource type is Bundle.</td><td>response</td><td>Bundle</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response Bundle conforms to the base FHIR Bundle profile. This also validates the contents against any declared profiles.</td><td>response</td><td>Bundle-profile</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>Operator</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response Bundle type is searchset.</td><td>response</td><td>Bundle.type</td><td>equals</td><td>searchset</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>Operator</b></td><td><b>SourceId</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that at least one Consent resource is in the response.</td><td>response</td><td>Bundle.entry.select(resource as Consent).exists()</td><td>equals</td><td>dest-1-FHIRSearch-1-response</td><td>true</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>Operator</b></td><td><b>SourceId</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm the status of the Consent just filed is active.</td><td>response</td><td>Bundle.entry.select(resource as Consent).status = 'active'</td><td>equals</td><td>dest-1-FHIRSearch-1-response</td><td>true</td><td>false</td></tr></table></blockquote></blockquote></div>"^^rdf:XMLLiteral ] ] ; # fhir:extension ( [ ( fhir:extension [ fhir:url [ fhir:v "ruleId"^^xsd:anyURI ; fhir:l fhir:ruleId ] ; fhir:value [ a fhir:Id ; fhir:v "GetVariable-FhirPath" ] ] [ fhir:url [ fhir:v "path"^^xsd:anyURI ; fhir:l fhir:path ] ; fhir:value [ a fhir:String ; fhir:v "/FHIRCommon/_reference/rule/GetVariable-FhirPath.groovy" ] ] ) ; fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule> ] ] [ ( fhir:extension [ fhir:url [ fhir:v "ruleId"^^xsd:anyURI ; fhir:l fhir:ruleId ] ; fhir:value [ a fhir:Id ; fhir:v "AssertBodyExists" ] ] [ fhir:url [ fhir:v "path"^^xsd:anyURI ; fhir:l fhir:path ] ; fhir:value [ a fhir:String ; fhir:v "/FHIRCommon/_reference/rule/AssertBodyExists.groovy" ] ] ) ; fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule> ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"^^xsd:anyURI ; fhir:l <http://hl7.org/fhir/StructureDefinition/structuredefinition-wg> ] ; fhir:value [ a fhir:Code ; fhir:v "cbcc" ] ] ) ; # fhir:url [ fhir:v "http://hl7.org/fhir/us/consent-management-tg/TestScript/01-Operation-File-a-Consent"^^xsd:anyURI ; fhir:l <http://hl7.org/fhir/us/consent-management-tg/TestScript/01-Operation-File-a-Consent> ] ; # fhir:version [ fhir:v "1.0.0-ballot"] ; # fhir:name [ fhir:v "Test_01_Operation_File_a_Consent"] ; # fhir:title [ fhir:v "03 Operations - All SUT | 01 Operation: File a Consent"] ; # fhir:status [ fhir:v "active"] ; # fhir:date [ fhir:v "2026-03-30"^^xsd:date] ; # fhir:publisher [ fhir:v "HL7 International / Community Based Collaborative Care"] ; # fhir:contact ( [ fhir:name [ fhir:v "HL7 International / Community Based Collaborative Care" ] ; ( fhir:telecom [ fhir:system [ fhir:v "url" ] ; fhir:value [ fhir:v "http://www.hl7.org/Special/committees/cbcc" ] ] ) ] ) ; # fhir:description [ fhir:v "Happy Path: Perform a successful Consent/$fileConsent operation.\r\nTest a client and server to verify support for the Consent $fileConsent operation,\r\nsupporting the FAST Consent Management IG Version: CI.\r\nThis scenario is generic and can be used with any FHIR format and query parameters.\r\nSee https://wildfhir4.wildfhir.org/ig/fhir-consent-management-tg/rtm_test_cases.html#testcase-68\r\n Test System Details (in order of appearance):\r\n [Origin 1: Consent Client's RESTful client. System Under Test: this must be an external test system (not Touchstone).]\r\n [Destination 1: Consent Admin Service's RESTful FHIR Server. System Under Test: this must be an external test system (not a mock).]\r\n [Origin 2: Touchstone's RESTful client. Simulated: this requires Touchstone to be chosen as the test system.]"] ; # fhir:jurisdiction ( [ ( fhir:coding [ fhir:system [ fhir:v "urn:iso:std:iso:3166"^^xsd:anyURI ; fhir:l <urn:iso:std:iso:3166> ] ; fhir:code [ fhir:v "US" ] ; fhir:display [ fhir:v "United States of America" ] ] ) ] ) ; # fhir:copyright [ fhir:v "(c) AEGIS.net, Inc. 2026"] ; # fhir:origin ( [ fhir:index [ fhir:v 1 ] ; fhir:profile [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/testscript-profile-origin-types"^^xsd:anyURI ; fhir:l <http://terminology.hl7.org/CodeSystem/testscript-profile-origin-types> ] ; fhir:code [ fhir:v "FHIR-Client" ] ] ] [ fhir:index [ fhir:v 2 ] ; fhir:profile [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/testscript-profile-origin-types"^^xsd:anyURI ; fhir:l <http://terminology.hl7.org/CodeSystem/testscript-profile-origin-types> ] ; fhir:code [ fhir:v "FHIR-Client" ] ] ] ) ; # fhir:destination ( [ fhir:index [ fhir:v 1 ] ; fhir:profile [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types"^^xsd:anyURI ; fhir:l <http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types> ] ; fhir:code [ fhir:v "FHIR-Server" ] ] ] ) ; # fhir:profile ( [ fhir:l <http://hl7.org/fhir/us/consent-management/StructureDefinition/FileConsentParameters> ; fhir:id [ fhir:v "FileConsentParameters" ] ; fhir:reference [ fhir:v "http://hl7.org/fhir/us/consent-management/StructureDefinition/FileConsentParameters" ] ] [ fhir:l <http://hl7.org/fhir/StructureDefinition/Bundle> ; fhir:id [ fhir:v "Bundle-profile" ] ; fhir:reference [ fhir:v "http://hl7.org/fhir/StructureDefinition/Bundle" ] ] ) ; # fhir:test ( [ fhir:name [ fhir:v "Step_001_Consent_slash_dollar_fileConsent_operation" ] ; fhir:description [ fhir:v "Consent Client invokes the Consent/$fileConsent operation at Consent Admin Service." ] ; ( fhir:action [ fhir:operation [ fhir:type [ fhir:system [ fhir:v "http://touchstone.com/fhir/testscript-operation-codes-extended"^^xsd:anyURI ; fhir:l <http://touchstone.com/fhir/testscript-operation-codes-extended> ] ; fhir:code [ fhir:v "post" ] ] ; fhir:resource [ fhir:v "Consent" ] ; fhir:description [ fhir:v "Consent/$fileConsent operation." ] ; fhir:destination [ fhir:v 1 ] ; fhir:encodeRequestUrl [ fhir:v true ] ; fhir:method [ fhir:v "post" ] ; fhir:origin [ fhir:v 1 ] ; fhir:params [ fhir:v "/$fileConsent" ] ; fhir:requestId [ fhir:v "dest-1-FHIRExtendedOperation-1-request" ] ; fhir:responseId [ fhir:v "dest-1-FHIRExtendedOperation-1-response" ] ] ] [ fhir:assert [ ( fhir:extension [ fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail> ] ; fhir:value [ a fhir:Boolean ; fhir:v false ] ] ) ; fhir:description [ fhir:v "Confirm that the resource(s) in the request body at FHIRPath 'Parameters' conform to profile 'FileConsentParameters'." ] ; fhir:direction [ fhir:v "request" ] ; fhir:expression [ fhir:v "Parameters" ] ; fhir:validateProfileId [ fhir:v "FileConsentParameters" ] ; fhir:warningOnly [ fhir:v false ] ] ] [ fhir:assert [ ( fhir:extension [ fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail> ] ; fhir:value [ a fhir:Boolean ; fhir:v false ] ] [ ( fhir:extension [ fhir:url [ fhir:v "ruleId"^^xsd:anyURI ; fhir:l fhir:ruleId ] ; fhir:value [ a fhir:Id ; fhir:v "GetVariable-FhirPath" ] ] [ ( fhir:extension [ fhir:url [ fhir:v "name"^^xsd:anyURI ; fhir:l fhir:name ] ; fhir:value [ a fhir:String ; fhir:v "fhirPath" ] ] [ fhir:url [ fhir:v "value"^^xsd:anyURI ; fhir:l fhir:value ] ; fhir:value [ a fhir:String ; fhir:v "Parameters.parameter.where(name='consent').resource.identifier[0].value" ] ] ) ; fhir:url [ fhir:v "param"^^xsd:anyURI ; fhir:l fhir:param ] ] [ ( fhir:extension [ fhir:url [ fhir:v "name"^^xsd:anyURI ; fhir:l fhir:name ] ; fhir:value [ a fhir:String ; fhir:v "outputName" ] ] [ fhir:url [ fhir:v "value"^^xsd:anyURI ; fhir:l fhir:value ] ; fhir:value [ a fhir:String ; fhir:v "ConsentIdentifier" ] ] ) ; fhir:url [ fhir:v "param"^^xsd:anyURI ; fhir:l fhir:param ] ] [ ( fhir:extension [ fhir:url [ fhir:v "name"^^xsd:anyURI ; fhir:l fhir:name ] ; fhir:value [ a fhir:String ; fhir:v "ConsentIdentifier" ] ] ) ; fhir:url [ fhir:v "output"^^xsd:anyURI ; fhir:l fhir:output ] ] ) ; fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule> ] ] ) ; fhir:description [ fhir:v "Save the identifier from the request so we can search for it in the next step and check its status." ] ; fhir:direction [ fhir:v "request" ] ; fhir:sourceId [ fhir:v "dest-1-FHIRExtendedOperation-1-request" ] ; fhir:warningOnly [ fhir:v true ] ] ] ) ] [ fhir:name [ fhir:v "Step_002_Consent_search" ] ; fhir:description [ fhir:v "Touchstone searches for Consent resources at Consent Admin Service, with query parameters: identifier = ${ConsentIdentifier}. Because there is no defined way to extract the id of the newly created Consent\r\nfrom the $fileConsent response, we will search by the identifier we saved from\r\nthe $fileConsent request, confirm it was created, and is active." ] ; ( fhir:action [ fhir:operation [ fhir:type [ fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/testscript-operation-codes"^^xsd:anyURI ; fhir:l <http://terminology.hl7.org/CodeSystem/testscript-operation-codes> ] ; fhir:code [ fhir:v "search" ] ] ; fhir:resource [ fhir:v "Consent" ] ; fhir:description [ fhir:v "Search for Consent resources." ] ; fhir:accept [ fhir:v "json" ] ; fhir:destination [ fhir:v 1 ] ; fhir:encodeRequestUrl [ fhir:v true ] ; fhir:origin [ fhir:v 2 ] ; fhir:params [ fhir:v "?identifier=${ConsentIdentifier}" ] ; fhir:requestId [ fhir:v "dest-1-FHIRSearch-1-request" ] ; fhir:responseId [ fhir:v "dest-1-FHIRSearch-1-response" ] ] ] [ fhir:assert [ ( fhir:extension [ fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail> ] ; fhir:value [ a fhir:Boolean ; fhir:v false ] ] ) ; fhir:description [ fhir:v "Confirm that the returned HTTP status is 200 OK." ] ; fhir:direction [ fhir:v "response" ] ; fhir:operator [ fhir:v "in" ] ; fhir:responseCode [ fhir:v "200" ] ; fhir:sourceId [ fhir:v "dest-1-FHIRSearch-1-response" ] ; fhir:warningOnly [ fhir:v false ] ] ] [ fhir:assert [ ( fhir:extension [ ( fhir:extension [ fhir:url [ fhir:v "ruleId"^^xsd:anyURI ; fhir:l fhir:ruleId ] ; fhir:value [ a fhir:Id ; fhir:v "AssertBodyExists" ] ] [ ( fhir:extension [ fhir:url [ fhir:v "name"^^xsd:anyURI ; fhir:l fhir:name ] ; fhir:value [ a fhir:String ; fhir:v "errorMessage" ] ] [ fhir:url [ fhir:v "value"^^xsd:anyURI ; fhir:l fhir:value ] ; fhir:value [ a fhir:String ; fhir:v "the response body does not exist." ] ] ) ; fhir:url [ fhir:v "param"^^xsd:anyURI ; fhir:l fhir:param ] ] ) ; fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule> ] ] ) ; fhir:description [ fhir:v "Confirm that the response body exists." ] ; fhir:direction [ fhir:v "response" ] ; fhir:warningOnly [ fhir:v false ] ] ] [ fhir:assert [ ( fhir:extension [ fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail> ] ; fhir:value [ a fhir:Boolean ; fhir:v false ] ] ) ; fhir:description [ fhir:v "Confirm that the response resource type is Bundle." ] ; fhir:direction [ fhir:v "response" ] ; fhir:resource [ fhir:v "Bundle" ] ; fhir:warningOnly [ fhir:v false ] ] ] [ fhir:assert [ ( fhir:extension [ fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail> ] ; fhir:value [ a fhir:Boolean ; fhir:v false ] ] ) ; fhir:description [ fhir:v "Confirm that the response Bundle conforms to the base FHIR Bundle profile. This also validates the contents against any declared profiles." ] ; fhir:direction [ fhir:v "response" ] ; fhir:validateProfileId [ fhir:v "Bundle-profile" ] ; fhir:warningOnly [ fhir:v false ] ] ] [ fhir:assert [ ( fhir:extension [ fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail> ] ; fhir:value [ a fhir:Boolean ; fhir:v false ] ] ) ; fhir:description [ fhir:v "Confirm that the response Bundle type is searchset." ] ; fhir:direction [ fhir:v "response" ] ; fhir:expression [ fhir:v "Bundle.type" ] ; fhir:operator [ fhir:v "equals" ] ; fhir:value [ fhir:v "searchset" ] ; fhir:warningOnly [ fhir:v false ] ] ] [ fhir:assert [ ( fhir:extension [ fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail> ] ; fhir:value [ a fhir:Boolean ; fhir:v false ] ] ) ; fhir:description [ fhir:v "Confirm that at least one Consent resource is in the response." ] ; fhir:direction [ fhir:v "response" ] ; fhir:expression [ fhir:v "Bundle.entry.select(resource as Consent).exists()" ] ; fhir:operator [ fhir:v "equals" ] ; fhir:sourceId [ fhir:v "dest-1-FHIRSearch-1-response" ] ; fhir:value [ fhir:v "true" ] ; fhir:warningOnly [ fhir:v false ] ] ] [ fhir:assert [ ( fhir:extension [ fhir:url [ fhir:v "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail"^^xsd:anyURI ; fhir:l <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail> ] ; fhir:value [ a fhir:Boolean ; fhir:v false ] ] ) ; fhir:description [ fhir:v "Confirm the status of the Consent just filed is active." ] ; fhir:direction [ fhir:v "response" ] ; fhir:expression [ fhir:v "Bundle.entry.select(resource as Consent).status = 'active'" ] ; fhir:operator [ fhir:v "equals" ] ; fhir:sourceId [ fhir:v "dest-1-FHIRSearch-1-response" ] ; fhir:value [ fhir:v "true" ] ; fhir:warningOnly [ fhir:v false ] ] ] ) ] ) . # <http://hl7.org/fhir/us/consent-management/StructureDefinition/FileConsentParameters> a fhir:Us . <http://hl7.org/fhir/StructureDefinition/Bundle> a fhir:StructureDefinition .
IG © 2025+ HL7 International / Community Based Collaborative Care. Package hl7.fhir.us.consent-management-tg#1.0.0-ballot based on FHIR 4.0.1. Generated 2026-03-31
Links: Table of Contents |
QA Report
| Version History |
|
Propose a change
