🇮🇪 EIIS 2026 Now Open – Tax Relief up to 50%Learn More →

Technical Architecture

openEHR & HL7 FHIRClinical Data Architecture

Vård's database schema, clinical data models, and system archetypes are built from the ground up using openEHR principles—ensuring semantic interoperability with hospital EHRs and national health records through HL7 FHIR APIs.

openEHR Foundation Logo

Vård Interoperability Architecture

A three-layer architecture ensuring semantic accuracy, data integrity, and clean integration with Ireland's NSCR.

User ExperienceInterface LayerData SemanticsClinical ModelsTransportIntegration APIsKarePilot Clinical UIPractice Management • Scheduling • Consultant Billing • Patient EngagementVård Clinical Data LayeropenEHR-Aligned ArchitectureObservationsVital Signs, LabsClinical NotesConsultations, ReportsMedicationsPrescriptions, HistoryHL7 FHIR APIsHospital EHRs • NSCR • Laboratory Systems • Imaging SystemsStandards-Based Integration • Semantic Interoperability

User Experience Layer

Modern, intuitive interface for consultants and staff

Data Semantics Layer

openEHR-aligned archetypes for consistent clinical data

Transport Layer

HL7 FHIR APIs for standards-based integration

What is openEHR?

openEHR is an open, vendor-neutral standard for storing and exchanging structured clinical data.

It is not an app, not a messaging protocol, and not a database product. It is a clinical data model and architecture designed so that health data:

Is stored once

Is structured consistently

Remains usable for decades

Can be safely shared across systems

Global openEHR Adoption

openEHR is the foundation for national and regional electronic health records worldwide, chosen by governments for its vendor-neutral architecture, semantic interoperability, and ability to support longitudinal, lifelong patient data. From Slovenia's nationwide system covering 98% of its population (2.1M people, 250M+ records) to the UK's "One London" project serving 10 million residents, openEHR enables future-proof health data infrastructures that separate clinical knowledge from application software.

In Ireland, the National Shared Care Record (NSCR) uses openEHR internally for clinical data modeling, with access and integration increasingly FHIR-based. Similarly, Norway has 80% of hospitals using openEHR via suppliers like DIPS, Brazil has adopted it as the national standard to unify public health data, Spain's Catalan Health Service covers 8M residents, and Greece is implementing a national shared care record for 10M+ citizens and 130+ hospitals. The Nordic countries (Finland's "UNA" project), Australia (ADHA's AI-enabled records), Germany (HiGHmed consortium), and emerging projects in the Netherlands, Portugal, South Africa, and South America demonstrate openEHR's global momentum as the standard for interoperable, research-ready healthcare data.

Vendor-Neutral
No lock-in, standard data format
Longitudinal Records
Lifelong patient health histories
AI-Ready
Structured, semantic data for research
openEHR Two-Level Modeling ApproachClinical Level: Templates & ArchetypesDomain experts define clinical concepts once, use everywhereBlood PressureOBSERVATION.blood_pressureClinical NoteCOMPOSITION.encounterMedication OrderINSTRUCTION.medicationSeparation of ConcernsTechnical Level: Reference Model (RM)Stable, generic information structures - never changesCOMPOSITIONDocument container(e.g., Consultation)OBSERVATIONMeasured data(e.g., Vital signs)INSTRUCTIONOrders & plans(e.g., Prescriptions)ACTIONPerformed tasks(e.g., Administered)Common Data TypesDV_QUANTITY • DV_TEXT • DV_CODED_TEXT • DV_DATE_TIME • DV_DURATION✓ Archetypes constrain the Reference Model✓ Clinical meaning + Technical stability

Separation of Concerns

openEHR's architectural approach ensures clinical meaning and technical implementation evolve independently.

Reference Model (RM)

Technical backbone: data types, versioning, audit trails

Archetypes

Clinical definitions: blood pressure, diagnosis, medication order

Templates

Context-specific combinations: 'Outpatient Cardiology Note'

Why This Matters

Clinicians define

what data means

Developers define

how it is stored and accessed

Systems can evolve

without breaking historical data

openEHR + HL7 FHIRComplementary, Not Competing

KarePilot uses both standards strategically for optimal interoperability.

openEHR

Source of Truth

Canonical clinical data model — how data is stored long-term

  • Preserves semantic meaning indefinitely
  • Vendor-neutral and future-proof
  • Used by Ireland's NSCR

HL7 FHIR

Transport Layer

Transport & interoperability — how data moves between systems

  • Modern RESTful APIs
  • Industry-standard integration protocol
  • Expected by hospital IT teams

KarePilot Template Definition

{
  "template_id": "KarePilot.Consultation.v1",
  "concept": "Consultant Outpatient Record",
  "definition": {
    "rm_type": "COMPOSITION",
    "archetype_id": "openEHR-EHR-COMPOSITION.encounter",
    "items": [
      {
        "rm_type": "OBSERVATION",
        "archetype_id": "openEHR-EHR-OBSERVATION.blood_pressure",
        "path": "/content[at0001]",
        "min": 0,
        "max": 1
      },
      {
        "rm_type": "OBSERVATION", 
        "archetype_id": "openEHR-EHR-OBSERVATION.body_weight",
        "path": "/content[at0002]"
      },
      {
        "rm_type": "EVALUATION",
        "archetype_id": "openEHR-EHR-EVALUATION.clinical_synopsis",
        "path": "/content[at0003]"
      }
    ]
  }
}

Templates compose multiple archetypes into clinical workflows specific to KarePilot use cases, ensuring consistent data capture.

KarePilot openEHR ↔ FHIR Mapping

// KarePilot transforms openEHR to FHIR for external systems
async function exportToNSCR(consultation) {
  const openEHRData = await karePilot.getConsultation(
    consultation.id, 
    format: 'openEHR'
  );
  
  const fhirBundle = karePilot.openEHR.toFHIR({
    composition: openEHRData,
    target: 'NSCR',
    mappings: {
      'OBSERVATION.blood_pressure': 'Observation',
      'INSTRUCTION.medication': 'MedicationRequest',
      'EVALUATION.problem_diagnosis': 'Condition'
    }
  });
  
  return await nscr.upload(fhirBundle);
}

Dual-standard architecture: KarePilot stores data in openEHR format internally, then transforms to HL7 FHIR for NSCR integration.

HL7 FHIR Integration

Standards-Based Data Exchange

Vård's FHIR APIs enable seamless interoperability with hospital systems, NSCR, laboratories, and imaging services—transforming openEHR data into industry-standard resources for real-time clinical collaboration.

Patient

Observation

MedicationRequest

Condition

Encounter

Appointment

FHIR Patient Resource

{
  "resourceType": "Patient",
  "id": "karepilot-patient-12345",
  "identifier": [{
    "system": "urn:oid:2.16.372.1000.1.2",
    "value": "1234567890"
  }],
  "name": [{
    "use": "official",
    "family": "Murphy",
    "given": ["Sarah", "Jane"]
  }],
  "gender": "female",
  "birthDate": "1985-03-14",
  "address": [{
    "use": "home",
    "line": ["12 Main Street"],
    "city": "Dublin",
    "postalCode": "D02 XY45",
    "country": "IE"
  }]
}

Vård: Patient demographics synced to NSCR

FHIR Observation Resource

{
  "resourceType": "Observation",
  "id": "karepilot-obs-bp-789",
  "status": "final",
  "category": [{
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/observation-category",
      "code": "vital-signs"
    }]
  }],
  "code": {
    "coding": [{
      "system": "http://loinc.org",
      "code": "85354-9",
      "display": "Blood pressure panel"
    }]
  },
  "subject": {
    "reference": "Patient/karepilot-patient-12345"
  },
  "effectiveDateTime": "2026-01-23T14:30:00Z",
  "component": [{
    "code": {
      "coding": [{"system": "http://loinc.org", "code": "8480-6"}]
    },
    "valueQuantity": {"value": 120, "unit": "mmHg"}
  }]
}

Vård: Vital signs from openEHR archetypes

FHIR MedicationRequest Resource

{
  "resourceType": "MedicationRequest",
  "id": "karepilot-rx-456",
  "status": "active",
  "intent": "order",
  "medicationCodeableConcept": {
    "coding": [{
      "system": "http://www.whocc.no/atc",
      "code": "N02BE01",
      "display": "Paracetamol"
    }]
  },
  "subject": {
    "reference": "Patient/karepilot-patient-12345"
  },
  "authoredOn": "2026-01-23T15:00:00Z",
  "dosageInstruction": [{
    "text": "Take 500mg every 6 hours as needed",
    "timing": {
      "repeat": {"frequency": 1, "period": 6, "periodUnit": "h"}
    },
    "doseAndRate": [{
      "doseQuantity": {"value": 500, "unit": "mg"}
    }]
  }]
}

Vård: Prescriptions mapped from openEHR INSTRUCTION archetypes

How Vård Maps Data

Internal Storage: Clinical data stored using openEHR archetypes (e.g., OBSERVATION.blood_pressure) for long-term semantic integrity.

External Integration: Real-time transformation to HL7 FHIR resources (e.g., Observation, Patient, MedicationRequest) when syncing with NSCR, hospital EHRs, and third-party systems.

Result: Clinicians work in a modern interface, data remains vendor-neutral internally, and external systems receive standards-compliant FHIR payloads.

AI & Analytics Ready

Long-Term AI Advantage

openEHR's structured, semantic data model provides the foundation for advanced AI and analytics.

Longitudinal Records

Complete patient histories over decades

Clean Data

Queryable clinical data without re-mapping chaos

AI Training

Models trained on consistent semantics

Outcomes Tracking

Population-level insights without re-engineering

Ready to Build on a Future-Proof Foundation?

Learn how KarePilot's openEHR-aligned architecture and FHIR APIs can integrate seamlessly with your existing systems.