TestScript — Suite de tests d'intégration FHIR
Le format formel de tests d'intégration FHIR exécutables. Drivé par les Connectathons HL7, consommé par Touchstone et Aegis Test Platform : chaque vendor exécute la même suite.
Objet de la ressource
TestScript décrit une suite de tests d'intégration qu'un moteur de test peut exécuter contre un serveur FHIR. Chaque test comprend des opérations (HTTP GET/POST/PUT/DELETE, appel d'opération $-prefixed, transaction Bundle) et des assertions (status code, content type, contenu de réponse, header HTTP, valeur FHIRPath dans la ressource).
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
url | uri | 1..1 | URL canonique. |
identifier | Identifier[] | 0..* | Identifiants métier. |
version | string | 0..1 | Version. |
name | string | 1..1 | Nom technique. |
title | string | 0..1 | Titre. |
status | code | 1..1 | draft | active | retired | unknown. |
origin | BackboneElement[] | 0..* | Acteurs émetteurs. |
destination | BackboneElement[] | 0..* | Acteurs cibles. |
metadata | BackboneElement | 0..1 | Prérequis FHIR (CapabilityStatement, IG). |
scope | BackboneElement[] | 0..* | Périmètre testé. |
fixture | BackboneElement[] | 0..* | Ressources préchargées pour le test. |
profile | canonical[] | 0..* | Profils utilisés dans les fixtures. |
variable | BackboneElement[] | 0..* | Variables réutilisables. |
setup | BackboneElement | 0..1 | Actions de mise en place. |
test | BackboneElement[] | 0..* | Tests exécutables. |
teardown | BackboneElement | 0..1 | Nettoyage. |
Exemple JSON
{
"resourceType": "TestScript",
"id": "example-patient-read",
"url": "http://example.org/TestScript/patient-read",
"version": "5.0.0",
"name": "PatientReadTest",
"title": "Patient Read Test",
"status": "active",
"experimental": false,
"date": "2026-05-15",
"test": [{
"name": "Read Patient",
"action": [{
"operation": {
"type": {
"system": "http://terminology.hl7.org/CodeSystem/testscript-operation-codes",
"code": "read"
},
"resource": "Patient",
"encodeRequestUrl": true,
"params": "/Patient/example"
}
}, {
"assert": {
"description": "Confirm 200 OK",
"response": "okay"
}
}]
}]
} Touchstone et Connectathons
- Touchstone — plateforme de test FHIR opérée par Aegis, utilisée comme moteur officiel des Connectathons HL7.
- Cardea — outil open-source utilisé pour la certification ONC FHIR.
- HAPI Test Suite — runner JVM intégré dans la base HAPI FHIR.
- Les IGs publient leurs TestScripts ensemble avec leurs StructureDefinitions et ExampleScenarios.
Pièges courants
- Assert sans
operator— défaut equals, rarement ce qu'on veut pour des dates ou des IDs. - Variable non initialisée — le test échoue avant l'assertion.
- Pas de teardown — la prochaine exécution part d'un état pollué.