The FDA MyStudies Participant manager
is a web application that provides a no-code user interface for researchers, clinicians and other study coordinators to track and manage the progress of participant enrollment across sites and studies. Study coordinators use the Participant manager
to add participants to studies and view participant enrollment and consent status. Study coordinators also use the Participant manager
to create study sites, and assign sites to studies. The Participant manager
is an Angular web application that uses the Participant manager datastore as the application backend. The Participant manager
uses basic authentication client_id
and client_secret
managed by Hydra
to interact with the Participant manager datastore
.
The Participant manager
provides the following functionality:
- Create and manage study coordinator accounts
- Create and manage study sites
- Assign studies to sites
- Add participants to studies
- View participant enrollment status
- View participant consent forms
- Visualize study and site enrollment
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 ishydra/
→auth-server/
→participant-datastore/
→participant-manager-datastore/
→participant-manager/
→study-datastore/
→response-datastore/
→study-builder/
→Android/
→iOS/
.
To deploy the Participant manager
manually:
- Create a Compute Engine VM instance with your preferred machine type and OS (for example, e2-medium and Debian 10), then reserve a static IP
- Verify that your VM instance has the
Stackdriver Logging API
write access scope (on by default) and that your VM’s service account has theLogs Writer
role (off by default) - Check out the latest code from the FDA MyStudies repository
- Optional. If desired, customize branding by updating images and text
- Replace the landing page image
landing-logo.png
(do not change filename) - Replace the favicon
favicon_pm.png
(do not change filename) - Update user-facing text, for example
termsPageTitle
,termsPageDescription,aboutPageTitle
,aboutPageDescription
andcopyright
inenvironment.prod.ts
- Replace the landing page image
- Deploy the
Participant manager
container to the VM- Update the
environment.prod.ts
file with the values for your deployment (if you change this file you will need to create a new Docker image) - Create the Docker image using
sudo docker build --build-arg BASE_HREF= -t participant-manager-image .
from theparticipant-manager/
directory (you may need to install Docker) - Run the container on the VM using
sudo docker run --detach -p 80:80 --name participant-manager participant-manager-image
- Update the
- Visit
http://<CLOUD_VM_INSTANCE_IP>/
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/
to confirm a200 OK
response) - Depending on how you have configured your domains and security, you may need to add the domain of your
Participant manager
instance to Chrome’s insecure origin allowlist (chrome://flags/#unsafely-treat-insecure-origin-as-secure)
- 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
- Login as the super admin user with the username and password that you created with the
create_superadmin.sh
script that you ran duringParticipant datastore
deployment - Use the
Participant manager
user interface to create additional administrator accounts as needed - You can review application logs in the logging directories you specified, or with
sudo docker logs participant-manager
; audit logs are available in Cloud Logging
Copyright 2020-2021 Google LLC