Extensions for Using Data Elements from FHIR R5 in FHIR STU3
0.1.0 - STU International flag

Extensions for Using Data Elements from FHIR R5 in FHIR STU3 - Downloaded Version null See the Directory of published versions

Resource Profile: Profile_R5_TestScript_R3

Official URL: http://hl7.org/fhir/5.0/StructureDefinition/profile-TestScript Version: 0.1.0
Standards status: Trial-use Maturity Level: 0 Computable Name: Profile_R5_TestScript_R3

This cross-version profile allows R5 TestScript content to be represented via FHIR STU3 TestScript resources.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript 0..* TestScript Describes a set of tests
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:versionAlgorithm 0..1 string, Coding R5: How to compare versions (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.versionAlgorithm
Binding: R5VersionAlgorithmForR3 (0.1.0) (extensible)
.... extension:copyrightLabel 0..1 string R5: Copyright holder and year(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.copyrightLabel
.... extension:scope 0..* (Complex) R5: Indication of the artifact(s) that are tested by this test case (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... name Σ 1..1 string Name for this test script (computer friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of a Value Set or Concept Map.
... experimental ?!Σ 0..1 boolean For testing purposes, not real usage

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
TestScript.status Base required PublicationStatus 📍3.0.2 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-1 error TestScript If the resource is contained in another resource, it SHALL NOT contain any narrative contained.text.empty()
dom-2 error TestScript If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error TestScript If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource contained.where(('#'+id in %resource.descendants().reference).not()).empty()
dom-4 error TestScript If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() | (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from TestScript

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript 0..* TestScript Describes a set of tests
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:versionAlgorithm 0..1 string, Coding R5: How to compare versions (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.versionAlgorithm
Binding: R5VersionAlgorithmForR3 (0.1.0) (extensible)
.... extension:copyrightLabel 0..1 string R5: Copyright holder and year(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.copyrightLabel
.... extension:scope 0..* (Complex) R5: Indication of the artifact(s) that are tested by this test case (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope
... contact
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:contact 0..* (Complex) R5: contact additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.contact
... origin
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:url 0..1 uri R5: The url path of the origin server (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.origin.url
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:url 0..1 uri R5: The url path of the destination server (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.destination.url
... metadata
.... capability
..... capabilities
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:capabilities 0..1 uri R5: capabilities additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.metadata.capability.capabilities
... fixture
.... resource
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:resource 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: resource additional types
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
... profile
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:profile 0..* uri R5: profile additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.profile
... setup
.... action
..... operation
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:method 0..1 code R5: delete | get | options | patch | post | put | head (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.operation.method
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
..... assert
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:defaultManualCompletion 0..1 code R5: fail | pass | skip | stop (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.defaultManualCompletion
Binding: R5AssertManualCompletionCodesForR3 (0.1.0) (required): The default type of manual completion to use for assertion.
....... extension:stopTestOnFail 1..1 boolean R5: If this assert fails, will the current test execution stop? (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.stopTestOnFail
....... extension:requirement 0..* (Complex) R5: Links or references to the testing requirements (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.requirement
...... operator
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:operator 0..1 code R5: equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval | manualEval
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.operator
Binding: R5AssertOperatorCodesForR3 (0.1.0) (required): The type of operator to use for assertions.
...... requestMethod
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:requestMethod 0..1 code R5: delete | get | options | patch | post | put | head
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.requestMethod
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
...... response
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:response 0..1 code R5: continue | switchingProtocols | okay | created | accepted | nonAuthoritativeInformation | noContent | resetContent | partialContent | multipleChoices | movedPermanently | found | seeOther | notModified | useProxy | temporaryRedirect | permanentRedirect | badRequest | unauthorized | paymentRequired | forbidden | notFound | methodNotAllowed | notAcceptable | proxyAuthenticationRequired | requestTimeout | conflict | gone | lengthRequired | preconditionFailed | contentTooLarge | uriTooLong | unsupportedMediaType | rangeNotSatisfiable | expectationFailed | misdirectedRequest | unprocessableContent | upgradeRequired | internalServerError | notImplemented | badGateway | serviceUnavailable | gatewayTimeout | httpVersionNotSupported additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.response
Binding: R5AssertResponseCodeTypesForR3 (0.1.0) (required): The response code to expect in the response.

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript 0..* TestScript Describes a set of tests
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: Common Languages . (extensible): A human language.
Additional BindingsPurpose
All Languages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:versionAlgorithm 0..1 string, Coding R5: How to compare versions (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.versionAlgorithm
Binding: R5VersionAlgorithmForR3 (0.1.0) (extensible)
.... extension:copyrightLabel 0..1 string R5: Copyright holder and year(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.copyrightLabel
.... extension:scope 0..* (Complex) R5: Indication of the artifact(s) that are tested by this test case (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 1..1 uri Logical URI to reference this test script (globally unique)
... identifier Σ 0..1 Identifier Additional identifier for the test script
... version Σ 0..1 string Business version of the test script
... name Σ 1..1 string Name for this test script (computer friendly)
... title Σ 0..1 string Name for this test script (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of a Value Set or Concept Map.
... experimental ?!Σ 0..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date this was last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:contact 0..* (Complex) R5: contact additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.contact
.... name Σ 0..1 string Name of an individual to contact
.... telecom Σ 0..* ContactPoint Contact details for individual or organization
... description 0..1 markdown Natural language description of the test script
... useContext Σ 0..* UsageContext Context the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for test script (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use
... purpose 0..1 markdown Why this test script is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... origin 0..* BackboneElement An abstract server representing a client or sender in a message exchange
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:url 0..1 uri R5: The url path of the origin server (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.origin.url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... index 1..1 integer The index of the abstract origin server starting at 1
.... profile 1..1 Coding FHIR-Client | FHIR-SDC-FormFiller
Binding: TestScriptProfileOriginType (extensible): The type of origin profile the test system supports.
... destination 0..* BackboneElement An abstract server representing a destination or receiver in a message exchange
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:url 0..1 uri R5: The url path of the destination server (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.destination.url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... index 1..1 integer The index of the abstract destination server starting at 1
.... profile 1..1 Coding FHIR-Server | FHIR-SDC-FormManager | FHIR-SDC-FormReceiver | FHIR-SDC-FormProcessor
Binding: TestScriptProfileDestinationType (extensible): The type of destination profile the test system supports.
... metadata C 0..1 BackboneElement Required capability that is assumed to function correctly on the FHIR server being tested
Constraints: inv-4
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... link 0..* BackboneElement Links to the FHIR specification
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... url 1..1 uri URL to the specification
..... description 0..1 string Short description
.... capability 1..* BackboneElement Capabilities that are assumed to function correctly on the FHIR server being tested
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... required 0..1 boolean Are the capabilities required?
..... validated 0..1 boolean Are the capabilities validated?
..... description 0..1 string The expected capabilities of the server
..... origin 0..* integer Which origin server these requirements apply to
..... destination 0..1 integer Which server these requirements apply to
..... link 0..* uri Links to the FHIR specification
..... capabilities 1..1 Reference(CapabilityStatement) Required Capability Statement
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:capabilities 1..1 uri R5: capabilities additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.metadata.capability.capabilities
...... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
...... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
...... display Σ 0..1 string Text alternative for the resource
... fixture 0..* BackboneElement Fixture in the test script - by reference (uri)
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... autocreate 0..1 boolean Whether or not to implicitly create the fixture during setup
.... autodelete 0..1 boolean Whether or not to implicitly delete the fixture during teardown
.... resource 0..1 Reference(Resource) Reference of the resource
..... id 0..1 string xml:id (or equivalent in JSON)
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:resource 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: resource additional types
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
..... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
..... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
..... display Σ 0..1 string Text alternative for the resource
... profile 0..* Reference(Resource) Reference of the validation profile
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:profile 0..* uri R5: profile additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.profile
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... variable C 0..* BackboneElement Placeholder for evaluated elements
Constraints: inv-3
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... name 1..1 string Descriptive name for this variable
.... defaultValue 0..1 string Default, hard-coded, or user-defined value for this variable
.... description 0..1 string Natural language description of the variable
.... expression 0..1 string The fluentpath expression against the fixture body
.... headerField 0..1 string HTTP header field name for source
.... hint 0..1 string Hint help text for default value to enter
.... path 0..1 string XPath or JSONPath against the fixture body
.... sourceId 0..1 id Fixture Id of source expression or headerField within this variable
... rule 0..* BackboneElement Assert rule used within the test script
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... resource 1..1 Reference(Resource) Assert rule resource reference
.... param 0..* BackboneElement Rule parameter template
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... name 1..1 string Parameter name matching external assert rule parameter
..... value 0..1 string Parameter value defined either explicitly or dynamically
... ruleset 0..* BackboneElement Assert ruleset used within the test script
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... resource 1..1 Reference(Resource) Assert ruleset resource reference
.... rule 1..* BackboneElement The referenced rule within the ruleset
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... ruleId 1..1 id Id of referenced rule within the ruleset
..... param 0..* BackboneElement Ruleset rule parameter template
...... id 0..1 string xml:id (or equivalent in JSON)
...... extension 0..* Extension Additional Content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
...... name 1..1 string Parameter name matching external assert ruleset rule parameter
...... value 0..1 string Parameter value defined either explicitly or dynamically
... setup 0..1 BackboneElement A series of required setup operations before tests are executed
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... action C 1..* BackboneElement A setup operation or assert to perform
Constraints: inv-1
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... operation C 0..1 BackboneElement The setup operation to perform
Constraints: inv-7
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:method 0..1 code R5: delete | get | options | patch | post | put | head (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.operation.method
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
...... type 0..1 Coding The operation code type that will be executed
Binding: TestScriptOperationCode . (extensible): The allowable operation code types.
...... resource 0..1 code Resource type
Binding: FHIRDefinedType (required): Either a resource or a data type.
...... label 0..1 string Tracking/logging operation label
...... description 0..1 string Tracking/reporting operation description
...... accept 0..1 code xml | json | ttl | none
Binding: ContentType (required): The content or mime type.
...... contentType 0..1 code xml | json | ttl | none
Binding: ContentType (required): The content or mime type.
...... destination 0..1 integer Server responding to the request
...... encodeRequestUrl 0..1 boolean Whether or not to send the request url in encoded format
...... origin 0..1 integer Server initiating the request
...... params 0..1 string Explicitly defined path parameters
...... requestHeader 0..* BackboneElement Each operation can have one or more header elements
....... id 0..1 string xml:id (or equivalent in JSON)
....... extension 0..* Extension Additional Content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
....... field 1..1 string HTTP header field name
....... value 1..1 string HTTP headerfield value
...... requestId 0..1 id Fixture Id of mapped request
...... responseId 0..1 id Fixture Id of mapped response
...... sourceId 0..1 id Fixture Id of body for PUT and POST requests
...... targetId 0..1 id Id of fixture used for extracting the [id], [type], and [vid] for GET requests
...... url 0..1 string Request URL
..... assert C 0..1 BackboneElement The assertion to perform
Constraints: inv-5, inv-10, inv-12
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:defaultManualCompletion 0..1 code R5: fail | pass | skip | stop (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.defaultManualCompletion
Binding: R5AssertManualCompletionCodesForR3 (0.1.0) (required): The default type of manual completion to use for assertion.
....... extension:stopTestOnFail 1..1 boolean R5: If this assert fails, will the current test execution stop? (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.stopTestOnFail
....... extension:requirement 0..* (Complex) R5: Links or references to the testing requirements (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.requirement
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
...... label 0..1 string Tracking/logging assertion label
...... description 0..1 string Tracking/reporting assertion description
...... direction 0..1 code response | request
Binding: AssertionDirectionType (required): The type of direction to use for assertion.
...... compareToSourceId 0..1 string Id of the source fixture to be evaluated
...... compareToSourceExpression 0..1 string The fluentpath expression to evaluate against the source fixture
...... compareToSourcePath 0..1 string XPath or JSONPath expression to evaluate against the source fixture
...... contentType 0..1 code xml | json | ttl | none
Binding: ContentType (required): The content or mime type.
...... expression 0..1 string The fluentpath expression to be evaluated
...... headerField 0..1 string HTTP header field name
...... minimumId 0..1 string Fixture Id of minimum content resource
...... navigationLinks 0..1 boolean Perform validation on navigation links?
...... operator 0..1 code equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval
Binding: AssertionOperatorType . (required): The type of operator to use for assertion.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:operator 0..1 code R5: equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval | manualEval
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.operator
Binding: R5AssertOperatorCodesForR3 (0.1.0) (required): The type of operator to use for assertions.
....... value 0..1 code Primitive value for code
...... path 0..1 string XPath or JSONPath expression
...... requestMethod 0..1 code delete | get | options | patch | post | put
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:requestMethod 0..1 code R5: delete | get | options | patch | post | put | head
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.requestMethod
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
....... value 0..1 code Primitive value for code
...... requestURL 0..1 string Request URL comparison value
...... resource 0..1 code Resource type
Binding: FHIRDefinedType (required): Either a resource or a data type.
...... response 0..1 code okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable
Binding: AssertionResponseTypes . (required): The type of response code to use for assertion.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:response 0..1 code R5: continue | switchingProtocols | okay | created | accepted | nonAuthoritativeInformation | noContent | resetContent | partialContent | multipleChoices | movedPermanently | found | seeOther | notModified | useProxy | temporaryRedirect | permanentRedirect | badRequest | unauthorized | paymentRequired | forbidden | notFound | methodNotAllowed | notAcceptable | proxyAuthenticationRequired | requestTimeout | conflict | gone | lengthRequired | preconditionFailed | contentTooLarge | uriTooLong | unsupportedMediaType | rangeNotSatisfiable | expectationFailed | misdirectedRequest | unprocessableContent | upgradeRequired | internalServerError | notImplemented | badGateway | serviceUnavailable | gatewayTimeout | httpVersionNotSupported additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.response
Binding: R5AssertResponseCodeTypesForR3 (0.1.0) (required): The response code to expect in the response.
....... value 0..1 code Primitive value for code
...... responseCode 0..1 string HTTP response code to test
...... rule 0..1 BackboneElement The reference to a TestScript.rule
....... id 0..1 string xml:id (or equivalent in JSON)
....... extension 0..* Extension Additional Content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
....... ruleId 1..1 id Id of the TestScript.rule
....... param 0..* BackboneElement Rule parameter template
........ id 0..1 string xml:id (or equivalent in JSON)
........ extension 0..* Extension Additional Content defined by implementations
........ modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
........ name 1..1 string Parameter name matching external assert rule parameter
........ value 1..1 string Parameter value defined either explicitly or dynamically
...... ruleset 0..1 BackboneElement The reference to a TestScript.ruleset
....... id 0..1 string xml:id (or equivalent in JSON)
....... extension 0..* Extension Additional Content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
....... rulesetId 1..1 id Id of the TestScript.ruleset
....... rule 0..* BackboneElement The referenced rule within the ruleset
........ id 0..1 string xml:id (or equivalent in JSON)
........ extension 0..* Extension Additional Content defined by implementations
........ modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
........ ruleId 1..1 id Id of referenced rule within the ruleset
........ param 0..* BackboneElement Rule parameter template
......... id 0..1 string xml:id (or equivalent in JSON)
......... extension 0..* Extension Additional Content defined by implementations
......... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
......... name 1..1 string Parameter name matching external assert ruleset rule parameter
......... value 1..1 string Parameter value defined either explicitly or dynamically
...... sourceId 0..1 id Fixture Id of source expression or headerField
...... validateProfileId 0..1 id Profile Id of validation profile reference
...... value 0..1 string The value to compare to
...... warningOnly 0..1 boolean Will this assert produce a warning only on error?
... test 0..* BackboneElement A test in this script
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... name 0..1 string Tracking/logging name of this test
.... description 0..1 string Tracking/reporting short description of the test
.... action C 1..* BackboneElement A test operation or assert to perform
Constraints: inv-2
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... operation C 0..1 See operation (TestScript) The setup operation to perform
Constraints: inv-8
..... assert C 0..1 See assert (TestScript) The setup assertion to perform
Constraints: inv-6, inv-11, inv-13
... teardown 0..1 BackboneElement A series of required clean up steps
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... action 1..* BackboneElement One or more teardown operations to perform
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... operation C 1..1 See operation (TestScript) The teardown operation to perform
Constraints: inv-9

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
TestScript.language Base extensible Common Languages . 📍3.0.2 tx.fhir.org
TestScript.status Base required PublicationStatus 📍3.0.2 FHIR Std.
TestScript.jurisdiction Base extensible Jurisdiction ValueSet 📍3.0.2 FHIR Std.
TestScript.origin.profile Base extensible TestScriptProfileOriginType 📍3.0.2 FHIR Std.
TestScript.destination.​profile Base extensible TestScriptProfileDestinationType 📍3.0.2 FHIR Std.
TestScript.setup.action.​operation.type Base extensible TestScriptOperationCode . 📍3.0.2 tx.fhir.org
TestScript.setup.action.​operation.resource Base required FHIRDefinedType 📍3.0.2 FHIR Std.
TestScript.setup.action.​operation.accept Base required ContentType 📍3.0.2 FHIR Std.
TestScript.setup.action.​operation.contentType Base required ContentType 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.direction Base required AssertionDirectionType 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.contentType Base required ContentType 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.operator Base required AssertionOperatorType . 📍3.0.2 tx.fhir.org
TestScript.setup.action.​assert.requestMethod Base required TestScriptRequestMethodCode 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.resource Base required FHIRDefinedType 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.response Base required AssertionResponseTypes . 📍3.0.2 tx.fhir.org

Constraints

Id Grade Path(s) Description Expression
dom-1 error TestScript If the resource is contained in another resource, it SHALL NOT contain any narrative contained.text.empty()
dom-2 error TestScript If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error TestScript If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource contained.where(('#'+id in %resource.descendants().reference).not()).empty()
dom-4 error TestScript If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() | (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error TestScript.setup.action Setup action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()
inv-2 error TestScript.test.action Test action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()
inv-3 error TestScript.variable Variable can only contain one of expression, headerField or path. expression.empty() or headerField.empty() or path.empty()
inv-4 error TestScript.metadata TestScript metadata capability SHALL contain required or validated or both. capability.required.exists() or capability.validated.exists()
inv-5 error TestScript.setup.action.assert Only a single assertion SHALL be present within setup action assert element. contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + rule.count() + ruleset.count() + validateProfileId.count() <=1
inv-6 error TestScript.test.action.assert Only a single assertion SHALL be present within test action assert element. contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + rule.count() + ruleset.count() + validateProfileId.count() <=1
inv-7 error TestScript.setup.action.operation Setup operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' |'search' | 'transaction' | 'history'))
inv-8 error TestScript.test.action.operation Test operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))
inv-9 error TestScript.teardown.action.operation Teardown operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))
inv-10 error TestScript.setup.action.assert Setup action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither. compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
inv-11 error TestScript.test.action.assert Test action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither. compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
inv-12 error TestScript.setup.action.assert Setup action assert response and responseCode SHALL be empty when direction equals request (response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'
inv-13 error TestScript.test.action.assert Test action assert response and response and responseCode SHALL be empty when direction equals request (response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'

This structure is derived from TestScript

Summary

Mandatory: 0 element(2 nested mandatory elements)

Extensions

This structure refers to these extensions:

Maturity: 0

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript 0..* TestScript Describes a set of tests
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:versionAlgorithm 0..1 string, Coding R5: How to compare versions (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.versionAlgorithm
Binding: R5VersionAlgorithmForR3 (0.1.0) (extensible)
.... extension:copyrightLabel 0..1 string R5: Copyright holder and year(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.copyrightLabel
.... extension:scope 0..* (Complex) R5: Indication of the artifact(s) that are tested by this test case (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... name Σ 1..1 string Name for this test script (computer friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of a Value Set or Concept Map.
... experimental ?!Σ 0..1 boolean For testing purposes, not real usage

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
TestScript.status Base required PublicationStatus 📍3.0.2 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-1 error TestScript If the resource is contained in another resource, it SHALL NOT contain any narrative contained.text.empty()
dom-2 error TestScript If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error TestScript If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource contained.where(('#'+id in %resource.descendants().reference).not()).empty()
dom-4 error TestScript If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() | (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from TestScript

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript 0..* TestScript Describes a set of tests
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:versionAlgorithm 0..1 string, Coding R5: How to compare versions (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.versionAlgorithm
Binding: R5VersionAlgorithmForR3 (0.1.0) (extensible)
.... extension:copyrightLabel 0..1 string R5: Copyright holder and year(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.copyrightLabel
.... extension:scope 0..* (Complex) R5: Indication of the artifact(s) that are tested by this test case (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope
... contact
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:contact 0..* (Complex) R5: contact additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.contact
... origin
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:url 0..1 uri R5: The url path of the origin server (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.origin.url
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:url 0..1 uri R5: The url path of the destination server (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.destination.url
... metadata
.... capability
..... capabilities
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:capabilities 0..1 uri R5: capabilities additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.metadata.capability.capabilities
... fixture
.... resource
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:resource 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: resource additional types
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
... profile
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:profile 0..* uri R5: profile additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.profile
... setup
.... action
..... operation
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:method 0..1 code R5: delete | get | options | patch | post | put | head (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.operation.method
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
..... assert
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:defaultManualCompletion 0..1 code R5: fail | pass | skip | stop (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.defaultManualCompletion
Binding: R5AssertManualCompletionCodesForR3 (0.1.0) (required): The default type of manual completion to use for assertion.
....... extension:stopTestOnFail 1..1 boolean R5: If this assert fails, will the current test execution stop? (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.stopTestOnFail
....... extension:requirement 0..* (Complex) R5: Links or references to the testing requirements (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.requirement
...... operator
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:operator 0..1 code R5: equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval | manualEval
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.operator
Binding: R5AssertOperatorCodesForR3 (0.1.0) (required): The type of operator to use for assertions.
...... requestMethod
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:requestMethod 0..1 code R5: delete | get | options | patch | post | put | head
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.requestMethod
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
...... response
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:response 0..1 code R5: continue | switchingProtocols | okay | created | accepted | nonAuthoritativeInformation | noContent | resetContent | partialContent | multipleChoices | movedPermanently | found | seeOther | notModified | useProxy | temporaryRedirect | permanentRedirect | badRequest | unauthorized | paymentRequired | forbidden | notFound | methodNotAllowed | notAcceptable | proxyAuthenticationRequired | requestTimeout | conflict | gone | lengthRequired | preconditionFailed | contentTooLarge | uriTooLong | unsupportedMediaType | rangeNotSatisfiable | expectationFailed | misdirectedRequest | unprocessableContent | upgradeRequired | internalServerError | notImplemented | badGateway | serviceUnavailable | gatewayTimeout | httpVersionNotSupported additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.response
Binding: R5AssertResponseCodeTypesForR3 (0.1.0) (required): The response code to expect in the response.

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript 0..* TestScript Describes a set of tests
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: Common Languages . (extensible): A human language.
Additional BindingsPurpose
All Languages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:versionAlgorithm 0..1 string, Coding R5: How to compare versions (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.versionAlgorithm
Binding: R5VersionAlgorithmForR3 (0.1.0) (extensible)
.... extension:copyrightLabel 0..1 string R5: Copyright holder and year(s) (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.copyrightLabel
.... extension:scope 0..* (Complex) R5: Indication of the artifact(s) that are tested by this test case (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 1..1 uri Logical URI to reference this test script (globally unique)
... identifier Σ 0..1 Identifier Additional identifier for the test script
... version Σ 0..1 string Business version of the test script
... name Σ 1..1 string Name for this test script (computer friendly)
... title Σ 0..1 string Name for this test script (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of a Value Set or Concept Map.
... experimental ?!Σ 0..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date this was last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:contact 0..* (Complex) R5: contact additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.contact
.... name Σ 0..1 string Name of an individual to contact
.... telecom Σ 0..* ContactPoint Contact details for individual or organization
... description 0..1 markdown Natural language description of the test script
... useContext Σ 0..* UsageContext Context the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for test script (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use
... purpose 0..1 markdown Why this test script is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... origin 0..* BackboneElement An abstract server representing a client or sender in a message exchange
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:url 0..1 uri R5: The url path of the origin server (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.origin.url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... index 1..1 integer The index of the abstract origin server starting at 1
.... profile 1..1 Coding FHIR-Client | FHIR-SDC-FormFiller
Binding: TestScriptProfileOriginType (extensible): The type of origin profile the test system supports.
... destination 0..* BackboneElement An abstract server representing a destination or receiver in a message exchange
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:url 0..1 uri R5: The url path of the destination server (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.destination.url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... index 1..1 integer The index of the abstract destination server starting at 1
.... profile 1..1 Coding FHIR-Server | FHIR-SDC-FormManager | FHIR-SDC-FormReceiver | FHIR-SDC-FormProcessor
Binding: TestScriptProfileDestinationType (extensible): The type of destination profile the test system supports.
... metadata C 0..1 BackboneElement Required capability that is assumed to function correctly on the FHIR server being tested
Constraints: inv-4
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... link 0..* BackboneElement Links to the FHIR specification
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... url 1..1 uri URL to the specification
..... description 0..1 string Short description
.... capability 1..* BackboneElement Capabilities that are assumed to function correctly on the FHIR server being tested
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... required 0..1 boolean Are the capabilities required?
..... validated 0..1 boolean Are the capabilities validated?
..... description 0..1 string The expected capabilities of the server
..... origin 0..* integer Which origin server these requirements apply to
..... destination 0..1 integer Which server these requirements apply to
..... link 0..* uri Links to the FHIR specification
..... capabilities 1..1 Reference(CapabilityStatement) Required Capability Statement
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:capabilities 1..1 uri R5: capabilities additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.metadata.capability.capabilities
...... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
...... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
...... display Σ 0..1 string Text alternative for the resource
... fixture 0..* BackboneElement Fixture in the test script - by reference (uri)
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... autocreate 0..1 boolean Whether or not to implicitly create the fixture during setup
.... autodelete 0..1 boolean Whether or not to implicitly delete the fixture during teardown
.... resource 0..1 Reference(Resource) Reference of the resource
..... id 0..1 string xml:id (or equivalent in JSON)
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:resource 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: resource additional types
URL: http://hl7.org/fhir/StructureDefinition/alternate-reference
..... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
..... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
..... display Σ 0..1 string Text alternative for the resource
... profile 0..* Reference(Resource) Reference of the validation profile
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... extension:profile 0..* uri R5: profile additional types
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.profile
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... variable C 0..* BackboneElement Placeholder for evaluated elements
Constraints: inv-3
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... name 1..1 string Descriptive name for this variable
.... defaultValue 0..1 string Default, hard-coded, or user-defined value for this variable
.... description 0..1 string Natural language description of the variable
.... expression 0..1 string The fluentpath expression against the fixture body
.... headerField 0..1 string HTTP header field name for source
.... hint 0..1 string Hint help text for default value to enter
.... path 0..1 string XPath or JSONPath against the fixture body
.... sourceId 0..1 id Fixture Id of source expression or headerField within this variable
... rule 0..* BackboneElement Assert rule used within the test script
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... resource 1..1 Reference(Resource) Assert rule resource reference
.... param 0..* BackboneElement Rule parameter template
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... name 1..1 string Parameter name matching external assert rule parameter
..... value 0..1 string Parameter value defined either explicitly or dynamically
... ruleset 0..* BackboneElement Assert ruleset used within the test script
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... resource 1..1 Reference(Resource) Assert ruleset resource reference
.... rule 1..* BackboneElement The referenced rule within the ruleset
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... ruleId 1..1 id Id of referenced rule within the ruleset
..... param 0..* BackboneElement Ruleset rule parameter template
...... id 0..1 string xml:id (or equivalent in JSON)
...... extension 0..* Extension Additional Content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
...... name 1..1 string Parameter name matching external assert ruleset rule parameter
...... value 0..1 string Parameter value defined either explicitly or dynamically
... setup 0..1 BackboneElement A series of required setup operations before tests are executed
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... action C 1..* BackboneElement A setup operation or assert to perform
Constraints: inv-1
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... operation C 0..1 BackboneElement The setup operation to perform
Constraints: inv-7
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:method 0..1 code R5: delete | get | options | patch | post | put | head (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.operation.method
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
...... type 0..1 Coding The operation code type that will be executed
Binding: TestScriptOperationCode . (extensible): The allowable operation code types.
...... resource 0..1 code Resource type
Binding: FHIRDefinedType (required): Either a resource or a data type.
...... label 0..1 string Tracking/logging operation label
...... description 0..1 string Tracking/reporting operation description
...... accept 0..1 code xml | json | ttl | none
Binding: ContentType (required): The content or mime type.
...... contentType 0..1 code xml | json | ttl | none
Binding: ContentType (required): The content or mime type.
...... destination 0..1 integer Server responding to the request
...... encodeRequestUrl 0..1 boolean Whether or not to send the request url in encoded format
...... origin 0..1 integer Server initiating the request
...... params 0..1 string Explicitly defined path parameters
...... requestHeader 0..* BackboneElement Each operation can have one or more header elements
....... id 0..1 string xml:id (or equivalent in JSON)
....... extension 0..* Extension Additional Content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
....... field 1..1 string HTTP header field name
....... value 1..1 string HTTP headerfield value
...... requestId 0..1 id Fixture Id of mapped request
...... responseId 0..1 id Fixture Id of mapped response
...... sourceId 0..1 id Fixture Id of body for PUT and POST requests
...... targetId 0..1 id Id of fixture used for extracting the [id], [type], and [vid] for GET requests
...... url 0..1 string Request URL
..... assert C 0..1 BackboneElement The assertion to perform
Constraints: inv-5, inv-10, inv-12
...... id 0..1 string xml:id (or equivalent in JSON)
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... extension:defaultManualCompletion 0..1 code R5: fail | pass | skip | stop (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.defaultManualCompletion
Binding: R5AssertManualCompletionCodesForR3 (0.1.0) (required): The default type of manual completion to use for assertion.
....... extension:stopTestOnFail 1..1 boolean R5: If this assert fails, will the current test execution stop? (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.stopTestOnFail
....... extension:requirement 0..* (Complex) R5: Links or references to the testing requirements (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.requirement
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
...... label 0..1 string Tracking/logging assertion label
...... description 0..1 string Tracking/reporting assertion description
...... direction 0..1 code response | request
Binding: AssertionDirectionType (required): The type of direction to use for assertion.
...... compareToSourceId 0..1 string Id of the source fixture to be evaluated
...... compareToSourceExpression 0..1 string The fluentpath expression to evaluate against the source fixture
...... compareToSourcePath 0..1 string XPath or JSONPath expression to evaluate against the source fixture
...... contentType 0..1 code xml | json | ttl | none
Binding: ContentType (required): The content or mime type.
...... expression 0..1 string The fluentpath expression to be evaluated
...... headerField 0..1 string HTTP header field name
...... minimumId 0..1 string Fixture Id of minimum content resource
...... navigationLinks 0..1 boolean Perform validation on navigation links?
...... operator 0..1 code equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval
Binding: AssertionOperatorType . (required): The type of operator to use for assertion.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:operator 0..1 code R5: equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval | manualEval
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.operator
Binding: R5AssertOperatorCodesForR3 (0.1.0) (required): The type of operator to use for assertions.
....... value 0..1 code Primitive value for code
...... path 0..1 string XPath or JSONPath expression
...... requestMethod 0..1 code delete | get | options | patch | post | put
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:requestMethod 0..1 code R5: delete | get | options | patch | post | put | head
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.requestMethod
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
....... value 0..1 code Primitive value for code
...... requestURL 0..1 string Request URL comparison value
...... resource 0..1 code Resource type
Binding: FHIRDefinedType (required): Either a resource or a data type.
...... response 0..1 code okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable
Binding: AssertionResponseTypes . (required): The type of response code to use for assertion.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:response 0..1 code R5: continue | switchingProtocols | okay | created | accepted | nonAuthoritativeInformation | noContent | resetContent | partialContent | multipleChoices | movedPermanently | found | seeOther | notModified | useProxy | temporaryRedirect | permanentRedirect | badRequest | unauthorized | paymentRequired | forbidden | notFound | methodNotAllowed | notAcceptable | proxyAuthenticationRequired | requestTimeout | conflict | gone | lengthRequired | preconditionFailed | contentTooLarge | uriTooLong | unsupportedMediaType | rangeNotSatisfiable | expectationFailed | misdirectedRequest | unprocessableContent | upgradeRequired | internalServerError | notImplemented | badGateway | serviceUnavailable | gatewayTimeout | httpVersionNotSupported additional codes
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.setup.action.assert.response
Binding: R5AssertResponseCodeTypesForR3 (0.1.0) (required): The response code to expect in the response.
....... value 0..1 code Primitive value for code
...... responseCode 0..1 string HTTP response code to test
...... rule 0..1 BackboneElement The reference to a TestScript.rule
....... id 0..1 string xml:id (or equivalent in JSON)
....... extension 0..* Extension Additional Content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
....... ruleId 1..1 id Id of the TestScript.rule
....... param 0..* BackboneElement Rule parameter template
........ id 0..1 string xml:id (or equivalent in JSON)
........ extension 0..* Extension Additional Content defined by implementations
........ modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
........ name 1..1 string Parameter name matching external assert rule parameter
........ value 1..1 string Parameter value defined either explicitly or dynamically
...... ruleset 0..1 BackboneElement The reference to a TestScript.ruleset
....... id 0..1 string xml:id (or equivalent in JSON)
....... extension 0..* Extension Additional Content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
....... rulesetId 1..1 id Id of the TestScript.ruleset
....... rule 0..* BackboneElement The referenced rule within the ruleset
........ id 0..1 string xml:id (or equivalent in JSON)
........ extension 0..* Extension Additional Content defined by implementations
........ modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
........ ruleId 1..1 id Id of referenced rule within the ruleset
........ param 0..* BackboneElement Rule parameter template
......... id 0..1 string xml:id (or equivalent in JSON)
......... extension 0..* Extension Additional Content defined by implementations
......... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
......... name 1..1 string Parameter name matching external assert ruleset rule parameter
......... value 1..1 string Parameter value defined either explicitly or dynamically
...... sourceId 0..1 id Fixture Id of source expression or headerField
...... validateProfileId 0..1 id Profile Id of validation profile reference
...... value 0..1 string The value to compare to
...... warningOnly 0..1 boolean Will this assert produce a warning only on error?
... test 0..* BackboneElement A test in this script
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... name 0..1 string Tracking/logging name of this test
.... description 0..1 string Tracking/reporting short description of the test
.... action C 1..* BackboneElement A test operation or assert to perform
Constraints: inv-2
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... operation C 0..1 See operation (TestScript) The setup operation to perform
Constraints: inv-8
..... assert C 0..1 See assert (TestScript) The setup assertion to perform
Constraints: inv-6, inv-11, inv-13
... teardown 0..1 BackboneElement A series of required clean up steps
.... id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional Content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
.... action 1..* BackboneElement One or more teardown operations to perform
..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional Content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
..... operation C 1..1 See operation (TestScript) The teardown operation to perform
Constraints: inv-9

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
TestScript.language Base extensible Common Languages . 📍3.0.2 tx.fhir.org
TestScript.status Base required PublicationStatus 📍3.0.2 FHIR Std.
TestScript.jurisdiction Base extensible Jurisdiction ValueSet 📍3.0.2 FHIR Std.
TestScript.origin.profile Base extensible TestScriptProfileOriginType 📍3.0.2 FHIR Std.
TestScript.destination.​profile Base extensible TestScriptProfileDestinationType 📍3.0.2 FHIR Std.
TestScript.setup.action.​operation.type Base extensible TestScriptOperationCode . 📍3.0.2 tx.fhir.org
TestScript.setup.action.​operation.resource Base required FHIRDefinedType 📍3.0.2 FHIR Std.
TestScript.setup.action.​operation.accept Base required ContentType 📍3.0.2 FHIR Std.
TestScript.setup.action.​operation.contentType Base required ContentType 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.direction Base required AssertionDirectionType 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.contentType Base required ContentType 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.operator Base required AssertionOperatorType . 📍3.0.2 tx.fhir.org
TestScript.setup.action.​assert.requestMethod Base required TestScriptRequestMethodCode 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.resource Base required FHIRDefinedType 📍3.0.2 FHIR Std.
TestScript.setup.action.​assert.response Base required AssertionResponseTypes . 📍3.0.2 tx.fhir.org

Constraints

Id Grade Path(s) Description Expression
dom-1 error TestScript If the resource is contained in another resource, it SHALL NOT contain any narrative contained.text.empty()
dom-2 error TestScript If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error TestScript If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource contained.where(('#'+id in %resource.descendants().reference).not()).empty()
dom-4 error TestScript If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() | (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-1 error TestScript.setup.action Setup action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()
inv-2 error TestScript.test.action Test action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()
inv-3 error TestScript.variable Variable can only contain one of expression, headerField or path. expression.empty() or headerField.empty() or path.empty()
inv-4 error TestScript.metadata TestScript metadata capability SHALL contain required or validated or both. capability.required.exists() or capability.validated.exists()
inv-5 error TestScript.setup.action.assert Only a single assertion SHALL be present within setup action assert element. contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + rule.count() + ruleset.count() + validateProfileId.count() <=1
inv-6 error TestScript.test.action.assert Only a single assertion SHALL be present within test action assert element. contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + rule.count() + ruleset.count() + validateProfileId.count() <=1
inv-7 error TestScript.setup.action.operation Setup operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' |'search' | 'transaction' | 'history'))
inv-8 error TestScript.test.action.operation Test operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))
inv-9 error TestScript.teardown.action.operation Teardown operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))
inv-10 error TestScript.setup.action.assert Setup action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither. compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
inv-11 error TestScript.test.action.assert Test action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither. compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
inv-12 error TestScript.setup.action.assert Setup action assert response and responseCode SHALL be empty when direction equals request (response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'
inv-13 error TestScript.test.action.assert Test action assert response and response and responseCode SHALL be empty when direction equals request (response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'

This structure is derived from TestScript

Summary

Mandatory: 0 element(2 nested mandatory elements)

Extensions

This structure refers to these extensions:

Maturity: 0

 

Other representations of profile: CSV, Excel, Schematron