The contact center as a 'relationship hub'
Cost Center > Profit Center
The future of clinical contact centers powered by AWS that provides:
- True Omnichannel Experience: Seamless conversation continuity across voice, SMS, and rich messaging
- GenAI-Powered Self-Service: Intelligent appointment scheduling with context awareness
- Patient 360 View: Operational, real-time patient insights for bots, agents, and workflows
- Proactive Care: Automated follow-ups, reminders, and outreach campaigns
- Frictionless Onboarding: Easy insurance/ID capture with AI-powered document processing
- Simple Payments: One-click copayment processing
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CloudWest MedCX Architecture β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ ββββββββββββββββββββββββββββ
β β iPhone β β SMS β β Voice β β Social Media ββ
β β Messages β β (Pinpoint) β β (Connect) β β (Outreach) ββ
β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ βββββββββββββ¬βββββββββββββββ
β β β β β β
β ββββββββββββββββββΌβββββββββββββββββΌβββββββββββββββββββββββ β
β βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Unified Channel Router (Lambda) β β
β β β’ Channel Detection β’ Session Management β’ Identity Resolution β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β ββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββ β
β βΌ βΌ βΌ β
β βββββββββββββββ βββββββββββββββββββββββ βββββββββββββββ β
β β Amazon Lex βββββββββββΊβ Amazon Bedrock β β Amazon β β
β β Bots β β (Claude/Titan) β β Connect β β
β ββββββββ¬βββββββ βββββββββββββββββββββββ ββββββββ¬βββββββ β
β β β β
β βββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Patient 360 Service β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β β
β β β Identity β βConversation β βAppointments β β Care β β β
β β β Manager β β Thread β β Calendar β β Plans β β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββΌββββββββββββββββββββββββββββ β
β βΌ βΌ βΌ β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β DynamoDB β β EventBridgeβ β S3 β β
β β (Patient β β (Workflows)β β (Documents)β β
β β Data) β β β β β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Integration Layer β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β β
β β β Google β β Stripe β β Textract β β Pinpoint β β β
β β β Calendar β β Payments β β (OCR) β β Campaigns β β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- VPC and networking
- DynamoDB tables (Patient, Conversations, Appointments)
- S3 buckets for documents
- Core IAM roles and policies
- Secrets Manager for API keys
- Patient identity resolution service
- Unified patient profile management
- Cross-channel identity linking
- Patient data APIs
- Amazon Connect instance and contact flows
- Amazon Pinpoint for SMS/MMS
- Apple Messages for Business integration
- Unified conversation threading
- Channel handoff capabilities
- Amazon Lex bots with Bedrock integration
- Context-aware conversation management
- Google Calendar integration
- Interactive messaging (Time Picker, List Picker)
- Appointment confirmation workflows
- Insurance card/ID upload via MMS
- Amazon Textract for document extraction
- Patient verification workflow
- Stripe payment integration
- Payment reminders and receipts
- React-based agent dashboard
- Real-time patient context
- Conversation history across channels
- Care plan management
- Embedded in Amazon Connect Agent Workspace
- Amazon Pinpoint campaigns
- Targeted outbound calling
- Social media integration
- Patient reactivation campaigns
- Appointment reminder automation
Patient calls β Bot offers SMS for available times β Patient receives clickable time slots
β Patient selects via tap β Confirmation sent β Conversation can continue on any channel
- Phone number-based identity resolution
- Email as secondary identifier
- Conversation context preserved across channels
- Agents see full history regardless of channel
- Message Suggest when tapping business number
- Rich interactive messages:
- Time Picker: Select appointment slots
- List Picker: Choose services, providers
- Rich Links: View care instructions, payment links
- Quick Replies: Yes/No confirmations
- Natural language appointment booking
- Context-aware follow-up conversations
- Care instruction clarification
- Intelligent FAQ handling
- Sentiment analysis and escalation
| Component | AWS Service | Purpose |
|---|---|---|
| Contact Center | Amazon Connect | Voice, chat, task routing |
| Messaging | Amazon Pinpoint | SMS, push notifications |
| Rich Messaging | Apple Messages for Business | Interactive iPhone experience |
| AI/ML | Amazon Bedrock (Claude) | GenAI conversations |
| Chatbot | Amazon Lex | Intent recognition |
| Database | Amazon DynamoDB | Patient 360 data |
| Documents | Amazon S3 + Textract | Insurance/ID processing |
| Workflows | AWS Step Functions | Complex business processes |
| Events | Amazon EventBridge | Event-driven automation |
| APIs | Amazon API Gateway | External integrations |
| Compute | AWS Lambda | Serverless business logic |
| Payments | Stripe (via Lambda) | Copayment processing |
| Calendar | Google Calendar API | Appointment scheduling |
| IaC | AWS CDK (TypeScript) | Infrastructure deployment |
- AWS CLI configured with appropriate credentials
- Node.js 18+ and npm
- AWS CDK CLI (
npm install -g aws-cdk) - Docker (for Lambda bundling)
# Install dependencies
npm install
# Deploy Phase 1 (Foundation)
cdk deploy MedCX-Phase1-Foundation
# Deploy Phase 2 (Patient 360)
cdk deploy MedCX-Phase2-Patient360
# Continue with subsequent phases...Copy .env.example to .env and configure:
# AWS Configuration
AWS_REGION=us-east-1
AWS_ACCOUNT_ID=your-account-id
# Google Calendar
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
# Stripe
STRIPE_SECRET_KEY=your-stripe-key
# Apple Messages for Business
APPLE_BUSINESS_ID=your-business-idCloudWest-MedCX/
βββ infrastructure/ # CDK Infrastructure
β βββ bin/ # CDK app entry point
β βββ lib/ # Stack definitions
β β βββ phase1-foundation/
β β βββ phase2-patient360/
β β βββ phase3-omnichannel/
β β βββ phase4-genai/
β β βββ phase5-documents-payments/
β β βββ phase6-dashboard/
β β βββ phase7-marketing/
β βββ constructs/ # Reusable constructs
βββ lambdas/ # Lambda function code
β βββ patient-service/
β βββ conversation-manager/
β βββ appointment-scheduler/
β βββ document-processor/
β βββ payment-handler/
β βββ outreach-engine/
βββ lex-bots/ # Lex bot definitions
βββ connect-flows/ # Connect contact flows
βββ dashboard/ # Patient 360 React app
βββ docs/ # Additional documentation
Proprietary - CloudWest Medical
Contact: support@cloudwestmedical.com