Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Provenance des données médicales expliquée
Ce que la provenance enregistre à chaque écriture dans un dossier FHIR R4 — type d'auteur, personne, organisation, système source, versions — comment la définir avec des en-têtes, comment la lire, et comment elle étiquette les données fournies aux modèles d'IA.
La provenance est l'enregistrement de l'origine d'une donnée médicale : qui l'a écrite, au nom de quelle organisation, depuis quel système, quand, et ce qui a changé dans chaque version. Dans un enregistrement qui collecte des données de patients, d'appareils, de cliniques, de laboratoires et d'IA, la provenance est ce qui rend une valeur digne de confiance : une mesure de tension artérielle saisie à domicile et une mesurée en clinique semblent identiques sans elle. Dans Anpheros, chaque écriture sur un enregistrement HL7 FHIR R4 produit automatiquement une ressource FHIR Provenance. Cette page explique ce qu'elle contient, comment la remplir correctement et comment la lire.
Pourquoi la provenance est importante
- Confiance clinique. Un médecin accordera une importance différente à un résultat de laboratoire qu'à une valeur saisie par le patient ou à un nombre extrait par une IA à partir d'une photo.
- Sécurité de l'IA. Un modèle recevant un enregistrement doit savoir quels éléments sont des faits et quels sont des notes rédigées par un autre modèle. Sans étiquettes, il les traite de la même manière.
- Corrections et litiges. Lorsqu'une valeur change, tout le monde doit savoir quelle était la valeur précédente, qui l'a modifiée et pourquoi.
- Responsabilité. Conformément au RGPD et à l'Espace européen des données de santé, une organisation doit être en mesure de démontrer ce qu'elle a fait des données de santé d'une personne.
- Partage. Lorsqu'un patient autorise une deuxième clinique à lire son dossier, cette clinique doit savoir quelles données la première clinique a saisies.
Ce qu'Anpheros enregistre à chaque écriture
| Question | Où c'est enregistré | Comment le définir |
|---|---|---|
| Quel type d'auteur ? | agent.who.identifier (type d'auteur) |
author_type dans /v1, ou en-tête X-Anpheros-Author-Type : patient, practitioner, device, import, ai |
| Quelle personne ? | agent.who.reference |
X-Anpheros-Author-Ref: Practitioner/<id>, ou X-Anpheros-Acting-As |
| Pour quelle organisation ? | agent.onBehalfOf |
l'organisation du PractitionerRole, ou X-Anpheros-On-Behalf-Of: Organization/<id> |
| De quel système ? | entity avec le rôle source |
X-Anpheros-Source-System: <name> |
| Quel enregistrement dans ce système ? | id d'origine | X-Anpheros-Origin-Id: <id> |
| Quand, et que s'est-il passé ? | recorded, activity (CREATE, UPDATE, DELETE) |
automatique |
| Quelle version ? | target pointe vers <Resource>/<id>/_history/<version> |
automatique |
Si vous ne précisez pas qui est l'auteur, la plateforme enregistre import. Elle n'assume jamais patient, car une valeur attribuée à tort au patient est pire qu'une valeur honnêtement étiquetée comme importée.
Une écriture avec une provenance complète
Un cardiologue dans une clinique enregistre une fréquence cardiaque lors d'une visite, via le logiciel de la clinique :
curl -X POST https://platform.anpheros.com/fhir/R4/Observation -H "Authorization: Bearer $KEY" \
-H "Content-Type: application/fhir+json" \
-H "X-Anpheros-Author-Type: practitioner" \
-H "X-Anpheros-Acting-As: PractitionerRole/$ROLE" \
-H "X-Anpheros-Source-System: ccn-emr" \
-d '{ "resourceType": "Observation", "status": "final", "code": {"coding": [{"system": "http://loinc.org", "code": "8867-4"}]}, … }'
La provenance que la plateforme écrit :
{"resourceType": "Provenance",
"target": [{"reference": "Observation/8660eb7c-…/_history/1"}],
"recorded": "2026-10-12T20:41:47.469000Z",
"activity": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v3-DataOperation", "code": "CREATE"}]},
"agent": [{"type": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "code": "author"}]},
"who": {"reference": "PractitionerRole/e6d8c227-…",
"identifier": {"system": "https://anpheros.com/fhir/CodeSystem/author-type", "value": "practitioner"}},
"onBehalfOf": {"reference": "Organization/c3a56a4b-…", "display": "Clinica Cardio Nord"}}],
"entity": [{"role": "source", "what": {"identifier": {"system": "ccn-emr"}}}]}
Le rôle du médecin, sa clinique, le type d'auteur et le système source sont tous présents, en FHIR standard. Le PractitionerRole doit exister dans le répertoire de votre projet et être actif. Une requête nommant le praticien de quelqu'un d'autre est refusée :
{"resourceType": "OperationOutcome", "issue": [{"severity": "error", "code": "invalid",
"diagnostics": "Unknown or inactive Practitioner in X-Anpheros-Acting-As."}]}
La configuration du répertoire est abordée dans Comment intégrer les systèmes de clinique avec un backend FHIR.
Versions : rien n'est écrasé silencieusement
Chaque mise à jour crée une nouvelle version de la ressource et une nouvelle Provenance pour celle-ci. Après la correction du rythme cardiaque de 92 à 88 ci-dessus :
curl https://platform.anpheros.com/fhir/R4/Observation/$OBS/_history -H "Authorization: Bearer $KEY"
renvoie la version 2 (88) et la version 1 (92). La vue REST résume la Provenance de chaque version :
curl https://platform.anpheros.com/v1/patients/$PID/provenance/Observation/$OBS -H "Authorization: Bearer $KEY"
{"data": [
{"version": 1, "activity": "CREATE", "recorded": "2026-10-12T20:41:47.469000Z", "author_type": "practitioner", "author": "PractitionerRole/e6d8c227-…", "source_system": "ccn-emr", "fhir": "Provenance/6ed91529-…"},
{"version": 2, "activity": "UPDATE", "recorded": "2026-10-12T20:41:47.500000Z", "author_type": "practitioner", "fhir": "Provenance/3fbf270f-…"}],
"total": 2}
Les suppressions sont logicielles : une ressource supprimée disparaît des recherches, mais son historique et sa Provenance subsistent.
Lecture de la provenance
# who wrote this resource (all versions)
GET /fhir/R4/Provenance?target=Observation/{id}
# everything a practitioner recorded
GET /fhir/R4/Provenance?agent=PractitionerRole/{id}
# the same, summarised, per resource
GET /v1/patients/{pid}/provenance/Observation/{id}
Provenance dans les contextes d'IA
L'API de contexte transporte la provenance dans chaque élément qu'elle fournit à un modèle, comme author_type et source. En forme textuelle :
- Type 2 diabetes mellitus (E11), active, onset 2024-10-15 [import/anpheros-sandbox]
- Metformin 1000 mg 1 tablet twice daily with meals, active [patient/anpheros-sandbox]
- Glucose [Mass/volume] in Blood: 2026-09-16: 140.0 mg/dL [device/anpheros-sandbox]
Les mesures écrites avec author_type: ai n'apparaissent jamais parmi ces faits. Elles sont listées séparément sous ai_notes et marquées comme non vérifiées, de sorte qu'un modèle ne puisse pas confondre une supposition d'un modèle précédent avec une mesure. Indiquez au modèle ce que signifient les étiquettes et demandez-lui de les citer ; Comment créer une application de santé IA avec un backend FHIR montre une invite qui le fait.
Ce que le patient voit
La provenance est également ce que le patient voit. Son dossier indique qui a ajouté chaque élément, et sa liste de connexions indique, pour chaque application, qui a accédé à quoi, par nom lorsqu'un praticien agissait ("Dr. Ana Popescu · Clinica Cardio Nord a lu vos résultats de laboratoire"). Voir Modèle de consentement et d'accès.
Règles qui rendent la provenance utile
- Définissez toujours le type d'auteur. Cela ne coûte qu'un champ et constitue l'étiquette la plus importante dans l'enregistrement.
- Nommez la personne lorsqu'une personne l'a écrit. Utilisez
X-Anpheros-Acting-Aspour le personnel clinique. - Nommez le système source, et transmettez l'identifiant propre à la source comme identifiant d'origine lorsqu'il y en a un.
- Corrigez en mettant à jour, jamais en supprimant et recréant. Une mise à jour conserve le lien entre l'ancienne et la nouvelle valeur.
- Étiquetez la sortie de l'IA comme
ai, y compris les valeurs qu'un modèle a extraites d'un document. Les valeurs dérivées d'un document peuvent également y pointer avecderived_from.
Questions fréquemment posées
Qu'est-ce que la provenance des données dans le domaine de la santé ?
L'origine et l'historique documentés d'un élément de données de santé : qui l'a créé ou modifié, pour le compte de qui, à partir de quel système et quand. Dans HL7 FHIR, il est représenté par la ressource Provenance, qui pointe vers la version exacte de la ressource qu'elle décrit.
La provenance est-elle la même chose qu'un journal d'audit ?
Non. La provenance décrit les données : qui a écrit chaque version. Un journal d'audit décrit l'accès : qui a lu ou écrit quoi, quand, sous quel consentement. Anpheros conserve les deux ; le patient voit le journal d'accès pour chaque application connectée à son dossier.
Puis-je écrire mes propres ressources de provenance ?
Anpheros en écrit une pour chaque création, mise à jour et suppression, vous n'avez donc normalement pas à le faire. Utilisez les en-têtes ci-dessus pour le préciser. Une provenance fournie par le client doit cibler des ressources d'un seul patient.
Liens connexes
- Modèle de consentement et d'accès
- Comment intégrer les systèmes de clinique avec un backend FHIR
- Comment normaliser les données médicales
- Interopérabilité des données de santé
- Sécurité, confidentialité et résidence des données
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card