@ovok/native 1.11.2 → 1.12.1
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-device/constants/device-model.js +85 -0
- package/lib/commonjs/modules/bt-device/constants/device-model.js.map +1 -0
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +21 -1
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-device/hooks/use-supported-devices.js +16 -0
- package/lib/commonjs/modules/bt-device/hooks/use-supported-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-device/index.js +117 -0
- package/lib/commonjs/modules/bt-device/index.js.map +1 -1
- package/lib/commonjs/modules/bt-device/types/device-kind.js +2 -0
- package/lib/commonjs/modules/bt-device/types/device-kind.js.map +1 -0
- package/lib/commonjs/modules/bt-device/utils/device-query.js +57 -0
- package/lib/commonjs/modules/bt-device/utils/device-query.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +3 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/blood-pressure-translated-exception-map.js +2 -1
- package/lib/commonjs/modules/bt-management/constants/blood-pressure-translated-exception-map.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-feedback.js +25 -0
- package/lib/commonjs/modules/bt-management/constants/measurement-feedback.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js +8 -7
- package/lib/commonjs/modules/bt-management/hooks/use-bt-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-bt-devices.js +41 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bt-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-open-series.js +18 -0
- package/lib/commonjs/modules/bt-management/hooks/use-open-series.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-queued-results.js +15 -0
- package/lib/commonjs/modules/bt-management/hooks/use-queued-results.js.map +1 -0
- package/lib/commonjs/modules/bt-management/index.js +60 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +34 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +23 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +2 -1
- package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +13 -12
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +4 -3
- package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +10 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +6 -0
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js +4 -3
- package/lib/commonjs/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js +2 -1
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/series-recorder.js +176 -0
- package/lib/commonjs/modules/bt-management/services/series-recorder.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/series-slots.js +93 -0
- package/lib/commonjs/modules/bt-management/services/series-slots.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/measurement-series.js +6 -0
- package/lib/commonjs/modules/bt-management/types/measurement-series.js.map +1 -0
- package/lib/commonjs/modules/data-sync/constants.js +14 -1
- package/lib/commonjs/modules/data-sync/constants.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +6 -5
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +10 -7
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js +10 -4
- package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/types/health-data.js +5 -1
- package/lib/commonjs/modules/data-sync/types/health-data.js.map +1 -1
- 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 +19 -5
- package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/fhir-systems.js +4 -1
- package/lib/commonjs/modules/data-sync/utils/fhir-systems.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +10 -5
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js +18 -12
- package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js +6 -1
- package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js +4 -0
- package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +3 -2
- package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/health-connect-series.js +101 -0
- package/lib/commonjs/modules/data-sync/utils/health-connect-series.js.map +1 -0
- package/lib/commonjs/modules/data-sync/utils/healthkit-series.js +44 -0
- package/lib/commonjs/modules/data-sync/utils/healthkit-series.js.map +1 -0
- package/lib/commonjs/modules/data-sync/utils/hourly-series.js +57 -0
- package/lib/commonjs/modules/data-sync/utils/hourly-series.js.map +1 -0
- package/lib/commonjs/modules/data-sync/utils/replaces-saved-observation.js +13 -0
- package/lib/commonjs/modules/data-sync/utils/replaces-saved-observation.js.map +1 -0
- package/lib/module/modules/bt-device/constants/device-model.js +77 -0
- package/lib/module/modules/bt-device/constants/device-model.js.map +1 -0
- package/lib/module/modules/bt-device/constants/supported-devices.js +21 -1
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-device/hooks/use-supported-devices.js +12 -0
- package/lib/module/modules/bt-device/hooks/use-supported-devices.js.map +1 -0
- package/lib/module/modules/bt-device/index.js +4 -0
- package/lib/module/modules/bt-device/index.js.map +1 -1
- package/lib/module/modules/bt-device/types/device-kind.js +2 -0
- package/lib/module/modules/bt-device/types/device-kind.js.map +1 -0
- package/lib/module/modules/bt-device/utils/device-query.js +50 -0
- package/lib/module/modules/bt-device/utils/device-query.js.map +1 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +3 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/blood-pressure-translated-exception-map.js +2 -1
- package/lib/module/modules/bt-management/constants/blood-pressure-translated-exception-map.js.map +1 -1
- package/lib/module/modules/bt-management/constants/measurement-feedback.js +22 -0
- package/lib/module/modules/bt-management/constants/measurement-feedback.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-bt-device.js +9 -8
- package/lib/module/modules/bt-management/hooks/use-bt-device.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-bt-devices.js +37 -0
- package/lib/module/modules/bt-management/hooks/use-bt-devices.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-open-series.js +13 -0
- package/lib/module/modules/bt-management/hooks/use-open-series.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-queued-results.js +10 -0
- package/lib/module/modules/bt-management/hooks/use-queued-results.js.map +1 -0
- package/lib/module/modules/bt-management/index.js +5 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +34 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +23 -1
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +2 -1
- package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +13 -12
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +4 -3
- package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +10 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +6 -0
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/f4/f4.device.js +4 -3
- package/lib/module/modules/bt-management/services/devices/f4/f4.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js +2 -1
- package/lib/module/modules/bt-management/services/devices/spo/spo2.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/series-recorder.js +173 -0
- package/lib/module/modules/bt-management/services/series-recorder.js.map +1 -0
- package/lib/module/modules/bt-management/services/series-slots.js +85 -0
- package/lib/module/modules/bt-management/services/series-slots.js.map +1 -0
- package/lib/module/modules/bt-management/types/measurement-series.js +4 -0
- package/lib/module/modules/bt-management/types/measurement-series.js.map +1 -0
- package/lib/module/modules/data-sync/constants.js +14 -1
- package/lib/module/modules/data-sync/constants.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +6 -5
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/data-processor.js +11 -8
- package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/storage-manager.js +10 -4
- package/lib/module/modules/data-sync/services/managers/storage-manager.js.map +1 -1
- package/lib/module/modules/data-sync/types/health-data.js +6 -1
- package/lib/module/modules/data-sync/types/health-data.js.map +1 -1
- 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 +19 -6
- package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/module/modules/data-sync/utils/fhir-systems.js +4 -1
- package/lib/module/modules/data-sync/utils/fhir-systems.js.map +1 -1
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js +10 -5
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js +16 -11
- package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js +7 -2
- package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js +4 -0
- package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
- package/lib/module/modules/data-sync/utils/get-samples-from-health.js +3 -2
- package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
- package/lib/module/modules/data-sync/utils/health-connect-series.js +97 -0
- package/lib/module/modules/data-sync/utils/health-connect-series.js.map +1 -0
- package/lib/module/modules/data-sync/utils/healthkit-series.js +40 -0
- package/lib/module/modules/data-sync/utils/healthkit-series.js.map +1 -0
- package/lib/module/modules/data-sync/utils/hourly-series.js +52 -0
- package/lib/module/modules/data-sync/utils/hourly-series.js.map +1 -0
- package/lib/module/modules/data-sync/utils/replaces-saved-observation.js +8 -0
- package/lib/module/modules/data-sync/utils/replaces-saved-observation.js.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-model.d.ts +35 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/device-model.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +18 -1
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/hooks/use-supported-devices.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-device/hooks/use-supported-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/types/device-kind.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-device/types/device-kind.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/utils/device-query.d.ts +49 -0
- package/lib/typescript/commonjs/src/modules/bt-device/utils/device-query.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/blood-pressure-translated-exception-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-feedback.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/bt-management/constants/measurement-feedback.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts +5 -4
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-devices.d.ts +24 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bt-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-open-series.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-open-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-queued-results.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-queued-results.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +11 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts +56 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-recorder.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts +36 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/series-slots.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-series.d.ts +26 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/measurement-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +6 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/constants.d.ts +11 -1
- package/lib/typescript/commonjs/src/modules/data-sync/constants.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +3 -2
- 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/services/managers/storage-manager.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-data.d.ts +15 -2
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-keys.d.ts +3 -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 +5 -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/fhir-systems.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/fhir-systems.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -6
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +2 -2
- 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 +5 -2
- package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-connect-series.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-connect-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/hourly-series.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/hourly-series.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/replaces-saved-observation.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/replaces-saved-observation.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/device-model.d.ts +35 -0
- package/lib/typescript/module/src/modules/bt-device/constants/device-model.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +18 -1
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/hooks/use-supported-devices.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-device/hooks/use-supported-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/index.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/types/device-kind.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-device/types/device-kind.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/utils/device-query.d.ts +49 -0
- package/lib/typescript/module/src/modules/bt-device/utils/device-query.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/blood-pressure-translated-exception-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-feedback.d.ts +21 -0
- package/lib/typescript/module/src/modules/bt-management/constants/measurement-feedback.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts +5 -4
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-devices.d.ts +24 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bt-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-open-series.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-open-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-queued-results.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-queued-results.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +5 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +11 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +13 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/f4/f4.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts +56 -0
- package/lib/typescript/module/src/modules/bt-management/services/series-recorder.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts +36 -0
- package/lib/typescript/module/src/modules/bt-management/services/series-slots.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/measurement-series.d.ts +26 -0
- package/lib/typescript/module/src/modules/bt-management/types/measurement-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +6 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/constants.d.ts +11 -1
- package/lib/typescript/module/src/modules/data-sync/constants.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +3 -2
- 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/services/managers/storage-manager.d.ts +2 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-data.d.ts +15 -2
- package/lib/typescript/module/src/modules/data-sync/types/health-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-sync-keys.d.ts +3 -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 +5 -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/fhir-systems.d.ts +3 -1
- package/lib/typescript/module/src/modules/data-sync/utils/fhir-systems.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts +3 -1
- package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -6
- package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts +2 -2
- 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 +5 -2
- package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/health-connect-series.d.ts +9 -0
- package/lib/typescript/module/src/modules/data-sync/utils/health-connect-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts +12 -0
- package/lib/typescript/module/src/modules/data-sync/utils/healthkit-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/utils/hourly-series.d.ts +22 -0
- package/lib/typescript/module/src/modules/data-sync/utils/hourly-series.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/utils/replaces-saved-observation.d.ts +7 -0
- package/lib/typescript/module/src/modules/data-sync/utils/replaces-saved-observation.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.toResult = exports.toOpenSeries = exports.slotCount = exports.readStored = exports.isLive = exports.SLOT_MS = exports.NOT_MEASURED = exports.MAX_SLOTS = exports.IDLE_CLOSE_MS = void 0;
|
|
7
|
+
/** One slot a second, an hour to a series, and a quarter of an hour without a value ends one. */
|
|
8
|
+
const SLOT_MS = exports.SLOT_MS = 1_000;
|
|
9
|
+
const MAX_SLOTS = exports.MAX_SLOTS = 3_600;
|
|
10
|
+
const IDLE_CLOSE_MS = exports.IDLE_CLOSE_MS = 15 * 60_000;
|
|
11
|
+
|
|
12
|
+
/** A reading dated further from now than this is a stored record, not a live value. */
|
|
13
|
+
const LIVE_TOLERANCE_MS = 2 * 60_000;
|
|
14
|
+
|
|
15
|
+
/** Reading properties that describe a reading rather than measure something. */
|
|
16
|
+
const NOT_MEASURED = exports.NOT_MEASURED = new Set(["memorySlot"]);
|
|
17
|
+
|
|
18
|
+
/** A series as it is kept and stored: plain JSON. */
|
|
19
|
+
|
|
20
|
+
/** Whether a reading is a live value rather than a stored record dated earlier. */
|
|
21
|
+
const isLive = (reading, now) => !(reading.recordedAt instanceof Date) || Math.abs(now - reading.recordedAt.getTime()) <= LIVE_TOLERANCE_MS;
|
|
22
|
+
exports.isLive = isLive;
|
|
23
|
+
const slotCount = series => Math.max(0, ...Object.values(series.values).map(values => values.length));
|
|
24
|
+
|
|
25
|
+
/** Every property's values, all as long as the series. */
|
|
26
|
+
exports.slotCount = slotCount;
|
|
27
|
+
const paddedValues = series => {
|
|
28
|
+
const length = slotCount(series);
|
|
29
|
+
return Object.fromEntries(Object.entries(series.values).map(([property, values]) => [property, [...values, ...Array(length - values.length).fill(null)]]));
|
|
30
|
+
};
|
|
31
|
+
const lastValue = values => {
|
|
32
|
+
for (let slot = values.length - 1; slot >= 0; slot--) {
|
|
33
|
+
const value = values[slot];
|
|
34
|
+
if (value !== null && value !== undefined) {
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
};
|
|
40
|
+
const lastValues = series => Object.fromEntries(Object.entries(series.values).flatMap(([property, values]) => {
|
|
41
|
+
const last = lastValue(values);
|
|
42
|
+
return last === undefined ? [] : [[property, last]];
|
|
43
|
+
}));
|
|
44
|
+
const meanValues = values => Object.fromEntries(Object.entries(values).flatMap(([property, slots]) => {
|
|
45
|
+
const present = slots.filter(value => value !== null);
|
|
46
|
+
return present.length === 0 ? [] : [[property, present.reduce((total, value) => total + value, 0) / present.length]];
|
|
47
|
+
}));
|
|
48
|
+
|
|
49
|
+
/** A closed series as a result: its values in `series`, their means in `data`. */
|
|
50
|
+
const toResult = series => {
|
|
51
|
+
const start = new Date(series.start);
|
|
52
|
+
const values = paddedValues(series);
|
|
53
|
+
return {
|
|
54
|
+
id: `series:${series.deviceData.sn || series.deviceData.id}:${series.measurementTypeKey}:${start.toISOString()}`,
|
|
55
|
+
deviceData: series.deviceData,
|
|
56
|
+
data: {
|
|
57
|
+
measurementTypeKey: series.measurementTypeKey,
|
|
58
|
+
...meanValues(values),
|
|
59
|
+
recordedAt: start
|
|
60
|
+
},
|
|
61
|
+
series: {
|
|
62
|
+
measurementTypeKey: series.measurementTypeKey,
|
|
63
|
+
start,
|
|
64
|
+
periodMs: SLOT_MS,
|
|
65
|
+
values
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/** A series being recorded, as screens see it. */
|
|
71
|
+
exports.toResult = toResult;
|
|
72
|
+
const toOpenSeries = series => ({
|
|
73
|
+
deviceData: series.deviceData,
|
|
74
|
+
measurementTypeKey: series.measurementTypeKey,
|
|
75
|
+
start: new Date(series.start),
|
|
76
|
+
periodMs: SLOT_MS,
|
|
77
|
+
values: paddedValues(series),
|
|
78
|
+
updatedAt: new Date(series.updatedAt),
|
|
79
|
+
latest: lastValues(series)
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
/** What an earlier run stored, or `undefined` when nothing readable was. */
|
|
83
|
+
exports.toOpenSeries = toOpenSeries;
|
|
84
|
+
const readStored = async (storage, key) => {
|
|
85
|
+
try {
|
|
86
|
+
const stored = await storage.getItem(key);
|
|
87
|
+
return stored ? JSON.parse(stored) : undefined;
|
|
88
|
+
} catch {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
exports.readStored = readStored;
|
|
93
|
+
//# sourceMappingURL=series-slots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SLOT_MS","exports","MAX_SLOTS","IDLE_CLOSE_MS","LIVE_TOLERANCE_MS","NOT_MEASURED","Set","isLive","reading","now","recordedAt","Date","Math","abs","getTime","slotCount","series","max","Object","values","map","length","paddedValues","fromEntries","entries","property","Array","fill","lastValue","slot","value","undefined","lastValues","flatMap","last","meanValues","slots","present","filter","reduce","total","toResult","start","id","deviceData","sn","measurementTypeKey","toISOString","data","periodMs","toOpenSeries","updatedAt","latest","readStored","storage","key","stored","getItem","JSON","parse"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/series-slots.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/measurement-series.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.DEFAULT_SYNC_LOOKBACK_DAYS = exports.DEFAULT_HEALTH_SYNC_CHUNK_SIZE = void 0;
|
|
6
|
+
exports.SERIES_SLOT_MS = exports.SERIES_REREAD_HOURS = exports.DEFAULT_SYNC_LOOKBACK_DAYS = exports.DEFAULT_HEALTH_SYNC_CHUNK_SIZE = exports.DAILY_REREAD_DAYS = void 0;
|
|
7
7
|
/**
|
|
8
8
|
* Keeps provider pages comfortably below Medplum's synchronous request limit.
|
|
9
9
|
* The save helper also enforces the byte limit because an observation's size
|
|
@@ -13,4 +13,17 @@ const DEFAULT_HEALTH_SYNC_CHUNK_SIZE = exports.DEFAULT_HEALTH_SYNC_CHUNK_SIZE =
|
|
|
13
13
|
|
|
14
14
|
/** How far back the first import of a type reaches when no watermark exists yet. */
|
|
15
15
|
const DEFAULT_SYNC_LOOKBACK_DAYS = exports.DEFAULT_SYNC_LOOKBACK_DAYS = 30;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* How many already-imported days a daily total or summary is read again for:
|
|
19
|
+
* a wearable that syncs late still changes them. A day it changes later than
|
|
20
|
+
* this keeps the total imported before.
|
|
21
|
+
*/
|
|
22
|
+
const DAILY_REREAD_DAYS = exports.DAILY_REREAD_DAYS = 7;
|
|
23
|
+
|
|
24
|
+
/** A `series` slot: a minute, the finest step both health stores average by. */
|
|
25
|
+
const SERIES_SLOT_MS = exports.SERIES_SLOT_MS = 60_000;
|
|
26
|
+
|
|
27
|
+
/** How many already-imported hours a `series` type reads again, for a watch that syncs a little late. */
|
|
28
|
+
const SERIES_REREAD_HOURS = exports.SERIES_REREAD_HOURS = 3;
|
|
16
29
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_HEALTH_SYNC_CHUNK_SIZE","exports","DEFAULT_SYNC_LOOKBACK_DAYS"],"sourceRoot":"../../../../src","sources":["modules/data-sync/constants.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA,MAAMA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG,GAAG;;AAE1C;AACA,MAAME,0BAA0B,GAAAD,OAAA,CAAAC,0BAAA,GAAG,EAAE","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DEFAULT_HEALTH_SYNC_CHUNK_SIZE","exports","DEFAULT_SYNC_LOOKBACK_DAYS","DAILY_REREAD_DAYS","SERIES_SLOT_MS","SERIES_REREAD_HOURS"],"sourceRoot":"../../../../src","sources":["modules/data-sync/constants.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA,MAAMA,8BAA8B,GAAAC,OAAA,CAAAD,8BAAA,GAAG,GAAG;;AAE1C;AACA,MAAME,0BAA0B,GAAAD,OAAA,CAAAC,0BAAA,GAAG,EAAE;;AAErC;AACA;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAAF,OAAA,CAAAE,iBAAA,GAAG,CAAC;;AAE3B;AACA,MAAMC,cAAc,GAAAH,OAAA,CAAAG,cAAA,GAAG,MAAM;;AAE7B;AACA,MAAMC,mBAAmB,GAAAJ,OAAA,CAAAI,mBAAA,GAAG,CAAC","ignoreList":[]}
|
|
@@ -106,7 +106,8 @@ class BaseHealthSyncService {
|
|
|
106
106
|
const {
|
|
107
107
|
observationBodies,
|
|
108
108
|
observationSyncIds,
|
|
109
|
-
|
|
109
|
+
observationRecordIds,
|
|
110
|
+
deletedRecordIds,
|
|
110
111
|
hasMore: currentHasMore,
|
|
111
112
|
anchors
|
|
112
113
|
} = await this.dataProcessor.getObservationBodiesForType(measurementTypeKey, data, latestValidStartDate);
|
|
@@ -114,8 +115,8 @@ class BaseHealthSyncService {
|
|
|
114
115
|
if (this.stateManager.shouldStopSync) {
|
|
115
116
|
break;
|
|
116
117
|
}
|
|
117
|
-
const entries = this.dataProcessor.generateObservationEntries(observationBodies, observationSyncIds, (0, _healthSyncKeys.getHealthDataMode)(measurementTypeKey, data.mode));
|
|
118
|
-
if ((entries.length !== 0 ||
|
|
118
|
+
const entries = this.dataProcessor.generateObservationEntries(observationBodies, observationSyncIds, observationRecordIds, (0, _healthSyncKeys.getHealthDataMode)(measurementTypeKey, data.mode));
|
|
119
|
+
if ((entries.length !== 0 || deletedRecordIds.length !== 0) && !this.stateManager.shouldStopSync) {
|
|
119
120
|
try {
|
|
120
121
|
if (entries.length !== 0) {
|
|
121
122
|
const startedAt = Date.now();
|
|
@@ -136,8 +137,8 @@ class BaseHealthSyncService {
|
|
|
136
137
|
this.stateManager.addResult(result);
|
|
137
138
|
this.progressManager.incrementSyncedObservations(measurementTypeKey, savedCount, createdCount);
|
|
138
139
|
}
|
|
139
|
-
if (
|
|
140
|
-
await this.storageManager.deleteObservations(
|
|
140
|
+
if (deletedRecordIds.length !== 0) {
|
|
141
|
+
await this.storageManager.deleteObservations(deletedRecordIds, this.patientId);
|
|
141
142
|
}
|
|
142
143
|
this.storageManager.saveAnchors(anchors);
|
|
143
144
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_telemetry","require","_constants","_healthSyncBatchError","_healthSyncKeys","_retrySave","_dataProcessor","_storageManager","_syncProgressManager","_syncStateManager","BaseHealthSyncService","constructor","props","adapter","client","patientId","dataToSync","onSyncError","progressManager","SyncProgressManager","updateProgress","stateManager","SyncStateManager","storageManager","StorageManager","provider","dataProcessor","DataProcessor","chunkSize","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","getTotalCount","getData","convert","startSync","once","withOvokSpan","runSync","isInitialized","Error","resume","setNotStartedStatuses","initialDataFetched","initializeSync","processAllDataTypes","setPauseStatuses","pauseReason","error","stopSync","resetAll","reset","shouldStopSync","pauseSync","reason","pause","latestObservationDates","getLatestObservationDates","calculateTotalCounts","key","Object","keys","measurementTypeKey","data","getDataForMeasurementType","latestValidStartDate","getLatestValidStartDate","getHealthDataMode","mode","totalCount","getTotalRecordsCountForType","setTotalObservations","setStatus","syncDataByType","hasMore","observationBodies","observationSyncIds","
|
|
1
|
+
{"version":3,"names":["_telemetry","require","_constants","_healthSyncBatchError","_healthSyncKeys","_retrySave","_dataProcessor","_storageManager","_syncProgressManager","_syncStateManager","BaseHealthSyncService","constructor","props","adapter","client","patientId","dataToSync","onSyncError","progressManager","SyncProgressManager","updateProgress","stateManager","SyncStateManager","storageManager","StorageManager","provider","dataProcessor","DataProcessor","chunkSize","DEFAULT_HEALTH_SYNC_CHUNK_SIZE","getTotalCount","getData","convert","startSync","once","withOvokSpan","runSync","isInitialized","Error","resume","setNotStartedStatuses","initialDataFetched","initializeSync","processAllDataTypes","setPauseStatuses","pauseReason","error","stopSync","resetAll","reset","shouldStopSync","pauseSync","reason","pause","latestObservationDates","getLatestObservationDates","calculateTotalCounts","key","Object","keys","measurementTypeKey","data","getDataForMeasurementType","latestValidStartDate","getLatestValidStartDate","getHealthDataMode","mode","totalCount","getTotalRecordsCountForType","setTotalObservations","setStatus","syncDataByType","hasMore","observationBodies","observationSyncIds","observationRecordIds","deletedRecordIds","currentHasMore","anchors","getObservationBodiesForType","entries","generateObservationEntries","length","startedAt","Date","now","result","withSyncRetries","saveObservations","responseEntries","entry","savedCount","filter","response","status","startsWith","createdCount","recordOvokMetric","recordOvokDuration","addResult","incrementSyncedObservations","deleteObservations","saveAnchors","isSyncRetryCancelled","toHealthSyncError","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/base-health-sync-service.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,6 @@ var _getLatestValidStartDate = require("../../utils/get-latest-valid-start-date.
|
|
|
13
13
|
var _groupSamplesByInterval = require("../../utils/group-samples-by-interval.js");
|
|
14
14
|
var _groupSleepSamples = require("../../utils/group-sleep-samples.js");
|
|
15
15
|
var _healthDataCatalog = require("../../utils/health-data-catalog.js");
|
|
16
|
-
var _isDailyAggregateMode = require("../../utils/is-daily-aggregate-mode.js");
|
|
17
16
|
/* eslint-disable max-lines */
|
|
18
17
|
|
|
19
18
|
class DataProcessor {
|
|
@@ -94,7 +93,7 @@ class DataProcessor {
|
|
|
94
93
|
typeIdentifier,
|
|
95
94
|
result: await this.getDataFromProviderFunction({
|
|
96
95
|
typeIdentifier: typeIdentifier,
|
|
97
|
-
startDate:
|
|
96
|
+
startDate: latestValidStartDate?.toISOString(),
|
|
98
97
|
anchor,
|
|
99
98
|
chunkSize: this.chunkSize,
|
|
100
99
|
mode
|
|
@@ -107,10 +106,9 @@ class DataProcessor {
|
|
|
107
106
|
const allData = results.flatMap(({
|
|
108
107
|
result
|
|
109
108
|
}) => result.data);
|
|
110
|
-
const
|
|
111
|
-
typeIdentifier,
|
|
109
|
+
const deletedRecordIds = results.flatMap(({
|
|
112
110
|
result
|
|
113
|
-
}) =>
|
|
111
|
+
}) => result.deletedRecordIds ?? []);
|
|
114
112
|
const dataGroups = this.provider === "apple-health" && measurementTypeKey === _healthSyncKeys.HealthDataType.sleep ? (0, _groupSleepSamples.groupSleepSamples)(allData) : this.provider === "apple-health" && measurementTypeKey === _core.MeasurementTypeKey.bloodPressure ? (0, _groupSamplesByInterval.groupSamplesByInterval)(allData) : allData.map(data => [data]);
|
|
115
113
|
const observationBodies = await Promise.all(dataGroups.map(group => this.getConverterFunction({
|
|
116
114
|
data: group,
|
|
@@ -124,21 +122,26 @@ class DataProcessor {
|
|
|
124
122
|
typeIdentifierCodeDisplays
|
|
125
123
|
})));
|
|
126
124
|
const observationSyncIds = dataGroups.map(group => (0, _getHealthRecordSyncId.getHealthRecordSyncId)(group[0], measurementTypeKey));
|
|
125
|
+
|
|
126
|
+
// A group is named after its first record, as its sync id is.
|
|
127
|
+
const observationRecordIds = dataGroups.map(group => (0, _getHealthRecordSyncId.getHealthRecordSourceId)(group[0]));
|
|
127
128
|
return {
|
|
128
129
|
observationBodies,
|
|
129
130
|
observationSyncIds,
|
|
130
|
-
|
|
131
|
+
observationRecordIds,
|
|
132
|
+
deletedRecordIds,
|
|
131
133
|
hasMore: results.some(({
|
|
132
134
|
result
|
|
133
135
|
}) => result.hasMore ?? ((result.data.length >= this.chunkSize || (result.deletedRecordIds?.length ?? 0) >= this.chunkSize) && Boolean(result.anchor))),
|
|
134
136
|
anchors: newAnchors
|
|
135
137
|
};
|
|
136
138
|
}
|
|
137
|
-
generateObservationEntries(observationBodies, observationSyncIds, mode) {
|
|
139
|
+
generateObservationEntries(observationBodies, observationSyncIds, observationRecordIds, mode) {
|
|
138
140
|
return (0, _generateObservationEntry.generateObservationEntry)({
|
|
139
141
|
groupedObservationBodies: observationBodies,
|
|
140
142
|
provider: this.provider,
|
|
141
143
|
groupedObservationSyncIds: observationSyncIds,
|
|
144
|
+
groupedRecordIds: observationRecordIds,
|
|
142
145
|
mode,
|
|
143
146
|
patientId: this.patientId
|
|
144
147
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_healthSyncKeys","_generateObservationEntry","_getHealthRecordSyncId","_getLatestObservationDatesByCode","_getLatestValidStartDate","_groupSamplesByInterval","_groupSleepSamples","_healthDataCatalog","
|
|
1
|
+
{"version":3,"names":["_core","require","_healthSyncKeys","_generateObservationEntry","_getHealthRecordSyncId","_getLatestObservationDatesByCode","_getLatestValidStartDate","_groupSamplesByInterval","_groupSleepSamples","_healthDataCatalog","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","entries","Object","flatMap","key","data","typeIdentifiers","map","typeIdentifier","code","String","getHealthDataCoding","getHealthDataMode","mode","getLatestObservationDates","codes","getLatestObservationDatesByCode","getTotalRecordsCountForType","measurementTypeKey","latestValidStartDate","totalCounts","Promise","all","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","configuredCodings","system","display","catalogCoding","undefined","typeIdentifierCodes","fromEntries","typeIdentifierCodeSystems","typeIdentifierCodeDisplays","results","result","newAnchors","flat","filter","Boolean","allData","deletedRecordIds","dataGroups","HealthDataType","sleep","groupSleepSamples","MeasurementTypeKey","bloodPressure","groupSamplesByInterval","observationBodies","group","length","observationSyncIds","getHealthRecordSyncId","observationRecordIds","getHealthRecordSourceId","hasMore","some","anchors","generateObservationEntries","generateObservationEntry","groupedObservationBodies","groupedObservationSyncIds","groupedRecordIds","getLatestValidStartDate","latestObservationDates","resolvedMode","resolvedData","exports"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.StorageManager = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _getHealthRecordSyncId = require("../../utils/get-health-record-sync-id.js");
|
|
8
8
|
var _saveBundleObservations = require("../../utils/save-bundle-observations.js");
|
|
9
9
|
class StorageManager {
|
|
10
10
|
/**
|
|
@@ -35,12 +35,18 @@ class StorageManager {
|
|
|
35
35
|
client: this.client
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
|
|
39
|
+
/** Deletes the observations imported from records the provider reports deleted. */
|
|
40
|
+
async deleteObservations(recordIds, patientId) {
|
|
41
|
+
for (const recordId of new Set(recordIds)) {
|
|
42
|
+
const {
|
|
43
|
+
system,
|
|
44
|
+
value
|
|
45
|
+
} = (0, _getHealthRecordSyncId.getHealthRecordIdentifier)(this.provider, recordId);
|
|
40
46
|
const observations = [];
|
|
41
47
|
for await (const page of this.client.searchResourcePages("Observation", {
|
|
42
48
|
subject: `Patient/${patientId}`,
|
|
43
|
-
identifier: `${
|
|
49
|
+
identifier: `${system}|${value}`
|
|
44
50
|
})) {
|
|
45
51
|
observations.push(...page);
|
|
46
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_getHealthRecordSyncId","require","_saveBundleObservations","StorageManager","inMemoryAnchors","Map","constructor","client","provider","saveObservations","entries","saveBundleObservations","deleteObservations","recordIds","patientId","recordId","Set","system","value","getHealthRecordIdentifier","observations","page","searchResourcePages","subject","identifier","push","Promise","all","filter","observation","id","map","deleteResource","saveAnchor","typeIdentifier","anchor","key","anchorKey","clientStorage","setString","set","getAnchor","getString","get","saveAnchors","anchors","forEach","exports"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/storage-manager.ts"],"mappings":";;;;;;AAIA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAEO,MAAME,cAAc,CAAC;EAC1B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACmBC,eAAe,GAAG,IAAIC,GAAG,CAAiB,CAAC;EAE5DC,WAAWA,CACDC,MAAkB,EAClBC,QAAwB,EAChC;IAAA,KAFQD,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,QAAwB,GAAxBA,QAAwB;EAC/B;EAEH,MAAMC,gBAAgBA,CACpBC,OAAgE,EAClC;IAC9B,OAAO,IAAAC,8CAAsB,EAAC;MAC5BD,OAAO;MACPH,MAAM,EAAE,IAAI,CAACA;IACf,CAAC,CAAC;EACJ;;EAEA;EACA,MAAMK,kBAAkBA,CACtBC,SAAmB,EACnBC,SAAiB,EACF;IACf,KAAK,MAAMC,QAAQ,IAAI,IAAIC,GAAG,CAACH,SAAS,CAAC,EAAE;MACzC,MAAM;QAAEI,MAAM;QAAEC;MAAM,CAAC,GAAG,IAAAC,gDAAyB,EAAC,IAAI,CAACX,QAAQ,EAAEO,QAAQ,CAAC;MAC5E,MAAMK,YAAY,GAAG,EAAE;MAEvB,WAAW,MAAMC,IAAI,IAAI,IAAI,CAACd,MAAM,CAACe,mBAAmB,CAAC,aAAa,EAAE;QACtEC,OAAO,EAAE,WAAWT,SAAS,EAAE;QAC/BU,UAAU,EAAE,GAAGP,MAAM,IAAIC,KAAK;MAChC,CAAC,CAAC,EAAE;QACFE,YAAY,CAACK,IAAI,CAAC,GAAGJ,IAAI,CAAC;MAC5B;MAEA,MAAMK,OAAO,CAACC,GAAG,CACfP,YAAY,CACTQ,MAAM,CAAEC,WAAW,IAAKA,WAAW,CAACC,EAAE,CAAC,CACvCC,GAAG,CAAEF,WAAW,IACf,IAAI,CAACtB,MAAM,CAACyB,cAAc,CAAC,aAAa,EAAEH,WAAW,CAACC,EAAG,CAC3D,CACJ,CAAC;IACH;EACF;EAEAG,UAAUA,CAACC,cAAsB,EAAEC,MAAc,EAAQ;IACvD,MAAMC,GAAG,GAAG,IAAI,CAACC,SAAS,CAACH,cAAc,CAAC;IAE1C,IAAI,IAAI,CAAC3B,MAAM,CAAC+B,aAAa,EAAE;MAC7B,IAAI,CAAC/B,MAAM,CAAC+B,aAAa,CAACC,SAAS,CAACH,GAAG,EAAED,MAAM,CAAC;MAEhD;IACF;IAEA,IAAI,CAAC/B,eAAe,CAACoC,GAAG,CAACJ,GAAG,EAAED,MAAM,CAAC;EACvC;EAEAM,SAASA,CAACP,cAAsB,EAAsB;IACpD,MAAME,GAAG,GAAG,IAAI,CAACC,SAAS,CAACH,cAAc,CAAC;IAE1C,OAAO,IAAI,CAAC3B,MAAM,CAAC+B,aAAa,GAC5B,IAAI,CAAC/B,MAAM,CAAC+B,aAAa,CAACI,SAAS,CAACN,GAAG,CAAC,GACxC,IAAI,CAAChC,eAAe,CAACuC,GAAG,CAACP,GAAG,CAAC;EACnC;EAEQC,SAASA,CAACH,cAAsB,EAAU;IAChD,OAAO,GAAG,IAAI,CAAC1B,QAAQ,SAAS0B,cAAc,SAAS;EACzD;EAEAU,WAAWA,CACTC,OAA0D,EACpD;IACNA,OAAO,CAACC,OAAO,CAAC,CAAC;MAAEZ,cAAc;MAAEC;IAAO,CAAC,KAAK;MAC9C,IAAI,CAACF,UAAU,CAACC,cAAc,EAAEC,MAAM,CAAC;IACzC,CAAC,CAAC;EACJ;AACF;AAACY,OAAA,CAAA5C,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -3,10 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isAggregatedHealthData = void 0;
|
|
6
|
+
exports.isSeriesHealthData = exports.isAggregatedHealthData = void 0;
|
|
7
7
|
const isAggregatedHealthData = value => {
|
|
8
8
|
const candidate = value;
|
|
9
9
|
return candidate?.kind === "daily-total" || candidate?.kind === "daily-summary";
|
|
10
10
|
};
|
|
11
|
+
|
|
12
|
+
/** One finished hour of a quantity in `series` mode: a value a minute, `null` for a minute without one. */
|
|
11
13
|
exports.isAggregatedHealthData = isAggregatedHealthData;
|
|
14
|
+
const isSeriesHealthData = value => value?.kind === "series";
|
|
15
|
+
exports.isSeriesHealthData = isSeriesHealthData;
|
|
12
16
|
//# sourceMappingURL=health-data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isAggregatedHealthData","value","candidate","kind","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/types/health-data.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["isAggregatedHealthData","value","candidate","kind","exports","isSeriesHealthData"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/types/health-data.ts"],"mappings":";;;;;;AAaA,MAAMA,sBAAsB,GAC1BC,KAAc,IACoB;EAClC,MAAMC,SAAS,GAAGD,KAAkD;EAEpE,OACEC,SAAS,EAAEC,IAAI,KAAK,aAAa,IAAID,SAAS,EAAEC,IAAI,KAAK,eAAe;AAE5E,CAAC;;AAED;AAAAC,OAAA,CAAAJ,sBAAA,GAAAA,sBAAA;AAWA,MAAMK,kBAAkB,GAAIJ,KAAc,IACvCA,KAAK,EAA4CE,IAAI,KAAK,QAAQ;AAACC,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","HealthDataType","exports","getHealthDataMode","key","configuredMode","MeasurementTypeKey","stepCount","distance","activeEnergy","flightsClimbed","exerciseMinutes","heartRate","heartRateSummary","sleep","workout"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/types/health-sync-keys.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAOA;AAAA,IACKC,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA,EAAdA,cAAc;
|
|
1
|
+
{"version":3,"names":["_core","require","HealthDataType","exports","getHealthDataMode","key","configuredMode","MeasurementTypeKey","stepCount","distance","activeEnergy","flightsClimbed","exerciseMinutes","heartRate","heartRateSummary","sleep","workout"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/types/health-sync-keys.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAOA;AAAA,IACKC,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA,EAAdA,cAAc;AAyBnB,MAAME,iBAAiB,GAAGA,CACxBC,GAAkB,EAClBC,cAA+B,KACZ;EACnB,IAAIA,cAAc,EAAE;IAClB,OAAOA,cAAc;EACvB;EAEA,QAAQD,GAAG;IACT,KAAKE,wBAAkB,CAACC,SAAS;IACjC,KAAKN,cAAc,CAACO,QAAQ;IAC5B,KAAKP,cAAc,CAACQ,YAAY;IAChC,KAAKR,cAAc,CAACS,cAAc;IAClC,KAAKT,cAAc,CAACU,eAAe;MACjC,OAAO,aAAa;IACtB,KAAKL,wBAAkB,CAACM,SAAS;IACjC,KAAKX,cAAc,CAACY,gBAAgB;MAClC,OAAO,eAAe;IACxB,KAAKZ,cAAc,CAACa,KAAK;IACzB,KAAKb,cAAc,CAACc,OAAO;MACzB,OAAO,SAAS;IAClB;MACE,OAAO,OAAO;EAClB;AACF,CAAC;AAACb,OAAA,CAAAC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getUcumCode = exports.convertGenericHealthDataToObservation = void 0;
|
|
6
|
+
exports.getUcumCode = exports.extractValue = exports.convertGenericHealthDataToObservation = void 0;
|
|
7
7
|
var _healthData = require("../types/health-data.js");
|
|
8
8
|
var _fhirSystems = require("./fhir-systems.js");
|
|
9
9
|
var _healthObservationDevice = require("./health-observation-device.js");
|
|
@@ -65,10 +65,13 @@ const convertGenericHealthDataToObservation = async ({
|
|
|
65
65
|
...(device ? {
|
|
66
66
|
device
|
|
67
67
|
} : {}),
|
|
68
|
-
extension
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
// A series' values are its sampled data; copying them into the record extension would store them twice.
|
|
69
|
+
...((0, _healthData.isSeriesHealthData)(first) ? {} : {
|
|
70
|
+
extension: [{
|
|
71
|
+
url: HEALTH_RECORD_DATA_EXTENSION,
|
|
72
|
+
valueString: JSON.stringify(data.map(toPortableRecordData))
|
|
73
|
+
}]
|
|
74
|
+
}),
|
|
72
75
|
...(interval ? {
|
|
73
76
|
effectivePeriod: {
|
|
74
77
|
start: interval.start.toISOString(),
|
|
@@ -110,6 +113,16 @@ const toPortableRecordData = value => {
|
|
|
110
113
|
};
|
|
111
114
|
const getMeasurement = (value, mode, interval, typeIdentifier) => {
|
|
112
115
|
const raw = value;
|
|
116
|
+
if ((0, _healthData.isSeriesHealthData)(value)) {
|
|
117
|
+
return {
|
|
118
|
+
valueSampledData: {
|
|
119
|
+
origin: quantity(0, value.unit, typeIdentifier),
|
|
120
|
+
period: value.periodMs,
|
|
121
|
+
dimensions: 1,
|
|
122
|
+
data: value.values.map(slot => slot === null ? "E" : String(Number(slot.toFixed(2)))).join(" ")
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
}
|
|
113
126
|
if ((0, _healthData.isAggregatedHealthData)(value)) {
|
|
114
127
|
const number = value.kind === "daily-summary" ? value.average : value.value;
|
|
115
128
|
return number === undefined ? {
|
|
@@ -167,6 +180,7 @@ const extractValue = raw => {
|
|
|
167
180
|
}
|
|
168
181
|
return undefined;
|
|
169
182
|
};
|
|
183
|
+
exports.extractValue = extractValue;
|
|
170
184
|
const getInterval = data => {
|
|
171
185
|
const intervals = data.map(item => {
|
|
172
186
|
const raw = item;
|
|
@@ -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","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","number","kind","average","valueQuantity","quantity","getTime","extracted","extractValue","candidates","containerKey","valueKey","fallbackUnit","container","normalizeUnit","scalarCandidates","intervals","item","startValue","startDate","startTime","time","endDate","endTime","endValue","Number","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","join","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","_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","replace","slice"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/convert-generic-health-data.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.UCUM_SYSTEM = exports.OBSERVATION_SYNC_PROVIDER_SYSTEM = exports.OBSERVATION_SYNC_ID_SYSTEM = exports.LOINC_SYSTEM = void 0;
|
|
6
|
+
exports.UCUM_SYSTEM = exports.OBSERVATION_SYNC_RECORD_SYSTEM = exports.OBSERVATION_SYNC_PROVIDER_SYSTEM = exports.OBSERVATION_SYNC_ID_SYSTEM = exports.LOINC_SYSTEM = void 0;
|
|
7
7
|
const LOINC_SYSTEM = exports.LOINC_SYSTEM = "http://loinc.org";
|
|
8
8
|
const UCUM_SYSTEM = exports.UCUM_SYSTEM = "http://unitsofmeasure.org";
|
|
9
9
|
const OBSERVATION_SYNC_PROVIDER_SYSTEM = exports.OBSERVATION_SYNC_PROVIDER_SYSTEM = "https://api.ovok.com/fhir/StructureDefinition/observation-sync-provider";
|
|
10
10
|
const OBSERVATION_SYNC_ID_SYSTEM = exports.OBSERVATION_SYNC_ID_SYSTEM = "https://api.ovok.com/fhir/StructureDefinition/observation-sync-id";
|
|
11
|
+
|
|
12
|
+
/** The source record an imported observation came from, which is all a deletion reports. */
|
|
13
|
+
const OBSERVATION_SYNC_RECORD_SYSTEM = exports.OBSERVATION_SYNC_RECORD_SYSTEM = "https://api.ovok.com/fhir/StructureDefinition/observation-sync-record";
|
|
11
14
|
//# sourceMappingURL=fhir-systems.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LOINC_SYSTEM","exports","UCUM_SYSTEM","OBSERVATION_SYNC_PROVIDER_SYSTEM","OBSERVATION_SYNC_ID_SYSTEM"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/fhir-systems.ts"],"mappings":";;;;;;AAAA,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,kBAAkB;AACvC,MAAME,WAAW,GAAAD,OAAA,CAAAC,WAAA,GAAG,2BAA2B;AAE/C,MAAMC,gCAAgC,GAAAF,OAAA,CAAAE,gCAAA,GACpC,yEAAyE;AAE3E,MAAMC,0BAA0B,GAAAH,OAAA,CAAAG,0BAAA,GAC9B,mEAAmE","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["LOINC_SYSTEM","exports","UCUM_SYSTEM","OBSERVATION_SYNC_PROVIDER_SYSTEM","OBSERVATION_SYNC_ID_SYSTEM","OBSERVATION_SYNC_RECORD_SYSTEM"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/fhir-systems.ts"],"mappings":";;;;;;AAAA,MAAMA,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,kBAAkB;AACvC,MAAME,WAAW,GAAAD,OAAA,CAAAC,WAAA,GAAG,2BAA2B;AAE/C,MAAMC,gCAAgC,GAAAF,OAAA,CAAAE,gCAAA,GACpC,yEAAyE;AAE3E,MAAMC,0BAA0B,GAAAH,OAAA,CAAAG,0BAAA,GAC9B,mEAAmE;;AAErE;AACA,MAAMC,8BAA8B,GAAAJ,OAAA,CAAAI,8BAAA,GAClC,uEAAuE","ignoreList":[]}
|