Skip to main content
Version: 3.0.1

Configuration Reference

Document Type: Reference (Tier 3) Status: Draft Last Updated: 2026-01-25


1. Purpose

This document catalogs all configuration options available in the PCR Analysis System. It covers:

  • Client Configurations: Database-stored settings managed per site
  • Environment Variables: Server-level settings defined in .env files
  • Laravel Config Files: Application framework settings

Use this document to:

  • Find configuration key names and their purpose
  • Understand default values and data types
  • Identify which settings are site-level vs system-level
  • Understand configuration precedence

2. Client Configuration Options

Client configurations are stored in the client_configurations database table and can be managed through the UI by Super Users. Each configuration is site-scoped.

2.1 Configuration Types

Type IDType NameDescription
1BOOLEANToggle switch (true/false)
2TEXTFree-form text input
3OPTIONSSingle selection dropdown
4MULTISELECTMultiple selection dropdown

2.2 Configuration Groups

Group NameOrderDescription
Login/User Management Options1Authentication and user access settings
Import/Data Options2Data import and processing settings
Export Options3Data export format and destination settings
Display Options4UI display preferences
Edit/Manage Results Options5Result editing and resolution settings
Westgard Options6QC/Westgard analysis parameters

2.3 Login/User Management Options

Key NameTypeDefaultDescription
require_cognito_groupBOOLEANfalseRequire users to belong to a Cognito group
block_unauthorized_ipBOOLEANfalseBlock access from IP addresses not in whitelist
idle_timeoutTEXT(env)Session idle timeout in minutes

2.4 Import/Data Options

Key NameTypeDefaultDescription
use_sample_typeBOOLEANfalseEnable sample type classification
use_passive_dyeBOOLEANfalseEnable passive dye processing
use_extraction_instrumentsBOOLEANfalseEnable extraction instrument tracking
thermocycler_json_fieldOPTIONS(varies)Thermocycler data source field
well_properties_import_approachOPTIONS(varies)Well property import method
inherit_run_date_if_extraction_date_missingBOOLEANfalseUse run date when extraction date is missing
map_passive_observation_rolesBOOLEANfalseMap passive targets to observation roles
use_fallback_shared_controlsBOOLEANfalseEnable fallback to shared controls
include_passive_targets_in_targets_countBOOLEANfalseInclude passive targets in target counts
allowed_characters_in_accessionsMULTISELECT[]Allowed characters for accession numbers
prevent_file_import_from_browserBOOLEANfalseWhen enabled, prevents users from uploading run files directly via the browser interface

2.5 Export Options

Key NameTypeDefaultDescription
run_result_export_formatOPTIONS(varies)Export format (Quest, Viracor, Nottingham, Sherwood, Chantilly, Merck, Eurofins)
run_result_export_strategyOPTIONS(varies)Export strategy (on-demand, automatic)
require_run_result_export_confirmationBOOLEANfalseRequire confirmation before export
allow_to_re_export_run_resultsBOOLEANfalseAllow re-exporting previously exported results
include_ic_targets_in_run_exportBOOLEANfalseInclude internal control targets in export
include_control_wells_in_lims_exportBOOLEANfalseInclude control wells in LIMS export
lims_export_file_with_timestampBOOLEANfalseAppend timestamp to LIMS export filename
separate_quantitative_csv_resultsBOOLEANfalseExport quantitative results to separate CSV
show_comments_in_outcome_exportBOOLEANfalseInclude well comments in outcome export

2.6 Display Options

Key NameTypeDefaultDescription
show_patient_well_extraction_informationBOOLEANfalseShow extraction info for patient wells
truncate_ct_values_to_two_decimal_places_on_graphsBOOLEANfalseLimit CT decimal places on graphs
decimal_places_of_ctTEXT(varies)Number of decimal places for CT values
show_accession_historyBOOLEANfalseShow accession history link
show_evaluation_warningBOOLEANfalseShow evaluation warning indicators
display_outcomes_as_hyperlinksBOOLEANfalseRender outcomes as clickable links
test_timezoneOPTIONS(varies)Timezone for test dates
default_date_formatOPTIONS(varies)Date display format
default_time_formatOPTIONS(varies)Time display format
count_system_generated_commentsBOOLEANfalseInclude system-generated comments in comment counts

2.7 Edit/Manage Results Options

Key NameTypeDefaultDescription
manage_result_workflowBOOLEANfalseEnable result management workflow
allow_edit_extraction_informationBOOLEANfalseAllow editing extraction information
allow_separate_observation_resolutionBOOLEANfalseAllow observation-level resolution
use_role_type_priority_for_resolutionBOOLEANfalseUse role type priority for resolution
only_fail_associated_positive_wellsBOOLEANfalseOnly fail wells associated with positive controls

2.8 Westgard Options

Key NameTypeDefaultDescription
show_wg_resolved_wells_by_defaultBOOLEANfalseShow resolved wells in Westgard view by default
include_resolved_controls_when_evaluating_westgardBOOLEANfalseInclude resolved controls in Westgard calculations
round_ninth_reporting_groupBOOLEANfalseApply rounding to ninth reporting group
second_priority_of_ordering_wgOPTIONS(varies)Secondary sort priority for Westgard ordering
exclude_higher_ranges_for_sd_comparisonBOOLEANfalseExclude higher ranges from SD comparison

3. Configuration Dependencies

Some configurations have interdependencies that automatically update related settings.

3.1 Dependency Rules

Parent ConfigurationTrigger ValueAffected ConfigurationForced Value
inherit_run_date_if_extraction_date_missingtruesecond_priority_of_ordering_wg'Run created date'
use_extraction_instrumentsfalseinherit_run_date_if_extraction_date_missingtrue
use_extraction_instrumentsfalseallow_edit_extraction_informationfalse
use_extraction_instrumentsfalseshow_patient_well_extraction_informationfalse

Implementation: See code/app/ClientConfigurations/AffectedClientConfigurations.php


4. Environment Variables

Environment variables are defined in .env files and loaded at application startup. They cannot be changed at runtime.

4.1 Application Core

VariableDefaultDescriptionConfig File
APP_NAMEPcr.aiApplication nameapp.php
APP_VERSION1.0.0Application versionapp.php
APP_ORGANIZATIONArcticHareOrganization nameapp.php
APP_ENVproductionEnvironment (local, staging, production)app.php
APP_DEBUGfalseEnable debug modeapp.php
APP_URLhttp://localhostApplication base URLapp.php
APP_KEY(required)Encryption key (32 characters)app.php

4.2 Database

VariableDefaultDescriptionConfig File
DB_CONNECTIONmysqlDatabase driverdatabase.php
DB_HOST127.0.0.1Database hostdatabase.php
DB_PORT3306Database portdatabase.php
DB_DATABASEvaporDatabase namedatabase.php
DB_USERNAMEvaporDatabase usernamedatabase.php
DB_PASSWORD(required)Database passworddatabase.php
DB_AUDIT_CONNECTIONmysql_auditAudit database connectiondatabase.php
DB_AUDIT_HOST127.0.0.1Audit database hostdatabase.php
DB_AUDIT_DATABASEvapor_auditAudit database namedatabase.php

4.3 AWS / S3 Storage

VariableDefaultDescriptionConfig File
FILESYSTEM_DRIVERlocalDefault filesystem driverfilesystems.php
FILESYSTEM_CLOUDs3Cloud filesystem driverfilesystems.php
AWS_ACCESS_KEY_ID(required)AWS access keyfilesystems.php
AWS_SECRET_ACCESS_KEY(required)AWS secret keyfilesystems.php
AWS_DEFAULT_REGIONus-east-1AWS regionfilesystems.php
AWS_BUCKET(required)S3 bucket namefilesystems.php

4.4 AWS Cognito Authentication

VariableDefaultDescriptionConfig File
AWS_COGNITO_CLIENT_ID(required)Cognito client IDaws-cognito.php
AWS_COGNITO_CLIENT_SECRET(required)Cognito client secretaws-cognito.php
AWS_USER_POOL_ID(required)Cognito user pool IDaws-cognito.php
AWS_COGNITO_USER_POOL_DOMAIN_NAME(required)Cognito user pool domainaws-cognito.php
AWS_COGNITO_CALLBACK_URL(required)OAuth callback URLaws-cognito.php
AWS_COGNITO_REGIONus-east-1Cognito regionaws-cognito.php

4.5 Session and Security

VariableDefaultDescriptionConfig File
SESSION_DRIVERfileSession storage driversession.php
SESSION_LIFETIME120Session lifetime (minutes)session.php
SESSION_SECURE_COOKIEtrueHTTPS-only cookiessession.php
SESSION_DOMAINnullCookie domainsession.php

4.6 Queue and Jobs

VariableDefaultDescriptionConfig File
QUEUE_CONNECTIONsyncQueue driverqueue.php
SQS_PREFIX(required for SQS)SQS queue URL prefixqueue.php
SQS_QUEUE(required for SQS)SQS queue namequeue.php

4.7 Mail

VariableDefaultDescriptionConfig File
MAIL_MAILERsendgridMail drivermail.php
MAIL_FROM_ADDRESShello@ivd.aiDefault from addressmail.php
MAIL_FROM_NAMEPcr.aiDefault from namemail.php
SENDGRID_API_KEY(required for SendGrid)SendGrid API keyservices.php

4.8 External Services

VariableDefaultDescriptionConfig File
PARSER_URL(required)Run file parser service URLparser.php
PARSER_VERSION(varies)Parser API versionparser.php
PARSER_API_KEY(required)Parser API authentication keyparser.php
SENTRY_DSN(optional)Sentry error tracking DSNsentry.php
SENTRY_ENVIRONMENT(optional)Sentry environment namesentry.php

4.9 IP Restrictions

VariableDefaultDescriptionConfig File
BLOCK_UNAUTHORIZED_IPfalseEnable IP whitelist enforcementip.php
IP_WHITELIST*Comma-separated allowed IPsip.php

4.10 Rate Limiting

VariableDefaultDescriptionConfig File
RATE_LIMIT_MAX_ATTEMPTS5Maximum login attemptsrate_limit.php

4.11 Analyzer

VariableDefaultDescriptionConfig File
ANALYZER_MAX_EXECUTION_TIME90Analyzer timeout (seconds)analyzer.php

5. Deployment Environment Variables

This section documents environment variables specific to Vapor deployments, including security classifications and platform constraints.

5.1 Security Classifications

LevelDescriptionExamples
StandardNon-sensitive configAPP_NAME, APP_ENV
RestrictedCredentials, moderate sensitivityPUSHER_APP_KEY, DB_HOST
Highly RestrictedSecrets requiring secure storageAPI keys, passwords

5.2 Vapor Constraints

ResourceLimitNotes
Environment variable value2000 charsUse secrets for longer values
Secret value4096 charsAWS Parameter Store limit
DeploymentImmutableChanges require redeployment

5.3 Authentication Variables

VariableSecurityPurpose
PREVENT_NATIVE_LOGINStandardDisable native auth when SAML required
AWS_CLIENT_COGNITO_CLIENT_IDRestrictedClient-specific Cognito app ID
AWS_CLIENT_COGNITO_CLIENT_SECRETHighly RestrictedClient-specific Cognito secret
AWS_SUPER_ADMIN_ACCESS_KEY_IDHighly RestrictedSuper admin AWS access
AWS_SUPER_ADMIN_SECRET_ACCESS_KEYHighly RestrictedSuper admin AWS secret
AWS_SUPER_ADMIN_DEFAULT_REGIONStandardAWS region for super admin

5.4 External Service Variables

VariableSecurityPurpose
DXAI_CALIBRATOR_API_URLStandardDXAI calibration service endpoint
DXAI_CALIBRATOR_API_KEYHighly RestrictedDXAI API authentication
DXAI_CALIBRATOR_API_VERSIONStandardDXAI API version (default: 1)

5.5 Monitoring Variables

VariableSecurityDefaultPurpose
VUE_APP_SENTRY_REPLAY_SESSION_SAMPLE_RATEStandard0.1Session replay sampling
VUE_APP_SENTRY_REPLAY_ON_ERROR_SAMPLE_RATEStandard1.0Error replay sampling

5.6 Security Variables

VariableSecurityPurpose
CORS_ALLOWED_ORIGINSStandardWhitelist of allowed CORS origins

6. Site-Level vs Client-Level Settings

The system distinguishes between two scopes of configuration.

6.1 Scope Definitions

ScopeStorageManaged ByExample
Site-Levelclient_configurations table with site_idSuper User via UIExport format, display options
System-Level.env fileSystem AdministratorDatabase credentials, AWS keys

6.2 Site-Level Settings

All client configurations in Section 2 are site-scoped. When multi-site mode is enabled:

  • Each site has its own copy of all client configurations
  • Changes to one site do not affect other sites
  • New sites inherit default values

6.3 System-Level Settings

Environment variables apply to the entire application instance:

  • Shared across all sites
  • Require application restart to take effect
  • Managed through deployment configuration

7. Configuration Precedence

When multiple configuration sources exist, the following precedence applies:

7.1 Precedence Order (Highest to Lowest)

  1. Environment Variables - Override all other sources
  2. Client Configuration (Site-Specific) - Database-stored per site
  3. Default Values - Hardcoded in migrations or config files

7.2 Feature Toggle Precedence

Feature toggles (managed separately from client configurations):

  1. Site-level feature toggle in features table
  2. Default value in feature seeder

DocumentPurpose
SRS: Client ConfigurationRequirements for configuration management
SRS: Site ManagementSite-level configuration requirements
SDS: Cross-Cutting ConcernsConfiguration loading patterns
SDS: Security ArchitectureAuthentication configuration
Database ReferenceSchema for client_configurations table

9. Code References

ComponentLocationPurpose
ClientConfiguration Modelcode/app/ClientConfiguration.phpORM model with type casting
AffectedClientConfigurationscode/app/ClientConfigurations/AffectedClientConfigurations.phpDependency rules
Config Filescode/config/*.phpLaravel configuration loaders