@ovok/native 1.16.1-dev.2165 → 1.16.1-dev.2171
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/bp2/bp2.history-sequencer.js +40 -11
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.connect-retry.js +32 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.connect-retry.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +33 -4
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +43 -4
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +1 -0
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/commonjs/modules/data-sync/types/health-sync-keys.js +13 -0
- package/lib/commonjs/modules/data-sync/types/health-sync-keys.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +6 -3
- package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/default-health-coding.js +19 -4
- package/lib/commonjs/modules/data-sync/utils/default-health-coding.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js +20 -4
- package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/health-units.js +6 -1
- package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +40 -11
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.connect-retry.js +28 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.connect-retry.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +33 -4
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +43 -4
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/data-processor.js +1 -0
- package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/module/modules/data-sync/types/health-sync-keys.js +13 -0
- package/lib/module/modules/data-sync/types/health-sync-keys.js.map +1 -1
- package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +6 -3
- package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/module/modules/data-sync/utils/default-health-coding.js +19 -4
- package/lib/module/modules/data-sync/utils/default-health-coding.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js +20 -4
- package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
- package/lib/module/modules/data-sync/utils/health-units.js +6 -1
- package/lib/module/modules/data-sync/utils/health-units.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +9 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.connect-retry.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.connect-retry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +16 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/get-data-from-provider-props.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/get-data-from-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-keys.d.ts +11 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-keys.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/default-health-coding.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +9 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.connect-retry.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.connect-retry.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +7 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +16 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/get-data-from-provider-props.d.ts +3 -1
- package/lib/typescript/module/src/modules/data-sync/types/get-data-from-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-keys.d.ts +11 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-keys.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/default-health-coding.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
- package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_healthData","require","_fhirSystems","_healthObservationDevice","HEALTH_RECORD_DATA_EXTENSION","HEALTHKIT_BODY_MASS_INDEX","convertGenericHealthDataToObservation","data","patientId","mode","typeIdentifier","configuredTypeIdentifier","typeIdentifierCodes","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","first","value","String","quantityType","categoryType","recordType","configuredCode","code","configuredSystem","system","LOINC_SYSTEM","isLoincCode","undefined","interval","getInterval","measurement","getMeasurement","metadata","getMetadata","device","getHealthObservationDevice","observationDate","start","getDate","observation","resourceType","id","getStableObservationId","date","status","subject","reference","coding","display","isSeriesHealthData","extension","url","valueString","JSON","stringify","map","toPortableRecordData","effectivePeriod","toISOString","end","effectiveDateTime","isAggregatedHealthData","component","minimum","unit","maximum","stageComponents","getSleepStageComponents","length","exports","test","OMITTED_RECORD_FIELDS","Set","Date","Array","isArray","Object","fromEntries","entries","filter","key","has","child","raw","valueSampledData","origin","quantity","period","periodMs","dimensions","values","slot","Number","toFixed","join","number","kind","average","valueQuantity","getTime","extracted","extractValue","candidates","containerKey","valueKey","fallbackUnit","container","normalizeUnit","scalarCandidates","intervals","item","startValue","startDate","startTime","time","endDate","endTime","endValue","isNaN","Boolean","Math","min","max","parsed","sourceRevision","source","manufacturer","dataOrigin","model","sourceApp","name","recordingMethod","flatMap","stages","duration","isFinite","stage","label","text","getUcumCode","UCUM_SYSTEM","includes","normalized","kilometers","meters","miles","count","steps","kilograms","grams","milligrams","kilocalories","calories","minutes","seconds","beatsPerMinute","bpm","mmHg","degC","UCUM_CODES","parts","replace","slice"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/convert-generic-health-data.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_healthData","require","_healthSyncKeys","_fhirSystems","_healthObservationDevice","HEALTH_RECORD_DATA_EXTENSION","HEALTHKIT_BODY_MASS_INDEX","convertGenericHealthDataToObservation","data","patientId","measurementTypeKey","mode","typeIdentifier","configuredTypeIdentifier","typeIdentifierCodes","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","first","value","String","quantityType","categoryType","recordType","configuredCode","code","configuredSystem","system","LOINC_SYSTEM","isLoincCode","undefined","interval","getInterval","measurement","getMeasurement","metadata","getMetadata","device","getHealthObservationDevice","observationDate","start","getDate","observation","resourceType","id","getStableObservationId","date","status","subject","reference","coding","display","isSeriesHealthData","extension","url","valueString","JSON","stringify","map","toPortableRecordData","effectivePeriod","toISOString","end","effectiveDateTime","isAggregatedHealthData","component","minimum","unit","maximum","stageComponents","HealthDataType","sleep","getSleepStageComponents","length","exports","test","OMITTED_RECORD_FIELDS","Set","Date","Array","isArray","Object","fromEntries","entries","filter","key","has","child","raw","valueSampledData","origin","quantity","period","periodMs","dimensions","values","slot","Number","toFixed","join","number","kind","average","valueQuantity","getTime","extracted","extractValue","candidates","containerKey","valueKey","fallbackUnit","container","normalizeUnit","scalarCandidates","intervals","item","startValue","startDate","startTime","time","endDate","endTime","endValue","isNaN","Boolean","Math","min","max","parsed","sourceRevision","source","manufacturer","dataOrigin","model","sourceApp","name","recordingMethod","flatMap","stages","duration","isFinite","stage","label","text","getUcumCode","UCUM_SYSTEM","includes","normalized","kilometers","meters","miles","count","steps","kilograms","grams","milligrams","kilocalories","calories","minutes","seconds","beatsPerMinute","bpm","mmHg","degC","IU","UCUM_CODES","parts","replace","slice"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/convert-generic-health-data.ts"],"mappings":";;;;;;AAKA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AATA;;AAgBA,MAAMI,4BAA4B,GAChC,kEAAkE;AAEpE,MAAMC,yBAAyB,GAAG,uCAAuC;AAEzE,MAAMC,qCAAqC,GAAG,MAAAA,CAAO;EACnDC,IAAI;EACJC,SAAS;EACTC,kBAAkB;EAClBC,IAAI;EACJC,cAAc,EAAEC,wBAAwB;EACxCC,mBAAmB;EACnBC,yBAAyB;EACzBC;AACsB,CAAC,KAA6B;EACpD,MAAMC,KAAK,GAAGT,IAAI,CAAC,CAAC,CAAC;EAErB,IAAI,CAACS,KAAK,EAAE;IACV,OAAO,EAAE;EACX;EAEA,MAAMC,KAAK,GAAGD,KAAgC;EAE9C,MAAML,cAAc,GAAGO,MAAM,CAC3BN,wBAAwB,IACtBK,KAAK,CAACN,cAAc,IACpBM,KAAK,CAACE,YAAY,IAClBF,KAAK,CAACG,YAAY,IAClBH,KAAK,CAACI,UAAU,IAChB,aACJ,CAAC;EAED,MAAMC,cAAc,GAAGT,mBAAmB,GAAGF,cAAc,CAAC;EAC5D,MAAMY,IAAI,GAAGD,cAAc,IAAIX,cAAc;EAE7C,MAAMa,gBAAgB,GAAGV,yBAAyB,GAAGH,cAAc,CAAC;EAEpE,MAAMc,MAAM,GACVD,gBAAgB,KAAKE,yBAAY,GAC7BJ,cAAc,IAAIK,WAAW,CAACL,cAAc,CAAC,GAC3CI,yBAAY,GACZE,SAAS,GACXJ,gBAAgB;EAEtB,MAAMK,QAAQ,GAAGC,WAAW,CAACvB,IAAI,CAAC;EAClC,MAAMwB,WAAW,GAAGC,cAAc,CAAChB,KAAK,EAAEN,IAAI,EAAEmB,QAAQ,EAAElB,cAAc,CAAC;EAEzE,IAAI,CAACoB,WAAW,IAAI,CAACvB,SAAS,EAAE;IAC9B,OAAO,EAAE;EACX;EAEA,MAAMyB,QAAQ,GAAGC,WAAW,CAAClB,KAAK,CAAC;EACnC,MAAMmB,MAAM,GAAG,IAAAC,mDAA0B,EAACH,QAAQ,CAAC;EACnD,MAAMI,eAAe,GAAGR,QAAQ,EAAES,KAAK,IAAIC,OAAO,CAACvB,KAAK,CAAC;EAEzD,MAAMwB,WAAwB,GAAG;IAC/BC,YAAY,EAAE,aAAa;IAC3BC,EAAE,EAAEC,sBAAsB,CAAC;MACzBhC,cAAc;MACdY,IAAI;MACJM,QAAQ;MACRe,IAAI,EAAEP,eAAe;MACrBN;IACF,CAAC,CAAC;IACFc,MAAM,EAAE,YAAY;IACpBC,OAAO,EAAE;MAAEC,SAAS,EAAE,WAAWvC,SAAS;IAAG,CAAC;IAC9Ce,IAAI,EAAE;MACJyB,MAAM,EAAE,CACN;QACE,IAAIvB,MAAM,GAAG;UAAEA;QAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7BF,IAAI;QACJ,IAAIR,0BAA0B,GAAGJ,cAAc,CAAC,GAC5C;UAAEsC,OAAO,EAAElC,0BAA0B,CAACJ,cAAc;QAAE,CAAC,GACvD,CAAC,CAAC;MACR,CAAC;IAEL,CAAC;IACD,IAAIwB,MAAM,GAAG;MAAEA;IAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7B;IACA,IAAI,IAAAe,8BAAkB,EAAClC,KAAK,CAAC,GACzB,CAAC,CAAC,GACF;MACEmC,SAAS,EAAE,CACT;QACEC,GAAG,EAAEhD,4BAA4B;QACjCiD,WAAW,EAAEC,IAAI,CAACC,SAAS,CAAChD,IAAI,CAACiD,GAAG,CAACC,oBAAoB,CAAC;MAC5D,CAAC;IAEL,CAAC,CAAC;IACN,IAAI5B,QAAQ,GACR;MACE6B,eAAe,EAAE;QACfpB,KAAK,EAAET,QAAQ,CAACS,KAAK,CAACqB,WAAW,CAAC,CAAC;QACnCC,GAAG,EAAE/B,QAAQ,CAAC+B,GAAG,CAACD,WAAW,CAAC;MAChC;IACF,CAAC,GACDtB,eAAe,GACb;MAAEwB,iBAAiB,EAAExB,eAAe,CAACsB,WAAW,CAAC;IAAE,CAAC,GACpD,CAAC,CAAC,CAAC;IACT,GAAG5B;EACL,CAAC;EAED,IAAIrB,IAAI,KAAK,eAAe,IAAI,IAAAoD,kCAAsB,EAAC9C,KAAK,CAAC,EAAE;IAC7DwB,WAAW,CAACuB,SAAS,GAAG,CACtB,IAAI/C,KAAK,CAACgD,OAAO,KAAKpC,SAAS,GAC3B,EAAE,GACF,CAACmC,SAAS,CAAC,SAAS,EAAE/C,KAAK,CAACgD,OAAO,EAAEhD,KAAK,CAACiD,IAAI,CAAC,CAAC,CAAC,EACtD,IAAIjD,KAAK,CAACkD,OAAO,KAAKtC,SAAS,GAC3B,EAAE,GACF,CAACmC,SAAS,CAAC,SAAS,EAAE/C,KAAK,CAACkD,OAAO,EAAElD,KAAK,CAACiD,IAAI,CAAC,CAAC,CAAC,CACvD;EACH;EAEA,MAAME,eAAe,GACnB1D,kBAAkB,KAAK2D,8BAAc,CAACC,KAAK,GAAGC,uBAAuB,CAAC/D,IAAI,CAAC,GAAG,EAAE;EAElF,IAAI4D,eAAe,CAACI,MAAM,GAAG,CAAC,EAAE;IAC9B/B,WAAW,CAACuB,SAAS,GAAG,CACtB,IAAIvB,WAAW,CAACuB,SAAS,IAAI,EAAE,CAAC,EAChC,GAAGI,eAAe,CACnB;EACH;EAEA,OAAO,CAAC3B,WAAW,CAAC;AACtB,CAAC;AAACgC,OAAA,CAAAlE,qCAAA,GAAAA,qCAAA;AAEF,MAAMqB,WAAW,GAAIJ,IAAY,IAAc,gBAAgB,CAACkD,IAAI,CAAClD,IAAI,CAAC;AAE1E,MAAMmD,qBAAqB,GAAG,IAAIC,GAAG,CAAC,CACpC,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,MAAM,CACP,CAAC;;AAEF;AACA;AACA;AACA;AACA,MAAMlB,oBAAoB,GAAIxC,KAAc,IAAc;EACxD,IAAIA,KAAK,YAAY2D,IAAI,EAAE;IACzB,OAAO3D,KAAK,CAAC0C,WAAW,CAAC,CAAC;EAC5B;EAEA,IAAIkB,KAAK,CAACC,OAAO,CAAC7D,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACuC,GAAG,CAACC,oBAAoB,CAAC;EACxC;EAEA,IAAI,OAAOxC,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE;IAC/C,OAAOA,KAAK;EACd;EAEA,OAAO8D,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAAChE,KAAK,CAAC,CAClBiE,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,KAAK,CAACT,qBAAqB,CAACU,GAAG,CAACD,GAAG,CAAC,CAAC,CAClD3B,GAAG,CAAC,CAAC,CAAC2B,GAAG,EAAEE,KAAK,CAAC,KAAK,CAACF,GAAG,EAAE1B,oBAAoB,CAAC4B,KAAK,CAAC,CAAC,CAC7D,CAAC;AACH,CAAC;AAED,MAAMrD,cAAc,GAAGA,CACrBf,KAAc,EACdP,IAAoB,EACpBmB,QAAgD,EAChDlB,cAAsB,KACsD;EAC5E,MAAM2E,GAAG,GAAGrE,KAAgC;EAE5C,IAAI,IAAAiC,8BAAkB,EAACjC,KAAK,CAAC,EAAE;IAC7B,OAAO;MACLsE,gBAAgB,EAAE;QAChBC,MAAM,EAAEC,QAAQ,CAAC,CAAC,EAAExE,KAAK,CAACgD,IAAI,EAAEtD,cAAc,CAAC;QAC/C+E,MAAM,EAAEzE,KAAK,CAAC0E,QAAQ;QACtBC,UAAU,EAAE,CAAC;QACbrF,IAAI,EAAEU,KAAK,CAAC4E,MAAM,CAACrC,GAAG,CAAEsC,IAAI,IAAMA,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG5E,MAAM,CAAC6E,MAAM,CAACD,IAAI,CAACE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAACC,IAAI,CAAC,GAAG;MACpG;IACF,CAAC;EACH;EAEA,IAAI,IAAAnC,kCAAsB,EAAC7C,KAAK,CAAC,EAAE;IACjC,MAAMiF,MAAM,GACVjF,KAAK,CAACkF,IAAI,KAAK,eAAe,GAAGlF,KAAK,CAACmF,OAAO,GAAGnF,KAAK,CAACA,KAAK;IAE9D,OAAOiF,MAAM,KAAKtE,SAAS,GACvB;MACEyB,WAAW,EACTC,IAAI,CAACC,SAAS,CAACE,oBAAoB,CAACxC,KAAK,CAAC,CAAC,IAAIC,MAAM,CAACD,KAAK;IAC/D,CAAC,GACD;MAAEoF,aAAa,EAAEZ,QAAQ,CAACS,MAAM,EAAEjF,KAAK,CAACgD,IAAI,EAAEtD,cAAc;IAAE,CAAC;EACrE;EAEA,IAAID,IAAI,KAAK,SAAS,IAAImB,QAAQ,EAAE;IAClC,OAAO;MACLwE,aAAa,EAAEZ,QAAQ,CACrB,CAAC5D,QAAQ,CAAC+B,GAAG,CAAC0C,OAAO,CAAC,CAAC,GAAGzE,QAAQ,CAACS,KAAK,CAACgE,OAAO,CAAC,CAAC,IAAI,KAAK,EAC3D,KACF;IACF,CAAC;EACH;EAEA,MAAMC,SAAS,GAAGC,YAAY,CAAClB,GAAG,CAAC;EAEnC,OAAOiB,SAAS,GACZ;IACEF,aAAa,EAAEZ,QAAQ,CACrBc,SAAS,CAACtF,KAAK,EACfN,cAAc,KAAKN,yBAAyB,IAAIK,IAAI,KAAK,OAAO,GAC5D,OAAO,GACP6F,SAAS,CAACtC,IAAI,EAClBtD,cACF;EACF,CAAC,GACD;IACE0C,WAAW,EACTC,IAAI,CAACC,SAAS,CAACE,oBAAoB,CAAC6B,GAAG,CAAC,CAAC,IAAIpE,MAAM,CAACoE,GAAG;EAC3D,CAAC;AACP,CAAC;AAED,MAAMkB,YAAY,GAChBlB,GAA4B,IACoB;EAChD,IAAI,OAAOA,GAAG,CAACG,QAAQ,KAAK,QAAQ,EAAE;IACpC;IACA,MAAMxE,KAAK,GAAGqE,GAAG,CAACrB,IAAI,KAAK,GAAG,GAAGqB,GAAG,CAACG,QAAQ,GAAG,GAAG,GAAGH,GAAG,CAACG,QAAQ;IAElE,OAAO;MAAExE,KAAK;MAAEgD,IAAI,EAAE/C,MAAM,CAACoE,GAAG,CAACrB,IAAI,IAAI,GAAG;IAAE,CAAC;EACjD;EAEA,MAAMwB,QAAQ,GAAGH,GAAG,CAACG,QAA+C;EAEpE,IAAI,OAAOA,QAAQ,EAAExE,KAAK,KAAK,QAAQ,EAAE;IACvC,OAAO;MACLA,KAAK,EAAEwE,QAAQ,CAACxE,KAAK;MACrBgD,IAAI,EAAE/C,MAAM,CAACuE,QAAQ,CAACxB,IAAI,IAAIqB,GAAG,CAACrB,IAAI,IAAI,GAAG;IAC/C,CAAC;EACH;;EAEA;EACA,MAAMwC,UAA2C,GAAG,CAClD,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,EAC3B,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,CAAC,EAC9B,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,EAC7B,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,EAC/B,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAC7B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC,EACpC,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,EACxB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EACvB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,EACzB,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,EAC1B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAC5B;EAED,KAAK,MAAM,CAACC,YAAY,EAAEC,QAAQ,EAAEC,YAAY,CAAC,IAAIH,UAAU,EAAE;IAC/D,MAAMI,SAAS,GAAGvB,GAAG,CAACoB,YAAY,CAAwC;IAE1E,IAAI,OAAOG,SAAS,GAAGF,QAAQ,CAAC,KAAK,QAAQ,EAAE;MAC7C,OAAO;QACL1F,KAAK,EAAE4F,SAAS,CAACF,QAAQ,CAAW;QACpC1C,IAAI,EAAE6C,aAAa,CAAC5F,MAAM,CAAC2F,SAAS,CAAC5C,IAAI,IAAI2C,YAAY,CAAC;MAC5D,CAAC;IACH;EACF;EAEA,MAAMG,gBAAyC,GAAG,CAChD,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnB,CAAC,MAAM,EAAE,WAAW,CAAC,EACrB,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAC/B,CAAC,YAAY,EAAE,GAAG,CAAC,EACnB,CAAC,iCAAiC,EAAE,WAAW,CAAC,EAChD,CAAC,4BAA4B,EAAE,IAAI,CAAC,CACrC;EAED,KAAK,MAAM,CAAC5B,GAAG,EAAElB,IAAI,CAAC,IAAI8C,gBAAgB,EAAE;IAC1C,IAAI,OAAOzB,GAAG,CAACH,GAAG,CAAC,KAAK,QAAQ,EAAE;MAChC,OAAO;QAAElE,KAAK,EAAEqE,GAAG,CAACH,GAAG,CAAW;QAAElB;MAAK,CAAC;IAC5C;EACF;EAEA,OAAOrC,SAAS;AAClB,CAAC;AAAC4C,OAAA,CAAAgC,YAAA,GAAAA,YAAA;AAEF,MAAM1E,WAAW,GACfvB,IAAe,IAC4B;EAC3C,MAAMyG,SAAS,GAAGzG,IAAI,CACnBiD,GAAG,CAAEyD,IAAI,IAAK;IACb,MAAM3B,GAAG,GAAG2B,IAA+B;IAE3C,MAAMC,UAAU,GACd5B,GAAG,CAAC6B,SAAS,IACb7B,GAAG,CAAC8B,SAAS,IACb9B,GAAG,CAAC+B,IAAI,IACR/B,GAAG,CAACgC,OAAO,IACXhC,GAAG,CAACiC,OAAO;IAEb,IAAIL,UAAU,KAAKtF,SAAS,EAAE;MAC5B,OAAOA,SAAS;IAClB;IAEA,MAAMU,KAAK,GAAG,IAAIsC,IAAI,CAACsC,UAAoC,CAAC;IAE5D,MAAMM,QAAQ,GACZlC,GAAG,CAACgC,OAAO,IACXhC,GAAG,CAACiC,OAAO,IACXjC,GAAG,CAAC+B,IAAI,IACR/B,GAAG,CAAC6B,SAAS,IACb7B,GAAG,CAAC8B,SAAS;IAEf,MAAMxD,GAAG,GAAG,IAAIgB,IAAI,CAAC4C,QAAkC,CAAC;IAExD,OAAOzB,MAAM,CAAC0B,KAAK,CAACnF,KAAK,CAACgE,OAAO,CAAC,CAAC,CAAC,IAAIP,MAAM,CAAC0B,KAAK,CAAC7D,GAAG,CAAC0C,OAAO,CAAC,CAAC,CAAC,GAC/D1E,SAAS,GACT;MAAEU,KAAK;MAAEsB;IAAI,CAAC;EACpB,CAAC,CAAC,CACDsB,MAAM,CAACwC,OAAO,CAAiC;EAElD,IAAIV,SAAS,CAACzC,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO3C,SAAS;EAClB;EAEA,MAAMU,KAAK,GAAG,IAAIsC,IAAI,CAAC+C,IAAI,CAACC,GAAG,CAAC,GAAGZ,SAAS,CAACxD,GAAG,CAAC,CAAC;IAAElB;EAAM,CAAC,KAAKA,KAAK,CAACgE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EAClF,MAAM1C,GAAG,GAAG,IAAIgB,IAAI,CAAC+C,IAAI,CAACE,GAAG,CAAC,GAAGb,SAAS,CAACxD,GAAG,CAAC,CAAC;IAAEI;EAAI,CAAC,KAAKA,GAAG,CAAC0C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EAE5E,OAAO1C,GAAG,CAAC0C,OAAO,CAAC,CAAC,GAAGhE,KAAK,CAACgE,OAAO,CAAC,CAAC,GAAG;IAAEhE,KAAK;IAAEsB;EAAI,CAAC,GAAGhC,SAAS;AACrE,CAAC;AAED,MAAMW,OAAO,GAAItB,KAAc,IAAuB;EACpD,MAAMqE,GAAG,GAAGrE,KAAgC;EAE5C,MAAM2B,IAAI,GAAG0C,GAAG,CAACgC,OAAO,IAAIhC,GAAG,CAACiC,OAAO,IAAIjC,GAAG,CAAC6B,SAAS,IAAI7B,GAAG,CAAC8B,SAAS,IAAI9B,GAAG,CAAC+B,IAAI;EAErF,IAAI,CAACzE,IAAI,EAAE;IACT,OAAOhB,SAAS;EAClB;EAEA,MAAMkG,MAAM,GAAG,IAAIlD,IAAI,CAAChC,IAAqB,CAAC;EAE9C,OAAOmD,MAAM,CAAC0B,KAAK,CAACK,MAAM,CAACxB,OAAO,CAAC,CAAC,CAAC,GAAG1E,SAAS,GAAGkG,MAAM;AAC5D,CAAC;AAED,MAAM5F,WAAW,GAAIjB,KAAc,IAAK;EACtC,MAAMqE,GAAG,GAAGrE,KAAgC;EAC5C,MAAMgB,QAAQ,GAAIqD,GAAG,CAACrD,QAAQ,IAAI,CAAC,CAA6B;EAEhE,MAAM8F,cAAc,GAAGzC,GAAG,CAACyC,cAAqD;EAChF,MAAMC,MAAM,GAAGD,cAAc,EAAEC,MAA6C;EAE5E,MAAM7F,MAAM,GACTmD,GAAG,CAACnD,MAAM,IACVF,QAAQ,CAACE,MAA8C;EAE1D,OAAO;IACL8F,YAAY,EAAE/G,MAAM,CAACiB,MAAM,EAAE8F,YAAY,IAAIhG,QAAQ,CAACiG,UAAU,IAAI,EAAE,CAAC,IAAItG,SAAS;IACpFuG,KAAK,EAAE,OAAOhG,MAAM,EAAEgG,KAAK,KAAK,QAAQ,GAAGhG,MAAM,CAACgG,KAAK,GAAGvG,SAAS;IACnEwG,SAAS,EAAElH,MAAM,CACf8G,MAAM,EAAEK,IAAI,IAAI/C,GAAG,CAAC8C,SAAS,IAAInG,QAAQ,CAACiG,UAAU,IAAI,EAC1D,CAAC,IAAItG,SAAS;IACd0G,eAAe,EACb,OAAOrG,QAAQ,CAACqG,eAAe,KAAK,QAAQ,GACxCrG,QAAQ,CAACqG,eAAe,GACxB1G;EACR,CAAC;AACH,CAAC;AAED,MAAM0C,uBAAuB,GAAI/D,IAAe,IAC9CA,IAAI,CAACgI,OAAO,CAAEtB,IAAI,IAAK;EACrB,MAAMuB,MAAM,GAAIvB,IAAI,CAA4BuB,MAAM,IAAI,EAAE;EAE5D,IAAIA,MAAM,CAACjE,MAAM,KAAK,CAAC,EAAE;IACvB,MAAMe,GAAG,GAAG2B,IAA+B;IAC3C,MAAM3E,KAAK,GAAGgD,GAAG,CAAC6B,SAAS,IAAI7B,GAAG,CAAC8B,SAAS;IAC5C,MAAMxD,GAAG,GAAG0B,GAAG,CAACgC,OAAO,IAAIhC,GAAG,CAACiC,OAAO;IAEtC,MAAMkB,QAAQ,GACZnG,KAAK,IAAIsB,GAAG,GACR,CAAC,IAAIgB,IAAI,CAAChB,GAAoB,CAAC,CAAC0C,OAAO,CAAC,CAAC,GACvC,IAAI1B,IAAI,CAACtC,KAAsB,CAAC,CAACgE,OAAO,CAAC,CAAC,IAC5C,KAAK,GACL,CAAC;IAEP,OAAOP,MAAM,CAAC2C,QAAQ,CAACD,QAAQ,CAAC,IAAIA,QAAQ,GAAG,CAAC,IAAInD,GAAG,CAACrE,KAAK,KAAKW,SAAS,GACvE,CAACmC,SAAS,CAAC,eAAe7C,MAAM,CAACoE,GAAG,CAACrE,KAAK,CAAC,EAAE,EAAEwH,QAAQ,EAAE,KAAK,CAAC,CAAC,GAChE,EAAE;EACR;EAEA,OAAOD,MAAM,CAACD,OAAO,CAAEI,KAAK,IAAK;IAC/B,MAAMrD,GAAG,GAAGqD,KAAgC;IAC5C,MAAMrG,KAAK,GAAG,IAAIsC,IAAI,CAACU,GAAG,CAAC8B,SAAmB,CAAC;IAC/C,MAAMxD,GAAG,GAAG,IAAIgB,IAAI,CAACU,GAAG,CAACiC,OAAiB,CAAC;IAC3C,MAAMkB,QAAQ,GAAG,CAAC7E,GAAG,CAAC0C,OAAO,CAAC,CAAC,GAAGhE,KAAK,CAACgE,OAAO,CAAC,CAAC,IAAI,KAAK;IAE1D,OAAOP,MAAM,CAAC2C,QAAQ,CAACD,QAAQ,CAAC,IAAIA,QAAQ,GAAG,CAAC,GAC5C,CAAC1E,SAAS,CAAC,eAAe7C,MAAM,CAACoE,GAAG,CAACqD,KAAK,CAAC,EAAE,EAAEF,QAAQ,EAAE,KAAK,CAAC,CAAC,GAChE,EAAE;EACR,CAAC,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAM1E,SAAS,GAAGA,CAAC6E,KAAa,EAAE3H,KAAa,EAAEgD,IAAY,MAAM;EACjE1C,IAAI,EAAE;IAAEsH,IAAI,EAAED;EAAM,CAAC;EACrBvC,aAAa,EAAEZ,QAAQ,CAACxE,KAAK,EAAEgD,IAAI;AACrC,CAAC,CAAC;AAEF,MAAMwB,QAAQ,GAAGA,CAACxE,KAAa,EAAEgD,IAAY,EAAEtD,cAAuB,KAAK;EACzE,MAAMY,IAAI,GAAGuH,WAAW,CAAC7E,IAAI,EAAEtD,cAAc,CAAC;EAE9C,OAAO;IACLM,KAAK;IACLgD,IAAI;IACJ,IAAI1C,IAAI,GAAG;MAAEE,MAAM,EAAEsH,wBAAW;MAAExH;IAAK,CAAC,GAAG,CAAC,CAAC;EAC/C,CAAC;AACH,CAAC;AAED,MAAMuH,WAAW,GAAGA,CAClB7E,IAAY,EACZtD,cAAuB,KACA;EACvB,IAAIsD,IAAI,KAAK,WAAW,EAAE;IACxB,IACE,CACE,mCAAmC,EACnC,0CAA0C,EAC1C,iDAAiD,EACjD,WAAW,EACX,kBAAkB,CACnB,CAAC+E,QAAQ,CAACrI,cAAc,IAAI,EAAE,CAAC,EAChC;MACA,OAAO,aAAa;IACtB;IAEA,IACE,CACE,yCAAyC,EACzC,iBAAiB,CAClB,CAACqI,QAAQ,CAACrI,cAAc,IAAI,EAAE,CAAC,EAChC;MACA,OAAO,eAAe;IACxB;IAEA,OAAO,cAAc;EACvB;EAEA,MAAMsI,UAAU,GACd;IACEC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAE,GAAG;IACXC,KAAK,EAAE,QAAQ;IACfC,KAAK,EAAE,SAAS;IAChBC,KAAK,EAAE,SAAS;IAChBC,SAAS,EAAE,IAAI;IACfC,KAAK,EAAE,GAAG;IACVC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,MAAM;IACpBC,QAAQ,EAAE,KAAK;IACfC,OAAO,EAAE,KAAK;IACdC,OAAO,EAAE,GAAG;IACZC,cAAc,EAAE,aAAa;IAC7BC,GAAG,EAAE,aAAa;IAClB,aAAa,EAAE,eAAe;IAC9B,IAAI,EAAE,KAAK;IACXC,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE,KAAK;IACXC,EAAE,EAAE;EACN,CAAC,CAACjG,IAAI,CAAC,IAAIA,IAAI;EAEjB,OAAOkG,UAAU,CAAC/E,GAAG,CAAC6D,UAAU,CAAC,GAAGA,UAAU,GAAGrH,SAAS;AAC5D,CAAC;AAAC4C,OAAA,CAAAsE,WAAA,GAAAA,WAAA;AAEF,MAAMqB,UAAU,GAAG,IAAIxF,GAAG,CAAC,CACzB,GAAG,EACH,GAAG,EACH,KAAK,EACL,KAAK,EACL,GAAG,EACH,GAAG,EACH,MAAM,EACN,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,aAAa,EACb,eAAe,EACf,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS,CACV,CAAC;AAEF,MAAMmC,aAAa,GAAGA,CAAC7C,IAAY,EAAEtD,cAAuB,KAC1DmI,WAAW,CAAC7E,IAAI,EAAEtD,cAAc,CAAC,IAAIsD,IAAI;AAE3C,MAAMtB,sBAAsB,GAAGA,CAAC;EAC9BhC,cAAc;EACdY,IAAI;EACJM,QAAQ;EACRe,IAAI;EACJb;AAOF,CAAC,KAAa;EACZ,MAAMsF,IAAI,GAAGxF,QAAQ,GACjB,GAAGA,QAAQ,CAACS,KAAK,CAACqB,WAAW,CAAC,CAAC,IAAI9B,QAAQ,CAAC+B,GAAG,CAACD,WAAW,CAAC,CAAC,EAAE,GAC/Df,IAAI,EAAEe,WAAW,CAAC,CAAC,IAAI,SAAS;EAEpC,MAAM1C,KAAK,GACTc,WAAW,CAACsE,aAAa,EAAEpF,KAAK,IAAIc,WAAW,CAACsB,WAAW,IAAI,OAAO;;EAExE;EACA,MAAM+G,KAAK,GACT7I,IAAI,KAAKZ,cAAc,GACnB,CAACA,cAAc,EAAE0G,IAAI,EAAEpG,KAAK,CAAC,GAC7B,CAACN,cAAc,EAAEY,IAAI,EAAE8F,IAAI,EAAEpG,KAAK,CAAC;EAEzC,OAAO,UAAUmJ,KAAK,CACnBnE,IAAI,CAAC,GAAG,CAAC,CACToE,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAC/BC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;AACnB,CAAC","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getDefaultHealthCoding = void 0;
|
|
7
7
|
var _next = require("@ovok/core/next");
|
|
8
|
+
var _healthSyncKeys = require("../types/health-sync-keys.js");
|
|
8
9
|
var _fhirSystems = require("./fhir-systems.js");
|
|
9
10
|
var _healthDataCatalog = require("./health-data-catalog.js");
|
|
10
11
|
var _toCoreHealthObservations = require("./to-core-health-observations.js");
|
|
@@ -35,13 +36,27 @@ const CORE_MEASUREMENT_CODES = {
|
|
|
35
36
|
Vo2Max: _next.ObservationCode.VO2_MAX
|
|
36
37
|
};
|
|
37
38
|
|
|
39
|
+
/** Health Connect's Nutrition record holds every nutrient, so each data type reading it is coded by its own field. */
|
|
40
|
+
const NUTRITION_FIELDS = {
|
|
41
|
+
[_healthSyncKeys.HealthDataType.carbohydrates]: "totalCarbohydrate",
|
|
42
|
+
[_healthSyncKeys.HealthDataType.caloriesEaten]: "energy"
|
|
43
|
+
};
|
|
44
|
+
|
|
38
45
|
/** The coding a type is saved under when the app names none: core's own code for a core measurement, else the catalog's. */
|
|
39
46
|
const getDefaultHealthCoding = (provider, key, identifier, mode) => {
|
|
40
47
|
const coreCode = (0, _toCoreHealthObservations.isCoreMeasurementTypeKey)(key) ? CORE_MEASUREMENT_CODES[identifier] : undefined;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
if (coreCode) {
|
|
49
|
+
return {
|
|
50
|
+
code: coreCode,
|
|
51
|
+
system: _fhirSystems.LOINC_SYSTEM
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const coding = (0, _healthDataCatalog.getHealthDataCoding)(provider, identifier, mode);
|
|
55
|
+
const nutrient = identifier === "Nutrition" ? NUTRITION_FIELDS[key] : undefined;
|
|
56
|
+
return nutrient ? {
|
|
57
|
+
code: `${coding.code}.${nutrient}`,
|
|
58
|
+
system: coding.system
|
|
59
|
+
} : coding;
|
|
45
60
|
};
|
|
46
61
|
exports.getDefaultHealthCoding = getDefaultHealthCoding;
|
|
47
62
|
//# sourceMappingURL=default-health-coding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_next","require","_fhirSystems","_healthDataCatalog","_toCoreHealthObservations","CORE_MEASUREMENT_CODES","HKQuantityTypeIdentifierBloodPressureSystolic","ObservationCode","SYSTOLIC_BLOOD_PRESSURE","HKQuantityTypeIdentifierBloodPressureDiastolic","DIASTOLIC_BLOOD_PRESSURE","HKQuantityTypeIdentifierHeartRate","HEART_RATE","HKQuantityTypeIdentifierBloodGlucose","BLOOD_GLUCOSE","HKQuantityTypeIdentifierBodyMass","BODY_WEIGHT","HKQuantityTypeIdentifierOxygenSaturation","OXYGEN_SATURATION","HKQuantityTypeIdentifierRespiratoryRate","RESPIRATORY_RATE","HKQuantityTypeIdentifierBodyTemperature","BODY_TEMPERATURE","HKQuantityTypeIdentifierStepCount","STEPS","HKQuantityTypeIdentifierHeartRateVariabilitySDNN","HEART_RATE_VARIABILITY","HKQuantityTypeIdentifierRestingHeartRate","RESTING_HEART_RATE","HKQuantityTypeIdentifierWalkingHeartRateAverage","WALKING_HEART_RATE_AVERAGE","HKQuantityTypeIdentifierVO2Max","VO2_MAX","BloodPressure","HeartRate","BloodGlucose","Weight","OxygenSaturation","RespiratoryRate","BodyTemperature","Steps","RestingHeartRate","Vo2Max","getDefaultHealthCoding","provider","key","identifier","mode","coreCode","isCoreMeasurementTypeKey","undefined","code","system","LOINC_SYSTEM","getHealthDataCoding","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/default-health-coding.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_next","require","_healthSyncKeys","_fhirSystems","_healthDataCatalog","_toCoreHealthObservations","CORE_MEASUREMENT_CODES","HKQuantityTypeIdentifierBloodPressureSystolic","ObservationCode","SYSTOLIC_BLOOD_PRESSURE","HKQuantityTypeIdentifierBloodPressureDiastolic","DIASTOLIC_BLOOD_PRESSURE","HKQuantityTypeIdentifierHeartRate","HEART_RATE","HKQuantityTypeIdentifierBloodGlucose","BLOOD_GLUCOSE","HKQuantityTypeIdentifierBodyMass","BODY_WEIGHT","HKQuantityTypeIdentifierOxygenSaturation","OXYGEN_SATURATION","HKQuantityTypeIdentifierRespiratoryRate","RESPIRATORY_RATE","HKQuantityTypeIdentifierBodyTemperature","BODY_TEMPERATURE","HKQuantityTypeIdentifierStepCount","STEPS","HKQuantityTypeIdentifierHeartRateVariabilitySDNN","HEART_RATE_VARIABILITY","HKQuantityTypeIdentifierRestingHeartRate","RESTING_HEART_RATE","HKQuantityTypeIdentifierWalkingHeartRateAverage","WALKING_HEART_RATE_AVERAGE","HKQuantityTypeIdentifierVO2Max","VO2_MAX","BloodPressure","HeartRate","BloodGlucose","Weight","OxygenSaturation","RespiratoryRate","BodyTemperature","Steps","RestingHeartRate","Vo2Max","NUTRITION_FIELDS","HealthDataType","carbohydrates","caloriesEaten","getDefaultHealthCoding","provider","key","identifier","mode","coreCode","isCoreMeasurementTypeKey","undefined","code","system","LOINC_SYSTEM","coding","getHealthDataCoding","nutrient","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/default-health-coding.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAJ,OAAA;AAEA;AACA,MAAMK,sBAA0E,GAAG;EACjFC,6CAA6C,EAAEC,qBAAe,CAACC,uBAAuB;EACtFC,8CAA8C,EAAEF,qBAAe,CAACG,wBAAwB;EACxFC,iCAAiC,EAAEJ,qBAAe,CAACK,UAAU;EAC7DC,oCAAoC,EAAEN,qBAAe,CAACO,aAAa;EACnEC,gCAAgC,EAAER,qBAAe,CAACS,WAAW;EAC7DC,wCAAwC,EAAEV,qBAAe,CAACW,iBAAiB;EAC3EC,uCAAuC,EAAEZ,qBAAe,CAACa,gBAAgB;EACzEC,uCAAuC,EAAEd,qBAAe,CAACe,gBAAgB;EACzEC,iCAAiC,EAAEhB,qBAAe,CAACiB,KAAK;EACxDC,gDAAgD,EAAElB,qBAAe,CAACmB,sBAAsB;EACxFC,wCAAwC,EAAEpB,qBAAe,CAACqB,kBAAkB;EAC5EC,+CAA+C,EAAEtB,qBAAe,CAACuB,0BAA0B;EAC3FC,8BAA8B,EAAExB,qBAAe,CAACyB,OAAO;EACvDC,aAAa,EAAE1B,qBAAe,CAACC,uBAAuB;EACtD0B,SAAS,EAAE3B,qBAAe,CAACK,UAAU;EACrCuB,YAAY,EAAE5B,qBAAe,CAACO,aAAa;EAC3CsB,MAAM,EAAE7B,qBAAe,CAACS,WAAW;EACnCqB,gBAAgB,EAAE9B,qBAAe,CAACW,iBAAiB;EACnDoB,eAAe,EAAE/B,qBAAe,CAACa,gBAAgB;EACjDmB,eAAe,EAAEhC,qBAAe,CAACe,gBAAgB;EACjDkB,KAAK,EAAEjC,qBAAe,CAACiB,KAAK;EAC5BiB,gBAAgB,EAAElC,qBAAe,CAACqB,kBAAkB;EACpDc,MAAM,EAAEnC,qBAAe,CAACyB;AAC1B,CAAC;;AAED;AACA,MAAMW,gBAAkE,GAAG;EACzE,CAACC,8BAAc,CAACC,aAAa,GAAG,mBAAmB;EACnD,CAACD,8BAAc,CAACE,aAAa,GAAG;AAClC,CAAC;;AAED;AACA,MAAMC,sBAAsB,GAAGA,CAC7BC,QAAwB,EACxBC,GAAkB,EAClBC,UAAkB,EAClBC,IAAoB,KACmC;EACvD,MAAMC,QAAQ,GAAG,IAAAC,kDAAwB,EAACJ,GAAG,CAAC,GAAG5C,sBAAsB,CAAC6C,UAAU,CAAC,GAAGI,SAAS;EAE/F,IAAIF,QAAQ,EAAE;IACZ,OAAO;MAAEG,IAAI,EAAEH,QAAQ;MAAEI,MAAM,EAAEC;IAAa,CAAC;EACjD;EAEA,MAAMC,MAAM,GAAG,IAAAC,sCAAmB,EAACX,QAAQ,EAAEE,UAAU,EAAEC,IAAI,CAAC;EAC9D,MAAMS,QAAQ,GAAGV,UAAU,KAAK,WAAW,GAAGP,gBAAgB,CAACM,GAAG,CAAC,GAAGK,SAAS;EAE/E,OAAOM,QAAQ,GAAG;IAAEL,IAAI,EAAE,GAAGG,MAAM,CAACH,IAAI,IAAIK,QAAQ,EAAE;IAAEJ,MAAM,EAAEE,MAAM,CAACF;EAAO,CAAC,GAAGE,MAAM;AAC1F,CAAC;AAACG,OAAA,CAAAd,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.getRecordsFromHealthConnect = void 0;
|
|
|
7
7
|
var _dateFns = require("date-fns");
|
|
8
8
|
var _reactNativeHealthConnect = require("react-native-health-connect");
|
|
9
9
|
var _constants = require("../constants.js");
|
|
10
|
+
var _healthSyncKeys = require("../types/health-sync-keys.js");
|
|
10
11
|
var _healthConnectSeries = require("./health-connect-series.js");
|
|
11
12
|
var _isDailyAggregateMode = require("./is-daily-aggregate-mode.js");
|
|
12
13
|
var _syncWindowStart = require("./sync-window-start.js");
|
|
@@ -14,13 +15,14 @@ var _syncWindowStart = require("./sync-window-start.js");
|
|
|
14
15
|
|
|
15
16
|
const getRecordsFromHealthConnect = async ({
|
|
16
17
|
typeIdentifier,
|
|
18
|
+
key,
|
|
17
19
|
startDate: _startDate,
|
|
18
20
|
chunkSize = _constants.DEFAULT_HEALTH_SYNC_CHUNK_SIZE,
|
|
19
21
|
anchor,
|
|
20
22
|
mode = "point"
|
|
21
23
|
}) => {
|
|
22
24
|
if ((0, _isDailyAggregateMode.isDailyAggregateMode)(mode)) {
|
|
23
|
-
return getDailyAggregates(typeIdentifier, mode, _startDate);
|
|
25
|
+
return getDailyAggregates(typeIdentifier, mode, _startDate, key);
|
|
24
26
|
}
|
|
25
27
|
if (mode === "series") {
|
|
26
28
|
return (0, _healthConnectSeries.getHealthConnectSeries)(typeIdentifier, (0, _syncWindowStart.syncWindowStart)(_startDate));
|
|
@@ -138,7 +140,7 @@ const decodeAnchor = anchor => {
|
|
|
138
140
|
return undefined;
|
|
139
141
|
}
|
|
140
142
|
};
|
|
141
|
-
const getDailyAggregates = async (typeIdentifier, mode, _startDate) => {
|
|
143
|
+
const getDailyAggregates = async (typeIdentifier, mode, _startDate, key) => {
|
|
142
144
|
const aggregateType = typeIdentifier;
|
|
143
145
|
const startDate = _startDate ? (0, _dateFns.startOfDay)(new Date(_startDate)) : (0, _dateFns.startOfDay)((0, _dateFns.subDays)(new Date(), _constants.DEFAULT_SYNC_LOOKBACK_DAYS));
|
|
144
146
|
const today = (0, _dateFns.startOfDay)(new Date());
|
|
@@ -160,7 +162,7 @@ const getDailyAggregates = async (typeIdentifier, mode, _startDate) => {
|
|
|
160
162
|
return [];
|
|
161
163
|
}
|
|
162
164
|
const result = group.result;
|
|
163
|
-
const measurement = aggregateMeasurement(typeIdentifier, result, mode);
|
|
165
|
+
const measurement = aggregateMeasurement(typeIdentifier, result, mode, key);
|
|
164
166
|
if (!measurement) {
|
|
165
167
|
return [];
|
|
166
168
|
}
|
|
@@ -179,7 +181,7 @@ const getDailyAggregates = async (typeIdentifier, mode, _startDate) => {
|
|
|
179
181
|
anchor: undefined
|
|
180
182
|
};
|
|
181
183
|
};
|
|
182
|
-
const aggregateMeasurement = (typeIdentifier, result, mode) => {
|
|
184
|
+
const aggregateMeasurement = (typeIdentifier, result, mode, key) => {
|
|
183
185
|
if (mode === "daily-summary" && typeIdentifier === "HeartRate") {
|
|
184
186
|
const average = numberValue(result.BPM_AVG);
|
|
185
187
|
return average === undefined ? undefined : {
|
|
@@ -200,10 +202,24 @@ const aggregateMeasurement = (typeIdentifier, result, mode) => {
|
|
|
200
202
|
return value(numberValue(result.FLOORS_CLIMBED_TOTAL), "count");
|
|
201
203
|
case "ExerciseSession":
|
|
202
204
|
return value(scale(nestedNumber(result.EXERCISE_DURATION_TOTAL, "inSeconds"), 1 / 60), "min");
|
|
205
|
+
case "Hydration":
|
|
206
|
+
return value(nestedNumber(result.VOLUME_TOTAL, "inMilliliters"), "mL");
|
|
207
|
+
case "Nutrition":
|
|
208
|
+
return nutrientTotal(result, key);
|
|
203
209
|
default:
|
|
204
210
|
return undefined;
|
|
205
211
|
}
|
|
206
212
|
};
|
|
213
|
+
|
|
214
|
+
/** The nutrient each data type reads from Health Connect's Nutrition record: its daily total and that total's unit. */
|
|
215
|
+
const NUTRIENT_TOTALS = {
|
|
216
|
+
[_healthSyncKeys.HealthDataType.carbohydrates]: ["TOTAL_CARBOHYDRATE_TOTAL", "inGrams", "g"],
|
|
217
|
+
[_healthSyncKeys.HealthDataType.caloriesEaten]: ["ENERGY_TOTAL", "inKilocalories", "kcal"]
|
|
218
|
+
};
|
|
219
|
+
const nutrientTotal = (result, key) => {
|
|
220
|
+
const nutrient = key && NUTRIENT_TOTALS[key];
|
|
221
|
+
return nutrient && value(nestedNumber(result[nutrient[0]], nutrient[1]), nutrient[2]);
|
|
222
|
+
};
|
|
207
223
|
const value = (measurement, unit) => measurement === undefined ? undefined : {
|
|
208
224
|
unit,
|
|
209
225
|
value: measurement
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_dateFns","require","_reactNativeHealthConnect","_constants","_healthConnectSeries","_isDailyAggregateMode","_syncWindowStart","getRecordsFromHealthConnect","typeIdentifier","startDate","_startDate","chunkSize","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","anchor","mode","isDailyAggregateMode","getDailyAggregates","getHealthConnectSeries","syncWindowStart","savedAnchor","decodeAnchor","phase","changes","getChanges","changesToken","recordTypes","changesTokenExpired","data","upsertionChanges","map","record","deletionChanges","length","deletedRecordIds","recordId","hasMore","encodeAnchor","version","nextChangesToken","baseline","readSnapshot","pageToken","undefined","snapshotAnchor","exports","endDate","Date","toISOString","resolvedStartDate","result","readRecords","timeRangeFilter","operator","startTime","endTime","pageSize","nextAnchor","records","Boolean","JSON","stringify","startsWith","parsed","parse","aggregateType","startOfDay","subDays","DEFAULT_SYNC_LOOKBACK_DAYS","today","groups","aggregateGroupByPeriod","recordType","timeRangeSlicer","period","flatMap","group","end","measurement","aggregateMeasurement","dataOrigins","kind","sourceApp","average","numberValue","BPM_AVG","unit","minimum","BPM_MIN","maximum","BPM_MAX","value","COUNT_TOTAL","nestedNumber","DISTANCE","ACTIVE_CALORIES_TOTAL","FLOORS_CLIMBED_TOTAL","scale","EXERCISE_DURATION_TOTAL","
|
|
1
|
+
{"version":3,"names":["_dateFns","require","_reactNativeHealthConnect","_constants","_healthSyncKeys","_healthConnectSeries","_isDailyAggregateMode","_syncWindowStart","getRecordsFromHealthConnect","typeIdentifier","key","startDate","_startDate","chunkSize","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","anchor","mode","isDailyAggregateMode","getDailyAggregates","getHealthConnectSeries","syncWindowStart","savedAnchor","decodeAnchor","phase","changes","getChanges","changesToken","recordTypes","changesTokenExpired","data","upsertionChanges","map","record","deletionChanges","length","deletedRecordIds","recordId","hasMore","encodeAnchor","version","nextChangesToken","baseline","readSnapshot","pageToken","undefined","snapshotAnchor","exports","endDate","Date","toISOString","resolvedStartDate","result","readRecords","timeRangeFilter","operator","startTime","endTime","pageSize","nextAnchor","records","Boolean","JSON","stringify","startsWith","parsed","parse","aggregateType","startOfDay","subDays","DEFAULT_SYNC_LOOKBACK_DAYS","today","groups","aggregateGroupByPeriod","recordType","timeRangeSlicer","period","flatMap","group","end","measurement","aggregateMeasurement","dataOrigins","kind","sourceApp","average","numberValue","BPM_AVG","unit","minimum","BPM_MIN","maximum","BPM_MAX","value","COUNT_TOTAL","nestedNumber","DISTANCE","ACTIVE_CALORIES_TOTAL","FLOORS_CLIMBED_TOTAL","scale","EXERCISE_DURATION_TOTAL","VOLUME_TOTAL","nutrientTotal","NUTRIENT_TOTALS","HealthDataType","carbohydrates","caloriesEaten","nutrient","Number","isFinite","factor"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-records-from-health-connect.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,7 +23,12 @@ const HEALTH_UNITS = {
|
|
|
23
23
|
HKQuantityTypeIdentifierDistanceWalkingRunning: "km",
|
|
24
24
|
HKQuantityTypeIdentifierActiveEnergyBurned: "kcal",
|
|
25
25
|
HKQuantityTypeIdentifierAppleExerciseTime: "min",
|
|
26
|
-
HKQuantityTypeIdentifierFlightsClimbed: "count"
|
|
26
|
+
HKQuantityTypeIdentifierFlightsClimbed: "count",
|
|
27
|
+
HKQuantityTypeIdentifierDietaryWater: "mL",
|
|
28
|
+
HKQuantityTypeIdentifierDietaryCarbohydrates: "g",
|
|
29
|
+
HKQuantityTypeIdentifierDietaryEnergyConsumed: "kcal",
|
|
30
|
+
HKQuantityTypeIdentifierBloodAlcoholContent: "%",
|
|
31
|
+
HKQuantityTypeIdentifierInsulinDelivery: "IU"
|
|
27
32
|
};
|
|
28
33
|
const healthUnitFor = typeIdentifier => HEALTH_UNITS[typeIdentifier];
|
|
29
34
|
exports.healthUnitFor = healthUnitFor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HEALTH_UNITS","HKQuantityTypeIdentifierHeight","HKQuantityTypeIdentifierBodyMass","HKQuantityTypeIdentifierBodyFatPercentage","HKQuantityTypeIdentifierBodyTemperature","HKQuantityTypeIdentifierBasalBodyTemperature","HKQuantityTypeIdentifierBloodPressureSystolic","HKQuantityTypeIdentifierBloodPressureDiastolic","HKQuantityTypeIdentifierBloodGlucose","HKQuantityTypeIdentifierOxygenSaturation","HKQuantityTypeIdentifierHeartRate","HKQuantityTypeIdentifierHeartRateVariabilitySDNN","HKQuantityTypeIdentifierRestingHeartRate","HKQuantityTypeIdentifierRespiratoryRate","HKQuantityTypeIdentifierWalkingHeartRateAverage","HKQuantityTypeIdentifierLeanBodyMass","HKQuantityTypeIdentifierDistanceWalkingRunning","HKQuantityTypeIdentifierActiveEnergyBurned","HKQuantityTypeIdentifierAppleExerciseTime","HKQuantityTypeIdentifierFlightsClimbed","healthUnitFor","typeIdentifier","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/health-units.ts"],"mappings":";;;;;;AAKA,MAAMA,YAA8C,GAAG;EACrDC,8BAA8B,EAAE,GAAG;EACnCC,gCAAgC,EAAE,IAAI;EACtCC,yCAAyC,EAAE,GAAG;EAC9CC,uCAAuC,EAAE,MAAM;EAC/CC,4CAA4C,EAAE,MAAM;EACpDC,6CAA6C,EAAE,MAAM;EACrDC,8CAA8C,EAAE,MAAM;EACtDC,oCAAoC,EAAE,OAAO;EAC7CC,wCAAwC,EAAE,GAAG;EAC7CC,iCAAiC,EAAE,WAAW;EAC9CC,gDAAgD,EAAE,IAAI;EACtDC,wCAAwC,EAAE,WAAW;EACrDC,uCAAuC,EAAE,WAAW;EACpDC,+CAA+C,EAAE,WAAW;EAC5DC,oCAAoC,EAAE,IAAI;EAC1CC,8CAA8C,EAAE,IAAI;EACpDC,0CAA0C,EAAE,MAAM;EAClDC,yCAAyC,EAAE,KAAK;EAChDC,sCAAsC,EAAE;
|
|
1
|
+
{"version":3,"names":["HEALTH_UNITS","HKQuantityTypeIdentifierHeight","HKQuantityTypeIdentifierBodyMass","HKQuantityTypeIdentifierBodyFatPercentage","HKQuantityTypeIdentifierBodyTemperature","HKQuantityTypeIdentifierBasalBodyTemperature","HKQuantityTypeIdentifierBloodPressureSystolic","HKQuantityTypeIdentifierBloodPressureDiastolic","HKQuantityTypeIdentifierBloodGlucose","HKQuantityTypeIdentifierOxygenSaturation","HKQuantityTypeIdentifierHeartRate","HKQuantityTypeIdentifierHeartRateVariabilitySDNN","HKQuantityTypeIdentifierRestingHeartRate","HKQuantityTypeIdentifierRespiratoryRate","HKQuantityTypeIdentifierWalkingHeartRateAverage","HKQuantityTypeIdentifierLeanBodyMass","HKQuantityTypeIdentifierDistanceWalkingRunning","HKQuantityTypeIdentifierActiveEnergyBurned","HKQuantityTypeIdentifierAppleExerciseTime","HKQuantityTypeIdentifierFlightsClimbed","HKQuantityTypeIdentifierDietaryWater","HKQuantityTypeIdentifierDietaryCarbohydrates","HKQuantityTypeIdentifierDietaryEnergyConsumed","HKQuantityTypeIdentifierBloodAlcoholContent","HKQuantityTypeIdentifierInsulinDelivery","healthUnitFor","typeIdentifier","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/health-units.ts"],"mappings":";;;;;;AAKA,MAAMA,YAA8C,GAAG;EACrDC,8BAA8B,EAAE,GAAG;EACnCC,gCAAgC,EAAE,IAAI;EACtCC,yCAAyC,EAAE,GAAG;EAC9CC,uCAAuC,EAAE,MAAM;EAC/CC,4CAA4C,EAAE,MAAM;EACpDC,6CAA6C,EAAE,MAAM;EACrDC,8CAA8C,EAAE,MAAM;EACtDC,oCAAoC,EAAE,OAAO;EAC7CC,wCAAwC,EAAE,GAAG;EAC7CC,iCAAiC,EAAE,WAAW;EAC9CC,gDAAgD,EAAE,IAAI;EACtDC,wCAAwC,EAAE,WAAW;EACrDC,uCAAuC,EAAE,WAAW;EACpDC,+CAA+C,EAAE,WAAW;EAC5DC,oCAAoC,EAAE,IAAI;EAC1CC,8CAA8C,EAAE,IAAI;EACpDC,0CAA0C,EAAE,MAAM;EAClDC,yCAAyC,EAAE,KAAK;EAChDC,sCAAsC,EAAE,OAAO;EAC/CC,oCAAoC,EAAE,IAAI;EAC1CC,4CAA4C,EAAE,GAAG;EACjDC,6CAA6C,EAAE,MAAM;EACrDC,2CAA2C,EAAE,GAAG;EAChDC,uCAAuC,EAAE;AAC3C,CAAC;AAEM,MAAMC,aAAa,GACxBC,cAAiB,IAEjB1B,YAAY,CAAC0B,cAAc,CAAqC;AAACC,OAAA,CAAAF,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ import { isClockSyncEnabled } from "../../../types/clock-sync.js";
|
|
|
5
5
|
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
6
6
|
import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
|
|
7
7
|
import { LepuCommand } from "../lepu/lepu.commands.js";
|
|
8
|
+
import { LEPU_CONNECT_REPLY_TIMEOUT_MS, LepuConnectRetry } from "../lepu/lepu.connect-retry.js";
|
|
8
9
|
import { clockPayload } from "../lepu/lepu.ecg-transfer.js";
|
|
9
10
|
import { LepuFileTransfer } from "../lepu/lepu.file-transfer.js";
|
|
10
11
|
import { lepuCommandOf } from "../lepu/lepu.frame.js";
|
|
@@ -25,29 +26,47 @@ class BP2HistorySequencer {
|
|
|
25
26
|
lastRunStatusFrameCount = 0;
|
|
26
27
|
realtimeEcgActive = false;
|
|
27
28
|
phase = "files";
|
|
29
|
+
clockRetry = new LepuConnectRetry();
|
|
28
30
|
constructor(params) {
|
|
29
31
|
this.params = params;
|
|
30
32
|
}
|
|
31
33
|
initialCommands = () => {
|
|
32
34
|
if (isClockSyncEnabled(this.params.clockSync)) {
|
|
33
35
|
this.phase = "clock";
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
frame: this.builder.build(LepuCommand.SET_TIME, clockPayload(this.params.clockSync))
|
|
37
|
-
}];
|
|
36
|
+
this.clockRetry.started();
|
|
37
|
+
return [this.setTimeCommand()];
|
|
38
38
|
}
|
|
39
39
|
return this.startTransfer();
|
|
40
40
|
};
|
|
41
41
|
isHistoryTransfer = () => true;
|
|
42
|
-
commandTimeoutMs = () =>
|
|
42
|
+
commandTimeoutMs = () => {
|
|
43
|
+
if (this.phase === "clock") {
|
|
44
|
+
return LEPU_CONNECT_REPLY_TIMEOUT_MS;
|
|
45
|
+
}
|
|
46
|
+
return this.isPolling() ? BP2_POLL_ANSWER_TIMEOUT_MS : undefined;
|
|
47
|
+
};
|
|
43
48
|
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
/**
|
|
50
|
+
* A BP2 just switched on can drop its first command, and one starting a measurement can
|
|
51
|
+
* drop a poll, so a missing answer is asked for again. The clock is optional: when it is
|
|
52
|
+
* still unanswered, the stored files are read without it.
|
|
53
|
+
*/
|
|
54
|
+
onCommandTimeout = () => {
|
|
55
|
+
if (this.phase === "clock") {
|
|
56
|
+
return {
|
|
57
|
+
commands: this.clockRetry.mayRetry() ? [this.setTimeCommand()] : this.startTransfer()
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return this.isPolling() ? {
|
|
61
|
+
commands: [this.pollCommand()]
|
|
62
|
+
} : {};
|
|
63
|
+
};
|
|
48
64
|
|
|
49
|
-
/** Only the
|
|
50
|
-
commandProgress = frame =>
|
|
65
|
+
/** Only the awaited answer settles a command; any other frame leaves its timeout running. */
|
|
66
|
+
commandProgress = frame => {
|
|
67
|
+
const awaited = this.awaitedCommand();
|
|
68
|
+
return awaited === undefined || lepuCommandOf(frame) === awaited ? "complete" : "ignored";
|
|
69
|
+
};
|
|
51
70
|
nextCommand = frame => {
|
|
52
71
|
if (this.phase === "clock") {
|
|
53
72
|
if (lepuCommandOf(frame) !== LepuCommand.SET_TIME) {
|
|
@@ -95,6 +114,16 @@ class BP2HistorySequencer {
|
|
|
95
114
|
this.params.onTransferFinished();
|
|
96
115
|
return [this.pollCommand()];
|
|
97
116
|
};
|
|
117
|
+
awaitedCommand = () => {
|
|
118
|
+
if (this.phase === "clock") {
|
|
119
|
+
return LepuCommand.SET_TIME;
|
|
120
|
+
}
|
|
121
|
+
return this.isPolling() ? BP2_REALTIME_COMMAND : undefined;
|
|
122
|
+
};
|
|
123
|
+
setTimeCommand = () => ({
|
|
124
|
+
...this.params.write,
|
|
125
|
+
frame: this.builder.build(LepuCommand.SET_TIME, clockPayload(this.params.clockSync))
|
|
126
|
+
});
|
|
98
127
|
isPolling = () => this.phase === "files" && this.transfer === undefined;
|
|
99
128
|
pollCommand = () => ({
|
|
100
129
|
...this.params.write,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","isClockSyncEnabled","hexToByte","LepuCommandBuilder","LepuCommand","clockPayload","LepuFileTransfer","lepuCommandOf","isLepuSuccess","describeLepuResponseType","BP2_REALTIME_COMMAND","BP2_RESULT_STATES","Set","BP2_ECG_STATE","BP2_IDLE_STATES","BP2_POLL_INTERVAL_MS","BP2_POLL_ANSWER_TIMEOUT_MS","BP2HistorySequencer","builder","lastRunStatusFrameCount","realtimeEcgActive","phase","constructor","params","initialCommands","clockSync","
|
|
1
|
+
{"version":3,"names":["sentryLogger","isClockSyncEnabled","hexToByte","LepuCommandBuilder","LepuCommand","LEPU_CONNECT_REPLY_TIMEOUT_MS","LepuConnectRetry","clockPayload","LepuFileTransfer","lepuCommandOf","isLepuSuccess","describeLepuResponseType","BP2_REALTIME_COMMAND","BP2_RESULT_STATES","Set","BP2_ECG_STATE","BP2_IDLE_STATES","BP2_POLL_INTERVAL_MS","BP2_POLL_ANSWER_TIMEOUT_MS","BP2HistorySequencer","builder","lastRunStatusFrameCount","realtimeEcgActive","phase","clockRetry","constructor","params","initialCommands","clockSync","started","setTimeCommand","startTransfer","isHistoryTransfer","commandTimeoutMs","isPolling","undefined","onCommandTimeout","commands","mayRetry","pollCommand","commandProgress","frame","awaited","awaitedCommand","nextCommand","SET_TIME","onError","transfer","logRunStatus","isResult","isResultFrame","endedWithoutResult","isIdleFrame","onOrphanStreamEnd","shouldStartTransfer","onTransferRequested","delayBeforeWriteMs","write","onFile","skipFiles","afterTransfer","finishTransfer","onTransferFinished","build","has","toLowerCase","runStatus","lastRunStatus"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -129,7 +129,7 @@ export class BTDataProcessor {
|
|
|
129
129
|
handleFrame = (uuid, frame) => {
|
|
130
130
|
const data = this.frameParser.parse(uuid, frame);
|
|
131
131
|
if (!data) {
|
|
132
|
-
sentryLogger("
|
|
132
|
+
sentryLogger("debug", "BT_MANAGER: Frame matched no declared case", {
|
|
133
133
|
uuid,
|
|
134
134
|
frameLength: frame.length
|
|
135
135
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","MeasurementFeedbackKey","CaseType","FrameReadStatus","FrameParser","MeasurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","measurementState","onStatusChanged","onStreamStart","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","frameLength","dependentData","parsingCase","caseType","DEPENDENT","handleDependentResult","isMeasuring","measuring","advance","onError","Error","CORRUPT_FRAME","cause","message","setTimeout","STUCK","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal","COMMAND_TIMEOUT","reason"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["sentryLogger","MeasurementFeedbackKey","CaseType","FrameReadStatus","FrameParser","MeasurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","measurementState","onStatusChanged","onStreamStart","onMeasurementEnd","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","commandTimeout","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","armCommandTimeout","startCommandTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","validatePackage","progress","commandProgress","commands","nextCommand","sendCommands","data","parse","frameLength","dependentData","parsingCase","caseType","DEPENDENT","handleDependentResult","isMeasuring","measuring","advance","onError","Error","CORRUPT_FRAME","cause","message","setTimeout","STUCK","cancelConnection","duration","commandTimeoutMs","onCommandTimeout","terminal","COMMAND_TIMEOUT","reason"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/** How long a connect-time command may go unanswered before it is sent again. */
|
|
4
|
+
const LEPU_CONNECT_REPLY_TIMEOUT_MS = 1_000;
|
|
5
|
+
|
|
6
|
+
/** A device just woken can drop its first command, so each connect step gets one more try. */
|
|
7
|
+
const LEPU_CONNECT_ATTEMPTS = 2;
|
|
8
|
+
|
|
9
|
+
/** Counts the tries of one connect-time command. */
|
|
10
|
+
class LepuConnectRetry {
|
|
11
|
+
attempts = 0;
|
|
12
|
+
|
|
13
|
+
/** Marks the first send of the command. */
|
|
14
|
+
started = () => {
|
|
15
|
+
this.attempts = 1;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/** Whether the command may be sent again; counts that send when it may. */
|
|
19
|
+
mayRetry = () => {
|
|
20
|
+
if (this.attempts >= LEPU_CONNECT_ATTEMPTS) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
this.attempts++;
|
|
24
|
+
return true;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export { LEPU_CONNECT_REPLY_TIMEOUT_MS, LepuConnectRetry };
|
|
28
|
+
//# sourceMappingURL=lepu.connect-retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LEPU_CONNECT_REPLY_TIMEOUT_MS","LEPU_CONNECT_ATTEMPTS","LepuConnectRetry","attempts","started","mayRetry"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.connect-retry.ts"],"mappings":";;AAAA;AACA,MAAMA,6BAA6B,GAAG,KAAK;;AAE3C;AACA,MAAMC,qBAAqB,GAAG,CAAC;;AAE/B;AACA,MAAMC,gBAAgB,CAAC;EACbC,QAAQ,GAAG,CAAC;;EAEpB;EACOC,OAAO,GAAGA,CAAA,KAAY;IAC3B,IAAI,CAACD,QAAQ,GAAG,CAAC;EACnB,CAAC;;EAED;EACOE,QAAQ,GAAGA,CAAA,KAAe;IAC/B,IAAI,IAAI,CAACF,QAAQ,IAAIF,qBAAqB,EAAE;MAC1C,OAAO,KAAK;IACd;IAEA,IAAI,CAACE,QAAQ,EAAE;IAEf,OAAO,IAAI;EACb,CAAC;AACH;AAEA,SAASH,6BAA6B,EAAEE,gBAAgB","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { getClockParts, isClockSyncEnabled } from "../../../types/clock-sync.js";
|
|
4
4
|
import { LepuCommand } from "./lepu.commands.js";
|
|
5
|
+
import { LEPU_CONNECT_REPLY_TIMEOUT_MS, LepuConnectRetry } from "./lepu.connect-retry.js";
|
|
5
6
|
import { LepuFileTransfer } from "./lepu.file-transfer.js";
|
|
6
7
|
import { lepuCommandOf } from "./lepu.frame.js";
|
|
7
8
|
import { LepuIdentityGate } from "./lepu.identity-gate.js";
|
|
@@ -9,6 +10,7 @@ import { describeLepuResponseType, isLepuSuccess } from "./lepu.response-type.js
|
|
|
9
10
|
/** Identifies a recorder, sets its local clock, then downloads its stored files. */
|
|
10
11
|
class LepuEcgTransferSequencer {
|
|
11
12
|
phase = "identity";
|
|
13
|
+
clockRetry = new LepuConnectRetry();
|
|
12
14
|
constructor(params) {
|
|
13
15
|
this.params = params;
|
|
14
16
|
this.identity = new LepuIdentityGate({
|
|
@@ -24,6 +26,31 @@ class LepuEcgTransferSequencer {
|
|
|
24
26
|
}
|
|
25
27
|
initialCommands = () => this.identity.initialCommands();
|
|
26
28
|
isHistoryTransfer = () => true;
|
|
29
|
+
commandTimeoutMs = () => {
|
|
30
|
+
if (this.phase === "identity") {
|
|
31
|
+
return this.identity.commandTimeoutMs();
|
|
32
|
+
}
|
|
33
|
+
return this.phase === "clock" ? LEPU_CONNECT_REPLY_TIMEOUT_MS : undefined;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/** An unanswered clock is sent once more, then skipped; the stored files don't need it. */
|
|
37
|
+
onCommandTimeout = () => {
|
|
38
|
+
if (this.phase === "identity") {
|
|
39
|
+
return this.identity.onCommandTimeout();
|
|
40
|
+
}
|
|
41
|
+
if (this.phase !== "clock") {
|
|
42
|
+
return {};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
commands: this.clockRetry.mayRetry() ? [this.setTimeCommand()] : this.startTransfer()
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
commandProgress = frame => {
|
|
49
|
+
if (this.phase === "identity") {
|
|
50
|
+
return this.identity.commandProgress(frame);
|
|
51
|
+
}
|
|
52
|
+
return this.phase === "clock" && lepuCommandOf(frame) !== LepuCommand.SET_TIME ? "ignored" : "complete";
|
|
53
|
+
};
|
|
27
54
|
nextCommand = frame => {
|
|
28
55
|
if (this.phase === "identity") {
|
|
29
56
|
return this.identity.nextCommand(frame);
|
|
@@ -42,13 +69,15 @@ class LepuEcgTransferSequencer {
|
|
|
42
69
|
startClockOrTransfer = () => {
|
|
43
70
|
if (isClockSyncEnabled(this.params.clockSync)) {
|
|
44
71
|
this.phase = "clock";
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
frame: this.params.builder.build(LepuCommand.SET_TIME, clockPayload(this.params.clockSync))
|
|
48
|
-
}];
|
|
72
|
+
this.clockRetry.started();
|
|
73
|
+
return [this.setTimeCommand()];
|
|
49
74
|
}
|
|
50
75
|
return this.startTransfer();
|
|
51
76
|
};
|
|
77
|
+
setTimeCommand = () => ({
|
|
78
|
+
...this.params.write,
|
|
79
|
+
frame: this.params.builder.build(LepuCommand.SET_TIME, clockPayload(this.params.clockSync))
|
|
80
|
+
});
|
|
52
81
|
finishClock = frame => {
|
|
53
82
|
if (lepuCommandOf(frame) !== LepuCommand.SET_TIME) {
|
|
54
83
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getClockParts","isClockSyncEnabled","LepuCommand","LepuFileTransfer","lepuCommandOf","LepuIdentityGate","describeLepuResponseType","isLepuSuccess","LepuEcgTransferSequencer","phase","constructor","params","identity","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","
|
|
1
|
+
{"version":3,"names":["getClockParts","isClockSyncEnabled","LepuCommand","LEPU_CONNECT_REPLY_TIMEOUT_MS","LepuConnectRetry","LepuFileTransfer","lepuCommandOf","LepuIdentityGate","describeLepuResponseType","isLepuSuccess","LepuEcgTransferSequencer","phase","clockRetry","constructor","params","identity","write","builder","expectedDeviceTypes","manufacturerData","rejectEncryptionAtBytes","onIdentified","onRefused","onAdmitted","startClockOrTransfer","initialCommands","isHistoryTransfer","commandTimeoutMs","undefined","onCommandTimeout","commands","mayRetry","setTimeCommand","startTransfer","commandProgress","frame","SET_TIME","nextCommand","finishClock","pollCommand","transfer","clockSync","started","build","clockPayload","onError","delayBeforeWriteMs","onFile","skipFiles","acceptFile","afterTransfer","finishTransfer","onProgress","pollIntervalMs","parts","now","Date","timezone","year","month","day","hours","minutes","seconds"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"mappings":"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","ignoreList":[]}
|