@ovok/native 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
  2. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  3. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js +8 -2
  4. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  5. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +22 -22
  6. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  7. package/lib/commonjs/modules/bt-device/constants/device-list-items.js +36 -0
  8. package/lib/commonjs/modules/bt-device/constants/device-list-items.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +36 -0
  10. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
  11. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +45 -0
  12. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
  13. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +198 -42
  14. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js +88 -0
  16. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
  17. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +15 -8
  18. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
  20. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/index.js +55 -0
  22. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +10 -4
  24. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/services/bt-manager.js +43 -5
  26. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +6 -2
  28. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/device-creator.js +19 -8
  30. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  32. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js +50 -0
  34. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
  35. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +78 -127
  36. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
  37. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
  38. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  39. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +60 -0
  40. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
  41. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +74 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
  43. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
  44. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +3 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  47. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +1 -1
  48. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  49. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +37 -4
  50. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  51. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  52. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -1
  53. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  54. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
  55. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  56. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
  57. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
  58. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
  59. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  60. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
  61. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  62. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +35 -0
  63. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
  64. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
  65. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  66. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
  67. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  68. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +1 -1
  69. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  70. package/lib/commonjs/modules/bt-management/types/device-measurement-map.js.map +1 -1
  71. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +11 -2
  72. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  73. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +3 -1
  74. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  75. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js +3 -1
  76. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  77. package/lib/commonjs/modules/data-sync/utils/health-units.js +22 -0
  78. package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -0
  79. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
  80. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  81. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +8 -2
  82. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  83. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +1 -1
  84. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  85. package/lib/module/modules/bt-device/constants/device-list-items.js +36 -0
  86. package/lib/module/modules/bt-device/constants/device-list-items.js.map +1 -1
  87. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +33 -0
  88. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
  89. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +41 -0
  90. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
  91. package/lib/module/modules/bt-device/constants/supported-devices.js +188 -32
  92. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  93. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js +83 -0
  94. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
  95. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +15 -8
  96. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  97. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  98. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  99. package/lib/module/modules/bt-management/index.js +5 -0
  100. package/lib/module/modules/bt-management/index.js.map +1 -1
  101. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +10 -4
  102. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  103. package/lib/module/modules/bt-management/services/bt-manager.js +45 -6
  104. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  105. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +6 -2
  106. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  107. package/lib/module/modules/bt-management/services/device-creator.js +19 -8
  108. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  109. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  110. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  111. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js +40 -0
  112. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
  113. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +59 -109
  114. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
  115. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
  116. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  117. package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +56 -0
  118. package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
  119. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +69 -0
  120. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
  121. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
  122. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  123. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +3 -0
  124. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  125. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +1 -1
  126. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  127. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +36 -4
  128. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  129. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +2 -1
  130. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  131. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -1
  132. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  133. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
  134. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  135. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
  136. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
  137. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
  138. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  139. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
  140. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  141. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +31 -0
  142. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
  143. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
  144. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  145. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
  146. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  147. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +1 -1
  148. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  149. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  150. package/lib/module/modules/data-sync/services/managers/data-processor.js +11 -2
  151. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  152. package/lib/module/modules/data-sync/utils/get-samples-from-health.js +3 -1
  153. package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  154. package/lib/module/modules/data-sync/utils/get-total-samples-count.js +3 -1
  155. package/lib/module/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  156. package/lib/module/modules/data-sync/utils/health-units.js +17 -0
  157. package/lib/module/modules/data-sync/utils/health-units.js.map +1 -0
  158. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
  161. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +31 -0
  164. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
  165. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
  166. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
  167. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +36 -22
  168. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
  170. package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
  171. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +5 -0
  173. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +5 -1
  175. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +19 -2
  177. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts +1 -1
  180. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
  182. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
  184. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
  186. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
  187. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
  188. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  189. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
  190. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
  192. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
  194. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  195. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  196. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -0
  197. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  198. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
  199. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  200. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -2
  201. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  202. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
  203. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  204. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
  205. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
  207. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
  209. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  210. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
  211. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
  212. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
  213. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
  215. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  216. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +1 -1
  217. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  218. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  219. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
  221. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  222. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +2 -0
  223. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  224. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts +5 -0
  225. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +4 -4
  227. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  228. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts +3 -0
  232. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
  233. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  234. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  235. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
  236. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  237. package/lib/typescript/module/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  238. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +31 -0
  239. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
  240. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
  241. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
  242. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +36 -22
  243. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  244. package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
  245. package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
  246. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  247. package/lib/typescript/module/src/modules/bt-management/index.d.ts +5 -0
  248. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  249. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +5 -1
  250. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  251. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +19 -2
  252. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  253. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  254. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts +1 -1
  255. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  256. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
  257. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
  258. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
  259. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
  260. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
  261. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
  262. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
  263. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  264. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
  265. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
  266. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
  267. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
  268. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
  269. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  270. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  271. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +1 -0
  272. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  273. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
  274. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  275. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -2
  276. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  277. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
  278. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  279. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
  280. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
  281. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
  282. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  283. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
  284. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  285. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
  286. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
  287. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
  288. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  289. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
  290. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  291. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +1 -1
  292. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  293. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  294. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  295. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
  296. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  297. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +2 -0
  298. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  299. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts +5 -0
  300. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts.map +1 -1
  301. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +4 -4
  302. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  303. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  304. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  305. package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  306. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts +3 -0
  307. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
  308. package/package.json +5 -3
@@ -16,7 +16,7 @@ const BOSO_MEDICUS_NAME_MATCH = /^boso medicus [0-9a-f]{6}$/i;
16
16
  * the profile's user/status bytes without inventing a boso-specific wire format.
17
17
  */
18
18
  const bosoMedicusMonitor = params => standardBloodPressureDevice({
19
- id: params.id,
19
+ id: params.id ?? "boso-medicus-system",
20
20
  nameMatch: params.nameMatch ?? BOSO_MEDICUS_NAME_MATCH,
21
21
  ...(params.stuckDataTimeoutMs === undefined ? {} : {
22
22
  stuckDataTimeoutMs: params.stuckDataTimeoutMs
@@ -1 +1 @@
1
- {"version":3,"names":["standardBloodPressureDevice","BOSO_MEDICUS_NAME_MATCH","bosoMedicusMonitor","params","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/boso/boso.medicus.ts"],"mappings":";;AACA,SAASA,2BAA2B,QAAQ,2CAAwC;;AAEpF;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAG,6BAA6B;AAc7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GACtBC,MAAyB,IAEzBH,2BAA2B,CAAC;EAC1BI,EAAE,EAAED,MAAM,CAACC,EAAE;EACbC,SAAS,EAAEF,MAAM,CAACE,SAAS,IAAIJ,uBAAuB;EACtD,IAAIE,MAAM,CAACG,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEH,MAAM,CAACG;EAAmB,CAAC;AACvD,CAAC,CAAC;AAEJ,SAASL,uBAAuB,EAAEC,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["standardBloodPressureDevice","BOSO_MEDICUS_NAME_MATCH","bosoMedicusMonitor","params","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/boso/boso.medicus.ts"],"mappings":";;AACA,SAASA,2BAA2B,QAAQ,2CAAwC;;AAEpF;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAG,6BAA6B;AAc7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GACtBC,MAAyB,IAEzBH,2BAA2B,CAAC;EAC1BI,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,qBAAqB;EACtCC,SAAS,EAAEF,MAAM,CAACE,SAAS,IAAIJ,uBAAuB;EACtD,IAAIE,MAAM,CAACG,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEH,MAAM,CAACG;EAAmB,CAAC;AACvD,CAAC,CAAC;AAEJ,SAASL,uBAAuB,EAAEC,kBAAkB","ignoreList":[]}
@@ -79,6 +79,9 @@ export class BTCommandWriter {
79
79
  * for - worse than sending nothing, because it would be answered.
80
80
  */
81
81
  writeCommand = async command => {
82
+ if (command.delayBeforeWriteMs && command.delayBeforeWriteMs > 0) {
83
+ await new Promise(resolve => setTimeout(resolve, command.delayBeforeWriteMs));
84
+ }
82
85
  for (const chunk of this.chunksOf(command.frame)) {
83
86
  const written = await this.writeChunk(command, chunk);
84
87
  if (!written) {
@@ -1 +1 @@
1
- {"version":3,"names":["slog","sentryLogger","hexToBase64","MAX_WRITE_ATTEMPTS","DEFAULT_ATT_MTU","ATT_WRITE_HEADER_BYTES","BTCommandWriter","pendingWrites","Promise","resolve","mtu","constructor","device","onError","useNegotiatedMtu","Number","isInteger","reset","send","commands","then","writeInOrder","catch","error","command","writeCommand","chunk","chunksOf","frame","written","writeChunk","writeTo","value","withoutResponse","writeCharacteristicWithoutResponseForService","serviceUuid","characteristicUuid","writeCharacteristicWithResponseForService","size","Math","max","chunks","start","length","push","slice","attempt","isConnected","join","Error","message","deviceName","name"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-command-writer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["slog","sentryLogger","hexToBase64","MAX_WRITE_ATTEMPTS","DEFAULT_ATT_MTU","ATT_WRITE_HEADER_BYTES","BTCommandWriter","pendingWrites","Promise","resolve","mtu","constructor","device","onError","useNegotiatedMtu","Number","isInteger","reset","send","commands","then","writeInOrder","catch","error","command","writeCommand","delayBeforeWriteMs","setTimeout","chunk","chunksOf","frame","written","writeChunk","writeTo","value","withoutResponse","writeCharacteristicWithoutResponseForService","serviceUuid","characteristicUuid","writeCharacteristicWithResponseForService","size","Math","max","chunks","start","length","push","slice","attempt","isConnected","join","Error","message","deviceName","name"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-command-writer.ts"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,7 @@ export class BTConnectionHandler {
20
20
  this.callbacks.onStatusChanged?.(DeviceStatus.CONNECTED);
21
21
  await this.device.discoverAllServicesAndCharacteristics();
22
22
  this.onDisconnectSubscription = this.device.onDisconnected(this.onDeviceDisconnected);
23
- this.subscribeToAllCharacteristics();
23
+ await this.subscribeToAllCharacteristics();
24
24
  } catch (error) {
25
25
  sentryLogger("error", "BT_MANAGER: Error connecting to device", {
26
26
  error: error instanceof Error ? error.message : error,
@@ -1 +1 @@
1
- {"version":3,"names":["sentryLogger","DeviceStatus","base64ToHex","BTCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","connectWithRetries","requestPreferredMtu","onStatusChanged","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","onDataReceived","push","initialCommands"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["sentryLogger","DeviceStatus","base64ToHex","BTCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","connectWithRetries","requestPreferredMtu","onStatusChanged","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","onDataReceived","push","initialCommands"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-lines */
4
+ import { EcgDiagnosticFlag, MeasurementTypeKey } from "@ovok/core";
3
5
  import { CaseType } from "../../../types/case-type.js";
4
6
  import { createFrameValidator } from "../../../utils/create-frame-validator.js";
5
7
  import { parseMeasurement } from "../../../utils/parse-measurement.js";
6
8
  import { discardedReadingError, rejectCustomReading } from "../../../utils/reject-custom-reading.js";
7
9
  import { BTManagedDevice } from "../bt-managed-device.js";
10
+ import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
11
+ import { LepuFileTransfer } from "../lepu/lepu.file-transfer.js";
8
12
  import { LepuFrameReader } from "../lepu/lepu.frame-reader.js";
13
+ import { decodeViatomEcgRecording } from "../viatom/viatom.ecg-files.js";
9
14
  import { createLepuSequencer, recordLepuIdentity } from "./custom-lepu-sequencer.js";
10
15
  /**
11
16
  * Runs a device registered with defineCustomDevice.
@@ -45,11 +50,38 @@ export class CustomDevice extends BTManagedDevice {
45
50
  return;
46
51
  }
47
52
  this.frameReader = new LepuFrameReader(lepu.startBytes);
48
- this.createCommandSequencer = () => createLepuSequencer(lepu, {
49
- onIdentified: this.onIdentified,
50
- onRefused: this.onIdentityRefused
51
- });
53
+ this.createCommandSequencer = () => {
54
+ if (lepu.fileTransfer === "ecg") {
55
+ return new LepuFileTransfer({
56
+ write: {
57
+ serviceUuid: lepu.write.serviceUuid,
58
+ characteristicUuid: lepu.write.characteristicUuid
59
+ },
60
+ builder: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
61
+ onFile: this.reportViatomEcgFile,
62
+ onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`))
63
+ });
64
+ }
65
+ return createLepuSequencer(lepu, {
66
+ onIdentified: this.onIdentified,
67
+ onRefused: this.onIdentityRefused
68
+ });
69
+ };
52
70
  }
71
+ reportViatomEcgFile = file => {
72
+ const decoded = decodeViatomEcgRecording(file.content);
73
+ if (decoded.samples.length === 0) {
74
+ this.onError?.(new Error(`Viatom ECG: file "${file.name}" had no samples.`));
75
+ return;
76
+ }
77
+ this.onResult?.({
78
+ measurementTypeKey: MeasurementTypeKey.ecg,
79
+ caseType: CaseType.RESULT,
80
+ diagnosticResult: EcgDiagnosticFlag.REGULAR,
81
+ diagramPoints: decoded.samples,
82
+ duration: decoded.duration
83
+ });
84
+ };
53
85
  onIdentified = info => recordLepuIdentity(this.deviceData, info);
54
86
  onIdentityRefused = reason => {
55
87
  this.onError?.(new Error(`Custom device "${this.definition.id}" was not addressed: ${reason}.`));
@@ -1 +1 @@
1
- {"version":3,"names":["CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuFrameReader","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","onIdentified","onRefused","onIdentityRefused","info","deviceData","reason","onError","Error","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","reportFrame","error","parsingCase","caseType","OTHER","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","length","from","recordBytes","record","measurements","discard","measurement","reportMeasurement","reading","measurementTypeKey","fieldNames","name","rejection","map","fields","find","message","onResult"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["EcgDiagnosticFlag","MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","onError","reason","Error","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagnosticResult","REGULAR","diagramPoints","duration","info","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","reportFrame","error","parsingCase","OTHER","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","measurements","discard","measurement","reportMeasurement","reading","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -32,7 +32,7 @@ const TRANSFER_COMMANDS = [LepuCommand.GET_FILE_LIST, LepuCommand.READ_FILE_STAR
32
32
  * and the reading is discarded, because half an ECG that looks like a whole one is worse
33
33
  * than none.
34
34
  */
35
- export class LepuFileTransfer {
35
+ class LepuFileTransfer {
36
36
  files = [];
37
37
  fileIndex = 0;
38
38
  name = "";
@@ -147,4 +147,5 @@ export class LepuFileTransfer {
147
147
  frame: this.params.builder.build(command, payload)
148
148
  });
149
149
  }
150
+ export { LepuFileTransfer };
150
151
  //# sourceMappingURL=lepu.file-transfer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","initialCommands","commandFor","nextCommand","frame","command","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","initialCommands","commandFor","nextCommand","frame","command","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":"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","ignoreList":[]}
@@ -108,7 +108,7 @@ const COMMAND_BYTE = 1;
108
108
  const lepuDevice = params => {
109
109
  const transport = lepuTransports[params.transport ?? "standard"];
110
110
  return defineCustomDevice({
111
- id: params.id,
111
+ id: params.id ?? "lepu-device",
112
112
  nameMatch: params.nameMatch,
113
113
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? DEFAULT_STUCK_TIMEOUT_MS,
114
114
  preferredMtu: transport.preferredMtu,
@@ -119,6 +119,9 @@ const lepuDevice = params => {
119
119
  characteristicUuid: transport.writeUuid
120
120
  },
121
121
  expectedDeviceTypes: [...(params.expectedDeviceTypes ?? [])],
122
+ ...(params.fileTransfer === undefined ? {} : {
123
+ fileTransfer: params.fileTransfer
124
+ }),
122
125
  ...(params.pollCommand === undefined ? {} : {
123
126
  pollCommand: params.pollCommand
124
127
  })
@@ -1 +1 @@
1
- {"version":3,"names":["defineCustomDevice","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","id","nameMatch","stuckDataTimeoutMs","lepu","startBytes","write","characteristicUuid","expectedDeviceTypes","pollCommand","undefined","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["defineCustomDevice","STANDARD_SERVICE","STANDARD_WRITE","STANDARD_NOTIFY","AW1_SERVICE","AW1_WRITE","AW1_NOTIFY","DING_SERVICE","DING_WRITE","DING_NOTIFY","AI_TELE_SERVICE","AI_TELE_WRITE","AI_TELE_NOTIFY","PREFERRED_MTU","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","id","nameMatch","stuckDataTimeoutMs","lepu","startBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","undefined","pollCommand","services","uuid","monitor","frame","minLengthBytes","caseSelectorBytes","cases"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
@@ -13,8 +13,9 @@ const sigUuid = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
13
13
  * flag combination puts it and with the frame length that shape guarantees.
14
14
  */
15
15
  const declareProfile = (params, profile) => defineCustomDevice({
16
- id: params.id,
16
+ id: params.id ?? `standard-${profile.measurementTypeKey}`,
17
17
  nameMatch: params.nameMatch,
18
+ matchByService: true,
18
19
  stuckDataTimeoutMs: params.stuckDataTimeoutMs ?? SPOT_CHECK_TIMEOUT_MS,
19
20
  services: [{
20
21
  uuid: sigUuid(profile.service),
@@ -1 +1 @@
1
- {"version":3,"names":["defineCustomDevice","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","declareProfile","params","profile","id","nameMatch","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","kind","measurementTypeKey","fields","littleEndian","name","byteIndexes","unit","encoding","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":";;AAIA,SAASA,kBAAkB,QAAQ,sCAAmC;;AAEtE;AACA,MAAMC,qBAAqB,GAAG,MAAM;AAyCpC,MAAMC,OAAO,GAAIC,QAAgB,IAC/B,OAAOA,QAAQ,8BAA8B;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CACrBC,MAA4B,EAC5BC,OAAoB,KAEpBN,kBAAkB,CAAC;EACjBO,EAAE,EAAEF,MAAM,CAACE,EAAE;EACbC,SAAS,EAAEH,MAAM,CAACG,SAAS;EAC3BC,kBAAkB,EAAEJ,MAAM,CAACI,kBAAkB,IAAIR,qBAAqB;EACtES,QAAQ,EAAE,CACR;IACEC,IAAI,EAAET,OAAO,CAACI,OAAO,CAACM,OAAO,CAAC;IAC9BC,OAAO,EAAE,CACP;MACEF,IAAI,EAAET,OAAO,CAACI,OAAO,CAACQ,cAAc,CAAC;MACrCC,KAAK,EAAE;QAAEC,cAAc,EAAEV,OAAO,CAACU;MAAe,CAAC;MACjDC,iBAAiB,EAAE,CAAC,CAAC,CAAC;MACtBC,KAAK,EAAEZ,OAAO,CAACa,SAAS,CAACC,GAAG,CAAEC,QAAQ,IAAK;QACzC,MAAMC,QAAQ,GAAGhB,OAAO,CAACiB,cAAc,GAAGF,QAAQ,CAAC;QAEnD,OAAO;UACLA,QAAQ;UACRG,IAAI,EAAE,QAAiB;UACvBC,kBAAkB,EAAEnB,OAAO,CAACmB,kBAAkB;UAC9CC,MAAM,EAAE,CAAC,GAAGpB,OAAO,CAACoB,MAAM,EAAE,IAAIJ,QAAQ,EAAEI,MAAM,IAAI,EAAE,CAAC,CAAC;UACxD,IAAIJ,QAAQ,GACR;YAAEN,cAAc,EAAEM,QAAQ,CAACN;UAAe,CAAC,GAC3C,CAAC,CAAC;QACR,CAAC;MACH,CAAC;IACH,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC;AAEJ,MAAMW,YAAY,GAAGA,CACnBC,IAAY,EACZC,WAAqB,EACrBC,IAAY,EACZC,QAAqC,MAChB;EACrBH,IAAI;EACJC,WAAW;EACXG,SAAS,EAAE,QAAQ;EACnBD,QAAQ;EACRD;AACF,CAAC,CAAC;AAEF,SAAS1B,cAAc,EAAEuB,YAAY,EAAEzB,OAAO","ignoreList":[]}
1
+ {"version":3,"names":["defineCustomDevice","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","declareProfile","params","profile","id","measurementTypeKey","nameMatch","matchByService","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","kind","fields","littleEndian","name","byteIndexes","unit","encoding","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":";;AAIA,SAASA,kBAAkB,QAAQ,sCAAmC;;AAEtE;AACA,MAAMC,qBAAqB,GAAG,MAAM;AAyCpC,MAAMC,OAAO,GAAIC,QAAgB,IAC/B,OAAOA,QAAQ,8BAA8B;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CACrBC,MAA4B,EAC5BC,OAAoB,KAEpBN,kBAAkB,CAAC;EACjBO,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAI,YAAYD,OAAO,CAACE,kBAAkB,EAAE;EACzDC,SAAS,EAAEJ,MAAM,CAACI,SAAS;EAC3BC,cAAc,EAAE,IAAI;EACpBC,kBAAkB,EAAEN,MAAM,CAACM,kBAAkB,IAAIV,qBAAqB;EACtEW,QAAQ,EAAE,CACR;IACEC,IAAI,EAAEX,OAAO,CAACI,OAAO,CAACQ,OAAO,CAAC;IAC9BC,OAAO,EAAE,CACP;MACEF,IAAI,EAAEX,OAAO,CAACI,OAAO,CAACU,cAAc,CAAC;MACrCC,KAAK,EAAE;QAAEC,cAAc,EAAEZ,OAAO,CAACY;MAAe,CAAC;MACjDC,iBAAiB,EAAE,CAAC,CAAC,CAAC;MACtBC,KAAK,EAAEd,OAAO,CAACe,SAAS,CAACC,GAAG,CAAEC,QAAQ,IAAK;QACzC,MAAMC,QAAQ,GAAGlB,OAAO,CAACmB,cAAc,GAAGF,QAAQ,CAAC;QAEnD,OAAO;UACLA,QAAQ;UACRG,IAAI,EAAE,QAAiB;UACvBlB,kBAAkB,EAAEF,OAAO,CAACE,kBAAkB;UAC9CmB,MAAM,EAAE,CAAC,GAAGrB,OAAO,CAACqB,MAAM,EAAE,IAAIH,QAAQ,EAAEG,MAAM,IAAI,EAAE,CAAC,CAAC;UACxD,IAAIH,QAAQ,GACR;YAAEN,cAAc,EAAEM,QAAQ,CAACN;UAAe,CAAC,GAC3C,CAAC,CAAC;QACR,CAAC;MACH,CAAC;IACH,CAAC;EAEL,CAAC;AAEL,CAAC,CAAC;AAEJ,MAAMU,YAAY,GAAGA,CACnBC,IAAY,EACZC,WAAqB,EACrBC,IAAY,EACZC,QAAqC,MAChB;EACrBH,IAAI;EACJC,WAAW;EACXG,SAAS,EAAE,QAAQ;EACnBD,QAAQ;EACRD;AACF,CAAC,CAAC;AAEF,SAAS3B,cAAc,EAAEwB,YAAY,EAAE1B,OAAO","ignoreList":[]}
@@ -12,7 +12,7 @@ const VISOMAT_COMFORT_SOFT_BT_NAME_MATCH = /^visomat\s+comfort\s+soft\s+bt$/i;
12
12
  * pairing flow.
13
13
  */
14
14
  const visomatComfortSoftBtMonitor = params => standardBloodPressureDevice({
15
- id: params.id,
15
+ id: params.id ?? "visomat-comfort-soft-bt",
16
16
  nameMatch: params.nameMatch ?? VISOMAT_COMFORT_SOFT_BT_NAME_MATCH,
17
17
  ...(params.stuckDataTimeoutMs === undefined ? {} : {
18
18
  stuckDataTimeoutMs: params.stuckDataTimeoutMs
@@ -1 +1 @@
1
- {"version":3,"names":["standardBloodPressureDevice","VISOMAT_COMFORT_SOFT_BT_NAME_MATCH","visomatComfortSoftBtMonitor","params","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.ts"],"mappings":";;AACA,SAASA,2BAA2B,QAAQ,2CAAwC;;AAEpF;AACA,MAAMC,kCAAkC,GAAG,kCAAkC;AAc7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,2BAA2B,GAC/BC,MAAkC,IAElCH,2BAA2B,CAAC;EAC1BI,EAAE,EAAED,MAAM,CAACC,EAAE;EACbC,SAAS,EAAEF,MAAM,CAACE,SAAS,IAAIJ,kCAAkC;EACjE,IAAIE,MAAM,CAACG,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEH,MAAM,CAACG;EAAmB,CAAC;AACvD,CAAC,CAAC;AAEJ,SACEL,kCAAkC,EAClCC,2BAA2B","ignoreList":[]}
1
+ {"version":3,"names":["standardBloodPressureDevice","VISOMAT_COMFORT_SOFT_BT_NAME_MATCH","visomatComfortSoftBtMonitor","params","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.ts"],"mappings":";;AACA,SAASA,2BAA2B,QAAQ,2CAAwC;;AAEpF;AACA,MAAMC,kCAAkC,GAAG,kCAAkC;AAc7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,2BAA2B,GAC/BC,MAAkC,IAElCH,2BAA2B,CAAC;EAC1BI,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,yBAAyB;EAC1CC,SAAS,EAAEF,MAAM,CAACE,SAAS,IAAIJ,kCAAkC;EACjE,IAAIE,MAAM,CAACG,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEH,MAAM,CAACG;EAAmB,CAAC;AACvD,CAAC,CAAC;AAEJ,SACEL,kCAAkC,EAClCC,2BAA2B","ignoreList":[]}
@@ -19,7 +19,7 @@ import { standardBloodPressureDevice } from "../standard-gatt/standard-gatt.devi
19
19
  const BPU_26 = "BPU26";
20
20
  const BPW_26 = "BPW26";
21
21
  const verovalCompactMonitor = (advertisedName, params) => standardBloodPressureDevice({
22
- id: params.id,
22
+ id: params.id ?? `veroval-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
23
23
  nameMatch: params.nameMatch ?? new RegExp(`^${advertisedName}$`, "i"),
24
24
  ...(params.stuckDataTimeoutMs === undefined ? {} : {
25
25
  stuckDataTimeoutMs: params.stuckDataTimeoutMs
@@ -1 +1 @@
1
- {"version":3,"names":["standardBloodPressureDevice","BPU_26","BPW_26","verovalCompactMonitor","advertisedName","params","id","nameMatch","RegExp","stuckDataTimeoutMs","undefined","bpu26Monitor","bpw26Monitor","VEROVAL_BP_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.bp-monitors.ts"],"mappings":";;AACA,SAASA,2BAA2B,QAAQ,2CAAwC;;AAEpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,MAAM,GAAG,OAAO;AACtB,MAAMC,MAAM,GAAG,OAAO;AActB,MAAMC,qBAAqB,GAAGA,CAC5BC,cAAsB,EACtBC,MAAuB,KAEvBL,2BAA2B,CAAC;EAC1BM,EAAE,EAAED,MAAM,CAACC,EAAE;EACbC,SAAS,EAAEF,MAAM,CAACE,SAAS,IAAI,IAAIC,MAAM,CAAC,IAAIJ,cAAc,GAAG,EAAE,GAAG,CAAC;EACrE,IAAIC,MAAM,CAACI,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEJ,MAAM,CAACI;EAAmB,CAAC;AACvD,CAAC,CAAC;;AAEJ;AACA,MAAME,YAAY,GAAIN,MAAuB,IAC3CF,qBAAqB,CAACF,MAAM,EAAEI,MAAM,CAAC;;AAEvC;AACA,MAAMO,YAAY,GAAIP,MAAuB,IAC3CF,qBAAqB,CAACD,MAAM,EAAEG,MAAM,CAAC;;AAEvC;AACA,MAAMQ,sBAAyC,GAAG,CAACZ,MAAM,EAAEC,MAAM,CAAC;AAElE,SACES,YAAY,EACZC,YAAY,EACZC,sBAAsB,EACtBV,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["standardBloodPressureDevice","BPU_26","BPW_26","verovalCompactMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","RegExp","stuckDataTimeoutMs","undefined","bpu26Monitor","bpw26Monitor","VEROVAL_BP_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.bp-monitors.ts"],"mappings":";;AACA,SAASA,2BAA2B,QAAQ,2CAAwC;;AAEpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,MAAM,GAAG,OAAO;AACtB,MAAMC,MAAM,GAAG,OAAO;AActB,MAAMC,qBAAqB,GAAGA,CAC5BC,cAAsB,EACtBC,MAAuB,KAEvBL,2BAA2B,CAAC;EAC1BM,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,WAAWF,cAAc,CAACG,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;EACtFC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAI,IAAIC,MAAM,CAAC,IAAIN,cAAc,GAAG,EAAE,GAAG,CAAC;EACrE,IAAIC,MAAM,CAACM,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEN,MAAM,CAACM;EAAmB,CAAC;AACvD,CAAC,CAAC;;AAEJ;AACA,MAAME,YAAY,GAAIR,MAAuB,IAC3CF,qBAAqB,CAACF,MAAM,EAAEI,MAAM,CAAC;;AAEvC;AACA,MAAMS,YAAY,GAAIT,MAAuB,IAC3CF,qBAAqB,CAACD,MAAM,EAAEG,MAAM,CAAC;;AAEvC;AACA,MAAMU,sBAAyC,GAAG,CAACd,MAAM,EAAEC,MAAM,CAAC;AAElE,SACEW,YAAY,EACZC,YAAY,EACZC,sBAAsB,EACtBZ,qBAAqB","ignoreList":[]}
@@ -79,7 +79,7 @@ const BP2_CASES = [measuring("0804", "Cuff inflating or deflating"), result("080
79
79
  * cannot pick up a `BP2W`.
80
80
  */
81
81
  const viatomBpMonitor = (advertisedName, params) => lepuDevice({
82
- id: params.id,
82
+ id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
83
83
  nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
84
84
  pollCommand: RT_DATA,
85
85
  minLengthBytes: MIN_LENGTH_BYTES,
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","READING","name","byteIndexes","byteOrder","encoding","unit","result","selector","description","kind","measurementTypeKey","bloodPressure","fields","measuring","BP2_CASES","viatomBpMonitor","advertisedName","params","id","nameMatch","pollCommand","minLengthBytes","caseSelectorBytes","cases","map","each","expectedDeviceTypes","bp2aMonitor","bp2tMonitor","bp2wMonitor","BP3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","READING","name","byteIndexes","byteOrder","encoding","unit","result","selector","description","kind","measurementTypeKey","bloodPressure","fields","measuring","BP2_CASES","viatomBpMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","pollCommand","minLengthBytes","caseSelectorBytes","cases","map","each","expectedDeviceTypes","bp2aMonitor","bp2tMonitor","bp2wMonitor","BP3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ import { hexToByte } from "../../../utils/hex-to-byte.js";
4
+ const VIATOM_ECG_SAMPLE_RATE_HZ = 125;
5
+ const VIATOM_ECG_MILLIVOLTS_PER_COUNT = 0.002467;
6
+ const readUInt32LittleEndian = (bytes, from) => hexToByte(bytes[from] ?? "0") | hexToByte(bytes[from + 1] ?? "0") << 8 | hexToByte(bytes[from + 2] ?? "0") << 16 | hexToByte(bytes[from + 3] ?? "0") << 24;
7
+
8
+ /** Decodes the official ER1/ER2 file container and its signed ECG samples. */
9
+ const decodeViatomEcgRecording = content => {
10
+ if (content.length <= 30) {
11
+ return {
12
+ samples: [],
13
+ duration: 0
14
+ };
15
+ }
16
+ const waveStart = 10;
17
+ const waveEnd = content.length - 20;
18
+ const samples = [];
19
+ for (let index = waveStart; index + 1 < waveEnd; index += 2) {
20
+ const raw = hexToByte(content[index] ?? "0") | hexToByte(content[index + 1] ?? "0") << 8;
21
+ const signed = raw & 0x8000 ? raw - 0x10000 : raw;
22
+ samples.push(signed * VIATOM_ECG_MILLIVOLTS_PER_COUNT);
23
+ }
24
+ const recordedSeconds = readUInt32LittleEndian(content, content.length - 20);
25
+ return {
26
+ samples,
27
+ duration: recordedSeconds || samples.length / VIATOM_ECG_SAMPLE_RATE_HZ
28
+ };
29
+ };
30
+ export { decodeViatomEcgRecording, VIATOM_ECG_MILLIVOLTS_PER_COUNT, VIATOM_ECG_SAMPLE_RATE_HZ };
31
+ //# sourceMappingURL=viatom.ecg-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hexToByte","VIATOM_ECG_SAMPLE_RATE_HZ","VIATOM_ECG_MILLIVOLTS_PER_COUNT","readUInt32LittleEndian","bytes","from","decodeViatomEcgRecording","content","length","samples","duration","waveStart","waveEnd","index","raw","signed","push","recordedSeconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,+BAA4B;AAEtD,MAAMC,yBAAyB,GAAG,GAAG;AACrC,MAAMC,+BAA+B,GAAG,QAAQ;AAEhD,MAAMC,sBAAsB,GAAGA,CAACC,KAAwB,EAAEC,IAAY,KACpEL,SAAS,CAACI,KAAK,CAACC,IAAI,CAAC,IAAI,GAAG,CAAC,GAC5BL,SAAS,CAACI,KAAK,CAACC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAE,GACvCL,SAAS,CAACI,KAAK,CAACC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAG,GACxCL,SAAS,CAACI,KAAK,CAACC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAG;;AAE3C;AACA,MAAMC,wBAAwB,GAC5BC,OAA0B,IACkB;EAC5C,IAAIA,OAAO,CAACC,MAAM,IAAI,EAAE,EAAE;IACxB,OAAO;MAAEC,OAAO,EAAE,EAAE;MAAEC,QAAQ,EAAE;IAAE,CAAC;EACrC;EAEA,MAAMC,SAAS,GAAG,EAAE;EACpB,MAAMC,OAAO,GAAGL,OAAO,CAACC,MAAM,GAAG,EAAE;EACnC,MAAMC,OAAiB,GAAG,EAAE;EAE5B,KAAK,IAAII,KAAK,GAAGF,SAAS,EAAEE,KAAK,GAAG,CAAC,GAAGD,OAAO,EAAEC,KAAK,IAAI,CAAC,EAAE;IAC3D,MAAMC,GAAG,GACPd,SAAS,CAACO,OAAO,CAACM,KAAK,CAAC,IAAI,GAAG,CAAC,GAC/Bb,SAAS,CAACO,OAAO,CAACM,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAE;IAE7C,MAAME,MAAM,GAAGD,GAAG,GAAG,MAAM,GAAGA,GAAG,GAAG,OAAO,GAAGA,GAAG;IAEjDL,OAAO,CAACO,IAAI,CAACD,MAAM,GAAGb,+BAA+B,CAAC;EACxD;EAEA,MAAMe,eAAe,GAAGd,sBAAsB,CAACI,OAAO,EAAEA,OAAO,CAACC,MAAM,GAAG,EAAE,CAAC;EAE5E,OAAO;IACLC,OAAO;IACPC,QAAQ,EAAEO,eAAe,IAAIR,OAAO,CAACD,MAAM,GAAGP;EAChD,CAAC;AACH,CAAC;AAED,SACEK,wBAAwB,EACxBJ,+BAA+B,EAC/BD,yBAAyB","ignoreList":[]}
@@ -49,7 +49,7 @@ const ER_HEART_RATE_BYTES = [7, 8];
49
49
  * reports a decoding failure on each poll. Reading those bits quietly needs a device class.
50
50
  */
51
51
  const declareRecorder = (advertisedName, profile, params) => lepuDevice({
52
- id: params.id,
52
+ id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
53
53
  nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
54
54
  transport: profile.transport,
55
55
  pollCommand: profile.pollCommand,
@@ -70,7 +70,8 @@ const declareRecorder = (advertisedName, profile, params) => lepuDevice({
70
70
  }],
71
71
  ...(params.expectedDeviceTypes ? {
72
72
  expectedDeviceTypes: params.expectedDeviceTypes
73
- } : {})
73
+ } : {}),
74
+ fileTransfer: "ecg"
74
75
  });
75
76
 
76
77
  /** The ER1, and the handheld recorders sold under other names on the same protocol. */
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","ER_HEART_RATE_BYTES","declareRecorder","advertisedName","profile","params","id","nameMatch","transport","pollCommand","minLengthBytes","heartRateBytes","caseSelectorBytes","cases","selector","toString","padStart","kind","measurementTypeKey","heartRate","description","fields","name","byteIndexes","byteOrder","encoding","unit","expectedDeviceTypes","er1Recorder","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","ER3_RT_DATA","HEART_RATE_UNIT","ER_HEART_RATE_BYTES","declareRecorder","advertisedName","profile","params","id","toLowerCase","replace","nameMatch","transport","pollCommand","minLengthBytes","heartRateBytes","caseSelectorBytes","cases","selector","toString","padStart","kind","measurementTypeKey","heartRate","description","fields","name","byteIndexes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","er1Recorder","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":"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","ignoreList":[]}
@@ -88,8 +88,9 @@ const LEPOD_MEASUREMENTS = [{
88
88
  * byte, which a declaration cannot select on - reading them quietly needs a device class.
89
89
  */
90
90
  const lepodMonitor = (advertisedName, params) => lepuDevice({
91
- id: params.id,
91
+ id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
92
92
  nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
93
+ fileTransfer: "ecg",
93
94
  pollCommand: RT_DATA,
94
95
  minLengthBytes: MIN_LENGTH_BYTES,
95
96
  caseSelectorBytes: [1],
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","MIN_LENGTH_BYTES","HEART_RATE","RESPIRATION_RATE","BLOOD_OXYGEN","PULSE_RATE","PERFUSION_INDEX","TEMPERATURE","PERFUSION_SCALE","TEMPERATURE_SCALE","littleEndian","name","byteIndexes","unit","byteOrder","encoding","LEPOD_MEASUREMENTS","measurementTypeKey","bloodOxygenPulseRate","fields","scale","decimals","respiratoryRate","temperature","lepodMonitor","advertisedName","params","id","nameMatch","pollCommand","minLengthBytes","caseSelectorBytes","cases","selector","kind","heartRate","description","additionalMeasurements","map","each","expectedDeviceTypes","LEPOD_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.lepod.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_DATA","MIN_LENGTH_BYTES","HEART_RATE","RESPIRATION_RATE","BLOOD_OXYGEN","PULSE_RATE","PERFUSION_INDEX","TEMPERATURE","PERFUSION_SCALE","TEMPERATURE_SCALE","littleEndian","name","byteIndexes","unit","byteOrder","encoding","LEPOD_MEASUREMENTS","measurementTypeKey","bloodOxygenPulseRate","fields","scale","decimals","respiratoryRate","temperature","lepodMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","fileTransfer","pollCommand","minLengthBytes","caseSelectorBytes","cases","selector","kind","heartRate","description","additionalMeasurements","map","each","expectedDeviceTypes","LEPOD_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.lepod.ts"],"mappings":"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","ignoreList":[]}
@@ -36,7 +36,7 @@ const SPOT_CHECK_TIMEOUT_MS = 60_000;
36
36
  * reports a decoding failure on each poll. Reading those bits quietly needs a device class.
37
37
  */
38
38
  const viatomOximeter = (advertisedName, params) => lepuDevice({
39
- id: params.id,
39
+ id: params.id ?? `viatom-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
40
40
  nameMatch: params.nameMatch ?? lepuNameMatch(advertisedName),
41
41
  stuckDataTimeoutMs: SPOT_CHECK_TIMEOUT_MS,
42
42
  pollCommand: RT_PARAM,
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_PARAM","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","PAYLOAD","SPOT_CHECK_TIMEOUT_MS","viatomOximeter","advertisedName","params","id","nameMatch","stuckDataTimeoutMs","pollCommand","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","bloodOxygenPulseRate","description","fields","name","byteIndexes","encoding","unit","byteOrder","expectedDeviceTypes","VIATOM_OXIMETER_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.oximeters.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,UAAU,QAAQ,4BAAyB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,QAAQ,GAAG,IAAI;;AAErB;AACA,MAAMC,mBAAmB,GAAG,CAAC,CAAC,CAAC;;AAE/B;AACA,MAAMC,gBAAgB,GAAG,EAAE;AAE3B,MAAMC,OAAO,GAAG,CAAC;AAEjB,MAAMC,qBAAqB,GAAG,MAAM;AAoBpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CACrBC,cAAsB,EACtBC,MAA4B,KAE5BR,UAAU,CAAC;EACTS,EAAE,EAAED,MAAM,CAACC,EAAE;EACbC,SAAS,EAAEF,MAAM,CAACE,SAAS,IAAIX,aAAa,CAACQ,cAAc,CAAC;EAC5DI,kBAAkB,EAAEN,qBAAqB;EACzCO,WAAW,EAAEX,QAAQ;EACrBY,cAAc,EAAEV,gBAAgB;EAChCW,iBAAiB,EAAEZ,mBAAmB;EACtCa,KAAK,EAAE,CACL;IACEC,QAAQ,EAAE,IAAI;IACdC,IAAI,EAAE,QAAQ;IACdC,kBAAkB,EAAEpB,kBAAkB,CAACqB,oBAAoB;IAC3DC,WAAW,EAAE,qBAAqB;IAClCC,MAAM,EAAE,CACN;MACEC,IAAI,EAAE,aAAa;MACnBC,WAAW,EAAE,CAACnB,OAAO,CAAC;MACtBoB,QAAQ,EAAE,MAAM;MAChBC,IAAI,EAAE;IACR,CAAC,EACD;MACEH,IAAI,EAAE,WAAW;MACjBC,WAAW,EAAE,CAACnB,OAAO,GAAG,CAAC,EAAEA,OAAO,GAAG,CAAC,CAAC;MACvCsB,SAAS,EAAE,QAAQ;MACnBF,QAAQ,EAAE,MAAM;MAChBC,IAAI,EAAE;IACR,CAAC;EAEL,CAAC,CACF;EACD,IAAIjB,MAAM,CAACmB,mBAAmB,GAC1B;IAAEA,mBAAmB,EAAEnB,MAAM,CAACmB;EAAoB,CAAC,GACnD,CAAC,CAAC;AACR,CAAC,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,qBAAwC,GAAG,CAC/C,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,SAAS,EACT,QAAQ,CACT;AAED,SAASA,qBAAqB,EAAEtB,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","lepuNameMatch","lepuDevice","RT_PARAM","CASE_SELECTOR_BYTES","MIN_LENGTH_BYTES","PAYLOAD","SPOT_CHECK_TIMEOUT_MS","viatomOximeter","advertisedName","params","id","toLowerCase","replace","nameMatch","stuckDataTimeoutMs","pollCommand","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","bloodOxygenPulseRate","description","fields","name","byteIndexes","encoding","unit","byteOrder","expectedDeviceTypes","VIATOM_OXIMETER_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.oximeters.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,UAAU,QAAQ,4BAAyB;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMC,QAAQ,GAAG,IAAI;;AAErB;AACA,MAAMC,mBAAmB,GAAG,CAAC,CAAC,CAAC;;AAE/B;AACA,MAAMC,gBAAgB,GAAG,EAAE;AAE3B,MAAMC,OAAO,GAAG,CAAC;AAEjB,MAAMC,qBAAqB,GAAG,MAAM;AAoBpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CACrBC,cAAsB,EACtBC,MAA4B,KAE5BR,UAAU,CAAC;EACTS,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,UAAUF,cAAc,CAACG,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;EACrFC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAIb,aAAa,CAACQ,cAAc,CAAC;EAC5DM,kBAAkB,EAAER,qBAAqB;EACzCS,WAAW,EAAEb,QAAQ;EACrBc,cAAc,EAAEZ,gBAAgB;EAChCa,iBAAiB,EAAEd,mBAAmB;EACtCe,KAAK,EAAE,CACL;IACEC,QAAQ,EAAE,IAAI;IACdC,IAAI,EAAE,QAAQ;IACdC,kBAAkB,EAAEtB,kBAAkB,CAACuB,oBAAoB;IAC3DC,WAAW,EAAE,qBAAqB;IAClCC,MAAM,EAAE,CACN;MACEC,IAAI,EAAE,aAAa;MACnBC,WAAW,EAAE,CAACrB,OAAO,CAAC;MACtBsB,QAAQ,EAAE,MAAM;MAChBC,IAAI,EAAE;IACR,CAAC,EACD;MACEH,IAAI,EAAE,WAAW;MACjBC,WAAW,EAAE,CAACrB,OAAO,GAAG,CAAC,EAAEA,OAAO,GAAG,CAAC,CAAC;MACvCwB,SAAS,EAAE,QAAQ;MACnBF,QAAQ,EAAE,MAAM;MAChBC,IAAI,EAAE;IACR,CAAC;EAEL,CAAC,CACF;EACD,IAAInB,MAAM,CAACqB,mBAAmB,GAC1B;IAAEA,mBAAmB,EAAErB,MAAM,CAACqB;EAAoB,CAAC,GACnD,CAAC,CAAC;AACR,CAAC,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,qBAAwC,GAAG,CAC/C,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,SAAS,EACT,QAAQ,CACT;AAED,SAASA,qBAAqB,EAAExB,cAAc","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-measurement-map.ts"],"mappings":";;AAWA,SAASA,iBAAiB,QAAQ,yBAAsB;;AA0BxD;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-measurement-map.ts"],"mappings":";;AAYA,SAASA,iBAAiB,QAAQ,yBAAsB;;AA0BxD;AACA;AACA;AACA","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ import { MeasurementTypeKey } from "@ovok/core";
3
4
  import { generateObservationEntry } from "../../utils/generate-observation-entry.js";
4
5
  import { getLatestObservationDatesByCode } from "../../utils/get-latest-observation-dates-by-code.js";
5
6
  import { getLatestValidStartDate } from "../../utils/get-latest-valid-start-date.js";
@@ -54,8 +55,16 @@ export class DataProcessor {
54
55
  const newAnchors = results.map(result => result.anchor).flat().filter(Boolean);
55
56
  this.storageManager.saveAnchors(newAnchors);
56
57
  const allData = results.flatMap(result => result.data);
57
- const observationBodies = await Promise.all(allData.map(data => this.getConverterFunction({
58
- data: [data],
58
+ const dataGroups = this.provider === "apple-health" && measurementTypeKey === MeasurementTypeKey.bloodPressure ? Array.from(allData.reduce((groups, sample) => {
59
+ const value = sample;
60
+ const key = `${new Date(value.startDate ?? 0).getTime()}:${new Date(value.endDate ?? value.startDate ?? 0).getTime()}`;
61
+ const group = groups.get(key) ?? [];
62
+ group.push(sample);
63
+ groups.set(key, group);
64
+ return groups;
65
+ }, new Map()).values()) : allData.map(data => [data]);
66
+ const observationBodies = await Promise.all(dataGroups.map(group => this.getConverterFunction({
67
+ data: group,
59
68
  client: this.client,
60
69
  measurementTypeKey
61
70
  })));
@@ -1 +1 @@
1
- {"version":3,"names":["generateObservationEntry","getLatestObservationDatesByCode","getLatestValidStartDate","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","Object","values","flatMap","data","typeIdentifiers","map","identifier","code","getLatestObservationDates","codes","getTotalRecordsCountForType","latestValidStartDate","totalCounts","Promise","all","typeIdentifier","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","measurementTypeKey","results","newAnchors","result","flat","filter","Boolean","saveAnchors","allData","observationBodies","hasAnchor","length","generateObservationEntries","groupedObservationBodies","latestObservationDates"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","generateObservationEntry","getLatestObservationDatesByCode","getLatestValidStartDate","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","Object","values","flatMap","data","typeIdentifiers","map","identifier","code","getLatestObservationDates","codes","getTotalRecordsCountForType","latestValidStartDate","totalCounts","Promise","all","typeIdentifier","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","measurementTypeKey","results","newAnchors","result","flat","filter","Boolean","saveAnchors","allData","dataGroups","bloodPressure","Array","from","groups","sample","value","key","Date","getTime","endDate","group","get","push","set","Map","observationBodies","hasAnchor","length","generateObservationEntries","groupedObservationBodies","latestObservationDates"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":";;AAEA,SAASA,kBAAkB,QAAqC,YAAY;AAW5E,SAASC,wBAAwB,QAAQ,2CAAwC;AACjF,SAASC,+BAA+B,QAAQ,qDAAkD;AAClG,SAASC,uBAAuB,QAAQ,4CAAyC;AAIjF,OAAO,MAAMC,aAAa,CAMxB;EACAC,WAAWA,CACDC,MAAkB,EAClBC,SAAiB,EACjBC,QAAwB,EACxBC,SAAiB,EACjBC,cAA8B,EAC9BC,sBAEY,EACZC,2BAEgE,EAChEC,oBAEmB,EAC3B;IAAA,KAdQP,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,SAAiB,GAAjBA,SAAiB;IAAA,KACjBC,QAAwB,GAAxBA,QAAwB;IAAA,KACxBC,SAAiB,GAAjBA,SAAiB;IAAA,KACjBC,cAA8B,GAA9BA,cAA8B;IAAA,KAC9BC,sBAEY,GAFZA,sBAEY;IAAA,KACZC,2BAEgE,GAFhEA,2BAEgE;IAAA,KAChEC,oBAEmB,GAFnBA,oBAEmB;EAC1B;EAEHC,YAAYA,CAACC,UAAuB,EAAqB;IACvD,OAAOC,MAAM,CAACC,MAAM,CAACF,UAAU,CAAC,CAACG,OAAO,CACrCC,IAA8C,IAC7CA,IAAI,EAAEC,eAAe,CAACC,GAAG,CAAEC,UAAU,IAAKA,UAAU,CAACC,IAAI,CAAC,IAAI,EAClE,CAAC;EACH;EAEA,MAAMC,yBAAyBA,CAACT,UAAuB,EAKrD;IACA,MAAMU,KAAK,GAAG,IAAI,CAACX,YAAY,CAACC,UAAU,CAAC;IAE3C,OAAOb,+BAA+B,CAAC;MACrCI,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBmB,KAAK;MACLlB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;EACJ;EAEA,MAAMkB,2BAA2BA,CAC/BP,IAA8C,EAC9CQ,oBAAsC,EACrB;IACjB,MAAMC,WAAW,GAAG,MAAMC,OAAO,CAACC,GAAG,CACnCX,IAAI,CAACC,eAAe,EAAEC,GAAG,CAAC,OAAO;MAAEU;IAAe,CAAC,KAAK;MACtD,MAAMC,MAAM,GAAG,IAAI,CAACtB,cAAc,CAACuB,SAAS,CAACF,cAAc,CAAC;MAE5D,OAAO,IAAI,CAACpB,sBAAsB,CAAC;QACjCoB,cAAc,EAAEA,cAAiC;QACjDG,SAAS,EAAEP,oBAAoB,EAAEQ,WAAW,CAAC,CAAC;QAC9CH;MACF,CAAC,CAAC;IACJ,CAAC,CACH,CAAC;IAED,OAAOJ,WAAW,CAACQ,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAKD,GAAG,GAAGC,KAAK,EAAE,CAAC,CAAC;EAC3D;EAEA,MAAMC,2BAA2BA,CAC/BC,kBAAkC,EAClCrB,IAA8C,EAC9CQ,oBAAsC,EAC+B;IACrE,MAAMc,OAAO,GAAG,MAAMZ,OAAO,CAACC,GAAG,CAC/BX,IAAI,CAACC,eAAe,EAAEC,GAAG,CAAC,OAAO;MAAEU;IAAe,CAAC,KAAK;MACtD,MAAMC,MAAM,GAAG,IAAI,CAACtB,cAAc,CAACuB,SAAS,CAACF,cAAc,CAAC;MAE5D,OAAO,IAAI,CAACnB,2BAA2B,CAAC;QACtCmB,cAAc,EAAEA,cAAiC;QACjDG,SAAS,EAAEP,oBAAoB,EAAEQ,WAAW,CAAC,CAAC;QAC9CH,MAAM;QACNvB,SAAS,EAAE,IAAI,CAACA;MAClB,CAAC,CAAC;IACJ,CAAC,CACH,CAAC;IAED,MAAMiC,UAAU,GAAGD,OAAO,CACvBpB,GAAG,CAAEsB,MAAM,IAAKA,MAAM,CAACX,MAAM,CAAC,CAC9BY,IAAI,CAAC,CAAC,CACNC,MAAM,CAACC,OAAO,CAAsD;IAEvE,IAAI,CAACpC,cAAc,CAACqC,WAAW,CAACL,UAAU,CAAC;IAE3C,MAAMM,OAAO,GAAGP,OAAO,CAACvB,OAAO,CAAEyB,MAAM,IAAKA,MAAM,CAACxB,IAAI,CAAC;IAExD,MAAM8B,UAAiC,GACrC,IAAI,CAACzC,QAAQ,KAAK,cAAc,IAChCgC,kBAAkB,KAAKxC,kBAAkB,CAACkD,aAAa,GACnDC,KAAK,CAACC,IAAI,CACRJ,OAAO,CAACZ,MAAM,CAAC,CAACiB,MAAM,EAAEC,MAAM,KAAK;MACjC,MAAMC,KAAK,GAAGD,MAGb;MAED,MAAME,GAAG,GAAG,GAAG,IAAIC,IAAI,CAACF,KAAK,CAACrB,SAAS,IAAI,CAAC,CAAC,CAACwB,OAAO,CAAC,CAAC,IAAI,IAAID,IAAI,CACjEF,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAACrB,SAAS,IAAI,CACtC,CAAC,CAACwB,OAAO,CAAC,CAAC,EAAE;MAEb,MAAME,KAAK,GAAGP,MAAM,CAACQ,GAAG,CAACL,GAAG,CAAC,IAAI,EAAE;MAEnCI,KAAK,CAACE,IAAI,CAACR,MAAM,CAAC;MAClBD,MAAM,CAACU,GAAG,CAACP,GAAG,EAAEI,KAAK,CAAC;MAEtB,OAAOP,MAAM;IACf,CAAC,EAAE,IAAIW,GAAG,CAA8B,CAAC,CAAC,CAAC/C,MAAM,CAAC,CACpD,CAAC,GACD+B,OAAO,CAAC3B,GAAG,CAAEF,IAAI,IAAK,CAACA,IAAI,CAAC,CAAC;IAEnC,MAAM8C,iBAAiB,GAAG,MAAMpC,OAAO,CAACC,GAAG,CACzCmB,UAAU,CAAC5B,GAAG,CAAEuC,KAAK,IACnB,IAAI,CAAC/C,oBAAoB,CAAC;MACxBM,IAAI,EAAEyC,KAAK;MACXtD,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBkC;IACF,CAAC,CACH,CACF,CAAC;IAED,OAAO;MAAEyB,iBAAiB;MAAEC,SAAS,EAAExB,UAAU,CAACyB,MAAM,GAAG;IAAE,CAAC;EAChE;EAEAC,0BAA0BA,CAACH,iBAAkC,EAAE;IAC7D,OAAOhE,wBAAwB,CAAC;MAC9BoE,wBAAwB,EAAEJ,iBAAiB;MAC3CzD,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;EACJ;EAEAL,uBAAuBA,CACrBmE,sBAGE,EACFnD,IAA8C,EAC5B;IAClB,OAAOhB,uBAAuB,CAAC;MAC7BmE,sBAAsB;MACtBnD,IAAI,EAAEA;IACR,CAAC,CAAC;EACJ;AACF","ignoreList":[]}