@ovok/native 1.6.23 → 1.6.25

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 (136) hide show
  1. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +1 -1
  2. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  3. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +1 -1
  4. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +7 -1
  6. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +37 -0
  8. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +7 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-names.js +13 -4
  12. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.device-names.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.name-match.js +3 -0
  14. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.name-match.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +2 -0
  16. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js +31 -0
  18. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js.map +1 -0
  19. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +4 -1
  20. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +9 -4
  22. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +28 -0
  24. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-device.js +24 -3
  26. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-device.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-record.js +98 -0
  28. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-record.js.map +1 -0
  29. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js +215 -55
  30. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +16 -3
  32. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/types/clock-sync.js +1 -0
  34. package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/utils/convert-ecg-diagnostic-flag.js +19 -27
  36. package/lib/commonjs/modules/bt-management/utils/convert-ecg-diagnostic-flag.js.map +1 -1
  37. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +2 -2
  38. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  39. package/lib/module/modules/bt-device/constants/supported-devices.js +1 -1
  40. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  41. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +7 -1
  42. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  43. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +37 -0
  44. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  45. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +7 -1
  46. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  47. package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-names.js +13 -3
  48. package/lib/module/modules/bt-management/services/devices/lepu/lepu.device-names.js.map +1 -1
  49. package/lib/module/modules/bt-management/services/devices/lepu/lepu.name-match.js +4 -1
  50. package/lib/module/modules/bt-management/services/devices/lepu/lepu.name-match.js.map +1 -1
  51. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +2 -0
  52. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  53. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js +27 -0
  54. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js.map +1 -0
  55. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +4 -1
  56. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  57. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +4 -5
  58. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  59. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +28 -0
  60. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  61. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-device.js +24 -3
  62. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-device.js.map +1 -1
  63. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-record.js +92 -0
  64. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-record.js.map +1 -0
  65. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js +211 -50
  66. package/lib/module/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.js.map +1 -1
  67. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +16 -3
  68. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  69. package/lib/module/modules/bt-management/types/clock-sync.js +1 -0
  70. package/lib/module/modules/bt-management/types/clock-sync.js.map +1 -1
  71. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  72. package/lib/module/modules/bt-management/utils/convert-ecg-diagnostic-flag.js +19 -27
  73. package/lib/module/modules/bt-management/utils/convert-ecg-diagnostic-flag.js.map +1 -1
  74. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +8 -0
  78. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  80. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts +9 -3
  81. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -1
  84. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.d.ts +3 -0
  86. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.d.ts.map +1 -0
  87. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -1
  89. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +11 -0
  91. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts +2 -1
  93. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-record.d.ts +41 -0
  95. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-record.d.ts.map +1 -0
  96. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts +50 -18
  97. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +10 -0
  101. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +4 -1
  103. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/src/modules/bt-management/utils/convert-ecg-diagnostic-flag.d.ts.map +1 -1
  105. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  106. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  107. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  108. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +8 -0
  109. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  110. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  111. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts +9 -3
  112. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.device-names.d.ts.map +1 -1
  113. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.name-match.d.ts.map +1 -1
  114. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +3 -1
  115. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  116. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.d.ts +3 -0
  117. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.d.ts.map +1 -0
  118. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  119. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -1
  120. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  121. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +11 -0
  122. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  123. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts +2 -1
  124. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-device.d.ts.map +1 -1
  125. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-record.d.ts +41 -0
  126. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-record.d.ts.map +1 -0
  127. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts +50 -18
  128. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.ecg-transfer.d.ts.map +1 -1
  129. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  130. package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  131. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +10 -0
  132. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  133. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +4 -1
  134. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  135. package/lib/typescript/module/src/modules/bt-management/utils/convert-ecg-diagnostic-flag.d.ts.map +1 -1
  136. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_standardGattProfile","pulseAfterMeanPressure","fields","littleEndian","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","declareProfile","decorateReading","decorateBloodPressureReading","service","characteristic","measurementTypeKey","MeasurementTypeKey","bloodPressure","selectors","optionalFields","exports","standardThermometerDevice","temperature","fieldsBySelector","scale","offset","decimals","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","Array","from","length","_","flags","toString","padStart","Object","fromEntries","selector","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","filter","map","name","byteIndexes","encoding","unit","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_standardGattProfile","pulseAfterMeanPressure","fields","littleEndian","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","declareProfile","decorateReading","reading","frame","recordOffset","decorated","decorateBloodPressureReading","service","characteristic","measurementTypeKey","MeasurementTypeKey","bloodPressure","selectors","optionalFields","exports","standardThermometerDevice","temperature","fieldsBySelector","scale","offset","decimals","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","Array","from","length","_","flags","toString","padStart","Object","fromEntries","selector","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","filter","map","name","byteIndexes","encoding","unit","byteOrder"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":"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","ignoreList":[]}
@@ -3,9 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "bloodPressureStatusFromFrame", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _standardGattBloodPressureStatus.bloodPressureStatusFromFrame;
10
+ }
11
+ });
6
12
  exports.sigUuid = exports.recordedAtFromBloodPressureFrame = exports.littleEndian = exports.decorateBloodPressureReading = exports.declareProfile = void 0;
7
13
  var _bloodPressureStates = require("../../../types/blood-pressure-states.js");
8
14
  var _defineCustomDevice = require("../../custom/define-custom-device.js");
15
+ var _standardGattBloodPressureStatus = require("./standard-gatt.blood-pressure-status.js");
9
16
  /** Milliseconds a spot-check device may take to produce its reading. */
10
17
  const SPOT_CHECK_TIMEOUT_MS = 60_000;
11
18
  const sigUuid = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
@@ -112,10 +119,8 @@ const decorateBloodPressureReading = (reading, frame, recordOffset) => {
112
119
  cursor += 1;
113
120
  }
114
121
  if ((flags & 0x10) !== 0) {
115
- const statusLow = byteAt(frame, cursor, offset);
116
- const statusHigh = byteAt(frame, cursor + 1, offset);
117
- if (statusLow !== undefined && statusHigh !== undefined) {
118
- const status = statusLow | statusHigh << 8;
122
+ const status = (0, _standardGattBloodPressureStatus.bloodPressureStatusFromFrame)(frame, offset);
123
+ if (status !== undefined) {
119
124
  metadata.status = (status & 0x01) !== 0 ? _bloodPressureStates.BloodPressureStates.DISTURB_DETECTED : (status & 0x02) !== 0 ? _bloodPressureStates.BloodPressureStates.LOOSE_SLEEVE : _bloodPressureStates.BloodPressureStates.REGULAR;
120
125
  if ((status & 0x04) !== 0) {
121
126
  metadata.irregularHeartbeat = true;
@@ -1 +1 @@
1
- {"version":3,"names":["_bloodPressureStates","require","_defineCustomDevice","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","exports","declareProfile","params","profile","defineCustomDevice","id","measurementTypeKey","nameMatch","matchByService","undefined","oneReadingPerConnection","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","fields","fieldsBySelector","kind","decorateReading","littleEndian","name","byteIndexes","unit","encoding","byteOrder","byteAt","index","offset","value","Number","parseInt","isInteger","recordedAtFromBloodPressureFrame","flags","yearLow","yearHigh","month","day","hour","minute","second","year","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","decorateBloodPressureReading","reading","recordOffset","cursor","metadata","userId","memorySlot","statusLow","statusHigh","status","BloodPressureStates","DISTURB_DETECTED","LOOSE_SLEEVE","REGULAR","irregularHeartbeat","Object","keys","length"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bloodPressureStates","require","_defineCustomDevice","_standardGattBloodPressureStatus","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","exports","declareProfile","params","profile","defineCustomDevice","id","measurementTypeKey","nameMatch","matchByService","undefined","oneReadingPerConnection","stuckDataTimeoutMs","services","uuid","service","monitor","characteristic","frame","minLengthBytes","caseSelectorBytes","cases","selectors","map","selector","optional","optionalFields","fields","fieldsBySelector","kind","decorateReading","littleEndian","name","byteIndexes","unit","encoding","byteOrder","byteAt","index","offset","value","Number","parseInt","isInteger","recordedAtFromBloodPressureFrame","flags","yearLow","yearHigh","month","day","hour","minute","second","year","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","decorateBloodPressureReading","reading","recordOffset","cursor","metadata","userId","memorySlot","status","bloodPressureStatusFromFrame","BloodPressureStates","DISTURB_DETECTED","LOOSE_SLEEVE","REGULAR","irregularHeartbeat","Object","keys","length"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.verovalCompactMonitor = exports.bpw26Monitor = exports.bpu26Monitor = exports.VEROVAL_BP_MODEL_NAMES = void 0;
7
7
  var _standardGattDevices = require("../standard-gatt/standard-gatt.devices.js");
8
+ var _standardGattProfile = require("../standard-gatt/standard-gatt.profile.js");
8
9
  /**
9
10
  * The Veroval compact+ blood-pressure monitors.
10
11
  *
@@ -21,9 +22,36 @@ var _standardGattDevices = require("../standard-gatt/standard-gatt.devices.js");
21
22
 
22
23
  const BPU_26 = "BPU26";
23
24
  const BPW_26 = "BPW26";
25
+ const VEROVAL_TRIPLE_MEASUREMENT = 1 << 13;
26
+ const VEROVAL_ATRIAL_FIBRILLATION = 1 << 14;
27
+ const VEROVAL_RESTING_MEASUREMENT = 1 << 15;
28
+ const verovalStatusDecorator = supportedBits => (reading, frame, recordOffset) => {
29
+ if (!frame) {
30
+ return reading;
31
+ }
32
+ const status = (0, _standardGattProfile.bloodPressureStatusFromFrame)(frame, recordOffset);
33
+ if (status === undefined) {
34
+ return reading;
35
+ }
36
+ const metadata = {};
37
+ if ((supportedBits & VEROVAL_TRIPLE_MEASUREMENT) !== 0 && (status & VEROVAL_TRIPLE_MEASUREMENT) !== 0) {
38
+ metadata.tripleMeasurement = true;
39
+ }
40
+ if ((supportedBits & VEROVAL_ATRIAL_FIBRILLATION) !== 0 && (status & VEROVAL_ATRIAL_FIBRILLATION) !== 0) {
41
+ metadata.atrialFibrillation = true;
42
+ }
43
+ if ((supportedBits & VEROVAL_RESTING_MEASUREMENT) !== 0 && (status & VEROVAL_RESTING_MEASUREMENT) !== 0) {
44
+ metadata.restingMeasurement = true;
45
+ }
46
+ return Object.keys(metadata).length > 0 ? {
47
+ ...reading,
48
+ ...metadata
49
+ } : reading;
50
+ };
24
51
  const verovalCompactMonitor = (advertisedName, params) => (0, _standardGattDevices.standardBloodPressureDevice)({
25
52
  id: params.id ?? `veroval-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
26
53
  nameMatch: params.nameMatch ?? new RegExp(`^${advertisedName}$`, "i"),
54
+ decorateReading: advertisedName === BPU_26 ? verovalStatusDecorator(VEROVAL_TRIPLE_MEASUREMENT | VEROVAL_ATRIAL_FIBRILLATION | VEROVAL_RESTING_MEASUREMENT) : verovalStatusDecorator(VEROVAL_TRIPLE_MEASUREMENT),
27
55
  ...(params.stuckDataTimeoutMs === undefined ? {} : {
28
56
  stuckDataTimeoutMs: params.stuckDataTimeoutMs
29
57
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_standardGattDevices","require","BPU_26","BPW_26","verovalCompactMonitor","advertisedName","params","standardBloodPressureDevice","id","toLowerCase","replace","nameMatch","RegExp","stuckDataTimeoutMs","undefined","exports","bpu26Monitor","bpw26Monitor","VEROVAL_BP_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.bp-monitors.ts"],"mappings":";;;;;;AACA,IAAAA,oBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,MAAM,GAAG,OAAO;AACtB,MAAMC,MAAM,GAAG,OAAO;AActB,MAAMC,qBAAqB,GAAGA,CAC5BC,cAAsB,EACtBC,MAAuB,KAEvB,IAAAC,gDAA2B,EAAC;EAC1BC,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAI,WAAWH,cAAc,CAACI,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;EACtFC,SAAS,EAAEL,MAAM,CAACK,SAAS,IAAI,IAAIC,MAAM,CAAC,IAAIP,cAAc,GAAG,EAAE,GAAG,CAAC;EACrE,IAAIC,MAAM,CAACO,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEP,MAAM,CAACO;EAAmB,CAAC;AACvD,CAAC,CAAC;;AAEJ;AAAAE,OAAA,CAAAX,qBAAA,GAAAA,qBAAA;AACA,MAAMY,YAAY,GAAIV,MAAuB,IAC3CF,qBAAqB,CAACF,MAAM,EAAEI,MAAM,CAAC;;AAEvC;AAAAS,OAAA,CAAAC,YAAA,GAAAA,YAAA;AACA,MAAMC,YAAY,GAAIX,MAAuB,IAC3CF,qBAAqB,CAACD,MAAM,EAAEG,MAAM,CAAC;;AAEvC;AAAAS,OAAA,CAAAE,YAAA,GAAAA,YAAA;AACA,MAAMC,sBAAyC,GAAAH,OAAA,CAAAG,sBAAA,GAAG,CAAChB,MAAM,EAAEC,MAAM,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_standardGattDevices","require","_standardGattProfile","BPU_26","BPW_26","VEROVAL_TRIPLE_MEASUREMENT","VEROVAL_ATRIAL_FIBRILLATION","VEROVAL_RESTING_MEASUREMENT","verovalStatusDecorator","supportedBits","reading","frame","recordOffset","status","bloodPressureStatusFromFrame","undefined","metadata","tripleMeasurement","atrialFibrillation","restingMeasurement","Object","keys","length","verovalCompactMonitor","advertisedName","params","standardBloodPressureDevice","id","toLowerCase","replace","nameMatch","RegExp","decorateReading","stuckDataTimeoutMs","exports","bpu26Monitor","bpw26Monitor","VEROVAL_BP_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.bp-monitors.ts"],"mappings":";;;;;;AAOA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAME,MAAM,GAAG,OAAO;AACtB,MAAMC,MAAM,GAAG,OAAO;AAEtB,MAAMC,0BAA0B,GAAG,CAAC,IAAI,EAAE;AAC1C,MAAMC,2BAA2B,GAAG,CAAC,IAAI,EAAE;AAC3C,MAAMC,2BAA2B,GAAG,CAAC,IAAI,EAAE;AAc3C,MAAMC,sBAAsB,GAC1BC,aAAqB,IACM,CAACC,OAAO,EAAEC,KAAK,EAAEC,YAAY,KAAK;EAC7D,IAAI,CAACD,KAAK,EAAE;IACV,OAAOD,OAAO;EAChB;EAEA,MAAMG,MAAM,GAAG,IAAAC,iDAA4B,EAACH,KAAK,EAAEC,YAAY,CAAC;EAEhE,IAAIC,MAAM,KAAKE,SAAS,EAAE;IACxB,OAAOL,OAAO;EAChB;EAEA,MAAMM,QAA8C,GAAG,CAAC,CAAC;EAEzD,IAAI,CAACP,aAAa,GAAGJ,0BAA0B,MAAM,CAAC,IAClD,CAACQ,MAAM,GAAGR,0BAA0B,MAAM,CAAC,EAAE;IAC/CW,QAAQ,CAACC,iBAAiB,GAAG,IAAI;EACnC;EAEA,IAAI,CAACR,aAAa,GAAGH,2BAA2B,MAAM,CAAC,IACnD,CAACO,MAAM,GAAGP,2BAA2B,MAAM,CAAC,EAAE;IAChDU,QAAQ,CAACE,kBAAkB,GAAG,IAAI;EACpC;EAEA,IAAI,CAACT,aAAa,GAAGF,2BAA2B,MAAM,CAAC,IACnD,CAACM,MAAM,GAAGN,2BAA2B,MAAM,CAAC,EAAE;IAChDS,QAAQ,CAACG,kBAAkB,GAAG,IAAI;EACpC;EAEA,OAAOC,MAAM,CAACC,IAAI,CAACL,QAAQ,CAAC,CAACM,MAAM,GAAG,CAAC,GACnC;IAAE,GAAGZ,OAAO;IAAE,GAAGM;EAAS,CAAC,GAC3BN,OAAO;AACb,CAAC;AAcD,MAAMa,qBAAqB,GAAGA,CAC5BC,cAAsB,EACtBC,MAAuB,KAEvB,IAAAC,gDAA2B,EAAC;EAC1BC,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAI,WAAWH,cAAc,CAACI,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;EACtFC,SAAS,EAAEL,MAAM,CAACK,SAAS,IAAI,IAAIC,MAAM,CAAC,IAAIP,cAAc,GAAG,EAAE,GAAG,CAAC;EACrEQ,eAAe,EACbR,cAAc,KAAKrB,MAAM,GACrBK,sBAAsB,CACpBH,0BAA0B,GACxBC,2BAA2B,GAC3BC,2BACJ,CAAC,GACDC,sBAAsB,CAACH,0BAA0B,CAAC;EACxD,IAAIoB,MAAM,CAACQ,kBAAkB,KAAKlB,SAAS,GACvC,CAAC,CAAC,GACF;IAAEkB,kBAAkB,EAAER,MAAM,CAACQ;EAAmB,CAAC;AACvD,CAAC,CAAC;;AAEJ;AAAAC,OAAA,CAAAX,qBAAA,GAAAA,qBAAA;AACA,MAAMY,YAAY,GAAIV,MAAuB,IAC3CF,qBAAqB,CAACpB,MAAM,EAAEsB,MAAM,CAAC;;AAEvC;AAAAS,OAAA,CAAAC,YAAA,GAAAA,YAAA;AACA,MAAMC,YAAY,GAAIX,MAAuB,IAC3CF,qBAAqB,CAACnB,MAAM,EAAEqB,MAAM,CAAC;;AAEvC;AAAAS,OAAA,CAAAE,YAAA,GAAAA,YAAA;AACA,MAAMC,sBAAyC,GAAAH,OAAA,CAAAG,sBAAA,GAAG,CAAClC,MAAM,EAAEC,MAAM,CAAC","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.VerovalEcgDevice = void 0;
7
7
  var _core = require("@ovok/core");
8
8
  var _caseType = require("../../../types/case-type.js");
9
9
  var _btManagedDevice = require("../bt-managed-device.js");
10
+ var _verovalEcgRecord = require("./veroval.ecg-record.js");
10
11
  var _verovalEcgSamples = require("./veroval.ecg-samples.js");
11
12
  var _verovalEcgTransfer = require("./veroval.ecg-transfer.js");
12
13
  const SERVICE = "0000a000-0000-1000-8000-00805f9b34fb";
@@ -64,18 +65,33 @@ class VerovalEcgDevice extends _btManagedDevice.BTManagedDevice {
64
65
  serviceUuid: SERVICE,
65
66
  characteristicUuid: CONTROL_POINT
66
67
  },
67
- onRecording: this.reportRecording
68
+ onRecord: this.reportRecord,
69
+ clockSync: this.clockSync
68
70
  });
69
71
  constructor(device, params) {
70
72
  super(device, params);
73
+ this.clockSync = params.clockSync;
71
74
  }
72
75
 
73
76
  /** Nothing is reported per packet; the transfer reports the recording when it is whole. */
74
77
  handleSuccessResult() {
75
78
  return;
76
79
  }
77
- reportRecording = bytes => {
78
- const diagramPoints = (0, _verovalEcgSamples.decodeVerovalEcgSamples)(bytes);
80
+ reportRecord = record => {
81
+ if (!record.header.isEcg) {
82
+ const bloodPressure = (0, _verovalEcgRecord.parseVerovalBloodPressureRecord)(record.header);
83
+ if (bloodPressure) {
84
+ this.onResult?.({
85
+ caseType: _caseType.CaseType.RESULT,
86
+ ...bloodPressure
87
+ });
88
+ }
89
+ return;
90
+ }
91
+ if (!record.raw || record.header.heartRate === 0) {
92
+ return;
93
+ }
94
+ const diagramPoints = (0, _verovalEcgSamples.decodeVerovalEcgSamples)(record.raw, record.header.calibration);
79
95
  if (diagramPoints.length === 0) {
80
96
  this.onError?.(new Error("Veroval ECG: the recording held no samples."));
81
97
  return;
@@ -83,6 +99,11 @@ class VerovalEcgDevice extends _btManagedDevice.BTManagedDevice {
83
99
  this.onResult?.({
84
100
  measurementTypeKey: _core.MeasurementTypeKey.ecg,
85
101
  caseType: _caseType.CaseType.RESULT,
102
+ id: `veroval-${record.header.memorySlot}-${record.header.sequence}-${record.header.recordedAt?.getTime() ?? "unknown"}`,
103
+ memorySlot: record.header.memorySlot,
104
+ recordedAt: record.header.recordedAt,
105
+ heartRate: record.header.heartRate,
106
+ diagnosticResult: record.header.diagnosticResult,
86
107
  diagramPoints,
87
108
  duration: diagramPoints.length / _verovalEcgSamples.VEROVAL_ECG_SAMPLE_RATE_HZ
88
109
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_caseType","_btManagedDevice","_verovalEcgSamples","_verovalEcgTransfer","SERVICE","CONTROL_POINT","NOTIFY","STUCK_TIMEOUT_MS","PREFERRED_MTU","acceptEverything","caseValuePosition","cases","caseValue","caseType","CaseType","OTHER","parseDefinitions","description","VerovalEcgDevice","BTManagedDevice","stuckDataTimeout","preferredMtu","onStreamStart","undefined","mainServices","uuid","monitorUuids","parsingModel","validatePackage","createCommandSequencer","VerovalEcgTransfer","write","serviceUuid","characteristicUuid","onRecording","reportRecording","constructor","device","params","handleSuccessResult","bytes","diagramPoints","decodeVerovalEcgSamples","length","onError","Error","onResult","measurementTypeKey","MeasurementTypeKey","ecg","RESULT","duration","VEROVAL_ECG_SAMPLE_RATE_HZ","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.ecg-device.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAD,OAAA;AAIA,IAAAE,gBAAA,GAAAF,OAAA;AAEA,IAAAG,kBAAA,GAAAH,OAAA;AAIA,IAAAI,mBAAA,GAAAJ,OAAA;AAEA,MAAMK,OAAO,GAAG,sCAAsC;;AAEtD;AACA,MAAMC,aAAa,GAAG,sCAAsC;AAC5D,MAAMC,MAAM,GAAG,sCAAsC;;AAErD;AACA,MAAMC,gBAAgB,GAAG,OAAO;AAEhC,MAAMC,aAAa,GAAG,GAAG;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,GAAG;EACvBC,iBAAiB,EAAE,EAAE;EACrBC,KAAK,EAAE,CACL;IACEC,SAAS,EAAE,EAAE;IACbC,QAAQ,EAAEC,kBAAQ,CAACC,KAAK;IACxBC,gBAAgB,EAAE,EAAE;IACpBC,WAAW,EAAE;EACf,CAAC;AAEL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,gBAAgB,SAASC,gCAAe,CAAgC;EACzEC,gBAAgB,GAAGb,gBAAgB;EAC1Bc,YAAY,GAAGb,aAAa;EACrCc,aAAa,GAAGC,SAAS;EAEzBC,YAAY,GAAe,CACnC;IACEC,IAAI,EAAErB,OAAO;IACbsB,YAAY,EAAE,CAAC;MAAED,IAAI,EAAEnB,MAAM;MAAEqB,YAAY,EAAElB;IAAiB,CAAC;EACjE,CAAC,CACF;EAEkBmB,eAAe,GAAGA,CAAA,KAAe,IAAI;EAErCC,sBAAsB,GAAGA,CAAA,KAC1C,IAAIC,sCAAkB,CAAC;IACrBC,KAAK,EAAE;MAAEC,WAAW,EAAE5B,OAAO;MAAE6B,kBAAkB,EAAE5B;IAAc,CAAC;IAClE6B,WAAW,EAAE,IAAI,CAACC;EACpB,CAAC,CAAC;EAEGC,WAAWA,CAChBC,MAAc,EACdC,MAAyD,EACzD;IACA,KAAK,CAACD,MAAM,EAAEC,MAAM,CAAC;EACvB;;EAEA;EACUC,mBAAmBA,CAAA,EAAS;IACpC;EACF;EAEQJ,eAAe,GAAIK,KAAwB,IAAW;IAC5D,MAAMC,aAAa,GAAG,IAAAC,0CAAuB,EAACF,KAAK,CAAC;IAEpD,IAAIC,aAAa,CAACE,MAAM,KAAK,CAAC,EAAE;MAC9B,IAAI,CAACC,OAAO,GAAG,IAAIC,KAAK,CAAC,6CAA6C,CAAC,CAAC;MAExE;IACF;IAEA,IAAI,CAACC,QAAQ,GAAG;MACdC,kBAAkB,EAAEC,wBAAkB,CAACC,GAAG;MAC1CpC,QAAQ,EAAEC,kBAAQ,CAACoC,MAAM;MACzBT,aAAa;MACbU,QAAQ,EAAEV,aAAa,CAACE,MAAM,GAAGS;IACnC,CAAC,CAAC;EACJ,CAAC;AACH;AAACC,OAAA,CAAAnC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_caseType","_btManagedDevice","_verovalEcgRecord","_verovalEcgSamples","_verovalEcgTransfer","SERVICE","CONTROL_POINT","NOTIFY","STUCK_TIMEOUT_MS","PREFERRED_MTU","acceptEverything","caseValuePosition","cases","caseValue","caseType","CaseType","OTHER","parseDefinitions","description","VerovalEcgDevice","BTManagedDevice","stuckDataTimeout","preferredMtu","onStreamStart","undefined","mainServices","uuid","monitorUuids","parsingModel","validatePackage","createCommandSequencer","VerovalEcgTransfer","write","serviceUuid","characteristicUuid","onRecord","reportRecord","clockSync","constructor","device","params","handleSuccessResult","record","header","isEcg","bloodPressure","parseVerovalBloodPressureRecord","onResult","RESULT","raw","heartRate","diagramPoints","decodeVerovalEcgSamples","calibration","length","onError","Error","measurementTypeKey","MeasurementTypeKey","ecg","id","memorySlot","sequence","recordedAt","getTime","diagnosticResult","duration","VEROVAL_ECG_SAMPLE_RATE_HZ","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.ecg-device.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.verovalRecordId = exports.parseVerovalEcgHeader = exports.parseVerovalBloodPressureRecord = exports.USER_OFFSET = exports.RECORD_TYPE_OFFSET = exports.RAW_SIZE_OFFSET = exports.HEADER_BYTES = exports.ECG_RECORD_TYPE = exports.BP_SYSTOLIC_OFFSET = exports.BP_PULSE_OFFSET = exports.BP_ERROR_OFFSET = exports.BP_DIASTOLIC_OFFSET = void 0;
7
+ var _core = require("@ovok/core");
8
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
9
+ const HEADER_BYTES = exports.HEADER_BYTES = 80;
10
+ const ECG_RECORD_TYPE = exports.ECG_RECORD_TYPE = 38;
11
+ const ECG_ERROR_OFFSET = 30;
12
+ const RECORD_TYPE_OFFSET = exports.RECORD_TYPE_OFFSET = 71;
13
+ const RAW_SIZE_OFFSET = exports.RAW_SIZE_OFFSET = 40;
14
+ const USER_OFFSET = exports.USER_OFFSET = 44;
15
+ const HEART_RATE_OFFSET = 47;
16
+ const BP_ERROR_OFFSET = exports.BP_ERROR_OFFSET = 62;
17
+ const BP_PULSE_OFFSET = exports.BP_PULSE_OFFSET = 63;
18
+ const BP_SYSTOLIC_OFFSET = exports.BP_SYSTOLIC_OFFSET = 64;
19
+ const BP_DIASTOLIC_OFFSET = exports.BP_DIASTOLIC_OFFSET = 66;
20
+ const TIMESTAMP_OFFSET = 20;
21
+ const TIMESTAMP_BYTES = 6;
22
+ const byteAt = (bytes, offset) => {
23
+ const value = (0, _hexToByte.hexToByte)(bytes[offset] ?? "00");
24
+ return Number.isFinite(value) ? value : 0;
25
+ };
26
+ const littleEndianAt = (bytes, offset, count) => bytes.slice(offset, offset + count).reduce((value, byte, index) => value | byteAt([byte], 0) << index * 8, 0);
27
+ const signed16At = (bytes, offset) => {
28
+ const value = littleEndianAt(bytes, offset, 2);
29
+ return value & 0x8000 ? value - 0x10000 : value;
30
+ };
31
+ const dateFromHeader = bytes => {
32
+ const [year = 0, month = 0, day = 0, hours = 0, minutes = 0, seconds = 0] = Array.from({
33
+ length: TIMESTAMP_BYTES
34
+ }, (_, index) => byteAt(bytes, TIMESTAMP_OFFSET + index));
35
+ const recordedAt = new Date(2000 + year, month - 1, day, hours, minutes, seconds);
36
+ return recordedAt.getFullYear() === 2000 + year && recordedAt.getMonth() === month - 1 && recordedAt.getDate() === day && recordedAt.getHours() === hours && recordedAt.getMinutes() === minutes && recordedAt.getSeconds() === seconds ? recordedAt : undefined;
37
+ };
38
+ const diagnosticFromHeader = bytes => {
39
+ if (byteAt(bytes, 48) > 0 || littleEndianAt(bytes, 56, 2) > 0) {
40
+ return _core.EcgDiagnosticFlag.HIGH_HR;
41
+ }
42
+ if (byteAt(bytes, 49) > 0 || littleEndianAt(bytes, 58, 2) > 0) {
43
+ return _core.EcgDiagnosticFlag.LOW_HR;
44
+ }
45
+ if (byteAt(bytes, 50) > 0 || byteAt(bytes, 52) > 0) {
46
+ return _core.EcgDiagnosticFlag.RR_IRREGULAR;
47
+ }
48
+ return byteAt(bytes, 53) > 0 ? _core.EcgDiagnosticFlag.POOR_WAVEFORM : undefined;
49
+ };
50
+ const calibrationFromHeader = bytes => {
51
+ const physicalMinimumMicrovolts = signed16At(bytes, 31);
52
+ const physicalMaximumMicrovolts = signed16At(bytes, 33);
53
+ const digitalMinimum = signed16At(bytes, 35);
54
+ const digitalMaximum = signed16At(bytes, 37);
55
+ return physicalMinimumMicrovolts < physicalMaximumMicrovolts && digitalMinimum < digitalMaximum ? {
56
+ physicalMinimumMicrovolts,
57
+ physicalMaximumMicrovolts,
58
+ digitalMinimum,
59
+ digitalMaximum
60
+ } : undefined;
61
+ };
62
+ const parseVerovalEcgHeader = bytes => {
63
+ if (bytes.length < HEADER_BYTES) {
64
+ return undefined;
65
+ }
66
+ const isEcg = byteAt(bytes, RECORD_TYPE_OFFSET) === ECG_RECORD_TYPE;
67
+ return {
68
+ bytes: [...bytes.slice(0, HEADER_BYTES)],
69
+ sequence: byteAt(bytes, 0),
70
+ recordedAt: dateFromHeader(bytes),
71
+ memorySlot: byteAt(bytes, USER_OFFSET) === 0 ? 1 : 2,
72
+ rawSize: littleEndianAt(bytes, RAW_SIZE_OFFSET, 4),
73
+ heartRate: byteAt(bytes, HEART_RATE_OFFSET),
74
+ diagnosticResult: diagnosticFromHeader(bytes),
75
+ calibration: calibrationFromHeader(bytes),
76
+ isEcg,
77
+ hasError: isEcg ? byteAt(bytes, ECG_ERROR_OFFSET) !== 0 : byteAt(bytes, BP_ERROR_OFFSET) !== 0
78
+ };
79
+ };
80
+ exports.parseVerovalEcgHeader = parseVerovalEcgHeader;
81
+ const verovalRecordId = header => `veroval-${header.memorySlot}-${header.sequence}-${header.recordedAt?.getTime() ?? "unknown"}`;
82
+ exports.verovalRecordId = verovalRecordId;
83
+ const parseVerovalBloodPressureRecord = header => {
84
+ if (header.isEcg || header.hasError) {
85
+ return undefined;
86
+ }
87
+ return {
88
+ id: verovalRecordId(header),
89
+ measurementTypeKey: _core.MeasurementTypeKey.bloodPressure,
90
+ systolic: littleEndianAt(header.bytes, BP_SYSTOLIC_OFFSET, 2),
91
+ diastolic: littleEndianAt(header.bytes, BP_DIASTOLIC_OFFSET, 2),
92
+ heartRate: byteAt(header.bytes, BP_PULSE_OFFSET),
93
+ recordedAt: header.recordedAt,
94
+ memorySlot: header.memorySlot
95
+ };
96
+ };
97
+ exports.parseVerovalBloodPressureRecord = parseVerovalBloodPressureRecord;
98
+ //# sourceMappingURL=veroval.ecg-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_hexToByte","HEADER_BYTES","exports","ECG_RECORD_TYPE","ECG_ERROR_OFFSET","RECORD_TYPE_OFFSET","RAW_SIZE_OFFSET","USER_OFFSET","HEART_RATE_OFFSET","BP_ERROR_OFFSET","BP_PULSE_OFFSET","BP_SYSTOLIC_OFFSET","BP_DIASTOLIC_OFFSET","TIMESTAMP_OFFSET","TIMESTAMP_BYTES","byteAt","bytes","offset","value","hexToByte","Number","isFinite","littleEndianAt","count","slice","reduce","byte","index","signed16At","dateFromHeader","year","month","day","hours","minutes","seconds","Array","from","length","_","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","diagnosticFromHeader","EcgDiagnosticFlag","HIGH_HR","LOW_HR","RR_IRREGULAR","POOR_WAVEFORM","calibrationFromHeader","physicalMinimumMicrovolts","physicalMaximumMicrovolts","digitalMinimum","digitalMaximum","parseVerovalEcgHeader","isEcg","sequence","memorySlot","rawSize","heartRate","diagnosticResult","calibration","hasError","verovalRecordId","header","getTime","parseVerovalBloodPressureRecord","id","measurementTypeKey","MeasurementTypeKey","bloodPressure","systolic","diastolic"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.ecg-record.ts"],"mappings":"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","ignoreList":[]}