FHIR Testing IG
0.1.0-SNAPSHOT - Draft International flag

FHIR Testing IG, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 0.1.0-SNAPSHOT built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-testing-ig/ and changes regularly. See the Directory of published versions

TestScript: TestScript Example

Computable Name:

Language: en

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

identifier: Uniform Resource Identifier (URI)/urn:oid:2.16.840.1.113883.4.642.12.4

version: 1.0

name: TestScriptExample

title: TestScript Example

status: Draft

experimental: true

date: 2017-01-18

publisher: HL7

contact: Support: support@HL7.org

description:

TestScript example resource with setup to delete if present and create a new instance of a Patient; and single test definition to read the created Patient with various asserts.

UseContexts

-CodeValue[x]
*UsageContextType: focus (Clinical Focus)positive
*UsageContextType: program (Program)2018-? year

jurisdiction: United States of America

purpose:

Patient Conditional Create (Update), Read and Delete Operations

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.

capability

required: true

validated: false

description: Patient Update, Read and Delete Operations

link: http://hl7.org/fhir/http.html#delete, http://hl7.org/fhir/http.html#read, http://hl7.org/fhir/http.html#update

capabilities: http://hl7.org/fhir/CapabilityStatement/example

fixture

id

fixture-patient-create

autocreate: false

autodelete: false

resource: Peter Chalmers

fixture

id

fixture-patient-minimum

autocreate: false

autodelete: false

resource: Peter Chalmers (minimum)

profile: Patient

variable

name: createResourceId

Expressions

-LanguageExpression
*application/xmlPatient/id

sourceId: fixture-patient-create

setup

action

Operations

-TypeResourceLabelDescriptionAcceptEncodeRequestUrlParams
*FHIR Restful Interactions: delete (delete)http://hl7.org/fhir/StructureDefinition/PatientSetupDeletePatientExecute a delete operation to insure the patient does not exist on the server.jsontrue/${createResourceId}

action

Asserts

-DescriptionDirectionOperatorResponseCodeStopTestOnFailWarningOnly
*Confirm that the returned HTTP status is 200(OK) or 204(No Content).responsein200,204falsefalse

action

Operations

-TypeResourceLabelDescriptionAcceptContentTypeEncodeRequestUrlParamsSourceId
*FHIR Restful Interactions: update (update)http://hl7.org/fhir/StructureDefinition/PatientSetupCreatePatientCreate patient resource on test server using the contents of fixture-patient-createjsonjsontrue/${createResourceId}fixture-patient-create

action

Asserts

-DescriptionDirectionResponseCodeStopTestOnFailWarningOnly
*Confirm that the returned HTTP status is 201(Created).response201falsefalse

action

Operations

-TypeResourceDescriptionEncodeRequestUrlTargetId
*FHIR Restful Interactions: read (read)http://hl7.org/fhir/StructureDefinition/PatientRead the created patient resource on the test server using the id from fixture-patient-create. Verify contents.truefixture-patient-create

action

Asserts

-DescriptionDirectionResponseStopTestOnFailWarningOnly
*Confirm that the returned HTTP status is 200(OK).responseOKfalsefalse

action

assert

description: Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit compareToSourceId reference to fixture-patient-create used to create the Patient.

compareToSourceId: fixture-patient-create

CompareToSourceExpressions

-LanguageExpression
*text/fhirpathPatient.name.first().family

operator: equals

stopTestOnFail: false

warningOnly: false

test

id

01-ReadPatient

name: Read Patient

description: Read a Patient and validate response.

action

Operations

-TypeResourceDescriptionEncodeRequestUrlResponseIdTargetId
*FHIR Restful Interactions: read (read)http://hl7.org/fhir/StructureDefinition/PatientRead the patient resource on the test server using the id from fixture-patient-create. Prevent URL encoding of the request.falsefixture-patient-readfixture-patient-create

action

Asserts

-LabelDescriptionDirectionResponseStopTestOnFailWarningOnly
*01-ReadPatientOKConfirm that the returned HTTP status is 200(OK).responseOKfalsefalse

action

Asserts

-DescriptionDirectionHeaderFieldOperatorStopTestOnFailWarningOnly
*Confirm that the returned HTTP Header Last-Modified is present. Warning only as the server might not support versioning.responseLast-ModifiednotEmptyfalsetrue

action

Asserts

-DescriptionResourceStopTestOnFailWarningOnly
*Confirm that the returned resource type is Patient.http://hl7.org/fhir/StructureDefinition/Patientfalsefalse

action

Asserts

-DescriptionStopTestOnFailValidateProfileIdWarningOnly
*Confirm that the returned Patient conforms to the base FHIR specification.falsepatient-profilefalse

action

assert

description: Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit sourceId reference to read responseId fixture.

Expressions

-LanguageExpression
*application/xmlfhir:Patient/fhir:name/fhir:family/@value

operator: equals

sourceId: fixture-patient-read

stopTestOnFail: false

value: Chalmers

warningOnly: false

action

assert

description: Confirm that the returned Patient contains the expected given name 'Peter'. Uses explicit sourceId reference to read responseId fixture.

Expressions

-LanguageExpression
*application/xmlfhir:Patient/fhir:name/fhir:given/@value

operator: equals

sourceId: fixture-patient-read

stopTestOnFail: false

value: Peter

warningOnly: false

action

assert

description: Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit compareToSourceId reference to fixture-patient-create used to create the Patient and implicit reference to read response payload.

compareToSourceId: fixture-patient-create

CompareToSourceExpressions

-LanguageExpression
*application/xmlfhir:Patient/fhir:name/fhir:family/@value

Expressions

-LanguageExpression
*application/xmlfhir:Patient/fhir:name/fhir:family/@value

operator: equals

stopTestOnFail: false

warningOnly: false

action

assert

description: Confirm that the returned Patient contains the expected family name 'Chalmers'. Uses explicit compareToSourceId reference to fixture-patient-create used to create the Patient and explicit reference to read response payload and default operator of 'equals'.

compareToSourceId: fixture-patient-create

CompareToSourceExpressions

-LanguageExpression
*application/xmlfhir:Patient/fhir:name/fhir:given/@value

Expressions

-LanguageExpression
*application/xmlfhir:Patient/fhir:name/fhir:given/@value

sourceId: fixture-patient-read

stopTestOnFail: false

warningOnly: false

action

Asserts

-DescriptionMinimumIdStopTestOnFailWarningOnly
*Confirm that the returned resource contains the expected retained elements and values. Warning only to provide users with reviewable results.fixture-patient-minimumfalsetrue

teardown

action

Operations

-TypeResourceDescriptionEncodeRequestUrlTargetId
*FHIR Restful Interactions: delete (delete)http://hl7.org/fhir/StructureDefinition/PatientDelete the patient resource on the test server using the id from fixture-patient-create.truefixture-patient-create