Guide
Where each MVP requirement lives and how to try it. Everything runs in this browser with fabricated data; the EHRs are simulated and nothing is sent anywhere.
Demo accounts
Password for all: demo-pass-2026. Practitioners: areyes (Northside and Mercy), swhitfield (Mercy). Patient: rdelgado.
Tip: sign in as the practitioner in one tab and the patient in another. Each tab has its own session and consent changes show up in the other tab straight away.
Five-minute walkthrough
- 1.Sign in as practitioner areyes. Open Find a patient, search Northside for Delgado / Rosa, and click Request access.
- 2.Sign out. Sign in as patient rdelgado. Under Access and consent, approve the request and choose whether Dr. Reyes may keep a copy.
- 3.Sign out. Sign in as areyes again. Find Rosa again and click Load C-CDA into my session.
- 4.Open Session records. Try the example searches, and open the C-CDA XML to see the template ids.
- 5.Sign out. The sign-out page shows what was deleted and what was kept, and confirms nothing was left behind.
The 12 requirements
| # | Requirement | Where | How to try it |
|---|---|---|---|
| 1 | Practitioner account registration (NPI reconciliation, user id) | Register - Practitioner | Enter NPI 1339028460 with the name Rachel Kim. Format, check digit, registry, status and name are each checked before you can pick a user id. |
| 2 | User login (authentication) | Sign in | Passwords are hashed (PBKDF2). A session lasts 30 minutes. Practitioner pages refuse to open without one. |
| 3 | User profile (NPI validation) | My profile | Shows the stored registry check and lets you re-run it. |
| 4 | Patient validation (PII, EHR id, user id) | Register - Patient | Name, date of birth and MRN must all match the EHR's record before an account is linked to it. Try Walter Price, 1949-11-03, Northside, NS-00510274. |
| 5 | Practitioner search (NPI x EHR roster) | Practitioner directory | Search by name or NPI. Each row shows the registry status and the practitioner's entry on every EHR roster. |
| 6 | Practitioner EHR mapping (EHR roster, endpoints) | EHR connections | Each connected EHR with its FHIR, authorization and document endpoints, its roster, and whether you can query it. |
| 7 | Patient authorization (FHIR / HL7 APIs) | Access and consent | The patient approves a request, or grants access directly. Approval creates a FHIR Consent resource; without one, the document calls return 403. |
| 8 | Practitioner C-CDA patient query (by PII) | Find a patient | FHIR Patient search by last name plus first name, date of birth or MRN. Only works at EHRs where you are on the roster. |
| 9 | POST patient C-CDA records to the practitioner session (templates) | Find a patient - Load C-CDA | The C-CDA is fetched, POSTed to the session, checked for the CCD template ids, and parsed section by section using each section's template id. |
| 10 | Practitioner search queries on C-CDA fields | Session records | Pick a section, a field, a condition and a value, e.g. Results / Flag / is exactly / High. |
| 11 | Patient authorization for practitioner records retention | Access and consent | The patient chooses whether the practitioner may keep a copy after their session, and for how long. Revoking deletes any kept copy. |
| 12 | Log out (session termination and data scrub) | Sign out button | Ends the session, deletes every document the patient did not allow to be kept, clears the request log, then checks browser storage for leftovers and reports the result. |
Start over
Removes accounts you registered, every consent and request, any kept records, and signs everyone out in this browser. The demo accounts come back.