Mobile Client API

2024-03-28

This section is under construction.

The FDA MyStudies mobile client api provides enrollment services and data storage for mobile phone client applications. Participants, using a mobile application, can request enrollment in a study, withdraw from a study, and optionally, have their data deleted upon un-enrollment.

Topics

  • Web Configuration Portal API: The Web Config Portal services provide access to Gateway, Study and Activities meta data and configurations.
  • WCP - Schemas and Structures: Consolidated schema and structures for the Web Configuration Portal (WCP).
  • User Registration Server API: User/Registration Services provide mechanisms to register users, manage their profiles, settings, preferences, activity and progress in the app.
  • Response Server API: Response services provide ways to enroll participant in a study, submit responses, and fetch responses from the Response Server.

Appendix 1 - Phase 2A Changes Description

KeysDescriptionOptional?EmptyTypeServer
schedulingTypeThe type of scheduling set by admin each activity.
'Regular' OR 'AnchorDate'
NoNoStringWCP
schedulingWill have the scheduling detail of activityNoNoObjectWCP
startTimeRepresent the start time of activity.NoYesStringWCP
endTimeRepresent the end time of activity.NoYesStringWCP
anchorDateWill have the anchor date detail.
This will be present in case 'schedulingType = AnchorDate'
YesNoObjectWCP
sourceTypeChild Node of 'anchorDate'
Represents the anchor date source.
'EnrollmentDate' OR 'ActivityResponse'
EnrollmentDate: Date of user enrollment.
ActivityResponse: Response of date type question.
NoNoStringWCP
sourceActivityIdChild Node of 'anchorDate'
Value of activity ID.
Will be empty if sourceType == EnrollmentDate
NoYesStringWCP
sourceKeyChild Node of 'anchorDate'
Value of question key.
Will be empty if sourceType == EnrollmentDate
NoYesStringWCP
start & endWill have the elapsed days from anchor date (positive value) or days before anchor date (negative value) and timeYesNoObjectWCP
anchorDaysChild Node of 'start' or 'end'
elapsed days from anchor date, positive or negative
NoNoIntegerWCP
timeChild Node of 'start' or 'end'
time of the anchor date.
NoNoStringWCP
anchorRunsWill have the elapsed days from anchor date (positive value) or days before anchor date (negative value) and time
This will be present for frequency == Manual Scheduled
YesNoObjectWCP
startDaysChild Node of 'anchorRuns'
elapsed days from start anchor date, positive or negative
NoNoIntegerWCP
endDaysChild Node of 'anchorRuns'
elapsed days from end anchor date, positive or negative
NoNoIntegerWCP
propertyMetadataThe details of this object are used to get participant properties from response server to calculate start date, enddate and runs for the activity.
This will be present in case 'schedulingType = AnchorDate' and ‘sourceType’=ParticipantProperty
YesNoObjectWCP
addNewRunsThis is used to identify whether to add new runs or update the run if frequency = Manual Scheduled and 'schedulingType = AnchorDate' and ‘sourceType’=ParticipantPropertyYesNoStringWCP
activityStartDateAdded this field to support participant property feature. This is used to save the start date of the activity.YesNoStringRegistration
activityEndDateAdded this field to support participant property feature. This is used to save the end date of the activity.YesNoStringRegistration
anchorDateVersionAdded this field to support participant property feature. This is used to save the anchor date version.YesNoStringRegistration
lastModifiedDateAdded this field to support participant property feature. This is used to save the last modified date of the modified of activityStartDate/activityEndDate.YesNoStringRegistration
anchorDatecreatedDateAdded this field to support participant property feature. This is used to save the anchor date created date.YesNoStringRegistration
customScheduleRunsAdded this field to support participant property feature. This is used to save the runs for manual schedule frequency type activity.YesNoObjectRegistration
allowDataSharingThis is used to share the user's input on sharing their data to third parties.NoNoStringRegistration