An end-to-end Salesforce Health Cloud solution for patient onboarding, clinical document processing, and care team collaboration — built on Apex, LWC, Flow, and OmniStudio, with OCR and FHIR interoperability.
Health Cloud Intient digitizes the patient intake and care-management lifecycle on Salesforce Health Cloud. It replaces manual paperwork and disconnected systems with a guided onboarding wizard, automated clinical document extraction (OCR), real-time interoperability with external EHR systems via FHIR, and a unified dashboard for care teams to track patients through their care journey.
The project demonstrates a full-stack Salesforce implementation: custom data model, metadata-driven UI, declarative automation, OmniStudio guided flows, external system integration, and role-based security — all deployable to a scratch org in minutes.
The system is organized into five layers:
- Presentation — Lightning Web Components deliver the onboarding wizard, document upload, care dashboard, patient timeline, and metadata-driven forms.
- Automation — Flow and OmniStudio (OmniScript + DataRaptor) drive guided data capture and lifecycle transitions declaratively.
- Business Logic — Apex services handle orchestration, OCR requests, FHIR integration, and care management queries.
- Data — Custom objects and Custom Metadata Types model patients, encounters, documents, and care teams.
- External Systems — Named Credentials connect securely to AWS Textract (OCR) and external clinical systems (SMART on FHIR).
- 4-step guided onboarding wizard (
patientOnboardingLWC) backed by an OmniScript for structured, guided data capture - Dynamic, metadata-driven form fields via
FormField__mdt— add or change form fields without touching code - Automated lifecycle tracking via record-triggered Flow
- Drag-and-drop document upload with real-time OCR status polling
- Text extraction powered by AWS Textract, called via a SigV4-authenticated Named Credential
- Extracted data linked directly to patient and encounter records
- Central dashboard for care teams to view patients, tasks, and encounters at a glance
- Full patient timeline showing historical encounters
- Care team assignment and role tracking via
CareTeamMember__c
- SMART on FHIR OAuth2 integration with external clinical/EHR systems
- Configurable integration settings via
IntegrationConfig__mdt— no hardcoded endpoints
- Three purpose-built permission sets —
Admin,CareManager, andPatientPortal— enforcing least-privilege access
| Layer | Technology |
|---|---|
| UI | Lightning Web Components (LWC) |
| Automation | Flow, OmniStudio (OmniScript, DataRaptor) |
| Server-side logic | Apex |
| Data model | Custom Objects, Custom Metadata Types |
| Integrations | AWS Textract (OCR), FHIR / SMART on FHIR (EHR) |
| Auth | Named Credentials (SigV4, OAuth2) |
| Project tooling | Salesforce CLI (sf), SFDX project format |
HealthCloud-Intient/
├── config/
│ └── project-scratch-def.json # Scratch org definition (Health Cloud enabled)
├── force-app/main/default/
│ ├── classes/ # Apex services + test classes
│ │ ├── PatientService.cls
│ │ ├── AWSTextractService.cls
│ │ ├── ClinicalSystemIntegration.cls
│ │ ├── MetadataFormService.cls
│ │ ├── PatientOnboardingController.cls
│ │ └── CareManagementController.cls
│ ├── lwc/ # Lightning Web Components
│ │ ├── patientOnboarding/
│ │ ├── careManagementDashboard/
│ │ ├── clinicalDocumentUpload/
│ │ ├── patientTimeline/
│ │ ├── metadataDrivenForm/
│ │ └── patientSearch/
│ ├── flows/ # PatientOnboardingFlow, PatientLifecycleTracking
│ ├── objects/ # Patient__c, ClinicalDocument__c, PatientEncounter__c, CareTeamMember__c
│ ├── permissionsets/ # Admin, CareManager, PatientPortal
│ └── namedCredentials/ # AWSTextract, ClinicalSystem_FHIR
├── .forceignore
└── sfdx-project.json
- Salesforce CLI (
sf— v2 or later) - A Salesforce Dev Hub-enabled org with Health Cloud provisioned
- VS Code with the Salesforce Extension Pack (recommended)
# 1. Clone the repo
git clone https://github.com/SRIVATSAV009/HealthCloud-Intient.git
cd HealthCloud-Intient
# 2. Authorize your Dev Hub (one-time)
sf org login web --set-default-dev-hub --alias devhub
# 3. Create a scratch org
sf org create scratch --definition-file config/project-scratch-def.json --alias healthcloud-scratch --set-default
# 4. Deploy the source
sf project deploy start
# 5. Assign permission sets
sf org assign permset --name Admin
sf org assign permset --name CareManager
# 6. Open the org
sf org opensf apex run test --code-coverage --result-format humanBefore OCR and FHIR features will work, configure the following Named Credentials in your target org with real endpoint/auth details:
| Named Credential | Purpose | Auth |
|---|---|---|
AWSTextract |
Document OCR text extraction | AWS SigV4 |
ClinicalSystem_FHIR |
External EHR interoperability | SMART on FHIR OAuth2 |
- Add Experience Cloud portal for patient self-service intake
- Expand FHIR integration to bidirectional sync
- Add Einstein-powered risk scoring to the care dashboard
This project is available under the MIT License — see LICENSE for details.
Sai Srivatsav D GitHub