Skip to content

Latest commit

 

History

History

study-builder

Overview

The FDA MyStudies Study builder is a web application that provides a no-code user interface for researchers, clinicians and other study administrators to create and launch studies. As study administrators make changes to their studies using the Study builder, those changes are propagated to the participant mobile applications without need for code changes or app updates. The Study builder configures the content of your organization’s studies - it does not process participant data. The Study builder is a Java application built on the Spring framework. The backend database is a MySQL database, which is shared with the Study datastore. The Study datastore serves the study content and configuration to the study’s mobile applications, which study participants use to interact with the study. The Study builder application uses built-in authentication and authorization.

The Study builder provides the following functionality:

  1. Study administrator registration, login and logout
  2. Creation and configuration of new studies (including eligibility, eConsent, activities and schedule)
  3. Assignment of studies to mobile applications
  4. Editing content and configuration of existing studies
  5. Starting, pausing and ending studies
  6. Sending notifications to study participants

Example screens: Example screens

Deployment

NOTE: Holistic deployment of the FDA MyStudies platform with Terraform and infrastructure-as-code is the recommended approach to deploying this component. A step-by-step guide to semi-automated deployment can be found in the deployment/ directory. The following instructions are provided in case manual deployment in a VM is required. Google Cloud infrastructure is indicated, but equivalent alternative infrastructure can be used as well. It is important for the deploying organization to consider the identity and access control choices made when configuring the selected services. If pursuing a manual deployment, a convenient sequence is hydra/auth-server/participant-datastore/participant-manager-datastore/participant-manager/study-datastore/response-datastore/study-builder/Android/iOS/.

To deploy the Study builder manually:

  1. Create a Compute Engine VM instance with a static IP and read/write access scopes for Cloud Storage (make sure your VM’s GCE service account has the Storage Object Admin role for the bucket you created during Study datastore deployment)
  2. Verify that your VM instance has the Stackdriver Logging API write access scope (on by default) and that your VM’s service account has the Logs Writer role (off by default)
  3. Check out the latest code from the FDA MyStudies repository
  4. Optional. Customize branding by updating text and images
  5. Deploy the Study builder container to the VM
    • Create the Docker image using sudo mvn -B package -Pprod com.google.cloud.tools:jib-maven-plugin:2.5.2:dockerBuild -f fdahpStudyDesigner/pom.xml -Dimage=study-builder-image (you may need to install Docker and Maven, for example sudo apt install maven)
    • Update the Docker environment file variables.env with values to configure the application.properties file for your deployment
    • Run the container on the VM using sudo docker run --detach --env-file variables.env -p 80:8080 --name study-builder study-builder-image
    • If your Auth server instance is a using self-signed certificate, add that certificate to your container’s keystore, for example with sudo docker exec -it study-builder bash -c "openssl s_client -connect <your_auth_server_instance:port> | sed -ne '/-BEGIN CERTIFICATE/,/END CERTIFICATE/p' > auth-server.crt; keytool -import -trustcacerts -alias auth-server -file auth-server.crt -keystore /usr/local/openjdk-11/lib/security/cacerts -storepass changeit", then restart the container with sudo docker restart study-builder
  6. Visit http://<CLOUD_VM_INSTANCE_IP>/studybuilder in your browser to test if the application is running - you should be redirected to the login page if deployed successfully
    • If access to your VM is restricted to IPs within its VPC network, you can make a remote desktop connection to a machine within your VPC (alternatively use curl -i http://0.0.0.0/studybuilder to confirm a 302 redirect response)
  7. Login as the super admin user with the username and password that you created with the create_superadmin.sh script
  8. Use the Study builder user interface to create additional administrator accounts as needed
  9. You can review application logs in the logging directories you specified, or with sudo docker logs study-builder; audit logs are available in Cloud Logging

NOTE: You will need to publish at least one study with an App ID to enable the mobile applications to create participant accounts. If you published a study before completing deployment of the other platform services, you may need to pause and then resume that study for its settings to propagate across the platform.


Copyright 2020 Google LLC