Document toolboxDocument toolbox

Health Data Documentation

Scenario

Bridge exports participant health data to Synapse. In order to understand the data, we need to associate documentation with Synapse studies data types.

Milestone 1: Model Health Data Documentation, stored in S3, indexed in DynamoDB. Create APIs for create, read, update, and delete functionalities. Links to Jira issues: model, APIs.

Milestone 2: Automatically write documentation to the appropriate Synapse wiki(s)

Milestone 3: Study Manager: Health Data Documentation Page

Design

DynamoDB

We want to create a new class called DynamoHealthDataDocumentation with the following attributes:

  • title (String)

  • parentId (hash key, String)

    • Initially, this will be the same as appId. In the future, for study-scoped documentation, it would be “{appId}:study:{studyId}” and for Assessments it would be “{appId}:assessment:{assessmentId}”.

  • identifier (range key, String)

  • version (Long)

  • s3Key documentation (String)

    • this will be capped at 100 KB of data, as the maximum data size in DynamoDB is 400 KB.

  • createdBy (String)

  • createdOn (DateTime)

  • modifiedOn (DateTime)

  • modifiedBy (String)

API

Method

URL

Description

Permissions

Method

URL

Description

Permissions

POST

/v3/healthdataDocumentation

Create or update a health data documentation

researcher, developer

GET

/v3/healthdataDocumentation/{identifier}

Read a health data documentation with the given identifier

researcher, developer

GET

/v3/healthdataDocumentation

List all health data documentation associated with the given parentId

researcher, developer

DELETE

/v3/healthdataDocumentation/{identifier}

Delete a health data documentation with the given identifier

researcher, developer

DELETE

/v3/healthdataDocumentation

Delete all health data documentation associated with the given parentId

researcher, developer