Healthcare

Patient Medical Record JSON Example

A JSON example for a patient medical record — includes demographics, contact info, allergies, active medications, diagnoses, and insurance. Designed for health information systems and EHR APIs.

{
  "patientId": "pt_7GvNqKmXr4",
  "mrn": "MRN-20251104-0042",
  "demographics": {
    "firstName": "Ravi",
    "lastName": "Mehta",
    "dateOfBirth": "1996-08-14",
    "gender": "male",
    "bloodGroup": "B+",
    "nationality": "IN"
  },
  "contact": {
    "phone": "+91-98765-43210",
    "email": "ravi.mehta@example.com",
    "address": {
      "street": "42, Shyamal Cross Road",
      "city": "Ahmedabad",
      "state": "GJ",
      "postalCode": "380015",
      "country": "IN"
    },
    "emergencyContact": {
      "name": "Priya Mehta",
      "relationship": "spouse",
      "phone": "+91-98765-00001"
    }
  },
  "allergies": [
    {
      "substance": "Penicillin",
      "reaction": "Anaphylaxis",
      "severity": "high",
      "recordedAt": "2018-03-10"
    }
  ],
  "activeMedications": [
    {
      "name": "Metformin",
      "dosage": "500mg",
      "frequency": "twice-daily",
      "route": "oral",
      "prescribedBy": "Dr. Shah",
      "startDate": "2024-01-15"
    }
  ],
  "diagnoses": [
    {
      "code": "E11.9",
      "system": "ICD-10",
      "description": "Type 2 diabetes mellitus without complications",
      "status": "active",
      "diagnosedAt": "2024-01-12"
    }
  ],
  "insurance": {
    "provider": "Star Health Insurance",
    "policyNumber": "SHI-2024-00123456",
    "groupNumber": "GRP-TECH-001",
    "validUntil": "2026-03-31"
  },
  "lastUpdated": "2025-06-01T08:00:00Z",
  "recordVersion": 3
}

Field Reference

patientIdstringrequiredSystem-generated unique patient identifier (not the MRN)
mrnstringrequiredMedical Record Number — facility-assigned identifier, may differ across facilities
demographics.dateOfBirthstringrequiredISO 8601 date (YYYY-MM-DD) — never store age as a number (it changes every year)
allergiesarrayoptionalKnown allergies with substance, reaction, and severity — critical for medication safety
activeMedicationsarrayoptionalCurrent medications with dosage, frequency, and prescribing provider
diagnosesarrayoptionalActive and historical diagnoses with ICD codes for billing and clinical decision support
recordVersionnumberrequiredOptimistic concurrency version — increment on every write to detect stale updates

Variants

Minimal RegistrationMinimal fields required for patient registration at check-in.
Minimal Registration
{
  "patientId": "pt_NewAdmit001",
  "mrn": "MRN-20260101-0101",
  "demographics": {
    "firstName": "Anita",
    "lastName": "Patel",
    "dateOfBirth": "1985-11-22",
    "gender": "female",
    "bloodGroup": "O+"
  },
  "contact": {
    "phone": "+91-98765-11111"
  },
  "allergies": [],
  "activeMedications": [],
  "diagnoses": [],
  "lastUpdated": "2026-01-01T09:00:00Z",
  "recordVersion": 1
}

Common Use Cases

  • Storing and retrieving patient demographics in a Hospital Information System (HIS)
  • Exchanging health data via HL7 FHIR REST API (Patient resource)
  • Pre-populating prescription forms with patient allergies and current medications
healthcareehrpatientfhirmedical

Validate or format this JSON

Paste the example above into JSONKit's tools to validate, minify, or explore the structure interactively.

Frequently Asked Questions

This is a simplified example for learning purposes. HL7 FHIR (Fast Healthcare Interoperability Resources) has a specific JSON representation with resourceType, id, meta, and typed elements. For a production EHR integration, use the FHIR Patient resource schema at hl7.org/fhir/patient.html.

Transmit over TLS 1.2+ only. Encrypt sensitive fields at rest (especially SSN, date of birth, medical record details). Implement RBAC so only authorized roles see certain fields. Audit every access to PHI. In many countries this is legally required (HIPAA in the US, DISHA in India).

Always store date of birth — never age. Age must be recomputed on every read and varies by timezone. Storing age as a number leads to perpetually stale data. Calculate the display age client-side from dateOfBirth and the current date.

Related JSON Examples