Skip to content
Jaehoon Lee edited this page Jul 28, 2022 · 7 revisions

Welcome to the testscript-engine wiki!

The purpose of the TestScript Engine is to support and encourage essential aspects of FHIR testing through the following features:

  • General use engine to be implemented in various use cases
  • Support end-to-end FHIR testing process (http://hl7.org/fhir/testing.html)
  • Intake and execution of FHIR TestScript resources and output of TestReport resources that summarize the result of executing each TestScripts against a given endpoint or system
  • Aligned with existing FHIR architecture
  • Extensible to be integrated with key FHIR toolchains in the future (FHIR Shorthand, TestScript Generator, Synthea)

Architecture

Key Features

Environment

  • Run as command line application

TestScript

  • Support TestScript Resource as input
  • Validate TestScript instances before execution

Fixture

  • Use local FHIR Resource instances as fixtures
  • Support Auto-Create/Auto-Delete

Execution

Pre-Processing

  • Evaluate if TestScript metadata "capabilities" are supported by server's conformance resource (to be added)
  • Provide a comparison if the capabilities are not supported by the server
  • Create any fixtures that were marked 'autocreate' and SKIP if autocreate failed.

Setup execution

  • Run against servers to set up pre-conditions on the server. Need to support Operation types below

Test execution

  • Run against servers for real testing. Need to support Operation types below

Assertion execution

  • Evaluate the client requests and server responses for conformance
  • Support all assertion types defined in the TestScript spec

Teardown

  • Clean up (delete) fixtures created during the setup procedures

Post-processing

  • Remove any fixtures that were marked 'autodelete'   Multiple actors
  • Support multiple FHIR clients/servers (to be added)

FHIR Operation type supported

  • read
  • vread
  • search
  • history
  • create
  • update
  • delete
  • transaction (to be added)
  • conformance (to be added)

Output

  • Export TestReport Resource as outcome in local environment
  • Calculate score

Useful materials

  • Walonoski J, Scanlon R, Dowling C, Hyland M, Ettema R, Posnack S Validation and Testing of Fast Healthcare Interoperability Resources Standards Compliance: Data Analysis JMIR Med Inform 2018;6(4):e10870 URL: https://medinform.jmir.org/2018/4/e10870 DOI: 10.2196/10870