EHR & EDC Integrations
Connecting ConsentCollect to Clinical Health Records & Study Databases
Integrating electronic consent forms with clinical workflows and clinical trial databases is crucial to avoid manual data entry errors, protect audit trail integrity, and speed up study enrollments.
ConsentCollect features a premium, self-serve “Bring Your Own API” (BYO-API) integrations suite. Instead of requiring you to pay expensive integration licensing fees, ConsentCollect allows clinical teams on any paid plan (Lite, Pro, Elite) to directly hook up their workspace with their institutional Electronic Health Record (EHR) systems or Electronic Data Capture (EDC) registries using their own developer credentials.
The Security Architecture (Zero-Leakage BYO-API)
To maintain strict HIPAA and FDA 21 CFR Part 11 alignment, all outbound integrations adhere to these core security paradigms:
- AES-256-GCM Vault Encryption: Your sensitive credentials (such as API tokens, private keys, and client secrets) are encrypted server-side using standard AES-256-GCM before database storage. The encryption keys are derived from a master secret stored in isolated environment variables. Plaintext credentials are never written to disk or logged, and are only decrypted in temporary memory-isolated serverless actions during token refresh or API push operations.
- Asymmetric Key Handshake (SMART on FHIR): For Epic and Cerner integrations, you never have to share or input hospital passwords. Instead, authentication relies on asymmetric RSA-2048 keypairs. You generate a keypair inside ConsentCollect, register our public key set (JWKS) on your hospital portal, and our background worker signs outbound token requests using your private key. Epic/Cerner validates these requests using the public JWKS URL.
- Deep PHI Masking: Outbound logging systems automatically scrub patient names, birthdates, phone numbers, and addresses. Only a sanitized payload summary is stored to prevent Protected Health Information (PHI) leakage in error dumps.
- HMAC-Signed Webhooks: Outbound webhooks are cryptographically signed using a shared signing secret (HMAC-SHA256). The signature is sent in the
X-ConsentCollect-Signatureheader, allowing your receiving server to verify the authenticity and integrity of the request.
1. Epic on FHIR (EHR / Hospital System)
Epic Systems supports system-to-system write-backs using OAuth 2.0 Client Credentials Grant with asymmetric JSON Web Token (JWT) Client Assertions.
Registration & Configuration:
- Log in to the Epic on FHIR Developer Console.
- Click Create an App and fill in the basics:
- Application Name:
ConsentCollect - Application Audience:
Backend Systems - Use Case:
General
- Application Name:
- Under Incoming APIs, select:
Patient.Search (Demographics) (R4)Patient.Read (Demographics) (R4)DocumentReference.Create (R4)
- For the Non-Production & Production JWK Set URL, enter your workspace JWKS public key endpoint (found in the ConsentCollect settings hub):
https://[your-domain]/api/integrations/jwks/[workspace-id] - Generate the app to obtain your Epic Client ID.
- Paste the Client ID, FHIR Base URL, and Token Endpoint URL into ConsentCollect, click Generate RSA Key Pair to export the JWKS key set, and save.
2. Oracle Cerner (EHR / Hospital System)
Oracle Cerner Millennium utilizes similar SMART on FHIR backend service standards to write signed PDFs directly to patient charts.
Registration & Configuration:
- Log in to the Cerner Code Developer Portal (
code.cerner.com). - Register a new System Account app.
- Request access to write standard
DocumentReferenceand readPatientdemographics. - Input your ConsentCollect JWKS URL into the Cerner console to share the public key.
- Save the configuration, retrieve your Cerner Client ID, and input it alongside Cerner’s FHIR base URL in ConsentCollect integrations settings.
3. REDCap API (EDC / Clinical Trial)
REDCap (Research Electronic Data Capture) is the most widely used academic database for clinical trials. ConsentCollect interfaces directly with REDCap using project-specific API tokens.
Setup Steps:
- Open your target REDCap project database.
- Click API under the applications menu on the left sidebar.
- Request an API Import/Export Token from your institutional REDCap administrator.
- Once granted, copy the API Token.
- In ConsentCollect, select the REDCap API card, paste your API token, enter your REDCap API base URL (e.g.
https://redcap.institution.edu/api/), and click save.
Supported Mapping Variables
When configuring custom field mappings, you can match the following local ConsentCollect variables to your target database fields:
signerName: The full printed name of the signatory (e.g.,Jane Doe).signerRole: The role of the signer (e.g.,subject,guardian,witness,investigator).subjectEmailHash: The secure SHA-256 hash of the participant’s email.signatureTimestamp: The ISO 8601 timestamp when the signature was completed.comprehensionScore: The percentage score achieved on the teach-back quiz (0-100).comprehensionPassed: Boolean value (true/false) indicating if the comprehension quiz was passed.documentId: The unique clinical ID of the signed consent document.templateId: The unique ID of the parent consent template.pdfUrl: The secure, encrypted download URL of the signed eConsent PDF file.
4. Veeva Vault (EDC / Clinical Trial)
Veeva Vault Clinical Suite (including Vault eTMF and Vault CDMS) uses standard OAuth 2.0 REST API authentication to route clinical trial documentation.
Setup Steps:
- Log in to your Veeva Vault developer console.
- Register a client application to retrieve a Veeva Client ID and Client Secret.
- Input your Veeva server endpoint URL (e.g.
https://myclinicaltrial-vault.veevavault.com/api/) and client credentials in ConsentCollect. - When a participant signs an informed consent form, the background worker automatically logs in to your Vault and writes the signed PDF document directly into the participant’s trial dossier.
5. Medidata Rave (EDC / Clinical Trial)
Medidata Rave Web Services (RWS) allows routing eConsent records via basic authorization or secure MAuth HMAC request signing.
Setup Steps:
- Input your Rave Web Services endpoint base URL.
- Input the Rave clinical study name and project environment ID.
- Provide your Rave investigator credentials or MAuth keys.
- The integration matches participant demographics and writes the signed status directly into the active Rave database folder.
6. Custom Webhooks (Generic System Sync)
For custom EMRs, research portals, or private health registries, Custom Webhooks provide a powerful generic HTTPS POST interface.
Details:
- Exponential Backoff: If your server drops, ConsentCollect automatically retries the push with exponential backoff delays up to 5 times.
- Custom Header Mapping: Add authorization tokens, custom user-agent headers, or origin validation secrets.
- JSON Structure: Pushes a standardized payload containing the workspace name, template ID, signing status, cryptographic SHA-256 seals, and a secure download link for the completed PDF document.
Fuzzy Demographic Matching
In many hospital databases, a patient’s EHR record might not exactly match their signed eConsent name due to common nicknames (e.g., “Bill” instead of “William”).
If a SMART on FHIR patient lookup returns multiple partial demographic matches, ConsentCollect places the job in a Fuzzy Match Pending status and alerts clinical coordinators.
Coordinators can view the candidates list side-by-side with the signed document, manually select the correct Patient ID, and click Link Patient to safely route the PDF to the correct chart.