Implementation
Support
This
page
is
part
of
the
FHIR
Specification
(v5.0.0:
R5
-
STU
v6.0.0-ballot2:
Release
6
Ballot
(2nd
Draft)
(see
Ballot
Notes
).
This
is
the
The
current
published
version
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
| FHIR Infrastructure Work Group | Maturity Level : N/A | Standards Status : Informative | Compartments : No defined compartments |
Raw XML ( canonical form + also see XML Format Specification )
Search TestScript Example (id = "testscript-example-search")
<?xml version="1.0" encoding="UTF-8"?> <TestScript xmlns="http://hl7.org/fhir"> <id value="testscript-example-search"/>display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%: 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.ISO 3166-1 Codes for the representation of names of countries and their subdivisions — Part 1: Country codeDemographics and other administrative information about an individual or animal receiving care or other health-related services.search (Details: http://hl7.org/fhir/restful-interaction code search = 'search', stated as 'null'): 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.create (Details: http://hl7.org/fhir/restful-interaction code create = 'create', stated as 'null')read (Details: http://hl7.org/fhir/restful-interaction code read = 'read', stated as 'null'): Search for Patient resources using the user defined dynamic variables ${PatientSearchFamily Name} and ${PatientSearchGivenName} and validate response.search (Details: http://hl7.org/fhir/restful-interaction code search = 'search', stated as 'null')Confirm that the returned Bundle total is greater than or equal to the number of returned entries.<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"> <valueCode value="fhir"/> </extension> <url value="http://hl7.org/fhir/TestScript/testscript-example-search"/> <identifier> <system value="urn:ietf:rfc:3986"/> <value value="urn:oid:2.16.840.1.113883.4.642.12.3"/> </identifier> <version value="1.0"/> <name value="TestScriptExampleSearch"/> <title value="TestScript Example Search"/> <status value="draft"/> <experimental value="true"/> <date value="2017-01-18"/><publisher value="HL7 International / FHIR Infrastructure"/> <contact><telecom><system value="url"/> <value value="http://www.hl7.org/Special/committees/fiwg"/> </telecom> </contact> <description value="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 value="urn:iso:std:iso:3166"/> <code value="US"/><display value="United States of America"/> </coding> </jurisdiction> <purpose value="Patient Search Operation"/> <copyright value="© HL7.org 2011+"/> <metadata> <link> <url value="http://hl7.org/fhir/patient.html"/> <description value="Demographics and other administrative information about an individual or animal receiving care or other health-related services."/> </link> <capability> <required value="true"/> <validated value="false"/> <description value="Patient Search Operation"/> <link value="http://hl7.org/fhir/http.html#search"/> <capabilities value="http://hl7.org/fhir/CapabilityStatement/example"/> </capability> </metadata> <fixture id="fixture-patient-create"> <autocreate value="false"/> <autodelete value="false"/> <resource> <reference value="Patient/example"/> <display value="Peter Chalmers"/> </resource> </fixture><profile value="http://hl7.org/fhir/StructureDefinition/Bundle"> <id value="bundle-profile"/> </profile> <variable> <name value="PatientCreateLocation"/> <headerField value="Location"/> <sourceId value="PatientCreateResponse"/> </variable> <variable> <name value="PatientSearchFamilyName"/> <description value="Enter patient search criteria for a known family name on the target system"/> <hint value="[Family name]"/> </variable> <variable> <name value="PatientSearchGivenName"/> <description value="Enter patient search criteria for a known given name on the target system"/> <hint value="[Given name]"/> </variable> <variable> <name value="PatientSearchBundleTotal"/> <description value="Evaluate the returned Patient searchset Bundle.total value"/> <expression value="Bundle.total.toInteger()"/> </variable> <setup> <action> <operation> <type> <system value="http://hl7.org/fhir/restful-interaction"/> <code value="search"/> </type> <resource value="Patient"/> <description value="Test simple search to verify server support."/> <accept value="xml"/> <encodeRequestUrl value="true"/> <params value="?family=DONTEXPECTAMATCH&given=DONTEXPECTAMATCH"/> </operation> </action> <action> <assert> <description value="Confirm that the request url contains the family search parameter."/> <direction value="request"/> <operator value="contains"/> <requestURL value="family"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned HTTP status is 200(OK)."/> <direction value="response"/> <responseCode value="200"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned resource type is Bundle."/> <resource value="Bundle"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned Bundle correctly defines the navigation links."/> <navigationLinks value="true"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> </setup> <test id="01-PatientCreateSearch"> <name value="Patient Create Search"/> <description value="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 value="http://hl7.org/fhir/restful-interaction"/> <code value="create"/> </type> <resource value="Patient"/> <description value="Create a Patient resource and capture the returned HTTP Header Location."/> <accept value="xml"/> <contentType value="xml"/> <encodeRequestUrl value="true"/> <responseId value="PatientCreateResponse"/> <sourceId value="fixture-patient-create"/> </operation> </action> <action> <assert> <description value="Confirm that the returned HTTP status is 201(Created)."/> <response value="created"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned HTTP Header Location is present."/> <direction value="response"/> <headerField value="Location"/> <operator value="notEmpty"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> <action> <operation> <type> <system value="http://hl7.org/fhir/restful-interaction"/> <code value="read"/> </type> <description value="Read the created Patient using the captured Location URL value."/> <accept value="xml"/> <encodeRequestUrl value="true"/> <url value="${PatientCreateLocation}"/> </operation> </action> <action> <assert> <description value="Confirm that the returned HTTP status is 200(OK)."/> <response value="okay"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned resource type is Patient."/> <resource value="Patient"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> </test> <test id="02-PatientSearchDynamic"> <name value="Patient Search Dynamic"/> <description value="Search for Patient resources using the user defined dynamic variables ${PatientSearchFamilyNa me} and ${PatientSearchGivenName} and validate response."/> <action> <operation> <type> <system value="http://hl7.org/fhir/restful-interaction"/> <code value="search"/> </type> <resource value="Patient"/> <description value="Search for Patient resources on the destination test system."/> <accept value="xml"/> <encodeRequestUrl value="true"/> <params value="?family=${PatientSearchFamilyName}&given=${PatientSearchGivenName}"/> </operation> </action> <action> <assert> <description value="Confirm that the returned HTTP status is 200(OK)."/> <response value="okay"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned format is XML."/> <contentType value="xml"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned resource type is Bundle."/> <resource value="Bundle"/> <stopTestOnFail value="true"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned Bundle conforms to the base FHIR specification."/> <stopTestOnFail value="false"/> <validateProfileId value="bundle-profile"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned Bundle type equals 'searchset'."/> <operator value="equals"/> <path value="fhir:Bundle/fhir:type/@value"/> <stopTestOnFail value="false"/> <value value="searchset"/> <warningOnly value="false"/> </assert> </action> <action> <assert> <description value="Confirm that the returned Bundle total is greater than or equal to the number of returned entries."/> <expression value="Bundle.total.toInteger() >= entry.count()"/> <stopTestOnFail value="false"/> <warningOnly value="false"/> </assert> </action> </test> </ TestScript >
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.
FHIR
®©
HL7.org
2011+.
FHIR
R5
hl7.fhir.core#5.0.0
R6
hl7.fhir.core#6.0.0-ballot2
generated
on
Sun,
Mar
26,
2023
15:26+1100.
Mon,
Aug
12,
2024
16:59+0800.
Links:
Search
|
Version
History
|
Contents
|
Glossary
|
QA
|
Compare
to
R4
|
Compare
to
R4B
R5
|
|
Propose
a
change