WellData Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Primary Use Case
Primary use case overview
The following sequence diagram describes user interactions and backend processes in the Well Data Portal ecosystem. It involves user authentication, application launches, questionnaire handling, and analysis, with interactions between multiple participants and services.
Key Participants and Their Roles
User: The end-user interacting with the system.
Well Data Portal (portal): Provides access and acts as a gateway to various services.
Athumi Approved IdP (idp): Handles Solid OIDC login for authenticating the user.
Selfcare: Core service managing application launches, questionnaire workflows, and interactions with other services.
Bibopp: Participant not elaborated upon extensively in this diagram.
Zipster: Processes FHIR questionnaires and performs analysis.
User POD (pod): Stores and secures user-specific data.
We Are IDP: Authenticates the Selfcare application and facilitates access token generation.
Athumi VC Service (avcs): Manages access requests and grants for retrieving and storing user data from/to the POD.
We Are AMA: Enables the user to review and approve access requests from Selfcare.
Grouped Processes in the Diagram
####### 1. Login
User accesses the Well Data Portal (portal).
Portal redirects the user to IdP for login.
User authenticates with Athumi Approved IdP (idp) using Solid OIDC login.
Authentication results in the portal receiving an access token containing the user's WebID.
####### 2. Launch
The user selects Selfcare from the portal.
Portal redirects the user to Selfcare with an HTI launch, passing the WebID.
Selfcare:
Validates the request.
Authenticates itself with We Are IDP using client credentials.
Initiates an access request via Athumi VC Service (avcs) to access the user’s POD on a specified container.
The user is redirected to We Are AMA, where they:
Authenticate via IdP.
Approve the POD access request.
We Are AMA facilitates creating an access grant via Athumi VC Service (avcs).
Access grant confirmation flows back to Selfcare, and the user is redirected to Selfcare for further interaction.
####### 3. Questionnaire
######## Steps:
The user selects a questionnaire in Selfcare.
Selfcare requests an FHIR questionnaire from Zipster, which sends back the questionnaire.
The questionnaire is displayed to the user by Selfcare.
######## Data Retrieval:
Selfcare may load existing FHIR data from the User POD, based on:
Access grants retrieved from Athumi VC Service (avcs).
Identifiers (e.g., SNOMED concepts) that inform which resources to use.
######## Data Entry:
The user fills out the questionnaire in Selfcare through an iterative process:
Each response is submitted to Selfcare.
Selfcare updates the questionnaire responses in the User POD (under the /questionnaireresponse container).
Responses are confirmed and the next question is rendered.
####### 4. Analysis
Upon questionnaire completion, Selfcare sends the responses to Zipster.
Zipster:
Processes the responses.
Calculates health care services using FHIR and codable concepts.
Results from Zipster flow back to Selfcare, where:
Codable concepts are stored in the User POD.
The user is presented with the advised care services.
Key Notes from the Diagram
HTI Launch: The purpose of passing the WebID via the HTI launch is questioned in the diagram.
FHIR Questionnaires:
Existing FHIR data from the POD could be used in the questionnaire.
There's a focus on how to identify relevant resources (e.g., based on SNOMED identifiers).
Access Management:
All access to POD resources is regulated through access grants managed by Athumi VC Service.
Data Security:
After processing, user data (e.g., Questionnaire Responses, FHIR resources, or codable concepts) is securely stored in the User POD.
This diagram highlights a well-defined flow of authentication, data interoperability, and secure participant interactions. Each process ensures proper user authentication, controlled access to resources, and data privacy.