The platform

Two apps.One loop.

A patient app to find, book, pay and consult, and a practice suite for private doctors. Underneath, every action writes a standard FHIR resource, so the same record can later travel to pharmacies, labs, insurers and the national system.
Pricing and the Dakar pilot

The patient journey

Six steps, from a search on a phone to a reminder for the next visit. Scroll through them: the phone shows what Awa sees at each step.

  1. 1

    Search

    Specialty, neighbourhood, language and the next free slot, from a phone, in French first.

    FHIR · Practitioner · HealthcareService
    9:41
    Quralys

    Find a doctor

    MN
    Dr Moussa NdiayeCardiology · PlateauNext: Tue 14, 10:30
    FS
    Dr Fatou SarrCardiology · MermozNext: Wed 15, 09:00
    IF
    Dr Ibrahima FallCardiology · AlmadiesNext: Thu 16, 14:30
  2. 2

    Book

    The patient picks a slot straight from the doctor’s live agenda, with the doctor’s own availability rules.

    FHIR · Slot → Appointment
    9:41
    Quralys
    MN
    Dr Moussa NdiayeCardiology · Plateau

    Available slots

    Mon13Tue14Wed15Thu16Fri17
    08:3009:0009:3010:0010:3011:0014:0014:3015:00
    Confirm booking
  3. 3

    Pay

    Wave or Orange Money through a local aggregator, confirmed instantly. Paying at booking is designed to cut no-shows.

    FHIR · ChargeItem
    9:41
    Quralys

    Payment

    Consultation · Cardiology15 000 FCFATue 14 Oct · 10:30 · Dr Ndiaye

    Pay with

    WaveOrange MoneyCard
    Pay 15 000 FCFA✓ Paid · receipt sent by SMS
  4. 4

    Consult

    At the clinic or by video in the browser. The doctor console holds notes, history and the patient’s details.

    FHIR · Encounter
    9:41
    Quralys
    Dr Moussa Ndiaye04:12
    In consultation
  5. 5

    Ordonnance

    A pre-filled template the doctor adjusts, signed and delivered to the patient’s phone as a PDF with a QR check.

    FHIR · MedicationRequest
    9:41
    Quralys

    Your prescription

    OrdonnanceFHIR · MedicationRequest

    Dr Moussa Ndiaye · Cardiology

    Awa Diop · 14 Oct 2026

    Amoxicillin 500 mg3× a day · 7 days · ATC J01CA04
    Paracetamol 1 gIf needed · max 3 a day · ATC N02BE01
    Scan to verify
    ✓ Sent to your phone
  6. 6

    Follow up

    Reminders and the next appointment by SMS or WhatsApp.

    FHIR · Communication
    9:41
    Quralys

    QQuralys

    Quralys: reminder, follow-up with Dr Ndiaye on Tue 28 Oct at 10:30. Reply 1 to confirm, 2 to reschedule.

    1

    Confirmed. See you on Tuesday.

    UpcomingFollow-up · Tue 28 Oct, 10:30

The doctor suite

One screen for the whole practice. The agenda patients book into, the history of the patient in front of you, notes, the ordonnance and the video call, without switching tools.

01

A live agenda

Your own availability rules, online booking day and night, no double bookings.

02

Prepaid consultations

Wave or Orange Money at booking, with a receipt by SMS. Designed to cut no-shows.

03

The history on screen

Past visits, diagnoses coded in ICD-11, allergies and prescriptions before the patient sits down.

04

Pre-filled ordonnances

Templates you adjust in seconds, signed, sent to the patient’s phone with a QR check.

05

Video in one click

A private room per appointment, built on Jitsi, with an audio-only fallback for weak networks.

06

Reminders that work

SMS or WhatsApp reminders and the next appointment, without a secretary on the phone.

Video consult

Built on Jitsi

Embedded rooms, signed per appointment, with adaptive quality and an audio-only fallback for weak networks.

A video consult is the same appointment and the same record as a visit at the clinic.

A video consultation between a doctor and a patient, with a digital ordonnance beside it

Under the hood

Standard first, from the first table. The whole stack is TypeScript, so the FHIR R4 type definitions enforce the standard in code. Records are stored in FHIR shape, which means moving to a full FHIR server later is an import, not a rewrite.

TypeScript
Next.js
FHIR R4
Postgres
Jitsi
Vercel
FHIR R4Appointment, as stored
{
  "resourceType": "Appointment",
  "status": "booked",
  "serviceType": [{ "text": "Cardiology consultation" }],
  "start": "2026-10-14T10:30:00Z",
  "end": "2026-10-14T11:00:00Z",
  "participant": [
    { "actor": { "reference": "Patient/awa-diop" },
      "status": "accepted" },
    { "actor": { "reference": "Practitioner/moussa-ndiaye" },
      "status": "accepted" }
  ],
  "slot": [{ "reference": "Slot/2026-10-14-1030" }]
}
Awa’s booking with Dr Ndiaye: the same shape in every FHIR system in the world.

FHIR R4 core

Patient, Practitioner, Organization, Schedule, Slot, Appointment, Encounter, MedicationRequest, Observation. Types are enforced in code, so the standard can’t drift.

DHIS2 gateway

Translates clinical events into the tracker events and aggregate indicators the national DHIS2 expects.

Partner API

SMART on FHIR authorisation with patient consent, so existing apps read and write the same record instead of copying it.

International codes

ICD-11 for diagnoses, LOINC for lab results, ATC for medicines: codes any system understands.

“Nobody should retype a prescription. Write it once, in the international format, and every authorised door can open it.”
— Quralys founding team

Modules around one record

Each module is a separate product with its own users, but all of them read and write the same FHIR record. That is what makes Quralys an ecosystem rather than a bundle of apps.

01Booking

Month 1

Find a doctor, book and prepay

02Practice suite

Month 1

Planning, notes, pre-filled ordonnances

03Video consult

Month 1

Jitsi, tuned for low bandwidth

04Partner API

Months 4–6

SMART on FHIR for existing apps

05National gateway

Months 6–12

A live link to the national DHIS2

06Pharmacy finder

Months 6–12

Which nearby pharmacy has it in stock

07Lab results

Months 6–12

LOINC-coded, to doctor and patient

08Patient record

Year 2

A history that moves between clinics

09West Africa

After Senegal

The same core, country by country

10Insurance

Later

Coverage and claims

11Telepharmacy

Later

Advice and delivery

12Public health analytics

Later

Anonymous, aggregate insight

Architecture

Two stages, one data model. The MVP runs on managed cloud services so the first month goes into product. Once validated, the platform moves to infrastructure inside Senegal, run as code on Kubernetes with GitOps.

Now

  • Vercel: apps, API, preview deploys
  • Managed Postgres, FHIR-shaped
  • Jitsi as a Service
  • Wave and Orange Money

Next

  • Kubernetes in a Senegalese data centre
  • GitLab CI, Argo CD and Helm
  • HAPI FHIR server and Keycloak (SMART on FHIR)
  • Self-hosted Jitsi with TURN servers
  • DHIS2 gateway, observability, in-country backups

Land in Senegal

After validation

Because records are FHIR-shaped from the start, the move from the cloud to Senegal is a migration of resources, not a redesign.

Infrastructure moving from an MVP cloud into a data centre in Senegal

See it workingin your practice.