This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). 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
. Page versions: R5 R4B R4 R3
| FHIR Infrastructure  Work Group | Maturity Level: 0 | Draft | Compartments: Not linked to any defined compartments | 
Detailed Descriptions for the elements in the TestReport resource.
| TestReport | |
| Definition | A summary of information based on the results of executing a TestScript. | 
| Control | 1..1 | 
| TestReport.identifier | |
| Definition | Identifier for the TestScript assigned for external purposes outside the context of FHIR. | 
| Note | This is a business identifer, not a resource identifier (see discussion) | 
| Control | 0..1 | 
| Type | Identifier | 
| Summary | true | 
| TestReport.name | |
| Definition | A free text natural language name identifying the executed TestScript. | 
| Control | 0..1 | 
| Type | string | 
| Summary | true | 
| Comments | Not expected to be globally unique. | 
| TestReport.status | |
| Definition | The current state of this test report. | 
| Control | 1..1 | 
| Terminology Binding | TestReportStatus (Required) | 
| Type | code | 
| Is Modifier | true | 
| Summary | true | 
| Comments | The status represents where the execution is currently within the test script execution life cycle. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. | 
| TestReport.testScript | |
| Definition | Ideally this is an absolute URL that is used to identify the version-specific TestScript that was executed, matching the  | 
| Control | 1..1 | 
| Type | Reference(TestScript) | 
| Summary | true | 
| TestReport.result | |
| Definition | The overall result from the execution of the TestScript. | 
| Control | 1..1 | 
| Terminology Binding | TestReportResult (Required) | 
| Type | code | 
| Summary | true | 
| Comments | The pass and fail result represents a completed test script execution. The pending result represents a test script execution that has not yet started or is currently in progress. | 
| TestReport.score | |
| Definition | The final score (percentage of tests passed) resulting from the execution of the TestScript. | 
| Control | 0..1 | 
| Type | decimal | 
| Summary | true | 
| TestReport.tester | |
| Definition | Name of the tester producing this report (Organization or individual). | 
| Control | 0..1 | 
| Type | string | 
| Requirements | Helps establish the "authority/credibility" of the TestReport. May also allow for contact. | 
| Summary | true | 
| Comments | Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context. | 
| TestReport.issued | |
| Definition | When the TestScript was executed and this TestReport was generated. | 
| Control | 0..1 | 
| Type | dateTime | 
| Summary | true | 
| Comments | Additional specific dates may be added as extensions. | 
| TestReport.participant | |
| Definition | A participant in the test execution, either the execution engine, a client, or a server. | 
| Control | 0..* | 
| TestReport.participant.type | |
| Definition | The type of participant. | 
| Control | 1..1 | 
| Terminology Binding | TestReportParticipantType (Required) | 
| Type | code | 
| TestReport.participant.uri | |
| Definition | The uri of the participant. An absolute URL is preferred. | 
| Control | 1..1 | 
| Type | uri | 
| TestReport.participant.display | |
| Definition | The display name of the participant. | 
| Control | 0..1 | 
| Type | string | 
| TestReport.setup | |
| Definition | The results of the series of required setup operations before the tests were executed. | 
| Control | 0..1 | 
| TestReport.setup.action | |
| Definition | Action would contain either an operation or an assertion. | 
| Control | 1..* | 
| Comments | An action should contain either an operation or an assertion but not both. It can contain any number of variables. | 
| Invariants | Defined on this element inv-1: Setup action SHALL contain either an operation or assert but not both. (expression  : operation.exists() xor assert.exists(), xpath: (f:operation or f:assert) and not(f:operation and f:assert)) | 
| TestReport.setup.action.operation | |
| Definition | The operation performed. | 
| Control | 0..1 | 
| TestReport.setup.action.operation.result | |
| Definition | The result of this operation. | 
| Control | 1..1 | 
| Terminology Binding | TestReportActionResult (Required) | 
| Type | code | 
| TestReport.setup.action.operation.message | |
| Definition | An explanatory message associated with the result. | 
| Control | 0..1 | 
| Type | markdown | 
| TestReport.setup.action.operation.detail | |
| Definition | A link to further details on the result. | 
| Control | 0..1 | 
| Type | uri | 
| TestReport.setup.action.assert | |
| Definition | The results of the assertion performed on the previous operations. | 
| Control | 0..1 | 
| TestReport.setup.action.assert.result | |
| Definition | The result of this assertion. | 
| Control | 1..1 | 
| Terminology Binding | TestReportActionResult (Required) | 
| Type | code | 
| TestReport.setup.action.assert.message | |
| Definition | An explanatory message associated with the result. | 
| Control | 0..1 | 
| Type | markdown | 
| TestReport.setup.action.assert.detail | |
| Definition | A link to further details on the result. | 
| Control | 0..1 | 
| Type | string | 
| TestReport.test | |
| Definition | A test executed from the test script. | 
| Control | 0..* | 
| TestReport.test.name | |
| Definition | The name of this test used for tracking/logging purposes by test engines. | 
| Control | 0..1 | 
| Type | string | 
| TestReport.test.description | |
| Definition | A short description of the test used by test engines for tracking and reporting purposes. | 
| Control | 0..1 | 
| Type | string | 
| TestReport.test.action | |
| Definition | Action would contain either an operation or an assertion. | 
| Control | 1..* | 
| Comments | An action should contain either an operation or an assertion but not both. It can contain any number of variables. | 
| Invariants | Defined on this element inv-2: Test action SHALL contain either an operation or assert but not both. (expression  : operation.exists() xor assert.exists(), xpath: (f:operation or f:assert) and not(f:operation and f:assert)) | 
| TestReport.test.action.operation | |
| Definition | An operation would involve a REST request to a server. | 
| Control | 0..1 | 
| Type | See TestReport.setup.action.operation | 
| TestReport.test.action.assert | |
| Definition | The results of the assertion performed on the previous operations. | 
| Control | 0..1 | 
| Type | See TestReport.setup.action.assert | 
| TestReport.teardown | |
| Definition | The results of the series of operations required to clean up after the all the tests were executed (successfully or otherwise). | 
| Control | 0..1 | 
| TestReport.teardown.action | |
| Definition | The teardown action will only contain an operation. | 
| Control | 1..* | 
| Comments | An action should contain either an operation or an assertion but not both. It can contain any number of variables. | 
| TestReport.teardown.action.operation | |
| Definition | An operation would involve a REST request to a server. | 
| Control | 1..1 | 
| Type | See TestReport.setup.action.operation |