Omnipod Dash Drift detection #4467
Closed
+222
−36
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



Basal Drift Detection for Omnipod Dash
Issue
The insulin delivered by the Omnipod Dash drifts from the programmed basal rate (related to #4158). This PR adds tracking to quantify the drift for future correction (will be a separate PR).
Description
Add basal drift tracking to the Omnipod Dash driver.
Changes
total pulses − bolus pulsesbasalDrift = actual − expectedDefaultStatusResponseandAlarmStatusResponse)Example log
Log fields:
acttot−bol)totbolexperract-exp)dErrerron this pump status responseNew State Fields
bolusPulsesDelivered: cumulative bolus pulsesbasalExpected: running total of expected basal deliveryNew Computed Properties
basalPulsesDelivered= total pulses − bolus pulsesbasalDelivered= basal pulses delivered converted to insulin unitsbasalDrift= actual − expected insulin units (positive = over-delivery, negative = under-delivery)Tests
basalDriftmatches manual calculationsΔbolusPulsesDelivered * 0.05, basal insuline is exactlyΔbasalDriftoff fromΔbasalDelivered. Same difference between TDD andΔtotalPulsesDelivered. QED.