ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

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

ChampTypeCardinalitéRôle
identifierIdentifier[]0..*Identifiants externes.
urluri0..1URL canonique.
versionstring0..1Version.
statuscode0..1amended | appended | cancelled | disputed | entered-in-error | executable | executed | negotiable | offered | policy | rejected | renewed | revoked | resolved | terminated.
legalStateCodeableConcept0..1État juridique.
instantiatesCanonicalReference(Contract)0..1Template canonique instancié.
issueddateTime0..1Date d'émission.
appliesPeriod0..1Période de validité.
expirationTypeCodeableConcept0..1Cause d'expiration.
subjectReference(Any)[]0..*Sujet (typiquement Patient).
authorityReference(Organization)[]0..*Autorité (régulateur, employeur…).
typeCodeableConcept0..1Type (consent, policy, treatment…).
subTypeCodeableConcept[]0..*Sous-type.
titlestring0..1Titre lisible humain.
termBackboneElement[]0..*Clauses contractuelles (récursives).
term.offerBackboneElement1..1Offre contractuelle (proposition, décision attendue).
term.assetBackboneElement[]0..*Actifs en jeu (données, biens, services).
term.actionBackboneElement[]0..*Actions imposées ou autorisées.
signerBackboneElement[]0..*Signataires.
signer.signatureSignature[]1..*Signature(s) numérique(s).
friendlyBackboneElement[]0..*Version lisible humain (PDF, narrative).
legalBackboneElement[]0..*Version juridique opposable.
ruleBackboneElement[]0..*Règles exécutables (CQL, rules engine).
legallyBinding[x]Attachment | Reference0..1Ré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 :

json contract-pcd-optout.json
{
  "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 contrat status=executed sans 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 applies Period — 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 term contradictoires sans term.linkId hié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é.