TestScript

Specialized

A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

PathCard.TypeDescription & Constraints
TestScript0..*Describes a set of tests
.idΣ0..1StringLogical id of this artifact
.metaΣ0..1MetaMetadata about the resource
.implicitRules?!Σ0..1uriA set of rules under which this content was created
.language0..1codeLanguage of the resource content
Bindinglanguages(preferred)
.text0..1NarrativeText summary of the resource, for human interpretation
.contained0..*ResourceContained, inline Resources
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!0..*ExtensionExtensions that cannot be ignored
.urlΣ1..1uriCanonical identifier for this test script, represented as a URI (globally unique)
.identifierΣ0..1IdentifierAdditional identifier for the test script
.versionΣ0..1stringBusiness version of the test script
.nameΣ1..1stringName for this test script (computer friendly)
.titleΣ0..1stringName for this test script (human friendly)
.status?!Σ1..1codedraft | active | retired | unknown
Bindingpublication-status(required)
.experimentalΣ0..1booleanFor testing purposes, not real usage
.dateΣ0..1dateTimeDate last changed
.publisherΣ0..1stringName of the publisher (organization or individual)
.contactΣ0..*ContactDetailContact details for the publisher
.description0..1markdownNatural language description of the test script
.useContextΣ0..*UsageContextThe context that the content is intended to support
.jurisdictionΣ0..*CodeableConceptIntended jurisdiction for test script (if applicable)
Bindingjurisdiction(extensible)
.purpose0..1markdownWhy this test script is defined
.copyright0..1markdownUse and/or publishing restrictions
.origin0..*BackboneElementAn abstract server representing a client or sender in a message exchange
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.index1..1integerThe index of the abstract origin server starting at 1
.profile1..1CodingFHIR-Client | FHIR-SDC-FormFiller
Bindingtestscript-profile-origin-types(extensible)
.destination0..*BackboneElementAn abstract server representing a destination or receiver in a message exchange
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.index1..1integerThe index of the abstract destination server starting at 1
.profile1..1CodingFHIR-Server | FHIR-SDC-FormManager | FHIR-SDC-FormReceiver | FHIR-SDC-FormProcessor
Bindingtestscript-profile-destination-types(extensible)
.metadata0..1BackboneElementRequired capability that is assumed to function correctly on the FHIR server being tested
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.url1..1uriURL to the specification
.description0..1stringShort description
.capability1..*BackboneElementCapabilities that are assumed to function correctly on the FHIR server being tested
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.required1..1booleanAre the capabilities required?
.validated1..1booleanAre the capabilities validated?
.description0..1stringThe expected capabilities of the server
.origin0..*integerWhich origin server these requirements apply to
.destination0..1integerWhich server these requirements apply to
.capabilities1..1canonicalRequired Capability Statement
.fixture0..*BackboneElementFixture in the test script - by reference (uri)
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.autocreate1..1booleanWhether or not to implicitly create the fixture during setup
.autodelete1..1booleanWhether or not to implicitly delete the fixture during teardown
.resource0..1Reference(Resource)Reference of the resource
.profile0..*Reference(Resource)Reference of the validation profile
.variable0..*BackboneElementPlaceholder for evaluated elements
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.name1..1stringDescriptive name for this variable
.defaultValue0..1stringDefault, hard-coded, or user-defined value for this variable
.description0..1stringNatural language description of the variable
.expression0..1stringThe FHIRPath expression against the fixture body
.headerField0..1stringHTTP header field name for source
.hint0..1stringHint help text for default value to enter
.path0..1stringXPath or JSONPath against the fixture body
.sourceId0..1idFixture Id of source expression or headerField within this variable
.setup0..1BackboneElementA series of required setup operations before tests are executed
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.action1..*BackboneElementA setup operation or assert to perform
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.operation0..1BackboneElementThe setup operation to perform
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.type0..1CodingThe operation code type that will be executed
Bindingtestscript-operation-codes(extensible)
.resource0..1codeResource type
Bindingdefined-types(required)
.label0..1stringTracking/logging operation label
.description0..1stringTracking/reporting operation description
.accept0..1codeMime type to accept in the payload of the response, with charset etc.
Bindingmimetypes(required)
.contentType0..1codeMime type of the request payload contents, with charset etc.
Bindingmimetypes(required)
.destination0..1integerServer responding to the request
.encodeRequestUrl1..1booleanWhether or not to send the request url in encoded format
.method0..1codedelete | get | options | patch | post | put | head
Bindinghttp-operations(required)
.origin0..1integerServer initiating the request
.params0..1stringExplicitly defined path parameters
.requestHeader0..*BackboneElementEach operation can have one or more header elements
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.field1..1stringHTTP header field name
.value1..1stringHTTP headerfield value
.requestId0..1idFixture Id of mapped request
.responseId0..1idFixture Id of mapped response
.sourceId0..1idFixture Id of body for PUT and POST requests
.targetId0..1idId of fixture used for extracting the [id], [type], and [vid] for GET requests
.url0..1stringRequest URL
.assert0..1BackboneElementThe assertion to perform
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.label0..1stringTracking/logging assertion label
.description0..1stringTracking/reporting assertion description
.direction0..1coderesponse | request
Bindingassert-direction-codes(required)
.compareToSourceId0..1stringId of the source fixture to be evaluated
.compareToSourceExpression0..1stringThe FHIRPath expression to evaluate against the source fixture
.compareToSourcePath0..1stringXPath or JSONPath expression to evaluate against the source fixture
.contentType0..1codeMime type to compare against the 'Content-Type' header
Bindingmimetypes(required)
.expression0..1stringThe FHIRPath expression to be evaluated
.headerField0..1stringHTTP header field name
.minimumId0..1stringFixture Id of minimum content resource
.operator0..1codeequals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval
Bindingassert-operator-codes(required)
.path0..1stringXPath or JSONPath expression
.requestMethod0..1codedelete | get | options | patch | post | put | head
Bindinghttp-operations(required)
.requestURL0..1stringRequest URL comparison value
.resource0..1codeResource type
Bindingdefined-types(required)
.response0..1codeokay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable
Bindingassert-response-code-types(required)
.responseCode0..1stringHTTP response code to test
.sourceId0..1idFixture Id of source expression or headerField
.validateProfileId0..1idProfile Id of validation profile reference
.value0..1stringThe value to compare to
.warningOnly1..1booleanWill this assert produce a warning only on error?
.test0..*BackboneElementA test in this script
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.name0..1stringTracking/logging name of this test
.description0..1stringTracking/reporting short description of the test
.action1..*BackboneElementA test operation or assert to perform
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.operation0..1The setup operation to perform
.assert0..1The setup assertion to perform
.teardown0..1BackboneElementA series of required clean up steps
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.action1..*BackboneElementOne or more teardown operations to perform
.id0..1StringUnique id for inter-element referencing
.extension0..*ExtensionAdditional content defined by implementations
.modifierExtension?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.operation1..1The teardown operation to perform