Inspiration
At 9:41 a.m., Doña Carmen’s blood test result is ready. She is still waiting to hear what happens next. Her daughter Lourdes is in the United States calling for an update.
Doña Carmen is 72 and lives with diabetes and high blood pressure. She arrived at the Emergency Room with fever and a cough. She is fictional, but her story captures the uncertainty we wanted to address: information can exist in a hospital’s system while the patient and family remain unsure of what is happening.
Puerto Rico’s health information exchange, PRHIE, provides a foundation for sharing medical information. Our inspiration was what that information could mean in a patient’s everyday experience: understanding the next step, knowing what is still pending, and choosing which loved ones can help.
We built PRPP to make health information understandable and useful to patients and the people they trust.
What it does
Puerto Rico Patient Portal (PRPP) is a patient-facing prototype designed to bring information from connected healthcare sources into one understandable place.
For the hackathon, we focused on one demanding scenario: an Emergency Room visit.
The demonstration lets patients follow the visit step by step, understand waiting states, and view results with plain-Spanish explanations. It clearly indicates when a clinician may not have reviewed a result yet.
Patients can manage family access by person and category, including visit status, medications, care instructions, and results. One account can support multiple roles: Lourdes can view her own health information while also helping care for her mother.
The broader vision is continuity across visits, providers, and stages of care.
How we built it
We built PRPP as a mobile-first portal using React Native, Expo, and react-native-web, with an architecture designed around FHIR R4 and Medplum.
The public demonstration runs in a browser, requires no installation, and uses synthetic data. It contains no real patient information.
The interface keeps three things separate and visible: the signed-in account, the patient being viewed, and the viewer’s role. Permissions are checked independently for each information category. Switching patients or roles clears the previous context immediately.
A shared frontend-backend contract and a mock mode allowed both sides to advance in parallel while preserving consistent expectations for data and permissions.
The hackathon demo demonstrates the patient and caregiver workflows. Connecting those workflows to live hospital or PRHIE data is a future integration step.
Challenges we ran into
Our hardest challenge was protecting privacy across the entire experience. Hiding a medical record is insufficient if a title, notification, count, or summary still reveals something about it. We had to apply permission rules consistently to those details.
Another challenge was distinguishing between states that can look identical: no records, missing information, lack of permission, an expired session, and a technical failure. Each requires a different explanation and next step.
We also needed judges to open the synthetic demonstration immediately, while keeping the distinction between simulated behavior and backend integration clear.
Accomplishments that we're proud of
As a team of two, we built a Spanish-first, mobile-first portal and a standards-based architecture in under 40 hours.
We are especially proud of:
- A public browser demo that requires no account or installation.
- Distinct patient and caregiver experiences within a shared account model.
- Category-by-category family permissions.
- Clear Spanish explanations for clinical information and waiting states.
- Automated tests covering the dashboard and permission-sensitive behavior.
- An architecture designed to expand beyond the Emergency Room.
What we learned
A clear contract is not bureaucracy. Our shared API contract and mock mode allowed the frontend and backend to advance in parallel.
Privacy decisions belong in the design process from the beginning. Some of our hardest questions concerned what a screen might reveal indirectly.
FHIR gave us a common language for healthcare data. Turning that data into a useful patient experience still required clear wording, meaningful context, and carefully defined permissions.
AI coding agents helped us accelerate development when we gave them focused responsibilities, explicit instructions, automated checks, and human review.
What's next for Puerto Rico Patient Portal — PRPP
Our next goal is a pilot with a Puerto Rico hospital, connecting through the healthcare standards its systems support and validating the experience with patients, caregivers, and clinical staff.
From the Emergency Room, we plan to expand into ongoing
Built With
- amazon-ec2
- amazon-web-services
- hermes-agent
- medplum
- openclaw
- react
- react-native
- vercel
Log in or sign up for Devpost to join the conversation.