Skip to content

deak-ai/healthwallet

Repository files navigation

HealthWallet

Introduction

HealthWallet is an end user app for self-sovereign health data management.

Features

Medical prescriptions secured with self-sovereign identity technology

HealthWallet currently implements the features described in https://github.com/Abdagon/health-ssi-2

Testing HealthWallet SSI functionality

  1. 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
  1. Install mobile app
  1. Configure mobile app in the settings field
  1. 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
  1. Scan the QR code with mobile app and import into wallet
  • You can also check the details of the VC in the web wallet
  1. 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]

Technology

Overview

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 is commonMain. If preferred, you can add code to the platform-specific folders here too.

Learn more about Kotlin Multiplatform, Compose Multiplatform,

Third-party dependencies

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages