@ovok/native 1.11.1 → 1.12.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 (349) hide show
  1. package/lib/commonjs/modules/bt-device/constants/device-model.js +82 -0
  2. package/lib/commonjs/modules/bt-device/constants/device-model.js.map +1 -0
  3. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +21 -1
  4. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  5. package/lib/commonjs/modules/bt-device/hooks/use-supported-devices.js +16 -0
  6. package/lib/commonjs/modules/bt-device/hooks/use-supported-devices.js.map +1 -0
  7. package/lib/commonjs/modules/bt-device/index.js +117 -0
  8. package/lib/commonjs/modules/bt-device/index.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/types/device-kind.js +2 -0
  10. package/lib/commonjs/modules/bt-device/types/device-kind.js.map +1 -0
  11. package/lib/commonjs/modules/bt-device/utils/device-query.js +57 -0
  12. package/lib/commonjs/modules/bt-device/utils/device-query.js.map +1 -0
  13. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +3 -1
  14. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/constants/blood-pressure-translated-exception-map.js +2 -1
  16. package/lib/commonjs/modules/bt-management/constants/blood-pressure-translated-exception-map.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/constants/measurement-feedback.js +25 -0
  18. package/lib/commonjs/modules/bt-management/constants/measurement-feedback.js.map +1 -0
  19. package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js +8 -7
  20. package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/hooks/use-bt-devices.js +41 -0
  22. package/lib/commonjs/modules/bt-management/hooks/use-bt-devices.js.map +1 -0
  23. package/lib/commonjs/modules/bt-management/hooks/use-open-series.js +18 -0
  24. package/lib/commonjs/modules/bt-management/hooks/use-open-series.js.map +1 -0
  25. package/lib/commonjs/modules/bt-management/hooks/use-queued-results.js +15 -0
  26. package/lib/commonjs/modules/bt-management/hooks/use-queued-results.js.map +1 -0
  27. package/lib/commonjs/modules/bt-management/index.js +60 -0
  28. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +9 -7
  30. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +45 -3
  32. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/bt-manager.js +30 -3
  34. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +2 -1
  36. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  37. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +13 -12
  38. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  39. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +3 -1
  40. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  41. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +4 -3
  42. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  43. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +10 -1
  44. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +6 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  47. package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js +4 -3
  48. package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
  49. package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js +2 -1
  50. package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
  51. package/lib/commonjs/modules/bt-management/services/series-recorder.js +176 -0
  52. package/lib/commonjs/modules/bt-management/services/series-recorder.js.map +1 -0
  53. package/lib/commonjs/modules/bt-management/services/series-slots.js +93 -0
  54. package/lib/commonjs/modules/bt-management/services/series-slots.js.map +1 -0
  55. package/lib/commonjs/modules/bt-management/types/measurement-series.js +6 -0
  56. package/lib/commonjs/modules/bt-management/types/measurement-series.js.map +1 -0
  57. package/lib/commonjs/modules/data-sync/constants.js +14 -1
  58. package/lib/commonjs/modules/data-sync/constants.js.map +1 -1
  59. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +6 -5
  60. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  61. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +10 -7
  62. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  63. package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js +10 -4
  64. package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js.map +1 -1
  65. package/lib/commonjs/modules/data-sync/types/health-data.js +5 -1
  66. package/lib/commonjs/modules/data-sync/types/health-data.js.map +1 -1
  67. package/lib/commonjs/modules/data-sync/types/health-sync-keys.js.map +1 -1
  68. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +19 -5
  69. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  70. package/lib/commonjs/modules/data-sync/utils/fhir-systems.js +4 -1
  71. package/lib/commonjs/modules/data-sync/utils/fhir-systems.js.map +1 -1
  72. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +10 -5
  73. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  74. package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js +18 -12
  75. package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
  76. package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js +6 -1
  77. package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
  78. package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js +4 -0
  79. package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
  80. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +3 -2
  81. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  82. package/lib/commonjs/modules/data-sync/utils/health-connect-series.js +101 -0
  83. package/lib/commonjs/modules/data-sync/utils/health-connect-series.js.map +1 -0
  84. package/lib/commonjs/modules/data-sync/utils/healthkit-series.js +44 -0
  85. package/lib/commonjs/modules/data-sync/utils/healthkit-series.js.map +1 -0
  86. package/lib/commonjs/modules/data-sync/utils/hourly-series.js +57 -0
  87. package/lib/commonjs/modules/data-sync/utils/hourly-series.js.map +1 -0
  88. package/lib/commonjs/modules/data-sync/utils/replaces-saved-observation.js +13 -0
  89. package/lib/commonjs/modules/data-sync/utils/replaces-saved-observation.js.map +1 -0
  90. package/lib/module/modules/bt-device/constants/device-model.js +74 -0
  91. package/lib/module/modules/bt-device/constants/device-model.js.map +1 -0
  92. package/lib/module/modules/bt-device/constants/supported-devices.js +21 -1
  93. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  94. package/lib/module/modules/bt-device/hooks/use-supported-devices.js +12 -0
  95. package/lib/module/modules/bt-device/hooks/use-supported-devices.js.map +1 -0
  96. package/lib/module/modules/bt-device/index.js +4 -0
  97. package/lib/module/modules/bt-device/index.js.map +1 -1
  98. package/lib/module/modules/bt-device/types/device-kind.js +2 -0
  99. package/lib/module/modules/bt-device/types/device-kind.js.map +1 -0
  100. package/lib/module/modules/bt-device/utils/device-query.js +50 -0
  101. package/lib/module/modules/bt-device/utils/device-query.js.map +1 -0
  102. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +3 -1
  103. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  104. package/lib/module/modules/bt-management/constants/blood-pressure-translated-exception-map.js +2 -1
  105. package/lib/module/modules/bt-management/constants/blood-pressure-translated-exception-map.js.map +1 -1
  106. package/lib/module/modules/bt-management/constants/measurement-feedback.js +22 -0
  107. package/lib/module/modules/bt-management/constants/measurement-feedback.js.map +1 -0
  108. package/lib/module/modules/bt-management/hooks/use-bt-device.js +9 -8
  109. package/lib/module/modules/bt-management/hooks/use-bt-device.js.map +1 -1
  110. package/lib/module/modules/bt-management/hooks/use-bt-devices.js +37 -0
  111. package/lib/module/modules/bt-management/hooks/use-bt-devices.js.map +1 -0
  112. package/lib/module/modules/bt-management/hooks/use-open-series.js +13 -0
  113. package/lib/module/modules/bt-management/hooks/use-open-series.js.map +1 -0
  114. package/lib/module/modules/bt-management/hooks/use-queued-results.js +10 -0
  115. package/lib/module/modules/bt-management/hooks/use-queued-results.js.map +1 -0
  116. package/lib/module/modules/bt-management/index.js +5 -0
  117. package/lib/module/modules/bt-management/index.js.map +1 -1
  118. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +9 -7
  119. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  120. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +46 -3
  121. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  122. package/lib/module/modules/bt-management/services/bt-manager.js +30 -3
  123. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  124. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +2 -1
  125. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  126. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +13 -12
  127. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  128. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +3 -1
  129. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  130. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +4 -3
  131. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  132. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +10 -1
  133. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  134. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +6 -0
  135. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  136. package/lib/module/modules/bt-management/services/devices/f4/f4.device.js +4 -3
  137. package/lib/module/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
  138. package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js +2 -1
  139. package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
  140. package/lib/module/modules/bt-management/services/series-recorder.js +173 -0
  141. package/lib/module/modules/bt-management/services/series-recorder.js.map +1 -0
  142. package/lib/module/modules/bt-management/services/series-slots.js +85 -0
  143. package/lib/module/modules/bt-management/services/series-slots.js.map +1 -0
  144. package/lib/module/modules/bt-management/types/measurement-series.js +4 -0
  145. package/lib/module/modules/bt-management/types/measurement-series.js.map +1 -0
  146. package/lib/module/modules/data-sync/constants.js +14 -1
  147. package/lib/module/modules/data-sync/constants.js.map +1 -1
  148. package/lib/module/modules/data-sync/services/base-health-sync-service.js +6 -5
  149. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  150. package/lib/module/modules/data-sync/services/managers/data-processor.js +11 -8
  151. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  152. package/lib/module/modules/data-sync/services/managers/storage-manager.js +10 -4
  153. package/lib/module/modules/data-sync/services/managers/storage-manager.js.map +1 -1
  154. package/lib/module/modules/data-sync/types/health-data.js +6 -1
  155. package/lib/module/modules/data-sync/types/health-data.js.map +1 -1
  156. package/lib/module/modules/data-sync/types/health-sync-keys.js.map +1 -1
  157. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +19 -6
  158. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  159. package/lib/module/modules/data-sync/utils/fhir-systems.js +4 -1
  160. package/lib/module/modules/data-sync/utils/fhir-systems.js.map +1 -1
  161. package/lib/module/modules/data-sync/utils/generate-observation-entry.js +10 -5
  162. package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  163. package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js +16 -11
  164. package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
  165. package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js +7 -2
  166. package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
  167. package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js +4 -0
  168. package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
  169. package/lib/module/modules/data-sync/utils/get-samples-from-health.js +3 -2
  170. package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  171. package/lib/module/modules/data-sync/utils/health-connect-series.js +97 -0
  172. package/lib/module/modules/data-sync/utils/health-connect-series.js.map +1 -0
  173. package/lib/module/modules/data-sync/utils/healthkit-series.js +40 -0
  174. package/lib/module/modules/data-sync/utils/healthkit-series.js.map +1 -0
  175. package/lib/module/modules/data-sync/utils/hourly-series.js +52 -0
  176. package/lib/module/modules/data-sync/utils/hourly-series.js.map +1 -0
  177. package/lib/module/modules/data-sync/utils/replaces-saved-observation.js +8 -0
  178. package/lib/module/modules/data-sync/utils/replaces-saved-observation.js.map +1 -0
  179. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-model.d.ts +32 -0
  180. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-model.d.ts.map +1 -0
  181. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +18 -1
  182. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/src/modules/bt-device/hooks/use-supported-devices.d.ts +9 -0
  184. package/lib/typescript/commonjs/src/modules/bt-device/hooks/use-supported-devices.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +5 -0
  186. package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
  187. package/lib/typescript/commonjs/src/modules/bt-device/types/device-kind.d.ts +16 -0
  188. package/lib/typescript/commonjs/src/modules/bt-device/types/device-kind.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/src/modules/bt-device/utils/device-query.d.ts +49 -0
  190. package/lib/typescript/commonjs/src/modules/bt-device/utils/device-query.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  192. package/lib/typescript/commonjs/src/modules/bt-management/constants/blood-pressure-translated-exception-map.d.ts.map +1 -1
  193. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-feedback.d.ts +21 -0
  194. package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-feedback.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts +5 -4
  196. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -1
  197. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-devices.d.ts +24 -0
  198. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-devices.d.ts.map +1 -0
  199. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-open-series.d.ts +12 -0
  200. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-open-series.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-queued-results.d.ts +10 -0
  202. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-queued-results.d.ts.map +1 -0
  203. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +5 -0
  204. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  205. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts +7 -1
  206. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  207. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +17 -3
  208. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  209. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +17 -0
  210. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  216. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  218. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
  219. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts +56 -0
  221. package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts.map +1 -0
  222. package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts +36 -0
  223. package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +7 -0
  225. package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-series.d.ts +26 -0
  227. package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-series.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +6 -0
  229. package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +6 -1
  231. package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
  232. package/lib/typescript/commonjs/src/modules/data-sync/constants.d.ts +11 -1
  233. package/lib/typescript/commonjs/src/modules/data-sync/constants.d.ts.map +1 -1
  234. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +3 -2
  236. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts +2 -1
  238. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
  239. package/lib/typescript/commonjs/src/modules/data-sync/types/health-data.d.ts +15 -2
  240. package/lib/typescript/commonjs/src/modules/data-sync/types/health-data.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-keys.d.ts +3 -1
  242. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-keys.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts +5 -1
  244. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/src/modules/data-sync/utils/fhir-systems.d.ts +3 -1
  246. package/lib/typescript/commonjs/src/modules/data-sync/utils/fhir-systems.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts +3 -1
  248. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -6
  250. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
  252. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +2 -2
  253. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
  254. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -2
  255. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  256. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-connect-series.d.ts +9 -0
  257. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-connect-series.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts +12 -0
  259. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -0
  260. package/lib/typescript/commonjs/src/modules/data-sync/utils/hourly-series.d.ts +22 -0
  261. package/lib/typescript/commonjs/src/modules/data-sync/utils/hourly-series.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/src/modules/data-sync/utils/replaces-saved-observation.d.ts +7 -0
  263. package/lib/typescript/commonjs/src/modules/data-sync/utils/replaces-saved-observation.d.ts.map +1 -0
  264. package/lib/typescript/module/src/modules/bt-device/constants/device-model.d.ts +32 -0
  265. package/lib/typescript/module/src/modules/bt-device/constants/device-model.d.ts.map +1 -0
  266. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +18 -1
  267. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  268. package/lib/typescript/module/src/modules/bt-device/hooks/use-supported-devices.d.ts +9 -0
  269. package/lib/typescript/module/src/modules/bt-device/hooks/use-supported-devices.d.ts.map +1 -0
  270. package/lib/typescript/module/src/modules/bt-device/index.d.ts +5 -0
  271. package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
  272. package/lib/typescript/module/src/modules/bt-device/types/device-kind.d.ts +16 -0
  273. package/lib/typescript/module/src/modules/bt-device/types/device-kind.d.ts.map +1 -0
  274. package/lib/typescript/module/src/modules/bt-device/utils/device-query.d.ts +49 -0
  275. package/lib/typescript/module/src/modules/bt-device/utils/device-query.d.ts.map +1 -0
  276. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  277. package/lib/typescript/module/src/modules/bt-management/constants/blood-pressure-translated-exception-map.d.ts.map +1 -1
  278. package/lib/typescript/module/src/modules/bt-management/constants/measurement-feedback.d.ts +21 -0
  279. package/lib/typescript/module/src/modules/bt-management/constants/measurement-feedback.d.ts.map +1 -0
  280. package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts +5 -4
  281. package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -1
  282. package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-devices.d.ts +24 -0
  283. package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-devices.d.ts.map +1 -0
  284. package/lib/typescript/module/src/modules/bt-management/hooks/use-open-series.d.ts +12 -0
  285. package/lib/typescript/module/src/modules/bt-management/hooks/use-open-series.d.ts.map +1 -0
  286. package/lib/typescript/module/src/modules/bt-management/hooks/use-queued-results.d.ts +10 -0
  287. package/lib/typescript/module/src/modules/bt-management/hooks/use-queued-results.d.ts.map +1 -0
  288. package/lib/typescript/module/src/modules/bt-management/index.d.ts +5 -0
  289. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  290. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts +7 -1
  291. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  292. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +17 -3
  293. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  294. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +17 -0
  295. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  296. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  297. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  298. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  299. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  300. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  301. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  302. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  303. package/lib/typescript/module/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
  304. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
  305. package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts +56 -0
  306. package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts.map +1 -0
  307. package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts +36 -0
  308. package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts.map +1 -0
  309. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +7 -0
  310. package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
  311. package/lib/typescript/module/src/modules/bt-management/types/measurement-series.d.ts +26 -0
  312. package/lib/typescript/module/src/modules/bt-management/types/measurement-series.d.ts.map +1 -0
  313. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +6 -0
  314. package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
  315. package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +6 -1
  316. package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
  317. package/lib/typescript/module/src/modules/data-sync/constants.d.ts +11 -1
  318. package/lib/typescript/module/src/modules/data-sync/constants.d.ts.map +1 -1
  319. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  320. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +3 -2
  321. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  322. package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts +2 -1
  323. package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
  324. package/lib/typescript/module/src/modules/data-sync/types/health-data.d.ts +15 -2
  325. package/lib/typescript/module/src/modules/data-sync/types/health-data.d.ts.map +1 -1
  326. package/lib/typescript/module/src/modules/data-sync/types/health-sync-keys.d.ts +3 -1
  327. package/lib/typescript/module/src/modules/data-sync/types/health-sync-keys.d.ts.map +1 -1
  328. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts +5 -1
  329. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  330. package/lib/typescript/module/src/modules/data-sync/utils/fhir-systems.d.ts +3 -1
  331. package/lib/typescript/module/src/modules/data-sync/utils/fhir-systems.d.ts.map +1 -1
  332. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts +3 -1
  333. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  334. package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -6
  335. package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
  336. package/lib/typescript/module/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
  337. package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +2 -2
  338. package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
  339. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +5 -2
  340. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  341. package/lib/typescript/module/src/modules/data-sync/utils/health-connect-series.d.ts +9 -0
  342. package/lib/typescript/module/src/modules/data-sync/utils/health-connect-series.d.ts.map +1 -0
  343. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts +12 -0
  344. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -0
  345. package/lib/typescript/module/src/modules/data-sync/utils/hourly-series.d.ts +22 -0
  346. package/lib/typescript/module/src/modules/data-sync/utils/hourly-series.d.ts.map +1 -0
  347. package/lib/typescript/module/src/modules/data-sync/utils/replaces-saved-observation.d.ts +7 -0
  348. package/lib/typescript/module/src/modules/data-sync/utils/replaces-saved-observation.d.ts.map +1 -0
  349. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getUcumCode = exports.convertGenericHealthDataToObservation = void 0;
6
+ exports.getUcumCode = exports.extractValue = exports.convertGenericHealthDataToObservation = void 0;
7
7
  var _healthData = require("../types/health-data.js");
8
8
  var _fhirSystems = require("./fhir-systems.js");
9
9
  var _healthObservationDevice = require("./health-observation-device.js");
@@ -65,10 +65,13 @@ const convertGenericHealthDataToObservation = async ({
65
65
  ...(device ? {
66
66
  device
67
67
  } : {}),
68
- extension: [{
69
- url: HEALTH_RECORD_DATA_EXTENSION,
70
- valueString: JSON.stringify(data.map(toPortableRecordData))
71
- }],
68
+ // A series' values are its sampled data; copying them into the record extension would store them twice.
69
+ ...((0, _healthData.isSeriesHealthData)(first) ? {} : {
70
+ extension: [{
71
+ url: HEALTH_RECORD_DATA_EXTENSION,
72
+ valueString: JSON.stringify(data.map(toPortableRecordData))
73
+ }]
74
+ }),
72
75
  ...(interval ? {
73
76
  effectivePeriod: {
74
77
  start: interval.start.toISOString(),
@@ -110,6 +113,16 @@ const toPortableRecordData = value => {
110
113
  };
111
114
  const getMeasurement = (value, mode, interval, typeIdentifier) => {
112
115
  const raw = value;
116
+ if ((0, _healthData.isSeriesHealthData)(value)) {
117
+ return {
118
+ valueSampledData: {
119
+ origin: quantity(0, value.unit, typeIdentifier),
120
+ period: value.periodMs,
121
+ dimensions: 1,
122
+ data: value.values.map(slot => slot === null ? "E" : String(Number(slot.toFixed(2)))).join(" ")
123
+ }
124
+ };
125
+ }
113
126
  if ((0, _healthData.isAggregatedHealthData)(value)) {
114
127
  const number = value.kind === "daily-summary" ? value.average : value.value;
115
128
  return number === undefined ? {
@@ -167,6 +180,7 @@ const extractValue = raw => {
167
180
  }
168
181
  return undefined;
169
182
  };
183
+ exports.extractValue = extractValue;
170
184
  const getInterval = data => {
171
185
  const intervals = data.map(item => {
172
186
  const raw = item;
@@ -1 +1 @@
1
- {"version":3,"names":["_healthData","require","_fhirSystems","_healthObservationDevice","HEALTH_RECORD_DATA_EXTENSION","HEALTHKIT_BODY_MASS_INDEX","convertGenericHealthDataToObservation","data","patientId","mode","typeIdentifier","configuredTypeIdentifier","typeIdentifierCodes","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","first","value","String","quantityType","categoryType","recordType","configuredCode","code","configuredSystem","system","LOINC_SYSTEM","isLoincCode","undefined","interval","getInterval","measurement","getMeasurement","metadata","getMetadata","device","getHealthObservationDevice","observationDate","start","getDate","observation","resourceType","id","getStableObservationId","date","status","subject","reference","coding","display","extension","url","valueString","JSON","stringify","map","toPortableRecordData","effectivePeriod","toISOString","end","effectiveDateTime","isAggregatedHealthData","component","minimum","unit","maximum","stageComponents","getSleepStageComponents","length","exports","test","OMITTED_RECORD_FIELDS","Set","Date","Array","isArray","Object","fromEntries","entries","filter","key","has","child","raw","number","kind","average","valueQuantity","quantity","getTime","extracted","extractValue","candidates","containerKey","valueKey","fallbackUnit","container","normalizeUnit","scalarCandidates","intervals","item","startValue","startDate","startTime","time","endDate","endTime","endValue","Number","isNaN","Boolean","Math","min","max","parsed","sourceRevision","source","manufacturer","dataOrigin","model","sourceApp","name","recordingMethod","flatMap","stages","duration","isFinite","stage","label","text","getUcumCode","UCUM_SYSTEM","includes","normalized","kilometers","meters","miles","count","steps","kilograms","grams","milligrams","kilocalories","calories","minutes","seconds","beatsPerMinute","bpm","mmHg","degC","UCUM_CODES","join","replace","slice"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/convert-generic-health-data.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_healthData","require","_fhirSystems","_healthObservationDevice","HEALTH_RECORD_DATA_EXTENSION","HEALTHKIT_BODY_MASS_INDEX","convertGenericHealthDataToObservation","data","patientId","mode","typeIdentifier","configuredTypeIdentifier","typeIdentifierCodes","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","first","value","String","quantityType","categoryType","recordType","configuredCode","code","configuredSystem","system","LOINC_SYSTEM","isLoincCode","undefined","interval","getInterval","measurement","getMeasurement","metadata","getMetadata","device","getHealthObservationDevice","observationDate","start","getDate","observation","resourceType","id","getStableObservationId","date","status","subject","reference","coding","display","isSeriesHealthData","extension","url","valueString","JSON","stringify","map","toPortableRecordData","effectivePeriod","toISOString","end","effectiveDateTime","isAggregatedHealthData","component","minimum","unit","maximum","stageComponents","getSleepStageComponents","length","exports","test","OMITTED_RECORD_FIELDS","Set","Date","Array","isArray","Object","fromEntries","entries","filter","key","has","child","raw","valueSampledData","origin","quantity","period","periodMs","dimensions","values","slot","Number","toFixed","join","number","kind","average","valueQuantity","getTime","extracted","extractValue","candidates","containerKey","valueKey","fallbackUnit","container","normalizeUnit","scalarCandidates","intervals","item","startValue","startDate","startTime","time","endDate","endTime","endValue","isNaN","Boolean","Math","min","max","parsed","sourceRevision","source","manufacturer","dataOrigin","model","sourceApp","name","recordingMethod","flatMap","stages","duration","isFinite","stage","label","text","getUcumCode","UCUM_SYSTEM","includes","normalized","kilometers","meters","miles","count","steps","kilograms","grams","milligrams","kilocalories","calories","minutes","seconds","beatsPerMinute","bpm","mmHg","degC","UCUM_CODES","replace","slice"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/convert-generic-health-data.ts"],"mappings":"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","ignoreList":[]}
@@ -3,9 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UCUM_SYSTEM = exports.OBSERVATION_SYNC_PROVIDER_SYSTEM = exports.OBSERVATION_SYNC_ID_SYSTEM = exports.LOINC_SYSTEM = void 0;
6
+ exports.UCUM_SYSTEM = exports.OBSERVATION_SYNC_RECORD_SYSTEM = exports.OBSERVATION_SYNC_PROVIDER_SYSTEM = exports.OBSERVATION_SYNC_ID_SYSTEM = exports.LOINC_SYSTEM = void 0;
7
7
  const LOINC_SYSTEM = exports.LOINC_SYSTEM = "http://loinc.org";
8
8
  const UCUM_SYSTEM = exports.UCUM_SYSTEM = "http://unitsofmeasure.org";
9
9
  const OBSERVATION_SYNC_PROVIDER_SYSTEM = exports.OBSERVATION_SYNC_PROVIDER_SYSTEM = "https://api.ovok.com/fhir/StructureDefinition/observation-sync-provider";
10
10
  const OBSERVATION_SYNC_ID_SYSTEM = exports.OBSERVATION_SYNC_ID_SYSTEM = "https://api.ovok.com/fhir/StructureDefinition/observation-sync-id";
11
+
12
+ /** The source record an imported observation came from, which is all a deletion reports. */
13
+ const OBSERVATION_SYNC_RECORD_SYSTEM = exports.OBSERVATION_SYNC_RECORD_SYSTEM = "https://api.ovok.com/fhir/StructureDefinition/observation-sync-record";
11
14
  //# sourceMappingURL=fhir-systems.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LOINC_SYSTEM","exports","UCUM_SYSTEM","OBSERVATION_SYNC_PROVIDER_SYSTEM","OBSERVATION_SYNC_ID_SYSTEM"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/fhir-systems.ts"],"mappings":";;;;;;AAAA,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,kBAAkB;AACvC,MAAME,WAAW,GAAAD,OAAA,CAAAC,WAAA,GAAG,2BAA2B;AAE/C,MAAMC,gCAAgC,GAAAF,OAAA,CAAAE,gCAAA,GACpC,yEAAyE;AAE3E,MAAMC,0BAA0B,GAAAH,OAAA,CAAAG,0BAAA,GAC9B,mEAAmE","ignoreList":[]}
1
+ {"version":3,"names":["LOINC_SYSTEM","exports","UCUM_SYSTEM","OBSERVATION_SYNC_PROVIDER_SYSTEM","OBSERVATION_SYNC_ID_SYSTEM","OBSERVATION_SYNC_RECORD_SYSTEM"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/fhir-systems.ts"],"mappings":";;;;;;AAAA,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,kBAAkB;AACvC,MAAME,WAAW,GAAAD,OAAA,CAAAC,WAAA,GAAG,2BAA2B;AAE/C,MAAMC,gCAAgC,GAAAF,OAAA,CAAAE,gCAAA,GACpC,yEAAyE;AAE3E,MAAMC,0BAA0B,GAAAH,OAAA,CAAAG,0BAAA,GAC9B,mEAAmE;;AAErE;AACA,MAAMC,8BAA8B,GAAAJ,OAAA,CAAAI,8BAAA,GAClC,uEAAuE","ignoreList":[]}
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getStableObservationId = exports.generateObservationEntry = void 0;
7
7
  var _fhirSystems = require("./fhir-systems.js");
8
+ var _getHealthRecordSyncId = require("./get-health-record-sync-id.js");
8
9
  var _isDailyAggregateMode = require("./is-daily-aggregate-mode.js");
10
+ var _replacesSavedObservation = require("./replaces-saved-observation.js");
9
11
  const getObservationCode = observation => observation.code?.coding?.map(coding => `${coding.system ?? ""}|${coding.code ?? ""}`).join("~") || observation.code?.text || "unknown";
10
12
  const getObservationTime = observation => {
11
13
  if (observation.effectivePeriod) {
@@ -38,11 +40,13 @@ const generateObservationEntry = ({
38
40
  groupedObservationBodies,
39
41
  provider,
40
42
  groupedObservationSyncIds,
43
+ groupedRecordIds,
41
44
  patientId,
42
45
  mode
43
46
  }) => {
44
47
  return groupedObservationBodies.map((observationBodies, groupIndex) => {
45
48
  const fullUrls = observationBodies.map(() => `urn:uuid:${createBundleUuid()}`);
49
+ const recordId = groupedRecordIds?.[groupIndex];
46
50
  return observationBodies.map((observationBody, bodyIndex) => {
47
51
  const syncIdentifier = getStableObservationId({
48
52
  observation: observationBody,
@@ -53,6 +57,7 @@ const generateObservationEntry = ({
53
57
  const fullUrl = fullUrls[bodyIndex];
54
58
  const searchParams = new URLSearchParams();
55
59
  const isDailyAggregate = (0, _isDailyAggregateMode.isDailyAggregateMode)(mode);
60
+ const replaces = (0, _replacesSavedObservation.replacesSavedObservation)(mode);
56
61
  const legacySyncIdentifier = isDailyAggregate && observationBody.id ? `${provider}:${observationBody.id}` : undefined;
57
62
  const syncIdentifiers = Array.from(new Set([syncIdentifier, legacySyncIdentifier].filter(Boolean)));
58
63
  searchParams.set("identifier", syncIdentifiers.map(identifier => `${_fhirSystems.OBSERVATION_SYNC_ID_SYSTEM}|${identifier}`).join(","));
@@ -63,15 +68,15 @@ const generateObservationEntry = ({
63
68
  const observationResource = {
64
69
  ...observationBody
65
70
  };
66
- if (isDailyAggregate) {
71
+ if (replaces) {
67
72
  delete observationResource.id;
68
73
  }
69
74
  return {
70
75
  fullUrl,
71
76
  request: {
72
- method: isDailyAggregate ? "PUT" : "POST",
73
- url: isDailyAggregate ? `Observation?${search}` : "Observation",
74
- ...(isDailyAggregate ? {} : {
77
+ method: replaces ? "PUT" : "POST",
78
+ url: replaces ? `Observation?${search}` : "Observation",
79
+ ...(replaces ? {} : {
75
80
  ifNoneExist: search
76
81
  })
77
82
  },
@@ -83,7 +88,7 @@ const generateObservationEntry = ({
83
88
  }, {
84
89
  system: _fhirSystems.OBSERVATION_SYNC_ID_SYSTEM,
85
90
  value: syncIdentifier
86
- }],
91
+ }, ...(recordId ? [(0, _getHealthRecordSyncId.getHealthRecordIdentifier)(provider, recordId)] : [])],
87
92
  device: {
88
93
  ...(observationBody.device ?? {}),
89
94
  identifier: {
@@ -1 +1 @@
1
- {"version":3,"names":["_fhirSystems","require","_isDailyAggregateMode","getObservationCode","observation","code","coding","map","system","join","text","getObservationTime","effectivePeriod","start","end","effectiveDateTime","slice","getStableObservationId","provider","sourceId","bodyIndex","id","exports","createBundleUuid","cryptoApi","globalThis","crypto","randomUuid","randomUUID","undefined","call","bytes","Array","from","length","Math","floor","random","hex","byte","toString","padStart","generateObservationEntry","groupedObservationBodies","groupedObservationSyncIds","patientId","mode","observationBodies","groupIndex","fullUrls","observationBody","syncIdentifier","fullUrl","searchParams","URLSearchParams","isDailyAggregate","isDailyAggregateMode","legacySyncIdentifier","syncIdentifiers","Set","filter","Boolean","set","identifier","OBSERVATION_SYNC_ID_SYSTEM","search","observationResource","request","method","url","ifNoneExist","resource","OBSERVATION_SYNC_PROVIDER_SYSTEM","value","device","hasMember","reference","flat"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/generate-observation-entry.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fhirSystems","require","_getHealthRecordSyncId","_isDailyAggregateMode","_replacesSavedObservation","getObservationCode","observation","code","coding","map","system","join","text","getObservationTime","effectivePeriod","start","end","effectiveDateTime","slice","getStableObservationId","provider","sourceId","bodyIndex","id","exports","createBundleUuid","cryptoApi","globalThis","crypto","randomUuid","randomUUID","undefined","call","bytes","Array","from","length","Math","floor","random","hex","byte","toString","padStart","generateObservationEntry","groupedObservationBodies","groupedObservationSyncIds","groupedRecordIds","patientId","mode","observationBodies","groupIndex","fullUrls","recordId","observationBody","syncIdentifier","fullUrl","searchParams","URLSearchParams","isDailyAggregate","isDailyAggregateMode","replaces","replacesSavedObservation","legacySyncIdentifier","syncIdentifiers","Set","filter","Boolean","set","identifier","OBSERVATION_SYNC_ID_SYSTEM","search","observationResource","request","method","url","ifNoneExist","resource","OBSERVATION_SYNC_PROVIDER_SYSTEM","value","getHealthRecordIdentifier","device","hasMember","reference","flat"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/generate-observation-entry.ts"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getHealthRecordSyncId = exports.getHealthRecordDeletionSyncId = void 0;
7
- const appleTypesWithoutRecordDiscriminator = new Set(["HKDataTypeIdentifierHeartbeatSeries", "HKStateOfMindTypeIdentifier", "HKWorkoutTypeIdentifier"]);
6
+ exports.getHealthRecordSyncId = exports.getHealthRecordSourceId = exports.getHealthRecordIdentifier = void 0;
7
+ var _fhirSystems = require("./fhir-systems.js");
8
8
  const asText = value => {
9
9
  if (value instanceof Date) {
10
10
  return value.toISOString();
@@ -12,15 +12,22 @@ const asText = value => {
12
12
  return typeof value === "string" || typeof value === "number" ? String(value) : undefined;
13
13
  };
14
14
 
15
+ /** The record's own id: `uuid` in Apple Health, `metadata.id` in Health Connect. */
16
+ const getHealthRecordSourceId = record => {
17
+ const healthRecord = record;
18
+ return asText(healthRecord.uuid ?? healthRecord.metadata?.id);
19
+ };
20
+
15
21
  /**
16
22
  * Builds an import identity from the source record's type and interval.
17
23
  * Values are deliberately excluded so an updated daily total replaces the
18
24
  * previous total instead of creating a second observation.
19
25
  */
26
+ exports.getHealthRecordSourceId = getHealthRecordSourceId;
20
27
  const getHealthRecordSyncId = (record, measurementTypeKey) => {
21
28
  const healthRecord = record;
22
29
  const type = asText(healthRecord.quantityType ?? healthRecord.categoryType ?? healthRecord.correlationType ?? healthRecord.recordType) ?? measurementTypeKey;
23
- const sourceId = asText(healthRecord.uuid ?? healthRecord.metadata?.id);
30
+ const sourceId = getHealthRecordSourceId(record);
24
31
  if (sourceId) {
25
32
  return `${type}:${sourceId}`;
26
33
  }
@@ -37,15 +44,14 @@ const getHealthRecordSyncId = (record, measurementTypeKey) => {
37
44
  };
38
45
 
39
46
  /**
40
- * Health Connect deletion events contain only the source ID. Its imported
41
- * Observation identity therefore uses the measurement key (the wrapper's
42
- * returned record omits RecordType); these Apple sample families likewise
43
- * have no discriminator on the sample object.
47
+ * The identifier of every observation imported from a source record. A deletion
48
+ * reports only the record's id, so the import marks its observations with this
49
+ * and the deletion looks them up by it.
44
50
  */
45
51
  exports.getHealthRecordSyncId = getHealthRecordSyncId;
46
- const getHealthRecordDeletionSyncId = (typeIdentifier, recordId, measurementTypeKey, provider) => {
47
- const type = provider === "android-health-connect" || provider === "apple-health" && appleTypesWithoutRecordDiscriminator.has(typeIdentifier) ? measurementTypeKey : typeIdentifier;
48
- return `${type}:${recordId}`;
49
- };
50
- exports.getHealthRecordDeletionSyncId = getHealthRecordDeletionSyncId;
52
+ const getHealthRecordIdentifier = (provider, recordId) => ({
53
+ system: _fhirSystems.OBSERVATION_SYNC_RECORD_SYSTEM,
54
+ value: `${provider}:${recordId}`
55
+ });
56
+ exports.getHealthRecordIdentifier = getHealthRecordIdentifier;
51
57
  //# sourceMappingURL=get-health-record-sync-id.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["appleTypesWithoutRecordDiscriminator","Set","asText","value","Date","toISOString","String","undefined","getHealthRecordSyncId","record","measurementTypeKey","healthRecord","type","quantityType","categoryType","correlationType","recordType","sourceId","uuid","metadata","id","start","startDate","startTime","end","endDate","endTime","time","exports","getHealthRecordDeletionSyncId","typeIdentifier","recordId","provider","has"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-health-record-sync-id.ts"],"mappings":";;;;;;AAcA,MAAMA,oCAAoC,GAAG,IAAIC,GAAG,CAAC,CACnD,qCAAqC,EACrC,6BAA6B,EAC7B,yBAAyB,CAC1B,CAAC;AAEF,MAAMC,MAAM,GAAIC,KAAc,IAAyB;EACrD,IAAIA,KAAK,YAAYC,IAAI,EAAE;IACzB,OAAOD,KAAK,CAACE,WAAW,CAAC,CAAC;EAC5B;EAEA,OAAO,OAAOF,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,GACzDG,MAAM,CAACH,KAAK,CAAC,GACbI,SAAS;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,GAAGA,CAC5BC,MAAe,EACfC,kBAA0B,KACH;EACvB,MAAMC,YAAY,GAAGF,MAA0B;EAE/C,MAAMG,IAAI,GACRV,MAAM,CACJS,YAAY,CAACE,YAAY,IACvBF,YAAY,CAACG,YAAY,IACzBH,YAAY,CAACI,eAAe,IAC5BJ,YAAY,CAACK,UACjB,CAAC,IAAIN,kBAAkB;EAEzB,MAAMO,QAAQ,GAAGf,MAAM,CAACS,YAAY,CAACO,IAAI,IAAIP,YAAY,CAACQ,QAAQ,EAAEC,EAAE,CAAC;EAEvE,IAAIH,QAAQ,EAAE;IACZ,OAAO,GAAGL,IAAI,IAAIK,QAAQ,EAAE;EAC9B;EAEA,MAAMI,KAAK,GAAGnB,MAAM,CAACS,YAAY,CAACW,SAAS,IAAIX,YAAY,CAACY,SAAS,CAAC;EACtE,MAAMC,GAAG,GAAGtB,MAAM,CAACS,YAAY,CAACc,OAAO,IAAId,YAAY,CAACe,OAAO,CAAC;EAEhE,IAAIL,KAAK,IAAIG,GAAG,EAAE;IAChB,OAAO,GAAGZ,IAAI,IAAIS,KAAK,IAAIG,GAAG,IAAIA,GAAG,IAAIH,KAAK,EAAE;EAClD;EAEA,MAAMM,IAAI,GAAGzB,MAAM,CAACS,YAAY,CAACgB,IAAI,CAAC;EAEtC,IAAIA,IAAI,EAAE;IACR,OAAO,GAAGf,IAAI,IAAIe,IAAI,EAAE;EAC1B;EAEA,OAAOpB,SAAS;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAqB,OAAA,CAAApB,qBAAA,GAAAA,qBAAA;AAMA,MAAMqB,6BAA6B,GAAGA,CACpCC,cAAsB,EACtBC,QAAgB,EAChBrB,kBAA0B,EAC1BsB,QAAmD,KACxC;EACX,MAAMpB,IAAI,GACRoB,QAAQ,KAAK,wBAAwB,IACpCA,QAAQ,KAAK,cAAc,IAC1BhC,oCAAoC,CAACiC,GAAG,CAACH,cAAc,CAAE,GACvDpB,kBAAkB,GAClBoB,cAAc;EAEpB,OAAO,GAAGlB,IAAI,IAAImB,QAAQ,EAAE;AAC9B,CAAC;AAACH,OAAA,CAAAC,6BAAA,GAAAA,6BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_fhirSystems","require","asText","value","Date","toISOString","String","undefined","getHealthRecordSourceId","record","healthRecord","uuid","metadata","id","exports","getHealthRecordSyncId","measurementTypeKey","type","quantityType","categoryType","correlationType","recordType","sourceId","start","startDate","startTime","end","endDate","endTime","time","getHealthRecordIdentifier","provider","recordId","system","OBSERVATION_SYNC_RECORD_SYSTEM"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-health-record-sync-id.ts"],"mappings":";;;;;;AAIA,IAAAA,YAAA,GAAAC,OAAA;AAgBA,MAAMC,MAAM,GAAIC,KAAc,IAAyB;EACrD,IAAIA,KAAK,YAAYC,IAAI,EAAE;IACzB,OAAOD,KAAK,CAACE,WAAW,CAAC,CAAC;EAC5B;EAEA,OAAO,OAAOF,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,GACzDG,MAAM,CAACH,KAAK,CAAC,GACbI,SAAS;AACf,CAAC;;AAED;AACA,MAAMC,uBAAuB,GAAIC,MAAe,IAAyB;EACvE,MAAMC,YAAY,GAAGD,MAA0B;EAE/C,OAAOP,MAAM,CAACQ,YAAY,CAACC,IAAI,IAAID,YAAY,CAACE,QAAQ,EAAEC,EAAE,CAAC;AAC/D,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAC,OAAA,CAAAN,uBAAA,GAAAA,uBAAA;AAKA,MAAMO,qBAAqB,GAAGA,CAC5BN,MAAe,EACfO,kBAA0B,KACH;EACvB,MAAMN,YAAY,GAAGD,MAA0B;EAE/C,MAAMQ,IAAI,GACRf,MAAM,CACJQ,YAAY,CAACQ,YAAY,IACvBR,YAAY,CAACS,YAAY,IACzBT,YAAY,CAACU,eAAe,IAC5BV,YAAY,CAACW,UACjB,CAAC,IAAIL,kBAAkB;EAEzB,MAAMM,QAAQ,GAAGd,uBAAuB,CAACC,MAAM,CAAC;EAEhD,IAAIa,QAAQ,EAAE;IACZ,OAAO,GAAGL,IAAI,IAAIK,QAAQ,EAAE;EAC9B;EAEA,MAAMC,KAAK,GAAGrB,MAAM,CAACQ,YAAY,CAACc,SAAS,IAAId,YAAY,CAACe,SAAS,CAAC;EACtE,MAAMC,GAAG,GAAGxB,MAAM,CAACQ,YAAY,CAACiB,OAAO,IAAIjB,YAAY,CAACkB,OAAO,CAAC;EAEhE,IAAIL,KAAK,IAAIG,GAAG,EAAE;IAChB,OAAO,GAAGT,IAAI,IAAIM,KAAK,IAAIG,GAAG,IAAIA,GAAG,IAAIH,KAAK,EAAE;EAClD;EAEA,MAAMM,IAAI,GAAG3B,MAAM,CAACQ,YAAY,CAACmB,IAAI,CAAC;EAEtC,IAAIA,IAAI,EAAE;IACR,OAAO,GAAGZ,IAAI,IAAIY,IAAI,EAAE;EAC1B;EAEA,OAAOtB,SAAS;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAO,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAKA,MAAMe,yBAAyB,GAAGA,CAChCC,QAAwB,EACxBC,QAAgB,MACA;EAChBC,MAAM,EAAEC,2CAA8B;EACtC/B,KAAK,EAAE,GAAG4B,QAAQ,IAAIC,QAAQ;AAChC,CAAC,CAAC;AAAClB,OAAA,CAAAgB,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getLatestValidStartDate = void 0;
7
7
  var _dateFns = require("date-fns");
8
+ var _constants = require("../constants.js");
8
9
  var _isDailyAggregateMode = require("./is-daily-aggregate-mode.js");
9
10
  const getLatestValidStartDate = ({
10
11
  latestObservationDates,
@@ -17,7 +18,11 @@ const getLatestValidStartDate = ({
17
18
  const latestObservationDate = latestObservationDates.find(latestObservationDate => data.typeIdentifiers.some(identifier => identifier.code === latestObservationDate.code))?.date;
18
19
  let latestValidStartDate;
19
20
  const latestDate = latestObservationDate ? new Date(latestObservationDate) : undefined;
20
- const dates = [latestDate && ((0, _isDailyAggregateMode.isDailyAggregateMode)(mode) || (0, _isDailyAggregateMode.isDailyAggregateMode)(data.mode)) ? (0, _dateFns.subDays)(latestDate, 1) : latestDate, data.minDate].filter(Boolean);
21
+ const resolvedMode = mode ?? data.mode;
22
+
23
+ // A total or an hour of a series already imported may still change, so it is read again.
24
+ const rereadFrom = date => resolvedMode === "series" ? (0, _dateFns.subHours)(date, _constants.SERIES_REREAD_HOURS) : (0, _isDailyAggregateMode.isDailyAggregateMode)(mode) || (0, _isDailyAggregateMode.isDailyAggregateMode)(data.mode) ? (0, _dateFns.subDays)(date, _constants.DAILY_REREAD_DAYS) : date;
25
+ const dates = [latestDate && rereadFrom(latestDate), data.minDate].filter(Boolean);
21
26
  if (dates.length > 0) {
22
27
  latestValidStartDate = new Date(Math.max(...dates.map(date => date.getTime())));
23
28
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_dateFns","require","_isDailyAggregateMode","getLatestValidStartDate","latestObservationDates","data","mode","undefined","latestObservationDate","find","typeIdentifiers","some","identifier","code","date","latestValidStartDate","latestDate","Date","dates","isDailyAggregateMode","subDays","minDate","filter","Boolean","length","Math","max","map","getTime","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-latest-valid-start-date.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,qBAAA,GAAAD,OAAA;AAYO,MAAME,uBAAuB,GAAGA,CAAC;EACtCC,sBAAsB;EACtBC,IAAI;EACJC;AAC4B,CAAC,KAAK;EAClC,IAAI,CAACD,IAAI,EAAE;IACT,OAAOE,SAAS;EAClB;EAEA,MAAMC,qBAAqB,GAAGJ,sBAAsB,CAACK,IAAI,CACtDD,qBAAqB,IACpBH,IAAI,CAACK,eAAe,CAACC,IAAI,CACtBC,UAAU,IAAKA,UAAU,CAACC,IAAI,KAAKL,qBAAqB,CAACK,IAC5D,CACJ,CAAC,EAAEC,IAAI;EAEP,IAAIC,oBAAsC;EAE1C,MAAMC,UAAU,GAAGR,qBAAqB,GACpC,IAAIS,IAAI,CAACT,qBAAqB,CAAC,GAC/BD,SAAS;EAEb,MAAMW,KAAK,GAAG,CACZF,UAAU,KACT,IAAAG,0CAAoB,EAACb,IAAI,CAAC,IAAI,IAAAa,0CAAoB,EAACd,IAAI,CAACC,IAAI,CAAC,CAAC,GAC3D,IAAAc,gBAAO,EAACJ,UAAU,EAAE,CAAC,CAAC,GACtBA,UAAU,EACdX,IAAI,CAACgB,OAAO,CACb,CAACC,MAAM,CAACC,OAAO,CAAW;EAE3B,IAAIL,KAAK,CAACM,MAAM,GAAG,CAAC,EAAE;IACpBT,oBAAoB,GAAG,IAAIE,IAAI,CAC7BQ,IAAI,CAACC,GAAG,CAAC,GAAGR,KAAK,CAACS,GAAG,CAAEb,IAAI,IAAKA,IAAI,CAACc,OAAO,CAAC,CAAC,CAAC,CACjD,CAAC;EACH;EAEA,OAAOb,oBAAoB;AAC7B,CAAC;AAACc,OAAA,CAAA1B,uBAAA,GAAAA,uBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_dateFns","require","_constants","_isDailyAggregateMode","getLatestValidStartDate","latestObservationDates","data","mode","undefined","latestObservationDate","find","typeIdentifiers","some","identifier","code","date","latestValidStartDate","latestDate","Date","resolvedMode","rereadFrom","subHours","SERIES_REREAD_HOURS","isDailyAggregateMode","subDays","DAILY_REREAD_DAYS","dates","minDate","filter","Boolean","length","Math","max","map","getTime","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-latest-valid-start-date.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAKA,IAAAE,qBAAA,GAAAF,OAAA;AAYO,MAAMG,uBAAuB,GAAGA,CAAC;EACtCC,sBAAsB;EACtBC,IAAI;EACJC;AAC4B,CAAC,KAAK;EAClC,IAAI,CAACD,IAAI,EAAE;IACT,OAAOE,SAAS;EAClB;EAEA,MAAMC,qBAAqB,GAAGJ,sBAAsB,CAACK,IAAI,CACtDD,qBAAqB,IACpBH,IAAI,CAACK,eAAe,CAACC,IAAI,CACtBC,UAAU,IAAKA,UAAU,CAACC,IAAI,KAAKL,qBAAqB,CAACK,IAC5D,CACJ,CAAC,EAAEC,IAAI;EAEP,IAAIC,oBAAsC;EAE1C,MAAMC,UAAU,GAAGR,qBAAqB,GACpC,IAAIS,IAAI,CAACT,qBAAqB,CAAC,GAC/BD,SAAS;EAEb,MAAMW,YAAY,GAAGZ,IAAI,IAAID,IAAI,CAACC,IAAI;;EAEtC;EACA,MAAMa,UAAU,GAAIL,IAAU,IAC5BI,YAAY,KAAK,QAAQ,GACrB,IAAAE,iBAAQ,EAACN,IAAI,EAAEO,8BAAmB,CAAC,GACnC,IAAAC,0CAAoB,EAAChB,IAAI,CAAC,IAAI,IAAAgB,0CAAoB,EAACjB,IAAI,CAACC,IAAI,CAAC,GAC3D,IAAAiB,gBAAO,EAACT,IAAI,EAAEU,4BAAiB,CAAC,GAChCV,IAAI;EAEZ,MAAMW,KAAK,GAAG,CAACT,UAAU,IAAIG,UAAU,CAACH,UAAU,CAAC,EAAEX,IAAI,CAACqB,OAAO,CAAC,CAACC,MAAM,CAACC,OAAO,CAAW;EAE5F,IAAIH,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;IACpBd,oBAAoB,GAAG,IAAIE,IAAI,CAC7Ba,IAAI,CAACC,GAAG,CAAC,GAAGN,KAAK,CAACO,GAAG,CAAElB,IAAI,IAAKA,IAAI,CAACmB,OAAO,CAAC,CAAC,CAAC,CACjD,CAAC;EACH;EAEA,OAAOlB,oBAAoB;AAC7B,CAAC;AAACmB,OAAA,CAAA/B,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.getRecordsFromHealthConnect = void 0;
7
7
  var _dateFns = require("date-fns");
8
8
  var _reactNativeHealthConnect = require("react-native-health-connect");
9
9
  var _constants = require("../constants.js");
10
+ var _healthConnectSeries = require("./health-connect-series.js");
10
11
  var _isDailyAggregateMode = require("./is-daily-aggregate-mode.js");
11
12
  var _syncWindowStart = require("./sync-window-start.js");
12
13
  /* eslint-disable max-lines */
@@ -21,6 +22,9 @@ const getRecordsFromHealthConnect = async ({
21
22
  if ((0, _isDailyAggregateMode.isDailyAggregateMode)(mode)) {
22
23
  return getDailyAggregates(typeIdentifier, mode, _startDate);
23
24
  }
25
+ if (mode === "series") {
26
+ return (0, _healthConnectSeries.getHealthConnectSeries)(typeIdentifier, (0, _syncWindowStart.syncWindowStart)(_startDate));
27
+ }
24
28
  const savedAnchor = decodeAnchor(anchor);
25
29
  if (savedAnchor?.phase === "changes") {
26
30
  const changes = await (0, _reactNativeHealthConnect.getChanges)({
@@ -1 +1 @@
1
- {"version":3,"names":["_dateFns","require","_reactNativeHealthConnect","_constants","_isDailyAggregateMode","_syncWindowStart","getRecordsFromHealthConnect","typeIdentifier","startDate","_startDate","chunkSize","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","anchor","mode","isDailyAggregateMode","getDailyAggregates","savedAnchor","decodeAnchor","phase","changes","getChanges","changesToken","recordTypes","changesTokenExpired","data","upsertionChanges","map","record","deletionChanges","length","deletedRecordIds","recordId","hasMore","encodeAnchor","version","nextChangesToken","baseline","readSnapshot","pageToken","undefined","snapshotAnchor","exports","endDate","Date","toISOString","resolvedStartDate","syncWindowStart","result","readRecords","timeRangeFilter","operator","startTime","endTime","pageSize","nextAnchor","records","Boolean","JSON","stringify","startsWith","parsed","parse","aggregateType","startOfDay","subDays","DEFAULT_SYNC_LOOKBACK_DAYS","today","groups","aggregateGroupByPeriod","recordType","timeRangeSlicer","period","flatMap","group","end","measurement","aggregateMeasurement","dataOrigins","kind","sourceApp","average","numberValue","BPM_AVG","unit","minimum","BPM_MIN","maximum","BPM_MAX","value","COUNT_TOTAL","nestedNumber","DISTANCE","ACTIVE_CALORIES_TOTAL","FLOORS_CLIMBED_TOTAL","scale","EXERCISE_DURATION_TOTAL","Number","isFinite","key","factor"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-records-from-health-connect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_dateFns","require","_reactNativeHealthConnect","_constants","_healthConnectSeries","_isDailyAggregateMode","_syncWindowStart","getRecordsFromHealthConnect","typeIdentifier","startDate","_startDate","chunkSize","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","anchor","mode","isDailyAggregateMode","getDailyAggregates","getHealthConnectSeries","syncWindowStart","savedAnchor","decodeAnchor","phase","changes","getChanges","changesToken","recordTypes","changesTokenExpired","data","upsertionChanges","map","record","deletionChanges","length","deletedRecordIds","recordId","hasMore","encodeAnchor","version","nextChangesToken","baseline","readSnapshot","pageToken","undefined","snapshotAnchor","exports","endDate","Date","toISOString","resolvedStartDate","result","readRecords","timeRangeFilter","operator","startTime","endTime","pageSize","nextAnchor","records","Boolean","JSON","stringify","startsWith","parsed","parse","aggregateType","startOfDay","subDays","DEFAULT_SYNC_LOOKBACK_DAYS","today","groups","aggregateGroupByPeriod","recordType","timeRangeSlicer","period","flatMap","group","end","measurement","aggregateMeasurement","dataOrigins","kind","sourceApp","average","numberValue","BPM_AVG","unit","minimum","BPM_MIN","maximum","BPM_MAX","value","COUNT_TOTAL","nestedNumber","DISTANCE","ACTIVE_CALORIES_TOTAL","FLOORS_CLIMBED_TOTAL","scale","EXERCISE_DURATION_TOTAL","Number","isFinite","key","factor"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-records-from-health-connect.ts"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,7 @@ var _dateFns = require("date-fns");
9
9
  var _constants = require("../constants.js");
10
10
  var _healthUnits = require("./health-units.js");
11
11
  var _healthkitDataTypes = require("./healthkit-data-types.js");
12
+ var _healthkitSeries = require("./healthkit-series.js");
12
13
  var _isDailyAggregateMode = require("./is-daily-aggregate-mode.js");
13
14
  var _syncWindowStart = require("./sync-window-start.js");
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -21,11 +22,11 @@ const getSamplesFromHealth = async ({
21
22
  }) => {
22
23
  const startDate = (0, _syncWindowStart.syncWindowStart)(_startDate);
23
24
  const endDate = new Date();
24
- if ((0, _isDailyAggregateMode.isDailyAggregateMode)(mode)) {
25
+ if ((0, _isDailyAggregateMode.isDailyAggregateMode)(mode) || mode === "series") {
25
26
  if (!(0, _healthkitDataTypes.isQuantityIdentifier)(typeIdentifier)) {
26
27
  throw new _healthkitDataTypes.UnsupportedHealthKitDataError(typeIdentifier, `HealthKit ${mode} mode is only supported for quantity samples.`);
27
28
  }
28
- return getDailyStatistics(typeIdentifier, mode, startDate, endDate);
29
+ return mode === "series" ? (0, _healthkitSeries.getHealthKitSeries)(typeIdentifier, startDate) : getDailyStatistics(typeIdentifier, mode, startDate, endDate);
29
30
  }
30
31
  const options = {
31
32
  from: startDate,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeHealthkit","_interopRequireWildcard","require","_dateFns","_constants","_healthUnits","_healthkitDataTypes","_isDailyAggregateMode","_syncWindowStart","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getSamplesFromHealth","startDate","_startDate","typeIdentifier","anchor","chunkSize","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","mode","syncWindowStart","endDate","Date","isDailyAggregateMode","isQuantityIdentifier","UnsupportedHealthKitDataError","getDailyStatistics","options","from","to","limit","HKWorkoutTypeIdentifier","Healthkit","queryWorkoutSamplesWithAnchor","result","energyUnit","UnitOfEnergy","Kilocalories","distanceUnit","data","undefined","toAnchoredResult","queryHeartbeatSeriesSamplesWithAnchor","isCategoryIdentifier","queryCategorySamplesWithAnchor","isCorrelationIdentifier","samples","queryCorrelationSamples","queryStateOfMindSamples","ascending","queryQuantitySamplesWithAnchor","unit","healthUnitFor","unsupportedHealthKitTypeReason","exports","deletedRecordIds","recordIds","map","uuid","length","deletedSamples","newAnchor","firstDay","startOfDay","today","HKStatisticsOptions","cumulativeSum","discreteAverage","discreteMin","discreteMax","statistics","queryStatisticsCollectionForQuantity","day","flatMap","statistic","index","dayStart","addDays","dayEnd","total","sumQuantity","quantity","average","averageQuantity","minimum","minimumQuantity","maximum","maximumQuantity","kind","value"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-samples-from-health.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeHealthkit","_interopRequireWildcard","require","_dateFns","_constants","_healthUnits","_healthkitDataTypes","_healthkitSeries","_isDailyAggregateMode","_syncWindowStart","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getSamplesFromHealth","startDate","_startDate","typeIdentifier","anchor","chunkSize","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","mode","syncWindowStart","endDate","Date","isDailyAggregateMode","isQuantityIdentifier","UnsupportedHealthKitDataError","getHealthKitSeries","getDailyStatistics","options","from","to","limit","HKWorkoutTypeIdentifier","Healthkit","queryWorkoutSamplesWithAnchor","result","energyUnit","UnitOfEnergy","Kilocalories","distanceUnit","data","undefined","toAnchoredResult","queryHeartbeatSeriesSamplesWithAnchor","isCategoryIdentifier","queryCategorySamplesWithAnchor","isCorrelationIdentifier","samples","queryCorrelationSamples","queryStateOfMindSamples","ascending","queryQuantitySamplesWithAnchor","unit","healthUnitFor","unsupportedHealthKitTypeReason","exports","deletedRecordIds","recordIds","map","uuid","length","deletedSamples","newAnchor","firstDay","startOfDay","today","HKStatisticsOptions","cumulativeSum","discreteAverage","discreteMin","discreteMax","statistics","queryStatisticsCollectionForQuantity","day","flatMap","statistic","index","dayStart","addDays","dayEnd","total","sumQuantity","quantity","average","averageQuantity","minimum","minimumQuantity","maximum","maximumQuantity","kind","value"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-samples-from-health.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getHealthConnectSeries = void 0;
7
+ var _reactNativeHealthConnect = require("react-native-health-connect");
8
+ var _constants = require("../constants.js");
9
+ var _convertGenericHealthData = require("./convert-generic-health-data.js");
10
+ var _hourlySeries = require("./hourly-series.js");
11
+ const HEART_RATE_UNIT = "count/min";
12
+ const between = (from, to) => ({
13
+ operator: "between",
14
+ startTime: from.toISOString(),
15
+ endTime: to.toISOString()
16
+ });
17
+
18
+ /** Health Connect's own average a minute, which follows the user's app priority where sources overlap. */
19
+ const heartRateMinutes = async (from, to) => {
20
+ const groups = await (0, _reactNativeHealthConnect.aggregateGroupByDuration)({
21
+ recordType: "HeartRate",
22
+ timeRangeFilter: between(from, to),
23
+ timeRangeSlicer: {
24
+ duration: "MINUTES",
25
+ length: 1
26
+ }
27
+ });
28
+ return groups.flatMap(group => {
29
+ const average = group.result.BPM_AVG;
30
+ return typeof average === "number" && Number.isFinite(average) ? [{
31
+ start: new Date(group.startTime),
32
+ value: average
33
+ }] : [];
34
+ });
35
+ };
36
+
37
+ /** Records of a type Health Connect doesn't average, such as SpO₂ and respiratory rate, averaged a minute here. */
38
+ const recordMinutes = async (typeIdentifier, from, to) => {
39
+ const sums = new Map();
40
+ let unit;
41
+ let pageToken;
42
+ do {
43
+ const page = await (0, _reactNativeHealthConnect.readRecords)(typeIdentifier, {
44
+ timeRangeFilter: between(from, to),
45
+ pageToken
46
+ });
47
+ page.records.forEach(record => {
48
+ const raw = record;
49
+ const measured = (0, _convertGenericHealthData.extractValue)(raw);
50
+ const time = raw.time ?? raw.startTime;
51
+ if (!measured || typeof time !== "string") {
52
+ return;
53
+ }
54
+ const minute = Math.floor(new Date(time).getTime() / _constants.SERIES_SLOT_MS) * _constants.SERIES_SLOT_MS;
55
+ const sum = sums.get(minute) ?? {
56
+ total: 0,
57
+ count: 0
58
+ };
59
+ sums.set(minute, {
60
+ total: sum.total + measured.value,
61
+ count: sum.count + 1
62
+ });
63
+ unit ??= measured.unit;
64
+ });
65
+ pageToken = page.pageToken;
66
+ } while (pageToken);
67
+ return {
68
+ unit,
69
+ minutes: [...sums.entries()].map(([minute, {
70
+ total,
71
+ count
72
+ }]) => ({
73
+ start: new Date(minute),
74
+ value: total / count
75
+ }))
76
+ };
77
+ };
78
+
79
+ /** The finished hours from `startDate`, one `series` item an hour, read a day at a time. */
80
+ const getHealthConnectSeries = async (typeIdentifier, startDate) => {
81
+ const minutes = [];
82
+ let unit = typeIdentifier === "HeartRate" ? HEART_RATE_UNIT : undefined;
83
+ for (const {
84
+ from,
85
+ to
86
+ } of (0, _hourlySeries.finishedHourWindows)(startDate)) {
87
+ if (typeIdentifier === "HeartRate") {
88
+ minutes.push(...(await heartRateMinutes(from, to)));
89
+ } else {
90
+ const read = await recordMinutes(typeIdentifier, from, to);
91
+ minutes.push(...read.minutes);
92
+ unit ??= read.unit;
93
+ }
94
+ }
95
+ return {
96
+ data: (0, _hourlySeries.toHourlySeries)(typeIdentifier, unit ?? "1", minutes),
97
+ anchor: undefined
98
+ };
99
+ };
100
+ exports.getHealthConnectSeries = getHealthConnectSeries;
101
+ //# sourceMappingURL=health-connect-series.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeHealthConnect","require","_constants","_convertGenericHealthData","_hourlySeries","HEART_RATE_UNIT","between","from","to","operator","startTime","toISOString","endTime","heartRateMinutes","groups","aggregateGroupByDuration","recordType","timeRangeFilter","timeRangeSlicer","duration","length","flatMap","group","average","result","BPM_AVG","Number","isFinite","start","Date","value","recordMinutes","typeIdentifier","sums","Map","unit","pageToken","page","readRecords","records","forEach","record","raw","measured","extractValue","time","minute","Math","floor","getTime","SERIES_SLOT_MS","sum","get","total","count","set","minutes","entries","map","getHealthConnectSeries","startDate","undefined","finishedHourWindows","push","read","data","toHourlySeries","anchor","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/health-connect-series.ts"],"mappings":"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","ignoreList":[]}