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-rule

Scope and Usage

Formal definitions of Touchstone TestScript rule extensions

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-rule

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

This profile builds on Extension


Summary

Mandatory: 7 elements (15 nested mandatory elements)
Must-Support: 7 elements
Fixed Value: 10 elements
Prohibited: 1 element

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..*ExtensionAssert rule used within the test script
... extension:ruleId S1..1ExtensionAssert rule unique id within TestScript
.... url 1..1uri"ruleId"
.... valueId 1..1idValue of extension
... extension:path S1..1ExtensionRule location path
.... url 1..1uri"path"
.... valueString 1..1stringValue of extension
... extension:param 0..*ExtensionRule parameter template
.... extension:paramName S1..1ExtensionParameter name matching external assert rule parameter
..... url 1..1uri"name"
..... valueString 1..1stringValue of extension
.... extension:paramValue S1..1ExtensionParameter value defined either explicitly or dynamically
..... url 1..1uri"value"
..... valueString 1..1stringValue of extension
.... url 1..1uri"param"
... extension:output 0..*ExtensionRule output template
.... extension:outputName S1..1ExtensionOutput name matching external assert rule output
..... url 1..1uri"name"
..... valueString 1..1stringValue of extension
.... extension:outputType S0..1ExtensionOutput type value defined either explicitly or dynamically
..... url 1..1uri"type"
..... valueString 1..1stringValue of extension
.... extension:outputContentType S0..1ExtensioncontentType value defined either explicitly or dynamically
..... url 1..1uri"contentType"
..... valueString 1..1stringValue of extension
.... url 1..1uri"output"
... url 1..1uri"http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule"
... value[x] 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..*ExtensionAssert rule used within the test script
... id 0..1stringUnique id for inter-element referencing
... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:ruleId S1..1ExtensionAssert rule unique id within TestScript
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1uriidentifies the meaning of the extension
..... value[x] 0..1Value of extension
...... valueBase64Binarybase64Binary
...... valueBooleanboolean
...... valueCanonicalcanonical(Any)
...... valueCodecode
...... valueDatedate
...... valueDateTimedateTime
...... valueDecimaldecimal
...... valueIdid
...... valueInstantinstant
...... valueIntegerinteger
...... valueMarkdownmarkdown
...... valueOidoid
...... valuePositiveIntpositiveInt
...... valueStringstring
...... valueTimetime
...... valueUnsignedIntunsignedInt
...... valueUriuri
...... valueUrlurl
...... valueUuiduuid
...... valueAddressAddress
...... valueAgeAge
...... valueAnnotationAnnotation
...... valueAttachmentAttachment
...... valueCodeableConceptCodeableConcept
...... valueCodingCoding
...... valueContactPointContactPoint
...... valueCountCount
...... valueDistanceDistance
...... valueDurationDuration
...... valueHumanNameHumanName
...... valueIdentifierIdentifier
...... valueMoneyMoney
...... valuePeriodPeriod
...... valueQuantityQuantity
...... valueRangeRange
...... valueRatioRatio
...... valueReferenceReference(Any)
...... valueSampledDataSampledData
...... valueSignatureSignature
...... valueTimingTiming
...... valueContactDetailContactDetail
...... valueContributorContributor
...... valueDataRequirementDataRequirement
...... valueExpressionExpression
...... valueParameterDefinitionParameterDefinition
...... valueRelatedArtifactRelatedArtifact
...... valueTriggerDefinitionTriggerDefinition
...... valueUsageContextUsageContext
...... valueDosageDosage
...... valueMetaMeta
.... url 1..1uri"ruleId"
.... Slices for value[x] 1..1idValue of extension
Slice: Unordered, Closed by type:$this
..... value[x]:valueId 1..1idValue of extension
... extension:path S1..1ExtensionRule location path
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1uriidentifies the meaning of the extension
..... value[x] 0..1Value of extension
...... valueBase64Binarybase64Binary
...... valueBooleanboolean
...... valueCanonicalcanonical(Any)
...... valueCodecode
...... valueDatedate
...... valueDateTimedateTime
...... valueDecimaldecimal
...... valueIdid
...... valueInstantinstant
...... valueIntegerinteger
...... valueMarkdownmarkdown
...... valueOidoid
...... valuePositiveIntpositiveInt
...... valueStringstring
...... valueTimetime
...... valueUnsignedIntunsignedInt
...... valueUriuri
...... valueUrlurl
...... valueUuiduuid
...... valueAddressAddress
...... valueAgeAge
...... valueAnnotationAnnotation
...... valueAttachmentAttachment
...... valueCodeableConceptCodeableConcept
...... valueCodingCoding
...... valueContactPointContactPoint
...... valueCountCount
...... valueDistanceDistance
...... valueDurationDuration
...... valueHumanNameHumanName
...... valueIdentifierIdentifier
...... valueMoneyMoney
...... valuePeriodPeriod
...... valueQuantityQuantity
...... valueRangeRange
...... valueRatioRatio
...... valueReferenceReference(Any)
...... valueSampledDataSampledData
...... valueSignatureSignature
...... valueTimingTiming
...... valueContactDetailContactDetail
...... valueContributorContributor
...... valueDataRequirementDataRequirement
...... valueExpressionExpression
...... valueParameterDefinitionParameterDefinition
...... valueRelatedArtifactRelatedArtifact
...... valueTriggerDefinitionTriggerDefinition
...... valueUsageContextUsageContext
...... valueDosageDosage
...... valueMetaMeta
.... url 1..1uri"path"
.... Slices for value[x] 1..1stringValue of extension
Slice: Unordered, Closed by type:$this
..... value[x]:valueString 1..1stringValue of extension
... extension:param 0..*ExtensionRule parameter template
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:paramName S1..1ExtensionParameter name matching external assert rule parameter
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... id 0..1stringUnique id for inter-element referencing
...... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1uriidentifies the meaning of the extension
...... value[x] 0..1Value of extension
....... valueBase64Binarybase64Binary
....... valueBooleanboolean
....... valueCanonicalcanonical(Any)
....... valueCodecode
....... valueDatedate
....... valueDateTimedateTime
....... valueDecimaldecimal
....... valueIdid
....... valueInstantinstant
....... valueIntegerinteger
....... valueMarkdownmarkdown
....... valueOidoid
....... valuePositiveIntpositiveInt
....... valueStringstring
....... valueTimetime
....... valueUnsignedIntunsignedInt
....... valueUriuri
....... valueUrlurl
....... valueUuiduuid
....... valueAddressAddress
....... valueAgeAge
....... valueAnnotationAnnotation
....... valueAttachmentAttachment
....... valueCodeableConceptCodeableConcept
....... valueCodingCoding
....... valueContactPointContactPoint
....... valueCountCount
....... valueDistanceDistance
....... valueDurationDuration
....... valueHumanNameHumanName
....... valueIdentifierIdentifier
....... valueMoneyMoney
....... valuePeriodPeriod
....... valueQuantityQuantity
....... valueRangeRange
....... valueRatioRatio
....... valueReferenceReference(Any)
....... valueSampledDataSampledData
....... valueSignatureSignature
....... valueTimingTiming
....... valueContactDetailContactDetail
....... valueContributorContributor
....... valueDataRequirementDataRequirement
....... valueExpressionExpression
....... valueParameterDefinitionParameterDefinition
....... valueRelatedArtifactRelatedArtifact
....... valueTriggerDefinitionTriggerDefinition
....... valueUsageContextUsageContext
....... valueDosageDosage
....... valueMetaMeta
..... url 1..1uri"name"
..... Slices for value[x] 1..1stringValue of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueString 1..1stringValue of extension
.... extension:paramValue S1..1ExtensionParameter value defined either explicitly or dynamically
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... id 0..1stringUnique id for inter-element referencing
...... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1uriidentifies the meaning of the extension
...... value[x] 0..1Value of extension
....... valueBase64Binarybase64Binary
....... valueBooleanboolean
....... valueCanonicalcanonical(Any)
....... valueCodecode
....... valueDatedate
....... valueDateTimedateTime
....... valueDecimaldecimal
....... valueIdid
....... valueInstantinstant
....... valueIntegerinteger
....... valueMarkdownmarkdown
....... valueOidoid
....... valuePositiveIntpositiveInt
....... valueStringstring
....... valueTimetime
....... valueUnsignedIntunsignedInt
....... valueUriuri
....... valueUrlurl
....... valueUuiduuid
....... valueAddressAddress
....... valueAgeAge
....... valueAnnotationAnnotation
....... valueAttachmentAttachment
....... valueCodeableConceptCodeableConcept
....... valueCodingCoding
....... valueContactPointContactPoint
....... valueCountCount
....... valueDistanceDistance
....... valueDurationDuration
....... valueHumanNameHumanName
....... valueIdentifierIdentifier
....... valueMoneyMoney
....... valuePeriodPeriod
....... valueQuantityQuantity
....... valueRangeRange
....... valueRatioRatio
....... valueReferenceReference(Any)
....... valueSampledDataSampledData
....... valueSignatureSignature
....... valueTimingTiming
....... valueContactDetailContactDetail
....... valueContributorContributor
....... valueDataRequirementDataRequirement
....... valueExpressionExpression
....... valueParameterDefinitionParameterDefinition
....... valueRelatedArtifactRelatedArtifact
....... valueTriggerDefinitionTriggerDefinition
....... valueUsageContextUsageContext
....... valueDosageDosage
....... valueMetaMeta
..... url 1..1uri"value"
..... Slices for value[x] 1..1stringValue of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueString 1..1stringValue of extension
.... url 1..1uri"param"
.... value[x] 0..1Value of extension
..... valueBase64Binarybase64Binary
..... valueBooleanboolean
..... valueCanonicalcanonical(Any)
..... valueCodecode
..... valueDatedate
..... valueDateTimedateTime
..... valueDecimaldecimal
..... valueIdid
..... valueInstantinstant
..... valueIntegerinteger
..... valueMarkdownmarkdown
..... valueOidoid
..... valuePositiveIntpositiveInt
..... valueStringstring
..... valueTimetime
..... valueUnsignedIntunsignedInt
..... valueUriuri
..... valueUrlurl
..... valueUuiduuid
..... valueAddressAddress
..... valueAgeAge
..... valueAnnotationAnnotation
..... valueAttachmentAttachment
..... valueCodeableConceptCodeableConcept
..... valueCodingCoding
..... valueContactPointContactPoint
..... valueCountCount
..... valueDistanceDistance
..... valueDurationDuration
..... valueHumanNameHumanName
..... valueIdentifierIdentifier
..... valueMoneyMoney
..... valuePeriodPeriod
..... valueQuantityQuantity
..... valueRangeRange
..... valueRatioRatio
..... valueReferenceReference(Any)
..... valueSampledDataSampledData
..... valueSignatureSignature
..... valueTimingTiming
..... valueContactDetailContactDetail
..... valueContributorContributor
..... valueDataRequirementDataRequirement
..... valueExpressionExpression
..... valueParameterDefinitionParameterDefinition
..... valueRelatedArtifactRelatedArtifact
..... valueTriggerDefinitionTriggerDefinition
..... valueUsageContextUsageContext
..... valueDosageDosage
..... valueMetaMeta
... extension:output 0..*ExtensionRule output template
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:outputName S1..1ExtensionOutput name matching external assert rule output
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... id 0..1stringUnique id for inter-element referencing
...... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1uriidentifies the meaning of the extension
...... value[x] 0..1Value of extension
....... valueBase64Binarybase64Binary
....... valueBooleanboolean
....... valueCanonicalcanonical(Any)
....... valueCodecode
....... valueDatedate
....... valueDateTimedateTime
....... valueDecimaldecimal
....... valueIdid
....... valueInstantinstant
....... valueIntegerinteger
....... valueMarkdownmarkdown
....... valueOidoid
....... valuePositiveIntpositiveInt
....... valueStringstring
....... valueTimetime
....... valueUnsignedIntunsignedInt
....... valueUriuri
....... valueUrlurl
....... valueUuiduuid
....... valueAddressAddress
....... valueAgeAge
....... valueAnnotationAnnotation
....... valueAttachmentAttachment
....... valueCodeableConceptCodeableConcept
....... valueCodingCoding
....... valueContactPointContactPoint
....... valueCountCount
....... valueDistanceDistance
....... valueDurationDuration
....... valueHumanNameHumanName
....... valueIdentifierIdentifier
....... valueMoneyMoney
....... valuePeriodPeriod
....... valueQuantityQuantity
....... valueRangeRange
....... valueRatioRatio
....... valueReferenceReference(Any)
....... valueSampledDataSampledData
....... valueSignatureSignature
....... valueTimingTiming
....... valueContactDetailContactDetail
....... valueContributorContributor
....... valueDataRequirementDataRequirement
....... valueExpressionExpression
....... valueParameterDefinitionParameterDefinition
....... valueRelatedArtifactRelatedArtifact
....... valueTriggerDefinitionTriggerDefinition
....... valueUsageContextUsageContext
....... valueDosageDosage
....... valueMetaMeta
..... url 1..1uri"name"
..... Slices for value[x] 1..1stringValue of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueString 1..1stringValue of extension
.... extension:outputType S0..1ExtensionOutput type value defined either explicitly or dynamically
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... id 0..1stringUnique id for inter-element referencing
...... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1uriidentifies the meaning of the extension
...... value[x] 0..1Value of extension
....... valueBase64Binarybase64Binary
....... valueBooleanboolean
....... valueCanonicalcanonical(Any)
....... valueCodecode
....... valueDatedate
....... valueDateTimedateTime
....... valueDecimaldecimal
....... valueIdid
....... valueInstantinstant
....... valueIntegerinteger
....... valueMarkdownmarkdown
....... valueOidoid
....... valuePositiveIntpositiveInt
....... valueStringstring
....... valueTimetime
....... valueUnsignedIntunsignedInt
....... valueUriuri
....... valueUrlurl
....... valueUuiduuid
....... valueAddressAddress
....... valueAgeAge
....... valueAnnotationAnnotation
....... valueAttachmentAttachment
....... valueCodeableConceptCodeableConcept
....... valueCodingCoding
....... valueContactPointContactPoint
....... valueCountCount
....... valueDistanceDistance
....... valueDurationDuration
....... valueHumanNameHumanName
....... valueIdentifierIdentifier
....... valueMoneyMoney
....... valuePeriodPeriod
....... valueQuantityQuantity
....... valueRangeRange
....... valueRatioRatio
....... valueReferenceReference(Any)
....... valueSampledDataSampledData
....... valueSignatureSignature
....... valueTimingTiming
....... valueContactDetailContactDetail
....... valueContributorContributor
....... valueDataRequirementDataRequirement
....... valueExpressionExpression
....... valueParameterDefinitionParameterDefinition
....... valueRelatedArtifactRelatedArtifact
....... valueTriggerDefinitionTriggerDefinition
....... valueUsageContextUsageContext
....... valueDosageDosage
....... valueMetaMeta
..... url 1..1uri"type"
..... Slices for value[x] 1..1stringValue of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueString 1..1stringValue of extension
.... extension:outputContentType S0..1ExtensioncontentType value defined either explicitly or dynamically
..... id 0..1stringUnique id for inter-element referencing
..... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... id 0..1stringUnique id for inter-element referencing
...... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1uriidentifies the meaning of the extension
...... value[x] 0..1Value of extension
....... valueBase64Binarybase64Binary
....... valueBooleanboolean
....... valueCanonicalcanonical(Any)
....... valueCodecode
....... valueDatedate
....... valueDateTimedateTime
....... valueDecimaldecimal
....... valueIdid
....... valueInstantinstant
....... valueIntegerinteger
....... valueMarkdownmarkdown
....... valueOidoid
....... valuePositiveIntpositiveInt
....... valueStringstring
....... valueTimetime
....... valueUnsignedIntunsignedInt
....... valueUriuri
....... valueUrlurl
....... valueUuiduuid
....... valueAddressAddress
....... valueAgeAge
....... valueAnnotationAnnotation
....... valueAttachmentAttachment
....... valueCodeableConceptCodeableConcept
....... valueCodingCoding
....... valueContactPointContactPoint
....... valueCountCount
....... valueDistanceDistance
....... valueDurationDuration
....... valueHumanNameHumanName
....... valueIdentifierIdentifier
....... valueMoneyMoney
....... valuePeriodPeriod
....... valueQuantityQuantity
....... valueRangeRange
....... valueRatioRatio
....... valueReferenceReference(Any)
....... valueSampledDataSampledData
....... valueSignatureSignature
....... valueTimingTiming
....... valueContactDetailContactDetail
....... valueContributorContributor
....... valueDataRequirementDataRequirement
....... valueExpressionExpression
....... valueParameterDefinitionParameterDefinition
....... valueRelatedArtifactRelatedArtifact
....... valueTriggerDefinitionTriggerDefinition
....... valueUsageContextUsageContext
....... valueDosageDosage
....... valueMetaMeta
..... url 1..1uri"contentType"
..... Slices for value[x] 1..1stringValue of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueString 1..1stringValue of extension
.... url 1..1uri"output"
.... value[x] 0..1Value of extension
..... valueBase64Binarybase64Binary
..... valueBooleanboolean
..... valueCanonicalcanonical(Any)
..... valueCodecode
..... valueDatedate
..... valueDateTimedateTime
..... valueDecimaldecimal
..... valueIdid
..... valueInstantinstant
..... valueIntegerinteger
..... valueMarkdownmarkdown
..... valueOidoid
..... valuePositiveIntpositiveInt
..... valueStringstring
..... valueTimetime
..... valueUnsignedIntunsignedInt
..... valueUriuri
..... valueUrlurl
..... valueUuiduuid
..... valueAddressAddress
..... valueAgeAge
..... valueAnnotationAnnotation
..... valueAttachmentAttachment
..... valueCodeableConceptCodeableConcept
..... valueCodingCoding
..... valueContactPointContactPoint
..... valueCountCount
..... valueDistanceDistance
..... valueDurationDuration
..... valueHumanNameHumanName
..... valueIdentifierIdentifier
..... valueMoneyMoney
..... valuePeriodPeriod
..... valueQuantityQuantity
..... valueRangeRange
..... valueRatioRatio
..... valueReferenceReference(Any)
..... valueSampledDataSampledData
..... valueSignatureSignature
..... valueTimingTiming
..... valueContactDetailContactDetail
..... valueContributorContributor
..... valueDataRequirementDataRequirement
..... valueExpressionExpression
..... valueParameterDefinitionParameterDefinition
..... valueRelatedArtifactRelatedArtifact
..... valueTriggerDefinitionTriggerDefinition
..... valueUsageContextUsageContext
..... valueDosageDosage
..... valueMetaMeta
... url 1..1uri"http://touchstone.aegis.net/touchstone/fhir/testing/StructureDefinition/testscript-rule"

doco Documentation for this format

Summary

Mandatory: 7 elements (15 nested mandatory elements)
Must-Support: 7 elements
Fixed Value: 10 elements
Prohibited: 1 element

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..*ExtensionAssert rule used within the test script
... extension:ruleId S1..1ExtensionAssert rule unique id within TestScript
.... url 1..1uri"ruleId"
.... valueId 1..1idValue of extension
... extension:path S1..1ExtensionRule location path
.... url 1..1uri"path"
.... valueString 1..1stringValue of extension
... extension:param 0..*ExtensionRule parameter template
.... extension:paramName S1..1ExtensionParameter name matching external assert rule parameter
..