@ovok/native 1.6.21 → 1.6.23
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.profile.js +43 -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.duo-control-device.js +2 -1
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +43 -3
- 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.duo-control-device.js +2 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js.map +1 -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.duo-control-device.d.ts +4 -3
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts.map +1 -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.duo-control-device.d.ts +4 -3
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts.map +1 -1
- package/package.json +2 -2
package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.sigUuid = exports.recordedAtFromBloodPressureFrame = exports.littleEndian = exports.decorateBloodPressureReading = exports.declareProfile = void 0;
|
|
7
|
+
var _bloodPressureStates = require("../../../types/blood-pressure-states.js");
|
|
7
8
|
var _defineCustomDevice = require("../../custom/define-custom-device.js");
|
|
8
9
|
/** Milliseconds a spot-check device may take to produce its reading. */
|
|
9
10
|
const SPOT_CHECK_TIMEOUT_MS = 60_000;
|
|
@@ -81,10 +82,49 @@ const recordedAtFromBloodPressureFrame = (frame, offset = 0) => {
|
|
|
81
82
|
};
|
|
82
83
|
exports.recordedAtFromBloodPressureFrame = recordedAtFromBloodPressureFrame;
|
|
83
84
|
const decorateBloodPressureReading = (reading, frame, recordOffset) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
if (!frame) {
|
|
86
|
+
return reading;
|
|
87
|
+
}
|
|
88
|
+
const offset = recordOffset ?? 0;
|
|
89
|
+
const flags = byteAt(frame, 0, offset);
|
|
90
|
+
const recordedAt = recordedAtFromBloodPressureFrame(frame, offset);
|
|
91
|
+
if (flags === undefined) {
|
|
92
|
+
return recordedAt ? {
|
|
93
|
+
...reading,
|
|
94
|
+
recordedAt
|
|
95
|
+
} : reading;
|
|
96
|
+
}
|
|
97
|
+
let cursor = 7;
|
|
98
|
+
if ((flags & 0x02) !== 0) {
|
|
99
|
+
cursor += 7;
|
|
100
|
+
}
|
|
101
|
+
if ((flags & 0x04) !== 0) {
|
|
102
|
+
cursor += 2;
|
|
103
|
+
}
|
|
104
|
+
const metadata = recordedAt ? {
|
|
87
105
|
recordedAt
|
|
106
|
+
} : {};
|
|
107
|
+
if ((flags & 0x08) !== 0) {
|
|
108
|
+
const userId = byteAt(frame, cursor, offset);
|
|
109
|
+
if (userId === 0 || userId === 1) {
|
|
110
|
+
metadata.memorySlot = userId + 1;
|
|
111
|
+
}
|
|
112
|
+
cursor += 1;
|
|
113
|
+
}
|
|
114
|
+
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;
|
|
119
|
+
metadata.status = (status & 0x01) !== 0 ? _bloodPressureStates.BloodPressureStates.DISTURB_DETECTED : (status & 0x02) !== 0 ? _bloodPressureStates.BloodPressureStates.LOOSE_SLEEVE : _bloodPressureStates.BloodPressureStates.REGULAR;
|
|
120
|
+
if ((status & 0x04) !== 0) {
|
|
121
|
+
metadata.irregularHeartbeat = true;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return Object.keys(metadata).length > 0 ? {
|
|
126
|
+
...reading,
|
|
127
|
+
...metadata
|
|
88
128
|
} : reading;
|
|
89
129
|
};
|
|
90
130
|
exports.decorateBloodPressureReading = decorateBloodPressureReading;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
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":[]}
|
package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js
CHANGED
|
@@ -47,7 +47,8 @@ const parseVerovalDuoControlRecordMetadata = (frame, recordOffset) => {
|
|
|
47
47
|
return undefined;
|
|
48
48
|
}
|
|
49
49
|
return {
|
|
50
|
-
recordedAt
|
|
50
|
+
recordedAt,
|
|
51
|
+
irregularHeartbeat: asciiFromFrame(frame, recordOffset + RECORD_TIMESTAMP_BYTES, 1) !== "0"
|
|
51
52
|
};
|
|
52
53
|
};
|
|
53
54
|
exports.parseVerovalDuoControlRecordMetadata = parseVerovalDuoControlRecordMetadata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_defineCustomDevice","_customDevice","_sentinelFrameReader","_verovalDuoControlSequencer","SERVICE","NOTIFY","WRITE","STX","ETX","ACK","NAK","RECORD_BYTES","TAG_BYTES","DATA_REPLY","COUNT_REPLY","MAX_REPLY_BYTES","STUCK_TIMEOUT_MS","RECORD_TIMESTAMP_BYTES","asciiFromFrame","frame","from","count","slice","map","byte","String","fromCharCode","Number","parseInt","join","parseVerovalDuoControlRecordMetadata","recordOffset","timestamp","year","month","day","hour","minute","test","every","isFinite","undefined","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","exports","asciiField","name","unit","byteIndexes","encoding","duoControlDefinition","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","MeasurementTypeKey","bloodPressure","description","repeatedRecords","recordBytes","fields","VerovalDuoControlDevice","CustomDevice","memorySlot","constructor","device","params","frameReader","SentinelFrameReader","start","terminator","maxFrameBytes","standaloneBytes","createCommandSequencer","VerovalDuoControlSequencer","write","serviceUuid","characteristicUuid","onMemorySlot","onRefused","reason","onError","Error","decorateReading","reading","metadata"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAEA,IAAAI,2BAAA,GAAAJ,OAAA;AAEA,MAAMK,OAAO,GAAG,sCAAsC;AACtD,MAAMC,MAAM,GAAG,sCAAsC;AACrD,MAAMC,KAAK,GAAG,sCAAsC;AAEpD,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;;AAEhB;AACA,MAAMC,YAAY,GAAG,EAAE;;AAEvB;AACA,MAAMC,SAAS,GAAG,CAAC;;AAEnB;AACA,MAAMC,UAAU,GAAG,UAAU;;AAE7B;AACA,MAAMC,WAAW,GAAG,UAAU;;AAE9B;AACA,MAAMC,eAAe,GAAG,KAAK;;AAE7B;AACA,MAAMC,gBAAgB,GAAG,OAAO;AAEhC,MAAMC,sBAAsB,GAAG,EAAE;
|
|
1
|
+
{"version":3,"names":["_core","require","_defineCustomDevice","_customDevice","_sentinelFrameReader","_verovalDuoControlSequencer","SERVICE","NOTIFY","WRITE","STX","ETX","ACK","NAK","RECORD_BYTES","TAG_BYTES","DATA_REPLY","COUNT_REPLY","MAX_REPLY_BYTES","STUCK_TIMEOUT_MS","RECORD_TIMESTAMP_BYTES","asciiFromFrame","frame","from","count","slice","map","byte","String","fromCharCode","Number","parseInt","join","parseVerovalDuoControlRecordMetadata","recordOffset","timestamp","year","month","day","hour","minute","test","every","isFinite","undefined","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","irregularHeartbeat","exports","asciiField","name","unit","byteIndexes","encoding","duoControlDefinition","defineCustomDevice","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","MeasurementTypeKey","bloodPressure","description","repeatedRecords","recordBytes","fields","VerovalDuoControlDevice","CustomDevice","memorySlot","constructor","device","params","frameReader","SentinelFrameReader","start","terminator","maxFrameBytes","standaloneBytes","createCommandSequencer","VerovalDuoControlSequencer","write","serviceUuid","characteristicUuid","onMemorySlot","onRefused","reason","onError","Error","decorateReading","reading","metadata"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
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";
|
|
4
5
|
|
|
5
6
|
/** Milliseconds a spot-check device may take to produce its reading. */
|
|
@@ -74,10 +75,49 @@ const recordedAtFromBloodPressureFrame = (frame, offset = 0) => {
|
|
|
74
75
|
return recordedAt.getFullYear() === year && recordedAt.getMonth() === month - 1 && recordedAt.getDate() === day && recordedAt.getHours() === hour && recordedAt.getMinutes() === minute && recordedAt.getSeconds() === second ? recordedAt : undefined;
|
|
75
76
|
};
|
|
76
77
|
const decorateBloodPressureReading = (reading, frame, recordOffset) => {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
if (!frame) {
|
|
79
|
+
return reading;
|
|
80
|
+
}
|
|
81
|
+
const offset = recordOffset ?? 0;
|
|
82
|
+
const flags = byteAt(frame, 0, offset);
|
|
83
|
+
const recordedAt = recordedAtFromBloodPressureFrame(frame, offset);
|
|
84
|
+
if (flags === undefined) {
|
|
85
|
+
return recordedAt ? {
|
|
86
|
+
...reading,
|
|
87
|
+
recordedAt
|
|
88
|
+
} : reading;
|
|
89
|
+
}
|
|
90
|
+
let cursor = 7;
|
|
91
|
+
if ((flags & 0x02) !== 0) {
|
|
92
|
+
cursor += 7;
|
|
93
|
+
}
|
|
94
|
+
if ((flags & 0x04) !== 0) {
|
|
95
|
+
cursor += 2;
|
|
96
|
+
}
|
|
97
|
+
const metadata = recordedAt ? {
|
|
80
98
|
recordedAt
|
|
99
|
+
} : {};
|
|
100
|
+
if ((flags & 0x08) !== 0) {
|
|
101
|
+
const userId = byteAt(frame, cursor, offset);
|
|
102
|
+
if (userId === 0 || userId === 1) {
|
|
103
|
+
metadata.memorySlot = userId + 1;
|
|
104
|
+
}
|
|
105
|
+
cursor += 1;
|
|
106
|
+
}
|
|
107
|
+
if ((flags & 0x10) !== 0) {
|
|
108
|
+
const statusLow = byteAt(frame, cursor, offset);
|
|
109
|
+
const statusHigh = byteAt(frame, cursor + 1, offset);
|
|
110
|
+
if (statusLow !== undefined && statusHigh !== undefined) {
|
|
111
|
+
const status = statusLow | statusHigh << 8;
|
|
112
|
+
metadata.status = (status & 0x01) !== 0 ? BloodPressureStates.DISTURB_DETECTED : (status & 0x02) !== 0 ? BloodPressureStates.LOOSE_SLEEVE : BloodPressureStates.REGULAR;
|
|
113
|
+
if ((status & 0x04) !== 0) {
|
|
114
|
+
metadata.irregularHeartbeat = true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return Object.keys(metadata).length > 0 ? {
|
|
119
|
+
...reading,
|
|
120
|
+
...metadata
|
|
81
121
|
} : reading;
|
|
82
122
|
};
|
|
83
123
|
export { decorateBloodPressureReading, declareProfile, littleEndian, recordedAtFromBloodPressureFrame, sigUuid };
|
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","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","statusLow","statusHigh","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":"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","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js
CHANGED
|
@@ -43,7 +43,8 @@ const parseVerovalDuoControlRecordMetadata = (frame, recordOffset) => {
|
|
|
43
43
|
return undefined;
|
|
44
44
|
}
|
|
45
45
|
return {
|
|
46
|
-
recordedAt
|
|
46
|
+
recordedAt,
|
|
47
|
+
irregularHeartbeat: asciiFromFrame(frame, recordOffset + RECORD_TIMESTAMP_BYTES, 1) !== "0"
|
|
47
48
|
};
|
|
48
49
|
};
|
|
49
50
|
const asciiField = (name, from, unit) => ({
|
package/lib/module/modules/bt-management/services/devices/veroval/veroval.duo-control-device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","defineCustomDevice","CustomDevice","SentinelFrameReader","VerovalDuoControlSequencer","SERVICE","NOTIFY","WRITE","STX","ETX","ACK","NAK","RECORD_BYTES","TAG_BYTES","DATA_REPLY","COUNT_REPLY","MAX_REPLY_BYTES","STUCK_TIMEOUT_MS","RECORD_TIMESTAMP_BYTES","asciiFromFrame","frame","from","count","slice","map","byte","String","fromCharCode","Number","parseInt","join","parseVerovalDuoControlRecordMetadata","recordOffset","timestamp","year","month","day","hour","minute","test","every","isFinite","undefined","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","asciiField","name","unit","byteIndexes","encoding","duoControlDefinition","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","bloodPressure","description","repeatedRecords","recordBytes","fields","VerovalDuoControlDevice","memorySlot","constructor","device","params","frameReader","start","terminator","maxFrameBytes","standaloneBytes","createCommandSequencer","write","serviceUuid","characteristicUuid","onMemorySlot","onRefused","reason","onError","Error","decorateReading","reading","metadata"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"mappings":";;AAAA,SAAmCA,kBAAkB,QAAQ,YAAY;AAKzE,SAASC,kBAAkB,QAAQ,sCAAmC;AACtE,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,mBAAmB,QAAQ,6BAA0B;AAE9D,SAASC,0BAA0B,QAAQ,oCAAiC;AAE5E,MAAMC,OAAO,GAAG,sCAAsC;AACtD,MAAMC,MAAM,GAAG,sCAAsC;AACrD,MAAMC,KAAK,GAAG,sCAAsC;AAEpD,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;AAChB,MAAMC,GAAG,GAAG,IAAI;;AAEhB;AACA,MAAMC,YAAY,GAAG,EAAE;;AAEvB;AACA,MAAMC,SAAS,GAAG,CAAC;;AAEnB;AACA,MAAMC,UAAU,GAAG,UAAU;;AAE7B;AACA,MAAMC,WAAW,GAAG,UAAU;;AAE9B;AACA,MAAMC,eAAe,GAAG,KAAK;;AAE7B;AACA,MAAMC,gBAAgB,GAAG,OAAO;AAEhC,MAAMC,sBAAsB,GAAG,EAAE;
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","defineCustomDevice","CustomDevice","SentinelFrameReader","VerovalDuoControlSequencer","SERVICE","NOTIFY","WRITE","STX","ETX","ACK","NAK","RECORD_BYTES","TAG_BYTES","DATA_REPLY","COUNT_REPLY","MAX_REPLY_BYTES","STUCK_TIMEOUT_MS","RECORD_TIMESTAMP_BYTES","asciiFromFrame","frame","from","count","slice","map","byte","String","fromCharCode","Number","parseInt","join","parseVerovalDuoControlRecordMetadata","recordOffset","timestamp","year","month","day","hour","minute","test","every","isFinite","undefined","recordedAt","Date","getFullYear","getMonth","getDate","getHours","getMinutes","irregularHeartbeat","asciiField","name","unit","byteIndexes","encoding","duoControlDefinition","id","nameMatch","stuckDataTimeoutMs","services","uuid","monitor","minLengthBytes","caseSelectorBytes","cases","selector","kind","measurementTypeKey","bloodPressure","description","repeatedRecords","recordBytes","fields","VerovalDuoControlDevice","memorySlot","constructor","device","params","frameReader","start","terminator","maxFrameBytes","standaloneBytes","createCommandSequencer","write","serviceUuid","characteristicUuid","onMemorySlot","onRefused","reason","onError","Error","decorateReading","reading","metadata"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -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;AAMnE,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,sBA4DnC,CAAC;AAEF,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,YAAY,EACZ,gCAAgC,EAChC,OAAO,GACR,CAAC;AACF,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -4,12 +4,13 @@ import { CreateDeviceParams } from "../../../types/create-device-params";
|
|
|
4
4
|
import { CustomDeviceId } from "../../../types/custom-device-id";
|
|
5
5
|
import { CustomDevice } from "../custom/custom.device";
|
|
6
6
|
type VerovalDuoControlMeasurement = BloodPressureMeasurement & {
|
|
7
|
-
/** The monitor memory that produced the reading. */
|
|
8
7
|
memorySlot: 1 | 2;
|
|
9
8
|
/** The timestamp stored in the monitor, rather than the download time. */
|
|
10
9
|
recordedAt: Date;
|
|
10
|
+
/** Whether the monitor marked the reading as an irregular heartbeat. */
|
|
11
|
+
irregularHeartbeat?: boolean;
|
|
11
12
|
};
|
|
12
|
-
declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], recordOffset: number) => Pick<VerovalDuoControlMeasurement, "recordedAt"> | undefined;
|
|
13
|
+
declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], recordOffset: number) => Pick<VerovalDuoControlMeasurement, "recordedAt" | "irregularHeartbeat"> | undefined;
|
|
13
14
|
/**
|
|
14
15
|
* The Veroval duo control.
|
|
15
16
|
*
|
|
@@ -30,6 +31,6 @@ declare class VerovalDuoControlDevice extends CustomDevice {
|
|
|
30
31
|
caseType: import("../../../types/case-type").CaseType;
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
|
-
export { parseVerovalDuoControlRecordMetadata, VerovalDuoControlDevice
|
|
34
|
+
export { parseVerovalDuoControlRecordMetadata, VerovalDuoControlDevice };
|
|
34
35
|
export type { VerovalDuoControlMeasurement };
|
|
35
36
|
//# sourceMappingURL=veroval.duo-control-device.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veroval.duo-control-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAkCvD,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;
|
|
1
|
+
{"version":3,"file":"veroval.duo-control-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAkCvD,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;IAC7D,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAElB,0EAA0E;IAC1E,UAAU,EAAE,IAAI,CAAC;IAEjB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAYF,QAAA,MAAM,oCAAoC,GACxC,OAAO,SAAS,MAAM,EAAE,EACxB,cAAc,MAAM,KAElB,IAAI,CAAC,4BAA4B,EAAE,YAAY,GAAG,oBAAoB,CAAC,GACvE,SAmCH,CAAC;AAqDF;;;;;;;;;;GAUG;AACH,cAAM,uBAAwB,SAAQ,YAAY;IAChD,OAAO,CAAC,UAAU,CAAY;gBAG5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,cAAc,CAAC;IAsB5C,SAAS,CAAC,eAAe,GACvB,SAAS,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,QAAQ,SAAS,MAAM,EAAE,EACzB,eAAe,MAAM;;;;MAcrB;CACH;AAED,OAAO,EAAE,oCAAoC,EAAE,uBAAuB,EAAE,CAAC;AACzE,YAAY,EAAE,4BAA4B,EAAE,CAAC"}
|
|
@@ -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;AAMnE,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,sBA4DnC,CAAC;AAEF,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,YAAY,EACZ,gCAAgC,EAChC,OAAO,GACR,CAAC;AACF,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -4,12 +4,13 @@ import { CreateDeviceParams } from "../../../types/create-device-params";
|
|
|
4
4
|
import { CustomDeviceId } from "../../../types/custom-device-id";
|
|
5
5
|
import { CustomDevice } from "../custom/custom.device";
|
|
6
6
|
type VerovalDuoControlMeasurement = BloodPressureMeasurement & {
|
|
7
|
-
/** The monitor memory that produced the reading. */
|
|
8
7
|
memorySlot: 1 | 2;
|
|
9
8
|
/** The timestamp stored in the monitor, rather than the download time. */
|
|
10
9
|
recordedAt: Date;
|
|
10
|
+
/** Whether the monitor marked the reading as an irregular heartbeat. */
|
|
11
|
+
irregularHeartbeat?: boolean;
|
|
11
12
|
};
|
|
12
|
-
declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], recordOffset: number) => Pick<VerovalDuoControlMeasurement, "recordedAt"> | undefined;
|
|
13
|
+
declare const parseVerovalDuoControlRecordMetadata: (frame: readonly string[], recordOffset: number) => Pick<VerovalDuoControlMeasurement, "recordedAt" | "irregularHeartbeat"> | undefined;
|
|
13
14
|
/**
|
|
14
15
|
* The Veroval duo control.
|
|
15
16
|
*
|
|
@@ -30,6 +31,6 @@ declare class VerovalDuoControlDevice extends CustomDevice {
|
|
|
30
31
|
caseType: import("../../../types/case-type").CaseType;
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
|
-
export { parseVerovalDuoControlRecordMetadata, VerovalDuoControlDevice
|
|
34
|
+
export { parseVerovalDuoControlRecordMetadata, VerovalDuoControlDevice };
|
|
34
35
|
export type { VerovalDuoControlMeasurement };
|
|
35
36
|
//# sourceMappingURL=veroval.duo-control-device.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"veroval.duo-control-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAkCvD,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;
|
|
1
|
+
{"version":3,"file":"veroval.duo-control-device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAkCvD,KAAK,4BAA4B,GAAG,wBAAwB,GAAG;IAC7D,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAElB,0EAA0E;IAC1E,UAAU,EAAE,IAAI,CAAC;IAEjB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAYF,QAAA,MAAM,oCAAoC,GACxC,OAAO,SAAS,MAAM,EAAE,EACxB,cAAc,MAAM,KAElB,IAAI,CAAC,4BAA4B,EAAE,YAAY,GAAG,oBAAoB,CAAC,GACvE,SAmCH,CAAC;AAqDF;;;;;;;;;;GAUG;AACH,cAAM,uBAAwB,SAAQ,YAAY;IAChD,OAAO,CAAC,UAAU,CAAY;gBAG5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,cAAc,CAAC;IAsB5C,SAAS,CAAC,eAAe,GACvB,SAAS,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,QAAQ,SAAS,MAAM,EAAE,EACzB,eAAe,MAAM;;;;MAcrB;CACH;AAED,OAAO,EAAE,oCAAoC,EAAE,uBAAuB,EAAE,CAAC;AACzE,YAAY,EAAE,4BAA4B,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.23",
|
|
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",
|