Release 4B R5 Final QA

This page is part of the FHIR Specification (v4.3.0: R4B (v5.0.0-draft-final: Final QA Preview for R5 - STU see ballot notes ). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

7.4 7.5 Resource TestReport - Content

FHIR Infrastructure icon Work Group Maturity Level : 0 1   Trial Use Security Category : Business Compartments : Not linked to any defined compartments

A summary of information based on the results of executing a TestScript.

The TestScript resource is used to define tests that can be executed on one or more FHIR servers. The TestReport resource defines how systems should encode the summarized results of executing a TestScript.

The TestReport structure mirrors the TestScript concepts of having sections for setup, tests, and teardown. If present, these ordered lists should mirror the actions (either operations or assertions) of the referenced TestScript with a result code: pass, skip, fail, warning, or error.

Implementers should be familiar with the testing concepts and descriptions found in Testing FHIR before working with this resource.

No resources refer to references for this resource directly. This resource does not implement any patterns. Resource.

Structure

Name Flags Card. Type Description & Constraints doco
. . TestReport TU DomainResource Describes the results of a TestScript execution

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..1 Identifier External identifier
. . . name Σ 0..1 string Informal name of the executed TestScript TestReport
. . . status ?! Σ 1..1 code completed | in-progress | waiting | stopped | entered-in-error
Binding: TestReportStatus Test Report Status ( Required )
. . . result Σ 1..1 code pass | fail | pending
Binding: TestReportResult Test Report Result ( Required )
. . . score Σ 0..1 decimal The final score (percentage of tests passed) resulting from the execution of the TestScript
. . . tester Σ 0..1 string Name of the tester producing this report (Organization or individual)
. . . issued Σ 0..1 dateTime When the TestScript was executed and this TestReport was generated
. . . participant 0..* BackboneElement A participant in the test execution, either the execution engine, a client, or a server

. . . . type 1..1 code test-engine | client | server
Binding: TestReportParticipantType Test Report Participant Type ( Required )
. . . . uri 1..1 uri The uri of the participant. An absolute URL is preferred
. . . . display 0..1 string The display name of the participant
. . . setup 0..1 BackboneElement The results of the series of required setup operations before the tests were executed
. . . . action I C 1..* BackboneElement A setup operation or assert that was executed
+ Rule: Setup action SHALL contain either an operation or assert but not both.

. . . . . operation C 0..1 BackboneElement The operation to perform
. . . . . . result 1..1 code pass | skip | fail | warning | error
Binding: TestReportActionResult Test Report Action Result ( Required )
. . . . . . message 0..1 markdown A message associated with the result
. . . . . . detail 0..1 uri A link to further details on the result
. . . . . assert C 0..1 BackboneElement The assertion to perform
. . . . . . result 1..1 code pass | skip | fail | warning | error
Binding: TestReportActionResult Test Report Action Result ( Required )
. . . . . . message 0..1 markdown A message associated with the result
. . . . . . detail 0..1 string A link to further details on the result
. . . . . . requirement 0..* BackboneElement Links or references to the testing requirements

. . . . . . . link[x] 0..1 Link or reference to the testing requirement
........ linkUri uri
........ linkCanonical canonical ( Requirements )
. . . test 0..* BackboneElement A test executed from the test script

. . . . name 0..1 string Tracking/logging name of this test
. . . . description 0..1 string Tracking/reporting short description of the test
. . . . action I C 1..* BackboneElement A test operation or assert that was performed
+ Rule: Test action SHALL contain either an operation or assert but not both.

. . . . . operation 0..1 see operation The operation performed
. . . . . assert 0..1 see assert The assertion performed
. . . teardown 0..1 BackboneElement The results of running the series of required clean up steps
. . . . action 1..* BackboneElement One or more teardown operations performed

. . . . . operation 1..1 see operation The teardown operation performed

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

TestReport ( DomainResource ) Identifier for the TestScript TestReport assigned for external purposes outside the context of FHIR identifier : Identifier [0..1] A free text natural language name identifying the executed TestScript TestReport name : string [0..1] The current state of this test report (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) TestReportStatus ! » Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the `TestScript.url` testScript : Reference canonical [1..1] « TestScript » The overall result from the execution of the TestScript result : code [1..1] « null (Strength=Required) TestReportResult ! » The final score (percentage of tests passed) resulting from the execution of the TestScript score : decimal [0..1] Name of the tester producing this report (Organization or individual) tester : string [0..1] When the TestScript was executed and this TestReport was generated issued : dateTime [0..1] Participant The type of participant type : code [1..1] « null (Strength=Required) TestReportParticipantType ! » The uri of the participant. An absolute URL is preferred uri : uri [1..1] The display name of the participant display : string [0..1] Setup SetupAction Operation The result of this operation result : code [1..1] « null (Strength=Required) TestReportActionResult ! » An explanatory message associated with the result message : markdown [0..1] A link to further details on the result detail : uri [0..1] Assert The result of this assertion result : code [1..1] « null (Strength=Required) TestReportActionResult ! » An explanatory message associated with the result message : markdown [0..1] A link to further details on the result detail : string [0..1] Requirement Link or reference providing traceability to the testing requirement for this test link[x] : PrimitiveType [0..1] « uri | canonical ( Requirements ) » Test The name of this test used for tracking/logging purposes by test engines name : string [0..1] A short description of the test used by test engines for tracking and reporting purposes description : string [0..1] TestAction Teardown TeardownAction A participant in the test execution, either the execution engine, a client, or a server participant [0..*] The operation performed operation [0..1] Links or references providing traceability to the testing requirements for this assert requirement [0..*] The results of the assertion performed on the previous operations assert [0..1] Action would contain either an operation or an assertion action [1..*] The results of the series of required setup operations before the tests were executed setup [0..1] An operation would involve a REST request to a server operation [0..1] The results of the assertion performed on the previous operations assert [0..1] Action would contain either an operation or an assertion action [1..*] A test executed from the test script test [0..*] An operation would involve a REST request to a server operation [1..1] The teardown action will only contain an operation action [1..*] The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise) teardown [0..1]

XML Template

<TestReport xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <</identifier>
 <

 <identifier><!-- 0..1 Identifier External identifier --></identifier>
 <name value="[string]"/><!-- 0..1 Informal name of the executed TestReport -->

 <status value="[code]"/><!-- 1..1 completed | in-progress | waiting | stopped | entered-in-error -->
 <</testScript>

 <testScript><!-- 1..1 canonical(TestScript) Canonical URL to the  version-specific TestScript that was executed to produce this TestReport --></testScript>

 <result value="[code]"/><!-- 1..1 pass | fail | pending -->
 <score value="[decimal]"/><!-- 0..1 The final score (percentage of tests passed) resulting from the execution of the TestScript -->
 <tester value="[string]"/><!-- 0..1 Name of the tester producing this report (Organization or individual) -->
 <issued value="[dateTime]"/><!-- 0..1 When the TestScript was executed and this TestReport was generated -->
 <participant>  <!-- 0..* A participant in the test execution, either the execution engine, a client, or a server -->
  <type value="[code]"/><!-- 1..1 test-engine | client | server -->
  <uri value="[uri]"/><!-- 1..1 The uri of the participant. An absolute URL is preferred -->
  <display value="[string]"/><!-- 0..1 The display name of the participant -->
 </participant>
 <setup>  <!-- 0..1 The results of the series of required setup operations before the tests were executed -->
  <action>  <!-- 1..* A setup operation or assert that was executed -->
   <

   <operation>  <!-- I 0..1 The operation to perform -->

    <result value="[code]"/><!-- 1..1 pass | skip | fail | warning | error -->
    <message value="[markdown]"/><!-- 0..1 A message associated with the result -->
    <detail value="[uri]"/><!-- 0..1 A link to further details on the result -->
   </operation>
   <

   <assert>  <!-- I 0..1 The assertion to perform -->

    <result value="[code]"/><!-- 1..1 pass | skip | fail | warning | error -->
    <message value="[markdown]"/><!-- 0..1 A message associated with the result -->
    <detail value="[string]"/><!-- 0..1 A link to further details on the result -->
    <requirement>  <!-- 0..* Links or references to the testing requirements -->
     <link[x]><!-- 0..1 uri|canonical(Requirements) Link or reference to the testing requirement --></link[x]>
    </requirement>

   </assert>
  </action>
 </setup>
 <test>  <!-- 0..* A test executed from the test script -->
  <name value="[string]"/><!-- 0..1 Tracking/logging name of this test -->
  <description value="[string]"/><!-- 0..1 Tracking/reporting short description of the test -->
  <action>  <!-- 1..* A test operation or assert that was performed -->
   <operation><!-- 0..1 Content as for TestReport.setup.action.operation The operation performed --></operation>
   <assert><!-- 0..1 Content as for TestReport.setup.action.assert The assertion performed --></assert>
  </action>
 </test>
 <teardown>  <!-- 0..1 The results of running the series of required clean up steps -->
  <action>  <!-- 1..* One or more teardown operations performed -->
   <operation><!-- 1..1 Content as for TestReport.setup.action.operation The teardown operation performed --></operation>
  </action>
 </teardown>
</TestReport>

JSON Template

{doco
  "resourceType" : "TestReport",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "

  "identifier" : { Identifier }, // External identifier
  "name" : "<string>", // Informal name of the executed TestReport

  "status" : "<code>", // R!  completed | in-progress | waiting | stopped | entered-in-error
  "

  "testScript" : "<canonical(TestScript)>", // R!  Canonical URL to the  version-specific TestScript that was executed to produce this TestReport

  "result" : "<code>", // R!  pass | fail | pending
  "score" : <decimal>, // The final score (percentage of tests passed) resulting from the execution of the TestScript
  "tester" : "<string>", // Name of the tester producing this report (Organization or individual)
  "issued" : "<dateTime>", // When the TestScript was executed and this TestReport was generated
  "participant" : [{ // A participant in the test execution, either the execution engine, a client, or a server
    "type" : "<code>", // R!  test-engine | client | server
    "uri" : "<uri>", // R!  The uri of the participant. An absolute URL is preferred
    "display" : "<string>" // The display name of the participant
  }],
  "setup" : { // The results of the series of required setup operations before the tests were executed
    "action" : [{ // R!  A setup operation or assert that was executed
      "

      "operation" : { // I The operation to perform

        "result" : "<code>", // R!  pass | skip | fail | warning | error
        "message" : "<markdown>", // A message associated with the result
        "detail" : "<uri>" // A link to further details on the result
      },
      "

      "assert" : { // I The assertion to perform

        "result" : "<code>", // R!  pass | skip | fail | warning | error
        "message" : "<markdown>", // A message associated with the result
        "

        "detail" : "<string>", // A link to further details on the result
        "requirement" : [{ // Links or references to the testing requirements
          // link[x]: Link or reference to the testing requirement. One of these 2:

          "linkUri" : "<uri>",
          "linkCanonical" : "<canonical(Requirements)>"
        }]

      }
    }]
  },
  "test" : [{ // A test executed from the test script
    "name" : "<string>", // Tracking/logging name of this test
    "description" : "<string>", // Tracking/reporting short description of the test
    "action" : [{ // R!  A test operation or assert that was performed
      "operation" : { Content as for TestReport.setup.action.operation }, // The operation performed
      "assert" : { Content as for TestReport.setup.action.assert } // The assertion performed
    }]
  }],
  "teardown" : { // The results of running the series of required clean up steps
    "action" : [{ // R!  One or more teardown operations performed
      "operation" : { Content as for TestReport.setup.action.operation } // R!  The teardown operation performed
    }]
  }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:TestReport;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
    fhir:
    fhir:
    fhir:
  ], ...;
  fhir:
    fhir:
      fhir:
        fhir:
        fhir:
        fhir:
      ];
      fhir:
        fhir:
        fhir:
        fhir:
      ];
    ], ...;
  ];
  fhir:
    fhir:
    fhir:
    fhir:
      fhir:
      fhir:
    ], ...;
  ], ...;
  fhir:
    fhir:
      fhir:
    ], ...;
  ];

  fhir:identifier [ Identifier ] ; # 0..1 External identifier
  fhir:name [ string ] ; # 0..1 Informal name of the executed TestReport
  fhir:status [ code ] ; # 1..1 completed | in-progress | waiting | stopped | entered-in-error
  fhir:testScript [ canonical(TestScript) ] ; # 1..1 Canonical URL to the  version-specific TestScript that was executed to produce this TestReport
  fhir:result [ code ] ; # 1..1 pass | fail | pending
  fhir:score [ decimal ] ; # 0..1 The final score (percentage of tests passed) resulting from the execution of the TestScript
  fhir:tester [ string ] ; # 0..1 Name of the tester producing this report (Organization or individual)
  fhir:issued [ dateTime ] ; # 0..1 When the TestScript was executed and this TestReport was generated
  fhir:participant ( [ # 0..* A participant in the test execution, either the execution engine, a client, or a server
    fhir:type [ code ] ; # 1..1 test-engine | client | server
    fhir:uri [ uri ] ; # 1..1 The uri of the participant. An absolute URL is preferred
    fhir:display [ string ] ; # 0..1 The display name of the participant
  ] ... ) ;
  fhir:setup [ # 0..1 The results of the series of required setup operations before the tests were executed
    fhir:action ( [ # 1..* A setup operation or assert that was executed
      fhir:operation [ # 0..1 I The operation to perform
        fhir:result [ code ] ; # 1..1 pass | skip | fail | warning | error
        fhir:message [ markdown ] ; # 0..1 A message associated with the result
        fhir:detail [ uri ] ; # 0..1 A link to further details on the result
      ] ;
      fhir:assert [ # 0..1 I The assertion to perform
        fhir:result [ code ] ; # 1..1 pass | skip | fail | warning | error
        fhir:message [ markdown ] ; # 0..1 A message associated with the result
        fhir:detail [ string ] ; # 0..1 A link to further details on the result
        fhir:requirement ( [ # 0..* Links or references to the testing requirements
          # link[x] : 0..1 Link or reference to the testing requirement. One of these 2
            fhir:link [  a fhir:uri ; uri ]
            fhir:link [  a fhir:canonical ; canonical(Requirements) ]
        ] ... ) ;
      ] ;
    ] ... ) ;
  ] ;
  fhir:test ( [ # 0..* A test executed from the test script
    fhir:name [ string ] ; # 0..1 Tracking/logging name of this test
    fhir:description [ string ] ; # 0..1 Tracking/reporting short description of the test
    fhir:action ( [ # 1..* A test operation or assert that was performed
      fhir:operation [ See TestReport.setup.action.operation ] ; # 0..1 The operation performed
      fhir:assert [ See TestReport.setup.action.assert ] ; # 0..1 The assertion performed
    ] ... ) ;
  ] ... ) ;
  fhir:teardown [ # 0..1 The results of running the series of required clean up steps
    fhir:action ( [ # 1..* One or more teardown operations performed
      fhir:operation [ See TestReport.setup.action.operation ] ; # 1..1 The teardown operation performed
    ] ... ) ;
  ] ;

]

Changes since R4

TestReport
TestReport.testScript
  • No Changes Type changed from Reference(TestScript) to canonical(TestScript)
TestReport.setup.action.assert.requirement
  • Added Element
TestReport.setup.action.assert.requirement.link[x]
  • Added Element

See the Full Difference for further information

This analysis is available as XML or JSON .

Conversions between R3 and R4 See R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)

Structure

Name Flags Card. Type Description & Constraints doco
. . TestReport TU DomainResource Describes the results of a TestScript execution

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..1 Identifier External identifier
. . . name Σ 0..1 string Informal name of the executed TestScript TestReport
. . . status ?! Σ 1..1 code completed | in-progress | waiting | stopped | entered-in-error
Binding: TestReportStatus Test Report Status ( Required )
. . . result Σ 1..1 code pass | fail | pending
Binding: TestReportResult Test Report Result ( Required )
. . . score Σ 0..1 decimal The final score (percentage of tests passed) resulting from the execution of the TestScript
. . . tester Σ 0..1 string Name of the tester producing this report (Organization or individual)
. . . issued Σ 0..1 dateTime When the TestScript was executed and this TestReport was generated
. . . participant 0..* BackboneElement A participant in the test execution, either the execution engine, a client, or a server

. . . . type 1..1 code test-engine | client | server
Binding: TestReportParticipantType Test Report Participant Type ( Required )
. . . . uri 1..1 uri The uri of the participant. An absolute URL is preferred
. . . . display 0..1 string The display name of the participant
. . . setup 0..1 BackboneElement The results of the series of required setup operations before the tests were executed
. . . . action I C 1..* BackboneElement A setup operation or assert that was executed
+ Rule: Setup action SHALL contain either an operation or assert but not both.

. . . . . operation C 0..1 BackboneElement The operation to perform
. . . . . . result 1..1 code pass | skip | fail | warning | error
Binding: TestReportActionResult Test Report Action Result ( Required )
. . . . . . message 0..1 markdown A message associated with the result
. . . . . . detail 0..1 uri A link to further details on the result
. . . . . assert C 0..1 BackboneElement The assertion to perform
. . . . . . result 1..1 code pass | skip | fail | warning | error
Binding: TestReportActionResult Test Report Action Result ( Required )
. . . . . . message 0..1 markdown A message associated with the result
. . . . . . detail 0..1 string A link to further details on the result
. . . . . . requirement 0..* BackboneElement Links or references to the testing requirements

....... link[x] 0..1 Link or reference to the testing requirement
........ linkUri uri
........ linkCanonical canonical ( Requirements )
. . . test 0..* BackboneElement A test executed from the test script

. . . . name 0..1 string Tracking/logging name of this test
. . . . description 0..1 string Tracking/reporting short description of the test
. . . . action I C 1..* BackboneElement A test operation or assert that was performed
+ Rule: Test action SHALL contain either an operation or assert but not both.

. . . . . operation 0..1 see operation The operation performed
. . . . . assert 0..1 see assert The assertion performed
. . . teardown 0..1 BackboneElement The results of running the series of required clean up steps
. . . . action 1..* BackboneElement One or more teardown operations performed

. . . . . operation 1..1 see operation The teardown operation performed

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

TestReport ( DomainResource ) Identifier for the TestScript TestReport assigned for external purposes outside the context of FHIR identifier : Identifier [0..1] A free text natural language name identifying the executed TestScript TestReport name : string [0..1] The current state of this test report (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) TestReportStatus ! » Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the `TestScript.url` testScript : Reference canonical [1..1] « TestScript » The overall result from the execution of the TestScript result : code [1..1] « null (Strength=Required) TestReportResult ! » The final score (percentage of tests passed) resulting from the execution of the TestScript score : decimal [0..1] Name of the tester producing this report (Organization or individual) tester : string [0..1] When the TestScript was executed and this TestReport was generated issued : dateTime [0..1] Participant The type of participant type : code [1..1] « null (Strength=Required) TestReportParticipantType ! » The uri of the participant. An absolute URL is preferred uri : uri [1..1] The display name of the participant display : string [0..1] Setup SetupAction Operation The result of this operation result : code [1..1] « null (Strength=Required) TestReportActionResult ! » An explanatory message associated with the result message : markdown [0..1] A link to further details on the result detail : uri [0..1] Assert The result of this assertion result : code [1..1] « null (Strength=Required) TestReportActionResult ! » An explanatory message associated with the result message : markdown [0..1] A link to further details on the result detail : string [0..1] Requirement Link or reference providing traceability to the testing requirement for this test link[x] : PrimitiveType [0..1] « uri | canonical ( Requirements ) » Test The name of this test used for tracking/logging purposes by test engines name : string [0..1] A short description of the test used by test engines for tracking and reporting purposes description : string [0..1] TestAction Teardown TeardownAction A participant in the test execution, either the execution engine, a client, or a server participant [0..*] The operation performed operation [0..1] Links or references providing traceability to the testing requirements for this assert requirement [0..*] The results of the assertion performed on the previous operations assert [0..1] Action would contain either an operation or an assertion action [1..*] The results of the series of required setup operations before the tests were executed setup [0..1] An operation would involve a REST request to a server operation [0..1] The results of the assertion performed on the previous operations assert [0..1] Action would contain either an operation or an assertion action [1..*] A test executed from the test script test [0..*] An operation would involve a REST request to a server operation [1..1] The teardown action will only contain an operation action [1..*] The results of the series of operations required to clean up after all the tests were executed (successfully or otherwise) teardown [0..1]

XML Template

<TestReport xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <</identifier>
 <

 <identifier><!-- 0..1 Identifier External identifier --></identifier>
 <name value="[string]"/><!-- 0..1 Informal name of the executed TestReport -->

 <status value="[code]"/><!-- 1..1 completed | in-progress | waiting | stopped | entered-in-error -->
 <</testScript>

 <testScript><!-- 1..1 canonical(TestScript) Canonical URL to the  version-specific TestScript that was executed to produce this TestReport --></testScript>

 <result value="[code]"/><!-- 1..1 pass | fail | pending -->
 <score value="[decimal]"/><!-- 0..1 The final score (percentage of tests passed) resulting from the execution of the TestScript -->
 <tester value="[string]"/><!-- 0..1 Name of the tester producing this report (Organization or individual) -->
 <issued value="[dateTime]"/><!-- 0..1 When the TestScript was executed and this TestReport was generated -->
 <participant>  <!-- 0..* A participant in the test execution, either the execution engine, a client, or a server -->
  <type value="[code]"/><!-- 1..1 test-engine | client | server -->
  <uri value="[uri]"/><!-- 1..1 The uri of the participant. An absolute URL is preferred -->
  <display value="[string]"/><!-- 0..1 The display name of the participant -->
 </participant>
 <setup>  <!-- 0..1 The results of the series of required setup operations before the tests were executed -->
  <action>  <!-- 1..* A setup operation or assert that was executed -->
   <

   <operation>  <!-- I 0..1 The operation to perform -->

    <result value="[code]"/><!-- 1..1 pass | skip | fail | warning | error -->
    <message value="[markdown]"/><!-- 0..1 A message associated with the result -->
    <detail value="[uri]"/><!-- 0..1 A link to further details on the result -->
   </operation>
   <

   <assert>  <!-- I 0..1 The assertion to perform -->

    <result value="[code]"/><!-- 1..1 pass | skip | fail | warning | error -->
    <message value="[markdown]"/><!-- 0..1 A message associated with the result -->
    <detail value="[string]"/><!-- 0..1 A link to further details on the result -->
    <requirement>  <!-- 0..* Links or references to the testing requirements -->
     <link[x]><!-- 0..1 uri|canonical(Requirements) Link or reference to the testing requirement --></link[x]>
    </requirement>

   </assert>
  </action>
 </setup>
 <test>  <!-- 0..* A test executed from the test script -->
  <name value="[string]"/><!-- 0..1 Tracking/logging name of this test -->
  <description value="[string]"/><!-- 0..1 Tracking/reporting short description of the test -->
  <action>  <!-- 1..* A test operation or assert that was performed -->
   <operation><!-- 0..1 Content as for TestReport.setup.action.operation The operation performed --></operation>
   <assert><!-- 0..1 Content as for TestReport.setup.action.assert The assertion performed --></assert>
  </action>
 </test>
 <teardown>  <!-- 0..1 The results of running the series of required clean up steps -->
  <action>  <!-- 1..* One or more teardown operations performed -->
   <operation><!-- 1..1 Content as for TestReport.setup.action.operation The teardown operation performed --></operation>
  </action>
 </teardown>
</TestReport>

JSON Template

{doco
  "resourceType" : "TestReport",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "

  "identifier" : { Identifier }, // External identifier
  "name" : "<string>", // Informal name of the executed TestReport

  "status" : "<code>", // R!  completed | in-progress | waiting | stopped | entered-in-error
  "

  "testScript" : "<canonical(TestScript)>", // R!  Canonical URL to the  version-specific TestScript that was executed to produce this TestReport

  "result" : "<code>", // R!  pass | fail | pending
  "score" : <decimal>, // The final score (percentage of tests passed) resulting from the execution of the TestScript
  "tester" : "<string>", // Name of the tester producing this report (Organization or individual)
  "issued" : "<dateTime>", // When the TestScript was executed and this TestReport was generated
  "participant" : [{ // A participant in the test execution, either the execution engine, a client, or a server
    "type" : "<code>", // R!  test-engine | client | server
    "uri" : "<uri>", // R!  The uri of the participant. An absolute URL is preferred
    "display" : "<string>" // The display name of the participant
  }],
  "setup" : { // The results of the series of required setup operations before the tests were executed
    "action" : [{ // R!  A setup operation or assert that was executed
      "

      "operation" : { // I The operation to perform

        "result" : "<code>", // R!  pass | skip | fail | warning | error
        "message" : "<markdown>", // A message associated with the result
        "detail" : "<uri>" // A link to further details on the result
      },
      "

      "assert" : { // I The assertion to perform

        "result" : "<code>", // R!  pass | skip | fail | warning | error
        "message" : "<markdown>", // A message associated with the result
        "

        "detail" : "<string>", // A link to further details on the result
        "requirement" : [{ // Links or references to the testing requirements
          // link[x]: Link or reference to the testing requirement. One of these 2:

          "linkUri" : "<uri>",
          "linkCanonical" : "<canonical(Requirements)>"
        }]

      }
    }]
  },
  "test" : [{ // A test executed from the test script
    "name" : "<string>", // Tracking/logging name of this test
    "description" : "<string>", // Tracking/reporting short description of the test
    "action" : [{ // R!  A test operation or assert that was performed
      "operation" : { Content as for TestReport.setup.action.operation }, // The operation performed
      "assert" : { Content as for TestReport.setup.action.assert } // The assertion performed
    }]
  }],
  "teardown" : { // The results of running the series of required clean up steps
    "action" : [{ // R!  One or more teardown operations performed
      "operation" : { Content as for TestReport.setup.action.operation } // R!  The teardown operation performed
    }]
  }
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:TestReport;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
    fhir:
    fhir:
    fhir:
  ], ...;
  fhir:
    fhir:
      fhir:
        fhir:
        fhir:
        fhir:
      ];
      fhir:
        fhir:
        fhir:
        fhir:
      ];
    ], ...;
  ];
  fhir:
    fhir:
    fhir:
    fhir:
      fhir:
      fhir:
    ], ...;
  ], ...;
  fhir:
    fhir:
      fhir:
    ], ...;
  ];

  fhir:identifier [ Identifier ] ; # 0..1 External identifier
  fhir:name [ string ] ; # 0..1 Informal name of the executed TestReport
  fhir:status [ code ] ; # 1..1 completed | in-progress | waiting | stopped | entered-in-error
  fhir:testScript [ canonical(TestScript) ] ; # 1..1 Canonical URL to the  version-specific TestScript that was executed to produce this TestReport
  fhir:result [ code ] ; # 1..1 pass | fail | pending
  fhir:score [ decimal ] ; # 0..1 The final score (percentage of tests passed) resulting from the execution of the TestScript
  fhir:tester [ string ] ; # 0..1 Name of the tester producing this report (Organization or individual)
  fhir:issued [ dateTime ] ; # 0..1 When the TestScript was executed and this TestReport was generated
  fhir:participant ( [ # 0..* A participant in the test execution, either the execution engine, a client, or a server
    fhir:type [ code ] ; # 1..1 test-engine | client | server
    fhir:uri [ uri ] ; # 1..1 The uri of the participant. An absolute URL is preferred
    fhir:display [ string ] ; # 0..1 The display name of the participant
  ] ... ) ;
  fhir:setup [ # 0..1 The results of the series of required setup operations before the tests were executed
    fhir:action ( [ # 1..* A setup operation or assert that was executed
      fhir:operation [ # 0..1 I The operation to perform
        fhir:result [ code ] ; # 1..1 pass | skip | fail | warning | error
        fhir:message [ markdown ] ; # 0..1 A message associated with the result
        fhir:detail [ uri ] ; # 0..1 A link to further details on the result
      ] ;
      fhir:assert [ # 0..1 I The assertion to perform
        fhir:result [ code ] ; # 1..1 pass | skip | fail | warning | error
        fhir:message [ markdown ] ; # 0..1 A message associated with the result
        fhir:detail [ string ] ; # 0..1 A link to further details on the result
        fhir:requirement ( [ # 0..* Links or references to the testing requirements
          # link[x] : 0..1 Link or reference to the testing requirement. One of these 2
            fhir:link [  a fhir:uri ; uri ]
            fhir:link [  a fhir:canonical ; canonical(Requirements) ]
        ] ... ) ;
      ] ;
    ] ... ) ;
  ] ;
  fhir:test ( [ # 0..* A test executed from the test script
    fhir:name [ string ] ; # 0..1 Tracking/logging name of this test
    fhir:description [ string ] ; # 0..1 Tracking/reporting short description of the test
    fhir:action ( [ # 1..* A test operation or assert that was performed
      fhir:operation [ See TestReport.setup.action.operation ] ; # 0..1 The operation performed
      fhir:assert [ See TestReport.setup.action.assert ] ; # 0..1 The assertion performed
    ] ... ) ;
  ] ... ) ;
  fhir:teardown [ # 0..1 The results of running the series of required clean up steps
    fhir:action ( [ # 1..* One or more teardown operations performed
      fhir:operation [ See TestReport.setup.action.operation ] ; # 1..1 The teardown operation performed
    ] ... ) ;
  ] ;

]

Changes since Release 4

TestReport
TestReport.testScript
  • No Changes Type changed from Reference(TestScript) to canonical(TestScript)
TestReport.setup.action.assert.requirement
  • Added Element
TestReport.setup.action.assert.requirement.link[x]
  • Added Element

See the Full Difference for further information

This analysis is available as XML or JSON .

Conversions between R3 and R4 See R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)

 

See the Profiles & Extensions and the alternate Additional definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) + see the extensions , the spreadsheet version & the dependency analysis

Path Definition ValueSet Type Reference Documentation
TestReport.status TestReportStatus Required TestReportStatus

The current status of the test report.

TestReport.result TestReportResult Required TestReportResult

The reported execution result.

TestReport.participant.type TestReportParticipantType Required TestReportParticipantType

The type of participant.

TestReport.setup.action.operation.result TestReportActionResult Required TestReportActionResult

The results of executing an action.

TestReport.setup.action.assert.result TestReportActionResult Required TestReportActionResult

The results of executing an action.

id UniqueKey Level Location Description Expression
inv-1 img  inv-1 Rule TestReport.setup.action Setup action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()
inv-2 img  inv-2 Rule TestReport.test.action Test action SHALL contain either an operation or assert but not both. operation.exists() xor assert.exists()

Please refer to the Testing FHIR - How Tos for examples on working with this resource.

Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
identifier token An external identifier for the test report TestReport.identifier
issued date The test report generation date TestReport.issued
participant uri The reference to a participant in the test execution TestReport.participant.uri
result token The result disposition of the test execution TestReport.result
tester string The name of the testing organization TestReport.tester
testscript reference The test script executed to produce this report TestReport.testScript
( TestScript )