This is the Version 1.2.0 Release of the Touchstone Testing Implementation Guide, based on FHIR Version 4.0.1. See the Directory of published versions
Turtle Format: TestScript-ndjson-assertion-prefix
Raw ttl
@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@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:Resource.id [ fhir:value "ndjson-assertion-prefix"];
fhir:Resource.meta [
fhir:Meta.profile [
fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript";
fhir:index 0;
fhir:link <http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript> ]
];
fhir:DomainResource.text [
fhir:Narrative.status [ fhir:value "generated" ];
fhir:Narrative.div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative</b></p><p><b>url</b>: <code>http://touchstone.aegis.net/touchstone/fhir/testing/TestScript/ndjson-assertion-prefix</code></p><p><b>version</b>: 1.2.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>: 2020-12-06</p><p><b>publisher</b>: AEGIS.net, Inc.</p><p><b>contact</b>: Touchstone Support: <a href=\"mailto:Touchstone_Support@aegis.net\">Touchstone_Support@aegis.net</a></p><p><b>description</b>: Demonstrate NDJSON Assertion Prefix Syntax</p><p><b>jurisdiction</b>: <span title=\"Codes: {urn:iso:std:iso:3166 US}\">United States of America</span></p><p><b>copyright</b>: (c) AEGIS.net, Inc. 2015+</p><blockquote><p><b>destination</b></p><h3>Ids</h3><table class=\"grid\"><tr><td>-</td></tr><tr><td>*</td></tr></table><p><b>index</b>: 1</p><p><b>profile</b>: <span title=\"{http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types FHIR-Server}\">FHIR Server</span></p></blockquote><p><b>profile</b>: </p><ul><li><a href=\"http://hl7.org/fhir/StructureDefinition/Patient\">Generated Summary: url: http://hl7.org/fhir/StructureDefinition/Patient; version: 4.0.1; name: Patient; ACTIVE; date: Oct 31, 2019 6:29:23 PM; publisher: Health Level Seven International (Patient Administration); http://hl7.org/fhir, http://www.hl7.org/Special/com...; description: Demographics and other administrative information about an individual or animal receiving care or other health-related services.; purpose: Tracking patient is the center of the healthcare process.; 4.0.1; RESOURCE; type: Patient; baseDefinition: http://hl7.org/fhir/StructureDefinition/DomainResource; SPECIALIZATION</a></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><a href=\"{.name[?(@.family=='Gracia')]}http://hl7.org/fhir/StructureDefinition/Patient\">{.name[?(@.family=='Gracia')]}http://hl7.org/fhir/StructureDefinition/Patient</a></li></ul><h3>Variables</h3><table class=\"grid\"><tr><td>-</td><td><b>Name</b></td><td><b>DefaultValue</b></td></tr><tr><td>*</td><td>outputBaseUrl</td><td>http://localhost:33000/bulk-api/output</td></tr></table><blockquote><p><b>test</b></p><h3>Ids</h3><table class=\"grid\"><tr><td>-</td></tr><tr><td>*</td></tr></table><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>-</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>*</td><td><span title=\"{http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes get}\">GET</span></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>-</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>*</td><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>-</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>*</td><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>-</td><td><b>Extension</b></td><td><b>Direction</b></td><td><b>ContentType</b></td><td><b>WarningOnly</b></td></tr><tr><td>*</td><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>-</td><td><b>Extension</b></td><td><b>Direction</b></td><td><b>Resource</b></td><td><b>WarningOnly</b></td></tr><tr><td>*</td><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>-</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>*</td><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><h3>Ids</h3><table class=\"grid\"><tr><td>-</td></tr><tr><td>*</td></tr></table><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>-</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>*</td><td><span title=\"{http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes get}\">GET</span></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>-</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>*</td><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>-</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>*</td><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><h3>Ids</h3><table class=\"grid\"><tr><td>-</td></tr><tr><td>*</td></tr></table><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>-</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>*</td><td><span title=\"{http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes get}\">GET</span></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>-</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>*</td><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>-</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>*</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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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><h3>Ids</h3><table class=\"grid\"><tr><td>-</td></tr><tr><td>*</td></tr></table><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>-</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>*</td><td><span title=\"{http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes get}\">GET</span></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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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><h3>Ids</h3><table class=\"grid\"><tr><td>-</td></tr><tr><td>*</td></tr></table><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>-</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>*</td><td><span title=\"{http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes get}\">GET</span></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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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><h3>Ids</h3><table class=\"grid\"><tr><td>-</td></tr><tr><td>*</td></tr></table><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>-</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>*</td><td><span title=\"{http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes get}\">GET</span></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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>-</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>*</td><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>"
];
fhir:TestScript.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/TestScript/ndjson-assertion-prefix"];
fhir:TestScript.version [ fhir:value "1.2.0"];
fhir:TestScript.name [ fhir:value "NDJSONAssertionPrefixSyntax"];
fhir:TestScript.title [ fhir:value "Demonstrate NDJSON Assertion Prefix Syntax"];
fhir:TestScript.status [ fhir:value "active"];
fhir:TestScript.date [ fhir:value "2020-12-06"^^xsd:date];
fhir:TestScript.publisher [ fhir:value "AEGIS.net, Inc."];
fhir:TestScript.contact [
fhir:index 0;
fhir:ContactDetail.name [ fhir:value "Touchstone Support" ];
fhir:ContactDetail.telecom [
fhir:index 0;
fhir:ContactPoint.system [ fhir:value "email" ];
fhir:ContactPoint.value [ fhir:value "Touchstone_Support@aegis.net" ];
fhir:ContactPoint.use [ fhir:value "work" ] ]
];
fhir:TestScript.description [ fhir:value "Demonstrate NDJSON Assertion Prefix Syntax"];
fhir:TestScript.jurisdiction [
fhir:index 0;
fhir:CodeableConcept.coding [
fhir:index 0;
fhir:Coding.system [ fhir:value "urn:iso:std:iso:3166" ];
fhir:Coding.code [ fhir:value "US" ];
fhir:Coding.display [ fhir:value "United States of America" ] ]
];
fhir:TestScript.copyright [ fhir:value "(c) AEGIS.net, Inc. 2015+"];
fhir:TestScript.destination [
fhir:index 0;
fhir:Element.id [ fhir:value "Server" ];
fhir:TestScript.destination.index [ fhir:value "1"^^xsd:integer ];
fhir:TestScript.destination.profile [
fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/testscript-profile-destination-types" ];
fhir:Coding.code [ fhir:value "FHIR-Server" ] ]
];
fhir:TestScript.profile [
fhir:index 0;
fhir:link <http://hl7.org/fhir/StructureDefinition/Patient>;
fhir:Element.id [ fhir:value "resource-profile" ];
fhir:Reference.reference [ fhir:value "http://hl7.org/fhir/StructureDefinition/Patient" ]
], [
fhir:index 1;
fhir:Element.id [ fhir:value "resource-profile-for-any" ];
fhir:Reference.reference [ fhir:value "{any}http://hl7.org/fhir/StructureDefinition/Patient" ]
], [
fhir:index 2;
fhir:Element.id [ fhir:value "resource-profile-for-first" ];
fhir:Reference.reference [ fhir:value "{1}http://hl7.org/fhir/StructureDefinition/Patient" ]
], [
fhir:index 3;
fhir:Element.id [ fhir:value "resource-profile-for-Gracia" ];
fhir:Reference.reference [ fhir:value "{.name[?(@.family=='Gracia')]}http://hl7.org/fhir/StructureDefinition/Patient" ]
];
fhir:TestScript.variable [
fhir:index 0;
fhir:TestScript.variable.name [ fhir:value "outputBaseUrl" ];
fhir:TestScript.variable.defaultValue [ fhir:value "http://localhost:33000/bulk-api/output" ]
];
fhir:TestScript.test [
fhir:index 0;
fhir:Element.id [ fhir:value "AssertContentTypeResourceAndValidation" ];
fhir:TestScript.test.name [ fhir:value "AssertContentTypeResourceAndValidation" ];
fhir:TestScript.test.description [ fhir:value "Demonstrates contentType, resource and validateProfile assertions with no filters." ];
fhir:TestScript.test.action [
fhir:index 0;
fhir:TestScript.test.action.operation [
fhir:TestScript.setup.action.operation.type [
fhir:Coding.system [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes" ];
fhir:Coding.code [ fhir:value "get" ] ];
fhir:TestScript.setup.action.operation.description [ fhir:value "Request BulkData" ];
fhir:TestScript.setup.action.operation.accept [ fhir:value "ndjson" ];
fhir:TestScript.setup.action.operation.destination [ fhir:value "1"^^xsd:integer ];
fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ];
fhir:TestScript.setup.action.operation.url [ fhir:value "${outputBaseUrl}/1/Patient.ndjson" ] ] ], [
fhir:index 1;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Confirm that the client requested an Accept of the FHIR JSON mime type 'application/fhir+json'." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "request" ];
fhir:TestScript.setup.action.assert.headerField [ fhir:value "Accept" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "contains" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "ndjson" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 2;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Confirm that the returned HTTP status is 200." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.responseCode [ fhir:value "200" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 3;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.contentType [ fhir:value "ndjson" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 4;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.resource [ fhir:value "Patient" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 5;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Validate that the returned resource conforms to the corresponding FHIR resource profile." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.validateProfileId [ fhir:value "resource-profile" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ]
], [
fhir:index 1;
fhir:Element.id [ fhir:value "AssertResourceType" ];
fhir:TestScript.test.name [ fhir:value "AssertResourceType" ];
fhir:TestScript.test.description [ fhir:value "Demonstrates resource assertions." ];
fhir:TestScript.test.action [
fhir:index 0;
fhir:TestScript.test.action.operation [
fhir:TestScript.setup.action.operation.type [
fhir:Coding.system [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes" ];
fhir:Coding.code [ fhir:value "get" ] ];
fhir:TestScript.setup.action.operation.description [ fhir:value "Retrieve invalid NDJSON that contains mix of Patient and Person resource types." ];
fhir:TestScript.setup.action.operation.accept [ fhir:value "ndjson" ];
fhir:TestScript.setup.action.operation.destination [ fhir:value "1"^^xsd:integer ];
fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ];
fhir:TestScript.setup.action.operation.url [ fhir:value "${outputBaseUrl}/2/patient-person-mix.ndjson" ] ] ], [
fhir:index 1;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Confirm that the returned HTTP status is 200." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.responseCode [ fhir:value "200" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 2;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<resource value=\"Patient\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.resource [ fhir:value "Patient" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ]
], [
fhir:index 2;
fhir:Element.id [ fhir:value "AssertResourceCount" ];
fhir:TestScript.test.name [ fhir:value "AssertResourceCount" ];
fhir:TestScript.test.description [ fhir:value "Demonstrates resource-count assertions (only works with NDJSON responses)." ];
fhir:TestScript.test.action [
fhir:index 0;
fhir:TestScript.test.action.operation [
fhir:TestScript.setup.action.operation.type [
fhir:Coding.system [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes" ];
fhir:Coding.code [ fhir:value "get" ] ];
fhir:TestScript.setup.action.operation.description [ fhir:value "Retrieve NDJSON response that contains 5 Patient resources." ];
fhir:TestScript.setup.action.operation.accept [ fhir:value "ndjson" ];
fhir:TestScript.setup.action.operation.destination [ fhir:value "1"^^xsd:integer ];
fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ];
fhir:TestScript.setup.action.operation.url [ fhir:value "${outputBaseUrl}/1/Patient.ndjson" ] ] ], [
fhir:index 1;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Confirm that the returned HTTP status is 200." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.responseCode [ fhir:value "200" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 2;
fhir:TestScript.test.action.assert [
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"resource-count\"/> <operator value=\"equals\"/> <value value=\"5\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "resource-count" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "5" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 3;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"resource-count\"/> <operator value=\"equals\"/> <value value=\"6\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "resource-count" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "6" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 4;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"resource-count\"/> <operator value=\"greaterThan\"/> <value value=\"4\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "greaterThan" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "resource-count" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "4" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 5;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{generalPractitioner}resource-count\"/> <operator value=\"greaterThan\"/> <value value=\"4\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "greaterThan" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{generalPractitioner}resource-count" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "4" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 6;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count\"/> <operator value=\"greaterThan\"/> <value value=\"4\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "greaterThan" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "4" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 7;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count\"/> <operator value=\"equals\"/> <value value=\"1\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{generalPractitioner[?(@.reference=='Practitioner/4')]}resource-count" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "1" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ]
], [
fhir:index 3;
fhir:Element.id [ fhir:value "AssertPath" ];
fhir:TestScript.test.name [ fhir:value "AssertPath" ];
fhir:TestScript.test.description [ fhir:value "Demonstrates path assertions." ];
fhir:TestScript.test.action [
fhir:index 0;
fhir:TestScript.test.action.operation [
fhir:TestScript.setup.action.operation.type [
fhir:Coding.system [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes" ];
fhir:Coding.code [ fhir:value "get" ] ];
fhir:TestScript.setup.action.operation.description [ fhir:value "Retrieve NDJSON response that contains 5 Patient resources." ];
fhir:TestScript.setup.action.operation.accept [ fhir:value "ndjson" ];
fhir:TestScript.setup.action.operation.destination [ fhir:value "1"^^xsd:integer ];
fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ];
fhir:TestScript.setup.action.operation.url [ fhir:value "${outputBaseUrl}/1/Patient.ndjson" ] ] ], [
fhir:index 1;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Confirm that the returned HTTP status is 200." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.responseCode [ fhir:value "200" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 2;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"generalPractitioner.reference\"/> <operator value=\"contains\"/> <value value=\"Practitioner/\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "contains" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "generalPractitioner.reference" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Practitioner/" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 3;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"generalPractitioner.reference\"/> <operator value=\"equals\"/> <value value=\"Practitioner/2\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "generalPractitioner.reference" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Practitioner/2" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 4;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{any}generalPractitioner.reference\"/> <operator value=\"equals\"/> <value value=\"Practitioner/2\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{any}generalPractitioner.reference" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Practitioner/2" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 5;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{2}generalPractitioner.reference\"/> <operator value=\"equals\"/> <value value=\"Practitioner/2\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{2}generalPractitioner.reference" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Practitioner/2" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 6;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{3}generalPractitioner.reference\"/> <operator value=\"equals\"/> <value value=\"Practitioner/2\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{3}generalPractitioner.reference" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Practitioner/2" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 7;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{2-5}generalPractitioner.reference\"/> <operator value=\"contains\"/> <value value=\"Practitioner/\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "contains" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{2-5}generalPractitioner.reference" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Practitioner/" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 8;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{2-100}generalPractitioner.reference\"/> <operator value=\"contains\"/> <value value=\"Practitioner/\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "contains" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{2-100}generalPractitioner.reference" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Practitioner/" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 9;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{6-100}generalPractitioner.reference\"/> <operator value=\"contains\"/> <value value=\"Practitioner/\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "contains" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{6-100}generalPractitioner.reference" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Practitioner/" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 10;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family\"/> <operator value=\"equals\"/> <value value=\"Allen\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Allen" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 11;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family\"/> <operator value=\"equals\"/> <value value=\"Gracia\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{generalPractitioner[?(@.reference=='Practitioner/3')]}name.family" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Gracia" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 12;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{generalPractitioner}name.family\"/> <operator value=\"in\"/> <value value=\"Gracia,McKay,Allen,Williams,Hill\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{generalPractitioner}name.family" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Gracia,McKay,Allen,Williams,Hill" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 13;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{generalPractitioner}name.family\"/> <operator value=\"in\"/> <value value=\"a,b,c,d,e\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{generalPractitioner}name.family" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "a,b,c,d,e" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 14;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{generalPractitioner}name.family\"/> <operator value=\"in\"/> <value value=\"a,b,Allen,d,e\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{generalPractitioner}name.family" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "a,b,Allen,d,e" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 15;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{any|generalPractitioner}name.family\"/> <operator value=\"in\"/> <value value=\"a,b,Allen,d,e\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{any|generalPractitioner}name.family" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "a,b,Allen,d,e" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 16;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<path value=\"{any|generalPractiXXXXXXXXXXXXXioner}name.family\"/> <operator value=\"in\"/> <value value=\"a,b,Allen,d,e\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.path [ fhir:value "{any|generalPractiXXXXXXXXXXXXXioner}name.family" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "a,b,Allen,d,e" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ]
], [
fhir:index 4;
fhir:Element.id [ fhir:value "AssertFhirPath" ];
fhir:TestScript.test.name [ fhir:value "AssertFhirPath" ];
fhir:TestScript.test.description [ fhir:value "Demonstrates expression assertions." ];
fhir:TestScript.test.action [
fhir:index 0;
fhir:TestScript.test.action.operation [
fhir:TestScript.setup.action.operation.type [
fhir:Coding.system [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes" ];
fhir:Coding.code [ fhir:value "get" ] ];
fhir:TestScript.setup.action.operation.description [ fhir:value "Retrieve NDJSON response that contains 5 Patient resources." ];
fhir:TestScript.setup.action.operation.accept [ fhir:value "ndjson" ];
fhir:TestScript.setup.action.operation.destination [ fhir:value "1"^^xsd:integer ];
fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ];
fhir:TestScript.setup.action.operation.url [ fhir:value "${outputBaseUrl}/1/Patient.ndjson" ] ] ], [
fhir:index 1;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Confirm that the returned HTTP status is 200." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.responseCode [ fhir:value "200" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 2;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"Patient.name.family\"/> <operator value=\"in\"/> <value value=\"Allen,Gracia\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "Patient.name.family" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Allen,Gracia" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 3;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{any}Patient.name.family\"/> <operator value=\"in\"/> <value value=\"Allen,Gracia\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{any}Patient.name.family" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Allen,Gracia" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 4;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{all}Patient.name.family\"/> <operator value=\"equals\"/> <value value=\"Allen\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{all}Patient.name.family" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Allen" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 5;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{1-3}Patient.name.family\"/> <operator value=\"in\"/> <value value=\"McKay,Gracia,Allen\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{1-3}Patient.name.family" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "McKay,Gracia,Allen" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 6;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{1-100}Patient.name.family\"/> <operator value=\"in\"/> <value value=\"McKay,Gracia,Allen\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{1-100}Patient.name.family" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "McKay,Gracia,Allen" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 7;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Joshua,P\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "Patient.name.given" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Joshua,P" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 8;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{any}Patient.name.given\"/> <operator value=\"equals\"/> <value value=\"George\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{any}Patient.name.given" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "George" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 9;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{1-3}Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Brian,Q,George,Carol,G\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{1-3}Patient.name.given" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Brian,Q,George,Carol,G" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 10;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{1-100}Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Brian,Q,George,Carol,G\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{1-100}Patient.name.given" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Brian,Q,George,Carol,G" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 11;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{1-100}Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Brian,Q,George,Carol,G,Joshua,H,P\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{1-100}Patient.name.given" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Brian,Q,George,Carol,G,Joshua,H,P" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 12;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{.name[?(@.family=='Allen')]}Patient.name.given\"/> <operator value=\"in\"/> <value value=\"Carol,G\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{.name[?(@.family=='Allen')]}Patient.name.given" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "in" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "Carol,G" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 13;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{.name[?(@.family=='McKay')]}Patient.name.given\"/> <operator value=\"equals\"/> <value value=\"George\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{.name[?(@.family=='McKay')]}Patient.name.given" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.value [ fhir:value "George" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 14;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"Patient.name.where(family='Gracia')\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "Patient.name.where(family='Gracia')" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 15;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "<expression value=\"{any}Patient.name.where(family='Gracia')\"/>" ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.expression [ fhir:value "{any}Patient.name.where(family='Gracia')" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ]
], [
fhir:index 5;
fhir:Element.id [ fhir:value "AssertProfileValidation" ];
fhir:TestScript.test.name [ fhir:value "AssertProfileValidation" ];
fhir:TestScript.test.description [ fhir:value "Demonstrates validateProfileId assertions." ];
fhir:TestScript.test.action [
fhir:index 0;
fhir:TestScript.test.action.operation [
fhir:TestScript.setup.action.operation.type [
fhir:Coding.system [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/CodeSystem/codesystem-testscript-operation-codes" ];
fhir:Coding.code [ fhir:value "get" ] ];
fhir:TestScript.setup.action.operation.description [ fhir:value "Retrieve NDJSON response that contains 5 Patient resources. Some of the resources are invalid (will fail AEGIS Validator validation)" ];
fhir:TestScript.setup.action.operation.accept [ fhir:value "ndjson" ];
fhir:TestScript.setup.action.operation.destination [ fhir:value "1"^^xsd:integer ];
fhir:TestScript.setup.action.operation.encodeRequestUrl [ fhir:value "true"^^xsd:boolean ];
fhir:TestScript.setup.action.operation.url [ fhir:value "${outputBaseUrl}/3/patient-some-invalid.ndjson" ] ] ], [
fhir:index 1;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Confirm that the returned HTTP status is 200." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.operator [ fhir:value "equals" ];
fhir:TestScript.setup.action.assert.responseCode [ fhir:value "200" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 2;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Validate that the returned resource conforms to the corresponding FHIR resource profile." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.validateProfileId [ fhir:value "resource-profile" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 3;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Validate that the returned resource conforms to the corresponding FHIR resource profile." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.validateProfileId [ fhir:value "resource-profile-for-any" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 4;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Validate that the returned resource conforms to the corresponding FHIR resource profile." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.validateProfileId [ fhir:value "resource-profile-for-first" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ], [
fhir:index 5;
fhir:TestScript.test.action.assert [
fhir:Element.extension [
fhir:index 0;
fhir:Extension.url [ fhir:value "http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail" ];
fhir:Extension.valueBoolean [ fhir:value "false"^^xsd:boolean ] ];
fhir:TestScript.setup.action.assert.description [ fhir:value "Validate that the returned resource conforms to the corresponding FHIR resource profile." ];
fhir:TestScript.setup.action.assert.direction [ fhir:value "response" ];
fhir:TestScript.setup.action.assert.validateProfileId [ fhir:value "resource-profile-for-Gracia" ];
fhir:TestScript.setup.action.assert.warningOnly [ fhir:value "false"^^xsd:boolean ] ] ]
].
<http://hl7.org/fhir/StructureDefinition/Patient> a fhir:StructureDefinition.
# - ontology header ------------------------------------------------------------
a owl:Ontology;
owl:imports fhir:fhir.ttl.