Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Example TestScript/testscript-example-search (Narrative)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: No defined compartments

This is the narrative for the resource. See also the XML, JSON or Turtle format. This example conforms to the profile TestScript.


Generated Narrative: TestScript

Resource TestScript "testscript-example-search"

url: http://hl7.org/fhir/TestScript/testscript-example-search

identifier: id: urn:oid:2.16.840.1.113883.4.642.12.3

version: 1.0

name: TestScriptExampleSearch

title: TestScript Example Search

status: draft

experimental: true

date: 2017-01-18

publisher: HL7

contact: Support: support@HL7.org

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: United States of America (the) (ISO 3166-1 Codes for the representation of names of countries and their subdivisions — Part 1: Country code#US)

purpose: Patient Search Operation

copyright: © HL7.org 2011+

metadata

Links

-UrlDescription
*http://hl7.org/fhir/patient.htmlDemographics and other administrative information about an individual or animal receiving care or other health-related services.

Capabilities

-RequiredValidatedDescriptionLinkCapabilities
*truefalsePatient Search Operationhttp://hl7.org/fhir/http.html#searchhttp://hl7.org/fhir/CapabilityStatement/example

Fixtures

-AutocreateAutodeleteResource
*falsefalsePatient/example: Peter Chalmers "Peter CHALMERS"

profile: Bundle

variable

name: PatientCreateLocation

headerField: Location

sourceId: PatientCreateResponse

variable

name: PatientSearchFamilyName

description: Enter patient search criteria for a known family name on the target system

hint: [Family name]

variable

name: PatientSearchGivenName

description: Enter patient search criteria for a known given name on the target system

hint: [Given name]

variable

name: PatientSearchBundleTotal

description: Evaluate the returned Patient searchset Bundle.total value

expression: Bundle.total.toInteger()

setup

action

Operations

-TypeResourceDescriptionAcceptEncodeRequestUrlParams
*search (Details: http://hl7.org/fhir/restful-interaction code search = 'search', stated as 'null')PatientTest simple search to verify server support.xmltrue?family=DONTEXPECTAMATCH&given=DONTEXPECTAMATCH

action

Asserts

-DescriptionDirectionOperatorRequestURLStopTestOnFailWarningOnly
*Confirm that the request url contains the family search parameter.requestcontainsfamilyfalsefalse

action

Asserts

-DescriptionDirectionResponseCodeStopTestOnFailWarningOnly
*Confirm that the returned HTTP status is 200(OK).response200falsefalse

action

Asserts

-DescriptionResourceStopTestOnFailWarningOnly
*Confirm that the returned resource type is Bundle.Bundlefalsefalse

action

Asserts

-DescriptionNavigationLinksStopTestOnFailWarningOnly
*Confirm that the returned Bundle correctly defines the navigation links.truefalsefalse

test

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

Operations

-TypeResourceDescriptionAcceptContentTypeEncodeRequestUrlResponseIdSourceId
*create (Details: http://hl7.org/fhir/restful-interaction code create = 'create', stated as 'null')PatientCreate a Patient resource and capture the returned HTTP Header Location.xmlxmltruePatientCreateResponsefixture-patient-create

action

Asserts

-DescriptionResponseStopTestOnFailWarningOnly
*Confirm that the returned HTTP status is 201(Created).createdfalsefalse

action

Asserts

-DescriptionDirectionHeaderFieldOperatorStopTestOnFailWarningOnly
*Confirm that the returned HTTP Header Location is present.responseLocationnotEmptyfalsefalse

action

Operations

-TypeDescriptionAcceptEncodeRequestUrlUrl
*read (Details: http://hl7.org/fhir/restful-interaction code read = 'read', stated as 'null')Read the created Patient using the captured Location URL value.xmltrue${PatientCreateLocation}

action

Asserts

-DescriptionResponseStopTestOnFailWarningOnly
*Confirm that the returned HTTP status is 200(OK).okayfalsefalse

action

Asserts

-DescriptionResourceStopTestOnFailWarningOnly
*Confirm that the returned resource type is Patient.Patientfalsefalse

test

name: Patient Search Dynamic

description: Search for Patient resources using the user defined dynamic variables ${PatientSearchFamilyName} and ${PatientSearchGivenName} and validate response.

action

Operations

-TypeResourceDescriptionAcceptEncodeRequestUrlParams
*search (Details: http://hl7.org/fhir/restful-interaction code search = 'search', stated as 'null')PatientSearch for Patient resources on the destination test system.xmltrue?family=${PatientSearchFamilyName}&given=${PatientSearchGivenName}

action

Asserts

-DescriptionResponseStopTestOnFailWarningOnly
*Confirm that the returned HTTP status is 200(OK).okayfalsefalse

action

Asserts

-DescriptionContentTypeStopTestOnFailWarningOnly
*Confirm that the returned format is XML.xmlfalsefalse

action

Asserts

-DescriptionResourceStopTestOnFailWarningOnly
*Confirm that the returned resource type is Bundle.Bundletruefalse

action

Asserts

-DescriptionStopTestOnFailValidateProfileIdWarningOnly
*Confirm that the returned Bundle conforms to the base FHIR specification.falsebundle-profilefalse

action

Asserts

-DescriptionOperatorPathStopTestOnFailValueWarningOnly
*Confirm that the returned Bundle type equals 'searchset'.equalsfhir:Bundle/fhir:type/@valuefalsesearchsetfalse

action

Asserts

-DescriptionExpressionStopTestOnFailWarningOnly
*Confirm that the returned Bundle total is greater than or equal to the number of returned entries.Bundle.total.toInteger() >= entry.count()falsefalse

 

 

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.