Consent — détail : consentement patient
Modélisation du consentement patient pour consultation, partage de données, recherche, directives anticipées. Conforme aux exigences RGPD article 7 (consentement explicite et révocable), HIPAA Privacy Rule, IHE BPPC (Basic Patient Privacy Consents). Provision granulaire avec exceptions par diagnostic ou type d'usage.
Conformité RGPD article 7
RGPD article 7 impose 4 critères pour un consentement valide :
- Libre — sans pression (typiquement, conditionner un soin au consentement = invalide).
- Spécifique — un consentement par finalité distincte (FHIR
purpose+action). - Éclairé — politique d'usage accessible (FHIR
policyTextreference vers un DocumentReference). - Univoque — acte positif et clair (FHIR
decision: permit, jamais d'opt-out par défaut).
Plus la révocabilité : status: inactive ou revoked doit être propagé en temps réel à tous les consumers du DMP.
Champs clés
| Champ | Cardinalité | Rôle |
|---|---|---|
status | 1..1 | draft / active / inactive / not-done / entered-in-error / unknown. |
category | 1..* | Type de consentement (INFAO, IDSCL, TREAT, RESEARCH). |
subject | 0..1 | Patient concerné. |
date | 0..1 | Date de signature. |
grantor | 0..* | Qui consent (typiquement Patient ou RelatedPerson). |
grantee | 0..* | À qui le consentement est donné (Organization, Practitioner). |
controller | 0..* | Responsable du traitement RGPD article 4. |
policyText | 0..1 | Texte de politique référencé. |
decision | 0..1 | permit / deny au niveau racine. |
provision | 0..* | Règles granulaires (sous-section). |
Provision granulaire (deny vs permit)
La force du Consent FHIR : provisions imbriquées avec décision contraire à la racine. Exemple : « Je consens (permit) au partage de mon dossier médical à mon médecin traitant, SAUF (deny) les diagnostics de santé mentale ».
Chaque provision peut filtrer sur :
period— fenêtre temporelle.actor— qui peut accéder (rôle ou identifiant).action— quelle action (access, correct, disclose).securityLabel— niveau de confidentialité (N=normal, R=restricted, V=very restricted).purpose— finalité (TREAT, HRESCH, HOPERAT, ETREAT).code— diagnostic ou catégorie de données (SNOMED CT codes).dataPeriod— fenêtre des données (rétroactif).
Exemple : consentement DMP avec exception santé mentale
{
"resourceType": "Consent",
"id": "consent-dmp-marie-887",
"status": "active",
"category": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/consentcategorycodes",
"code": "INFAO",
"display": "Information access"
}]
}],
"subject": { "reference": "Patient/marie-durand-887" },
"date": "2026-05-19",
"grantor": [{ "reference": "Patient/marie-durand-887" }],
"grantee": [{
"reference": "Organization/asip-dmp",
"display": "ANS - Mon Espace Sante"
}],
"controller": [{
"reference": "Organization/asip-dmp"
}],
"policyText": {
"reference": "DocumentReference/dmp-policy-v3"
},
"decision": "permit",
"provision": [{
"period": {
"start": "2026-05-19",
"end": "2031-05-19"
},
"actor": [{
"role": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
"code": "AUT"
}]
},
"reference": { "reference": "PractitionerRole/medecin-traitant" }
}],
"action": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/consentaction",
"code": "access"
}]
}, {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/consentaction",
"code": "correct"
}]
}],
"securityLabel": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-Confidentiality",
"code": "N",
"display": "Normal"
}],
"purpose": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
"code": "TREAT"
}],
"dataPeriod": {
"start": "2010-01-01"
},
"provision": [{
"decision": "deny",
"code": [{
"coding": [{
"system": "http://snomed.info/sct",
"code": "47505003",
"display": "Post-traumatic stress disorder"
}]
}],
"purpose": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
"code": "HRESCH"
}]
}]
}]
} Pièges courants
- Provision contradictoires — règle de résolution : la provision la plus spécifique gagne. Mais le provider doit implementer un policy decision point (PDP) cohérent (XACML-like).
- Pas de période de validité — un consentement sans
provision[].periodest éternel ; RGPD impose une réflexion sur la durée. - Révocation non-propagée — passer status=revoked sans notification aux subscribers (Subscription) crée des accès orphelins.
- grantor ≠ subject — pour les mineurs ou les majeurs protégés, grantor est le représentant légal, subject est le patient. Erreur fréquente.