Data Model Libraries
    Preparing search index...

    TestScript Class

    A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.

    FHIR Specification

    • Short: Describes a set of tests
    • Definition: A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
    • FHIR Version: 5.0.0

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    Methods

    parse getUrlElement setUrlElement hasUrlElement getUrl setUrl hasUrl getIdentifier setIdentifier addIdentifier hasIdentifier getVersionElement setVersionElement hasVersionElement getVersion setVersion hasVersion getVersionAlgorithm setVersionAlgorithm hasVersionAlgorithm getVersionAlgorithmStringType hasVersionAlgorithmStringType getVersionAlgorithmCoding hasVersionAlgorithmCoding getNameElement setNameElement hasNameElement getName setName hasName getTitleElement setTitleElement hasTitleElement getTitle setTitle hasTitle getStatusEnumType setStatusEnumType hasStatusEnumType getStatusElement setStatusElement hasStatusElement getStatus setStatus hasStatus getExperimentalElement setExperimentalElement hasExperimentalElement getExperimental setExperimental hasExperimental getDateElement setDateElement hasDateElement getDate setDate hasDate getPublisherElement setPublisherElement hasPublisherElement getPublisher setPublisher hasPublisher getContact setContact addContact hasContact getDescriptionElement setDescriptionElement hasDescriptionElement getDescription setDescription hasDescription getUseContext setUseContext addUseContext hasUseContext getJurisdiction setJurisdiction addJurisdiction hasJurisdiction getPurposeElement setPurposeElement hasPurposeElement getPurpose setPurpose hasPurpose getCopyrightElement setCopyrightElement hasCopyrightElement getCopyright setCopyright hasCopyright getCopyrightLabelElement setCopyrightLabelElement hasCopyrightLabelElement getCopyrightLabel setCopyrightLabel hasCopyrightLabel getOrigin setOrigin addOrigin hasOrigin getDestination setDestination addDestination hasDestination getMetadata setMetadata hasMetadata getScope setScope addScope hasScope getFixture setFixture addFixture hasFixture getProfileElement setProfileElement addProfileElement hasProfileElement getProfile setProfile addProfile hasProfile getVariable setVariable addVariable hasVariable getSetup setSetup hasSetup getTest setTest addTest hasTest getTeardown setTeardown hasTeardown fhirType isEmpty isRequiredFieldsEmpty copy toJSON getText setText hasText getContained setContained addContained hasContained getExtension setExtension hasExtension getExtensionByUrl addExtension removeExtension getModifierExtension setModifierExtension hasModifierExtension getModifierExtensionByUrl addModifierExtension removeModifierExtension resourceType getIdElement setIdElement hasIdElement getId setId hasId getMeta setMeta hasMeta getImplicitRulesElement setImplicitRulesElement hasImplicitRulesElement getImplicitRules setImplicitRules hasImplicitRules getLanguageElement setLanguageElement hasLanguageElement getLanguage setLanguage hasLanguage isResource isDataType isComplexDataType isPrimitive isBooleanPrimitive isStringPrimitive isNumberPrimitive isBigIntPrimitive isDateTimePrimitive copyValues initIdentifier initContact initUseContext initJurisdiction initOrigin initDestination initScope initFixture initProfile initVariable initTest

    Constructors

    Properties

    url?: UriType

    TestScript.url Element

    FHIR Specification

    • Short: Canonical identifier for this test script, represented as a URI (globally unique)
    • Definition: An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.
    • Comment: Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version. The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in Technical and Business Versions. In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the meta.source element to indicate where the current master source of the resource can be found.
    • Requirements: Allows the test script to be referenced by a single globally unique identifier.
    • FHIR Type: uri
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    identifier?: Identifier[]

    TestScript.identifier Element

    FHIR Specification

    • Short: Additional identifier for the test script
    • Definition: A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance.
    • Comment: Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this test script outside of FHIR, where it is not possible to use the logical URI.
    • Requirements: Allows externally provided and/or usable business identifiers to be easily associated with the module.
    • FHIR Type: Identifier
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    version?: StringType

    TestScript.version Element

    FHIR Specification

    • Short: Business version of the test script
    • Definition: The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
    • Comment: There may be different test script instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the test script with the format [url]|[version]. The version SHOULD NOT contain a '#' - see Business Version.
    • FHIR Type: string
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    versionAlgorithm?: IDataType

    TestScript.versionAlgorithm[x] Element

    @ChoiceDataTypesMeta('TestScript.versionAlgorithm[x]', ['string','Coding',]

    FHIR Specification

    • Short: How to compare versions
    • Definition: Indicates the mechanism used to compare versions to determine which is more current.
    • Comment: If set as a string, this is a FHIRPath expression that has two additional context variables passed in - %version1 and %version2 and will return a negative number if version1 is newer, a positive number if version2 and a 0 if the version ordering can't be successfully be determined.
    • FHIR Types: 'string', 'Coding',
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    name: null | StringType

    FHIR Specification

    • Short: Name for this test script (computer friendly)
    • Definition: A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.
    • Comment: The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.
    • Requirements: Support code generation.
    • FHIR Type: string
    • Cardinality: 1..1
    • isModifier: false
    • isSummary: true
    title?: StringType

    TestScript.title Element

    FHIR Specification

    • Short: Name for this test script (human friendly)
    • Definition: A short, descriptive, user-friendly title for the test script.
    • Comment: This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.
    • FHIR Type: string
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    publicationStatusEnum: PublicationStatusEnum

    FHIR CodeSystem: PublicationStatus

    status: null | EnumCodeType

    TestScript.status Element

    FHIR Specification

    • Short: draft | active | retired | unknown
    • Definition: The status of this test script. Enables tracking the life-cycle of the content.
    • Comment: Allows filtering of test scripts that are appropriate for use versus not. See guidance around (not) making local changes to elements here.
    • FHIR Type: code
    • Cardinality: 1..1
    • isModifier: true
    • isModifierReason: This is labeled as "Is Modifier" because applications should not use a retired {{title}} without due consideration
    • isSummary: true

    CodeSystem Enumeration: PublicationStatusEnum

    experimental?: BooleanType

    TestScript.experimental Element

    FHIR Specification

    • Short: For testing purposes, not real usage
    • Definition: A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
    • Comment: Allows filtering of test scripts that are appropriate for use versus not.
    • Requirements: Enables experimental content to be developed following the same lifecycle that would be used for a production-level test script.
    • FHIR Type: boolean
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true

    TestScript.date Element

    FHIR Specification

    • Short: Date last changed
    • Definition: The date (and optionally time) when the test script was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes.
    • Comment: The date is often not tracked until the resource is published, but may be present on draft content. Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the test script. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. See guidance around (not) making local changes to elements here.
    • FHIR Type: dateTime
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    publisher?: StringType

    TestScript.publisher Element

    FHIR Specification

    • Short: Name of the publisher/steward (organization or individual)
    • Definition: The name of the organization or individual responsible for the release and ongoing maintenance of the test script.
    • Comment: Usually an organization but may be an individual. The publisher (or steward) of the test script is the organization or individual primarily responsible for the maintenance and upkeep of the test script. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the test script. This item SHOULD be populated unless the information is available from context.
    • Requirements: Helps establish the "authority/credibility" of the test script. May also allow for contact.
    • FHIR Type: string
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    contact?: ContactDetail[]

    TestScript.contact Element

    FHIR Specification

    • Short: Contact details for the publisher
    • Definition: Contact details to assist a user in finding and communicating with the publisher.
    • Comment: May be a web site, an email address, a telephone number, etc. See guidance around (not) making local changes to elements here.
    • FHIR Type: ContactDetail
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    description?: MarkdownType

    TestScript.description Element

    FHIR Specification

    • Short: Natural language description of the test script
    • Definition: A free text natural language description of the test script from a consumer's perspective.
    • Comment: This description can be used to capture details such as comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the test script as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the test script is presumed to be the predominant language in the place the test script was created).
    • FHIR Type: markdown
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    useContext?: UsageContext[]

    TestScript.useContext Element

    FHIR Specification

    • Short: The context that the content is intended to support
    • Definition: The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.
    • Comment: When multiple useContexts are specified, there is no expectation that all or any of the contexts apply.
    • Requirements: Assist in searching for appropriate content.
    • FHIR Type: UsageContext
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    jurisdiction?: CodeableConcept[]

    TestScript.jurisdiction Element

    FHIR Specification

    • Short: Intended jurisdiction for test script (if applicable)
    • Definition: A legal or geographic region in which the test script is intended to be used.
    • Comment: It may be possible for the test script to be used in jurisdictions other than those for which it was originally designed or intended. DEPRECATION NOTE: For consistency, implementations are encouraged to migrate to using the new 'jurisdiction' code in the useContext element. (I.e. useContext.code indicating http://terminology.hl7.org/CodeSystem/usage-context-type#jurisdiction and useContext.valueCodeableConcept indicating the jurisdiction.)
    • FHIR Type: CodeableConcept
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    purpose?: MarkdownType

    TestScript.purpose Element

    FHIR Specification

    • Short: Why this test script is defined
    • Definition: Explanation of why this test script is needed and why it has been designed as it has.
    • Comment: This element does not describe the usage of the test script. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this test script.
    • FHIR Type: markdown
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    copyright?: MarkdownType

    TestScript.copyright Element

    FHIR Specification

    • Short: Use and/or publishing restrictions
    • Definition: A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script.
    • Requirements: Consumers must be able to determine any legal restrictions on the use of the test script and/or its content.
    • FHIR Type: markdown
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false
    copyrightLabel?: StringType

    TestScript.copyrightLabel Element

    FHIR Specification

    • Short: Copyright holder and year(s)
    • Definition: A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').
    • Comment: The (c) symbol should NOT be included in this string. It will be added by software when rendering the notation. Full details about licensing, restrictions, warrantees, etc. goes in the more general 'copyright' element.
    • Requirements: Defines the content expected to be rendered in all representations of the artifact.
    • FHIR Type: string
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false

    TestScript.origin Element

    FHIR Specification

    • Short: An abstract server representing a client or sender in a message exchange
    • Definition: An abstract server used in operations within this test script in the origin element.
    • Comment: The purpose of this element is to define the profile of an origin element used elsewhere in the script. Test engines could then use the origin-profile mapping to offer a filtered list of test systems that can serve as the sender for the interaction.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    TestScript.destination Element

    FHIR Specification

    • Short: An abstract server representing a destination or receiver in a message exchange
    • Definition: An abstract server used in operations within this test script in the destination element.
    • Comment: The purpose of this element is to define the profile of a destination element used elsewhere in the script. Test engines could then use the destination-profile mapping to offer a filtered list of test systems that can serve as the receiver for the interaction.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    TestScript.metadata Element

    FHIR Specification

    • Short: Required capability that is assumed to function correctly on the FHIR server being tested
    • Definition: The required capability must exist and are assumed to function correctly on the FHIR server being tested.
    • FHIR Type: BackboneElement
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false

    TestScript.scope Element

    FHIR Specification

    • Short: Indication of the artifact(s) that are tested by this test case
    • Definition: The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    TestScript.fixture Element

    FHIR Specification

    • Short: Fixture in the test script - by reference (uri)
    • Definition: Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false
    profile?: CanonicalType[]

    TestScript.profile Element

    FHIR Specification

    TestScript.variable Element

    FHIR Specification

    • Short: Placeholder for evaluated elements
    • Definition: Variable is set based either on element value in response body or on header field value in the response headers.
    • Comment: Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error. Variables would be used to perform clean replacements in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. This limits the places that test engines would need to look for placeholders "${}". Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in "operation.params", "operation.requestHeader.value", and "operation.url" element values during operation calls and in "assert.value" during assertion evaluations. See example testscript-search.xml.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    TestScript.setup Element

    FHIR Specification

    • Short: A series of required setup operations before tests are executed
    • Definition: A series of required setup operations before tests are executed.
    • FHIR Type: BackboneElement
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false

    TestScript.test Element

    FHIR Specification

    • Short: A test in this script
    • Definition: A test in this script.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    TestScript.teardown Element

    FHIR Specification

    • Short: A series of required clean up steps
    • Definition: A series of operations required to clean up after all the tests are executed (successfully or otherwise).
    • FHIR Type: BackboneElement
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: false

    Methods

    • Parse the provided TestScript JSON to instantiate the TestScript data model.

      Parameters

      • sourceJson: Value

        JSON representing FHIR TestScript

      • OptionaloptSourceField: string

        Optional data source field (e.g. <complexTypeName>.<complexTypeFieldName>); defaults to TestScript

      Returns undefined | TestScript

      TestScript data model or undefined for TestScript

      JsonError if the provided JSON is not a valid JSON object

    • Assigns the provided value to the text property.

      Parameters

      Returns this

      this

    • Returns boolean

      true if the text property exists and has a value; false otherwise

    • Assigns the provided Resource array value to the contained property.

      Parameters

      • value: undefined | IResource[]

        the contained array value

      Returns this

      this

    • Returns boolean

      true if the contained property exists and has a value; false otherwise

    • Assigns the provided array of Extension values to the extension property.

      Parameters

      • extension: undefined | IExtension[]

        array of Extensions

      Returns this

      this

    • Determines if the extension property exists.

      Parameters

      • Optionalurl: string

        the url that identifies a specific Extension

      Returns boolean

      true if an Extension has the provided url; false otherwise

      If the url is provided, determines if an Extension having the provided url exists. If the url is not provided, determines if the extension property exists and has any values.

      AssertionError for invalid url

    • Adds the provided Extension to the extension property array.

      Parameters

      • extension: undefined | IExtension

        the Extension value to add to the extension property array

      Returns this

      this

    • Removes the Extension having the provided url from the extension property array.

      Parameters

      • url: string

        the url that identifies a specific Extension to remove

      Returns void

      AssertionError for invalid url

    • Determines if the modifierExtension property exists.

      Parameters

      • Optionalurl: string

        the url that identifies a specific Extension

      Returns boolean

      true if an Extension has the provided url

      If the url is provided, determines if an Extension having the provided url exists. If the url is not provided, determines if the modifierExtension property exists and has any values.

      AssertionError for invalid url

    • Assigns the provided PrimitiveType value to the id property.

      Parameters

      • element: undefined | IdType

        the id value

      Returns this

      this

    • Returns undefined | string

      the id property value as a primitive value

    • Assigns the provided primitive value to the id property.

      Parameters

      • value: undefined | string

        the id value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns boolean

      true if the id property exists and has a value; false otherwise

    • Assigns the provided value to the meta property.

      Parameters

      • value: undefined | Meta

        the meta value

      Returns this

      this

    • Returns boolean

      true if the meta property exists and has a value; false otherwise

    • Assigns the provided primitive value to the implicitRules property.

      Parameters

      • value: undefined | string

        the implicitRules value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns undefined | string

      the language property value as a primitive value

    • Assigns the provided primitive value to the language property.

      Parameters

      • value: undefined | string

        the language value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns boolean

      true if the language property exists and has a value; false otherwise

    • Returns boolean

      true if the instance is a FHIR complex or primitive datatype; false otherwise