Contract — L'accord juridique en santé
Consentement éclairé, mandat de partage, directive anticipée, contrat patient-prestataire : Contract est la ressource pivot des accords juridiques en santé, alignée RGPD et HIPAA.
Objet de la ressource
Contract est la ressource générique pour modéliser tout accord juridique pertinent en santé : Privacy Consent Directive (RGPD article 6 ou 9, HIPAA Authorization), contrat de prestation patient-établissement, contrat de licence d'IA, contrat employeur-assureur, mandat de représentation, directive anticipée.
Contract est plus généraliste que Consent. Consent est spécifique aux directives de consentement patient ; Contract couvre tous les accords incluant ceux entre organisations.
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
identifier | Identifier[] | 0..* | Identifiants externes. |
url | uri | 0..1 | URL canonique. |
version | string | 0..1 | Version. |
status | code | 0..1 | amended | appended | cancelled | disputed | entered-in-error | executable | executed | negotiable | offered | policy | rejected | renewed | revoked | resolved | terminated. |
legalState | CodeableConcept | 0..1 | État juridique. |
instantiatesCanonical | Reference(Contract) | 0..1 | Template canonique instancié. |
issued | dateTime | 0..1 | Date d'émission. |
applies | Period | 0..1 | Période de validité. |
expirationType | CodeableConcept | 0..1 | Cause d'expiration. |
subject | Reference(Any)[] | 0..* | Sujet (typiquement Patient). |
authority | Reference(Organization)[] | 0..* | Autorité (régulateur, employeur…). |
type | CodeableConcept | 0..1 | Type (consent, policy, treatment…). |
subType | CodeableConcept[] | 0..* | Sous-type. |
title | string | 0..1 | Titre lisible humain. |
term | BackboneElement[] | 0..* | Clauses contractuelles (récursives). |
term.offer | BackboneElement | 1..1 | Offre contractuelle (proposition, décision attendue). |
term.asset | BackboneElement[] | 0..* | Actifs en jeu (données, biens, services). |
term.action | BackboneElement[] | 0..* | Actions imposées ou autorisées. |
signer | BackboneElement[] | 0..* | Signataires. |
signer.signature | Signature[] | 1..* | Signature(s) numérique(s). |
friendly | BackboneElement[] | 0..* | Version lisible humain (PDF, narrative). |
legal | BackboneElement[] | 0..* | Version juridique opposable. |
rule | BackboneElement[] | 0..* | Règles exécutables (CQL, rules engine). |
legallyBinding[x] | Attachment | Reference | 0..1 | Référence vers la version juridique opposable. |
Exemple JSON
Privacy Consent Directive opt-out : le patient retire son consentement au partage de données vers une clinique spécifique, valide 1 an, signé numériquement :
{
"resourceType": "Contract",
"id": "pcd-example-notOrg",
"url": "http://example.org/Contract/pcd-example",
"version": "1",
"status": "executed",
"issued": "2026-05-14T10:00:00+02:00",
"applies": {
"start": "2026-05-14T10:00:00+02:00",
"end": "2027-05-14T10:00:00+02:00"
},
"subject": [{ "reference": "Patient/example" }],
"authority": [{ "reference": "Organization/hl7-pa" }],
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/contract-type",
"code": "consent",
"display": "Consent"
}]
},
"subType": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/contractsubtypecodes",
"code": "DDR",
"display": "Data Disclosure"
}]
}],
"title": "Privacy Consent Directive",
"subtitle": "Excluding the ABC Health Care Clinic from data exchange",
"alias": ["GDPR Article 6 / Article 9"],
"term": [{
"issued": "2026-05-14T10:00:00+02:00",
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/contracttermtypecodes",
"code": "statutory"
}]
},
"offer": {
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/contracttermsubtypecodes",
"code": "smart-contract"
}]
},
"decision": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActConsentDirective",
"code": "OPTOUT"
}]
}
},
"action": [{
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/contractaction",
"code": "action-a"
}]
},
"intent": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
"code": "HPRGRP"
}]
},
"status": { "coding": [{ "code": "completed" }] }
}]
}],
"signer": [{
"type": {
"system": "http://terminology.hl7.org/CodeSystem/contractsignertypecodes",
"code": "CONSENTER"
},
"party": { "reference": "Patient/example" },
"signature": [{
"type": [{ "system": "urn:iso-astm:E1762-95:2013", "code": "1.2.840.10065.1.12.1.7" }],
"when": "2026-05-14T10:00:00+02:00",
"who": { "reference": "Patient/example" },
"sigFormat": "application/signature+xml",
"data": "Li4u"
}]
}]
} Pièges courants
- Contract sans
signer— un contratstatus=executedsans signataires n'est pas opposable. - Confusion Contract / Consent — pour un consentement patient simple, préférer
Consent. Contract est plus complexe et générique. - Pas de
appliesPeriod — sans période de validité, la durée du contrat est indéterminée. - Signature non détachée — pour un consentement RGPD, la signature détachée XML-DSig ou JWS est l'état de l'art.
- Termes contradictoires — plusieurs
termcontradictoires sansterm.linkIdhiérarchique rendent l'évaluation ambiguë.
Ressources liées
- Consent — version simplifiée pour les consentements patient.
- Provenance — qui a créé/signé le contrat.
- AuditEvent — accès au contrat.
- DocumentReference — copie PDF du contrat signé.