PatientContact

A contact person associated with a patient, such as emergency contacts, guardians, next of kin, or legal representatives. Essential for emergency situations, medical decision-making, and care coordination.

Overview

PatientContact links patients to important people in their support network. These contacts serve various roles from emergency notification to legal healthcare decision-making. The entity captures the relationship type, contact details, authorization levels, and notification preferences to ensure appropriate communication in different healthcare scenarios.

Key Concepts

Contact Roles

Each contact can serve multiple roles:

RolePurpose
Emergency ContactFirst to call in medical emergencies
Healthcare ProxyAuthorized to make medical decisions
Next of KinFamily notification and coordination
Legal GuardianLegal authority over patient (minors, incapacitated)
Insurance SubscriberPrimary holder of insurance policy

Contact Authorization

Key authorization flags:

  • isPrimary - Main contact for general communication
  • isEmergencyContact - Should be contacted in emergencies
  • canMakeDecisions - Authorized for medical decisions when patient cannot

Relationship Types

Contacts are categorized via PatientRelationshipType:

Family

  • Spouse, parent, child, sibling

Legal

  • Guardian, power of attorney

Social

  • Friend, emergency contact, neighbor

Professional

  • Employer, caregiver

Notification Preferences

The notificationPreferences array via PatientNotificationType specifies what communications this contact should receive:

  • Clinical updates (lab results, imaging)
  • Administrative notices (appointments, scheduling)
  • Financial information (invoices, insurance)
  • General announcements

Validity Period

Contacts can have time-limited validity:

  • validFrom - When the contact relationship begins
  • validTo - When the relationship expires (e.g., temporary guardian)

Use Cases

Emergency Notification

When patient has emergency:

  1. Retrieve contacts where isEmergencyContact: true
  2. Sort by isPrimary to get primary contact first
  3. Use contact's phone/email from linked Person
  4. Document notification attempts and responses
  5. Proceed to alternate contacts if primary unreachable

Medical Decision-Making

When patient cannot make decisions:

  1. Query contacts where canMakeDecisions: true
  2. Verify contact's authorization is still valid
  3. Check for advance directives naming healthcare proxy
  4. Document decision-maker and their choices
  5. Ensure proper legal documentation on file

Pediatric Care Coordination

For minor patients:

  1. Identify parent/guardian contacts
  2. Verify canMakeDecisions for treatment consent
  3. Set up notification preferences for both parents if applicable
  4. Document custody arrangements in notes
  5. Ensure school/daycare contacts if needed

Insurance Coordination

When patient is dependent:

  1. Identify subscriber contact
  2. Link to PatientCoverage via subscriber
  3. Use subscriberRelationship to document connection
  4. Coordinate billing communications appropriately

Notification Management

When sending communications:

  1. Check contact's notificationPreferences
  2. Only send relevant notification types
  3. Use preferred contact method from Person record
  4. Respect opt-out preferences
  5. Log all communications sent

Related Entities

EntityRelationshipDescription
PatientBelongs toThe patient this contact is associated with
PersonReferencesThe contact person's demographic and contact info
PatientRelationshipTypeReferencesType of relationship to the patient
PatientNotificationTypeReferences manyTypes of notifications this contact should receive
10 properties
Schema

Properties

PropertyTypeModeDescriptionRequired
patientPatient
stored

Patient this contact is associated with

Required
personPerson
stored

The contact person

Required
relationshipTypePatientRelationshipType
stored

Nature of the relationship to the patient

Required
isPrimaryboolean
stored

Whether this is the primary contact for the patient

Example: true

Required
isEmergencyContactboolean
stored

Whether to contact in case of emergency

Example: true

Required
canMakeDecisionsboolean
stored

Whether authorized to make medical decisions on behalf of patient

Optional
notificationPreferencesPatientNotificationType[]
stored

Types of notifications this contact should receive

Optional
validFromDate
stored

Date from which this contact relationship is valid

Optional
validToDate
stored

Date until which this contact relationship is valid

Optional
notesstring
stored

Additional notes about the contact or relationship

Optional

Examples

Example 1

{
  "@type": "PatientContact",
  "patient": {
    "@type": "Patient",
    "givenName": "John",
    "familyName": "Smith"
  },
  "person": {
    "@type": "Person",
    "givenName": "Mary",
    "familyName": "Smith"
  },
  "relationshipType": {
    "@type": "PatientRelationshipType",
    "code": "SPOUSE",
    "label": "Spouse",
    "category": "family"
  },
  "isPrimary": true,
  "isEmergencyContact": true,
  "canMakeDecisions": true,
  "notificationPreferences": [
    {
      "@type": "PatientNotificationType",
      "code": "APPOINTMENT_REMINDER",
      "label": "Appointment Reminder",
      "category": "administrative"
    },
    {
      "@type": "PatientNotificationType",
      "code": "LAB_RESULTS",
      "label": "Lab Results",
      "category": "clinical"
    },
    {
      "@type": "PatientNotificationType",
      "code": "INVOICE",
      "label": "Invoice",
      "category": "financial"
    }
  ]
}

Example 2

{
  "@type": "PatientContact",
  "patient": {
    "@type": "Patient",
    "givenName": "Sarah",
    "familyName": "Johnson"
  },
  "person": {
    "@type": "Person",
    "givenName": "Robert",
    "familyName": "Johnson"
  },
  "relationshipType": {
    "@type": "PatientRelationshipType",
    "code": "PARENT",
    "label": "Parent",
    "category": "family"
  },
  "isPrimary": true,
  "isEmergencyContact": true,
  "canMakeDecisions": true,
  "notes": "Primary guardian with legal custody"
}

Example 3

{
  "@type": "PatientContact",
  "patient": {
    "@type": "Patient",
    "givenName": "Sarah",
    "familyName": "Johnson"
  },
  "person": {
    "@type": "Person",
    "givenName": "Emily",
    "familyName": "Johnson"
  },
  "relationshipType": {
    "@type": "PatientRelationshipType",
    "code": "SIBLING",
    "label": "Sibling",
    "category": "family"
  },
  "isPrimary": false,
  "isEmergencyContact": true,
  "canMakeDecisions": false
}