WellData Implementation Guide
0.1.0 - ci-build
WellData Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
The WellData project facilitates the secure and ethical exchange of well-being data for research purposes through a delegated consent model. This approach balances the needs of research with strong user privacy protections and consent management.
│
│
│
│
Trusts ┌─────────────┐ Qualifies
┌──────────►Trusted Party│─────────────┐
│ └─────────────┘ │
│ │
│ │
┌──────┐ ┌────▼─────┐
│ User │─────► Consent + Data ◄───────│Researcher│
└──────┘ │ └──────────┘
│ │
│ │
┌─────────────┐ ┌──────────┐
│ Application │ │Data Store│
└─────────────┘ └──────────┘
│
Private space │ Anonymous data
│
│
The WellData project leverages the NUTS network as the foundation for trust management between all participants in the research data ecosystem. NUTS is an open-source trust network that facilitates secure data exchange in healthcare while maintaining user privacy and sovereignty.
Each participant in the ecosystem maintains a digital wallet that stores their VCs and manages trust relationships according to the NUTS protocols.
Consent is stored together with the data in a predefined JSON format with the following key components:
{
"consentId": "<unique-consent-id>",
"dataSubject": "<User-DID>",
"trustedParty": "<TTP-DID>",
"creationDate": "<ISO-8601-timestamp>",
"expirationDate": "<ISO-8601-timestamp>",
"consentPreferences": {
"purposeRestrictions": ["medical_research", "public_health", ...],
"dataTypes": ["questionnaire_responses", "activity_data", ...],
"minimumAnonymizationLevel": "k-anonymity-5",
"additionalConditions": [...]
},
"dataLocation": "<data-reference-or-container>",
"revocationStatus": "active"
}
The TTP issues Verifiable Credentials to qualified researchers through the NUTS network containing:
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://nuts.nl/credentials/v1"
],
"type": ["VerifiableCredential", "ResearcherQualification"],
"issuer": "<TTP-DID>",
"issuanceDate": "<ISO-8601-timestamp>",
"expirationDate": "<ISO-8601-timestamp>",
"credentialSubject": {
"id": "<Researcher-DID>",
"qualificationLevel": "<level>",
"allowedPurposes": ["purpose1", "purpose2", ...],
"restrictions": {
"maxQueryFrequency": "<value>",
"dataRetentionPolicy": "<policy>"
},
"evidenceDocuments": ["<reference1>", "<reference2>", ...],
"nutsRegistryEntry": "<registry-identifier>"
}
}
For research data, the applications write data and consent directly to the data store, bypassing the SOLID/POD ecosystem. This creates a separate flow specifically optimized for research data management: