This is the Version 1.5.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.
Examples
The following examples are provided to illustrate conformant resource content to this profile.
- ehr-smart-launch
- oauth2-standalone-launch
- patient-read-stopTestOnFail-json
- patient-read-summary-rule-no-param-json
- patient-read-summary-rule-with-param-json
- patient-read-versioning-ruleset-json
- patient-read-notfound-ruleset-with-param-json
- patient-search-pages-next
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 Sep 10 00:00:00 EDT 2021 as a active by AEGIS.net, Inc..
This profile builds on TestScript
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Terminology Bindings
Path | Conformance | ValueSet |
TestScript.language | preferred | CommonLanguages Max Binding: AllLanguages |
TestScript.status | required | PublicationStatus |
TestScript.jurisdiction | extensible | Jurisdiction ValueSet |
TestScript.origin.profile | extensible | TestScriptProfileOriginType |
TestScript.destination.profile | extensible | TestScriptProfileDestinationType |
TestScript.setup.action.operation.type | extensible | AEGISTouchstoneTestingTestScriptOperationCodesValueSet |
TestScript.setup.action.operation.resource | required | FHIRDefinedType |
TestScript.setup.action.operation.accept | required | Mime Types |
TestScript.setup.action.operation.contentType | required | Mime Types |
TestScript.setup.action.operation.method | required | TestScriptRequestMethodCode |
TestScript.setup.action.assert.direction | required | AssertionDirectionType |
TestScript.setup.action.assert.contentType | required | Mime Types |
TestScript.setup.action.assert.operator | required | AssertionOperatorType |
TestScript.setup.action.assert.requestMethod | required | TestScriptRequestMethodCode |
TestScript.setup.action.assert.resource | required | FHIRDefinedType |
TestScript.setup.action.assert.response | required | AssertionResponseTypes |
Constraints
Id | Path | Details | Requirements |
dom-2 | TestScript | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | TestScript | If 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-4 | 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() | |
dom-5 | TestScript | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | TestScript | A resource should have narrative for robust management : text.`div`.exists() | |
tst-0 | TestScript | Name 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-1 | TestScript.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.extension:testscript-dynamic-fixture | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.extension:testscript-dynamic-fixture | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.extension:testscript-rule | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.extension:testscript-rule | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.extension:testscript-ruleset | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.extension:testscript-ruleset | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.title | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.experimental | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.date | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.publisher | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.contact | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.useContext | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.jurisdiction | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.purpose | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.copyright | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.origin | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.origin.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.origin.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.origin.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.origin.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.origin.index | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.origin.profile | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.destination | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.destination.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.destination.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.destination.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.destination.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.destination.index | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.destination.profile | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
tst-4 | TestScript.metadata | TestScript metadata capability SHALL contain required or validated or both. : capability.required.exists() or capability.validated.exists() | |
ele-1 | TestScript.metadata.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.metadata.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.metadata.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.metadata.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.metadata.link | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.link.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.metadata.link.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.metadata.link.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.metadata.link.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.metadata.link.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.link.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.capability | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.capability.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.metadata.capability.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.metadata.capability.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.metadata.capability.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.metadata.capability.required | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.capability.validated | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.capability.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.capability.origin | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.capability.destination | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.capability.link | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.metadata.capability.capabilities | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.fixture | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.fixture.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.fixture.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.fixture.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.fixture.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.fixture.autocreate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.fixture.autodelete | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.fixture.resource | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.profile | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.variable | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
tst-3 | TestScript.variable | Variable can only contain one of expression, headerField or path. : expression.empty() or headerField.empty() or path.empty() | |
ele-1 | TestScript.variable.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.variable.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.variable.extension:testscript-variable-paramField | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.variable.extension:testscript-variable-paramField | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.variable.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.variable.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.variable.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.variable.defaultValue | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.variable.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.variable.expression | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.variable.headerField | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.variable.hint | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.variable.path | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.variable.sourceId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.extension:testscript-test-manualCompletion | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.extension:testscript-test-manualCompletion | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
tst-1 | TestScript.setup.action | Setup action SHALL contain either an operation or assert but not both. : operation.exists() xor assert.exists() | |
ele-1 | TestScript.setup.action.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
tst-7 | 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')) | |
ele-1 | TestScript.setup.action.operation.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.operation.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation.extension:testscript-operation-authorizeInNewTab | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.operation.extension:testscript-operation-authorizeInNewTab | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation.extension:testscript-operation-oauth2AuthzRedirectId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.operation.extension:testscript-operation-oauth2AuthzRedirectId | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation.extension:testscript-operation-oauth2AuthzRequestId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.operation.extension:testscript-operation-oauth2AuthzRequestId | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation.extension:testscript-operation-pagesNext | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.operation.extension:testscript-operation-pagesNext | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation.extension:testscript-operation-smartLaunchRequestId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.operation.extension:testscript-operation-smartLaunchRequestId | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.operation.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.resource | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.label | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.accept | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.contentType | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.destination | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.encodeRequestUrl | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.method | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.origin | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.params | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.requestHeader | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.requestHeader.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.operation.requestHeader.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation.requestHeader.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.operation.requestHeader.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.operation.requestHeader.field | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.requestHeader.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.requestId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.responseId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.sourceId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.targetId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.operation.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
tst-5 | TestScript.setup.action.assert | Only 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-10 | 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()) | |
tst-12 | 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' | |
ele-1 | TestScript.setup.action.assert.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.assert.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.assert.extension:testscript-assert-rule | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.assert.extension:testscript-assert-rule | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.assert.extension:testscript-assert-ruleset | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.assert.extension:testscript-assert-ruleset | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.assert.extension:testscript-assert-stopTestOnFail | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.assert.extension:testscript-assert-stopTestOnFail | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.assert.extension:testscript-assert-variable | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.assert.extension:testscript-assert-variable | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.assert.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.setup.action.assert.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.setup.action.assert.label | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.direction | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.compareToSourceId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.compareToSourceExpression | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.compareToSourcePath | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.contentType | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.expression | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.headerField | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.minimumId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.navigationLinks | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.operator | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.path | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.requestMethod | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.requestURL | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.resource | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.response | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.responseCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.sourceId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.validateProfileId | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.setup.action.assert.warningOnly | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.test | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.test.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.test.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.test.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.test.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.test.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.test.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.test.action | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
tst-2 | TestScript.test.action | Test action SHALL contain either an operation or assert but not both. : operation.exists() xor assert.exists() | |
ele-1 | TestScript.test.action.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.test.action.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.test.action.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.test.action.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.test.action.operation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
tst-8 | 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')) | |
ele-1 | TestScript.test.action.assert | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
tst-6 | TestScript.test.action.assert | Only 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-11 | 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()) | |
tst-13 | 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' | |
ele-1 | TestScript.teardown | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.teardown.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.teardown.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.teardown.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.teardown.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.teardown.action | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | TestScript.teardown.action.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.teardown.action.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.teardown.action.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | TestScript.teardown.action.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | TestScript.teardown.action.operation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
tst-9 | 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')) |