Clinical Search Index

Overview

Elasticsearch cluster providing fast, full-text search across patient records, clinical notes, lab results, and medications for provider workflows.

Search Capabilities

  1. Patient Search

    Search by name, MRN, DOB, phone number with fuzzy matching and phonetic algorithms

  2. Clinical Content Search

    Full-text search across clinical notes, diagnoses, procedures, and medications

  3. Lab Results Search

    Search historical lab results by test name, LOINC code, or value ranges

  4. Medication Search

    Find medications by generic/brand name, drug class, or RxNorm code

Technical Details

Specifications:

  • Version: Elasticsearch 8.x
  • Cluster: 5 nodes (3 master-eligible, 5 data nodes)
  • Storage: 1 TB SSD
  • Replication: 2 replicas per index
  • Sharding: Time-based sharding for performance

Performance:

  • Query Latency: P95 < 200ms
  • Indexing Rate: 10,000 docs/sec
  • Concurrent Searches: 500+

Index Mappings

Patients Index

{
"patients": {
"properties": {
"mrn": { "type": "keyword" },
"first_name": { "type": "text" },
"last_name": { "type": "text" },
"dob": { "type": "date" },
"phone": { "type": "keyword" },
"email": { "type": "keyword" }
}
}
}

Clinical Notes Index

{
"clinical_notes": {
"properties": {
"patient_id": { "type": "keyword" },
"note_text": { "type": "text" },
"note_date": { "type": "date" },
"provider_id": { "type": "keyword" },
"diagnoses": { "type": "text" }
}
}
}
⚡ Real-Time Indexing

Documents are indexed within 5 seconds of creation, enabling near-real-time search of clinical data.

Access Patterns

  • EHR Service: Index all patient data changes in real-time
  • Patient Portal Service: Patient search autocomplete
  • Clinical staff: Provider-facing search across all clinical content