Scénarios JSON
Les scénarios sont des fichiers JSON stockés sur carte SD (dispositifs) et dans IndexedDB (PWA).
Structure
Section intitulée « Structure »{ "id": "acr-fv-adulte", "name": "ACR sur FV — Adulte", "version": "1.0.0", "category": "cardiac", "difficulty": "intermediate", "description": "Arrêt cardio-respiratoire sur fibrillation ventriculaire chez un adulte de 65 ans", "duration": 600, "devices": ["dae", "dinamap", "scope"], "patient": { "age": 65, "sex": "M", "weight": 80, "antecedents": ["HTA", "diabete type 2"] }, "initialState": "fv_initial", "states": { }}Catégories
Section intitulée « Catégories »| Code | Label | Description |
|---|---|---|
cardiac | Cardiaque | ACR, FV, TV, BAV, STEMI |
respiratory | Respiratoire | Asthme, OAP, pneumothorax |
metabolic | Métabolique | Hypoglycémie, acidocétose |
trauma | Traumatologie | Polytraumatisme, hémorragie |
neurologic | Neurologique | AVC, convulsions |
Niveaux de difficulté
Section intitulée « Niveaux de difficulté »| Code | Label | Public cible |
|---|---|---|
beginner | Débutant | PSC1, SST |
intermediate | Intermédiaire | AFGSU 1 et 2, IDE |
advanced | Avancé | SMUR, urgentistes |
Chaque état définit les paramètres vitaux et les transitions possibles :
{ "fv_initial": { "label": "FV initiale", "vitals": { "hr": 0, "spo2": 0, "rr": 0, "nibpSys": 0, "nibpDia": 0, "rhythm": "ventricular_fibrillation" }, "audio": "analyse-en-cours.wav", "transitions": [ { "trigger": "shock", "target": "post_shock_1", "delay": 0 }, { "trigger": "timeout", "delay": 120, "target": "fv_prolongee" } ] }}Transitions
Section intitulée « Transitions »| Type | Description |
|---|---|
trigger | Déclenchée par une action (bouton, commande formateur) |
timeout | Automatique après un délai (en secondes) |
condition | Basée sur une condition (paramètre vital, état d’un device) |
Paramètres vitaux
Section intitulée « Paramètres vitaux »| Paramètre | Clé JSON | Unité | Plage |
|---|---|---|---|
| Fréquence cardiaque | hr | bpm | 0-300 |
| Saturation O2 | spo2 | % | 0-100 |
| Fréquence respiratoire | rr | /min | 0-60 |
| PNI systolique | nibpSys | mmHg | 0-300 |
| PNI diastolique | nibpDia | mmHg | 0-200 |
| Température | temp | degC | 30-42 |
| EtCO2 | etco2 | mmHg | 0-100 |
| Glycémie | glycemia | g/L | 0-6 |
| Rythme ECG | rhythm | enum | Voir rythmes |
Rythmes ECG
Section intitulée « Rythmes ECG »sinus | sinus_tachycardia | sinus_bradycardiaatrial_fibrillationventricular_fibrillation | ventricular_tachycardiaasystole | peaav_block_1 | av_block_2 | av_block_3stemiEmplacement des fichiers
Section intitulée « Emplacement des fichiers »| Emplacement | Usage |
|---|---|
firmware/data/scenarios/*.json | Carte SD des dispositifs |
PWA IndexedDB (scenarios store) | SimPilot |
saas/api/fixtures/*.json | Scénarios préchargés SaaS |