Extensions for Using Data Elements from FHIR R4 in FHIR R4B
0.1.0 - STU International flag

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

Resource Profile: Profile_R4_TestScript_R4B

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

This cross-version profile allows R4 TestScript content to be represented via FHIR R4B TestScript resources.

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript C 0..* TestScript(4.3.0) Describes a set of tests
Constraints: tst-0
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... url Σ 1..1 uri Canonical identifier for this test script, represented as a URI (globally unique)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
dom-2 error TestScript If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error TestScript If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error TestScript If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error TestScript If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice TestScript A resource should have narrative for robust management text.`div`.exists()
ele-1 error TestScript.implicitRules, TestScript.modifierExtension, TestScript.url, TestScript.name, TestScript.status All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error TestScript.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
tst-0 warning TestScript Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('[A-Z]([A-Za-z0-9_]){0,254}')

This structure is derived from TestScript

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript 0..* TestScript(4.3.0) Describes a set of tests
... setup
.... action
..... operation
...... resource
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:resource 0..1 code R4: resource
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-TestScript.setup.action.operation.resource
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-defined-types-for-R4B (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
..... assert
...... resource
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:resource 0..1 code R4: resource
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-TestScript.setup.action.assert.resource
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-defined-types-for-R4B (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript C 0..* TestScript(4.3.0) Describes a set of tests
Constraints: tst-0
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... url Σ 1..1 uri Canonical identifier for this test script, represented as a URI (globally unique)
... identifier Σ 0..1 Identifier Additional identifier for the test script
... version Σ 0..1 string Business version of the test script
... name Σ 1..1 string Name for this test script (computer friendly)
... title Σ 0..1 string Name for this test script (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the test script
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for test script (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this test script is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... origin 0..* BackboneElement An abstract server representing a client or sender in a message exchange
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... index 1..1 integer The index of the abstract origin server starting at 1
.... profile 1..1 Coding FHIR-Client | FHIR-SDC-FormFiller
Binding: TestScriptProfileOriginType (extensible): The type of origin profile the test system supports.
... destination 0..* BackboneElement An abstract server representing a destination or receiver in a message exchange
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... index 1..1 integer The index of the abstract destination server starting at 1
.... profile 1..1 Coding FHIR-Server | FHIR-SDC-FormManager | FHIR-SDC-FormReceiver | FHIR-SDC-FormProcessor
Binding: TestScriptProfileDestinationType (extensible): The type of destination profile the test system supports.
... metadata C 0..1 BackboneElement Required capability that is assumed to function correctly on the FHIR server being tested
Constraints: tst-4
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... link 0..* BackboneElement Links to the FHIR specification
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... url 1..1 uri URL to the specification
..... description 0..1 string Short description
.... capability 1..* BackboneElement Capabilities that are assumed to function correctly on the FHIR server being tested
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... required 1..1 boolean Are the capabilities required?
..... validated 1..1 boolean Are the capabilities validated?
..... description 0..1 string The expected capabilities of the server
..... origin 0..* integer Which origin server these requirements apply to
..... destination 0..1 integer Which server these requirements apply to
..... link 0..* uri Links to the FHIR specification
..... capabilities 1..1 canonical(CapabilityStatement) Required Capability Statement
... fixture 0..* BackboneElement Fixture in the test script - by reference (uri)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... autocreate 1..1 boolean Whether or not to implicitly create the fixture during setup
.... autodelete 1..1 boolean Whether or not to implicitly delete the fixture during teardown
.... resource 0..1 Reference(Resource) Reference of the resource
... profile 0..* Reference(Resource) Reference of the validation profile
... variable C 0..* BackboneElement Placeholder for evaluated elements
Constraints: tst-3
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... name 1..1 string Descriptive name for this variable
.... defaultValue 0..1 string Default, hard-coded, or user-defined value for this variable
.... description 0..1 string Natural language description of the variable
.... expression 0..1 string The FHIRPath expression against the fixture body
.... headerField 0..1 string HTTP header field name for source
.... hint 0..1 string Hint help text for default value to enter
.... path 0..1 string XPath or JSONPath against the fixture body
.... sourceId 0..1 id Fixture Id of source expression or headerField within this variable
... setup 0..1 BackboneElement A series of required setup operations before tests are executed
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... action C 1..* BackboneElement A setup operation or assert to perform
Constraints: tst-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... operation C 0..1 BackboneElement The setup operation to perform
Constraints: tst-7
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... type 0..1 Coding The operation code type that will be executed
Binding: TestScriptOperationCode (extensible): FHIR Operation Code Types
...... resource 0..1 code Resource type
Binding: FHIRDefinedType (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
........ extension:resource 0..1 code R4: resource
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-TestScript.setup.action.operation.resource
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-defined-types-for-R4B (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
Constraints: ext-1
....... value 0..1 code Primitive value for code
...... label 0..1 string Tracking/logging operation label
...... description 0..1 string Tracking/reporting operation description
...... accept 0..1 code Mime type to accept in the payload of the response, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
Example General: application/fhir+xml
...... contentType 0..1 code Mime type of the request payload contents, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
Example General: application/fhir+xml
...... destination 0..1 integer Server responding to the request
...... encodeRequestUrl 1..1 boolean Whether or not to send the request url in encoded format
...... method 0..1 code delete | get | options | patch | post | put | head
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
...... origin 0..1 integer Server initiating the request
...... params 0..1 string Explicitly defined path parameters
...... requestHeader 0..* BackboneElement Each operation can have one or more header elements
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
....... field 1..1 string HTTP header field name
....... value 1..1 string HTTP headerfield value
...... requestId 0..1 id Fixture Id of mapped request
...... responseId 0..1 id Fixture Id of mapped response
...... sourceId 0..1 id Fixture Id of body for PUT and POST requests
...... targetId 0..1 id Id of fixture used for extracting the [id], [type], and [vid] for GET requests
...... url 0..1 string Request URL
..... assert C 0..1 BackboneElement The assertion to perform
Constraints: tst-5, tst-10, tst-12
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... label 0..1 string Tracking/logging assertion label
...... description 0..1 string Tracking/reporting assertion description
...... direction 0..1 code response | request
Binding: AssertionDirectionType (required): The direction to use for assertions.
...... compareToSourceId 0..1 string Id of the source fixture to be evaluated
...... compareToSourceExpression 0..1 string The FHIRPath expression to evaluate against the source fixture
...... compareToSourcePath 0..1 string XPath or JSONPath expression to evaluate against the source fixture
...... contentType 0..1 code Mime type to compare against the 'Content-Type' header
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
Example General: application/fhir+xml
...... expression 0..1 string The FHIRPath expression to be evaluated
...... headerField 0..1 string HTTP header field name
...... minimumId 0..1 string Fixture Id of minimum content resource
...... navigationLinks 0..1 boolean Perform validation on navigation links?
...... operator 0..1 code equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval
Binding: AssertionOperatorType (required): The type of operator to use for assertions.
...... path 0..1 string XPath or JSONPath expression
...... requestMethod 0..1 code delete | get | options | patch | post | put | head
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
...... requestURL 0..1 string Request URL comparison value
...... resource 0..1 code Resource type
Binding: FHIRDefinedType (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
........ extension:resource 0..1 code R4: resource
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-TestScript.setup.action.assert.resource
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-defined-types-for-R4B (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
Constraints: ext-1
....... value 0..1 code Primitive value for code
...... response 0..1 code okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable
Binding: AssertionResponseTypes (required): The response code to expect in the response.
...... responseCode 0..1 string HTTP response code to test
...... sourceId 0..1 id Fixture Id of source expression or headerField
...... validateProfileId 0..1 id Profile Id of validation profile reference
...... value 0..1 string The value to compare to
...... warningOnly 1..1 boolean Will this assert produce a warning only on error?
... test 0..* BackboneElement A test in this script
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... name 0..1 string Tracking/logging name of this test
.... description 0..1 string Tracking/reporting short description of the test
.... action C 1..* BackboneElement A test operation or assert to perform
Constraints: tst-2
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... operation C 0..1 See operation (TestScript) The setup operation to perform
Constraints: tst-8
..... assert C 0..1 See assert (TestScript) The setup assertion to perform
Constraints: tst-6, tst-11, tst-13
... teardown 0..1 BackboneElement A series of required clean up steps
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... action 1..* BackboneElement One or more teardown operations to perform
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... operation C 1..1 See operation (TestScript) The teardown operation to perform
Constraints: tst-9

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
dom-2 error TestScript If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error TestScript If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error TestScript If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error TestScript If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice TestScript A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning TestScript.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error TestScript.meta, TestScript.implicitRules, TestScript.language, TestScript.text, TestScript.extension, TestScript.modifierExtension, TestScript.url, TestScript.identifier, TestScript.version, TestScript.name, TestScript.title, TestScript.status, TestScript.experimental, TestScript.date, TestScript.publisher, TestScript.contact, TestScript.description, TestScript.useContext, TestScript.jurisdiction, TestScript.purpose, TestScript.copyright, TestScript.origin, TestScript.origin.extension, TestScript.origin.modifierExtension, TestScript.origin.index, TestScript.origin.profile, TestScript.destination, TestScript.destination.extension, TestScript.destination.modifierExtension, TestScript.destination.index, TestScript.destination.profile, TestScript.metadata, TestScript.metadata.extension, TestScript.metadata.modifierExtension, TestScript.metadata.link, TestScript.metadata.link.extension, TestScript.metadata.link.modifierExtension, TestScript.metadata.link.url, TestScript.metadata.link.description, TestScript.metadata.capability, TestScript.metadata.capability.extension, TestScript.metadata.capability.modifierExtension, TestScript.metadata.capability.required, TestScript.metadata.capability.validated, TestScript.metadata.capability.description, TestScript.metadata.capability.origin, TestScript.metadata.capability.destination, TestScript.metadata.capability.link, TestScript.metadata.capability.capabilities, TestScript.fixture, TestScript.fixture.extension, TestScript.fixture.modifierExtension, TestScript.fixture.autocreate, TestScript.fixture.autodelete, TestScript.fixture.resource, TestScript.profile, TestScript.variable, TestScript.variable.extension, TestScript.variable.modifierExtension, TestScript.variable.name, TestScript.variable.defaultValue, TestScript.variable.description, TestScript.variable.expression, TestScript.variable.headerField, TestScript.variable.hint, TestScript.variable.path, TestScript.variable.sourceId, TestScript.setup, TestScript.setup.extension, TestScript.setup.modifierExtension, TestScript.setup.action, TestScript.setup.action.extension, TestScript.setup.action.modifierExtension, TestScript.setup.action.operation, TestScript.setup.action.operation.extension, TestScript.setup.action.operation.modifierExtension, TestScript.setup.action.operation.type, TestScript.setup.action.operation.resource, TestScript.setup.action.operation.resource.extension, TestScript.setup.action.operation.resource.extension:resource, TestScript.setup.action.operation.label, TestScript.setup.action.operation.description, TestScript.setup.action.operation.accept, TestScript.setup.action.operation.contentType, TestScript.setup.action.operation.destination, TestScript.setup.action.operation.encodeRequestUrl, TestScript.setup.action.operation.method, TestScript.setup.action.operation.origin, TestScript.setup.action.operation.params, TestScript.setup.action.operation.requestHeader, TestScript.setup.action.operation.requestHeader.extension, TestScript.setup.action.operation.requestHeader.modifierExtension, TestScript.setup.action.operation.requestHeader.field, TestScript.setup.action.operation.requestHeader.value, TestScript.setup.action.operation.requestId, TestScript.setup.action.operation.responseId, TestScript.setup.action.operation.sourceId, TestScript.setup.action.operation.targetId, TestScript.setup.action.operation.url, TestScript.setup.action.assert, TestScript.setup.action.assert.extension, TestScript.setup.action.assert.modifierExtension, TestScript.setup.action.assert.label, TestScript.setup.action.assert.description, TestScript.setup.action.assert.direction, TestScript.setup.action.assert.compareToSourceId, TestScript.setup.action.assert.compareToSourceExpression, TestScript.setup.action.assert.compareToSourcePath, TestScript.setup.action.assert.contentType, TestScript.setup.action.assert.expression, TestScript.setup.action.assert.headerField, TestScript.setup.action.assert.minimumId, TestScript.setup.action.assert.navigationLinks, TestScript.setup.action.assert.operator, TestScript.setup.action.assert.path, TestScript.setup.action.assert.requestMethod, TestScript.setup.action.assert.requestURL, TestScript.setup.action.assert.resource, TestScript.setup.action.assert.resource.extension, TestScript.setup.action.assert.resource.extension:resource, TestScript.setup.action.assert.response, TestScript.setup.action.assert.responseCode, TestScript.setup.action.assert.sourceId, TestScript.setup.action.assert.validateProfileId, TestScript.setup.action.assert.value, TestScript.setup.action.assert.warningOnly, TestScript.test, TestScript.test.extension, TestScript.test.modifierExtension, TestScript.test.name, TestScript.test.description, TestScript.test.action, TestScript.test.action.extension, TestScript.test.action.modifierExtension, TestScript.test.action.operation, TestScript.test.action.assert, TestScript.teardown, TestScript.teardown.extension, TestScript.teardown.modifierExtension, TestScript.teardown.action, TestScript.teardown.action.extension, TestScript.teardown.action.modifierExtension, TestScript.teardown.action.operation All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error TestScript.extension, TestScript.modifierExtension, TestScript.origin.extension, TestScript.origin.modifierExtension, TestScript.destination.extension, TestScript.destination.modifierExtension, TestScript.metadata.extension, TestScript.metadata.modifierExtension, TestScript.metadata.link.extension, TestScript.metadata.link.modifierExtension, TestScript.metadata.capability.extension, TestScript.metadata.capability.modifierExtension, TestScript.fixture.extension, TestScript.fixture.modifierExtension, TestScript.variable.extension, TestScript.variable.modifierExtension, TestScript.setup.extension, TestScript.setup.modifierExtension, TestScript.setup.action.extension, TestScript.setup.action.modifierExtension, TestScript.setup.action.operation.extension, TestScript.setup.action.operation.modifierExtension, TestScript.setup.action.operation.resource.extension, TestScript.setup.action.operation.resource.extension:resource, TestScript.setup.action.operation.requestHeader.extension, TestScript.setup.action.operation.requestHeader.modifierExtension, TestScript.setup.action.assert.extension, TestScript.setup.action.assert.modifierExtension, TestScript.setup.action.assert.resource.extension, TestScript.setup.action.assert.resource.extension:resource, TestScript.test.extension, TestScript.test.modifierExtension, TestScript.test.action.extension, TestScript.test.action.modifierExtension, TestScript.teardown.extension, TestScript.teardown.modifierExtension, TestScript.teardown.action.extension, TestScript.teardown.action.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
tst-0 warning TestScript Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
tst-1 error TestScript.setup.action Setup action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()
tst-2 error TestScript.test.action Test action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()
tst-3 error TestScript.variable Variable can only contain one of expression, headerField or path. expression.empty() or headerField.empty() or path.empty()
tst-4 error TestScript.metadata TestScript metadata capability SHALL contain required or validated or both. capability.required.exists() or capability.validated.exists()
tst-5 error 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-6 error 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-7 error TestScript.setup.action.operation Setup operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' |'search' | 'transaction' | 'history'))
tst-8 error TestScript.test.action.operation Test operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))
tst-9 error TestScript.teardown.action.operation Teardown operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))
tst-10 error TestScript.setup.action.assert Setup action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither. compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
tst-11 error TestScript.test.action.assert Test action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither. compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
tst-12 error TestScript.setup.action.assert Setup action assert response and responseCode SHALL be empty when direction equals request (response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'
tst-13 error TestScript.test.action.assert Test action assert response and response and responseCode SHALL be empty when direction equals request (response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript C 0..* TestScript(4.3.0) Describes a set of tests
Constraints: tst-0
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... url Σ 1..1 uri Canonical identifier for this test script, represented as a URI (globally unique)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
dom-2 error TestScript If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error TestScript If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error TestScript If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error TestScript If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice TestScript A resource should have narrative for robust management text.`div`.exists()
ele-1 error TestScript.implicitRules, TestScript.modifierExtension, TestScript.url, TestScript.name, TestScript.status All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error TestScript.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
tst-0 warning TestScript Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('[A-Z]([A-Za-z0-9_]){0,254}')

Differential View

This structure is derived from TestScript

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript 0..* TestScript(4.3.0) Describes a set of tests
... setup
.... action
..... operation
...... resource
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:resource 0..1 code R4: resource
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-TestScript.setup.action.operation.resource
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-defined-types-for-R4B (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
..... assert
...... resource
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
........ extension:resource 0..1 code R4: resource
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-TestScript.setup.action.assert.resource
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-defined-types-for-R4B (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. TestScript C 0..* TestScript(4.3.0) Describes a set of tests
Constraints: tst-0
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... url Σ 1..1 uri Canonical identifier for this test script, represented as a URI (globally unique)
... identifier Σ 0..1 Identifier Additional identifier for the test script
... version Σ 0..1 string Business version of the test script
... name Σ 1..1 string Name for this test script (computer friendly)
... title Σ 0..1 string Name for this test script (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date Σ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the test script
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for test script (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... purpose 0..1 markdown Why this test script is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... origin 0..* BackboneElement An abstract server representing a client or sender in a message exchange
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... index 1..1 integer The index of the abstract origin server starting at 1
.... profile 1..1 Coding FHIR-Client | FHIR-SDC-FormFiller
Binding: TestScriptProfileOriginType (extensible): The type of origin profile the test system supports.
... destination 0..* BackboneElement An abstract server representing a destination or receiver in a message exchange
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... index 1..1 integer The index of the abstract destination server starting at 1
.... profile 1..1 Coding FHIR-Server | FHIR-SDC-FormManager | FHIR-SDC-FormReceiver | FHIR-SDC-FormProcessor
Binding: TestScriptProfileDestinationType (extensible): The type of destination profile the test system supports.
... metadata C 0..1 BackboneElement Required capability that is assumed to function correctly on the FHIR server being tested
Constraints: tst-4
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... link 0..* BackboneElement Links to the FHIR specification
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... url 1..1 uri URL to the specification
..... description 0..1 string Short description
.... capability 1..* BackboneElement Capabilities that are assumed to function correctly on the FHIR server being tested
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... required 1..1 boolean Are the capabilities required?
..... validated 1..1 boolean Are the capabilities validated?
..... description 0..1 string The expected capabilities of the server
..... origin 0..* integer Which origin server these requirements apply to
..... destination 0..1 integer Which server these requirements apply to
..... link 0..* uri Links to the FHIR specification
..... capabilities 1..1 canonical(CapabilityStatement) Required Capability Statement
... fixture 0..* BackboneElement Fixture in the test script - by reference (uri)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... autocreate 1..1 boolean Whether or not to implicitly create the fixture during setup
.... autodelete 1..1 boolean Whether or not to implicitly delete the fixture during teardown
.... resource 0..1 Reference(Resource) Reference of the resource
... profile 0..* Reference(Resource) Reference of the validation profile
... variable C 0..* BackboneElement Placeholder for evaluated elements
Constraints: tst-3
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... name 1..1 string Descriptive name for this variable
.... defaultValue 0..1 string Default, hard-coded, or user-defined value for this variable
.... description 0..1 string Natural language description of the variable
.... expression 0..1 string The FHIRPath expression against the fixture body
.... headerField 0..1 string HTTP header field name for source
.... hint 0..1 string Hint help text for default value to enter
.... path 0..1 string XPath or JSONPath against the fixture body
.... sourceId 0..1 id Fixture Id of source expression or headerField within this variable
... setup 0..1 BackboneElement A series of required setup operations before tests are executed
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... action C 1..* BackboneElement A setup operation or assert to perform
Constraints: tst-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... operation C 0..1 BackboneElement The setup operation to perform
Constraints: tst-7
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... type 0..1 Coding The operation code type that will be executed
Binding: TestScriptOperationCode (extensible): FHIR Operation Code Types
...... resource 0..1 code Resource type
Binding: FHIRDefinedType (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
........ extension:resource 0..1 code R4: resource
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-TestScript.setup.action.operation.resource
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-defined-types-for-R4B (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
Constraints: ext-1
....... value 0..1 code Primitive value for code
...... label 0..1 string Tracking/logging operation label
...... description 0..1 string Tracking/reporting operation description
...... accept 0..1 code Mime type to accept in the payload of the response, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
Example General: application/fhir+xml
...... contentType 0..1 code Mime type of the request payload contents, with charset etc.
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
Example General: application/fhir+xml
...... destination 0..1 integer Server responding to the request
...... encodeRequestUrl 1..1 boolean Whether or not to send the request url in encoded format
...... method 0..1 code delete | get | options | patch | post | put | head
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
...... origin 0..1 integer Server initiating the request
...... params 0..1 string Explicitly defined path parameters
...... requestHeader 0..* BackboneElement Each operation can have one or more header elements
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
....... field 1..1 string HTTP header field name
....... value 1..1 string HTTP headerfield value
...... requestId 0..1 id Fixture Id of mapped request
...... responseId 0..1 id Fixture Id of mapped response
...... sourceId 0..1 id Fixture Id of body for PUT and POST requests
...... targetId 0..1 id Id of fixture used for extracting the [id], [type], and [vid] for GET requests
...... url 0..1 string Request URL
..... assert C 0..1 BackboneElement The assertion to perform
Constraints: tst-5, tst-10, tst-12
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
...... label 0..1 string Tracking/logging assertion label
...... description 0..1 string Tracking/reporting assertion description
...... direction 0..1 code response | request
Binding: AssertionDirectionType (required): The direction to use for assertions.
...... compareToSourceId 0..1 string Id of the source fixture to be evaluated
...... compareToSourceExpression 0..1 string The FHIRPath expression to evaluate against the source fixture
...... compareToSourcePath 0..1 string XPath or JSONPath expression to evaluate against the source fixture
...... contentType 0..1 code Mime type to compare against the 'Content-Type' header
Binding: Mime Types (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
Example General: application/fhir+xml
...... expression 0..1 string The FHIRPath expression to be evaluated
...... headerField 0..1 string HTTP header field name
...... minimumId 0..1 string Fixture Id of minimum content resource
...... navigationLinks 0..1 boolean Perform validation on navigation links?
...... operator 0..1 code equals | notEquals | in | notIn | greaterThan | lessThan | empty | notEmpty | contains | notContains | eval
Binding: AssertionOperatorType (required): The type of operator to use for assertions.
...... path 0..1 string XPath or JSONPath expression
...... requestMethod 0..1 code delete | get | options | patch | post | put | head
Binding: TestScriptRequestMethodCode (required): The allowable request method or HTTP operation codes.
...... requestURL 0..1 string Request URL comparison value
...... resource 0..1 code Resource type
Binding: FHIRDefinedType (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
....... id 0..1 string xml:id (or equivalent in JSON)
....... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Constraints: ext-1
........ extension:resource 0..1 code R4: resource
URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-TestScript.setup.action.assert.resource
Binding: http://hl7.org/fhir/uv/xver/ValueSet/R4-defined-types-for-R4B (required): A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
Constraints: ext-1
....... value 0..1 code Primitive value for code
...... response 0..1 code okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable
Binding: AssertionResponseTypes (required): The response code to expect in the response.
...... responseCode 0..1 string HTTP response code to test
...... sourceId 0..1 id Fixture Id of source expression or headerField
...... validateProfileId 0..1 id Profile Id of validation profile reference
...... value 0..1 string The value to compare to
...... warningOnly 1..1 boolean Will this assert produce a warning only on error?
... test 0..* BackboneElement A test in this script
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... name 0..1 string Tracking/logging name of this test
.... description 0..1 string Tracking/reporting short description of the test
.... action C 1..* BackboneElement A test operation or assert to perform
Constraints: tst-2
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... operation C 0..1 See operation (TestScript) The setup operation to perform
Constraints: tst-8
..... assert C 0..1 See assert (TestScript) The setup assertion to perform
Constraints: tst-6, tst-11, tst-13
... teardown 0..1 BackboneElement A series of required clean up steps
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... action 1..* BackboneElement One or more teardown operations to perform
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... operation C 1..1 See operation (TestScript) The teardown operation to perform
Constraints: tst-9

doco Documentation for this format

Terminology Bindings

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

Constraints

Id Grade Path(s) Description Expression
dom-2 error TestScript If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error TestScript If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+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(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error TestScript If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error TestScript If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice TestScript A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning TestScript.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error TestScript.meta, TestScript.implicitRules, TestScript.language, TestScript.text, TestScript.extension, TestScript.modifierExtension, TestScript.url, TestScript.identifier, TestScript.version, TestScript.name, TestScript.title, TestScript.status, TestScript.experimental, TestScript.date, TestScript.publisher, TestScript.contact, TestScript.description, TestScript.useContext, TestScript.jurisdiction, TestScript.purpose, TestScript.copyright, TestScript.origin, TestScript.origin.extension, TestScript.origin.modifierExtension, TestScript.origin.index, TestScript.origin.profile, TestScript.destination, TestScript.destination.extension, TestScript.destination.modifierExtension, TestScript.destination.index, TestScript.destination.profile, TestScript.metadata, TestScript.metadata.extension, TestScript.metadata.modifierExtension, TestScript.metadata.link, TestScript.metadata.link.extension, TestScript.metadata.link.modifierExtension, TestScript.metadata.link.url, TestScript.metadata.link.description, TestScript.metadata.capability, TestScript.metadata.capability.extension, TestScript.metadata.capability.modifierExtension, TestScript.metadata.capability.required, TestScript.metadata.capability.validated, TestScript.metadata.capability.description, TestScript.metadata.capability.origin, TestScript.metadata.capability.destination, TestScript.metadata.capability.link, TestScript.metadata.capability.capabilities, TestScript.fixture, TestScript.fixture.extension, TestScript.fixture.modifierExtension, TestScript.fixture.autocreate, TestScript.fixture.autodelete, TestScript.fixture.resource, TestScript.profile, TestScript.variable, TestScript.variable.extension, TestScript.variable.modifierExtension, TestScript.variable.name, TestScript.variable.defaultValue, TestScript.variable.description, TestScript.variable.expression, TestScript.variable.headerField, TestScript.variable.hint, TestScript.variable.path, TestScript.variable.sourceId, TestScript.setup, TestScript.setup.extension, TestScript.setup.modifierExtension, TestScript.setup.action, TestScript.setup.action.extension, TestScript.setup.action.modifierExtension, TestScript.setup.action.operation, TestScript.setup.action.operation.extension, TestScript.setup.action.operation.modifierExtension, TestScript.setup.action.operation.type, TestScript.setup.action.operation.resource, TestScript.setup.action.operation.resource.extension, TestScript.setup.action.operation.resource.extension:resource, TestScript.setup.action.operation.label, TestScript.setup.action.operation.description, TestScript.setup.action.operation.accept, TestScript.setup.action.operation.contentType, TestScript.setup.action.operation.destination, TestScript.setup.action.operation.encodeRequestUrl, TestScript.setup.action.operation.method, TestScript.setup.action.operation.origin, TestScript.setup.action.operation.params, TestScript.setup.action.operation.requestHeader, TestScript.setup.action.operation.requestHeader.extension, TestScript.setup.action.operation.requestHeader.modifierExtension, TestScript.setup.action.operation.requestHeader.field, TestScript.setup.action.operation.requestHeader.value, TestScript.setup.action.operation.requestId, TestScript.setup.action.operation.responseId, TestScript.setup.action.operation.sourceId, TestScript.setup.action.operation.targetId, TestScript.setup.action.operation.url, TestScript.setup.action.assert, TestScript.setup.action.assert.extension, TestScript.setup.action.assert.modifierExtension, TestScript.setup.action.assert.label, TestScript.setup.action.assert.description, TestScript.setup.action.assert.direction, TestScript.setup.action.assert.compareToSourceId, TestScript.setup.action.assert.compareToSourceExpression, TestScript.setup.action.assert.compareToSourcePath, TestScript.setup.action.assert.contentType, TestScript.setup.action.assert.expression, TestScript.setup.action.assert.headerField, TestScript.setup.action.assert.minimumId, TestScript.setup.action.assert.navigationLinks, TestScript.setup.action.assert.operator, TestScript.setup.action.assert.path, TestScript.setup.action.assert.requestMethod, TestScript.setup.action.assert.requestURL, TestScript.setup.action.assert.resource, TestScript.setup.action.assert.resource.extension, TestScript.setup.action.assert.resource.extension:resource, TestScript.setup.action.assert.response, TestScript.setup.action.assert.responseCode, TestScript.setup.action.assert.sourceId, TestScript.setup.action.assert.validateProfileId, TestScript.setup.action.assert.value, TestScript.setup.action.assert.warningOnly, TestScript.test, TestScript.test.extension, TestScript.test.modifierExtension, TestScript.test.name, TestScript.test.description, TestScript.test.action, TestScript.test.action.extension, TestScript.test.action.modifierExtension, TestScript.test.action.operation, TestScript.test.action.assert, TestScript.teardown, TestScript.teardown.extension, TestScript.teardown.modifierExtension, TestScript.teardown.action, TestScript.teardown.action.extension, TestScript.teardown.action.modifierExtension, TestScript.teardown.action.operation All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error TestScript.extension, TestScript.modifierExtension, TestScript.origin.extension, TestScript.origin.modifierExtension, TestScript.destination.extension, TestScript.destination.modifierExtension, TestScript.metadata.extension, TestScript.metadata.modifierExtension, TestScript.metadata.link.extension, TestScript.metadata.link.modifierExtension, TestScript.metadata.capability.extension, TestScript.metadata.capability.modifierExtension, TestScript.fixture.extension, TestScript.fixture.modifierExtension, TestScript.variable.extension, TestScript.variable.modifierExtension, TestScript.setup.extension, TestScript.setup.modifierExtension, TestScript.setup.action.extension, TestScript.setup.action.modifierExtension, TestScript.setup.action.operation.extension, TestScript.setup.action.operation.modifierExtension, TestScript.setup.action.operation.resource.extension, TestScript.setup.action.operation.resource.extension:resource, TestScript.setup.action.operation.requestHeader.extension, TestScript.setup.action.operation.requestHeader.modifierExtension, TestScript.setup.action.assert.extension, TestScript.setup.action.assert.modifierExtension, TestScript.setup.action.assert.resource.extension, TestScript.setup.action.assert.resource.extension:resource, TestScript.test.extension, TestScript.test.modifierExtension, TestScript.test.action.extension, TestScript.test.action.modifierExtension, TestScript.teardown.extension, TestScript.teardown.modifierExtension, TestScript.teardown.action.extension, TestScript.teardown.action.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
tst-0 warning TestScript Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
tst-1 error TestScript.setup.action Setup action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()
tst-2 error TestScript.test.action Test action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()
tst-3 error TestScript.variable Variable can only contain one of expression, headerField or path. expression.empty() or headerField.empty() or path.empty()
tst-4 error TestScript.metadata TestScript metadata capability SHALL contain required or validated or both. capability.required.exists() or capability.validated.exists()
tst-5 error 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-6 error 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-7 error TestScript.setup.action.operation Setup operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' |'search' | 'transaction' | 'history'))
tst-8 error TestScript.test.action.operation Test operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))
tst-9 error TestScript.teardown.action.operation Teardown operation SHALL contain either sourceId or targetId or params or url. sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))
tst-10 error TestScript.setup.action.assert Setup action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither. compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
tst-11 error TestScript.test.action.assert Test action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither. compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())
tst-12 error TestScript.setup.action.assert Setup action assert response and responseCode SHALL be empty when direction equals request (response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'
tst-13 error TestScript.test.action.assert Test action assert response and response and responseCode SHALL be empty when direction equals request (response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'

 

Other representations of profile: CSV, Excel, Schematron