AEGIS Touchstone Testing Implementation Guide 1.0.0

This is the Version 1.0.0 Release of the Touchstone Testing Implementation Guide, based on FHIR Version 4.0.1. See the Directory of published versions

StructureDefinition-testscript

Scope and Usage

Defines constraints and extensions on the TestScript resource for use in the Touchstone Testing Platform.

Formal Views of Profile Content

Description of Profiles, Differentials, and Snapshots.

The official URL for this profile is: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript

Published on Fri Dec 14 00:00:00 EST 2018 as a active by AEGIS.net, Inc..

This profile builds on TestScript


NameFlagsCard.TypeDescription & Constraintsdoco
.. TestScript I0..*TestScriptTouchstone Testing TestScript Profile
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... testscript-rule SI0..*(Complex)Assert rule used within the test script
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule
... testscript-ruleset SI0..*(Complex)Assert ruleset used within the test script
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-ruleset
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... url ΣI1..1uriCanonical identifier for this test script, represented as a URI (globally unique)
... identifier ΣI0..1IdentifierAdditional identifier for the test script
... version ΣI0..1stringBusiness version of the test script
... name ΣI1..1stringName for this test script (computer friendly)
... title ΣI0..1stringName for this test script (human friendly)
... status ?!ΣI1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ΣI0..1booleanFor testing purposes, not real usage
... date ΣI0..1dateTimeDate last changed
... publisher ΣI0..1stringName of the publisher (organization or individual)
... contact ΣI0..*ContactDetailContact details for the publisher
... description I0..1markdownNatural language description of the test script
... useContext ΣI0..*UsageContextThe context that the content is intended to support
... jurisdiction ΣI0..*CodeableConceptIntended jurisdiction for test script (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose I0..1markdownWhy this test script is defined
... copyright I0..1markdownUse and/or publishing restrictions
... origin I0..*BackboneElementAn abstract server representing a client or sender in a message exchange
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... index I1..1integerThe index of the abstract origin server starting at 1
.... profile I1..1CodingFHIR-Client | FHIR-SDC-FormFiller
Binding: TestScriptProfileOriginType (extensible)
... destination I0..*BackboneElementAn abstract server representing a destination or receiver in a message exchange
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... index I1..1integerThe index of the abstract destination server starting at 1
.... profile I1..1CodingFHIR-Server | FHIR-SDC-FormManager | FHIR-SDC-FormReceiver | FHIR-SDC-FormProcessor
Binding: TestScriptProfileDestinationType (extensible)
... metadata I0..1BackboneElementRequired capability that is assumed to function correctly on the FHIR server being tested
tst-4: TestScript metadata capability SHALL contain required or validated or both.
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... link I0..*BackboneElementLinks to the FHIR specification
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... url I1..1uriURL to the specification
..... description I0..1stringShort description
.... capability I1..*BackboneElementCapabilities that are assumed to function correctly on the FHIR server being tested
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... required I1..1booleanAre the capabilities required?
..... validated I1..1booleanAre the capabilities validated?
..... description I0..1stringThe expected capabilities of the server
..... origin I0..*integerWhich origin server these requirements apply to
..... destination I0..1integerWhich server these requirements apply to
..... link I0..*uriLinks to the FHIR specification
..... capabilities I1..1canonical(CapabilityStatement)Required Capability Statement
... fixture I0..*BackboneElementFixture in the test script - by reference (uri)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... autocreate I1..1booleanWhether or not to implicitly create the fixture during setup
.... autodelete I1..1booleanWhether or not to implicitly delete the fixture during teardown
.... resource I0..1Reference(Resource)Reference of the resource
... profile I0..*Reference(Resource)Reference of the validation profile
... variable I0..*BackboneElementPlaceholder for evaluated elements
tst-3: Variable can only contain one of expression, headerField or path.
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name I1..1stringDescriptive name for this variable
.... defaultValue I0..1stringDefault, hard-coded, or user-defined value for this variable
.... description I0..1stringNatural language description of the variable
.... expression I0..1stringThe FHIRPath expression against the fixture body
.... headerField I0..1stringHTTP header field name for source
.... hint I0..1stringHint help text for default value to enter
.... path I0..1stringXPath or JSONPath against the fixture body
.... sourceId I0..1idFixture Id of source expression or headerField within this variable
... setup I0..1BackboneElementA series of required setup operations before tests are executed
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... action I1..*BackboneElementA setup operation or assert to perform
tst-1: Setup action SHALL contain either an operation or assert but not both.
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... operation I0..1BackboneElementThe setup operation to perform
tst-7: Setup operation SHALL contain either sourceId or targetId or params or url.
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... type I0..1CodingThe operation code type that will be executed
Binding: TestScriptOperationCode (extensible)
...... resource I0..1codeResource type
Binding: FHIRDefinedType (required)
...... label I0..1stringTracking/logging operation label
...... description I0..1stringTracking/reporting operation description
...... accept I0..1codeMime type to accept in the payload of the response, with charset etc.
Binding: Mime Types (required)
Example General: application/fhir+xml
...... contentType I0..1codeMime type of the request payload contents, with charset etc.
Binding: Mime Types (required)
Example General: application/fhir+xml
...... destination I0..1integerServer responding to the request
...... encodeRequestUrl I1..1booleanWhether or not to send the request url in encoded format
...... method I0..1codedelete | get | options | patch | post | put | head
Binding: TestScriptRequestMethodCode (required)
...... origin I0..1integerServer initiating the request
...... params I0..1stringExplicitly defined path parameters
...... requestHeader I0..*BackboneElementEach operation can have one or more header elements
....... id 0..1stringUnique id for inter-element referencing
....... extension I0..*ExtensionAdditional content defined by implementations
....... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... field I1..1stringHTTP header field name
....... value I1..1stringHTTP headerfield value
...... requestId I0..1idFixture Id of mapped request
...... responseId I0..1idFixture Id of mapped response
...... sourceId I0..1idFixture Id of body for PUT and POST requests
...... targetId I0..1idId of fixture used for extracting the [id], [type], and [vid] for GET requests
...... url I0..1stringRequest URL
..... assert I0..1BackboneElementThe assertion to perform
tst-5: Only a single assertion SHALL be present within setup action assert element.
tst-10: Setup action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.
tst-12: Setup action assert response and responseCode SHALL be empty when direction equals request
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
...... testscript-assert-rule SI0..1(Complex)Rule used within the test script assert
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule
...... testscript-assert-ruleset SI0..1(Complex)Ruleset used within the test script assert
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-ruleset
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... label I0..1stringTracking/logging assertion label
...... description I0..1stringTracking/reporting assertion description
...... direction I0..1coderesponse | request
Binding: AssertionDirectionType (required)
...... compareToSourceId I0..1stringId of the source fixture to be evaluated
...... compareToSourceExpression I0..1stringThe FHIRPath expression to evaluate against the source fixture
...... compareToSourcePath I0..1stringXPath or JSONPath expression to evaluate against the source fixture
...... contentType I0..1codeMime type to compare against the 'Content-Type' header
Binding: Mime Types (required)
Example General: application/fhir+xml
...... expression I0..1stringThe FHIRPath expression to be evaluated
...... headerField I0..1stringHTTP header field name
...... minimumId I0..1stringFixture Id of minimum content resource
...... navigationLinks I0..1booleanPerform validation on navigation links?
...... operator I0..1codeequals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval
Binding: AssertionOperatorType (required)
...... path I0..1stringXPath or JSONPath expression
...... requestMethod I0..1codedelete | get | options | patch | post | put | head
Binding: TestScriptRequestMethodCode (required)
...... requestURL I0..1stringRequest URL comparison value
...... resource I0..1codeResource type
Binding: FHIRDefinedType (required)
...... response I0..1codeokay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable
Binding: AssertionResponseTypes (required)
...... responseCode I0..1stringHTTP response code to test
...... sourceId I0..1idFixture Id of source expression or headerField
...... validateProfileId I0..1idProfile Id of validation profile reference
...... value I0..1stringThe value to compare to
...... warningOnly I1..1booleanWill this assert produce a warning only on error?
... test I0..*BackboneElementA test in this script
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name I0..1stringTracking/logging name of this test
.... description I0..1stringTracking/reporting short description of the test
.... action I1..*BackboneElementA test operation or assert to perform
tst-2: Test action SHALL contain either an operation or assert but not both.
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... operation I0..1Unknown reference to #TestScript.setup.action.operation
The setup operation to perform
tst-8: Test operation SHALL contain either sourceId or targetId or params or url.
..... assert I0..1Unknown reference to #TestScript.setup.action.assert
The setup assertion to perform
tst-6: Only a single assertion SHALL be present within test action assert element.
tst-11: Test action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.
tst-13: Test action assert response and response and responseCode SHALL be empty when direction equals request
... teardown I0..1BackboneElementA series of required clean up steps
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... action I1..*BackboneElementOne or more teardown operations to perform
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... operation I1..1Unknown reference to #TestScript.setup.action.operation
The teardown operation to perform
tst-9: Teardown operation SHALL contain either sourceId or targetId or params or url.

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. TestScript I0..*TestScriptTouchstone Testing TestScript Profile
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... testscript-rule SI0..*(Complex)Assert rule used within the test script
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule
... testscript-ruleset SI0..*(Complex)Assert ruleset used within the test script
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-ruleset
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... url ΣI1..1uriCanonical identifier for this test script, represented as a URI (globally unique)
... identifier ΣI0..1IdentifierAdditional identifier for the test script
... version ΣI0..1stringBusiness version of the test script
... name ΣI1..1stringName for this test script (computer friendly)
... title ΣI0..1stringName for this test script (human friendly)
... status ?!ΣI1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ΣI0..1booleanFor testing purposes, not real usage
... date ΣI0..1dateTimeDate last changed
... publisher ΣI0..1stringName of the publisher (organization or individual)
... contact ΣI0..*ContactDetailContact details for the publisher
... description I0..1markdownNatural language description of the test script
... useContext ΣI0..*UsageContextThe context that the content is intended to support
... jurisdiction ΣI0..*CodeableConceptIntended jurisdiction for test script (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose I0..1markdownWhy this test script is defined
... copyright I0..1markdownUse and/or publishing restrictions
... origin I0..*BackboneElementAn abstract server representing a client or sender in a message exchange
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... index I1..1integerThe index of the abstract origin server starting at 1
.... profile I1..1CodingFHIR-Client | FHIR-SDC-FormFiller
Binding: TestScriptProfileOriginType (extensible)
... destination I0..*BackboneElementAn abstract server representing a destination or receiver in a message exchange
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... index I1..1integerThe index of the abstract destination server starting at 1
.... profile I1..1CodingFHIR-Server | FHIR-SDC-FormManager | FHIR-SDC-FormReceiver | FHIR-SDC-FormProcessor
Binding: TestScriptProfileDestinationType (extensible)
... metadata I0..1BackboneElementRequired capability that is assumed to function correctly on the FHIR server being tested
tst-4: TestScript metadata capability SHALL contain required or validated or both.
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... link I0..*BackboneElementLinks to the FHIR specification
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... url I1..1uriURL to the specification
..... description I0..1stringShort description
.... capability I1..*BackboneElementCapabilities that are assumed to function correctly on the FHIR server being tested
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... required I1..1booleanAre the capabilities required?
..... validated I1..1booleanAre the capabilities validated?
..... description I0..1stringThe expected capabilities of the server
..... origin I0..*integerWhich origin server these requirements apply to
..... destination I0..1integerWhich server these requirements apply to
..... link I0..*uriLinks to the FHIR specification
..... capabilities I1..1canonical(CapabilityStatement)Required Capability Statement
... fixture I0..*BackboneElementFixture in the test script - by reference (uri)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... autocreate I1..1booleanWhether or not to implicitly create the fixture during setup
.... autodelete I1..1booleanWhether or not to implicitly delete the fixture during teardown
.... resource I0..1Reference(Resource)Reference of the resource
... profile I0..*Reference(Resource)Reference of the validation profile
... variable I0..*BackboneElementPlaceholder for evaluated elements
tst-3: Variable can only contain one of expression, headerField or path.
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name I1..1stringDescriptive name for this variable
.... defaultValue I0..1stringDefault, hard-coded, or user-defined value for this variable
.... description I0..1stringNatural language description of the variable
.... expression I0..1stringThe FHIRPath expression against the fixture body
.... headerField I0..1stringHTTP header field name for source
.... hint I0..1stringHint help text for default value to enter
.... path I0..1stringXPath or JSONPath against the fixture body
.... sourceId I0..1idFixture Id of source expression or headerField within this variable
... setup I0..1BackboneElementA series of required setup operations before tests are executed
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... action I1..*BackboneElementA setup operation or assert to perform
tst-1: Setup action SHALL contain either an operation or assert but not both.
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... operation I0..1BackboneElementThe setup operation to perform
tst-7: Setup operation SHALL contain either sourceId or targetId or params or url.
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... type I0..1CodingThe operation code type that will be executed
Binding: TestScriptOperationCode (extensible)
...... resource I0..1codeResource type
Binding: FHIRDefinedType (required)
...... label I0..1stringTracking/logging operation label
...... description I0..1stringTracking/reporting operation description
...... accept I0..1codeMime type to accept in the payload of the response, with charset etc.
Binding: Mime Types (required)
Example General: application/fhir+xml
...... contentType I0..1codeMime type of the request payload contents, with charset etc.
Binding: Mime Types (required)
Example General: application/fhir+xml
...... destination I0..1integerServer responding to the request
...... encodeRequestUrl I1..1booleanWhether or not to send the request url in encoded format
...... method I0..1codedelete | get | options | patch | post | put | head
Binding: TestScriptRequestMethodCode (required)
...... origin I0..1integerServer initiating the request
...... params I0..1stringExplicitly defined path parameters
...... requestHeader I0..*BackboneElementEach operation can have one or more header elements
....... id 0..1stringUnique id for inter-element referencing
....... extension I0..*ExtensionAdditional content defined by implementations
....... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... field I1..1stringHTTP header field name
....... value I1..1stringHTTP headerfield value
...... requestId I0..1idFixture Id of mapped request
...... responseId I0..1idFixture Id of mapped response
...... sourceId I0..1idFixture Id of body for PUT and POST requests
...... targetId I0..1idId of fixture used for extracting the [id], [type], and [vid] for GET requests
...... url I0..1stringRequest URL
..... assert I0..1BackboneElementThe assertion to perform
tst-5: Only a single assertion SHALL be present within setup action assert element.
tst-10: Setup action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.
tst-12: Setup action assert response and responseCode SHALL be empty when direction equals request
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
...... testscript-assert-rule SI0..1(Complex)Rule used within the test script assert
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule
...... testscript-assert-ruleset SI0..1(Complex)Ruleset used within the test script assert
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-ruleset
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... label I0..1stringTracking/logging assertion label
...... description I0..1stringTracking/reporting assertion description
...... direction I0..1coderesponse | request
Binding: AssertionDirectionType (required)
...... compareToSourceId I0..1stringId of the source fixture to be evaluated
...... compareToSourceExpression I0..1stringThe FHIRPath expression to evaluate against the source fixture
...... compareToSourcePath I0..1stringXPath or JSONPath expression to evaluate against the source fixture
...... contentType I0..1codeMime type to compare against the 'Content-Type' header
Binding: Mime Types (required)
Example General: application/fhir+xml
...... expression I0..1stringThe FHIRPath expression to be evaluated
...... headerField I0..1stringHTTP header field name
...... minimumId I0..1stringFixture Id of minimum content resource
...... navigationLinks I0..1booleanPerform validation on navigation links?
...... operator I0..1codeequals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval
Binding: AssertionOperatorType (required)
...... path I0..1stringXPath or JSONPath expression
...... requestMethod I0..1codedelete | get | options | patch | post | put | head
Binding: TestScriptRequestMethodCode (required)
...... requestURL I0..1stringRequest URL comparison value
...... resource I0..1codeResource type
Binding: FHIRDefinedType (required)
...... response I0..1codeokay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable
Binding: AssertionResponseTypes (required)
...... responseCode I0..1stringHTTP response code to test
...... sourceId I0..1idFixture Id of source expression or headerField
...... validateProfileId I0..1idProfile Id of validation profile reference
...... value I0..1stringThe value to compare to
...... warningOnly I1..1booleanWill this assert produce a warning only on error?
... test I0..*BackboneElementA test in this script
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name I0..1stringTracking/logging name of this test
.... description I0..1stringTracking/reporting short description of the test
.... action I1..*BackboneElementA test operation or assert to perform
tst-2: Test action SHALL contain either an operation or assert but not both.
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... operation I0..1Unknown reference to #TestScript.setup.action.operation
The setup operation to perform
tst-8: Test operation SHALL contain either sourceId or targetId or params or url.
..... assert I0..1Unknown reference to #TestScript.setup.action.assert
The setup assertion to perform
tst-6: Only a single assertion SHALL be present within test action assert element.
tst-11: Test action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.
tst-13: Test action assert response and response and responseCode SHALL be empty when direction equals request
... teardown I0..1BackboneElementA series of required clean up steps
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... action I1..*BackboneElementOne or more teardown operations to perform
..... id 0..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... operation I1..1Unknown reference to #TestScript.setup.action.operation
The teardown operation to perform
tst-9: Teardown operation SHALL contain either sourceId or targetId or params or url.

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron

Terminology Bindings

PathConformanceValueSet
TestScript.languagepreferredCommonLanguages
Max Binding: AllLanguages
TestScript.statusrequiredPublicationStatus
TestScript.jurisdictionextensibleJurisdiction ValueSet
TestScript.origin.profileextensibleTestScriptProfileOriginType
TestScript.destination.profileextensibleTestScriptProfileDestinationType
TestScript.setup.action.operation.typeextensibleTestScriptOperationCode
TestScript.setup.action.operation.resourcerequiredFHIRDefinedType
TestScript.setup.action.operation.acceptrequiredMime Types
TestScript.setup.action.operation.contentTyperequiredMime Types
TestScript.setup.action.operation.methodrequiredTestScriptRequestMethodCode
TestScript.setup.action.assert.directionrequiredAssertionDirectionType
TestScript.setup.action.assert.contentTyperequiredMime Types
TestScript.setup.action.assert.operatorrequiredAssertionOperatorType
TestScript.setup.action.assert.requestMethodrequiredTestScriptRequestMethodCode
TestScript.setup.action.assert.resourcerequiredFHIRDefinedType
TestScript.setup.action.assert.responserequiredAssertionResponseTypes

Constraints

IdPathDetailsRequirements
dom-2TestScriptIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3TestScriptIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4TestScriptIf 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()
dom-5TestScriptIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6TestScriptA resource should have narrative for robust management
: text.`div`.exists()
tst-0TestScriptName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
ele-1TestScript.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.extension:testscript-ruleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.extension:testscript-ruleMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.extension:testscript-rulesetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.extension:testscript-rulesetMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.experimentalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.publisherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.useContextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.jurisdictionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.purposeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.copyrightAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.originAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.origin.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.origin.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.origin.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.origin.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.origin.indexAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.origin.profileAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.destinationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.destination.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.destination.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.destination.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.destination.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.destination.indexAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.destination.profileAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadataAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tst-4TestScript.metadataTestScript metadata capability SHALL contain required or validated or both.
: capability.required.exists() or capability.validated.exists()
ele-1TestScript.metadata.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.metadata.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.metadata.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.metadata.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.metadata.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.link.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.metadata.link.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.metadata.link.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.metadata.link.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.metadata.link.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.link.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.capabilityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.capability.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.metadata.capability.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.metadata.capability.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.metadata.capability.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.metadata.capability.requiredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.capability.validatedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.capability.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.capability.originAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.capability.destinationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.capability.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.metadata.capability.capabilitiesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.fixtureAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.fixture.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.fixture.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.fixture.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.fixture.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.fixture.autocreateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.fixture.autodeleteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.fixture.resourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.profileAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.variableAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tst-3TestScript.variableVariable can only contain one of expression, headerField or path.
: expression.empty() or headerField.empty() or path.empty()
ele-1TestScript.variable.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.variable.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.variable.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.variable.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.variable.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.variable.defaultValueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.variable.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.variable.expressionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.variable.headerFieldAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.variable.hintAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.variable.pathAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.variable.sourceIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setupAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tst-1TestScript.setup.actionSetup action SHALL contain either an operation or assert but not both.
: operation.exists() xor assert.exists()
ele-1TestScript.setup.action.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.operationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tst-7TestScript.setup.action.operationSetup 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'))
ele-1TestScript.setup.action.operation.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.operation.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.operation.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.operation.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.operation.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.resourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.labelAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.acceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.contentTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.destinationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.encodeRequestUrlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.originAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.paramsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.requestHeaderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.requestHeader.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.operation.requestHeader.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.operation.requestHeader.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.operation.requestHeader.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.operation.requestHeader.fieldAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.requestHeader.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.requestIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.responseIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.sourceIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.targetIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.operation.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assertAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tst-5TestScript.setup.action.assertOnly a single assertion SHALL be present within setup action assert element.
: extension.exists() or (contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + validateProfileId.count() <=1)
tst-10TestScript.setup.action.assertSetup action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.
: compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
tst-12TestScript.setup.action.assertSetup 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'
ele-1TestScript.setup.action.assert.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.assert.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.assert.extension:testscript-assert-ruleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.assert.extension:testscript-assert-ruleMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.assert.extension:testscript-assert-rulesetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.assert.extension:testscript-assert-rulesetMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.assert.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.assert.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.assert.labelAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.directionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.compareToSourceIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.compareToSourceExpressionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.compareToSourcePathAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.contentTypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.expressionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.headerFieldAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.minimumIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.navigationLinksAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.operatorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.pathAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.requestMethodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.requestURLAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.resourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.responseAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.responseCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.sourceIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.validateProfileIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.setup.action.assert.warningOnlyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.testAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.test.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.test.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.test.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.test.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.test.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.test.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.test.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tst-2TestScript.test.actionTest action SHALL contain either an operation or assert but not both.
: operation.exists() xor assert.exists()
ele-1TestScript.test.action.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.test.action.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.test.action.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.test.action.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.test.action.operationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tst-8TestScript.test.action.operationTest 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'))
ele-1TestScript.test.action.assertAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tst-6TestScript.test.action.assertOnly a single assertion SHALL be present within test action assert element.
: extension.exists() or (contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + validateProfileId.count() <=1)
tst-11TestScript.test.action.assertTest action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.
: compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
tst-13TestScript.test.action.assertTest 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'
ele-1TestScript.teardownAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.teardown.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.teardown.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.teardown.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.teardown.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.teardown.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1TestScript.teardown.action.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.teardown.action.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.teardown.action.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.teardown.action.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.teardown.action.operationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
tst-9TestScript.teardown.action.operationTeardown 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'))