Faisal Journals
🟑 KANGAROO HEALTH

Architecture & Tech Stack

Cloud infrastructure, connected care platform, device integrations, dan tech stack analysis untuk KangarooHealth.

πŸ—οΈ Architecture & Tech Stack

Platform Overview

KangarooHealth adalah device-agnostic connected care platform yang menghubungkan pasien dengan provider melalui berbagaiFDA-approved monitoring devices. Platform ini dirancang untuk zero-disruption rollout di klinik dan rumah sakit.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    KANGAROOHEALTH PLATFORM                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚   PATIENTS   β”‚    β”‚  CARE TEAM   β”‚    β”‚  PROVIDERS   β”‚   β”‚
β”‚  β”‚  (Mobile/    β”‚    β”‚  (Dashboard) β”‚    β”‚  (EMR/EHR)  β”‚   β”‚
β”‚  β”‚   Cellular)  β”‚    β”‚             β”‚    β”‚             β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚         β”‚                   β”‚                   β”‚             β”‚
β”‚         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β”‚
β”‚                             β–Ό                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚              CLOUD INFRASTRUCTURE                        β”‚  β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”‚
β”‚  β”‚  β”‚   API   β”‚  β”‚  DATA    β”‚  β”‚  HIPAA   β”‚  β”‚  BILLING β”‚  β”‚  β”‚
β”‚  β”‚  β”‚ GATEWAY β”‚  β”‚ PIPELINE β”‚  β”‚ COMPLY   β”‚  β”‚ ENGINE  β”‚  β”‚  β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                             β”‚                                   β”‚
β”‚         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”             β”‚
β”‚         β–Ό                   β–Ό                   β–Ό             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚   100+       β”‚    β”‚  CELLULAR    β”‚    β”‚   EMR/EHR    β”‚   β”‚
β”‚  β”‚   FDA DEVICESβ”‚    β”‚  GATEWAY     β”‚    β”‚   INTEGRATIONβ”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Device Integration Layer

Device-Agnostic Architecture

KangarooHealth support 100+ FDA-approved devices dari berbagai manufacturers. Ini memerlukan:

LayerFunctionTech Implications
Device Protocol AbstractionNormalize data formatsBluetooth LE, WiFi, Cellular protocols
Data StandardizationHL7/FHIR conversionHealthcare data standards
Real-time StreamingContinuous data ingestionWebSocket, MQTT, HTTP long-polling
Device ManagementProvisioning, firmware updatesOTA update infrastructure

Supported Device Categories

CategoryExamplesData Type
Blood PressureWithings, QardioArmSystolic/Diastolic, HR
Glucose MonitoringDexcom, FreeStyle LibreCGM readings, trends
Weight ScaleWithings, Nokia Body+Weight, BMI, body composition
Pulse OximetryMasimo, NoninSpO2, PR
ECG/EKGAliveCor, Apple WatchSingle/multi-lead ECG
ThermometerKinsa, WithingsContinuous temperature
RespiratoryPropeller HealthInhaler usage, PEFR

Cloud Infrastructure

Likely Architecture (Inferred)

Tech Stack Analysis

Berdasarkan healthcare tech industry standards dan LinkedIn job postings, KangarooHealth kemungkinan menggunakan:

  • Cloud: AWS (HIPAA-eligible services) atau Azure Healthcare
  • Compute: ECS/EKS, Lambda untuk serverless functions
  • Database: RDS PostgreSQL (PHI storage), DynamoDB untuk device telemetry
  • Real-time: API Gateway + WebSocket untuk live data
  • Queue: SQS/SNS untuk async processing
  • CDN: CloudFront untuk static assets

HIPAA-Compliant Infrastructure Requirements

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               HIPAA COMPLIANCE LAYER                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  πŸ” ENCRYPTION AT REST                                       β”‚
β”‚     β€’ AES-256 encrypted storage                              β”‚
β”‚     β€’ AWS KMS or Azure Key Vault                            β”‚
β”‚     β€’ Encrypted EBS volumes, S3 bucket encryption           β”‚
β”‚                                                              β”‚
β”‚  πŸ” ENCRYPTION IN TRANSIT                                   β”‚
β”‚     β€’ TLS 1.2+ for all connections                         β”‚
β”‚     β€’ Certificate management                                β”‚
β”‚     β€’ mTLS for service-to-service                          β”‚
β”‚                                                              β”‚
β”‚  πŸ” ACCESS CONTROL                                          β”‚
β”‚     β€’ RBAC (Role-Based Access Control)                     β”‚
β”‚     β€’ MFA for admin access                                 β”‚
β”‚     β€’ Audit logging (CloudTrail, Azure Monitor)            β”‚
β”‚     β€’ PHI access logging                                    β”‚
β”‚                                                              β”‚
β”‚  πŸ” DATA BACKUP & RECOVERY                                  β”‚
β”‚     β€’ Multi-region replication                              β”‚
β”‚     β€’ Automated backups                                     β”‚
β”‚     β€’ < 1 hour RTO for critical systems                     β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data Pipeline Architecture

Ingestion Flow

DEVICE β†’ GATEWAY β†’ NORMALIZATION β†’ PROCESSING β†’ STORAGE β†’ DASHBOARD
   β”‚           β”‚            β”‚            β”‚          β”‚           β”‚
   β–Ό           β–Ό            β–Ό            β–Ό          β–Ό           β–Ό
Bluetooth    Cellular    HL7/FHIR    Real-time   PostgreSQL  Web
/USB       /WiFi       Transform    Stream      + S3       Dashboard

Key Data Processing Components

ComponentFunctionTech Stack (Likely)
Device GatewayProtocol translationNode.js/Go service
Normalization EngineHL7/FHIR conversionPython/Java
Stream ProcessorReal-time alertsKafka/Kinesis
Analytics PipelineTrend analysisSpark/Dask
Storage LayerPHI + telemetryPostgreSQL + S3

API & Integration Architecture

External Integrations

IntegrationProtocolPurpose
EMR/EHR SystemsHL7 v2, FHIR R4Bidirectional data sync
Billing SystemsAPIClaims submission, reimbursement
Telehealth PlatformWebRTC, SIPVideo consultations
PharmacyNCPDP SCRIPTE-prescribing

API Design (Inferred)

// Likely API structure based on healthcare standards
interface DeviceReading {
  deviceId: string;
  patientId: string;
  timestamp: ISO8601;
  type: 'blood_pressure' | 'glucose' | 'weight' | ...;
  value: Record<string, number>;
  metadata: {
    deviceMake: string;
    firmwareVersion: string;
    signalStrength?: number;
  };
}

interface PatientAlert {
  alertId: string;
  patientId: string;
  severity: 'info' | 'warning' | 'critical';
  trigger: string;
  timestamp: ISO8601;
  acknowledgedBy?: string;
}

QA Automation Architecture

Testing Challenges for Device-Agnostic Platform

QA Complexity

Device-agnostic platform dengan 100+ devices creates unique QA challenges:

  1. Device Fragmentation β€” 100+ device combinations
  2. Protocol Diversity β€” Bluetooth LE, WiFi, Cellular, USB
  3. Data Standardization β€” Each deviceε―θƒ½ζœ‰ different data formats
  4. Real-time Processing β€” Stream processing validation
  5. HIPAA Compliance β€” PHI data handling in tests
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              QA AUTOMATION FRAMEWORK                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚                 PLAYWRIGHT (E2E)                     β”‚   β”‚
β”‚  β”‚  β€’ Web dashboard testing                              β”‚   β”‚
β”‚  β”‚  β€’ User flows (mobile + desktop)                     β”‚   β”‚
β”‚  β”‚  β€’ Cross-browser compatibility                       β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                              β”‚                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”‚
β”‚  β”‚  PYTEST (API) β”‚    β”‚     MOBILE TESTING         β”‚      β”‚
β”‚  β”‚  β€’ REST APIs  β”‚    β”‚  β€’ Appium/Playwright Mobile β”‚      β”‚
β”‚  β”‚  β€’ HL7/FHIR  β”‚    β”‚  β€’ iOS + Android            β”‚      β”‚
β”‚  β”‚  β€’ Billing    β”‚    β”‚  β€’ Native + React Native    β”‚      β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚
β”‚                              β”‚                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚              CI/CD INTEGRATION                        β”‚   β”‚
β”‚  β”‚  β€’ GitHub Actions / GitLab CI                        β”‚   β”‚
β”‚  β”‚  β€’ Automated test runs on PR                        β”‚   β”‚
β”‚  β”‚  β€’ TestRail integration for test management          β”‚   β”‚
β”‚  β”‚  β€’ Slack notifications for failures                β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Test Strategy by Layer

Test LayerScopeToolsPriority
Unit TestsBusiness logic, data validationJest, PytestHigh
API TestsREST endpoints, HL7/FHIRPlaywright API, PytestHigh
E2E TestsUser flows, critical pathsPlaywrightHigh
Mobile TestsApp functionalityPlaywright Mobile, AppiumMedium
Integration TestsDevice simulationsCustom Python/JSMedium
Performance TestsLoad, stress, spikek6, JMeterMedium
Security TestsHIPAA compliance, penetrationOWASP ZAP, manualHigh

Tech Stack Summary

For Senior QA Automation Engineer Role

CategoryRequiredYour LevelGap
PlaywrightStrongly PreferredLearning⚠️ Quick upskill needed
TypeScriptRequiredStrong (Next.js/React)βœ… Match
PythonRequiredStrong (backend/IoT)βœ… Match
Mobile TestingRequiredFlutter/Dart⚠️ Playwright Mobile different
CI/CDRequiredStrong (GitHub Actions)βœ… Match
API TestingNice to HaveStrong (REST/HL7)βœ… Match
Healthcare/ComplianceNice to HaveNone⚠️ Learning curve

Action Items for Faisal

  • Learn Playwright basics (free: playwright.dev/docs)
  • Build Playwright portfolio project with E2E tests
  • Explore device integration testing scenarios
  • Study HL7/FHIR basics for healthcare context
  • Check KangarooHealth engineering blog for actual stack
Edit on GitHub

Last updated on