Logo Lanfrica

MJephat/EMKF

Domaine:

healthcaredigital infrastructure

Type de record:

software
Créateur:
MJe
Hôte:
Emergency Medicine Kenya Foundation # EMKF :Emergency Medicine Kenya Foundation # Paramedic Triage Intake Application A high-performance, offline-first mobile application built with **React Native (Expo)** and **TypeScript** for emergency medical personnel. The application enables paramedics to capture critical patient triage information even in areas with poor or no internet connectivity. Every submission is stored locally and automatically synchronized with the server when network connectivity is restored. ## Features ### Triage Intake Form - Patient Name - Condition Description - Priority Level (1–5) - Status - Pending - In-Transit ### Validation - Required patient name - Required condition description - Required priority - Required status ### Priority Colour Coding | Priority | Meaning | Colour | |----------|----------|---------| | 1 | Critical | 🔴 Dark Red | | 2 | High | 🟠 Orange | | 3 | Medium | 🟡 Yellow | | 4 | Low | 🟢 Green | | 5 | Stable | 🔵 Blue | --- ## Project Architecture ## Offline-First Architecture The application never depends on immediate network availability. Whenever a paramedic submits a triage record: 1. The record is saved immediately into SQLite. 2. The UI updates instantly. 3. If internet is unavailable: - The record is marked as **Pending Sync**. 4. When connectivity returns: - The Sync Service automatically uploads pending records. 5. Successfully uploaded records are marked as **Synced**. This guarantees that **no patient information is lost**. --- ## Tech Stack - React Native - Expo SDK 54 - TypeScript - React Hook Form - SQLite (expo-sqlite) - Redux - NetInfo - Jest --- ## Application Architecture User │ ▼ TriageScreen │ ▼ React Hook Form │ ▼ TriageRepository │ ▼ SQLite │ ▼ Pending Records │ ▼ Connectivity Hook │ ▼ Sync Service │ ▼ Mock API │ ▼ Mark As Synced │ ▼ Refresh UI ## Data Flow ### Online User submits -> SQLite Save -> Upload -> Synced ### Offline User submits -> SQLite Save -> Pending Sync -> Internet Restored -> Automatic Upload …