@@ -28,6 +28,7 @@ var dir2Char = {
2828 var cgmData = [ ] ,
2929 treatmentData = [ ] ,
3030 mbgData = [ ] ,
31+ calData = [ ] ,
3132 patientData = [ ] ;
3233
3334 function start ( ) {
@@ -164,7 +165,19 @@ function update() {
164165 obj . d = element . dateString ;
165166 obj . device = element . device ;
166167 obj . direction = directionToChar ( element . direction ) ;
168+ obj . filtered = element . filtered ;
169+ obj . unfiltered = element . unfiltered ;
170+ obj . noise = element . noise ;
171+ obj . rssi = element . rssi ;
167172 cgmData . push ( obj ) ;
173+ } else if ( element . slope ) {
174+ var obj = { } ;
175+ obj . x = element . date ;
176+ obj . d = element . dateString ;
177+ obj . scale = element . scale ;
178+ obj . intercept = element . intercept ;
179+ obj . slope = element . slope ;
180+ calData . push ( obj ) ;
168181 }
169182 }
170183 } ) ;
@@ -191,6 +204,7 @@ function loadData() {
191204 actualCurrent ,
192205 treatment = [ ] ,
193206 mbg = [ ] ,
207+ cal = [ ] ,
194208 errorCode ;
195209
196210 if ( cgmData ) {
@@ -200,12 +214,6 @@ function loadData() {
200214 } ) ;
201215
202216 actualCurrent = actual . length > 0 ? actual [ actual . length - 1 ] . y : null ;
203-
204- // sgv less than or equal to 10 means error code
205- // or warm up period code, so ignore
206- actual = actual . filter ( function ( a ) {
207- return a . y > 10 ;
208- } )
209217 }
210218
211219 if ( treatmentData ) {
@@ -222,6 +230,13 @@ function loadData() {
222230 } ) ;
223231 }
224232
233+ if ( calData ) {
234+ cal = calData . slice ( calData . length - 200 , calData . length ) ;
235+ cal . sort ( function ( a , b ) {
236+ return a . x - b . x ;
237+ } ) ;
238+ }
239+
225240 if ( actualCurrent && actualCurrent < 39 ) errorCode = actualCurrent ;
226241
227242 var actualLength = actual . length - 1 ;
@@ -255,8 +270,8 @@ function loadData() {
255270 //TODO: need to consider when data being sent has less than the 2 day minimum
256271
257272 // consolidate and send the data to the client
258- var shouldEmit = is_different ( actual , predicted , mbg , treatment , errorCode ) ;
259- patientData = [ actual , predicted , mbg , treatment , errorCode ] ;
273+ var shouldEmit = is_different ( actual , predicted , mbg , treatment , cal ) ;
274+ patientData = [ actual , predicted , mbg , treatment , cal ] ;
260275 console . log ( 'patientData' , patientData . length ) ;
261276 if ( shouldEmit ) {
262277 emitData ( ) ;
@@ -311,7 +326,7 @@ function loadData() {
311326 }
312327}
313328
314- function is_different ( actual , predicted , mbg , treatment , errorCode ) {
329+ function is_different ( actual , predicted , mbg , treatment , cal ) {
315330 if ( patientData && patientData . length < 3 ) {
316331 return true ;
317332 }
@@ -320,14 +335,14 @@ function loadData() {
320335 , predicted : patientData [ 1 ] . slice ( - 1 ) . pop ( )
321336 , mbg : patientData [ 2 ] . slice ( - 1 ) . pop ( )
322337 , treatment : patientData [ 3 ] . slice ( - 1 ) . pop ( )
323- , errorCode : patientData . length >= 5 ? patientData [ 4 ] : 0
338+ , cal : patientData [ 4 ] . slice ( - 1 ) . pop ( )
324339 } ;
325340 var last = {
326341 actual : actual . slice ( - 1 ) . pop ( )
327342 , predicted : predicted . slice ( - 1 ) . pop ( )
328343 , mbg : mbg . slice ( - 1 ) . pop ( )
329344 , treatment : treatment . slice ( - 1 ) . pop ( )
330- , errorCode : errorCode
345+ , cal : cal . slice ( - 1 ) . pop ( )
331346 } ;
332347
333348 // textual diff of objects
0 commit comments