Web Configuration Portal API

2024-03-28

This topic is under construction.

WCP Services

The Web Config Portal services provide access to Gateway, Study and Activities meta data and configurations.

Learn about Phase 2A Changes to this API in this topic: Mobile Client API.

Headers for WCP Services

Request header for all WCP requests:

HeaderParamsValues
AuthorizationBasic bundleid:apptoken
applicationIdAppId(String)
orgIdOrgId(String)

Response header for all WCP requests:

HeaderParamsValues
statushttp status code
StatusMessagestring

GetGatewayAppResourcesInfo

Service to get Gateway info and Gateway resources data.

Request:

MethodURL
GET/gatewayInfo

Response:

ParamsValues
messagestring
info
[
{
"image":string, link
"title":string,
"text":string,
"videoLink":string
}
]
resources
[
{
"resourceId":string,
"title":string,
"type":string, html/pdf
"content":string text/pdf link
}
]

GetStudyList

Service to get all the configured studies from the WCP.

Request:

MethodURL
GET/studyList

Response:

ParamsValues
messagestring
studies
[
{
"studyId":string,
"studyVersion": string,
"title":string,
"category":string,
"sponsorName":string,
"tagline":string,
"status":string, active/upcoming/closed
"logo":string, link
"settings": {
"enrolling":bool,
"platform":string, ios/android/all
"rejoin":bool
}
}
]

GetStudyBasicInfo

Service to get all the configured studies from the WCP.

Request:

MethodURL
GET/study

ParamsValues
studyIdstring

Response:

ParamsValues
messagestring
studies
[
{
"studyId":string,
"studyVersion": string,
"title":string,
"category":string,
"sponsorName":string,
"tagline":string,
"status":string, active/upcoming/closed
"logo":string, link
"settings": {
"enrolling":bool,
"platform":string, ios/android/all
"rejoin":bool
}
}
]

GetEligibilityConsentMetadata

Get eligibility and consent info for the provided study identifier.

Request:

MethodURL
GET/eligibilityConsent

ParamsValues
studyIdstring
languagestring

Response:

ParamsValues
messagestring
eligibility
{
"type":string, token/test/combined
"tokenTitle":string,
"test": [
<refer to "WCP - Schema and Structures" for step structures>
],
"correctAnswers": [
{
"key":string,
"answer":bool
}
]
}

Step Structures can be found in the topic: WCP - Schemas and Structures
consent
{
"version":string,
"visualScreens": [
{
"type":string,
"title":string,
"text":string,
"description":string,
"html":string,
"url":string,
"visualStep":bool
}
],
"comprehension": {
"passScore":Integer,
"questions": [
{
<refer to "WCP - Schema and Structures" for step structures>
}
],
"correctAnswers": [
{
"key":string,
"answer":[string],
"evaluation":string any/all
}
]
},
"sharing": {
"title":string,
"text":string,
"shortDesc":string,
"longDesc":string,
"learnMore":string,
"allowWithoutSharing":bool
},
"review": {
"reasonForConsent":string,
"reviewHTML":string,
"consentByLAR":string,
"additionalSignature":string,
"signatures":string array
}
}

Step Structures can be found in the topic: WCP - Schemas and Structures

GetConsentDocument Get consent document by passing the consent version or the activity id and activity version for the provided studyId.

Request:

MethodURL
GET/consentDocument

ParamsValues
studyIdstring
consentVersionstring
activityIdstring
activityVersionstring
languagestring

Response:

ParamsValues
messagestring
consent
{
"version": string,
"type":string, text/html
"content": string
}

GetResourcesForStudy

Get resources metadata for the provided study identifier.

Request:

MethodURL
GET/resources

ParamsValues
studyIdstring
languagestring

Response:

ParamsValues
messagestring
resources
[
{
"title":string,
"type":string, html/pdf
"resourcesId":string,
"content":string, text/pdf link
"audience":string, all/limited
"availability":{
"availableDate":string, availability start date
"expiryDate":string, availability end date
"startDays":integer, elapsed days from anchor date (positive value) or
days before anchor date (negative value)
"endDays":integer, elapsed days from anchor date (positive value) or
days before anchor date (negative value)
"availabilityType": string, Regular/AnchorDate
"sourceType": string, EnrollmentDate/ActivityResponse/ParticipantProperty
"propertyMetadata": {
"propertyType": string, PreEnrollment / PostEnrollment,
"propertyId": string,
"propertyDataFormat": string,
"shouldRefresh": bool, true/false
"dataSource": string, ExternalSystem / Other
"status": string, active / deactivated
"externalPropertyId": string,
"dateOfEntryId": string
},
"sourceActivityId":string,
"sourceKey":string,
"sourceFormKey": string,
"startTime": string, HH:mm:ss
"endTime": string HH:mm:ss
}
}
]

GetStudyInfo

Get study metadata for the provided study identifier.

Request:

MethodURL
GET/studyInfo

ParamsValues
studyIdstring
languagestring

Response:

ParamsValues
messagestring
studyWebsitestring link
info
[
{
"type": string, video
"image":string, link
"title":string,
"text":string,
"videoLink":string
}
]
anchorDate
{
"type": string, enrollment-date/date-question
"questionInfo": {
"activityId":string,
"activityVersion": string,
"key": string question key
}
}
withdrawalConfig
{
"type":string, delete_data/ask_user/no_action
"message":string
}

GetStudyActivityList

Get all the activities in the provided study identifier.

Request:

MethodURL
GET/activityList

ParamsValues
studyIdstring
authorizationstring
languagestring

Response:

ParamsValues
messagestring
activities
[
{
"activityId":string,
"activityVersion":string,
"title":string,
"type":string, task/questionnaire
"startTime": string,
"endTime": string,
"branching":bool,
"lastModified":string,
"state": string,
"taskSubType":string, towerOfHonoi/spatialSpanMemory/fetelKick
"schedulingType": string, Regular/AnchorDate
"anchorDate": {
"sourceType": string, EnrollmentDate/ActivityResponse/ParticipantProperty
"sourceActivityId": string, activityId
"sourceKey": string, question Key
"sourceFormKey": string,
"propertyMetadata": {
"propertyId":string,
"propertyType": string, PreEnrollment / PostEnrollment
"propertyDataFormat": string,
"shouldRefresh": bool, //true/false
"dataSource": string, ExternalSystem / Other
"status": string, active / deactivated,
"externalPropertyId": string,
"dateOfEntryId": string
},
"start": {
"anchorDays": integer,
"time": string HH:mm:ss
},
"end": {
"anchorDays": integer,
"repeatInterval": integer,
"time": string HH:mm:ss
}
}
"frequency":
{
"type":string,
"addNewRuns": bool,
"runs": Array of runs for within a day and manual type
[
{
"startTime":string,
"endTime":string
}
]
}
"anchorRuns": [{
"startDays": integer,
"endDays": integer,
"time": string HH:mm:ss
}]
}
]

GetStudyActivityMetadata

Get the activity metadata for provided study and activity identifier.

Request:

MethodURL
GET/activity

ParamsValues
studyIdstring
activityIdstring
activityVersionstring

Response:

ParamsValues
messagestring
activity
{
"type": string, task/questionnaire
"metadata":
{
"studyId":string,
"activityId":string,
"version":string,
"name":string,
"lastModified":string,
"startDate":string,
"endDate":string
}
"steps": [
{
<refer to "link" href="/FDAMyStudiesHelp/wiki-page.view?name=wcpSchemas">Schema and Structure for step structures>
}
]
}

GetStudyDashboardInfo

Get dashboard metadata for the provided study identifier.

Request:

MethodURL
GET/studyDashboard

ParamsValues
studyIdstring

Response:

ParamsValues
messagestring
dashboard
{
"statistics":[
{
"title":string,
"displayName":string,
"statType":string,
"unit":string,
"calculation":string,
"dataSource":
{
"type":string, questionnaire/active task
"key":string, step key
"activity": {
"activityId": string,
"version": string
}
}
}
],
"charts":[
{
"title":string,
"displayName":string,
"type":string,
"scrollable": bool,
"configuration": {
"subType": string,
"settings": [
{
"barColor": string
}
]
},
"dataSource":
{
"type":string, questionnaire/active task
"key":string, step key
"activity": {
"activityId": string,
"version": string
}
"timeRangeType":string, days_of_week/days_of_month/weeks_of_month/months_of_year/runs
"startTime":string,
"endTime":string
}
}
]
}

GetTermsPolicy

Get terms and policy for the provided study identifier.

Request:

MethodURL
GET/termsPolicy

Response:

ParamsValues
messagestring
termsstring
privacystring

GetNotifications

Fetch available notifications.

Request:

MethodURL
GET/notifications

ParamsValues
skipinteger; skip these number of notifications

Response:

ParamsValues
messagestring
notifications
[
"notificationId":string,
"type":string,
"subtype":string,
"studyId":string,
"audience":string,
"title":string,
"message":string,
"date":string
]

GetAppUpdates

Check for app updates

Request:

MethodURL
GET/versionInfo

Response:

ParamsValues
android
{
"latestVersion": string,
"forceUpdate": string
}
ios
{
"latestVersion": string,
"forceUpdate": string
}

GetStudyUpdates

Check for study updates

Request:

MethodURL
GET/studyUpdates

ParamsValues
studyIdstring;
studyVersionstring; current study version in app

Response:

ParamsValues
messagestring
updates
{
"consent":bool,
"activities": bool,
"resources": bool,
"info": bool,
"status": string
}
currentVersionstring; current study version

GetParticipantProperties

Get list of ParticipantProperties for the study

Request:

MethodURL
GET/participantProperties

ParamsValues
studyIdstring;
studyVersionstring; current study version in app

Response:

ParamsValues
messagestring
metadata
{
"studyId":string,
"studyVersion": string
}
participantProperties
[
{
"propertyId": string,
"propertyName": string,
"propertyType": string,
"propertyDataType": string,
"shouldRefresh": bool,
"dataSource": string,
"status": string,
"version": string
}
]

Related Topics