@ovok/native 1.16.1-rc.5 → 1.16.1-rc.6

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 (244) hide show
  1. package/lib/commonjs/modules/auth/google-return-page/index.js +24 -0
  2. package/lib/commonjs/modules/auth/google-return-page/index.js.map +1 -0
  3. package/lib/commonjs/modules/auth/hooks/use-social-sign-in.web.js +15 -0
  4. package/lib/commonjs/modules/auth/hooks/use-social-sign-in.web.js.map +1 -0
  5. package/lib/commonjs/modules/auth/index.js +21 -10
  6. package/lib/commonjs/modules/auth/index.js.map +1 -1
  7. package/lib/commonjs/modules/auth/session/logout-session.js +1 -1
  8. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.web.js +73 -0
  9. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.web.js.map +1 -0
  10. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login.js +1 -1
  11. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.web.js +73 -0
  12. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.web.js.map +1 -0
  13. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login.js +1 -1
  14. package/lib/commonjs/modules/auth/sign-in/index.js +24 -0
  15. package/lib/commonjs/modules/auth/sign-in/index.js.map +1 -1
  16. package/lib/commonjs/modules/auth/sign-in/utils/apple-web-sign-in.js +90 -0
  17. package/lib/commonjs/modules/auth/sign-in/utils/apple-web-sign-in.js.map +1 -0
  18. package/lib/commonjs/modules/auth/sign-in/utils/google-redirect-sign-in.js +89 -0
  19. package/lib/commonjs/modules/auth/sign-in/utils/google-redirect-sign-in.js.map +1 -0
  20. package/lib/commonjs/modules/auth/sign-in/utils/jwt-claims.js +21 -0
  21. package/lib/commonjs/modules/auth/sign-in/utils/jwt-claims.js.map +1 -0
  22. package/lib/commonjs/modules/auth/utils/sign-out-google.web.js +10 -0
  23. package/lib/commonjs/modules/auth/utils/sign-out-google.web.js.map +1 -0
  24. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +3 -2
  25. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  26. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +64 -44
  27. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
  28. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/telebgm.protocol.js +98 -0
  29. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/telebgm.protocol.js.map +1 -0
  30. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/telebgm.sequencer.js +127 -0
  31. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/telebgm.sequencer.js.map +1 -0
  32. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +12 -7
  33. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  34. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +16 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  36. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +10 -2
  37. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  38. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js +2 -7
  39. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -1
  40. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +2 -2
  41. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  42. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  43. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +74 -17
  44. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -4
  46. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  47. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.js +3 -7
  48. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.js.map +1 -1
  49. package/lib/commonjs/modules/bt-management/utils/calculate-crc-16-modbus.js +23 -0
  50. package/lib/commonjs/modules/bt-management/utils/calculate-crc-16-modbus.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/utils/tenths-mmol-to-mg-per-dl.js +13 -0
  52. package/lib/commonjs/modules/bt-management/utils/tenths-mmol-to-mg-per-dl.js.map +1 -0
  53. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +7 -7
  54. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  55. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +8 -3
  56. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  57. package/lib/commonjs/modules/data-sync/utils/default-health-coding.js +47 -0
  58. package/lib/commonjs/modules/data-sync/utils/default-health-coding.js.map +1 -0
  59. package/lib/commonjs/modules/data-sync/utils/health-units.js +6 -1
  60. package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -1
  61. package/lib/module/modules/auth/google-return-page/index.js +21 -0
  62. package/lib/module/modules/auth/google-return-page/index.js.map +1 -0
  63. package/lib/module/modules/auth/hooks/use-social-sign-in.web.js +10 -0
  64. package/lib/module/modules/auth/hooks/use-social-sign-in.web.js.map +1 -0
  65. package/lib/module/modules/auth/index.js +2 -1
  66. package/lib/module/modules/auth/index.js.map +1 -1
  67. package/lib/module/modules/auth/session/logout-session.js +1 -1
  68. package/lib/module/modules/auth/session/logout-session.js.map +1 -1
  69. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.web.js +67 -0
  70. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.web.js.map +1 -0
  71. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login.js +1 -1
  72. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login.js.map +1 -1
  73. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.web.js +68 -0
  74. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.web.js.map +1 -0
  75. package/lib/module/modules/auth/sign-in/components/social-logins/google-login.js +1 -1
  76. package/lib/module/modules/auth/sign-in/components/social-logins/google-login.js.map +1 -1
  77. package/lib/module/modules/auth/sign-in/index.js +2 -0
  78. package/lib/module/modules/auth/sign-in/index.js.map +1 -1
  79. package/lib/module/modules/auth/sign-in/utils/apple-web-sign-in.js +84 -0
  80. package/lib/module/modules/auth/sign-in/utils/apple-web-sign-in.js.map +1 -0
  81. package/lib/module/modules/auth/sign-in/utils/google-redirect-sign-in.js +84 -0
  82. package/lib/module/modules/auth/sign-in/utils/google-redirect-sign-in.js.map +1 -0
  83. package/lib/module/modules/auth/sign-in/utils/jwt-claims.js +17 -0
  84. package/lib/module/modules/auth/sign-in/utils/jwt-claims.js.map +1 -0
  85. package/lib/module/modules/auth/utils/sign-out-google.web.js +5 -0
  86. package/lib/module/modules/auth/utils/sign-out-google.web.js.map +1 -0
  87. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +3 -2
  88. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  89. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +64 -44
  90. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
  91. package/lib/module/modules/bt-management/services/devices/blood-glucose/telebgm.protocol.js +91 -0
  92. package/lib/module/modules/bt-management/services/devices/blood-glucose/telebgm.protocol.js.map +1 -0
  93. package/lib/module/modules/bt-management/services/devices/blood-glucose/telebgm.sequencer.js +123 -0
  94. package/lib/module/modules/bt-management/services/devices/blood-glucose/telebgm.sequencer.js.map +1 -0
  95. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +12 -7
  96. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  97. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +16 -1
  98. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  99. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +10 -2
  100. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  101. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js +2 -7
  102. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -1
  103. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +2 -2
  104. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  105. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  106. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +74 -17
  107. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -1
  108. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +4 -4
  109. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  110. package/lib/module/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.js +3 -7
  111. package/lib/module/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.js.map +1 -1
  112. package/lib/module/modules/bt-management/utils/calculate-crc-16-modbus.js +18 -0
  113. package/lib/module/modules/bt-management/utils/calculate-crc-16-modbus.js.map +1 -0
  114. package/lib/module/modules/bt-management/utils/tenths-mmol-to-mg-per-dl.js +8 -0
  115. package/lib/module/modules/bt-management/utils/tenths-mmol-to-mg-per-dl.js.map +1 -0
  116. package/lib/module/modules/data-sync/services/managers/data-processor.js +7 -7
  117. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  118. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +8 -3
  119. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  120. package/lib/module/modules/data-sync/utils/default-health-coding.js +44 -0
  121. package/lib/module/modules/data-sync/utils/default-health-coding.js.map +1 -0
  122. package/lib/module/modules/data-sync/utils/health-units.js +6 -1
  123. package/lib/module/modules/data-sync/utils/health-units.js.map +1 -1
  124. package/lib/typescript/commonjs/src/modules/auth/google-return-page/index.d.ts +8 -0
  125. package/lib/typescript/commonjs/src/modules/auth/google-return-page/index.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/src/modules/auth/hooks/use-social-sign-in.web.d.ts +7 -0
  127. package/lib/typescript/commonjs/src/modules/auth/hooks/use-social-sign-in.web.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/src/modules/auth/index.d.ts +1 -0
  129. package/lib/typescript/commonjs/src/modules/auth/index.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/src/modules/auth/register/components/register.d.ts +2 -2
  131. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts +2 -2
  132. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.web.d.ts +5 -0
  133. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.web.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login.d.ts +1 -1
  135. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.web.d.ts +5 -0
  136. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.web.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login.d.ts +1 -1
  138. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/social-logins.d.ts +2 -2
  139. package/lib/typescript/commonjs/src/modules/auth/sign-in/index.d.ts +2 -0
  140. package/lib/typescript/commonjs/src/modules/auth/sign-in/index.d.ts.map +1 -1
  141. package/lib/typescript/commonjs/src/modules/auth/sign-in/types/apple-login-props.d.ts +13 -0
  142. package/lib/typescript/commonjs/src/modules/auth/sign-in/types/apple-login-props.d.ts.map +1 -1
  143. package/lib/typescript/commonjs/src/modules/auth/sign-in/types/google-login-props.d.ts +13 -0
  144. package/lib/typescript/commonjs/src/modules/auth/sign-in/types/google-login-props.d.ts.map +1 -1
  145. package/lib/typescript/commonjs/src/modules/auth/sign-in/utils/apple-web-sign-in.d.ts +17 -0
  146. package/lib/typescript/commonjs/src/modules/auth/sign-in/utils/apple-web-sign-in.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/src/modules/auth/sign-in/utils/google-redirect-sign-in.d.ts +14 -0
  148. package/lib/typescript/commonjs/src/modules/auth/sign-in/utils/google-redirect-sign-in.d.ts.map +1 -0
  149. package/lib/typescript/commonjs/src/modules/auth/sign-in/utils/jwt-claims.d.ts +9 -0
  150. package/lib/typescript/commonjs/src/modules/auth/sign-in/utils/jwt-claims.d.ts.map +1 -0
  151. package/lib/typescript/commonjs/src/modules/auth/utils/sign-out-google.web.d.ts +3 -0
  152. package/lib/typescript/commonjs/src/modules/auth/utils/sign-out-google.web.d.ts.map +1 -0
  153. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/telebgm.protocol.d.ts +34 -0
  156. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/telebgm.protocol.d.ts.map +1 -0
  157. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/telebgm.sequencer.d.ts +32 -0
  158. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/telebgm.sequencer.d.ts.map +1 -0
  159. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +7 -1
  161. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +2 -0
  163. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -1
  167. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  168. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -3
  169. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  170. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +5 -2
  172. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/src/modules/bt-management/utils/calculate-crc-16-modbus.d.ts +3 -0
  174. package/lib/typescript/commonjs/src/modules/bt-management/utils/calculate-crc-16-modbus.d.ts.map +1 -0
  175. package/lib/typescript/commonjs/src/modules/bt-management/utils/tenths-mmol-to-mg-per-dl.d.ts +3 -0
  176. package/lib/typescript/commonjs/src/modules/bt-management/utils/tenths-mmol-to-mg-per-dl.d.ts.map +1 -0
  177. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts +1 -1
  179. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/src/modules/data-sync/utils/default-health-coding.d.ts +10 -0
  182. package/lib/typescript/commonjs/src/modules/data-sync/utils/default-health-coding.d.ts.map +1 -0
  183. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  184. package/lib/typescript/module/src/modules/auth/google-return-page/index.d.ts +8 -0
  185. package/lib/typescript/module/src/modules/auth/google-return-page/index.d.ts.map +1 -0
  186. package/lib/typescript/module/src/modules/auth/hooks/use-social-sign-in.web.d.ts +7 -0
  187. package/lib/typescript/module/src/modules/auth/hooks/use-social-sign-in.web.d.ts.map +1 -0
  188. package/lib/typescript/module/src/modules/auth/index.d.ts +1 -0
  189. package/lib/typescript/module/src/modules/auth/index.d.ts.map +1 -1
  190. package/lib/typescript/module/src/modules/auth/register/components/register.d.ts +2 -2
  191. package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts +2 -2
  192. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.web.d.ts +5 -0
  193. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.web.d.ts.map +1 -0
  194. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login.d.ts +1 -1
  195. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.web.d.ts +5 -0
  196. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.web.d.ts.map +1 -0
  197. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login.d.ts +1 -1
  198. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/social-logins.d.ts +2 -2
  199. package/lib/typescript/module/src/modules/auth/sign-in/index.d.ts +2 -0
  200. package/lib/typescript/module/src/modules/auth/sign-in/index.d.ts.map +1 -1
  201. package/lib/typescript/module/src/modules/auth/sign-in/types/apple-login-props.d.ts +13 -0
  202. package/lib/typescript/module/src/modules/auth/sign-in/types/apple-login-props.d.ts.map +1 -1
  203. package/lib/typescript/module/src/modules/auth/sign-in/types/google-login-props.d.ts +13 -0
  204. package/lib/typescript/module/src/modules/auth/sign-in/types/google-login-props.d.ts.map +1 -1
  205. package/lib/typescript/module/src/modules/auth/sign-in/utils/apple-web-sign-in.d.ts +17 -0
  206. package/lib/typescript/module/src/modules/auth/sign-in/utils/apple-web-sign-in.d.ts.map +1 -0
  207. package/lib/typescript/module/src/modules/auth/sign-in/utils/google-redirect-sign-in.d.ts +14 -0
  208. package/lib/typescript/module/src/modules/auth/sign-in/utils/google-redirect-sign-in.d.ts.map +1 -0
  209. package/lib/typescript/module/src/modules/auth/sign-in/utils/jwt-claims.d.ts +9 -0
  210. package/lib/typescript/module/src/modules/auth/sign-in/utils/jwt-claims.d.ts.map +1 -0
  211. package/lib/typescript/module/src/modules/auth/utils/sign-out-google.web.d.ts +3 -0
  212. package/lib/typescript/module/src/modules/auth/utils/sign-out-google.web.d.ts.map +1 -0
  213. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  214. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
  215. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/telebgm.protocol.d.ts +34 -0
  216. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/telebgm.protocol.d.ts.map +1 -0
  217. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/telebgm.sequencer.d.ts +32 -0
  218. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/telebgm.sequencer.d.ts.map +1 -0
  219. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  220. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +7 -1
  221. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  222. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +2 -0
  223. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  224. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -1
  225. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  226. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +2 -1
  227. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  228. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -3
  229. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -1
  230. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.d.ts.map +1 -1
  231. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +5 -2
  232. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  233. package/lib/typescript/module/src/modules/bt-management/utils/calculate-crc-16-modbus.d.ts +3 -0
  234. package/lib/typescript/module/src/modules/bt-management/utils/calculate-crc-16-modbus.d.ts.map +1 -0
  235. package/lib/typescript/module/src/modules/bt-management/utils/tenths-mmol-to-mg-per-dl.d.ts +3 -0
  236. package/lib/typescript/module/src/modules/bt-management/utils/tenths-mmol-to-mg-per-dl.d.ts.map +1 -0
  237. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  238. package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts +1 -1
  239. package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
  240. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  241. package/lib/typescript/module/src/modules/data-sync/utils/default-health-coding.d.ts +10 -0
  242. package/lib/typescript/module/src/modules/data-sync/utils/default-health-coding.d.ts.map +1 -0
  243. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  244. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","TmbCommandSequencer","TmbFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","protocol","startBytes","fileTransfer","clear","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","afterTransfer","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","reportHistoryOnce","has","add","info","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","decodeBP2File","BTManagedDevice","LepuCommandBuilder","LepuEcgTransferSequencer","LepuFrameReader","TmbCommandSequencer","TmbFrameReader","decodeViatomBp3File","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","selectLepu","CustomDevice","reportedHistoryIds","Set","validators","Map","sessionAggregates","constructor","device","params","definition","oneReadingPerConnection","frameHandler","createFrameHandler","sessionPolicy","deviceData","clockSync","deliveredFileNames","deliveredEcgFileNames","selectedLepu","lepu","manufacturerData","undefined","mainServices","manufacturerDataProtocol","filter","service","uuid","write","serviceUuid","frameReader","stuckDataTimeout","reportsBondedEvent","syncsCurrentTime","preferredMtu","declareLepuProtocol","declareTmbProtocol","declareSequencerFactory","frames","forEach","frame","set","create","createCommandSequencer","deviceId","id","recordCursorStorage","tmb","protocol","startBytes","fileTransfer","clear","characteristicUuid","builder","rejectEncryptionAtBytes","expectedDeviceTypes","onIdentified","onRefused","onIdentityRefused","onFile","reportViatomEcgFile","reportViatomBp2File","reportViatomBp3File","skipFiles","acceptFile","name","ecgFileDecoder","test","pollCommand","pollIntervalMs","afterTransfer","build","onError","reason","Error","onProgress","progress","onConnectionEvent","kind","current","receivedBytes","total","totalBytes","file","decoded","content","samples","length","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","reportHistoryOnce","has","add","info","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","parsingCase","requiresStream","isMeasuring","OTHER","handleFrame","parsedData","handlerOnly","captureSessionSample","STREAM","shouldReportDependentResult","reportFrame","error","_data","handleSuccessResult","successResult","collectedValues","emit","reading","handleMeasurementEnd","policy","aggregates","values","sessionStartedAt","aggregate","count","minSamples","summary","sample","Object","fromEntries","sums","entries","map","sessionAverage","decorateReading","value","decimals","fields","Math","trunc","Number","toFixed","measurements","frameRecordedAt","Date","measurement","createMeasurement","rejection","measurementRejection","policyFor","key","existing","readingFields","fieldNames","recordOffset","decorate","repeated","repeatedRecords","report","records","floor","from","recordBytes","record","discard","reportMeasurement","parsedFields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["PREFERRED_MTU","defineCustomDevice","CHECKME_NOTIFY","CHECKME_SERVICE","CHECKME_WRITE","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","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","map","service","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PREFERRED_MTU","defineCustomDevice","CHECKME_NOTIFY","CHECKME_SERVICE","CHECKME_WRITE","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","MINIMUM_MTU","DEFAULT_STUCK_TIMEOUT_MS","START_BYTE","lepuTransports","standard","serviceUuid","notifyUuid","writeUuid","preferredMtu","standardSmallMtu","aw1","ding","aiTele","COMMAND_BYTE","lepuDevice","params","transport","viatomOxygen","protocol","monitor","each","uuid","frame","minLengthBytes","caseSelectorBytes","undefined","cases","services","v2","id","nameMatch","matchByService","stuckDataTimeoutMs","clockSync","sessionPolicy","lepu","startBytes","manufacturerDataProtocol","requestStartByte","rejectEncryptionAtBytes","write","characteristicUuid","expectedDeviceTypes","fileTransfer","ecgFileDecoder","pollCommand","pollIntervalMs","writeWithoutResponse","setClockBeforeInfo","clockSyncProtocol","map","service","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.transports.ts"],"mappings":"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","ignoreList":[]}
@@ -23,28 +23,85 @@ const recordedAtFromViatomFileName = name => {
23
23
  }
24
24
  return validDate(2000 + Number(digits.slice(0, 2)), Number(digits.slice(2, 4)), Number(digits.slice(4, 6)), Number(digits.slice(6, 8)), Number(digits.slice(8, 10)), Number(digits.slice(10, 12)));
25
25
  };
26
- 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;
27
26
 
28
- /** Decodes the official ER1/ER2 file container and its signed ECG samples. */
27
+ /** The file version and reserved bytes that precede the waveform. */
28
+ const FILE_HEAD_BYTES = 10;
29
+
30
+ /** The bytes after the waveform, opened by the recording time in seconds. */
31
+ const FILE_TAIL_BYTES = 20;
32
+
33
+ /** The count Viatom stores where the recorder had no signal. */
34
+ const NO_SIGNAL_COUNT = 0x7fff;
35
+
36
+ /** A large step's extra byte counts on from the largest one-byte step. */
37
+ const LARGE_STEP_BASE = 127;
38
+
39
+ /** How far the decoded length may stray from the recorded time before a file is refused. */
40
+ const RECORDED_TIME_TOLERANCE_SECONDS = 1;
41
+
42
+ /** A decoded ER1/ER2 recording. */
43
+
44
+ const emptyRecording = () => ({
45
+ samples: [],
46
+ duration: 0
47
+ });
48
+ const toInt8 = byte => byte << 24 >> 24;
49
+ const toInt16 = value => value << 16 >> 16;
50
+ const ONE_BYTE_STEP = {
51
+ width: 1,
52
+ next: (current, bytes, at) => current + toInt8(bytes[at] ?? 0)
53
+ };
54
+
55
+ /** Marker bytes that escape the one-byte step. */
56
+ const ESCAPED_STEPS = new Map([[0x80, {
57
+ width: 3,
58
+ next: (_current, bytes, at) => (bytes[at + 1] ?? 0) | (bytes[at + 2] ?? 0) << 8
59
+ }], [0x7f, {
60
+ width: 2,
61
+ next: (current, bytes, at) => current + (bytes[at + 1] ?? 0) + LARGE_STEP_BASE
62
+ }], [0x81, {
63
+ width: 2,
64
+ next: (current, bytes, at) => current - (bytes[at + 1] ?? 0) - LARGE_STEP_BASE
65
+ }]]);
66
+
67
+ /** Expands Viatom's delta-compressed waveform into signed counts. */
68
+ const decompressWaveform = bytes => {
69
+ const counts = [];
70
+ let current = 0;
71
+ let at = 0;
72
+ while (at < bytes.length) {
73
+ const step = ESCAPED_STEPS.get(bytes[at] ?? 0) ?? ONE_BYTE_STEP;
74
+ if (at + step.width > bytes.length) {
75
+ break;
76
+ }
77
+ current = toInt16(step.next(current, bytes, at));
78
+ counts.push(current);
79
+ at += step.width;
80
+ }
81
+ return counts;
82
+ };
83
+ const readUInt32LittleEndian = (bytes, from) => ((bytes[from] ?? 0) | (bytes[from + 1] ?? 0) << 8 | (bytes[from + 2] ?? 0) << 16 | (bytes[from + 3] ?? 0) << 24) >>> 0;
84
+ const matchesRecordedTime = (sampleCount, seconds) => seconds > 0 && Math.abs(sampleCount - seconds * VIATOM_ECG_SAMPLE_RATE_HZ) <= RECORDED_TIME_TOLERANCE_SECONDS * VIATOM_ECG_SAMPLE_RATE_HZ;
85
+ const toMillivolts = count => count === NO_SIGNAL_COUNT ? 0 : count * VIATOM_ECG_MILLIVOLTS_PER_COUNT;
86
+
87
+ /**
88
+ * Decodes an ER1/ER2 recording. A file whose waveform does not last as long as its tail
89
+ * records is returned empty, because that file is in a format this decoder does not read.
90
+ */
29
91
  const decodeViatomEcgRecording = content => {
30
- if (content.length <= 30) {
31
- return {
32
- samples: [],
33
- duration: 0
34
- };
92
+ if (content.length <= FILE_HEAD_BYTES + FILE_TAIL_BYTES) {
93
+ return emptyRecording();
35
94
  }
36
- const waveStart = 10;
37
- const waveEnd = content.length - 20;
38
- const samples = [];
39
- for (let index = waveStart; index + 1 < waveEnd; index += 2) {
40
- const raw = hexToByte(content[index] ?? "0") | hexToByte(content[index + 1] ?? "0") << 8;
41
- const signed = raw & 0x8000 ? raw - 0x10000 : raw;
42
- samples.push(raw === 0x7fff ? 0 : signed * VIATOM_ECG_MILLIVOLTS_PER_COUNT);
95
+ const bytes = content.map(hexToByte);
96
+ const tailStart = bytes.length - FILE_TAIL_BYTES;
97
+ const duration = readUInt32LittleEndian(bytes, tailStart);
98
+ const counts = decompressWaveform(bytes.slice(FILE_HEAD_BYTES, tailStart));
99
+ if (!matchesRecordedTime(counts.length, duration)) {
100
+ return emptyRecording();
43
101
  }
44
- const recordedSeconds = readUInt32LittleEndian(content, content.length - 20);
45
102
  return {
46
- samples,
47
- duration: recordedSeconds || samples.length / VIATOM_ECG_SAMPLE_RATE_HZ
103
+ samples: counts.map(toMillivolts),
104
+ duration
48
105
  };
49
106
  };
50
107
  export { decodeViatomEcgRecording, recordedAtFromViatomFileName, VIATOM_ECG_MILLIVOLTS_PER_COUNT, VIATOM_ECG_SAMPLE_RATE_HZ };
@@ -1 +1 @@
1
- {"version":3,"names":["hexToByte","VIATOM_ECG_SAMPLE_RATE_HZ","VIATOM_ECG_MILLIVOLTS_PER_COUNT","validDate","year","month","day","hour","minute","second","date","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","recordedAtFromViatomFileName","name","digits","match","length","Number","slice","readUInt32LittleEndian","bytes","from","decodeViatomEcgRecording","content","samples","duration","waveStart","waveEnd","index","raw","signed","push","recordedSeconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["hexToByte","VIATOM_ECG_SAMPLE_RATE_HZ","VIATOM_ECG_MILLIVOLTS_PER_COUNT","validDate","year","month","day","hour","minute","second","date","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","recordedAtFromViatomFileName","name","digits","match","length","Number","slice","FILE_HEAD_BYTES","FILE_TAIL_BYTES","NO_SIGNAL_COUNT","LARGE_STEP_BASE","RECORDED_TIME_TOLERANCE_SECONDS","emptyRecording","samples","duration","toInt8","byte","toInt16","value","ONE_BYTE_STEP","width","next","current","bytes","at","ESCAPED_STEPS","Map","_current","decompressWaveform","counts","step","get","push","readUInt32LittleEndian","from","matchesRecordedTime","sampleCount","seconds","Math","abs","toMillivolts","count","decodeViatomEcgRecording","content","map","tailStart"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-files.ts"],"mappings":"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","ignoreList":[]}
@@ -79,8 +79,8 @@ const declareRecorder = (advertisedName, profile, params) => lepuDevice({
79
79
  ...(profile.fileTransfer === undefined ? {} : {
80
80
  fileTransfer: profile.fileTransfer
81
81
  }),
82
- ...(RAW_ECG_MODEL_NAMES.has(advertisedName) ? {
83
- ecgFileDecoder: "raw-int16"
82
+ ...(DECODED_ECG_MODEL_NAMES.has(advertisedName) ? {
83
+ ecgFileDecoder: "viatom-compressed"
84
84
  } : {})
85
85
  });
86
86
 
@@ -119,8 +119,8 @@ const ER1_MODEL_NAMES = ["ER1", "ER1-H", "ER1-L", "ER1-S", "ER1-SP", "ER1-W", "E
119
119
  /** The names the ER2 recorders advertise, all of them on the small-MTU link. */
120
120
  const ER2_MODEL_NAMES = ["ER2", "ER2-S", "HHM2", "HHM3", "LP ER2", "DuoEK", "CMTouch", "EM-B", "EM-W"];
121
121
 
122
- /** These are the only Viatom recorders whose stored waveform is verified raw int16. */
123
- const RAW_ECG_MODEL_NAMES = new Set(["ER1-L", "ER1-S", "ER1-W"]);
122
+ /** The recorders whose stored recordings are decoded; the rest report live heart rate. */
123
+ const DECODED_ECG_MODEL_NAMES = new Set(["ER1-L", "ER1-S", "ER1-W"]);
124
124
 
125
125
  /** The ER3 family is identified separately from the ER1/ER2 opcode family. */
126
126
  const ER3_MODEL_NAMES = ["ER3", "M5", "M12"];
@@ -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","toLowerCase","replace","nameMatch","transport","clockSync","sessionPolicy","minSamples","emit","pollCommand","minLengthBytes","heartRateBytes","caseSelectorBytes","cases","selector","toString","padStart","kind","measurementTypeKey","heartRate","description","fields","name","byteIndexes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","undefined","RAW_ECG_MODEL_NAMES","has","ecgFileDecoder","er1Recorder","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES","Set","ER3_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","clockSync","sessionPolicy","minSamples","emit","pollCommand","minLengthBytes","heartRateBytes","caseSelectorBytes","cases","selector","toString","padStart","kind","measurementTypeKey","heartRate","description","fields","name","byteIndexes","byteOrder","encoding","unit","expectedDeviceTypes","fileTransfer","undefined","DECODED_ECG_MODEL_NAMES","has","ecgFileDecoder","er1Recorder","er2Recorder","er3Recorder","ER1_MODEL_NAMES","ER2_MODEL_NAMES","Set","ER3_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,8 @@
3
3
  /* eslint-disable import/group-exports */
4
4
 
5
5
  import { byteToHex } from "../../../utils/bytes-to-hex.js";
6
+ import { calculateCrc16Modbus } from "../../../utils/calculate-crc-16-modbus.js";
7
+ import { frameBytes } from "../../../utils/frame-bytes.js";
6
8
  import { complete, corrupt, incomplete, noFrameStart } from "../../../utils/frame-read-results.js";
7
9
  import { hexToByte } from "../../../utils/hex-to-byte.js";
8
10
  export const WBP02_CONTROL_SERVICE = "0000ffe5-0000-1000-8000-00805f9b34fb";
@@ -12,13 +14,7 @@ export const WBP02_NOTIFY = "0000ffe4-0000-1000-8000-00805f9b34fb";
12
14
 
13
15
  /** CRC-16 used by the WBP-02 service, returned low byte first. */
14
16
  export const wbp02Crc = bytes => {
15
- let crc = 0xffff;
16
- for (const value of bytes) {
17
- crc ^= hexToByte(value);
18
- for (let bit = 0; bit < 8; bit += 1) {
19
- crc = (crc & 1) !== 0 ? crc >>> 1 ^ 0xa001 : crc >>> 1;
20
- }
21
- }
17
+ const crc = calculateCrc16Modbus(frameBytes(bytes));
22
18
  return [byteToHex(crc), byteToHex(crc >> 8)];
23
19
  };
24
20
  export const wbp02Command = (command, payload = []) => {
@@ -1 +1 @@
1
- {"version":3,"names":["byteToHex","complete","corrupt","incomplete","noFrameStart","hexToByte","WBP02_CONTROL_SERVICE","WBP02_WRITE","WBP02_DATA_SERVICE","WBP02_NOTIFY","wbp02Crc","bytes","crc","value","bit","wbp02Command","command","payload","body","length","map","wbp02Connect","wbp02SyncTime","date","Date","getFullYear","getMonth","getDate","getHours","getMinutes","wbp02Login","wbp02RecordCount","wbp02Record","index","decodeWbp02Response","frame","undefined","slice","at","content","parseWbp02Record","offset","year","month","day","hour","minute","recordedAt","systolic","diastolic","heartRate","recordingId","toISOString","Wbp02FrameReader","readFrame","buffer","start","findIndex"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.ts"],"mappings":";;AAAA;;AAIA,SAASA,SAAS,QAAQ,gCAA6B;AACvD,SACEC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,YAAY,QACP,sCAAmC;AAC1C,SAASC,SAAS,QAAQ,+BAA4B;AAEtD,OAAO,MAAMC,qBAAqB,GAAG,sCAAsC;AAC3E,OAAO,MAAMC,WAAW,GAAG,sCAAsC;AACjE,OAAO,MAAMC,kBAAkB,GAAG,sCAAsC;AACxE,OAAO,MAAMC,YAAY,GAAG,sCAAsC;;AAElE;AACA,OAAO,MAAMC,QAAQ,GAAIC,KAAwB,IAAuB;EACtE,IAAIC,GAAG,GAAG,MAAM;EAEhB,KAAK,MAAMC,KAAK,IAAIF,KAAK,EAAE;IACzBC,GAAG,IAAIP,SAAS,CAACQ,KAAK,CAAC;IACvB,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAG,CAAC,EAAEA,GAAG,IAAI,CAAC,EAAE;MACnCF,GAAG,GAAG,CAACA,GAAG,GAAG,CAAC,MAAM,CAAC,GAAIA,GAAG,KAAK,CAAC,GAAI,MAAM,GAAGA,GAAG,KAAK,CAAC;IAC1D;EACF;EAEA,OAAO,CAACZ,SAAS,CAACY,GAAG,CAAC,EAAEZ,SAAS,CAACY,GAAG,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,OAAO,MAAMG,YAAY,GAAGA,CAC1BC,OAAe,EACfC,OAA0B,GAAG,EAAE,KAClB;EACb,MAAMC,IAAI,GAAG,CACX,IAAI,EACJlB,SAAS,CAACiB,OAAO,CAACE,MAAM,GAAG,CAAC,CAAC,EAC7BnB,SAAS,CAACgB,OAAO,CAAC,EAClB,GAAGC,OAAO,CAACG,GAAG,CAACpB,SAAS,CAAC,CAC1B;EAED,OAAO,CAAC,GAAGkB,IAAI,EAAE,GAAGR,QAAQ,CAACQ,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,OAAO,MAAMG,YAAY,GAAGA,CAAA,KAAgBN,YAAY,CAAC,IAAI,CAAC;AAC9D,OAAO,MAAMO,aAAa,GAAGA,CAACC,IAAI,GAAG,IAAIC,IAAI,CAAC,CAAC,KAC7CT,YAAY,CAAC,IAAI,EAAE,CACjBQ,IAAI,CAACE,WAAW,CAAC,CAAC,GAAG,GAAG,EACxBF,IAAI,CAACG,QAAQ,CAAC,CAAC,GAAG,CAAC,EACnBH,IAAI,CAACI,OAAO,CAAC,CAAC,EACdJ,IAAI,CAACK,QAAQ,CAAC,CAAC,EACfL,IAAI,CAACM,UAAU,CAAC,CAAC,CAClB,CAAC;AACJ,OAAO,MAAMC,UAAU,GAAGA,CAAA,KACxBf,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACxC,OAAO,MAAMgB,gBAAgB,GAAGA,CAAA,KAAgBhB,YAAY,CAAC,IAAI,CAAC;AAClE,OAAO,MAAMiB,WAAW,GAAIC,KAAa,IACvClB,YAAY,CAAC,IAAI,EAAE,CAAEkB,KAAK,IAAI,CAAC,GAAI,IAAI,EAAEA,KAAK,GAAG,IAAI,CAAC,CAAC;AAOzD,OAAO,MAAMC,mBAAmB,GAC9BC,KAAwB,IACM;EAC9B,MAAMhB,MAAM,GAAGd,SAAS,CAAC8B,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;EAE1C,IACE9B,SAAS,CAAC8B,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IACpChB,MAAM,GAAG,CAAC,IACVgB,KAAK,CAAChB,MAAM,GAAGA,MAAM,EAErB;IAAC,OAAOiB,SAAS;EAAC;EACpB,MAAMnC,QAAQ,GAAGkC,KAAK,CAACE,KAAK,CAAC,CAAC,EAAElB,MAAM,CAAC;EACvC,MAAMP,GAAG,GAAGF,QAAQ,CAACT,QAAQ,CAACoC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAE3C,IAAIpC,QAAQ,CAACqC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK1B,GAAG,CAAC,CAAC,CAAC,IAAIX,QAAQ,CAACqC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK1B,GAAG,CAAC,CAAC,CAAC,EAC1D;IAAC,OAAOwB,SAAS;EAAC;EAEpB,OAAO;IACLpB,OAAO,EAAEX,SAAS,CAACJ,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACvCsC,OAAO,EAAEtC,QAAQ,CAACoC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;EAC/B,CAAC;AACH,CAAC;AAUD,OAAO,MAAMG,gBAAgB,GAC3BD,OAA0B,IACE;EAC5B,IAAIA,OAAO,CAACpB,MAAM,GAAG,EAAE,EAAE;IAAC,OAAOiB,SAAS;EAAC;EAC3C,MAAMvB,KAAK,GAAI4B,MAAc,IAC1BpC,SAAS,CAACkC,OAAO,CAACE,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GACxCpC,SAAS,CAACkC,OAAO,CAACE,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;EAExC,MAAMC,IAAI,GAAG,IAAI,GAAGrC,SAAS,CAACkC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;EACjD,MAAMI,KAAK,GAAGtC,SAAS,CAACkC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;EAC3C,MAAMK,GAAG,GAAGvC,SAAS,CAACkC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;EACzC,MAAMM,IAAI,GAAGxC,SAAS,CAACkC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;EAC1C,MAAMO,MAAM,GAAGzC,SAAS,CAACkC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;EAE7C,IACEI,KAAK,GAAG,CAAC,IACTA,KAAK,GAAG,EAAE,IACVC,GAAG,GAAG,CAAC,IACPA,GAAG,GAAG,EAAE,IACR/B,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IACbA,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IACdA,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IACbA,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAEd;IAAC,OAAOuB,SAAS;EAAC;EACpB,MAAMW,UAAU,GAAG,IAAIvB,IAAI,CAACkB,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAEC,GAAG,EAAEC,IAAI,EAAEC,MAAM,CAAC;EAE/D,OAAO;IACLE,QAAQ,EAAEnC,KAAK,CAAC,CAAC,CAAC;IAClBoC,SAAS,EAAEpC,KAAK,CAAC,CAAC,CAAC;IACnBqC,SAAS,EAAErC,KAAK,CAAC,CAAC,CAAC;IACnBkC,UAAU;IACVI,WAAW,EAAE,SAASJ,UAAU,CAACK,WAAW,CAAC,CAAC;EAChD,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,gBAAgB,CAAwB;EAC5CC,SAASA,CAACC,MAAyB,EAAmB;IAC3D,MAAMC,KAAK,GAAGD,MAAM,CAACE,SAAS,CAAE5C,KAAK,IAAKR,SAAS,CAACQ,KAAK,CAAC,KAAK,IAAI,CAAC;IAEpE,IAAI2C,KAAK,GAAG,CAAC,EAAE;MAAC,OAAOpD,YAAY,CAACmD,MAAM,CAAC;IAAC;IAC5C,IAAIC,KAAK,GAAG,CAAC,GAAGD,MAAM,CAACpC,MAAM,EAAE;MAAC,OAAOhB,UAAU,CAACqD,KAAK,CAAC;IAAC;IACzD,MAAMrC,MAAM,GAAGd,SAAS,CAACkD,MAAM,CAACC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAEnD,IAAIrC,MAAM,GAAG,CAAC,EAAE;MAAC,OAAOjB,OAAO,CAACsD,KAAK,GAAG,CAAC,CAAC;IAAC;IAC3C,IAAIA,KAAK,GAAGrC,MAAM,GAAGoC,MAAM,CAACpC,MAAM,EAAE;MAAC,OAAOhB,UAAU,CAACqD,KAAK,CAAC;IAAC;IAC9D,MAAMrB,KAAK,GAAGoB,MAAM,CAAClB,KAAK,CAACmB,KAAK,EAAEA,KAAK,GAAGrC,MAAM,CAAC;IAEjD,IAAI,CAACe,mBAAmB,CAACC,KAAK,CAAC,EAAE;MAAC,OAAOjC,OAAO,CAACsD,KAAK,GAAG,CAAC,CAAC;IAAC;IAE5D,OAAOvD,QAAQ,CAACkC,KAAK,EAAEqB,KAAK,GAAGrC,MAAM,CAAC;EACxC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["byteToHex","calculateCrc16Modbus","frameBytes","complete","corrupt","incomplete","noFrameStart","hexToByte","WBP02_CONTROL_SERVICE","WBP02_WRITE","WBP02_DATA_SERVICE","WBP02_NOTIFY","wbp02Crc","bytes","crc","wbp02Command","command","payload","body","length","map","wbp02Connect","wbp02SyncTime","date","Date","getFullYear","getMonth","getDate","getHours","getMinutes","wbp02Login","wbp02RecordCount","wbp02Record","index","decodeWbp02Response","frame","undefined","slice","at","content","parseWbp02Record","value","offset","year","month","day","hour","minute","recordedAt","systolic","diastolic","heartRate","recordingId","toISOString","Wbp02FrameReader","readFrame","buffer","start","findIndex"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/viatom/viatom.wbp02.protocol.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ const INITIAL_VALUE = 0xffff;
4
+ const REFLECTED_POLYNOMIAL = 0xa001;
5
+ const BITS_PER_BYTE = 8;
6
+
7
+ /** CRC-16/MODBUS (reflected polynomial 0xA001, initial value 0xFFFF); its low byte is the one sent first. */
8
+ export const calculateCrc16Modbus = bytes => {
9
+ let crc = INITIAL_VALUE;
10
+ for (const value of bytes) {
11
+ crc ^= value;
12
+ for (let bit = 0; bit < BITS_PER_BYTE; bit += 1) {
13
+ crc = (crc & 1) !== 0 ? crc >>> 1 ^ REFLECTED_POLYNOMIAL : crc >>> 1;
14
+ }
15
+ }
16
+ return crc;
17
+ };
18
+ //# sourceMappingURL=calculate-crc-16-modbus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INITIAL_VALUE","REFLECTED_POLYNOMIAL","BITS_PER_BYTE","calculateCrc16Modbus","bytes","crc","value","bit"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/calculate-crc-16-modbus.ts"],"mappings":";;AAAA,MAAMA,aAAa,GAAG,MAAM;AAC5B,MAAMC,oBAAoB,GAAG,MAAM;AACnC,MAAMC,aAAa,GAAG,CAAC;;AAEvB;AACA,OAAO,MAAMC,oBAAoB,GAAIC,KAAwB,IAAa;EACxE,IAAIC,GAAG,GAAGL,aAAa;EAEvB,KAAK,MAAMM,KAAK,IAAIF,KAAK,EAAE;IACzBC,GAAG,IAAIC,KAAK;IACZ,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGL,aAAa,EAAEK,GAAG,IAAI,CAAC,EAAE;MAC/CF,GAAG,GAAG,CAACA,GAAG,GAAG,CAAC,MAAM,CAAC,GAAIA,GAAG,KAAK,CAAC,GAAIJ,oBAAoB,GAAGI,GAAG,KAAK,CAAC;IACxE;EACF;EAEA,OAAOA,GAAG;AACZ,CAAC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ /** One mmol/L of glucose (180.16 g/mol) is 18.016 mg/dL, as in the SIG glucose profile. */
4
+ const MG_PER_DL_PER_MMOL_PER_L = 18.016;
5
+
6
+ /** Glucose in tenths of a mmol/L, rounded to whole mg/dL. */
7
+ export const tenthsMmolToMgPerDl = tenthsMmol => Math.round(tenthsMmol / 10 * MG_PER_DL_PER_MMOL_PER_L);
8
+ //# sourceMappingURL=tenths-mmol-to-mg-per-dl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MG_PER_DL_PER_MMOL_PER_L","tenthsMmolToMgPerDl","tenthsMmol","Math","round"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/tenths-mmol-to-mg-per-dl.ts"],"mappings":";;AAAA;AACA,MAAMA,wBAAwB,GAAG,MAAM;;AAEvC;AACA,OAAO,MAAMC,mBAAmB,GAAIC,UAAkB,IACpDC,IAAI,CAACC,KAAK,CAAEF,UAAU,GAAG,EAAE,GAAIF,wBAAwB,CAAC","ignoreList":[]}
@@ -4,12 +4,12 @@
4
4
 
5
5
  import { MeasurementTypeKey } from "@ovok/core/next";
6
6
  import { getHealthDataMode, HealthDataType } from "../../types/health-sync-keys.js";
7
+ import { getDefaultHealthCoding } from "../../utils/default-health-coding.js";
7
8
  import { getHealthRecordSourceId, getHealthRecordSyncId } from "../../utils/get-health-record-sync-id.js";
8
9
  import { getLatestObservationDatesByCode } from "../../utils/get-latest-observation-dates-by-code.js";
9
10
  import { getLatestValidStartDate } from "../../utils/get-latest-valid-start-date.js";
10
11
  import { groupSamplesByInterval } from "../../utils/group-samples-by-interval.js";
11
12
  import { groupSleepSamples } from "../../utils/group-sleep-samples.js";
12
- import { getHealthDataCoding } from "../../utils/health-data-catalog.js";
13
13
  import { identifyImportedObservations } from "../../utils/identify-imported-observations.js";
14
14
  export class DataProcessor {
15
15
  constructor(client, patientId, provider, chunkSize, storageManager, getTotalCountsFunction, getDataFromProviderFunction, getConverterFunction) {
@@ -27,7 +27,7 @@ export class DataProcessor {
27
27
  return entries.flatMap(([key, data]) => data?.typeIdentifiers.map(({
28
28
  typeIdentifier,
29
29
  code
30
- }) => String(code ?? getHealthDataCoding(this.provider, String(typeIdentifier), getHealthDataMode(key, data.mode)).code)) ?? []);
30
+ }) => String(code ?? getDefaultHealthCoding(this.provider, key, String(typeIdentifier), getHealthDataMode(key, data.mode)).code)) ?? []);
31
31
  }
32
32
  async getLatestObservationDates(dataToSync) {
33
33
  const codes = this.extractCodes(dataToSync);
@@ -61,12 +61,12 @@ export class DataProcessor {
61
61
  system,
62
62
  display
63
63
  }) => {
64
- const catalogCoding = getHealthDataCoding(this.provider, String(typeIdentifier), mode);
64
+ const defaultCoding = getDefaultHealthCoding(this.provider, measurementTypeKey, String(typeIdentifier), mode);
65
65
  return {
66
66
  typeIdentifier: String(typeIdentifier),
67
- code: String(code ?? catalogCoding.code),
68
- system: system ?? (code ? undefined : catalogCoding.system),
69
- display: display ?? (code ? undefined : catalogCoding.display)
67
+ code: String(code ?? defaultCoding.code),
68
+ system: system ?? (code ? undefined : defaultCoding.system),
69
+ display: display ?? (code ? undefined : defaultCoding.display)
70
70
  };
71
71
  });
72
72
  const typeIdentifierCodes = Object.fromEntries(configuredCodings.map(({
@@ -150,7 +150,7 @@ export class DataProcessor {
150
150
  code
151
151
  }) => ({
152
152
  typeIdentifier,
153
- code: code ?? getHealthDataCoding(this.provider, String(typeIdentifier), resolvedMode).code
153
+ code: code ?? getDefaultHealthCoding(this.provider, measurementTypeKey, String(typeIdentifier), resolvedMode).code
154
154
  }))
155
155
  };
156
156
  return getLatestValidStartDate({
@@ -1 +1 @@
1
- {"version":3,"names":["MeasurementTypeKey","getHealthDataMode","HealthDataType","getHealthRecordSourceId","getHealthRecordSyncId","getLatestObservationDatesByCode","getLatestValidStartDate","groupSamplesByInterval","groupSleepSamples","getHealthDataCoding","identifyImportedObservations","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","entries","Object","flatMap","key","data","typeIdentifiers","map","typeIdentifier","code","String","mode","getLatestObservationDates","codes","getTotalRecordsCountForType","measurementTypeKey","latestValidStartDate","totalCounts","Promise","all","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","configuredCodings","system","display","catalogCoding","undefined","typeIdentifierCodes","fromEntries","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","results","result","newAnchors","flat","filter","Boolean","allData","deletedRecordIds","dataGroups","sleep","bloodPressure","observationBodies","group","length","observationSyncIds","observationRecordIds","hasMore","some","anchors","identifyObservations","groupedObservationBodies","groupedObservationSyncIds","groupedRecordIds","latestObservationDates","resolvedMode","resolvedData"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MeasurementTypeKey","getHealthDataMode","HealthDataType","getDefaultHealthCoding","getHealthRecordSourceId","getHealthRecordSyncId","getLatestObservationDatesByCode","getLatestValidStartDate","groupSamplesByInterval","groupSleepSamples","identifyImportedObservations","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","entries","Object","flatMap","key","data","typeIdentifiers","map","typeIdentifier","code","String","mode","getLatestObservationDates","codes","getTotalRecordsCountForType","measurementTypeKey","latestValidStartDate","totalCounts","Promise","all","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","configuredCodings","system","display","defaultCoding","undefined","typeIdentifierCodes","fromEntries","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","results","result","newAnchors","flat","filter","Boolean","allData","deletedRecordIds","dataGroups","sleep","bloodPressure","observationBodies","group","length","observationSyncIds","observationRecordIds","hasMore","some","anchors","identifyObservations","groupedObservationBodies","groupedObservationSyncIds","groupedRecordIds","latestObservationDates","resolvedMode","resolvedData"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":"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","ignoreList":[]}
@@ -140,8 +140,10 @@ const getMeasurement = (value, mode, interval, typeIdentifier) => {
140
140
  };
141
141
  const extractValue = raw => {
142
142
  if (typeof raw.quantity === "number") {
143
+ // HealthKit's percent unit counts 1 as 100%.
144
+ const value = raw.unit === "%" ? raw.quantity * 100 : raw.quantity;
143
145
  return {
144
- value: raw.quantity,
146
+ value,
145
147
  unit: String(raw.unit ?? "1")
146
148
  };
147
149
  }
@@ -164,7 +166,7 @@ const extractValue = raw => {
164
166
  };
165
167
  }
166
168
  }
167
- const scalarCandidates = [["count", "count"], ["floors", "count"], ["rate", "count/min"], ["beatsPerMinute", "count/min"], ["percentage", "%"], ["vo2MillilitersPerMinuteKilogram", "mL/kg/min"]];
169
+ const scalarCandidates = [["count", "count"], ["floors", "count"], ["rate", "count/min"], ["beatsPerMinute", "count/min"], ["percentage", "%"], ["vo2MillilitersPerMinuteKilogram", "mL/kg/min"], ["heartRateVariabilityMillis", "ms"]];
168
170
  for (const [key, unit] of scalarCandidates) {
169
171
  if (typeof raw[key] === "number") {
170
172
  return {
@@ -303,7 +305,10 @@ const getStableObservationId = ({
303
305
  }) => {
304
306
  const time = interval ? `${interval.start.toISOString()}-${interval.end.toISOString()}` : date?.toISOString() ?? "undated";
305
307
  const value = measurement.valueQuantity?.value ?? measurement.valueString ?? "empty";
306
- return `health-${[typeIdentifier, code, time, value].join("-").replace(/[^a-zA-Z0-9.-]/g, "-").slice(0, 64)}`;
308
+
309
+ // A code that repeats a long type would push the time past the cut, and every day would share one id.
310
+ const parts = code === typeIdentifier ? [typeIdentifier, time, value] : [typeIdentifier, code, time, value];
311
+ return `health-${parts.join("-").replace(/[^a-zA-Z0-9.-]/g, "-").slice(0, 64)}`;
307
312
  };
308
313
  export { convertGenericHealthDataToObservation, extractValue, getUcumCode };
309
314
  //# sourceMappingURL=convert-generic-health-data.js.map