01 / Problème
Le signal clinique commence dans le langage naturel.
Les notes infirmières contiennent des observations importantes, mais la parole n’est ni automatiquement structurée, ni codée, ni prête à franchir une frontière système. L’enjeu d’ingénierie est de préserver l’énoncé, de rendre l’incertitude visible et de laisser la décision finale au soignant.
- Constantes et apports hydriques
- Douleur, symptômes, mobilité et observations
- Interventions infirmières et qualificatifs de contexte
02 / Architecture
Le modèle propose ; les données approuvées franchissent un contrat contrôlé.
L’implémentation sépare le traitement local de la parole et du langage d’une extraction clinique typée, des contrôles de grounding, de la revue et d’un contrat de gateway versionné. Vital Mapper n’écrit pas directement dans HAPI FHIR ; le monitoring possède le mapping FHIR, LOINC et UCUM faisant autorité.
- 01Entrée vocaleAction microphone explicite
- 02Stockage audio chiffréPersistance protégée des enregistrementsimplémenté
- 03faster-whisperService local speech-to-textimplémenté
- 04Extraction OllamaProposition structurée localeimplémenté
- 05Grounding + modèle canoniqueLes faits non fondés sont rejetés
- 06Approbation humaineCorrection avant soumission
- 07Gateway interopContrat Monitoring et frontière FHIRimplémenté
03 / Flux de données
Le contrôle humain est une porte, pas une note de bas de page.
La transcription source reste visible à côté de l’information extraite et de la proposition FHIR. Un soignant peut confirmer, corriger ou rejeter chaque élément avant toute persistance.
- 01Transcription
- 02Information extraite
- 03Proposition FHIR
- 04Revue infirmière
- 05Confirmer / corriger / rejeter
- 06Persister via une API contrôlée
Cette étude modélise une assistance, pas une instance de décision clinique autonome.
04 / Modèle de données cliniques
D’un énoncé à un modèle clinique fondé.
L’extraction implémentée garde le lien à la source et les informations manquantes visibles. La structure intermédiaire permet de revoir latéralité, mobilité et unités avant la soumission du rapport approuvé et des constantes au contrat Monitoring.
« Le patient signale depuis ce matin une douleur au genou droit. Mobilité limitée. Température : 37,8 °C. »
- Symptôme
- Douleur au genou
- Latéralité
- Droite
- Mobilité
- Limitée
- Température
- 37,8 °C
Après approbation, la gateway transmet les constantes fondées à Monitoring Pflege. Son backend mappe les types de mesures de manière déterministe vers une Observation ; le texte approuvé est enregistré comme Composition avec Encounter actif.
{
"resourceType": "Observation",
"status": "preliminary",
"subject": { "reference": "Patient/synthetic-1042" },
"encounter": { "reference": "Encounter/synthetic-enc-37" },
"code": { "text": "Body temperature" },
"valueQuantity": {
"value": 37.8, "unit": "°C",
"system": "http://unitsofmeasure.org", "code": "Cel"
}
}05 / Interopérabilité
L’interopérabilité dépasse le JSON valide.
Le choix d’une ressource FHIR dépend du fait documenté, du workflow de soins, des profils locaux et du système destinataire. Le modèle propose donc d’abord un fait clinique typé ; le mapper applique ensuite les règles du contrat d’intégration convenu.
Observation
Mesures et certains constats, avec unités et références.
Condition
Peut convenir à un problème clinique maintenu, selon workflow et gouvernance.
ClinicalImpression
Peut porter un contexte d’évaluation lorsque cela est pertinent.
Composition
Peut représenter un contexte documentaire structuré selon l’implémentation.
Provenance
Peut consigner la création et la revue sans remplacer la note source.
FHIR / terminologyLa terminologie est une couche sémantique distincte : UCUM peut normaliser les unités ; LOINC et SNOMED CT sont des cibles d’intégration conceptuelles lorsqu’un jeu de valeurs gouverné et le contexte de licence existent. Cette étude ne prétend pas fournir un service terminologique complet.
06 / Sécurité
Privacy et frontières de confiance sont implémentées dans le chemin.
Vital Mapper utilise une session BFF OIDC côté serveur, des tokens chiffrés soutenus par Redis, des contrôles de rôles et par patient, un stockage audio chiffré et des logs d’audit. Les services locaux faster-whisper et Ollama réduisent les transferts externes de données vers des modèles dans l’architecture de développement.
Audio
Les enregistrements sont chiffrés au repos ; le frontend maintient l’audio hors du stockage persistant du navigateur.
Traitement IA
faster-whisper et Ollama sont des services locaux ou compatibles on-premises dans l’architecture Compose.
Accès API
Keycloak/OIDC, sessions côté serveur et RBAC protègent API et accès patient.
Intégration
Les données approuvées passent par la gateway ; l’accès direct à HAPI est volontairement mis en quarantaine.
Les contrôles implémentés ne constituent ni une certification ni une revendication de déploiement clinique en production.
07 / Décisions d’ingénierie
Décisions d’ingénierie clés
- 01
Extraction fondée avant intégration
Les valeurs non étayées sont rejetées au lieu d’être complétées par le modèle.
- 02
Revue avant persistance
Chaque proposition reste une documentation clinique éditable, jamais une conclusion autonome.
- 03
Gateway plutôt qu’accès FHIR direct
Vital Mapper transmet les informations approuvées par un contrat de gateway versionné ; Monitoring Pflege détient le mapping FHIR faisant autorité.
- Représenter négation, incertitude, temporalité et attribution sans aplatir l’énoncé parlé.
- Choisir profils de ressources et liaisons terminologiques adaptés au workflow cible plutôt qu’à une démonstration générique.
- Rendre les corrections traçables sans exposer de contenu clinique inutile dans les logs.
08 / État & suite
État actuel
PROTOTYPE IMPLÉMENTÉLe dépôt implémente le workflow React/FastAPI, la persistance audio chiffrée, la transcription locale faster-whisper, l’extraction Ollama, les contrôles de grounding, l’approbation manuelle, les sessions BFF Keycloak/OIDC, PostgreSQL/Redis et le chemin de soumission vers la gateway Monitoring.
DIRECTION FUTURE
Direction future
Les prochaines étapes sont une évaluation rigoureuse de l’extraction, des tests du contrat d’intégration entre déploiements, une politique opérationnelle de rétention et une validation clinique/gouvernance avant tout usage en soins réels.
09 / Ce que cela démontre
Ce que ce projet démontre
- 01Engineering IA avec frontière human-in-the-loop explicite
- 02Modélisation des données cliniques avant sérialisation
- 03Conception d’intégration consciente de FHIR et prudence terminologique
- 04Réflexion privacy-by-design aux frontières système