ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

TestReport — FHIR test result

A TestScript has been executed against a server: TestReport carries the detailed result (pass/fail per action, duration, messages).

Purpose

TestReport is the output of a FHIR test engine (Crucible, Touchstone, HAPI Validation Suite). Used for ONC certification audits (US), IHE qualifications, and Implementation Guide validators (US Core, IPS, FR Core).

Key fields

FieldTypeCardinalityRole
statuscode1..1completed, in-progress, waiting, stopped, entered-in-error.
testScriptReference(TestScript)1..1Executed script.
resultcode1..1pass, fail, pending.
scoredecimal0..1Numeric pass score.
testerstring0..1Test executor name.
issueddateTime0..1Issue date.
participantBackboneElement[]0..*Tested servers/clients.
setup / teardown / testBackboneElement0..1 / 0..1 / 0..*Test phases.

JSON example

US Core 100% pass report:

json testreport-example.json
{
  "resourceType": "TestReport",
  "id": "example",
  "status": "completed",
  "testScript": { "reference": "TestScript/uscore-patient" },
  "result": "pass",
  "score": 100.0,
  "tester": "Crucible FHIR Tester",
  "issued": "2026-05-16T14:30:00Z",
  "participant": [{
    "type": "server",
    "uri": "https://fhir.example.org/r5"
  }],
  "setup": {
    "action": [{
      "operation": { "result": "pass", "message": "Connection OK" }
    }]
  }
}

Common pitfalls

  • result=pass but score < 100: contradiction, ambiguous for the receiver.
  • No testScript: orphan report, not replayable.
  • Too much action detail: for very large TestScripts (full US Core), TestReport can be several MB.
  • TestScript — The test script.
  • TestPlan — Enclosing plan.
  • CapabilityStatement — Capabilities of the tested server.
  • ImplementationGuide — IG whose conformances are tested.