ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

Contract — detail: legal instrument

Modelling of legal instruments applicable to healthcare: care contracts (patient-practitioner engagement), insurance policies, research agreements, NDAs, inter-organization agreements. Terms / asset / agent structure with FHIR scope clinical sharing.

Both look similar but:

  • Consentunilateral patient authorization. No obligation in return for receiver. Revocable any time.
  • Contractbilateral or multilateral agreement. Reciprocal commitments. Revocation typically framed by terms.

A DMP consent = Consent. An engagement to teleconsult monthly with report within 48h = Contract.

Key fields

FieldCardinalityRole
status0..1amended / appended / cancelled / disputed / entered-in-error / executable / executed / negotiable / offered / policy / rejected / renewed / revoked / resolved / terminated.
contentDerivative0..1registration / retrieval / statement / shareable.
issued0..1Issue date.
applies0..1Validity period.
subject0..*Patient or Organization contract subjects.
authority0..*Governing authority (regulator, ministry).
type / subType0..1 / 0..*Classification (healthcare, insurance, research, employment).
scope0..1policy / law / standard / agreement.
term0..*Clauses (offer/asset/action/group).
signer0..*Signers with role and signature.

Healthcare use cases

  • Coordinated care contract — multidisciplinary engagement patient + GP + specialists for chronic pathology.
  • Clinical research contract — agreement principal investigator / promoter / sponsor.
  • Health insurance policy — typically used with InsurancePlan and Coverage.
  • Inter-facility data sharing agreement — formalization of regional data sharing.
  • NDA (Non-Disclosure Agreement) — framing access to sensitive data for an EDC vendor.

Example: 12-month teleconsultation care contract

json contract-telemed.json
{
  "resourceType": "Contract",
  "id": "contract-telemed-marie-887",
  "status": "executed",
  "contentDerivative": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/contract-content-derivative",
      "code": "registration"
    }]
  },
  "issued": "2026-05-19T17:00:00+02:00",
  "applies": {
    "start": "2026-05-19",
    "end": "2027-05-19"
  },
  "subject": [{ "reference": "Patient/marie-durand-887" }],
  "authority": [{ "reference": "Organization/health-regulator" }],
  "type": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/contract-type",
      "code": "healthcare"
    }]
  },
  "subType": [{
    "coding": [{
      "system": "http://example.org/contract-subtype",
      "code": "telemedicine-engagement"
    }]
  }],
  "name": "Long-term teleconsultation engagement contract",
  "title": "Patient-Practitioner Doctolib contract v2026",
  "subtitle": "Mutual engagement for teleconsultation follow-up - 12 months",
  "alias": ["CTR-TELEMED-2026-887"],
  "scope": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/contract-scope",
      "code": "policy"
    }]
  },
  "topicCodeableConcept": {
    "coding": [{
      "system": "http://snomed.info/sct",
      "code": "44054006",
      "display": "Diabetes mellitus type 2"
    }]
  },
  "term": [{
    "issued": "2026-05-19T17:00:00+02:00",
    "type": {
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/contracttermtypecodes",
        "code": "statutory"
      }]
    },
    "text": "Patient agrees to monthly teleconsultation with Dr Bernard. Practitioner commits to provide a report within 48h via patient portal.",
    "offer": {
      "party": [{
        "reference": [{ "reference": "Practitioner/dr-bernard-claude" }],
        "role": {
          "coding": [{
            "system": "http://terminology.hl7.org/CodeSystem/contract-actorrole",
            "code": "provider"
          }]
        }
      }, {
        "reference": [{ "reference": "Patient/marie-durand-887" }],
        "role": {
          "coding": [{
            "system": "http://terminology.hl7.org/CodeSystem/contract-actorrole",
            "code": "subscriber"
          }]
        }
      }]
    },
    "asset": [{
      "scope": {
        "coding": [{ "system": "http://snomed.info/sct", "code": "401277000", "display": "Telemedicine consultation" }]
      },
      "period": [{ "start": "2026-05-19", "end": "2027-05-19" }],
      "valuedItem": [{
        "entityCodeableConcept": {
          "coding": [{ "system": "http://www.ameli.fr/ccam", "code": "TLC" }]
        },
        "unitPrice": { "value": 25.00, "currency": "EUR" },
        "factor": 12
      }]
    }]
  }],
  "signer": [{
    "type": {
      "system": "http://terminology.hl7.org/CodeSystem/contractsignertypecodes",
      "code": "PATNG"
    },
    "party": { "reference": "Patient/marie-durand-887" },
    "signature": [{
      "type": [{
        "system": "urn:iso-astm:E1762-95:2013",
        "code": "1.2.840.10065.1.12.1.7",
        "display": "Consent Signature"
      }],
      "when": "2026-05-19T17:00:00+02:00",
      "who": { "reference": "Patient/marie-durand-887" }
    }]
  }]
}

Common pitfalls

  • Maturity Level 1 — Contract is still Trial Use. National profiles are not all aligned. Test interoperability before prod.
  • No signer — a contract without signers is unenforceable. Always document the signature (with resolved Signature).
  • term.text + structured — always include human-readable text in addition to asset/offer structures. Essential for legal audit.
  • Confusion with Permission — Permission is lighter for dynamic authorizations at access time. Contract is heavy for formal agreements.