autosens.js 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. // для settings/autosens.json параметры: monitor/glucose.json monitor/pumphistory-24h-zoned.json settings/basal_profile.json settings/profile.json monitor/carbhistory.json settings/temptargets.json
  2. var console = {
  3. log: function(...args) { _consoleLog(args); },
  4. error: function(...args) { _consoleLog(args); }
  5. };
  6. var printLog = function(...args) { console.log(args); };
  7. var process = { stderr: { write: printLog } };
  8. function generate(glucose_data, pumphistory_data, basalprofile, profile_data, carb_data = {}, temptarget_data = {}) {
  9. if (glucose_data.length < 72) {
  10. return {"ratio": 1, "error": "not enough glucose data to calculate autosens"};
  11. }
  12. var iob_inputs = {
  13. history: pumphistory_data,
  14. profile: profile_data
  15. };
  16. var detection_inputs = {
  17. iob_inputs: iob_inputs,
  18. carbs: carb_data,
  19. glucose_data: glucose_data,
  20. basalprofile: basalprofile,
  21. temptargets: temptarget_data
  22. };
  23. detection_inputs.deviations = 96;
  24. var ratio8h = freeaps_autosens(detection_inputs);
  25. detection_inputs.deviations = 288;
  26. var ratio24h = freeaps_autosens(detection_inputs);
  27. var lowestRatio = ratio8h.ratio < ratio24h.ratio ? ratio8h : ratio24h;
  28. return lowestRatio;
  29. }