http://hl7.org/fhir/StructureDefinition/TestPlan|5.0.0

A plan for executing testing on an artifact or specifications
description: A plan for executing testing on an artifact or specifications
derivation: specialization
name: TestPlan
type: TestPlan
elements:
  description: {isModifier: false, short: Natural language description of the test plan, mustSupport: false, isSummary: false, index: 12}
  category:
    isModifier: false
    short: The category of the Test Plan - can be acceptance, unit, performance
    mustSupport: false
    array: true
    binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/testscript-scope-phase-codes'}
    isSummary: false
    index: 18
  exitCriteria: {isModifier: false, short: The threshold or criteria for the test plan to be considered successfully executed - narrative, mustSupport: false, isSummary: false, index: 24}
  date: {isModifier: false, short: Date last changed, mustSupport: false, isSummary: true, index: 9}
  dependency:
    isModifier: false
    short: The required criteria to execute the test plan - e.g. preconditions, previous tests
    mustSupport: false
    array: true
    isSummary: false
    index: 21
    elements:
      description: {isModifier: false, short: Description of the dependency criterium, mustSupport: false, isSummary: false, index: 22}
      predecessor: {isModifier: false, short: Link to predecessor test plans, mustSupport: false, isSummary: false, index: 23}
  publisher: {isModifier: false, short: Name of the publisher/steward (organization or individual), mustSupport: false, isSummary: true, index: 10}
  jurisdiction:
    isModifier: false
    short: Intended jurisdiction where the test plan applies (if applicable)
    mustSupport: false
    array: true
    binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/jurisdiction'}
    isSummary: true
    index: 14
  purpose: {isModifier: false, short: Why this test plan is defined, mustSupport: false, isSummary: false, index: 15}
  name: {isModifier: false, short: Name for this test plan (computer friendly), mustSupport: false, isSummary: true, index: 5}
  copyrightLabel: {isModifier: false, short: Copyright holder and year(s), mustSupport: false, isSummary: false, index: 17}
  useContext: {isModifier: false, short: The context that the content is intended to support, mustSupport: false, array: true, isSummary: true, index: 13}
  copyright: {isModifier: false, short: Use and/or publishing restrictions, mustSupport: false, isSummary: false, index: 16}
  versionAlgorithm:
    isModifier: false
    short: How to compare versions
    mustSupport: false
    choices: []
    isSummary: true
    index: 4
  experimental: {isModifier: false, short: 'For testing purposes, not real usage', mustSupport: false, meaningWhenMissing: 'If absent, this resource is treated as though it is not experimental.', isSummary: true, index: 8}
  scope: {isModifier: false, short: 'What is being tested with this Test Plan - a conformance resource, or narrative criteria, or an external reference', mustSupport: false, array: true, isSummary: false, index: 19}
  title: {isModifier: false, short: Name for this test plan (human friendly), mustSupport: false, isSummary: false, index: 6}
  testCase:
    isModifier: false
    short: The test cases that constitute this plan
    mustSupport: false
    array: true
    isSummary: false
    index: 25
    elements:
      sequence: {isModifier: false, short: Sequence of test case in the test plan, mustSupport: false, isSummary: false, index: 26}
      scope: {isModifier: false, short: The scope or artifact covered by the case, mustSupport: false, array: true, isSummary: false, index: 27}
      dependency:
        isModifier: false
        short: Required criteria to execute the test case
        mustSupport: false
        array: true
        isSummary: false
        index: 28
        elements:
          description: {isModifier: false, short: Description of the criteria, mustSupport: false, isSummary: false, index: 29}
          predecessor: {isModifier: false, short: Link to predecessor test plans, mustSupport: false, isSummary: false, index: 30}
      testRun:
        isModifier: false
        short: The actual test to be executed
        mustSupport: false
        array: true
        isSummary: false
        index: 31
        elements:
          narrative: {isModifier: false, short: The narrative description of the tests, mustSupport: false, isSummary: false, index: 32}
          script:
            isModifier: false
            short: The test cases in a structured language e.g. gherkin, Postman, or FHIR TestScript
            mustSupport: false
            isSummary: false
            index: 33
            elements:
              language: {isModifier: false, short: 'The language for the test cases e.g. ''gherkin'', ''testscript''', mustSupport: false, isSummary: false, index: 34}
              source:
                isModifier: false
                short: The actual content of the cases - references to TestScripts or externally defined content
                mustSupport: false
                choices: []
                isSummary: false
                index: 36
      testData:
        isModifier: false
        short: The test data used in the test case
        mustSupport: false
        array: true
        isSummary: false
        index: 37
        elements:
          type: {isModifier: false, short: 'The type of test data description, e.g. ''synthea''', mustSupport: false, isSummary: false, index: 38}
          content: {isModifier: false, short: The actual test resources when they exist, mustSupport: false, isSummary: false, index: 39}
          source:
            isModifier: false
            short: Pointer to a definition of test resources - narrative or structured e.g. synthetic data generation, etc
            mustSupport: false
            choices: []
            isSummary: false
            index: 41
        required: [type]
      assertion:
        isModifier: false
        short: Test assertions or expectations
        mustSupport: false
        array: true
        isSummary: false
        index: 42
        elements:
          type: {isModifier: false, short: 'Assertion type - for example ''informative'' or ''required'' ', mustSupport: false, array: true, isSummary: false, index: 43}
          object: {isModifier: false, short: The focus or object of the assertion, mustSupport: false, array: true, isSummary: false, index: 44}
          result: {isModifier: false, short: The actual result assertion, mustSupport: false, array: true, isSummary: false, index: 45}
  status:
    isModifier: true
    short: draft | active | retired | unknown
    mustSupport: false
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/publication-status|5.0.0'}
    isModifierReason: This is labeled as \"Is Modifier\" because applications should not use a retired {{title}} without due consideration
    isSummary: true
    index: 7
  url:
    constraint:
      cnl-1: {human: 'URL should not contain | or # - these characters make processing canonical references problematic', source: 'http://hl7.org/fhir/StructureDefinition/TestPlan', severity: warning, expression: 'exists() implies matches(''^[^|# ]+$'')'}
    isModifier: false
    short: Canonical identifier for this test plan, represented as a URI (globally unique)
    mustSupport: false
    isSummary: true
    index: 0
  identifier: {isModifier: false, short: Business identifier identifier for the test plan, mustSupport: false, array: true, isSummary: true, index: 1}
  testTools: {isModifier: false, short: A description of test tools to be used in the test plan - narrative for now, mustSupport: false, isSummary: false, index: 20}
  version: {isModifier: false, short: Business version of the test plan, mustSupport: false, isSummary: true, index: 2}
  contact: {isModifier: false, short: Contact details for the publisher, mustSupport: false, array: true, isSummary: true, index: 11}
class: resource
kind: resource
url: http://hl7.org/fhir/StructureDefinition/TestPlan
base: http://hl7.org/fhir/StructureDefinition/DomainResource
version: 5.0.0
required: [status]