THIS IS A DEMO APPLICATION ONLY
This application is intended solely for demonstration purposes with synthetic patient data. It is NOT meant for any real medical or healthcare related purposes. Do not use with real patient data or in any healthcare setting. The application has not been tested or certified for medical use and may contain errors.
A React Native mobile application built with Expo that serves as a smart health assistant for managing International Patient Summary (IPS) data using the FHIR standard. I supports mapping FHIR resources to W3C Verifiable Credentials in close alignment with the Smart Health Card (SHC) specification allowing for this information to be presented for instance when registering as a new patient at a medical practice.
Webinar at the DIDAS Health Working Group on February 14th 2025:
- Youtube recording: https://www.youtube.com/watch?v=hOM_EMtdAl8
- Presentation: DIDAS_Health_SSI_App_Prototype_20250214.pdf
- Health SSI V2: Umbrella project linking to several Digital Health with Self-Sovereign Identity (SSI) initiatives
- Health SSI Medpractice: Proof of Concept AI-powered reception system for medical practices
- Health SSI PIS Server: Practice Information System (PIS) backend server with API's for SSI and patient/medication mgmt
- HealthWallet Datasets: Synthetic patient data for use in the HealthWallet IPS application
-
International Patient Summary (IPS) Management: View and manage your health data organized by IPS sections by loading the data from a FHIR server
- Required sections: Allergies and Intolerances, Medication Summary, Problem List
- Recommended sections: History of Procedures, Immunizations, Medical Devices, Results
- Not yet implemented:
- Optional sections: Vital Signs, Past History of Illness, Functional Status, Plan of Care, Social History, Pregnancy History, Advance Directives$
- Additional sections: Alerts, Patient Story
-
Mapping of health information (FHIR resources) to Verifiable Credentials: Integration with walt.id wallet infrastructure for secure credential storage and sharing.
-
QR Code Scanner: Supports scanning of a OpenId4VP presenation request for a Smart Health Card and then to select exactly which pieces of health information to share.
-
Web Wallet Integration: Direct access to the web-based wallet functionality of the walt.id infrastructure from within the app.
-
AI Agent: Demo AI agent powered by Elevenlabs conversational agents to support Q&A on the patients health record, such as asking about which allergies, medications or problems a patient has. The server side implementation is in the web directory and requires an Elevenlabs API key to run.
- Framework: React Native with Expo
- Language: TypeScript
- Navigation: Expo Router
- State Management: React Context API
- Secure Storage: Expo Secure Store
- Web Integration: WebView for walt.id web wallet and AI agent
- Healthcare Standards: FHIR, IPS
- Credential Management: walt.id wallet and issuer, verifier API's, Smart Health Cards
- Node.js
- Yarn (as specified in project requirements)
- Expo CLI
-
Clone the repository
git clone https://github.com/deak-ai/healthwallet-ips.git cd healthwallet-ips
-
Install dependencies using Yarn
yarn install
-
Start the development server
yarn dev
For development with Expo tunnel:
yarn dev-tunnel
For Android:
yarn android
For iOS:
yarn ios
The application requires configuration for:
-
Health Connector: For patient data it currently only supports the synthetic patients generated for this project. All available patient samples (1000+) can be found here: https://github.com/deak-ai/healthwallet-datasets/tree/main/fhir-examples/ips-fhir. The id to be configured in the app is the numerical value, for instance for 801941-ips.json, the id is 801941. Some patient samples are also inside the resources folder.
-
Wallet: For credential management via walt.id services, a username and password needs to be created on https://webdev.healthwallet.li and then configured in the.
Attention:
- Once a wallet and patient has been configured, it is important to run the "Health Data Sync" command from the Wallet Settings page. The first time this is run it will create Verifiable Credentials for all health data present. For performance reasons, the Results and Devices sections are currently not enabled (see HealthDataSync.ts)
- Also, before using the QR code scanner to scan a presentation, the Health Data Sync command needs to be run manually. This should be improved in the future.
MIT License
- Oliver Deak (cto@deak.ai)
- Nawress Brigui (Wind Consulting, Tunisia)