This page is part of the FHIR Specification (v1.8.0: STU 3 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
Search TestScript Example
{ "resourceType": "TestScript", "id": "testscript-example-search", "text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: testscript-example-search</p><p><b>url</b>: <a>http://hl7.org/fhir/TestScript/testscript-example-search</a></p><p><b>identifier</b>: urn:oid:1.3.6.1.4.1.21367.2005.3.7.9881</p><p><b>version</b>: 1.0</p><p><b>name</b>: TestScript Example Search</p><p><b>status</b>: draft</p><p><b>experimental</b>: true</p><p><b>publisher</b>: HL7</p><p><b>contact</b>: </p><p><b>date</b>: 26/09/2016</p><p><b>description</b>: TestScript example resource with simple Patient search test. The read tests will utilize user defined dynamic variables that will hold the Patient search parameter values.</p><p><b>jurisdiction</b>: United States of America (the) <span>(Details : {urn:iso:std:iso:3166 code 'US' = 'US', given as 'United States of America (the)'})</span></p><p><b>purpose</b>: Patient Search Operation</p><p><b>copyright</b>: © HL7.org 2011+</p><blockquote><p><b>metadata</b></p><h3>Capabilities</h3><table><tr><td>-</td><td><b>Required</b></td><td><b>Description</b></td><td><b>Link</b></td><td><b>Capabilities</b></td></tr><tr><td>*</td><td>true</td><td>Patient Search Operation</td><td><a>http://hl7.org/fhir/http.html#search</a></td><td><a>CapabilityStatement/example</a></td></tr></table></blockquote><h3>Fixtures</h3><table><tr><td>-</td><td><b>Resource</b></td></tr><tr><td>*</td><td><a>Peter Chalmers</a></td></tr></table><p><b>profile</b>: <a>http://hl7.org/fhir/StructureDefinition/Bundle</a></p><blockquote><p><b>variable</b></p><p><b>name</b>: PatientCreateLocation</p><p><b>headerField</b>: Location</p><p><b>sourceId</b>: PatientCreateResponse</p></blockquote><blockquote><p><b>variable</b></p><p><b>name</b>: PatientSearchFamilyName</p><p><b>description</b>: Enter patient search criteria for a known family name on the target system</p><p><b>hint</b>: [Family name]</p></blockquote><blockquote><p><b>variable</b></p><p><b>name</b>: PatientSearchGivenName</p><p><b>description</b>: Enter patient search criteria for a known given name on the target system</p><p><b>hint</b>: [Given name]</p></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Patient Create Search</p><p><b>description</b>: Create a Patient resource and capture the returned HTTP Header Location. Then search for (read) that Patient using the Location URL value and validate the response.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote></blockquote><blockquote><p><b>test</b></p><p><b>name</b>: Patient Search Dynamic</p><p><b>description</b>: Search for Patient resources using the user defined dynamic variables ${PatientSearchFamilyName} and ${PatientSearchGivenName} and validate response.</p><blockquote><p><b>action</b></p><h3>Operations</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote><blockquote><p><b>action</b></p><h3>Asserts</h3><table><tr><td>-</td></tr><tr><td>*</td></tr></table></blockquote></blockquote></div>" }, "url": "http://hl7.org/fhir/TestScript/testscript-example-search", "identifier": { "system": "urn:ietf:rfc:3986", "value": "urn:oid:1.3.6.1.4.1.21367.2005.3.7.9881" }, "version": "1.0", "name": "TestScript Example Search", "status": "draft", "experimental": true, "publisher": "HL7", "contact": [ { "name": "Support", "telecom": [ { "system": "email", "value": "support@HL7.org", "use": "work" } ] } ], "date": "2016-09-26", "description": "TestScript example resource with simple Patient search test. The read tests will utilize user defined dynamic variables that will hold the Patient search parameter values.", "jurisdiction": [ { "coding": [ { "system": "urn:iso:std:iso:3166", "code": "US", "display": "United States of America (the)" } ] } ], "purpose": "Patient Search Operation", "copyright": "© HL7.org 2011+", "metadata": { "capability": [ { "required": true, "description": "Patient Search Operation", "link": [ "http://hl7.org/fhir/http.html#search", "http://hl7.org/fhir/patient.html" ], "capabilities": { "reference": "CapabilityStatement/example" } } ] }, "fixture": [ { "id": "fixture-patient-create", "resource": { "reference": "Patient/example", "display": "Peter Chalmers" } } ], "profile": [ { "id": "bundle-profile", "reference": "http://hl7.org/fhir/StructureDefinition/Bundle" } ], "variable": [ { "name": "PatientCreateLocation", "headerField": "Location", "sourceId": "PatientCreateResponse" }, { "name": "PatientSearchFamilyName", "description": "Enter patient search criteria for a known family name on the target system", "hint": "[Family name]" }, { "name": "PatientSearchGivenName", "description": "Enter patient search criteria for a known given name on the target system", "hint": "[Given name]" } ], "test": [ { "id": "01-PatientCreateSearch", "name": "Patient Create Search", "description": "Create a Patient resource and capture the returned HTTP Header Location. Then search for (read) that Patient using the Location URL value and validate the response.", "action": [ { "operation": { "type": { "system": "http://hl7.org/fhir/testscript-operation-codes", "code": "create" }, "resource": "Patient", "description": "Create a Patient resource and capture the returned HTTP Header Location.", "accept": "xml", "contentType": "xml", "responseId": "PatientCreateResponse", "sourceId": "fixture-patient-create" } }, { "assert": { "description": "Confirm that the returned HTTP status is 201(Created).", "response": "created" } }, { "assert": { "description": "Confirm that the returned HTTP Header Location is present.", "direction": "response", "headerField": "Location", "operator": "notEmpty" } }, { "operation": { "type": { "system": "http://hl7.org/fhir/testscript-operation-codes", "code": "read" }, "description": "Read the created Patient using the captured Location URL value.", "accept": "xml", "url": "${PatientCreateLocation}" } }, { "assert": { "description": "Confirm that the returned HTTP status is 200(OK).", "response": "okay" } }, { "assert": { "description": "Confirm that the returned resource type is Patient.", "resource": "Patient" } } ] }, { "id": "02-PatientSearchDynamic", "name": "Patient Search Dynamic", "description": "Search for Patient resources using the user defined dynamic variables ${PatientSearchFamilyName} and ${PatientSearchGivenName} and validate response.", "action": [ { "operation": { "type": { "system": "http://hl7.org/fhir/testscript-operation-codes", "code": "search" }, "resource": "Patient", "description": "Search for Patient resources on the destination test system.", "accept": "xml", "params": "?family=${PatientSearchFamilyName}&given=${PatientSearchGivenName}" } }, { "assert": { "description": "Confirm that the returned HTTP status is 200(OK).", "response": "okay" } }, { "assert": { "description": "Confirm that the returned format is XML.", "contentType": "xml" } }, { "assert": { "description": "Confirm that the returned resource type is Bundle.", "resource": "Bundle" } }, { "assert": { "description": "Confirm that the returned Bundle conforms to the base FHIR specification.", "validateProfileId": "bundle-profile" } }, { "assert": { "description": "Confirm that the returned Bundle type equals 'searchset'.", "operator": "equals", "path": "fhir:Bundle/fhir:type/@value", "value": "searchset" } } ] } ] }
Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.