This page is part of the FHIR Specification (v3.0.2: STU 3). 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
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 |