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

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

: 04 Basic REST-hook Subs - All SUT | 03 Create subscription then read - TTL Representation

Page standards status: Trial-use Maturity Level: 1

Raw ttl | Download

@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 "03-Create-subscription-then-read"] ; # 
  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 03-Create-subscription-then-read</b></p><a name=\"03-Create-subscription-then-read\"> </a><a name=\"hc03-Create-subscription-then-read\"> </a><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\"/><p style=\"margin-bottom: 0px\">Profile: <a href=\"file://D:\\GitHub\\Touchstone\\testing-ig\\output/StructureDefinition-testscript.html\">AEGIS Touchstone Testing TestScript Profile</a></p></div><blockquote><p><b>AEGIS Touchstone Testing TestScript Rule Extension</b></p><ul><li>ruleId: AssertBodyExists</li><li>path: /FHIRCommon/_reference/rule/AssertBodyExists.groovy</li></ul></blockquote><p><b>StructureDefinition Work Group</b>: cbcc</p><p><b>url</b>: <a href=\"TestScript-03-Create-subscription-then-read.html\">TestScript 04 Basic REST-hook Subs - All SUT | 03 Create subscription then read</a></p><p><b>version</b>: 1.0.0-ballot</p><p><b>name</b>: Test_03_Create_subscription_then_read</p><p><b>title</b>: 04 Basic REST-hook Subs - All SUT | 03 Create subscription then read</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>Alternate success: Create a Subscriptions R5 Backport REST-hook Subscription followed by a read.\nTest a client and server to verify support for POST of a REST-hook Subscription. This scenario includes the\noptional step of the Consent Client reading the new Subscription.\nThis scenario is generic and can be used with any FHIR format and query parameters.\nTest case supporting the FAST Consent Management IG Version: CI.\nSee https://wildfhir4.wildfhir.org/ig/fhir-consent-management-tg/rtm_test_cases.html#testcase-232\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).]</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><h3>Origins</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Index</b></td><td><b>Profile</b></td></tr><tr><td style=\"display: none\">*</td><td>1</td><td><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-testscript-profile-origin-types.html#testscript-profile-origin-types-FHIR-Client\">Test script profile origin type: FHIR-Client</a> (FHIR Client)</td></tr></table><h3>Destinations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Index</b></td><td><b>Profile</b></td></tr><tr><td style=\"display: none\">*</td><td>1</td><td><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-testscript-profile-destination-types.html#testscript-profile-destination-types-FHIR-Server\">Test script profile destination type: FHIR-Server</a> (FHIR Server)</td></tr></table><p><b>profile</b>: </p><ul><li><a href=\"http://hl7.org/fhir/us/consent-management/2026Jan/StructureDefinition-FASTSubscription.html\">http://hl7.org/fhir/us/consent-management/StructureDefinition/FASTSubscription</a></li><li><a href=\"http://hl7.org/fhir/R4/subscription.html\">http://hl7.org/fhir/StructureDefinition/Subscription</a></li></ul><h3>Variables</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Name</b></td><td><b>Expression</b></td><td><b>SourceId</b></td></tr><tr><td style=\"display: none\">*</td><td>dest-1-FHIRCreate-1-Subscription_id</td><td>Subscription.id</td><td>dest-1-FHIRCreate-1-response</td></tr></table><blockquote><p><b>test</b></p><p><b>name</b>: Step_001_POST_Subscription_create</p><p><b>description</b>: Consent Client creates with POST a Subscription resource at Consent Admin Service.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Method</b></td><td><b>Origin</b></td><td><b>RequestId</b></td><td><b>ResponseId</b></td><td><b>Url</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-create\">Test script operation code: create</a> (Create)</td><td>Subscription</td><td>Create a Subscription resource.</td><td>1</td><td>true</td><td>POST</td><td>1</td><td>dest-1-FHIRCreate-1-request</td><td>dest-1-FHIRCreate-1-response</td><td>${dest1SystemConfig.baseUrl}/Subscription</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 request body exists.</td><td>request</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 request body is a Subscription resource.</td><td>request</td><td>Subscription</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 request body conforms to the base FHIR Subscription profile. This also checks any declared profiles within.</td><td>request</td><td>Subscription-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>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 201 Created.</td><td>response</td><td>in</td><td>201</td><td>dest-1-FHIRCreate-1-response</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response body exists.</td><td>response</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Resource</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response body is a Subscription resource.</td><td>response</td><td>Subscription</td><td>true</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response body conforms to the base FHIR Subscription profile. This also checks any declared profiles within.</td><td>response</td><td>Subscription-profile</td><td>true</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>Operator</b></td><td><b>SourceId</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the request body is a Subscription resource that should declare the FASTSubscription profile.</td><td>request</td><td>Subscription.meta.profile contains 'https://hl7.org/fhir/us/consent-management/StructureDefinition/FASTSubscription'</td><td>equals</td><td>dest-1-FHIRCreate-1-request</td><td>true</td><td>true</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>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 'Subscription' should conform to profile 'FASTSubscription'.</td><td>request</td><td>Subscription</td><td>FASTSubscription</td><td>true</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Step_002_Subscription_read</p><p><b>description</b>: Consent Client reads a Subscription resource at Consent Admin Service.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Type</b></td><td><b>Resource</b></td><td><b>Description</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Method</b></td><td><b>Origin</b></td><td><b>Params</b></td><td><b>RequestId</b></td><td><b>ResponseId</b></td></tr><tr><td style=\"display: none\">*</td><td><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-testscript-operation-codes.html#testscript-operation-codes-read\">Test script operation code: read</a> (Read)</td><td>Subscription</td><td>Read a Subscription resource.</td><td>1</td><td>true</td><td>GET</td><td>1</td><td>/${dest-1-FHIRCreate-1-Subscription_id}</td><td>dest-1-FHIRRead-1-request</td><td>dest-1-FHIRRead-1-response</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>ResponseCode</b></td><td><b>SourceId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the returned HTTP status is 200 OK.</td><td>response</td><td>in</td><td>200</td><td>dest-1-FHIRRead-1-response</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response body exists.</td><td>response</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Resource</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response body is a Subscription resource.</td><td>response</td><td>Subscription</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the response body conforms to the base FHIR Subscription profile. This also checks any declared profiles within.</td><td>response</td><td>Subscription-profile</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 "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/03-Create-subscription-then-read"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/us/consent-management-tg/TestScript/03-Create-subscription-then-read>
  ] ; # 
  fhir:version [ fhir:v "1.0.0-ballot"] ; # 
  fhir:name [ fhir:v "Test_03_Create_subscription_then_read"] ; # 
  fhir:title [ fhir:v "04 Basic REST-hook Subs - All SUT | 03 Create subscription then read"] ; # 
  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 "Alternate success: Create a Subscriptions R5 Backport REST-hook Subscription followed by a read.\r\nTest a client and server to verify support for POST of a REST-hook Subscription. This scenario includes the\r\noptional step of the Consent Client reading the new Subscription.\r\nThis scenario is generic and can be used with any FHIR format and query parameters.\r\nTest case supporting the FAST Consent Management IG Version: CI.\r\nSee https://wildfhir4.wildfhir.org/ig/fhir-consent-management-tg/rtm_test_cases.html#testcase-232\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).]"] ; # 
  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: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/FASTSubscription> ;
fhir:id [ fhir:v "FASTSubscription" ] ;
fhir:reference [ fhir:v "http://hl7.org/fhir/us/consent-management/StructureDefinition/FASTSubscription" ]
  ] [
fhir:l <http://hl7.org/fhir/StructureDefinition/Subscription> ;
fhir:id [ fhir:v "Subscription-profile" ] ;
fhir:reference [ fhir:v "http://hl7.org/fhir/StructureDefinition/Subscription" ]
  ] ) ; # 
  fhir:variable ( [
fhir:name [ fhir:v "dest-1-FHIRCreate-1-Subscription_id" ] ;
fhir:expression [ fhir:v "Subscription.id" ] ;
fhir:sourceId [ fhir:v "dest-1-FHIRCreate-1-response" ]
  ] ) ; # 
  fhir:test ( [
fhir:name [ fhir:v "Step_001_POST_Subscription_create" ] ;
fhir:description [ fhir:v "Consent Client creates with POST a Subscription resource at Consent Admin Service." ] ;
    ( 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 "create" ]         ] ;
fhir:resource [ fhir:v "Subscription" ] ;
fhir:description [ fhir:v "Create a Subscription resource." ] ;
fhir:destination [ fhir:v 1 ] ;
fhir:encodeRequestUrl [ fhir:v true ] ;
fhir:method [ fhir:v "post" ] ;
fhir:origin [ fhir:v 1 ] ;
fhir:requestId [ fhir:v "dest-1-FHIRCreate-1-request" ] ;
fhir:responseId [ fhir:v "dest-1-FHIRCreate-1-response" ] ;
fhir:url [ fhir:v "${dest1SystemConfig.baseUrl}/Subscription" ]       ]     ] [
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 request 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 request body exists." ] ;
fhir:direction [ fhir:v "request" ] ;
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 request body is a Subscription resource." ] ;
fhir:direction [ fhir:v "request" ] ;
fhir:resource [ fhir:v "Subscription" ] ;
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 request body conforms to the base FHIR Subscription profile. This also checks any declared profiles within." ] ;
fhir:direction [ fhir:v "request" ] ;
fhir:validateProfileId [ fhir:v "Subscription-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 returned HTTP status is 201 Created." ] ;
fhir:direction [ fhir:v "response" ] ;
fhir:operator [ fhir:v "in" ] ;
fhir:responseCode [ fhir:v "201" ] ;
fhir:sourceId [ fhir:v "dest-1-FHIRCreate-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 body is a Subscription resource." ] ;
fhir:direction [ fhir:v "response" ] ;
fhir:resource [ fhir:v "Subscription" ] ;
fhir:warningOnly [ fhir:v true ]       ]     ] [
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 body conforms to the base FHIR Subscription profile. This also checks any declared profiles within." ] ;
fhir:direction [ fhir:v "response" ] ;
fhir:validateProfileId [ fhir:v "Subscription-profile" ] ;
fhir:warningOnly [ fhir:v true ]       ]     ] [
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 request body is a Subscription resource that should declare the FASTSubscription profile." ] ;
fhir:direction [ fhir:v "request" ] ;
fhir:expression [ fhir:v "Subscription.meta.profile contains 'https://hl7.org/fhir/us/consent-management/StructureDefinition/FASTSubscription'" ] ;
fhir:operator [ fhir:v "equals" ] ;
fhir:sourceId [ fhir:v "dest-1-FHIRCreate-1-request" ] ;
fhir:value [ fhir:v "true" ] ;
fhir:warningOnly [ fhir:v true ]       ]     ] [
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 'Subscription' should conform to profile 'FASTSubscription'." ] ;
fhir:direction [ fhir:v "request" ] ;
fhir:expression [ fhir:v "Subscription" ] ;
fhir:validateProfileId [ fhir:v "FASTSubscription" ] ;
fhir:warningOnly [ fhir:v true ]       ]     ] )
  ] [
fhir:name [ fhir:v "Step_002_Subscription_read" ] ;
fhir:description [ fhir:v "Consent Client reads a Subscription resource at Consent Admin Service." ] ;
    ( 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 "read" ]         ] ;
fhir:resource [ fhir:v "Subscription" ] ;
fhir:description [ fhir:v "Read a Subscription resource." ] ;
fhir:destination [ fhir:v 1 ] ;
fhir:encodeRequestUrl [ fhir:v true ] ;
fhir:method [ fhir:v "get" ] ;
fhir:origin [ fhir:v 1 ] ;
fhir:params [ fhir:v "/${dest-1-FHIRCreate-1-Subscription_id}" ] ;
fhir:requestId [ fhir:v "dest-1-FHIRRead-1-request" ] ;
fhir:responseId [ fhir:v "dest-1-FHIRRead-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-FHIRRead-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 body is a Subscription resource." ] ;
fhir:direction [ fhir:v "response" ] ;
fhir:resource [ fhir:v "Subscription" ] ;
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 body conforms to the base FHIR Subscription profile. This also checks any declared profiles within." ] ;
fhir:direction [ fhir:v "response" ] ;
fhir:validateProfileId [ fhir:v "Subscription-profile" ] ;
fhir:warningOnly [ fhir:v false ]       ]     ] )
  ] ) . # 

<http://hl7.org/fhir/us/consent-management/StructureDefinition/FASTSubscription> a fhir:Us .

<http://hl7.org/fhir/StructureDefinition/Subscription> a fhir:StructureDefinition .