Touchstone FHIR Testing v2.0.0. This is the current published version. For a full list of available versions, see the Directory of published versions
Active as of 2023-07-03 |
{
"resourceType" : "TestScript",
"id" : "ndjson-assertion-prefix",
"meta" : {
"profile" : [
"http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript"
]
},
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative: TestScript</b><a name=\"ndjson-assertion-prefix\"> </a></p><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\">Resource TestScript "ndjson-assertion-prefix" </p><p style=\"margin-bottom: 0px\">Profile: <a href=\"StructureDefinition-testscript.html\">AEGIS Touchstone Testing TestScript Profile</a></p></div><p><b>url</b>: <code>http://touchstone.aegis.net/touchstone/fhir/testing/TestScript/ndjson-assertion-prefix</code></p><p><b>version</b>: 2.0.0</p><p><b>name</b>: NDJSONAssertionPrefixSyntax</p><p><b>title</b>: Demonstrate NDJSON Assertion Prefix Syntax</p><p><b>status</b>: active</p><p><b>date</b>: 2023-07-03</p><p><b>publisher</b>: AEGIS.net, Inc.</p><p><b>contact</b>: AEGIS.net, Inc.: <a href=\"https://www.aegis.net\">https://www.aegis.net</a>, Richard Ettema: <a href=\"mailto:mailto:richard.ettema@aegis.net\">mailto:richard.ettema@aegis.net</a></p><p><b>description</b>: Demonstrate NDJSON Assertion Prefix Syntax</p><p><b>jurisdiction</b>: World <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (m49.htm#001)</span></p><p><b>copyright</b>: (c) AEGIS.net, Inc. 2015+</p><blockquote><p><b>destination</b></p><blockquote><p><b>id</b></p>Server</blockquote><p><b>index</b>: 1</p><p><b>profile</b>: FHIR Server (Details: http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types code FHIR-Server = 'FHIR Server', stated as 'null')</p></blockquote><p><b>profile</b>: </p><ul><li><a href=\"http://hl7.org/fhir/StructureDefinition/Patient\">http://hl7.org/fhir/StructureDefinition/Patient</a> "Patient"</li><li><a href=\"{any}http://hl7.org/fhir/StructureDefinition/Patient\">{any}http://hl7.org/fhir/StructureDefinition/Patient</a></li><li><a href=\"{1}http://hl7.org/fhir/StructureDefinition/Patient\">{1}http://hl7.org/fhir/StructureDefinition/Patient</a></li><li>Conditional Reference: <code>{.name[?(@.family=='Gracia')]}http://hl7.org/fhir/StructureDefinition/Patient</code></li></ul><h3>Variables</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Name</b></td><td><b>DefaultValue</b></td></tr><tr><td style=\"display: none\">*</td><td>outputBaseUrl</td><td>http://localhost:33000/bulk-api/output</td></tr></table><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>AssertContentTypeResourceAndValidation</blockquote><p><b>name</b>: AssertContentTypeResourceAndValidation</p><p><b>description</b>: Demonstrates contentType, resource and validateProfile assertions with no filters.</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>Description</b></td><td><b>Accept</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Url</b></td></tr><tr><td style=\"display: none\">*</td><td>get (Details: http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes code get = 'get', stated as 'null')</td><td>Request BulkData</td><td>ndjson</td><td>1</td><td>true</td><td>${outputBaseUrl}/1/Patient.ndjson</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>HeaderField</b></td><td><b>Operator</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the client requested an Accept of the FHIR JSON mime type 'application/fhir+json'.</td><td>request</td><td>Accept</td><td>contains</td><td>ndjson</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>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the returned HTTP status is 200.</td><td>response</td><td>equals</td><td>200</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Direction</b></td><td><b>ContentType</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>response</td><td>ndjson</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>Direction</b></td><td><b>Resource</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>response</td><td>Patient</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>Validate that the returned resource conforms to the corresponding FHIR resource profile.</td><td>response</td><td>resource-profile</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>AssertResourceType</blockquote><p><b>name</b>: AssertResourceType</p><p><b>description</b>: Demonstrates resource assertions.</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>Description</b></td><td><b>Accept</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Url</b></td></tr><tr><td style=\"display: none\">*</td><td>get (Details: http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes code get = 'get', stated as 'null')</td><td>Retrieve invalid NDJSON that contains mix of Patient and Person resource types.</td><td>ndjson</td><td>1</td><td>true</td><td>${outputBaseUrl}/2/patient-person-mix.ndjson</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>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the returned HTTP status is 200.</td><td>response</td><td>equals</td><td>200</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Resource</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><resource value="Patient"/></td><td>response</td><td>Patient</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>AssertResourceCount</blockquote><p><b>name</b>: AssertResourceCount</p><p><b>description</b>: Demonstrates resource-count assertions (only works with NDJSON responses).</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>Description</b></td><td><b>Accept</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Url</b></td></tr><tr><td style=\"display: none\">*</td><td>get (Details: http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes code get = 'get', stated as 'null')</td><td>Retrieve NDJSON response that contains 5 Patient resources.</td><td>ndjson</td><td>1</td><td>true</td><td>${outputBaseUrl}/1/Patient.ndjson</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>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the returned HTTP status is 200.</td><td>response</td><td>equals</td><td>200</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td><path value="resource-count"/> <operator value="equals"/> <value value="5"/></td><td>response</td><td>equals</td><td>resource-count</td><td>5</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="resource-count"/> <operator value="equals"/> <value value="6"/></td><td>response</td><td>equals</td><td>resource-count</td><td>6</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="resource-count"/> <operator value="greaterThan"/> <value value="4"/></td><td>response</td><td>greaterThan</td><td>resource-count</td><td>4</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{generalPractitioner}resource-count"/> <operator value="greaterThan"/> <value value="4"/></td><td>response</td><td>greaterThan</td><td>{generalPractitioner}resource-count</td><td>4</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count"/> <operator value="greaterThan"/> <value value="4"/></td><td>response</td><td>greaterThan</td><td>{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count</td><td>4</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count"/> <operator value="equals"/> <value value="1"/></td><td>response</td><td>equals</td><td>{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count</td><td>1</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>AssertPath</blockquote><p><b>name</b>: AssertPath</p><p><b>description</b>: Demonstrates path assertions.</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>Description</b></td><td><b>Accept</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Url</b></td></tr><tr><td style=\"display: none\">*</td><td>get (Details: http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes code get = 'get', stated as 'null')</td><td>Retrieve NDJSON response that contains 5 Patient resources.</td><td>ndjson</td><td>1</td><td>true</td><td>${outputBaseUrl}/1/Patient.ndjson</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>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the returned HTTP status is 200.</td><td>response</td><td>equals</td><td>200</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Operator</b></td><td><b>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="generalPractitioner.reference"/> <operator value="contains"/> <value value="Practitioner/"/></td><td>response</td><td>contains</td><td>generalPractitioner.reference</td><td>Practitioner/</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="generalPractitioner.reference"/> <operator value="equals"/> <value value="Practitioner/2"/></td><td>response</td><td>equals</td><td>generalPractitioner.reference</td><td>Practitioner/2</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{any}generalPractitioner.reference"/> <operator value="equals"/> <value value="Practitioner/2"/></td><td>response</td><td>equals</td><td>{any}generalPractitioner.reference</td><td>Practitioner/2</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{2}generalPractitioner.reference"/> <operator value="equals"/> <value value="Practitioner/2"/></td><td>response</td><td>equals</td><td>{2}generalPractitioner.reference</td><td>Practitioner/2</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{3}generalPractitioner.reference"/> <operator value="equals"/> <value value="Practitioner/2"/></td><td>response</td><td>equals</td><td>{3}generalPractitioner.reference</td><td>Practitioner/2</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{2-5}generalPractitioner.reference"/> <operator value="contains"/> <value value="Practitioner/"/></td><td>response</td><td>contains</td><td>{2-5}generalPractitioner.reference</td><td>Practitioner/</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{2-100}generalPractitioner.reference"/> <operator value="contains"/> <value value="Practitioner/"/></td><td>response</td><td>contains</td><td>{2-100}generalPractitioner.reference</td><td>Practitioner/</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{6-100}generalPractitioner.reference"/> <operator value="contains"/> <value value="Practitioner/"/></td><td>response</td><td>contains</td><td>{6-100}generalPractitioner.reference</td><td>Practitioner/</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family"/> <operator value="equals"/> <value value="Allen"/></td><td>response</td><td>equals</td><td>{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family</td><td>Allen</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family"/> <operator value="equals"/> <value value="Gracia"/></td><td>response</td><td>equals</td><td>{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family</td><td>Gracia</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{generalPractitioner}name.family"/> <operator value="in"/> <value value="Gracia,McKay,Allen,Williams,Hill"/></td><td>response</td><td>in</td><td>{generalPractitioner}name.family</td><td>Gracia,McKay,Allen,Williams,Hill</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{generalPractitioner}name.family"/> <operator value="in"/> <value value="a,b,c,d,e"/></td><td>response</td><td>in</td><td>{generalPractitioner}name.family</td><td>a,b,c,d,e</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{generalPractitioner}name.family"/> <operator value="in"/> <value value="a,b,Allen,d,e"/></td><td>response</td><td>in</td><td>{generalPractitioner}name.family</td><td>a,b,Allen,d,e</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{any|generalPractitioner}name.family"/> <operator value="in"/> <value value="a,b,Allen,d,e"/></td><td>response</td><td>in</td><td>{any|generalPractitioner}name.family</td><td>a,b,Allen,d,e</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>Path</b></td><td><b>Value</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><path value="{any|generalPractiXXXXXXXXXXXXXioner}name.family"/> <operator value="in"/> <value value="a,b,Allen,d,e"/></td><td>response</td><td>in</td><td>{any|generalPractiXXXXXXXXXXXXXioner}name.family</td><td>a,b,Allen,d,e</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>AssertFhirPath</blockquote><p><b>name</b>: AssertFhirPath</p><p><b>description</b>: Demonstrates expression assertions.</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>Description</b></td><td><b>Accept</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Url</b></td></tr><tr><td style=\"display: none\">*</td><td>get (Details: http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes code get = 'get', stated as 'null')</td><td>Retrieve NDJSON response that contains 5 Patient resources.</td><td>ndjson</td><td>1</td><td>true</td><td>${outputBaseUrl}/1/Patient.ndjson</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>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the returned HTTP status is 200.</td><td>response</td><td>equals</td><td>200</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>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><expression value="Patient.name.family"/> <operator value="in"/> <value value="Allen,Gracia"/></td><td>response</td><td>Patient.name.family</td><td>in</td><td>Allen,Gracia</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><expression value="{any}Patient.name.family"/> <operator value="in"/> <value value="Allen,Gracia"/></td><td>response</td><td>{any}Patient.name.family</td><td>in</td><td>Allen,Gracia</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><expression value="{all}Patient.name.family"/> <operator value="equals"/> <value value="Allen"/></td><td>response</td><td>{all}Patient.name.family</td><td>equals</td><td>Allen</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><expression value="{1-3}Patient.name.family"/> <operator value="in"/> <value value="McKay,Gracia,Allen"/></td><td>response</td><td>{1-3}Patient.name.family</td><td>in</td><td>McKay,Gracia,Allen</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><expression value="{1-100}Patient.name.family"/> <operator value="in"/> <value value="McKay,Gracia,Allen"/></td><td>response</td><td>{1-100}Patient.name.family</td><td>in</td><td>McKay,Gracia,Allen</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><expression value="Patient.name.given"/> <operator value="in"/> <value value="Joshua,P"/></td><td>response</td><td>Patient.name.given</td><td>in</td><td>Joshua,P</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><expression value="{any}Patient.name.given"/> <operator value="equals"/> <value value="George"/></td><td>response</td><td>{any}Patient.name.given</td><td>equals</td><td>George</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><expression value="{1-3}Patient.name.given"/> <operator value="in"/> <value value="Brian,Q,George,Carol,G"/></td><td>response</td><td>{1-3}Patient.name.given</td><td>in</td><td>Brian,Q,George,Carol,G</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><expression value="{1-100}Patient.name.given"/> <operator value="in"/> <value value="Brian,Q,George,Carol,G"/></td><td>response</td><td>{1-100}Patient.name.given</td><td>in</td><td>Brian,Q,George,Carol,G</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><expression value="{1-100}Patient.name.given"/> <operator value="in"/> <value value="Brian,Q,George,Carol,G,Joshua,H,P"/></td><td>response</td><td>{1-100}Patient.name.given</td><td>in</td><td>Brian,Q,George,Carol,G,Joshua,H,P</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><expression value="{.name[?(@.family=='Allen')]}Patient.name.given"/> <operator value="in"/> <value value="Carol,G"/></td><td>response</td><td>{.name[?(@.family=='Allen')]}Patient.name.given</td><td>in</td><td>Carol,G</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><expression value="{.name[?(@.family=='McKay')]}Patient.name.given"/> <operator value="equals"/> <value value="George"/></td><td>response</td><td>{.name[?(@.family=='McKay')]}Patient.name.given</td><td>equals</td><td>George</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><expression value="Patient.name.where(family='Gracia')"/></td><td>response</td><td>Patient.name.where(family='Gracia')</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>Expression</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td><expression value="{any}Patient.name.where(family='Gracia')"/></td><td>response</td><td>{any}Patient.name.where(family='Gracia')</td><td>false</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><blockquote><p><b>id</b></p>AssertProfileValidation</blockquote><p><b>name</b>: AssertProfileValidation</p><p><b>description</b>: Demonstrates validateProfileId assertions.</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>Description</b></td><td><b>Accept</b></td><td><b>Destination</b></td><td><b>EncodeRequestUrl</b></td><td><b>Url</b></td></tr><tr><td style=\"display: none\">*</td><td>get (Details: http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes code get = 'get', stated as 'null')</td><td>Retrieve NDJSON response that contains 5 Patient resources. Some of the resources are invalid (will fail AEGIS Validator validation)</td><td>ndjson</td><td>1</td><td>true</td><td>${outputBaseUrl}/3/patient-some-invalid.ndjson</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>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Confirm that the returned HTTP status is 200.</td><td>response</td><td>equals</td><td>200</td><td>false</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table class=\"grid\"><tr><td style=\"display: none\">-</td><td><b>Extension</b></td><td><b>Description</b></td><td><b>Direction</b></td><td><b>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Validate that the returned resource conforms to the corresponding FHIR resource profile.</td><td>response</td><td>resource-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>ValidateProfileId</b></td><td><b>WarningOnly</b></td></tr><tr><td style=\"display: none\">*</td><td/><td>Validate that the returned resource conforms to the corresponding FHIR resource profile.</td><td>response</td><td>resource-profile-for-any</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>Validate that the returned resource conforms to the corresponding FHIR resource profile.</td><td>response</td><td>resource-profile-for-first</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>Validate that the returned resource conforms to the corresponding FHIR resource profile.</td><td>response</td><td>resource-profile-for-Gracia</td><td>false</td></tr></table></blockquote></blockquote></div>"
},
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/TestScript/ndjson-assertion-prefix",
"version" : "2.0.0",
"name" : "NDJSONAssertionPrefixSyntax",
"title" : "Demonstrate NDJSON Assertion Prefix Syntax",
"status" : "active",
"date" : "2023-07-03",
"publisher" : "AEGIS.net, Inc.",
"contact" : [
{
"name" : "AEGIS.net, Inc.",
"telecom" : [
{
"system" : "url",
"value" : "https://www.aegis.net"
}
]
},
{
"name" : "Richard Ettema",
"telecom" : [
{
"system" : "email",
"value" : "mailto:richard.ettema@aegis.net"
}
]
}
],
"description" : "Demonstrate NDJSON Assertion Prefix Syntax",
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001",
"display" : "World"
}
]
}
],
"copyright" : "(c) AEGIS.net, Inc. 2015+",
"destination" : [
{
"id" : "Server",
"index" : 1,
"profile" : {
"system" : "http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types",
"code" : "FHIR-Server"
}
}
],
"profile" : [
{
"id" : "resource-profile",
"reference" : "http://hl7.org/fhir/StructureDefinition/Patient"
},
{
"id" : "resource-profile-for-any",
"reference" : "{any}http://hl7.org/fhir/StructureDefinition/Patient"
},
{
"id" : "resource-profile-for-first",
"reference" : "{1}http://hl7.org/fhir/StructureDefinition/Patient"
},
{
"id" : "resource-profile-for-Gracia",
"reference" : "{.name[?(@.family=='Gracia')]}http://hl7.org/fhir/StructureDefinition/Patient"
}
],
"variable" : [
{
"name" : "outputBaseUrl",
"defaultValue" : "http://localhost:33000/bulk-api/output"
}
],
"test" : [
{
"id" : "AssertContentTypeResourceAndValidation",
"name" : "AssertContentTypeResourceAndValidation",
"description" : "Demonstrates contentType, resource and validateProfile assertions with no filters.",
"action" : [
{
"operation" : {
"type" : {
"system" : "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes",
"code" : "get"
},
"description" : "Request BulkData",
"accept" : "ndjson",
"destination" : 1,
"encodeRequestUrl" : true,
"url" : "${outputBaseUrl}/1/Patient.ndjson"
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Confirm that the client requested an Accept of the FHIR JSON mime type 'application/fhir+json'.",
"direction" : "request",
"headerField" : "Accept",
"operator" : "contains",
"value" : "ndjson",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Confirm that the returned HTTP status is 200.",
"direction" : "response",
"operator" : "equals",
"responseCode" : "200",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"direction" : "response",
"contentType" : "ndjson",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"direction" : "response",
"resource" : "Patient",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Validate that the returned resource conforms to the corresponding FHIR resource profile.",
"direction" : "response",
"validateProfileId" : "resource-profile",
"warningOnly" : false
}
}
]
},
{
"id" : "AssertResourceType",
"name" : "AssertResourceType",
"description" : "Demonstrates resource assertions.",
"action" : [
{
"operation" : {
"type" : {
"system" : "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes",
"code" : "get"
},
"description" : "Retrieve invalid NDJSON that contains mix of Patient and Person resource types.",
"accept" : "ndjson",
"destination" : 1,
"encodeRequestUrl" : true,
"url" : "${outputBaseUrl}/2/patient-person-mix.ndjson"
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Confirm that the returned HTTP status is 200.",
"direction" : "response",
"operator" : "equals",
"responseCode" : "200",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<resource value=\"Patient\"/>",
"direction" : "response",
"resource" : "Patient",
"warningOnly" : false
}
}
]
},
{
"id" : "AssertResourceCount",
"name" : "AssertResourceCount",
"description" : "Demonstrates resource-count assertions (only works with NDJSON responses).",
"action" : [
{
"operation" : {
"type" : {
"system" : "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes",
"code" : "get"
},
"description" : "Retrieve NDJSON response that contains 5 Patient resources.",
"accept" : "ndjson",
"destination" : 1,
"encodeRequestUrl" : true,
"url" : "${outputBaseUrl}/1/Patient.ndjson"
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Confirm that the returned HTTP status is 200.",
"direction" : "response",
"operator" : "equals",
"responseCode" : "200",
"warningOnly" : false
}
},
{
"assert" : {
"description" : "<path value=\"resource-count\"/> <operator value=\"equals\"/> <value value=\"5\"/>",
"direction" : "response",
"operator" : "equals",
"path" : "resource-count",
"value" : "5",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"resource-count\"/> <operator value=\"equals\"/> <value value=\"6\"/>",
"direction" : "response",
"operator" : "equals",
"path" : "resource-count",
"value" : "6",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"resource-count\"/> <operator value=\"greaterThan\"/> <value value=\"4\"/>",
"direction" : "response",
"operator" : "greaterThan",
"path" : "resource-count",
"value" : "4",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{generalPractitioner}resource-count\"/> <operator value=\"greaterThan\"/> <value value=\"4\"/>",
"direction" : "response",
"operator" : "greaterThan",
"path" : "{generalPractitioner}resource-count",
"value" : "4",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count\"/> <operator value=\"greaterThan\"/> <value value=\"4\"/>",
"direction" : "response",
"operator" : "greaterThan",
"path" : "{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count",
"value" : "4",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count\"/> <operator value=\"equals\"/> <value value=\"1\"/>",
"direction" : "response",
"operator" : "equals",
"path" : "{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count",
"value" : "1",
"warningOnly" : false
}
}
]
},
{
"id" : "AssertPath",
"name" : "AssertPath",
"description" : "Demonstrates path assertions.",
"action" : [
{
"operation" : {
"type" : {
"system" : "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes",
"code" : "get"
},
"description" : "Retrieve NDJSON response that contains 5 Patient resources.",
"accept" : "ndjson",
"destination" : 1,
"encodeRequestUrl" : true,
"url" : "${outputBaseUrl}/1/Patient.ndjson"
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Confirm that the returned HTTP status is 200.",
"direction" : "response",
"operator" : "equals",
"responseCode" : "200",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"generalPractitioner.reference\"/> <operator value=\"contains\"/> <value value=\"Practitioner/\"/>",
"direction" : "response",
"operator" : "contains",
"path" : "generalPractitioner.reference",
"value" : "Practitioner/",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"generalPractitioner.reference\"/> <operator value=\"equals\"/> <value value=\"Practitioner/2\"/>",
"direction" : "response",
"operator" : "equals",
"path" : "generalPractitioner.reference",
"value" : "Practitioner/2",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{any}generalPractitioner.reference\"/> <operator value=\"equals\"/> <value value=\"Practitioner/2\"/>",
"direction" : "response",
"operator" : "equals",
"path" : "{any}generalPractitioner.reference",
"value" : "Practitioner/2",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{2}generalPractitioner.reference\"/> <operator value=\"equals\"/> <value value=\"Practitioner/2\"/>",
"direction" : "response",
"operator" : "equals",
"path" : "{2}generalPractitioner.reference",
"value" : "Practitioner/2",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{3}generalPractitioner.reference\"/> <operator value=\"equals\"/> <value value=\"Practitioner/2\"/>",
"direction" : "response",
"operator" : "equals",
"path" : "{3}generalPractitioner.reference",
"value" : "Practitioner/2",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{2-5}generalPractitioner.reference\"/> <operator value=\"contains\"/> <value value=\"Practitioner/\"/>",
"direction" : "response",
"operator" : "contains",
"path" : "{2-5}generalPractitioner.reference",
"value" : "Practitioner/",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{2-100}generalPractitioner.reference\"/> <operator value=\"contains\"/> <value value=\"Practitioner/\"/>",
"direction" : "response",
"operator" : "contains",
"path" : "{2-100}generalPractitioner.reference",
"value" : "Practitioner/",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{6-100}generalPractitioner.reference\"/> <operator value=\"contains\"/> <value value=\"Practitioner/\"/>",
"direction" : "response",
"operator" : "contains",
"path" : "{6-100}generalPractitioner.reference",
"value" : "Practitioner/",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family\"/> <operator value=\"equals\"/> <value value=\"Allen\"/>",
"direction" : "response",
"operator" : "equals",
"path" : "{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family",
"value" : "Allen",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family\"/> <operator value=\"equals\"/> <value value=\"Gracia\"/>",
"direction" : "response",
"operator" : "equals",
"path" : "{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family",
"value" : "Gracia",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{generalPractitioner}name.family\"/> <operator value=\"in\"/> <value value=\"Gracia,McKay,Allen,Williams,Hill\"/>",
"direction" : "response",
"operator" : "in",
"path" : "{generalPractitioner}name.family",
"value" : "Gracia,McKay,Allen,Williams,Hill",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{generalPractitioner}name.family\"/> <operator value=\"in\"/> <value value=\"a,b,c,d,e\"/>",
"direction" : "response",
"operator" : "in",
"path" : "{generalPractitioner}name.family",
"value" : "a,b,c,d,e",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{generalPractitioner}name.family\"/> <operator value=\"in\"/> <value value=\"a,b,Allen,d,e\"/>",
"direction" : "response",
"operator" : "in",
"path" : "{generalPractitioner}name.family",
"value" : "a,b,Allen,d,e",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{any|generalPractitioner}name.family\"/> <operator value=\"in\"/> <value value=\"a,b,Allen,d,e\"/>",
"direction" : "response",
"operator" : "in",
"path" : "{any|generalPractitioner}name.family",
"value" : "a,b,Allen,d,e",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<path value=\"{any|generalPractiXXXXXXXXXXXXXioner}name.family\"/> <operator value=\"in\"/> <value value=\"a,b,Allen,d,e\"/>",
"direction" : "response",
"operator" : "in",
"path" : "{any|generalPractiXXXXXXXXXXXXXioner}name.family",
"value" : "a,b,Allen,d,e",
"warningOnly" : false
}
}
]
},
{
"id" : "AssertFhirPath",
"name" : "AssertFhirPath",
"description" : "Demonstrates expression assertions.",
"action" : [
{
"operation" : {
"type" : {
"system" : "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes",
"code" : "get"
},
"description" : "Retrieve NDJSON response that contains 5 Patient resources.",
"accept" : "ndjson",
"destination" : 1,
"encodeRequestUrl" : true,
"url" : "${outputBaseUrl}/1/Patient.ndjson"
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Confirm that the returned HTTP status is 200.",
"direction" : "response",
"operator" : "equals",
"responseCode" : "200",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"Patient.name.family\"/> <operator value=\"in\"/> <value value=\"Allen,Gracia\"/>",
"direction" : "response",
"expression" : "Patient.name.family",
"operator" : "in",
"value" : "Allen,Gracia",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{any}Patient.name.family\"/> <operator value=\"in\"/> <value value=\"Allen,Gracia\"/>",
"direction" : "response",
"expression" : "{any}Patient.name.family",
"operator" : "in",
"value" : "Allen,Gracia",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{all}Patient.name.family\"/> <operator value=\"equals\"/> <value value=\"Allen\"/>",
"direction" : "response",
"expression" : "{all}Patient.name.family",
"operator" : "equals",
"value" : "Allen",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{1-3}Patient.name.family\"/> <operator value=\"in\"/> <value value=\"McKay,Gracia,Allen\"/>",
"direction" : "response",
"expression" : "{1-3}Patient.name.family",
"operator" : "in",
"value" : "McKay,Gracia,Allen",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{1-100}Patient.name.family\"/> <operator value=\"in\"/> <value value=\"McKay,Gracia,Allen\"/>",
"direction" : "response",
"expression" : "{1-100}Patient.name.family",
"operator" : "in",
"value" : "McKay,Gracia,Allen",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Joshua,P\"/>",
"direction" : "response",
"expression" : "Patient.name.given",
"operator" : "in",
"value" : "Joshua,P",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{any}Patient.name.given\"/> <operator value=\"equals\"/> <value value=\"George\"/>",
"direction" : "response",
"expression" : "{any}Patient.name.given",
"operator" : "equals",
"value" : "George",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{1-3}Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Brian,Q,George,Carol,G\"/>",
"direction" : "response",
"expression" : "{1-3}Patient.name.given",
"operator" : "in",
"value" : "Brian,Q,George,Carol,G",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{1-100}Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Brian,Q,George,Carol,G\"/>",
"direction" : "response",
"expression" : "{1-100}Patient.name.given",
"operator" : "in",
"value" : "Brian,Q,George,Carol,G",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{1-100}Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Brian,Q,George,Carol,G,Joshua,H,P\"/>",
"direction" : "response",
"expression" : "{1-100}Patient.name.given",
"operator" : "in",
"value" : "Brian,Q,George,Carol,G,Joshua,H,P",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{.name[?(@.family=='Allen')]}Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Carol,G\"/>",
"direction" : "response",
"expression" : "{.name[?(@.family=='Allen')]}Patient.name.given",
"operator" : "in",
"value" : "Carol,G",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{.name[?(@.family=='McKay')]}Patient.name.given\"/> <operator value=\"equals\"/> <value value=\"George\"/>",
"direction" : "response",
"expression" : "{.name[?(@.family=='McKay')]}Patient.name.given",
"operator" : "equals",
"value" : "George",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"Patient.name.where(family='Gracia')\"/>",
"direction" : "response",
"expression" : "Patient.name.where(family='Gracia')",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "<expression value=\"{any}Patient.name.where(family='Gracia')\"/>",
"direction" : "response",
"expression" : "{any}Patient.name.where(family='Gracia')",
"warningOnly" : false
}
}
]
},
{
"id" : "AssertProfileValidation",
"name" : "AssertProfileValidation",
"description" : "Demonstrates validateProfileId assertions.",
"action" : [
{
"operation" : {
"type" : {
"system" : "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes",
"code" : "get"
},
"description" : "Retrieve NDJSON response that contains 5 Patient resources. Some of the resources are invalid (will fail AEGIS Validator validation)",
"accept" : "ndjson",
"destination" : 1,
"encodeRequestUrl" : true,
"url" : "${outputBaseUrl}/3/patient-some-invalid.ndjson"
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Confirm that the returned HTTP status is 200.",
"direction" : "response",
"operator" : "equals",
"responseCode" : "200",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Validate that the returned resource conforms to the corresponding FHIR resource profile.",
"direction" : "response",
"validateProfileId" : "resource-profile",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Validate that the returned resource conforms to the corresponding FHIR resource profile.",
"direction" : "response",
"validateProfileId" : "resource-profile-for-any",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Validate that the returned resource conforms to the corresponding FHIR resource profile.",
"direction" : "response",
"validateProfileId" : "resource-profile-for-first",
"warningOnly" : false
}
},
{
"assert" : {
"extension" : [
{
"url" : "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail",
"valueBoolean" : false
}
],
"description" : "Validate that the returned resource conforms to the corresponding FHIR resource profile.",
"direction" : "response",
"validateProfileId" : "resource-profile-for-Gracia",
"warningOnly" : false
}
}
]
}
]
}
IG © 2023+ AEGIS.net, Inc.. Package net.aegis.touchstone.fhir.testing#2.0.0 based on FHIR 4.0.1. Generated 2023-12-14
Links: Table of Contents |
QA Report