Talk to us about your RPM project.
Tell us your chronic disease focus, the devices your patients use, and your clinical programme structure. We'll scope the platform and give you a fixed cost.
Manual vitals collection by phone consuming care manager time that should be spent on clinical intervention?
RPM platform not supporting the specific devices or the CPT billing requirements your programme uses?
RPM software built for clinical programmes -- patient apps for data collection, connected device integration, care team alert dashboards, and the CPT billing compliance your programme needs to be reimbursed.
We've shipped RPM platforms for chronic disease management programmes and hospital-at-home. We understand the clinical workflow, device integration complexity, and reimbursement requirements that determine whether an RPM programme scales.
Patient mobile apps for vitals data submission with connected device integration
Care team dashboards with configurable alert thresholds and triage workflows
CPT 99453, 99454, 99457, 99458 billing compliance and time tracking
HIPAA-compliant architecture with full audit trails
RaftLabs builds remote patient monitoring (RPM) software for healthcare organisations -- patient-facing mobile apps for vitals data submission, connected device integration (blood pressure monitors, glucose meters, pulse oximeters), care team dashboards with alert management, and CPT billing code compliance for 99453, 99454, 99457, and 99458. We have shipped RPM platforms that reduced manual clinical review time by 40% by automating routine vitals monitoring and alert triage. Most remote patient monitoring software projects deliver in 10--16 weeks at a fixed cost.
Most RPM pilots fail to scale because the platform doesn't fit the clinical workflow: care managers get alerts they can't triage efficiently, patients don't submit data consistently because the app is difficult to use, and the billing compliance tracking isn't granular enough to support reimbursement at scale.
We build RPM software around the clinical programme's specific requirements -- the devices your patients use, the alert thresholds your clinical team has validated, the care management workflow your programme runs, and the CPT billing documentation your revenue cycle team needs.
iOS and Android apps built for patient vitals submission across the full range of patient technology comfort levels. Manual entry flows for patients without connected devices use large text, simple step-by-step screens, and confirmation prompts to reduce entry errors. Automatic background sync for connected Bluetooth devices means patients with paired devices often don't need to open the app -- readings transmit automatically when the app is in background and the device is within range.
Daily check-in reminders with configurable frequency (daily, twice daily, or custom per patient condition protocol) are delivered via APNs (iOS) and FCM (Android) push notifications, with SMS fallback for patients who don't keep notifications active. Symptom reporting screens collect patient-reported outcomes (PROs) using validated instruments -- PHQ-9 for depression, PROMIS scales for pain and fatigue -- with response captured in structured format for clinical analysis rather than free text.
Medication adherence tracking prompts patients to confirm medication taken and records adherence rate per medication, which is surfaced on the care team dashboard alongside vitals data. Secure in-app messaging with the care team is encrypted end-to-end and meets HIPAA requirements for electronic protected health information (ePHI) in transit and at rest. The app is designed specifically for the patient populations common in RPM programmes: chronic disease management patients who are often older adults, may have limited technology experience, and are managing multiple conditions simultaneously.
Bluetooth LE (BLE) device integration using the GATT (Generic Attribute Profile) protocol for direct communication with RPM-class consumer health devices. Blood pressure monitors from Omron (the most deployed RPM device in US programmes), Withings, Qardio, and iHealth communicate over Bluetooth LE GATT services, transmitting systolic, diastolic, pulse, and irregular heartbeat flag. The device pairing workflow within the patient app guides patients through Bluetooth pairing with device-specific visual prompts, and re-pairing recovery when Bluetooth connections drop.
Glucose meters (Contour Next via BLE GATT, Dexcom G6 and G7 CGM via the Dexcom Share API) transmit glucose readings with timestamp and meal timing context. Pulse oximeters transmit SpO2 percentage and pulse rate; the app applies the clinical threshold logic your programme has defined (SpO2 readings below 94% trigger an immediate clinical alert, for example). Weight scales and smart thermometers complete the standard chronic disease monitoring device set.
For patients without smartphones, cellular-enabled devices from Withings, Biotricity, or Health Recovery Solutions transmit readings directly over the cellular network without requiring a phone as an intermediary -- critical for elderly patients or patients in assisted living settings. Data validation on receipt flags biologically implausible readings (systolic BP above 280 mmHg, SpO2 readings above 100%) for patient re-measurement before the data reaches the care team dashboard, preventing implausible readings from generating false alerts. Where software RPM devices qualify as Software as a Medical Device (SaMD) under FDA guidelines, we design the architecture to support FDA 510(k) clearance requirements for the relevant device classification.
Clinical dashboard designed for care managers handling 100 to 500+ enrolled patients simultaneously. The patient list view surfaces the highest-priority patients first -- those with active alerts, missed transmission days, or recent rapid-change detections -- rather than alphabetical or enrollment-date order. Care managers work through the priority queue rather than scanning the full patient list to find who needs attention.
HL7 FHIR R4 Observation resources are the data model for vitals readings -- each blood pressure, glucose, SpO2, or weight measurement is stored as a FHIR Observation with subject, value, unit, and timestamp, compatible with EHR import workflows that accept FHIR resources. Patient demographics and problem list data pulled from your EHR via FHIR queries populate the patient profile automatically.
Configurable alert thresholds are set per patient or per condition protocol group. Individual patient overrides allow the managing clinician to set tighter thresholds for high-risk patients -- for example, a hypertension patient with a history of hypertensive crisis may have an alert threshold set at systolic BP above 160 rather than the programme default of 180. The alert triage workflow records acknowledgement, clinical response documentation, escalation path (care manager to supervising physician), and resolution -- creating the clinical documentation and the billing compliance record for CPT 99457 simultaneously. Patient detail views show longitudinal trending charts for each vital sign, making it easy to spot trends that individual readings don't reveal.
Rule-based alert engine with four alert trigger categories. Threshold alerts fire when a reading falls outside the configured clinical range for the patient -- SpO2 below 94%, systolic BP above 180 mmHg, fasting glucose above 250 mg/dL. Missed submission alerts fire when a patient has not transmitted data for a configured number of consecutive days (the CPT 99454 requirement of 16 days per 30-day period makes adherence monitoring both clinical and financially important). Rapid change detection alerts fire on single-session or day-over-day changes that exceed a configurable delta -- a 20 mmHg drop in systolic BP in 24 hours is clinically meaningful independent of whether the reading is within the threshold range. Pattern-based alerts fire on multi-day trends -- five consecutive days of rising blood pressure, or declining SpO2 over three days.
Alert delivery routes to the care team dashboard immediately, with optional SMS and email notification for critical alerts that require attention outside of monitoring hours. On-call routing using PagerDuty or AWS SNS integration ensures critical alerts reach the on-call clinician when the primary care manager is unavailable -- configurable escalation schedules with fallback contacts and acknowledgement timeouts. Escalation path from care manager to supervising physician is built into the alert workflow with forced documentation at each escalation step. Every alert response is timestamped and recorded against the patient record and the billing compliance log simultaneously.
Automated CPT billing compliance tracking built into the care management workflow, not bolted on as a separate reporting step. CPT 99453 (initial patient setup and education, billable once per episode of care) is recorded when the care manager completes the device setup and education workflow in the platform. CPT 99454 (device supply and daily readings for 16 or more days within the 30-day billing period) is tracked automatically from the data transmission log -- the platform counts qualifying transmission days per patient per calendar month and flags patients who are on track, at risk of not reaching the 16-day threshold, and those who have qualified.
CPT 99457 (first 20 minutes of interactive care management time per month, requires at least one interactive communication -- phone call, secure message, or video -- with the patient or caregiver) tracks time logged within the care management documentation workflow. CPT 99458 (each additional 20-minute increment beyond 99457) extends the time tracking in 20-minute increments. At 2024 Medicare physician fee schedule rates, a patient qualifying for 99454 + 99457 generates approximately $100 to $150 per month in reimbursement. A programme of 300 patients consistently qualifying generates $30,000 to $45,000 per month -- the billing infrastructure is what converts the clinical programme into a financially sustainable service. Billing compliance reports show eligible patients, qualifying transmission day counts, and documented care management time per billing period for your revenue cycle team.
HL7 FHIR R4 integration for bidirectional data exchange with your EHR. Patient demographics, problem list (Condition resources), medication list (MedicationRequest resources), and the ordering provider's details are pulled from the EHR at enrollment so care managers work from current clinical data without duplicate data entry. FHIR Patient, Condition, MedicationRequest, and Practitioner resources map to your EHR's FHIR R4 API -- Epic MyChart FHIR API, Cerner Ignite FHIR API, or HL7 FHIR endpoints from other major EHR platforms.
Vitals readings are transmitted back to the EHR as FHIR Observation resources for posting to the patient's flowsheet where the EHR's FHIR write API supports it. Clinical note generation produces structured encounter documentation from RPM interactions -- alert response notes, monthly care management summaries -- in formats appropriate for EHR posting via FHIR DocumentReference or the EHR's messaging API. Results reporting to the ordering provider's in-basket (Epic In Basket, Cerner Message Center) or provider message queue follows the EHR platform's notification API so ordering providers receive RPM summary reports without logging into a separate system. Apple HealthKit (iOS) and Google Fit (Android) data sources are also supported where patients track additional health data in consumer health apps and want to share it with their care programme.
Frequently asked questions
The main RPM CPT codes are 99453, 99454, 99457, and 99458. CPT 99453 covers initial setup and patient education on using the monitoring device -- billed once per episode of care, not monthly. CPT 99454 covers device supply and daily recordings for 16 or more days within a 30-day period -- this is the core monthly billing code and requires the platform to track qualifying transmission days per patient per billing period. CPT 99457 covers the first 20 minutes of monthly care management time, which requires at least one interactive communication with the patient or caregiver (phone call, video visit, or synchronous secure message). CPT 99458 covers each additional 20-minute increment beyond the first.
At 2024 Medicare physician fee schedule rates, 99454 pays approximately $55 per patient per month and 99457 pays approximately $55 per month -- a patient qualifying for both codes generates approximately $110 per month. Adding 99458 for an additional 20 minutes of care management adds approximately $42. A programme of 200 patients consistently qualifying for 99454 + 99457 generates approximately $22,000 per month in reimbursement, which is meaningful revenue that justifies the programme cost. We design the billing tracking into the platform so your revenue cycle team can pull the qualifying data for each billing period with one report -- transmission day counts, care management time documented, and interactive communication confirmed -- without manual review of individual patient records.
We integrate with consumer Bluetooth LE devices using GATT service profiles for the relevant device type. For blood pressure monitors, Omron (the most widely deployed RPM device in US programmes), Withings BPM Connect and BPM Core, Qardio Arm, and iHealth Track all communicate via Bluetooth LE GATT and are supported. For glucose monitoring, the Contour Next One communicates via Bluetooth LE; Dexcom G6 and G7 CGM are integrated via the Dexcom Share API rather than direct BLE, which provides continuous glucose readings with 5-minute granularity. Nonin and Masimo pulse oximeters, Withings and Garmin weight scales, and standard Bluetooth LE thermometers round out the core device set.
For patients without smartphones, cellular-connected devices from Withings Cell (blood pressure and weight), Biotricity Bioflux (cardiac monitoring), and Health Recovery Solutions Evolent (blood pressure) transmit readings directly without a phone as intermediary. Device integration complexity varies by manufacturer and device generation -- some manufacturers publish well-documented Bluetooth profiles, others require reverse-engineering from existing integrations or purchasing their SDK. We validate the complete device list with you during scoping, confirm the integration approach for each device based on available documentation, and build integration tests against physical devices before go-live. We do not integrate with devices for which no integration path is available without a manufacturer agreement.
We design the patient app specifically for the population that includes older adults and lower-technology-comfort users, not as an afterthought accessibility layer. Large text at minimum 16px for body content and 24px for action labels, high colour contrast above WCAG AA 4.5:1 ratio, simple single-action screens, and confirmation prompts reduce the error rate for patients who are unfamiliar with mobile apps. Automated background sync means patients with paired Bluetooth devices often don't need to interact with the app at all -- the reading transmits automatically when the device is used and the app is running in background.
For patients without smartphones, cellular-connected devices (Withings Cell, HRS Evolent) transmit readings over the cellular network without requiring a phone. Tablet-based deployment -- a pre-configured tablet provided to the patient -- is an option for programmes where the economics support device supply and the patient population struggles with smartphone form factors. Family caregiver proxy access allows a designated caregiver to view readings, respond to check-in prompts, and communicate with the care team on behalf of the patient where this is clinically appropriate and documented.
The patient onboarding workflow includes an in-app setup tutorial with device-specific visual instructions, a first-measurement guided session, and a direct support contact path for patients who need assistance. Battery-efficient polling and background sync strategies on iOS (using BGAppRefreshTask and BGProcessingTask APIs) and Android (WorkManager for deferred background sync) minimize battery drain from the app running in background, which is a common patient complaint that leads to app deletion and programme dropout.
A focused RPM platform -- patient iOS and Android apps, care team web dashboard, Bluetooth device integration for 2--3 device types, configurable alert management, and CPT billing tracking -- typically runs $40,000--$100,000. A comprehensive RPM platform with EHR FHIR integration, cellular device support, advanced analytics, and multi-programme management typically runs $100,000--$200,000. Cost depends on device integration complexity, EHR integration depth, and the number of clinical programmes the platform needs to support. We scope every project before pricing it.
What clients say
Three-year average engagement. Founders and operators describing the work in their own words. No marketing varnish.

All of the sprints were completed on schedule and on budget. We highly recommend RaftLabs!
01 / 02
Tell us your chronic disease focus, the devices your patients use, and your clinical programme structure. We'll scope the platform and give you a fixed cost.