@ovok/native 1.6.22 → 1.6.24
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.
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js +31 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +4 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +48 -3
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +28 -0
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js +27 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +4 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +43 -4
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +28 -0
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.bloodPressureStatusFromFrame = void 0;
|
|
7
|
+
const byteAt = (frame, index, offset) => {
|
|
8
|
+
const value = Number.parseInt(frame[index + offset] ?? "", 16);
|
|
9
|
+
return Number.isInteger(value) && value >= 0 && value <= 0xff ? value : undefined;
|
|
10
|
+
};
|
|
11
|
+
const bloodPressureStatusFromFrame = (frame, recordOffset = 0) => {
|
|
12
|
+
const flags = byteAt(frame, 0, recordOffset);
|
|
13
|
+
if (flags === undefined || (flags & 0x10) === 0) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
let cursor = 7;
|
|
17
|
+
if ((flags & 0x02) !== 0) {
|
|
18
|
+
cursor += 7;
|
|
19
|
+
}
|
|
20
|
+
if ((flags & 0x04) !== 0) {
|
|
21
|
+
cursor += 2;
|
|
22
|
+
}
|
|
23
|
+
if ((flags & 0x08) !== 0) {
|
|
24
|
+
cursor += 1;
|
|
25
|
+
}
|
|
26
|
+
const statusLow = byteAt(frame, cursor, recordOffset);
|
|
27
|
+
const statusHigh = byteAt(frame, cursor + 1, recordOffset);
|
|
28
|
+
return statusLow !== undefined && statusHigh !== undefined ? statusLow | statusHigh << 8 : undefined;
|
|
29
|
+
};
|
|
30
|
+
exports.bloodPressureStatusFromFrame = bloodPressureStatusFromFrame;
|
|
31
|
+
//# sourceMappingURL=standard-gatt.blood-pressure-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["byteAt","frame","index","offset","value","Number","parseInt","isInteger","undefined","bloodPressureStatusFromFrame","recordOffset","flags","cursor","statusLow","statusHigh","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.ts"],"mappings":";;;;;;AAAA,MAAMA,MAAM,GAAGA,CACbC,KAAwB,EACxBC,KAAa,EACbC,MAAc,KACS;EACvB,MAAMC,KAAK,GAAGC,MAAM,CAACC,QAAQ,CAACL,KAAK,CAACC,KAAK,GAAGC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;EAE9D,OAAOE,MAAM,CAACE,SAAS,CAACH,KAAK,CAAC,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,IAAI,IAAI,GACzDA,KAAK,GACLI,SAAS;AACf,CAAC;AAED,MAAMC,4BAA4B,GAAGA,CACnCR,KAAwB,EACxBS,YAAY,GAAG,CAAC,KACO;EACvB,MAAMC,KAAK,GAAGX,MAAM,CAACC,KAAK,EAAE,CAAC,EAAES,YAAY,CAAC;EAE5C,IAAIC,KAAK,KAAKH,SAAS,IAAI,CAACG,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IAC/C,OAAOH,SAAS;EAClB;EAEA,IAAII,MAAM,GAAG,CAAC;EAEd,IAAI,CAACD,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxBC,MAAM,IAAI,CAAC;EACb;EAEA,IAAI,CAACD,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxBC,MAAM,IAAI,CAAC;EACb;EAEA,IAAI,CAACD,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxBC,MAAM,IAAI,CAAC;EACb;EAEA,MAAMC,SAAS,GAAGb,MAAM,CAACC,KAAK,EAAEW,MAAM,EAAEF,YAAY,CAAC;EACrD,MAAMI,UAAU,GAAGd,MAAM,CAACC,KAAK,EAAEW,MAAM,GAAG,CAAC,EAAEF,YAAY,CAAC;EAE1D,OAAOG,SAAS,KAAKL,SAAS,IAAIM,UAAU,KAAKN,SAAS,GACtDK,SAAS,GAAIC,UAAU,IAAI,CAAE,GAC7BN,SAAS;AACf,CAAC;AAACO,OAAA,CAAAN,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js
CHANGED
|
@@ -50,7 +50,10 @@ const pulseAfterTimestamp = {
|
|
|
50
50
|
};
|
|
51
51
|
const standardBloodPressureDevice = params => (0, _standardGattProfile.declareProfile)({
|
|
52
52
|
...params,
|
|
53
|
-
decorateReading:
|
|
53
|
+
decorateReading: (reading, frame, recordOffset) => {
|
|
54
|
+
const decorated = (0, _standardGattProfile.decorateBloodPressureReading)(reading, frame, recordOffset);
|
|
55
|
+
return params.decorateReading?.(decorated, frame, recordOffset) ?? decorated;
|
|
56
|
+
}
|
|
54
57
|
}, {
|
|
55
58
|
service: "1810",
|
|
56
59
|
characteristic: "2a35",
|
|
@@ -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":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAIA,IAAAC,oBAAA,GAAAD,OAAA;AANA;;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,sBAAsB,GAAG;EAC7BC,MAAM,EAAE,CAAC,IAAAC,iCAAY,EAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EAC5DC,cAAc,EAAE;AAClB,CAAC;;AAED;AACA,MAAMC,mBAAmB,GAAG;EAC1BH,MAAM,EAAE,CAAC,IAAAC,iCAAY,EAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EAC9DC,cAAc,EAAE;AAClB,CAAC;AAED,MAAME,2BAA2B,GAC/BC,MAA4B,IAE5B,IAAAC,mCAAc,EACZ;
|
|
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":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js
CHANGED
|
@@ -3,8 +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;
|
|
13
|
+
var _bloodPressureStates = require("../../../types/blood-pressure-states.js");
|
|
7
14
|
var _defineCustomDevice = require("../../custom/define-custom-device.js");
|
|
15
|
+
var _standardGattBloodPressureStatus = require("./standard-gatt.blood-pressure-status.js");
|
|
8
16
|
/** Milliseconds a spot-check device may take to produce its reading. */
|
|
9
17
|
const SPOT_CHECK_TIMEOUT_MS = 60_000;
|
|
10
18
|
const sigUuid = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
|
|
@@ -81,10 +89,47 @@ const recordedAtFromBloodPressureFrame = (frame, offset = 0) => {
|
|
|
81
89
|
};
|
|
82
90
|
exports.recordedAtFromBloodPressureFrame = recordedAtFromBloodPressureFrame;
|
|
83
91
|
const decorateBloodPressureReading = (reading, frame, recordOffset) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
92
|
+
if (!frame) {
|
|
93
|
+
return reading;
|
|
94
|
+
}
|
|
95
|
+
const offset = recordOffset ?? 0;
|
|
96
|
+
const flags = byteAt(frame, 0, offset);
|
|
97
|
+
const recordedAt = recordedAtFromBloodPressureFrame(frame, offset);
|
|
98
|
+
if (flags === undefined) {
|
|
99
|
+
return recordedAt ? {
|
|
100
|
+
...reading,
|
|
101
|
+
recordedAt
|
|
102
|
+
} : reading;
|
|
103
|
+
}
|
|
104
|
+
let cursor = 7;
|
|
105
|
+
if ((flags & 0x02) !== 0) {
|
|
106
|
+
cursor += 7;
|
|
107
|
+
}
|
|
108
|
+
if ((flags & 0x04) !== 0) {
|
|
109
|
+
cursor += 2;
|
|
110
|
+
}
|
|
111
|
+
const metadata = recordedAt ? {
|
|
87
112
|
recordedAt
|
|
113
|
+
} : {};
|
|
114
|
+
if ((flags & 0x08) !== 0) {
|
|
115
|
+
const userId = byteAt(frame, cursor, offset);
|
|
116
|
+
if (userId === 0 || userId === 1) {
|
|
117
|
+
metadata.memorySlot = userId + 1;
|
|
118
|
+
}
|
|
119
|
+
cursor += 1;
|
|
120
|
+
}
|
|
121
|
+
if ((flags & 0x10) !== 0) {
|
|
122
|
+
const status = (0, _standardGattBloodPressureStatus.bloodPressureStatusFromFrame)(frame, offset);
|
|
123
|
+
if (status !== undefined) {
|
|
124
|
+
metadata.status = (status & 0x01) !== 0 ? _bloodPressureStates.BloodPressureStates.DISTURB_DETECTED : (status & 0x02) !== 0 ? _bloodPressureStates.BloodPressureStates.LOOSE_SLEEVE : _bloodPressureStates.BloodPressureStates.REGULAR;
|
|
125
|
+
if ((status & 0x04) !== 0) {
|
|
126
|
+
metadata.irregularHeartbeat = true;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return Object.keys(metadata).length > 0 ? {
|
|
131
|
+
...reading,
|
|
132
|
+
...metadata
|
|
88
133
|
} : reading;
|
|
89
134
|
};
|
|
90
135
|
exports.decorateBloodPressureReading = decorateBloodPressureReading;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
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
|
})
|
package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_standardGattDevices","require","BPU_26","BPW_26","verovalCompactMonitor","advertisedName","params","standardBloodPressureDevice","id","toLowerCase","replace","nameMatch","RegExp","
|
|
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":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const byteAt = (frame, index, offset) => {
|
|
4
|
+
const value = Number.parseInt(frame[index + offset] ?? "", 16);
|
|
5
|
+
return Number.isInteger(value) && value >= 0 && value <= 0xff ? value : undefined;
|
|
6
|
+
};
|
|
7
|
+
const bloodPressureStatusFromFrame = (frame, recordOffset = 0) => {
|
|
8
|
+
const flags = byteAt(frame, 0, recordOffset);
|
|
9
|
+
if (flags === undefined || (flags & 0x10) === 0) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
let cursor = 7;
|
|
13
|
+
if ((flags & 0x02) !== 0) {
|
|
14
|
+
cursor += 7;
|
|
15
|
+
}
|
|
16
|
+
if ((flags & 0x04) !== 0) {
|
|
17
|
+
cursor += 2;
|
|
18
|
+
}
|
|
19
|
+
if ((flags & 0x08) !== 0) {
|
|
20
|
+
cursor += 1;
|
|
21
|
+
}
|
|
22
|
+
const statusLow = byteAt(frame, cursor, recordOffset);
|
|
23
|
+
const statusHigh = byteAt(frame, cursor + 1, recordOffset);
|
|
24
|
+
return statusLow !== undefined && statusHigh !== undefined ? statusLow | statusHigh << 8 : undefined;
|
|
25
|
+
};
|
|
26
|
+
export { bloodPressureStatusFromFrame };
|
|
27
|
+
//# sourceMappingURL=standard-gatt.blood-pressure-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["byteAt","frame","index","offset","value","Number","parseInt","isInteger","undefined","bloodPressureStatusFromFrame","recordOffset","flags","cursor","statusLow","statusHigh"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.ts"],"mappings":";;AAAA,MAAMA,MAAM,GAAGA,CACbC,KAAwB,EACxBC,KAAa,EACbC,MAAc,KACS;EACvB,MAAMC,KAAK,GAAGC,MAAM,CAACC,QAAQ,CAACL,KAAK,CAACC,KAAK,GAAGC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;EAE9D,OAAOE,MAAM,CAACE,SAAS,CAACH,KAAK,CAAC,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,IAAI,IAAI,GACzDA,KAAK,GACLI,SAAS;AACf,CAAC;AAED,MAAMC,4BAA4B,GAAGA,CACnCR,KAAwB,EACxBS,YAAY,GAAG,CAAC,KACO;EACvB,MAAMC,KAAK,GAAGX,MAAM,CAACC,KAAK,EAAE,CAAC,EAAES,YAAY,CAAC;EAE5C,IAAIC,KAAK,KAAKH,SAAS,IAAI,CAACG,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IAC/C,OAAOH,SAAS;EAClB;EAEA,IAAII,MAAM,GAAG,CAAC;EAEd,IAAI,CAACD,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxBC,MAAM,IAAI,CAAC;EACb;EAEA,IAAI,CAACD,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxBC,MAAM,IAAI,CAAC;EACb;EAEA,IAAI,CAACD,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxBC,MAAM,IAAI,CAAC;EACb;EAEA,MAAMC,SAAS,GAAGb,MAAM,CAACC,KAAK,EAAEW,MAAM,EAAEF,YAAY,CAAC;EACrD,MAAMI,UAAU,GAAGd,MAAM,CAACC,KAAK,EAAEW,MAAM,GAAG,CAAC,EAAEF,YAAY,CAAC;EAE1D,OAAOG,SAAS,KAAKL,SAAS,IAAIM,UAAU,KAAKN,SAAS,GACtDK,SAAS,GAAIC,UAAU,IAAI,CAAE,GAC7BN,SAAS;AACf,CAAC;AAED,SAASC,4BAA4B","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js
CHANGED
|
@@ -47,7 +47,10 @@ const pulseAfterTimestamp = {
|
|
|
47
47
|
};
|
|
48
48
|
const standardBloodPressureDevice = params => declareProfile({
|
|
49
49
|
...params,
|
|
50
|
-
decorateReading:
|
|
50
|
+
decorateReading: (reading, frame, recordOffset) => {
|
|
51
|
+
const decorated = decorateBloodPressureReading(reading, frame, recordOffset);
|
|
52
|
+
return params.decorateReading?.(decorated, frame, recordOffset) ?? decorated;
|
|
53
|
+
}
|
|
51
54
|
}, {
|
|
52
55
|
service: "1810",
|
|
53
56
|
characteristic: "2a35",
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","decorateBloodPressureReading","declareProfile","littleEndian","pulseAfterMeanPressure","fields","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","decorateReading","service","characteristic","measurementTypeKey","bloodPressure","selectors","optionalFields","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":";;AAAA;;AAEA,SAASA,kBAAkB,QAAQ,YAAY;AAI/C,SACEC,4BAA4B,EAC5BC,cAAc,EACdC,YAAY,QAEP,4BAAyB;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAG;EAC7BC,MAAM,EAAE,CAACF,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EAC5DG,cAAc,EAAE;AAClB,CAAC;;AAED;AACA,MAAMC,mBAAmB,GAAG;EAC1BF,MAAM,EAAE,CAACF,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EAC9DG,cAAc,EAAE;AAClB,CAAC;AAED,MAAME,2BAA2B,GAC/BC,MAA4B,IAE5BP,cAAc,CACZ;
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","decorateBloodPressureReading","declareProfile","littleEndian","pulseAfterMeanPressure","fields","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","decorateReading","reading","frame","recordOffset","decorated","service","characteristic","measurementTypeKey","bloodPressure","selectors","optionalFields","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":[]}
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { BloodPressureStates } from "../../../types/blood-pressure-states.js";
|
|
3
4
|
import { defineCustomDevice } from "../../custom/define-custom-device.js";
|
|
5
|
+
import { bloodPressureStatusFromFrame } from "./standard-gatt.blood-pressure-status.js";
|
|
4
6
|
|
|
5
7
|
/** Milliseconds a spot-check device may take to produce its reading. */
|
|
6
8
|
const SPOT_CHECK_TIMEOUT_MS = 60_000;
|
|
@@ -74,11 +76,48 @@ const recordedAtFromBloodPressureFrame = (frame, offset = 0) => {
|
|
|
74
76
|
return recordedAt.getFullYear() === year && recordedAt.getMonth() === month - 1 && recordedAt.getDate() === day && recordedAt.getHours() === hour && recordedAt.getMinutes() === minute && recordedAt.getSeconds() === second ? recordedAt : undefined;
|
|
75
77
|
};
|
|
76
78
|
const decorateBloodPressureReading = (reading, frame, recordOffset) => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
if (!frame) {
|
|
80
|
+
return reading;
|
|
81
|
+
}
|
|
82
|
+
const offset = recordOffset ?? 0;
|
|
83
|
+
const flags = byteAt(frame, 0, offset);
|
|
84
|
+
const recordedAt = recordedAtFromBloodPressureFrame(frame, offset);
|
|
85
|
+
if (flags === undefined) {
|
|
86
|
+
return recordedAt ? {
|
|
87
|
+
...reading,
|
|
88
|
+
recordedAt
|
|
89
|
+
} : reading;
|
|
90
|
+
}
|
|
91
|
+
let cursor = 7;
|
|
92
|
+
if ((flags & 0x02) !== 0) {
|
|
93
|
+
cursor += 7;
|
|
94
|
+
}
|
|
95
|
+
if ((flags & 0x04) !== 0) {
|
|
96
|
+
cursor += 2;
|
|
97
|
+
}
|
|
98
|
+
const metadata = recordedAt ? {
|
|
80
99
|
recordedAt
|
|
100
|
+
} : {};
|
|
101
|
+
if ((flags & 0x08) !== 0) {
|
|
102
|
+
const userId = byteAt(frame, cursor, offset);
|
|
103
|
+
if (userId === 0 || userId === 1) {
|
|
104
|
+
metadata.memorySlot = userId + 1;
|
|
105
|
+
}
|
|
106
|
+
cursor += 1;
|
|
107
|
+
}
|
|
108
|
+
if ((flags & 0x10) !== 0) {
|
|
109
|
+
const status = bloodPressureStatusFromFrame(frame, offset);
|
|
110
|
+
if (status !== undefined) {
|
|
111
|
+
metadata.status = (status & 0x01) !== 0 ? BloodPressureStates.DISTURB_DETECTED : (status & 0x02) !== 0 ? BloodPressureStates.LOOSE_SLEEVE : BloodPressureStates.REGULAR;
|
|
112
|
+
if ((status & 0x04) !== 0) {
|
|
113
|
+
metadata.irregularHeartbeat = true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return Object.keys(metadata).length > 0 ? {
|
|
118
|
+
...reading,
|
|
119
|
+
...metadata
|
|
81
120
|
} : reading;
|
|
82
121
|
};
|
|
83
|
-
export { decorateBloodPressureReading, declareProfile, littleEndian, recordedAtFromBloodPressureFrame, sigUuid };
|
|
122
|
+
export { bloodPressureStatusFromFrame, decorateBloodPressureReading, declareProfile, littleEndian, recordedAtFromBloodPressureFrame, sigUuid };
|
|
84
123
|
//# sourceMappingURL=standard-gatt.profile.js.map
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defineCustomDevice","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","declareProfile","params","profile","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"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["BloodPressureStates","defineCustomDevice","bloodPressureStatusFromFrame","SPOT_CHECK_TIMEOUT_MS","sigUuid","assigned","declareProfile","params","profile","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","DISTURB_DETECTED","LOOSE_SLEEVE","REGULAR","irregularHeartbeat","Object","keys","length"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"mappings":";;AAEA,SAASA,mBAAmB,QAAQ,yCAAsC;AAM1E,SAASC,kBAAkB,QAAQ,sCAAmC;AAEtE,SAASC,4BAA4B,QAAQ,0CAAuC;;AAEpF;AACA,MAAMC,qBAAqB,GAAG,MAAM;AAkDpC,MAAMC,OAAO,GAAIC,QAAgB,IAC/B,OAAOA,QAAQ,8BAA8B;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAGA,CACrBC,MAA4B,EAC5BC,OAAoB,KAEpBP,kBAAkB,CAChB;EACEQ,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAI,YAAYD,OAAO,CAACE,kBAAkB,EAAE;EACzDC,SAAS,EAAEJ,MAAM,CAACI,SAAS;EAC3BC,cAAc,EAAEL,MAAM,CAACI,SAAS,KAAKE,SAAS;EAC9CC,uBAAuB,EAAEP,MAAM,CAACO,uBAAuB;EACvDC,kBAAkB,EAAER,MAAM,CAACQ,kBAAkB,IAAIZ,qBAAqB;EACtEa,QAAQ,EAAE,CACR;IACEC,IAAI,EAAEb,OAAO,CAACI,OAAO,CAACU,OAAO,CAAC;IAC9BC,OAAO,EAAE,CACP;MACEF,IAAI,EAAEb,OAAO,CAACI,OAAO,CAACY,cAAc,CAAC;MACrCC,KAAK,EAAE;QAAEC,cAAc,EAAEd,OAAO,CAACc;MAAe,CAAC;MACjDC,iBAAiB,EAAE,CAAC,CAAC,CAAC;MACtBC,KAAK,EAAEhB,OAAO,CAACiB,SAAS,CAACC,GAAG,CAAEC,QAAQ,IAAK;QACzC,MAAMC,QAAQ,GAAGpB,OAAO,CAACqB,cAAc,GAAGF,QAAQ,CAAC;QAEnD,MAAMG,MAAM,GACVtB,OAAO,CAACuB,gBAAgB,GAAGJ,QAAQ,CAAC,IAAInB,OAAO,CAACsB,MAAM;QAExD,OAAO;UACLH,QAAQ;UACRK,IAAI,EAAE,QAAiB;UACvBtB,kBAAkB,EAAEF,OAAO,CAACE,kBAAkB;UAC9CoB,MAAM,EAAE,CAAC,GAAGA,MAAM,EAAE,IAAIF,QAAQ,EAAEE,MAAM,IAAI,EAAE,CAAC,CAAC;UAChD,IAAIF,QAAQ,GACR;YAAEN,cAAc,EAAEM,QAAQ,CAACN;UAAe,CAAC,GAC3C,CAAC,CAAC;QACR,CAAC;MACH,CAAC;IACH,CAAC;EAEL,CAAC;AAEL,CAAC,EACD;EAAEW,eAAe,EAAE1B,MAAM,CAAC0B;AAAgB,CAC5C,CAAC;AAEH,MAAMC,YAAY,GAAGA,CACnBC,IAAY,EACZC,WAAqB,EACrBC,IAAY,EACZC,QAAqC,MAChB;EACrBH,IAAI;EACJC,WAAW;EACXG,SAAS,EAAE,QAAQ;EACnBD,QAAQ;EACRD;AACF,CAAC,CAAC;AAEF,MAAMG,MAAM,GAAGA,CACbnB,KAAwB,EACxBoB,KAAa,EACbC,MAAc,KACS;EACvB,MAAMC,KAAK,GAAGC,MAAM,CAACC,QAAQ,CAACxB,KAAK,CAACoB,KAAK,GAAGC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;EAE9D,OAAOE,MAAM,CAACE,SAAS,CAACH,KAAK,CAAC,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,IAAI,IAAI,GACzDA,KAAK,GACL9B,SAAS;AACf,CAAC;;AAED;AACA,MAAMkC,gCAAgC,GAAGA,CACvC1B,KAAwB,EACxBqB,MAAM,GAAG,CAAC,KACW;EACrB,MAAMM,KAAK,GAAGR,MAAM,CAACnB,KAAK,EAAE,CAAC,EAAEqB,MAAM,CAAC;EACtC,MAAMO,OAAO,GAAGT,MAAM,CAACnB,KAAK,EAAE,CAAC,EAAEqB,MAAM,CAAC;EACxC,MAAMQ,QAAQ,GAAGV,MAAM,CAACnB,KAAK,EAAE,CAAC,EAAEqB,MAAM,CAAC;EACzC,MAAMS,KAAK,GAAGX,MAAM,CAACnB,KAAK,EAAE,CAAC,EAAEqB,MAAM,CAAC;EACtC,MAAMU,GAAG,GAAGZ,MAAM,CAACnB,KAAK,EAAE,EAAE,EAAEqB,MAAM,CAAC;EACrC,MAAMW,IAAI,GAAGb,MAAM,CAACnB,KAAK,EAAE,EAAE,EAAEqB,MAAM,CAAC;EACtC,MAAMY,MAAM,GAAGd,MAAM,CAACnB,KAAK,EAAE,EAAE,EAAEqB,MAAM,CAAC;EACxC,MAAMa,MAAM,GAAGf,MAAM,CAACnB,KAAK,EAAE,EAAE,EAAEqB,MAAM,CAAC;EAExC,IACEM,KAAK,KAAKnC,SAAS,IACnB,CAACmC,KAAK,GAAG,IAAI,MAAM,CAAC,IACpBC,OAAO,KAAKpC,SAAS,IACrBqC,QAAQ,KAAKrC,SAAS,IACtBsC,KAAK,KAAKtC,SAAS,IACnBuC,GAAG,KAAKvC,SAAS,IACjBwC,IAAI,KAAKxC,SAAS,IAClByC,MAAM,KAAKzC,SAAS,IACpB0C,MAAM,KAAK1C,SAAS,EACpB;IACA,OAAOA,SAAS;EAClB;EAEA,MAAM2C,IAAI,GAAGP,OAAO,GAAIC,QAAQ,IAAI,CAAE;EACtC,MAAMO,UAAU,GAAG,IAAIC,IAAI,CAACF,IAAI,EAAEL,KAAK,GAAG,CAAC,EAAEC,GAAG,EAAEC,IAAI,EAAEC,MAAM,EAAEC,MAAM,CAAC;EAEvE,OAAOE,UAAU,CAACE,WAAW,CAAC,CAAC,KAAKH,IAAI,IACtCC,UAAU,CAACG,QAAQ,CAAC,CAAC,KAAKT,KAAK,GAAG,CAAC,IACnCM,UAAU,CAACI,OAAO,CAAC,CAAC,KAAKT,GAAG,IAC5BK,UAAU,CAACK,QAAQ,CAAC,CAAC,KAAKT,IAAI,IAC9BI,UAAU,CAACM,UAAU,CAAC,CAAC,KAAKT,MAAM,IAClCG,UAAU,CAACO,UAAU,CAAC,CAAC,KAAKT,MAAM,GAChCE,UAAU,GACV5C,SAAS;AACf,CAAC;AAED,MAAMoD,4BAAoD,GAAGA,CAC3DC,OAAO,EACP7C,KAAK,EACL8C,YAAY,KACT;EACH,IAAI,CAAC9C,KAAK,EAAE;IACV,OAAO6C,OAAO;EAChB;EAEA,MAAMxB,MAAM,GAAGyB,YAAY,IAAI,CAAC;EAChC,MAAMnB,KAAK,GAAGR,MAAM,CAACnB,KAAK,EAAE,CAAC,EAAEqB,MAAM,CAAC;EACtC,MAAMe,UAAU,GAAGV,gCAAgC,CAAC1B,KAAK,EAAEqB,MAAM,CAAC;EAElE,IAAIM,KAAK,KAAKnC,SAAS,EAAE;IACvB,OAAO4C,UAAU,GAAG;MAAE,GAAGS,OAAO;MAAET;IAAW,CAAC,GAAGS,OAAO;EAC1D;EAEA,IAAIE,MAAM,GAAG,CAAC;EAEd,IAAI,CAACpB,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxBoB,MAAM,IAAI,CAAC;EACb;EAEA,IAAI,CAACpB,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxBoB,MAAM,IAAI,CAAC;EACb;EAEA,MAAMC,QAAiC,GAAGZ,UAAU,GAAG;IAAEA;EAAW,CAAC,GAAG,CAAC,CAAC;EAE1E,IAAI,CAACT,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxB,MAAMsB,MAAM,GAAG9B,MAAM,CAACnB,KAAK,EAAE+C,MAAM,EAAE1B,MAAM,CAAC;IAE5C,IAAI4B,MAAM,KAAK,CAAC,IAAIA,MAAM,KAAK,CAAC,EAAE;MAChCD,QAAQ,CAACE,UAAU,GAAGD,MAAM,GAAG,CAAC;IAClC;IAEAF,MAAM,IAAI,CAAC;EACb;EAEA,IAAI,CAACpB,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;IACxB,MAAMwB,MAAM,GAAGtE,4BAA4B,CAACmB,KAAK,EAAEqB,MAAM,CAAC;IAE1D,IAAI8B,MAAM,KAAK3D,SAAS,EAAE;MACxBwD,QAAQ,CAACG,MAAM,GACb,CAACA,MAAM,GAAG,IAAI,MAAM,CAAC,GACjBxE,mBAAmB,CAACyE,gBAAgB,GACpC,CAACD,MAAM,GAAG,IAAI,MAAM,CAAC,GACnBxE,mBAAmB,CAAC0E,YAAY,GAChC1E,mBAAmB,CAAC2E,OAAO;MAEnC,IAAI,CAACH,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE;QACzBH,QAAQ,CAACO,kBAAkB,GAAG,IAAI;MACpC;IACF;EACF;EAEA,OAAOC,MAAM,CAACC,IAAI,CAACT,QAAQ,CAAC,CAACU,MAAM,GAAG,CAAC,GAAG;IAAE,GAAGb,OAAO;IAAE,GAAGG;EAAS,CAAC,GAAGH,OAAO;AACjF,CAAC;AAED,SACEhE,4BAA4B,EAC5B+D,4BAA4B,EAC5B3D,cAAc,EACd4B,YAAY,EACZa,gCAAgC,EAChC3C,OAAO","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { standardBloodPressureDevice } from "../standard-gatt/standard-gatt.devices.js";
|
|
4
|
+
import { bloodPressureStatusFromFrame } from "../standard-gatt/standard-gatt.profile.js";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* The Veroval compact+ blood-pressure monitors.
|
|
@@ -18,9 +19,36 @@ import { standardBloodPressureDevice } from "../standard-gatt/standard-gatt.devi
|
|
|
18
19
|
|
|
19
20
|
const BPU_26 = "BPU26";
|
|
20
21
|
const BPW_26 = "BPW26";
|
|
22
|
+
const VEROVAL_TRIPLE_MEASUREMENT = 1 << 13;
|
|
23
|
+
const VEROVAL_ATRIAL_FIBRILLATION = 1 << 14;
|
|
24
|
+
const VEROVAL_RESTING_MEASUREMENT = 1 << 15;
|
|
25
|
+
const verovalStatusDecorator = supportedBits => (reading, frame, recordOffset) => {
|
|
26
|
+
if (!frame) {
|
|
27
|
+
return reading;
|
|
28
|
+
}
|
|
29
|
+
const status = bloodPressureStatusFromFrame(frame, recordOffset);
|
|
30
|
+
if (status === undefined) {
|
|
31
|
+
return reading;
|
|
32
|
+
}
|
|
33
|
+
const metadata = {};
|
|
34
|
+
if ((supportedBits & VEROVAL_TRIPLE_MEASUREMENT) !== 0 && (status & VEROVAL_TRIPLE_MEASUREMENT) !== 0) {
|
|
35
|
+
metadata.tripleMeasurement = true;
|
|
36
|
+
}
|
|
37
|
+
if ((supportedBits & VEROVAL_ATRIAL_FIBRILLATION) !== 0 && (status & VEROVAL_ATRIAL_FIBRILLATION) !== 0) {
|
|
38
|
+
metadata.atrialFibrillation = true;
|
|
39
|
+
}
|
|
40
|
+
if ((supportedBits & VEROVAL_RESTING_MEASUREMENT) !== 0 && (status & VEROVAL_RESTING_MEASUREMENT) !== 0) {
|
|
41
|
+
metadata.restingMeasurement = true;
|
|
42
|
+
}
|
|
43
|
+
return Object.keys(metadata).length > 0 ? {
|
|
44
|
+
...reading,
|
|
45
|
+
...metadata
|
|
46
|
+
} : reading;
|
|
47
|
+
};
|
|
21
48
|
const verovalCompactMonitor = (advertisedName, params) => standardBloodPressureDevice({
|
|
22
49
|
id: params.id ?? `veroval-${advertisedName.toLowerCase().replace(/[^a-z0-9]+/g, "-")}`,
|
|
23
50
|
nameMatch: params.nameMatch ?? new RegExp(`^${advertisedName}$`, "i"),
|
|
51
|
+
decorateReading: advertisedName === BPU_26 ? verovalStatusDecorator(VEROVAL_TRIPLE_MEASUREMENT | VEROVAL_ATRIAL_FIBRILLATION | VEROVAL_RESTING_MEASUREMENT) : verovalStatusDecorator(VEROVAL_TRIPLE_MEASUREMENT),
|
|
24
52
|
...(params.stuckDataTimeoutMs === undefined ? {} : {
|
|
25
53
|
stuckDataTimeoutMs: params.stuckDataTimeoutMs
|
|
26
54
|
})
|
package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["standardBloodPressureDevice","BPU_26","BPW_26","verovalCompactMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","RegExp","
|
|
1
|
+
{"version":3,"names":["standardBloodPressureDevice","bloodPressureStatusFromFrame","BPU_26","BPW_26","VEROVAL_TRIPLE_MEASUREMENT","VEROVAL_ATRIAL_FIBRILLATION","VEROVAL_RESTING_MEASUREMENT","verovalStatusDecorator","supportedBits","reading","frame","recordOffset","status","undefined","metadata","tripleMeasurement","atrialFibrillation","restingMeasurement","Object","keys","length","verovalCompactMonitor","advertisedName","params","id","toLowerCase","replace","nameMatch","RegExp","decorateReading","stuckDataTimeoutMs","bpu26Monitor","bpw26Monitor","VEROVAL_BP_MODEL_NAMES"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.bp-monitors.ts"],"mappings":";;AAOA,SAASA,2BAA2B,QAAQ,2CAAwC;AACpF,SAASC,4BAA4B,QAAQ,2CAAwC;;AAErF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,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,GAAGX,4BAA4B,CAACS,KAAK,EAAEC,YAAY,CAAC;EAEhE,IAAIC,MAAM,KAAKC,SAAS,EAAE;IACxB,OAAOJ,OAAO;EAChB;EAEA,MAAMK,QAA8C,GAAG,CAAC,CAAC;EAEzD,IAAI,CAACN,aAAa,GAAGJ,0BAA0B,MAAM,CAAC,IAClD,CAACQ,MAAM,GAAGR,0BAA0B,MAAM,CAAC,EAAE;IAC/CU,QAAQ,CAACC,iBAAiB,GAAG,IAAI;EACnC;EAEA,IAAI,CAACP,aAAa,GAAGH,2BAA2B,MAAM,CAAC,IACnD,CAACO,MAAM,GAAGP,2BAA2B,MAAM,CAAC,EAAE;IAChDS,QAAQ,CAACE,kBAAkB,GAAG,IAAI;EACpC;EAEA,IAAI,CAACR,aAAa,GAAGF,2BAA2B,MAAM,CAAC,IACnD,CAACM,MAAM,GAAGN,2BAA2B,MAAM,CAAC,EAAE;IAChDQ,QAAQ,CAACG,kBAAkB,GAAG,IAAI;EACpC;EAEA,OAAOC,MAAM,CAACC,IAAI,CAACL,QAAQ,CAAC,CAACM,MAAM,GAAG,CAAC,GACnC;IAAE,GAAGX,OAAO;IAAE,GAAGK;EAAS,CAAC,GAC3BL,OAAO;AACb,CAAC;AAcD,MAAMY,qBAAqB,GAAGA,CAC5BC,cAAsB,EACtBC,MAAuB,KAEvBvB,2BAA2B,CAAC;EAC1BwB,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,WAAWF,cAAc,CAACG,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE;EACtFC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAI,IAAIC,MAAM,CAAC,IAAIN,cAAc,GAAG,EAAE,GAAG,CAAC;EACrEO,eAAe,EACbP,cAAc,KAAKpB,MAAM,GACrBK,sBAAsB,CACpBH,0BAA0B,GACxBC,2BAA2B,GAC3BC,2BACJ,CAAC,GACDC,sBAAsB,CAACH,0BAA0B,CAAC;EACxD,IAAImB,MAAM,CAACO,kBAAkB,KAAKjB,SAAS,GACvC,CAAC,CAAC,GACF;IAAEiB,kBAAkB,EAAEP,MAAM,CAACO;EAAmB,CAAC;AACvD,CAAC,CAAC;;AAEJ;AACA,MAAMC,YAAY,GAAIR,MAAuB,IAC3CF,qBAAqB,CAACnB,MAAM,EAAEqB,MAAM,CAAC;;AAEvC;AACA,MAAMS,YAAY,GAAIT,MAAuB,IAC3CF,qBAAqB,CAAClB,MAAM,EAAEoB,MAAM,CAAC;;AAEvC;AACA,MAAMU,sBAAyC,GAAG,CAAC/B,MAAM,EAAEC,MAAM,CAAC;AAElE,SACE4B,YAAY,EACZC,YAAY,EACZC,sBAAsB,EACtBZ,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-gatt.blood-pressure-status.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,4BAA4B,GAChC,OAAO,SAAS,MAAM,EAAE,EACxB,qBAAgB,KACf,MAAM,GAAG,SA2BX,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.devices.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAIL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AA2CjC,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,
|
|
1
|
+
{"version":3,"file":"standard-gatt.devices.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAIL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AA2CjC,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAsDA,CAAC;AAEJ,yEAAyE;AACzE,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBA4CC,CAAC;AAKL;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAkCC,CAAC;AAEL;;;;;GAKG;AACH,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAWC,CAAC;AAEL;;;;;GAKG;AACH,QAAA,MAAM,uBAAuB,GAC3B,QAAQ,oBAAoB,KAC3B,sBAsCC,CAAC;AAEL,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MeasurementTypeKey } from "@ovok/core";
|
|
2
2
|
import { CustomDeviceDefinition, CustomReadingDecorator } from "../../../types/custom-device-definition";
|
|
3
3
|
import { CustomFieldSpec } from "../../../types/custom-field-spec";
|
|
4
|
+
import { bloodPressureStatusFromFrame } from "./standard-gatt.blood-pressure-status";
|
|
4
5
|
interface StandardDeviceParams {
|
|
5
6
|
/** Reported back as deviceData.name, and must not collide with a built-in device. */
|
|
6
7
|
id?: string;
|
|
@@ -49,6 +50,6 @@ declare const littleEndian: (name: string, byteIndexes: number[], unit: string,
|
|
|
49
50
|
/** Reads the SIG blood-pressure timestamp as a phone-local date. */
|
|
50
51
|
declare const recordedAtFromBloodPressureFrame: (frame: readonly string[], offset?: number) => Date | undefined;
|
|
51
52
|
declare const decorateBloodPressureReading: CustomReadingDecorator;
|
|
52
|
-
export { decorateBloodPressureReading, declareProfile, littleEndian, recordedAtFromBloodPressureFrame, sigUuid, };
|
|
53
|
+
export { bloodPressureStatusFromFrame, decorateBloodPressureReading, declareProfile, littleEndian, recordedAtFromBloodPressureFrame, sigUuid, };
|
|
53
54
|
export type { ProfileSpec, StandardDeviceParams };
|
|
54
55
|
//# sourceMappingURL=standard-gatt.profile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.profile.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"standard-gatt.profile.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAKrF,UAAU,oBAAoB;IAE5B,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,oEAAoE;IACpE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,iFAAiF;IACjF,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IAEvB,uFAAuF;IACvF,cAAc,EAAE,MAAM,CAAC;IAEvB,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,2EAA2E;IAC3E,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAE7B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,CAAC,CAAC;IAExE,6FAA6F;IAC7F,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAEnC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,QAAQ,CACvB,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CACtE,CAAC;CACH;AAED,QAAA,MAAM,OAAO,GAAI,UAAU,MAAM,KAAG,MACW,CAAC;AAEhD;;;;;GAKG;AACH,QAAA,MAAM,cAAc,GAClB,QAAQ,oBAAoB,EAC5B,SAAS,WAAW,KACnB,sBAsCA,CAAC;AAEJ,QAAA,MAAM,YAAY,GAChB,MAAM,MAAM,EACZ,aAAa,MAAM,EAAE,EACrB,MAAM,MAAM,EACZ,UAAU,eAAe,CAAC,UAAU,CAAC,KACpC,eAMD,CAAC;AAcH,oEAAoE;AACpE,QAAA,MAAM,gCAAgC,GACpC,OAAO,SAAS,MAAM,EAAE,EACxB,eAAU,KACT,IAAI,GAAG,SAmCT,CAAC;AAEF,QAAA,MAAM,4BAA4B,EAAE,sBAyDnC,CAAC;AAEF,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,YAAY,EACZ,gCAAgC,EAChC,OAAO,GACR,CAAC;AACF,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
+
import { Measurement } from "@ovok/core";
|
|
1
2
|
import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
|
|
3
|
+
import { MeasurementWithCaseType } from "../../../types/measurement-with-case-type";
|
|
4
|
+
type VerovalBloodPressureReading = MeasurementWithCaseType<Measurement> & {
|
|
5
|
+
/** The device flagged the reading as part of a triple measurement. */
|
|
6
|
+
tripleMeasurement?: boolean;
|
|
7
|
+
/** The device flagged atrial fibrillation during the reading. */
|
|
8
|
+
atrialFibrillation?: boolean;
|
|
9
|
+
/** The device flagged the reading as taken in its resting mode. */
|
|
10
|
+
restingMeasurement?: boolean;
|
|
11
|
+
};
|
|
2
12
|
interface VerovalBpParams {
|
|
3
13
|
/** Reported back as deviceData.name, and must not collide with a built-in device. */
|
|
4
14
|
id?: string;
|
|
@@ -15,4 +25,5 @@ declare const bpw26Monitor: (params: VerovalBpParams) => CustomDeviceDefinition;
|
|
|
15
25
|
/** The names these monitors advertise. */
|
|
16
26
|
declare const VEROVAL_BP_MODEL_NAMES: readonly string[];
|
|
17
27
|
export { bpu26Monitor, bpw26Monitor, VEROVAL_BP_MODEL_NAMES, verovalCompactMonitor, };
|
|
28
|
+
export type { VerovalBloodPressureReading };
|
|
18
29
|
//# sourceMappingURL=veroval.bp-monitors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veroval.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"veroval.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAyBpF,KAAK,2BAA2B,GAAG,uBAAuB,CAAC,WAAW,CAAC,GAAG;IAExE,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAqCF,UAAU,eAAe;IAEvB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,QAAA,MAAM,qBAAqB,GACzB,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAeC,CAAC;AAEL,sDAAsD;AACtD,QAAA,MAAM,YAAY,GAAI,QAAQ,eAAe,KAAG,sBACT,CAAC;AAExC,kDAAkD;AAClD,QAAA,MAAM,YAAY,GAAI,QAAQ,eAAe,KAAG,sBACT,CAAC;AAExC,0CAA0C;AAC1C,QAAA,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAqB,CAAC;AAEnE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,GACtB,CAAC;AACF,YAAY,EAAE,2BAA2B,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standard-gatt.blood-pressure-status.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,4BAA4B,GAChC,OAAO,SAAS,MAAM,EAAE,EACxB,qBAAgB,KACf,MAAM,GAAG,SA2BX,CAAC;AAEF,OAAO,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.devices.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAIL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AA2CjC,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,
|
|
1
|
+
{"version":3,"file":"standard-gatt.devices.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAIL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AA2CjC,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAsDA,CAAC;AAEJ,yEAAyE;AACzE,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBA4CC,CAAC;AAKL;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAkCC,CAAC;AAEL;;;;;GAKG;AACH,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAWC,CAAC;AAEL;;;;;GAKG;AACH,QAAA,MAAM,uBAAuB,GAC3B,QAAQ,oBAAoB,KAC3B,sBAsCC,CAAC;AAEL,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MeasurementTypeKey } from "@ovok/core";
|
|
2
2
|
import { CustomDeviceDefinition, CustomReadingDecorator } from "../../../types/custom-device-definition";
|
|
3
3
|
import { CustomFieldSpec } from "../../../types/custom-field-spec";
|
|
4
|
+
import { bloodPressureStatusFromFrame } from "./standard-gatt.blood-pressure-status";
|
|
4
5
|
interface StandardDeviceParams {
|
|
5
6
|
/** Reported back as deviceData.name, and must not collide with a built-in device. */
|
|
6
7
|
id?: string;
|
|
@@ -49,6 +50,6 @@ declare const littleEndian: (name: string, byteIndexes: number[], unit: string,
|
|
|
49
50
|
/** Reads the SIG blood-pressure timestamp as a phone-local date. */
|
|
50
51
|
declare const recordedAtFromBloodPressureFrame: (frame: readonly string[], offset?: number) => Date | undefined;
|
|
51
52
|
declare const decorateBloodPressureReading: CustomReadingDecorator;
|
|
52
|
-
export { decorateBloodPressureReading, declareProfile, littleEndian, recordedAtFromBloodPressureFrame, sigUuid, };
|
|
53
|
+
export { bloodPressureStatusFromFrame, decorateBloodPressureReading, declareProfile, littleEndian, recordedAtFromBloodPressureFrame, sigUuid, };
|
|
53
54
|
export type { ProfileSpec, StandardDeviceParams };
|
|
54
55
|
//# sourceMappingURL=standard-gatt.profile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.profile.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"standard-gatt.profile.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAKrF,UAAU,oBAAoB;IAE5B,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,oEAAoE;IACpE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,iFAAiF;IACjF,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IAEvB,uFAAuF;IACvF,cAAc,EAAE,MAAM,CAAC;IAEvB,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,2EAA2E;IAC3E,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAE7B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,CAAC,CAAC;IAExE,6FAA6F;IAC7F,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAEnC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,QAAQ,CACvB,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CACtE,CAAC;CACH;AAED,QAAA,MAAM,OAAO,GAAI,UAAU,MAAM,KAAG,MACW,CAAC;AAEhD;;;;;GAKG;AACH,QAAA,MAAM,cAAc,GAClB,QAAQ,oBAAoB,EAC5B,SAAS,WAAW,KACnB,sBAsCA,CAAC;AAEJ,QAAA,MAAM,YAAY,GAChB,MAAM,MAAM,EACZ,aAAa,MAAM,EAAE,EACrB,MAAM,MAAM,EACZ,UAAU,eAAe,CAAC,UAAU,CAAC,KACpC,eAMD,CAAC;AAcH,oEAAoE;AACpE,QAAA,MAAM,gCAAgC,GACpC,OAAO,SAAS,MAAM,EAAE,EACxB,eAAU,KACT,IAAI,GAAG,SAmCT,CAAC;AAEF,QAAA,MAAM,4BAA4B,EAAE,sBAyDnC,CAAC;AAEF,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,YAAY,EACZ,gCAAgC,EAChC,OAAO,GACR,CAAC;AACF,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
+
import { Measurement } from "@ovok/core";
|
|
1
2
|
import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
|
|
3
|
+
import { MeasurementWithCaseType } from "../../../types/measurement-with-case-type";
|
|
4
|
+
type VerovalBloodPressureReading = MeasurementWithCaseType<Measurement> & {
|
|
5
|
+
/** The device flagged the reading as part of a triple measurement. */
|
|
6
|
+
tripleMeasurement?: boolean;
|
|
7
|
+
/** The device flagged atrial fibrillation during the reading. */
|
|
8
|
+
atrialFibrillation?: boolean;
|
|
9
|
+
/** The device flagged the reading as taken in its resting mode. */
|
|
10
|
+
restingMeasurement?: boolean;
|
|
11
|
+
};
|
|
2
12
|
interface VerovalBpParams {
|
|
3
13
|
/** Reported back as deviceData.name, and must not collide with a built-in device. */
|
|
4
14
|
id?: string;
|
|
@@ -15,4 +25,5 @@ declare const bpw26Monitor: (params: VerovalBpParams) => CustomDeviceDefinition;
|
|
|
15
25
|
/** The names these monitors advertise. */
|
|
16
26
|
declare const VEROVAL_BP_MODEL_NAMES: readonly string[];
|
|
17
27
|
export { bpu26Monitor, bpw26Monitor, VEROVAL_BP_MODEL_NAMES, verovalCompactMonitor, };
|
|
28
|
+
export type { VerovalBloodPressureReading };
|
|
18
29
|
//# sourceMappingURL=veroval.bp-monitors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veroval.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"veroval.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAyBpF,KAAK,2BAA2B,GAAG,uBAAuB,CAAC,WAAW,CAAC,GAAG;IAExE,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAqCF,UAAU,eAAe;IAEvB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,QAAA,MAAM,qBAAqB,GACzB,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAeC,CAAC;AAEL,sDAAsD;AACtD,QAAA,MAAM,YAAY,GAAI,QAAQ,eAAe,KAAG,sBACT,CAAC;AAExC,kDAAkD;AAClD,QAAA,MAAM,YAAY,GAAI,QAAQ,eAAe,KAAG,sBACT,CAAC;AAExC,0CAA0C;AAC1C,QAAA,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAqB,CAAC;AAEnE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,GACtB,CAAC;AACF,YAAY,EAAE,2BAA2B,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ovok/native",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.24",
|
|
4
4
|
"description": "React native component sdk for OVOK",
|
|
5
5
|
"source": "./src/index.tsx",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"@medplum/react-hooks": "3.2.23",
|
|
88
88
|
"@opentelemetry/api": "^1.9.1",
|
|
89
89
|
"@opentelemetry/api-logs": "^0.222.0",
|
|
90
|
-
"@ovok/core": "^0.3.
|
|
90
|
+
"@ovok/core": "^0.3.22",
|
|
91
91
|
"@react-native-community/datetimepicker": "^9.1.0",
|
|
92
92
|
"@react-native-community/netinfo": "^12.0.1",
|
|
93
93
|
"@react-native-google-signin/google-signin": "^16.1.2",
|