HealthWallet is an end user app for self-sovereign health data management.
HealthWallet currently implements the features described in https://github.com/Abdagon/health-ssi-2
- Go to https://web.healthwallet.li and create an account on the hosted wallet
- no need to use a real email and simple password also fine for testing
- Install mobile app
- Either build yourself or contact [email protected]
- Configure mobile app in the settings field
- use default wallet destination (https://wallet.healthwallet.li)
- enter email and password created on hosted wallet
- Create a patient, prescription and issues a VC using the Swagger UI on https://pis.healthwallet.li
- POST /patients
- create a patient, the returned patient id is in the Ids array, the Val where Type is 2)
- POST /patients/{id}/medications
- create a prescription for a patient
- you can find the GTIN for a medication here: https://compendium.ch/
- Note the id of the prescription (it's a UUID)
- POST /vc/issue
- issue a VC for the prescription using the id (UUID) of the prescription)
- copy openid credential offer string
- POST /utils/qrcode
- translate the openid credential offer into a QR code
- Scan the QR code with mobile app and import into wallet
- You can also check the details of the VC in the web wallet
- Go to the pharmacy app (it's a WASM based web app, it works for sure in Chrome)
- Click on request prescription and scan QR code with mobile app
- Select prescription and see the information flow to the pharmacy
Please provide feedback to [email protected]
This is a Kotlin Multiplatform project targeting Android, iOS and Server.
-
/composeApp
is for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:commonMain
is for code that’s common for all targets.- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
iosMain
would be the right folder for such calls.
-
/iosApp
contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform, you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project. -
/server
is for the Ktor server application. -
/shared
is for the code that will be shared between all targets in the project. The most important subfolder iscommonMain
. If preferred, you can add code to the platform-specific folders here too.
Learn more about Kotlin Multiplatform, Compose Multiplatform,
Library | Description |
---|---|
walt.id | SSI/VC implementation with API for wallet, verifier and issuer |
Voyager | Provides Navigation and ViewModel (ScreenModel) for Compose Multiplatform |
Ktor | HTTP Server and Client |
Koin | Pragmatic Kotlin Multiplatform Dependency Injection Framework |
Ktor Swagger UI | Ktor plugin to document routes, generate an OpenApi Specification and serve a Swagger UI |
Kamel Image | Asynchronous media loading library for Compose Multiplatform |
QRKit | Kotlin Multiplatform library for Qr-Scan in your Android or iOS App |