AEGIS Touchstone Testing Implementation Guide

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.

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


NameFlagsCard.TypeDescription & Constraintsdoco
.. TestScript 0..*TestScriptTouchstone Testing TestScript Profile
... testscript-dynamic-fixture S0..*(Complex)Dynamic fixture used within the test script
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-dynamic-fixture
... testscript-rule S0..*(Complex)Assert rule used within the test script
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule
... testscript-ruleset S0..*(Complex)Assert ruleset used within the test script
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-ruleset
... variable
.... testscript-variable-paramField S0..1stringFixture firstUsage used within the test script
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-variable-paramField
... setup
.... testscript-test-manualCompletion S0..1codeOverride the default behavior of the TestScript.test execution
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-test-manualCompletion
Binding: AEGIS Touchstone Testing TestScript Test Manual Completion Codes ValueSet (extensible)
.... action
..... 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
...... testscript-operation-authorizeInNewTab S0..1booleanAuthorize in new tab for specific oauth2-authorize operation
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-authorizeInNewTab
...... testscript-operation-oauth2AuthzRedirectId S0..1idRequest id for specific oauth2-authorize operation
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-oauth2AuthzRedirectId
...... testscript-operation-oauth2AuthzRequestId S0..1idRequest id for specific oauth2-authorize operation
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-oauth2AuthzRequestId
...... testscript-operation-pagesNext S0..1positiveIntThe maximum number of search pages to auto retrieve and process. Only valid when used with the 'history' or 'search' operation code values.
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-pagesNext
...... testscript-operation-smartLaunchRequestId S0..1idRequest id for specific oauth2-authorize operation
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-operation-smartLaunchRequestId
...... type 0..1CodingThe operation code type that will be executed
Binding: AEGIS Touchstone Testing TestScript TestScript Operation Codes ValueSet (extensible): The allowable operation code types.

..... assert
...... testscript-assert-rule S0..1(Complex)Rule used within the test script assert
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-rule
...... testscript-assert-ruleset S0..1(Complex)Ruleset used within the test script assert
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-ruleset
...... testscript-assert-stopTestOnFail S0..1booleanStop Test On Error boolean used within the test script assert
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-stopTestOnFail
...... testscript-assert-variable S0..1stringComparison value used within the test script assert
URL: http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-assert-variable
... test
.... action
..... operation I0..1The setup operation to perform
tst-8: Test 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.typeextensibleAEGISTouchstoneTestingTestScriptOperationCodesValueSet
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-dynamic-fixtureAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.extension:testscript-dynamic-fixtureMust 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.extension:testscript-variable-paramFieldAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.variable.extension:testscript-variable-paramFieldMust 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.extension:testscript-test-manualCompletionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.extension:testscript-test-manualCompletionMust 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.extension:testscript-operation-authorizeInNewTabAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.operation.extension:testscript-operation-authorizeInNewTabMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.operation.extension:testscript-operation-oauth2AuthzRedirectIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.operation.extension:testscript-operation-oauth2AuthzRedirectIdMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.operation.extension:testscript-operation-oauth2AuthzRequestIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.operation.extension:testscript-operation-oauth2AuthzRequestIdMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.operation.extension:testscript-operation-pagesNextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.operation.extension:testscript-operation-pagesNextMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.operation.extension:testscript-operation-smartLaunchRequestIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.operation.extension:testscript-operation-smartLaunchRequestIdMust 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.extension:testscript-assert-stopTestOnFailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.assert.extension:testscript-assert-stopTestOnFailMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1TestScript.setup.action.assert.extension:testscript-assert-variableAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1TestScript.setup.action.assert.extension:testscript-assert-variableMust 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'))