Skip to content

Healthcare Patient Consent

This page describes an integration pattern for carrying patient consent preferences, emergency contact information, and allergy alerts across healthcare systems using Universal Manifest.

  • Normative contract: Specification and Conformance
  • Non-normative guidance: this page

All healthcare-specific claims, pointer names, and consent keys on this page are explicitly non-normative.

  • A valid Universal Manifest (um:Manifest) with a patient subject identifier
  • Resolver or direct retrieval path to fetch current patient manifests
  • Clinical system capable of displaying allergy alerts and emergency contacts
  • Consent-gated display of allergy and emergency contact information
  • Deterministic handling for expired or consent-denied manifests
  • Audit trail logging by manifest @id for regulatory compliance
  • Enforce TTL and reject expired manifests (stale consent is a safety risk)
  • Check consent keys before displaying any health data (default deny)
  • Ignore unknown fields safely
  • Log manifest ID for audit purposes without storing full payloads
  • Patient intake: A patient walks into a new clinic and shares their UMID. The clinic system reads allergy alerts and emergency contacts — with consent — eliminating paper intake forms.
  • Emergency treatment: An ED physician resolves a patient’s manifest to check for drug allergies and contact next of kin, even when the patient cannot communicate.
  • Insurance verification: A clinic reads the insurance provider pointer to begin claims processing without manual verification.
Shard NamePurposeKey Entity Fields
patientConsentConsent directives and data-sharing preferencesconsentType, scope, grantedTo, effectiveDate
emergencyContactEmergency contact informationcontactName, relationship, phone, priority
allergyAlertsCritical allergy and adverse reaction dataallergen, severity, reaction, onsetDate
  • health.record — patient’s electronic health record (FHIR endpoint or portal URL)
  • health.insuranceProvider — insurance provider portal or coverage document
  • health.primaryCare — primary care provider profile or scheduling endpoint
  • health.shareEmergencyInfo — gates sharing of emergency contact information
  • health.shareAllergies — gates sharing of allergy and adverse reaction data
  • health.shareRecords — gates sharing of full medical record references

Consumers should default to deny for any health data use not explicitly consented to.

  • health.role — patient, guardian, or caregiver
  • health.coverageStatus — active, inactive, or pending
{
"@context": "https://universalmanifest.net/ns/universal-manifest/v0.1/schema.jsonld",
"@id": "urn:uuid:a3f7c912-4e8b-4d1a-9f6e-2b8d5c3a7e01",
"@type": "um:Manifest",
"manifestVersion": "0.1",
"subject": "did:key:z6MkpHealthcarePatientExampleDid",
"issuedAt": "2026-02-26T08:00:00Z",
"expiresAt": "2026-02-27T08:00:00Z",
"shards": [
{
"@type": "um:Shard",
"name": "allergyAlerts",
"entity": {
"@id": "urn:uuid:b1c2d3e4-f5a6-7890-abcd-ef1234567890",
"@type": ["um:Entity"],
"name": "Patient Allergy Record",
"allergies": [
{ "allergen": "Penicillin", "severity": "severe", "reaction": "anaphylaxis" },
{ "allergen": "Sulfa drugs", "severity": "moderate", "reaction": "rash and hives" }
]
}
},
{
"@type": "um:Shard",
"name": "emergencyContact",
"entity": {
"@id": "urn:uuid:c2d3e4f5-a6b7-8901-cdef-234567890abc",
"@type": ["um:Entity"],
"name": "Emergency Contacts",
"contacts": [
{ "contactName": "Maria Santos", "relationship": "spouse", "phone": "+1-555-0142", "priority": 1 }
]
}
}
],
"consents": [
{ "@type": "um:Consent", "name": "health.shareAllergies", "value": "allowed" },
{ "@type": "um:Consent", "name": "health.shareEmergencyInfo", "value": "allowed" },
{ "@type": "um:Consent", "name": "health.shareRecords", "value": "denied" }
],
"pointers": [
{ "name": "health.record", "url": "https://ehr.example-health.net/patients/z6MkpHealthcarePatientExampleDid/fhir/r4" },
{ "name": "health.insuranceProvider", "url": "https://portal.example-insurance.com/members/z6MkpHealthcarePatientExampleDid" }
]
}

See the full fixture and implementation details in the integration source.