Document toolboxDocument toolbox

Synapse Export Documentation

Where's My Data?

Exports to Synapse are done nightly at 10am UTC (2am PST / 3am PDT). The data is exported to your configured Synapse project, under the Tables tab.

Common Fields

All data tables include the following fields, plus additional fields specific to the data table:

recordId - Unique identifier for this survey run or activity run.

healthCode - De-identified identifier for the individual represented by this record.

externalId - External ID, a unique ID for each individual, defined and set by the apps and managed outside of Sage. This field is app-specific and may not be filled out in each table.

dataGroups - Comma-separated list of data groups. Can be used for tagging test users or study subpopulations. See Researcher UI for more details.

uploadDate - Calendar date this data was uploaded to Synapse (using Pacific Local Time), in YYYY-MM-DD format. 

createdOn - Time instant when this data was measured, as reported by the app. This is stored in Synapse as milliseconds since the start of the epoch (1970-01-01T00:00:00.000Z), but is displayed in the Synapse Web UI in Pacific Local Time.

appVersion - App version, example: "version 1.0, build 7" (NOTE: This data is ResearchKit-specific and may or may not apply to non-ResearchKit uploads. Additionally, this data is self-reported by the apps.)

phoneInfo - Phone info, example: "iPhone 5s (GSM)" (NOTE: This data is ResearchKit-specific and may or may not apply to non-ResearchKit uploads. Additionally, this data is self-reported by the apps.)

NOTE: appVersion and phoneInfo have a max length of 48 characters. Submitting appVersion or phoneInfo longer than 48 characters will be truncated.

appVersion Table

This table (named appVersion for legacy reasons) is an aggregate of all data collected so far, used for querying study-wide stats. It contains all the common fields as described above, as well as the "originalTable" field, which refers to the table containing the original record.

Status Table

At the end of each Exporter run, the Exporter will write an entry to this table containing today's date. Example: The Exporter runs on 2016-03-08 at 2am. It processes and exports yesterday's data (2016-03-07). It then writes 2016-03-08 to the Status table.

This table can be used to query if the Exporter has finished running for the day and can be used to schedule automated post-processing jobs.