Skip to content

Configuration

Dan Potter edited this page Sep 6, 2024 · 1 revision

The Clinical Trial Matching App is configured using environment variables as loaded via Next.js. This means that .env contains the default values, and overrides may be set either directly in the environment that the server runs under, or via .env.local files. See the environment variable load order for the order in which Next.js uses the existing environment and .env* files to determine the final environment.

The following variables are used:

Variable Name Description
SEND_LOCATION_DATA If true, passes the patient's ZIP code and travel radius directly to the matching services. Otherwise, results are filtered within the app itself, without passing that data to the matching service.
DEFAULT_ZIP_CODE The ZIP code to use by default (or always, if SEND_LOCATION_DATA is false)
DEFAULT_TRAVEL_DISTANCE The travel distance to use by default (or always, if SEND_LOCATION_DATA is false)
SITE_RUBRIC Which site rubric to use, one of none, site1, or site2
RESULTS_MAX Maximum number of results to display
FHIR_CLIENT_ID FHIR client ID to send. Check the SMART on FHIR settings for the EHR to locate.
FHIR_REDIRECT_URI FHIR redirect URI. Default is to redirect to the development version of the app, which will be wrong in most production instances. Set to the URL of the running clinical matching service application.
FHIR_SCOPE FHIR scope to send with the FHIR authorization request. For the SMART on FHIR sandbox, this is "launch/patient openid fhirUser patient/*.read". For Epic, this should be "launch user/*.* openid fhirUser".
SMART_FHIR_FLAVOR The "flavor" of SMART on FHIR queries to use, currently either epic or sandbox.
MATCHING_SERVICES Comma-separated list of matching services to use (see below)
MATCHING_SERVICES_DEFAULT_ENABLED Comma-separated list of matching services to use by default - these will be initially checked on the search page.

Matching Service Configuration

Each matching service declared in MATCHING_SERVICES has a set of variables that are used to configure that specific matching service. They each begin with MATCHING_SERVICE_<NAME> where <NAME> is the uppercased name defined in MATCHING_SERVICES:

Name Description
MATCHING_SERVICE_<NAME>_LABEL The label for the service as displayed to the user. The checkbox to select this matching service uses this name.
MATCHING_SERVICE_<NAME>_URL The URL where the matching service wrapper is deployed, e.g., http://localhost:3000.
MATCHING_SERVICE_<NAME>_CANCER_TYPES Comma separated list of cancer types the given matching service supports. If a search is made for a cancer type that isn't in this list, the cancer type will be ignored. See cancerTypes.json for supported types (currently in the cancerType field).

For example, the following set of environment variables are used to configure Carebox:

MATCHING_SERVICE_CAREBOX_LABEL = "Carebox"
MATCHING_SERVICE_CAREBOX_URL = "http://localhost/carebox"
MATCHING_SERVICE_CAREBOX_CANCER_TYPES = breast, lung, colon, brain, prostate, multipleMyeloma, bladder
Clone this wiki locally