Search projects, hackathons, sponsors and tech

    ← All projects

    CuraLink

    Seamless Records, Safer Care

    Demo

    About

    The problem it solves Why is CuraLink Needed in the World? Millions of people face the same problem: their medical history is locked inside one hospital’s system. If they move, travel, or seek care elsewhere, doctors have no access to critical information. This leads to delayed diagnoses, repeated tests, higher costs, and sometimes dangerous mistakes. Patient-Owned Records With CuraLink, patients truly own their medical data. Records are stored securely off-chain, while blockchain hashes guarantee integrity. You control your history, and it’s safe from tampering. Granular Access Control You decide who sees your information. Share your full history with a trusted doctor, or limit access to specific records. For example, only your allergy list in an emergency. Instant Access Anywhere Healthcare providers can retrieve your records instantly using wallet authentication or a unique access code. No more waiting for paperwork or chasing files across hospitals. Immutable Audit Trail Every access is logged permanently on-chain. Patients can see exactly who viewed their records and when, creating trust and accountability in every interaction. CuraLink turns inaccessible, siloed medical records into a secure, portable system that puts patients in control and improves care worldwide.

    How it's made

    Challenges we ran into Challenges I Ran Into 1. On-Chain vs Off-Chain Data Storage One major decision was whether to store complete medical details on-chain. Full on-chain storage guarantees transparency but poses privacy risks. How I solved it: Started with plain on-chain records for proof-of-concept, but structured the contract so that future iterations can store only hashed references or encrypted URIs pointing to off-chain data. 2. No Access Control on Medical Records Initially, the getMedicalRecords() function allowed anyone with a Health ID to view all past records. While this enabled easy sharing, it risked privacy. How I solved it: Added a plan to integrate a permission layer so only authorized addresses (doctors or emergency personnel) can query sensitive data. 3. Data Linking Between Appointments and Records Ensuring that appointments and medical records stayed connected by healthId was tricky, especially when patients updated details. How I solved it: Created mappings (healthIdToAddress and patients) to keep IDs and blockchain addresses consistently linked.