@ovok/native 1.6.4 → 1.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +9 -0
  2. package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +15 -4
  3. package/lib/commonjs/modules/background-sync/android-background-sync.js +2 -1
  4. package/lib/commonjs/modules/background-sync/android-background-sync.js.map +1 -1
  5. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +13 -1
  6. package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js +18 -0
  8. package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -1
  9. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +4 -3
  10. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  11. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +7 -4
  12. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  13. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +15 -4
  14. package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  15. package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js +6 -3
  16. package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
  17. package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js +5 -2
  18. package/lib/commonjs/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
  19. package/lib/commonjs/modules/ui/components/urine-test-result.js +50 -18
  20. package/lib/commonjs/modules/ui/components/urine-test-result.js.map +1 -1
  21. package/lib/module/modules/background-sync/android-background-sync.js +2 -1
  22. package/lib/module/modules/background-sync/android-background-sync.js.map +1 -1
  23. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +14 -2
  24. package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
  25. package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js +19 -1
  26. package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -1
  27. package/lib/module/modules/data-sync/services/base-health-sync-service.js +4 -3
  28. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  29. package/lib/module/modules/data-sync/services/managers/data-processor.js +7 -4
  30. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  31. package/lib/module/modules/data-sync/utils/generate-observation-entry.js +15 -4
  32. package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
  33. package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js +6 -3
  34. package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
  35. package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js +5 -2
  36. package/lib/module/modules/data-sync/utils/get-latest-valid-start-date.js.map +1 -1
  37. package/lib/module/modules/ui/components/urine-test-result.js +50 -18
  38. package/lib/module/modules/ui/components/urine-test-result.js.map +1 -1
  39. package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts +3 -1
  40. package/lib/typescript/commonjs/src/modules/background-sync/android-background-sync.d.ts.map +1 -1
  41. package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  44. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +4 -2
  45. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  46. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts +4 -1
  47. package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  48. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts +3 -2
  50. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts +3 -1
  52. package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/src/modules/ui/types.d.ts +10 -0
  54. package/lib/typescript/commonjs/src/modules/ui/types.d.ts.map +1 -1
  55. package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts +3 -1
  56. package/lib/typescript/module/src/modules/background-sync/android-background-sync.d.ts.map +1 -1
  57. package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
  58. package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -1
  59. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  60. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +4 -2
  61. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  62. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts +4 -1
  63. package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
  64. package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
  65. package/lib/typescript/module/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts +3 -2
  66. package/lib/typescript/module/src/modules/data-sync/utils/get-latest-valid-start-date.d.ts.map +1 -1
  67. package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts +3 -1
  68. package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts.map +1 -1
  69. package/lib/typescript/module/src/modules/ui/types.d.ts +10 -0
  70. package/lib/typescript/module/src/modules/ui/types.d.ts.map +1 -1
  71. package/package.json +1 -1
package/README.md CHANGED
@@ -50,6 +50,15 @@ Read the complete [SDK guide](https://sdk.ovok.com/docs/guide/overview) for:
50
50
  opt-in Expo config plugin;
51
51
  - the public API map, troubleshooting, and release checks.
52
52
 
53
+ ### Android battery exemption prompt
54
+
55
+ `requestBatteryOptimizationExemption` is an explicit opt-in. The SDK only opens
56
+ Android's battery-exemption screen while an Activity is in the foreground. If a
57
+ background scan enables the service, the request is kept pending and retried when
58
+ the app next returns to the foreground. Keep this option disabled while the app
59
+ is launching another system permission prompt, such as Android 13 notification
60
+ permission; enable it after that prompt has completed.
61
+
53
62
  ## 📄 License
54
63
 
55
64
  See [LICENSE](LICENSE) and the package metadata for the applicable license terms. The
@@ -1,5 +1,6 @@
1
1
  package com.ovok.sdk.backgroundsync;
2
2
 
3
+ import android.app.Activity;
3
4
  import android.content.Context;
4
5
  import android.content.ComponentName;
5
6
  import android.content.Intent;
@@ -105,6 +106,12 @@ public final class OvokBackgroundSyncModule extends ReactContextBaseJavaModule {
105
106
  return;
106
107
  }
107
108
 
109
+ Activity activity = getCurrentActivity();
110
+ if (activity == null) {
111
+ promise.resolve(false);
112
+ return;
113
+ }
114
+
108
115
  if (context.getSharedPreferences(PREFS, Context.MODE_PRIVATE)
109
116
  .getBoolean(BATTERY_OPTIMIZATION_PROMPT_REQUESTED, false)) {
110
117
  promise.resolve(false);
@@ -114,8 +121,7 @@ public final class OvokBackgroundSyncModule extends ReactContextBaseJavaModule {
114
121
  Intent intent = new Intent(
115
122
  Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,
116
123
  Uri.parse("package:" + context.getPackageName()));
117
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
118
- context.startActivity(intent);
124
+ activity.startActivity(intent);
119
125
  context.getSharedPreferences(PREFS, Context.MODE_PRIVATE)
120
126
  .edit()
121
127
  .putBoolean(BATTERY_OPTIMIZATION_PROMPT_REQUESTED, true)
@@ -123,10 +129,15 @@ public final class OvokBackgroundSyncModule extends ReactContextBaseJavaModule {
123
129
  promise.resolve(false);
124
130
  } catch (Exception error) {
125
131
  try {
132
+ Activity activity = getCurrentActivity();
133
+ if (activity == null) {
134
+ promise.resolve(false);
135
+ return;
136
+ }
137
+
126
138
  Intent fallback = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
127
- fallback.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
128
139
  Context context = getReactApplicationContext();
129
- context.startActivity(fallback);
140
+ activity.startActivity(fallback);
130
141
  context.getSharedPreferences(PREFS, Context.MODE_PRIVATE)
131
142
  .edit()
132
143
  .putBoolean(BATTERY_OPTIMIZATION_PROMPT_REQUESTED, true)
@@ -46,7 +46,8 @@ const isAndroidBatteryOptimizationIgnored = async () => {
46
46
  /**
47
47
  * Opens Android's consent screen for a Doze exemption. This is always explicit
48
48
  * opt-in. A false result means the exemption is not active yet; it can also
49
- * mean the user has already answered or the prompt was already shown. Recheck
49
+ * mean the app is not currently foregrounded, the user has already answered,
50
+ * or the prompt was already shown. Recheck
50
51
  * `isAndroidBatteryOptimizationIgnored` after returning to the foreground.
51
52
  */
52
53
  exports.isAndroidBatteryOptimizationIgnored = isAndroidBatteryOptimizationIgnored;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_androidHealthSyncService","ANDROID_HEALTH_CONNECT_BACKGROUND_TASK","exports","getNativeModule","nativeModule","NativeModules","OvokBackgroundSync","Error","startAndroidBluetoothForegroundService","options","Platform","OS","startBluetoothForegroundService","stopAndroidBluetoothForegroundService","stopBluetoothForegroundService","isAndroidBatteryOptimizationIgnored","isIgnoringBatteryOptimizations","requestAndroidBatteryOptimizationExemption","requestIgnoreBatteryOptimizations","scheduleAndroidHealthConnectSync","scheduleHealthConnectSync","cancelAndroidHealthConnectSync","cancelHealthConnectSync","runAndroidHealthConnectSync","client","patientId","dataToSync","chunkSize","onError","onProgress","progress","service","AndroidHealthSyncService","getInstance","onSyncError","error","updateProgress","nextProgress","measurementTypeKey","startSync","registerAndroidHealthConnectBackgroundTask","task","taskName","AppRegistry","registerHeadlessTask"],"sourceRoot":"../../../../src","sources":["modules/background-sync/android-background-sync.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_androidHealthSyncService","ANDROID_HEALTH_CONNECT_BACKGROUND_TASK","exports","getNativeModule","nativeModule","NativeModules","OvokBackgroundSync","Error","startAndroidBluetoothForegroundService","options","Platform","OS","startBluetoothForegroundService","stopAndroidBluetoothForegroundService","stopBluetoothForegroundService","isAndroidBatteryOptimizationIgnored","isIgnoringBatteryOptimizations","requestAndroidBatteryOptimizationExemption","requestIgnoreBatteryOptimizations","scheduleAndroidHealthConnectSync","scheduleHealthConnectSync","cancelAndroidHealthConnectSync","cancelHealthConnectSync","runAndroidHealthConnectSync","client","patientId","dataToSync","chunkSize","onError","onProgress","progress","service","AndroidHealthSyncService","getInstance","onSyncError","error","updateProgress","nextProgress","measurementTypeKey","startSync","registerAndroidHealthConnectBackgroundTask","task","taskName","AppRegistry","registerHeadlessTask"],"sourceRoot":"../../../../src","sources":["modules/background-sync/android-background-sync.ts"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,7 @@ const AndroidBluetoothForegroundService = ({
23
23
  if (_reactNative.Platform.OS !== "android" || !enabled) {
24
24
  return;
25
25
  }
26
- const start = async () => {
26
+ const requestExemption = async () => {
27
27
  if (requestBatteryOptimizationExemption) {
28
28
  try {
29
29
  await (0, _androidBackgroundSync.requestAndroidBatteryOptimizationExemption)();
@@ -33,6 +33,9 @@ const AndroidBluetoothForegroundService = ({
33
33
  });
34
34
  }
35
35
  }
36
+ };
37
+ const start = async () => {
38
+ await requestExemption();
36
39
  await (0, _androidBackgroundSync.startAndroidBluetoothForegroundService)({
37
40
  ...(notificationBody === undefined ? {} : {
38
41
  notificationBody
@@ -47,7 +50,16 @@ const AndroidBluetoothForegroundService = ({
47
50
  error: (0, _bluetoothError.toBluetoothError)(error)
48
51
  });
49
52
  });
53
+ const removeForegroundListener = requestBatteryOptimizationExemption ? (() => {
54
+ const subscription = _reactNative.AppState.addEventListener("change", state => {
55
+ if (state === "active") {
56
+ void requestExemption();
57
+ }
58
+ });
59
+ return () => subscription.remove();
60
+ })() : undefined;
50
61
  return () => {
62
+ removeForegroundListener?.();
51
63
  void (0, _androidBackgroundSync.stopAndroidBluetoothForegroundService)().catch(error => {
52
64
  onError?.({
53
65
  error: (0, _bluetoothError.toBluetoothError)(error)
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_bluetoothError","_androidBackgroundSync","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AndroidBluetoothForegroundService","enabled","children","options","onError","notificationBody","notificationTitle","requestBatteryOptimizationExemption","useEffect","Platform","OS","start","requestAndroidBatteryOptimizationExemption","error","toBluetoothError","startAndroidBluetoothForegroundService","undefined","catch","stopAndroidBluetoothForegroundService","jsx","Fragment","exports"],"sourceRoot":"../../../../src","sources":["modules/background-sync/android-bluetooth-foreground-service.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_bluetoothError","_androidBackgroundSync","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AndroidBluetoothForegroundService","enabled","children","options","onError","notificationBody","notificationTitle","requestBatteryOptimizationExemption","useEffect","Platform","OS","requestExemption","requestAndroidBatteryOptimizationExemption","error","toBluetoothError","start","startAndroidBluetoothForegroundService","undefined","catch","removeForegroundListener","subscription","AppState","addEventListener","state","remove","stopAndroidBluetoothForegroundService","jsx","Fragment","exports"],"sourceRoot":"../../../../src","sources":["modules/background-sync/android-bluetooth-foreground-service.tsx"],"mappings":"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","ignoreList":[]}
@@ -49,12 +49,30 @@ const AndroidBluetoothForegroundService = ({
49
49
  })
50
50
  });
51
51
  };
52
+ const requestExemption = async () => {
53
+ if (!requestBatteryOptimizationExemption) {
54
+ return;
55
+ }
56
+ try {
57
+ await getNativeModule().requestIgnoreBatteryOptimizations();
58
+ } catch (error) {
59
+ onError?.({
60
+ error: (0, _bluetoothError.toBluetoothError)(error)
61
+ });
62
+ }
63
+ };
64
+ const foregroundSubscription = requestBatteryOptimizationExemption ? _reactNative.AppState.addEventListener("change", state => {
65
+ if (state === "active") {
66
+ void requestExemption();
67
+ }
68
+ }) : undefined;
52
69
  void start().catch(error => {
53
70
  onError?.({
54
71
  error: (0, _bluetoothError.toBluetoothError)(error)
55
72
  });
56
73
  });
57
74
  return () => {
75
+ foregroundSubscription?.remove();
58
76
  void getNativeModule().stopBluetoothForegroundService().catch(error => {
59
77
  onError?.({
60
78
  error: (0, _bluetoothError.toBluetoothError)(error)
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_bluetoothError","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getNativeModule","nativeModule","NativeModules","OvokBackgroundSync","Error","AndroidBluetoothForegroundService","enabled","children","options","onError","notificationBody","notificationTitle","requestBatteryOptimizationExemption","useEffect","Platform","OS","start","requestIgnoreBatteryOptimizations","error","toBluetoothError","startBluetoothForegroundService","undefined","catch","stopBluetoothForegroundService","jsx","Fragment","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/android-bluetooth-foreground-service.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_bluetoothError","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getNativeModule","nativeModule","NativeModules","OvokBackgroundSync","Error","AndroidBluetoothForegroundService","enabled","children","options","onError","notificationBody","notificationTitle","requestBatteryOptimizationExemption","useEffect","Platform","OS","start","requestIgnoreBatteryOptimizations","error","toBluetoothError","startBluetoothForegroundService","undefined","requestExemption","foregroundSubscription","AppState","addEventListener","state","catch","remove","stopBluetoothForegroundService","jsx","Fragment","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/android-bluetooth-foreground-service.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.BaseHealthSyncService = void 0;
7
7
  var _telemetry = require("../../helpers/utils/telemetry.js");
8
+ var _healthSyncKeys = require("../types/health-sync-keys.js");
8
9
  var _retrySave = require("../utils/retry-save.js");
9
10
  var _dataProcessor = require("./managers/data-processor.js");
10
11
  var _storageManager = require("./managers/storage-manager.js");
@@ -72,7 +73,7 @@ class BaseHealthSyncService {
72
73
  if (!data) {
73
74
  continue;
74
75
  }
75
- const latestValidStartDate = this.dataProcessor.getLatestValidStartDate(this.stateManager.latestObservationDates, data);
76
+ const latestValidStartDate = this.dataProcessor.getLatestValidStartDate(this.stateManager.latestObservationDates, data, (0, _healthSyncKeys.getHealthDataMode)(measurementTypeKey, data.mode));
76
77
  const totalCount = await this.dataProcessor.getTotalRecordsCountForType(measurementTypeKey, data, latestValidStartDate);
77
78
  this.progressManager.setTotalObservations(measurementTypeKey, totalCount);
78
79
  }
@@ -93,7 +94,7 @@ class BaseHealthSyncService {
93
94
  }
94
95
  }
95
96
  async syncDataByType(measurementTypeKey, data) {
96
- const latestValidStartDate = this.dataProcessor.getLatestValidStartDate(this.stateManager.latestObservationDates, data);
97
+ const latestValidStartDate = this.dataProcessor.getLatestValidStartDate(this.stateManager.latestObservationDates, data, (0, _healthSyncKeys.getHealthDataMode)(measurementTypeKey, data.mode));
97
98
  let hasAnchor = true;
98
99
  while (hasAnchor && !this.stateManager.shouldStopSync) {
99
100
  const {
@@ -106,7 +107,7 @@ class BaseHealthSyncService {
106
107
  if (this.stateManager.shouldStopSync) {
107
108
  break;
108
109
  }
109
- const entries = this.dataProcessor.generateObservationEntries(observationBodies, observationSyncIds);
110
+ const entries = this.dataProcessor.generateObservationEntries(observationBodies, observationSyncIds, (0, _healthSyncKeys.getHealthDataMode)(measurementTypeKey, data.mode));
110
111
  if (entries.length !== 0 && !this.stateManager.shouldStopSync) {
111
112
  try {
112
113
  const startedAt = Date.now();
@@ -1 +1 @@
1
- {"version":3,"names":["_telemetry","require","_retrySave","_dataProcessor","_storageManager","_syncProgressManager","_syncStateManager","BaseHealthSyncService","constructor","props","client","patientId","dataToSync","onSyncError","progressManager","SyncProgressManager","updateProgress","stateManager","SyncStateManager","storageManager","StorageManager","getProviderName","dataProcessor","DataProcessor","chunkSize","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","startSync","once","withOvokSpan","provider","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","totalCount","getTotalRecordsCountForType","setTotalObservations","setStatus","syncDataByType","hasAnchor","observationBodies","observationSyncIds","currentHasAnchor","anchors","getObservationBodiesForType","entries","generateObservationEntries","length","startedAt","Date","now","result","withSyncRetries","saveObservations","recordOvokMetric","recordOvokDuration","addResult","incrementSyncedObservations","saveAnchors","isSyncRetryCancelled","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/base-health-sync-service.ts"],"mappings":";;;;;;AAKA,IAAAA,UAAA,GAAAC,OAAA;AAeA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AAzBA;;AA2BO,MAAeM,qBAAqB,CAMzC;EAeAC,WAAWA,CAACC,KAAoC,EAAE;IAChD,IAAI,CAACC,MAAM,GAAGD,KAAK,CAACC,MAAM;IAC1B,IAAI,CAACC,SAAS,GAAGF,KAAK,CAACE,SAAS;IAChC,IAAI,CAACC,UAAU,GAAGH,KAAK,CAACG,UAAU;IAClC,IAAI,CAACC,WAAW,GAAGJ,KAAK,CAACI,WAAW;IAEpC,IAAI,CAACC,eAAe,GAAG,IAAIC,wCAAmB,CAC5CN,KAAK,CAACO,cAAc,EACpBP,KAAK,CAACG,UACR,CAAC;IACD,IAAI,CAACK,YAAY,GAAG,IAAIC,kCAAgB,CAAC,CAAC;IAC1C,IAAI,CAACC,cAAc,GAAG,IAAIC,8BAAc,CACtCX,KAAK,CAACC,MAAM,EACZ,IAAI,CAACW,eAAe,CAAC,CACvB,CAAC;IACD,IAAI,CAACC,aAAa,GAAG,IAAIC,4BAAa,CACpCd,KAAK,CAACC,MAAM,EACZD,KAAK,CAACE,SAAS,EACf,IAAI,CAACU,eAAe,CAAC,CAAC,EACtBZ,KAAK,CAACe,SAAS,IAAI,IAAI,EACvB,IAAI,CAACL,cAAc,EACnB,IAAI,CAACM,sBAAsB,CAAC,CAAC,EAC7B,IAAI,CAACC,2BAA2B,CAAC,CAAC,EAClC,IAAI,CAACC,oBAAoB,CAAC,CAC5B,CAAC;EACH;EAgBA;EACA,MAAaC,SAASA,CAAA,EAAkB;IACtC,OAAO,IAAI,CAACX,YAAY,CAACY,IAAI,CAAC,MAC5B,IAAAC,uBAAY,EACV,eAAe,EACf;MAAEC,QAAQ,EAAE,IAAI,CAACV,eAAe,CAAC;IAAE,CAAC,EACpC,MAAM,IAAI,CAACW,OAAO,CAAC,CACrB,CACF,CAAC;EACH;EAEA,MAAcA,OAAOA,CAAA,EAAkB;IACrC,IAAI;MACF,IAAI,CAAC,IAAI,CAACtB,MAAM,CAACuB,aAAa,EAAE;QAC9B,IAAI,CAACpB,WAAW,CAAC,IAAIqB,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAErD;MACF;MAEA,IAAI,CAAC,IAAI,CAACvB,SAAS,EAAE;QACnB,IAAI,CAACE,WAAW,CAAC,IAAIqB,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhD;MACF;MAEA,IAAI,CAACjB,YAAY,CAACkB,MAAM,CAAC,CAAC;MAC1B,IAAI,CAACrB,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAE5C,IAAI,CAAC,IAAI,CAACnB,YAAY,CAACoB,kBAAkB,EAAE;QACzC,MAAM,IAAI,CAACC,cAAc,CAAC,CAAC;MAC7B;MAEA,MAAM,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAEhC,IAAI,CAACzB,eAAe,CAAC0B,gBAAgB,CAAC,IAAI,CAACvB,YAAY,CAACwB,WAAW,CAAC;IACtE,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,IAAI,CAAC7B,WAAW,CAAC6B,KAAc,CAAC;IAClC;EACF;EAEA,MAAaC,QAAQA,CAAA,EAAkB;IACrC,IAAI,CAAC7B,eAAe,CAAC8B,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC3B,YAAY,CAAC4B,KAAK,CAAC,CAAC;IACzB,IAAI,CAAC5B,YAAY,CAAC6B,cAAc,GAAG,IAAI;EACzC;EAEA,MAAaC,SAASA,CAACC,MAAwB,EAAiB;IAC9D,IAAI,CAAC/B,YAAY,CAACgC,KAAK,CAACD,MAAM,CAAC;IAC/B,IAAI,CAAClC,eAAe,CAAC0B,gBAAgB,CAACQ,MAAM,CAAC;EAC/C;EAEA,MAAcV,cAAcA,CAAA,EAAkB;IAC5C,MAAMY,sBAAsB,GAC1B,MAAM,IAAI,CAAC5B,aAAa,CAAC6B,yBAAyB,CAAC,IAAI,CAACvC,UAAU,CAAC;IAErE,IAAI,CAACK,YAAY,CAACiC,sBAAsB,GAAGA,sBAAsB;IAEjE,MAAM,IAAI,CAACE,oBAAoB,CAAC,CAAC;IACjC,IAAI,CAACnC,YAAY,CAACoB,kBAAkB,GAAG,IAAI;EAC7C;EAEA,MAAce,oBAAoBA,CAAA,EAAkB;IAClD,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC3C,UAAqC,CAAC,EAAE;MACzE,MAAM4C,kBAAkB,GAAGH,GAAoB;MAC/C,MAAMI,IAAI,GAAG,IAAI,CAACC,yBAAyB,CAACF,kBAAkB,CAAC;MAE/D,IAAI,CAACC,IAAI,EAAE;QACT;MACF;MAEA,MAAME,oBAAoB,GAAG,IAAI,CAACrC,aAAa,CAACsC,uBAAuB,CACrE,IAAI,CAAC3C,YAAY,CAACiC,sBAAsB,EACxCO,IACF,CAAC;MAED,MAAMI,UAAU,GAAG,MAAM,IAAI,CAACvC,aAAa,CAACwC,2BAA2B,CACrEN,kBAAkB,EAClBC,IAAI,EACJE,oBACF,CAAC;MAED,IAAI,CAAC7C,eAAe,CAACiD,oBAAoB,CAACP,kBAAkB,EAAEK,UAAU,CAAC;IAC3E;EACF;EAEA,MAActB,mBAAmBA,CAAA,EAAkB;IACjD,KAAK,MAAMc,GAAG,IAAIC,MAAM,CAACC,IAAI,CAC3B,IAAI,CAAC3C,UACP,CAAC,EAAE;MACD,IAAI,IAAI,CAACK,YAAY,CAAC6B,cAAc,EAAE;QACpC;MACF;MAEA,MAAMU,kBAAkB,GAAGH,GAAoB;MAC/C,MAAMI,IAAI,GAAG,IAAI,CAACC,yBAAyB,CAACF,kBAAkB,CAAC;MAE/D,IAAI,CAACC,IAAI,EAAE;QACT,IAAI,CAAC3C,eAAe,CAACkD,SAAS,CAACR,kBAAkB,EAAE,MAAM,CAAC;QAC1D;MACF;MAEA,IAAI,CAAC1C,eAAe,CAACkD,SAAS,CAACR,kBAAkB,EAAE,SAAS,CAAC;MAC7D,MAAM,IAAI,CAACS,cAAc,CAACT,kBAAkB,EAAEC,IAAI,CAAC;IACrD;EACF;EAEA,MAAcQ,cAAcA,CAC1BT,kBAAiC,EACjCC,IAA6C,EAC9B;IACf,MAAME,oBAAoB,GAAG,IAAI,CAACrC,aAAa,CAACsC,uBAAuB,CACrE,IAAI,CAAC3C,YAAY,CAACiC,sBAAsB,EACxCO,IACF,CAAC;IAED,IAAIS,SAAS,GAAG,IAAI;IAEpB,OAAOA,SAAS,IAAI,CAAC,IAAI,CAACjD,YAAY,CAAC6B,cAAc,EAAE;MACrD,MAAM;QACJqB,iBAAiB;QACjBC,kBAAkB;QAClBF,SAAS,EAAEG,gBAAgB;QAC3BC;MACF,CAAC,GACC,MAAM,IAAI,CAAChD,aAAa,CAACiD,2BAA2B,CAClDf,kBAAkB,EAClBC,IAAI,EACJE,oBACF,CAAC;MAEHO,SAAS,GAAGG,gBAAgB;MAE5B,IAAI,IAAI,CAACpD,YAAY,CAAC6B,cAAc,EAAE;QACpC;MACF;MAEA,MAAM0B,OAAO,GAAG,IAAI,CAAClD,aAAa,CAACmD,0BAA0B,CAC3DN,iBAAiB,EACjBC,kBACF,CAAC;MAED,IAAII,OAAO,CAACE,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAACzD,YAAY,CAAC6B,cAAc,EAAE;QAC7D,IAAI;UACF,MAAM6B,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;UAE5B,MAAMC,MAAM,GAAG,MAAM,IAAAC,0BAAe,EAClC,MAAM,IAAI,CAAC5D,cAAc,CAAC6D,gBAAgB,CAACR,OAAO,CAAC,EACnD,MAAM,IAAI,CAACvD,YAAY,CAAC6B,cAC1B,CAAC;UAED,IAAI,IAAI,CAAC7B,YAAY,CAAC6B,cAAc,EAAE;YACpC;UACF;UAEA,IAAAmC,2BAAgB,EAAC,8BAA8B,EAAET,OAAO,CAACE,MAAM,EAAE;YAC/D3C,QAAQ,EAAE,IAAI,CAACV,eAAe,CAAC,CAAC;YAChCmC;UACF,CAAC,CAAC;UACF,IAAA0B,6BAAkB,EAAC,gCAAgC,EAAEN,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS,EAAE;YAC3E5C,QAAQ,EAAE,IAAI,CAACV,eAAe,CAAC;UACjC,CAAC,CAAC;UAEF,IAAI,CAACJ,YAAY,CAACkE,SAAS,CAACL,MAAM,CAAC;UACnC,IAAI,CAAChE,eAAe,CAACsE,2BAA2B,CAC9C5B,kBAAkB,EAClBgB,OAAO,CAACE,MACV,CAAC;UAED,IAAI,CAACvD,cAAc,CAACkE,WAAW,CAACf,OAAO,CAAC;QAC1C,CAAC,CAAC,OAAO5B,KAAK,EAAE;UACd,IAAI,IAAA4C,+BAAoB,EAAC5C,KAAK,CAAC,IAAI,IAAI,CAACzB,YAAY,CAAC6B,cAAc,EAAE;YACnE;UACF;UAEA,IAAI,CAAChC,eAAe,CAACkD,SAAS,CAACR,kBAAkB,EAAE,QAAQ,CAAC;UAC5D,IAAI,CAAC3C,WAAW,CAAC6B,KAAc,CAAC;UAEhC;QACF;MACF,CAAC,MAAM;QACL,IAAI,CAACvB,cAAc,CAACkE,WAAW,CAACf,OAAO,CAAC;MAC1C;IACF;IAEA,IAAI,CAACxD,eAAe,CAACkD,SAAS,CAC5BR,kBAAkB,EAClB,IAAI,CAACvC,YAAY,CAAC6B,cAAc,GAAG,MAAM,GAAG,WAC9C,CAAC;EACH;EAEQY,yBAAyBA,CAACF,kBAAiC,EAAE;IACnE,OAAO,IAAI,CAAC5C,UAAU,CAAC4C,kBAAkB,CAAC;EAC5C;AACF;AAAC+B,OAAA,CAAAhF,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_telemetry","require","_healthSyncKeys","_retrySave","_dataProcessor","_storageManager","_syncProgressManager","_syncStateManager","BaseHealthSyncService","constructor","props","client","patientId","dataToSync","onSyncError","progressManager","SyncProgressManager","updateProgress","stateManager","SyncStateManager","storageManager","StorageManager","getProviderName","dataProcessor","DataProcessor","chunkSize","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","startSync","once","withOvokSpan","provider","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","hasAnchor","observationBodies","observationSyncIds","currentHasAnchor","anchors","getObservationBodiesForType","entries","generateObservationEntries","length","startedAt","Date","now","result","withSyncRetries","saveObservations","recordOvokMetric","recordOvokDuration","addResult","incrementSyncedObservations","saveAnchors","isSyncRetryCancelled","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/services/base-health-sync-service.ts"],"mappings":"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","ignoreList":[]}
@@ -94,17 +94,20 @@ class DataProcessor {
94
94
  anchors: newAnchors
95
95
  };
96
96
  }
97
- generateObservationEntries(observationBodies, observationSyncIds) {
97
+ generateObservationEntries(observationBodies, observationSyncIds, mode) {
98
98
  return (0, _generateObservationEntry.generateObservationEntry)({
99
99
  groupedObservationBodies: observationBodies,
100
100
  provider: this.provider,
101
- groupedObservationSyncIds: observationSyncIds
101
+ groupedObservationSyncIds: observationSyncIds,
102
+ mode,
103
+ patientId: this.patientId
102
104
  });
103
105
  }
104
- getLatestValidStartDate(latestObservationDates, data) {
106
+ getLatestValidStartDate(latestObservationDates, data, mode) {
105
107
  return (0, _getLatestValidStartDate.getLatestValidStartDate)({
106
108
  latestObservationDates,
107
- data: data
109
+ data: data,
110
+ mode
108
111
  });
109
112
  }
110
113
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_healthSyncKeys","_generateObservationEntry","_getHealthRecordSyncId","_getLatestObservationDatesByCode","_getLatestValidStartDate","_groupSleepSamples","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","Object","values","flatMap","data","typeIdentifiers","map","identifier","code","getLatestObservationDates","codes","getLatestObservationDatesByCode","getTotalRecordsCountForType","measurementTypeKey","latestValidStartDate","mode","getHealthDataMode","totalCounts","Promise","all","typeIdentifier","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","typeIdentifierCodes","fromEntries","String","results","newAnchors","result","flat","filter","Boolean","allData","dataGroups","HealthDataType","sleep","groupSleepSamples","MeasurementTypeKey","bloodPressure","Array","from","groups","sample","value","key","Date","getTime","endDate","group","get","push","set","Map","observationBodies","length","undefined","observationSyncIds","getHealthRecordSyncId","hasAnchor","anchors","generateObservationEntries","generateObservationEntry","groupedObservationBodies","groupedObservationSyncIds","getLatestValidStartDate","latestObservationDates","exports"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_healthSyncKeys","_generateObservationEntry","_getHealthRecordSyncId","_getLatestObservationDatesByCode","_getLatestValidStartDate","_groupSleepSamples","DataProcessor","constructor","client","patientId","provider","chunkSize","storageManager","getTotalCountsFunction","getDataFromProviderFunction","getConverterFunction","extractCodes","dataToSync","Object","values","flatMap","data","typeIdentifiers","map","identifier","code","getLatestObservationDates","codes","getLatestObservationDatesByCode","getTotalRecordsCountForType","measurementTypeKey","latestValidStartDate","mode","getHealthDataMode","totalCounts","Promise","all","typeIdentifier","anchor","getAnchor","startDate","toISOString","reduce","acc","count","getObservationBodiesForType","typeIdentifierCodes","fromEntries","String","results","newAnchors","result","flat","filter","Boolean","allData","dataGroups","HealthDataType","sleep","groupSleepSamples","MeasurementTypeKey","bloodPressure","Array","from","groups","sample","value","key","Date","getTime","endDate","group","get","push","set","Map","observationBodies","length","undefined","observationSyncIds","getHealthRecordSyncId","hasAnchor","anchors","generateObservationEntries","generateObservationEntry","groupedObservationBodies","groupedObservationSyncIds","getLatestValidStartDate","latestObservationDates","exports"],"sourceRoot":"../../../../../../src","sources":["modules/data-sync/services/managers/data-processor.ts"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AASA,IAAAC,eAAA,GAAAD,OAAA;AAKA,IAAAE,yBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,gCAAA,GAAAJ,OAAA;AACA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,kBAAA,GAAAN,OAAA;AAIO,MAAMO,aAAa,CAKxB;EACAC,WAAWA,CACDC,MAAkB,EAClBC,SAAiB,EACjBC,QAAwB,EACxBC,SAAiB,EACjBC,cAA8B,EAC9BC,sBAEY,EACZC,2BAEgE,EAChEC,oBAEmB,EAC3B;IAAA,KAdQP,MAAkB,GAAlBA,MAAkB;IAAA,KAClBC,SAAiB,GAAjBA,SAAiB;IAAA,KACjBC,QAAwB,GAAxBA,QAAwB;IAAA,KACxBC,SAAiB,GAAjBA,SAAiB;IAAA,KACjBC,cAA8B,GAA9BA,cAA8B;IAAA,KAC9BC,sBAEY,GAFZA,sBAEY;IAAA,KACZC,2BAEgE,GAFhEA,2BAEgE;IAAA,KAChEC,oBAEmB,GAFnBA,oBAEmB;EAC1B;EAEHC,YAAYA,CAACC,UAAuB,EAAY;IAC9C,OAAOC,MAAM,CAACC,MAAM,CAACF,UAAU,CAAC,CAACG,OAAO,CACrCC,IAA6C,IAC5CA,IAAI,EAAEC,eAAe,CAACC,GAAG,CAAEC,UAAU,IAAKA,UAAU,CAACC,IAAI,CAAC,IAAI,EAClE,CAAC;EACH;EAEA,MAAMC,yBAAyBA,CAACT,UAAuB,EAKrD;IACA,MAAMU,KAAK,GAAG,IAAI,CAACX,YAAY,CAACC,UAAU,CAAC;IAE3C,OAAO,IAAAW,gEAA+B,EAAC;MACrCpB,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBmB,KAAK;MACLlB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;EACJ;EAEA,MAAMmB,2BAA2BA,CAC/BC,kBAAiC,EACjCT,IAA6C,EAC7CU,oBAAsC,EACrB;IACjB,MAAMC,IAAI,GAAG,IAAAC,iCAAiB,EAACH,kBAAkB,EAAET,IAAI,CAACW,IAAI,CAAC;IAE7D,MAAME,WAAW,GAAG,MAAMC,OAAO,CAACC,GAAG,CACnCf,IAAI,CAACC,eAAe,EAAEC,GAAG,CAAC,OAAO;MAAEc;IAAe,CAAC,KAAK;MACtD,MAAMC,MAAM,GAAG,IAAI,CAAC1B,cAAc,CAAC2B,SAAS,CAACF,cAAc,CAAC;MAE5D,OAAO,IAAI,CAACxB,sBAAsB,CAAC;QACjCwB,cAAc,EAAEA,cAAiC;QACjDG,SAAS,EAAET,oBAAoB,EAAEU,WAAW,CAAC,CAAC;QAC9CH,MAAM;QACNN;MACF,CAAC,CAAC;IACJ,CAAC,CACH,CAAC;IAED,OAAOE,WAAW,CAACQ,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAKD,GAAG,GAAGC,KAAK,EAAE,CAAC,CAAC;EAC3D;EAEA,MAAMC,2BAA2BA,CAC/Bf,kBAAiC,EACjCT,IAA6C,EAC7CU,oBAAsC,EAMrC;IACD,MAAMC,IAAI,GAAG,IAAAC,iCAAiB,EAACH,kBAAkB,EAAET,IAAI,CAACW,IAAI,CAAC;IAE7D,MAAMc,mBAAmB,GAAG5B,MAAM,CAAC6B,WAAW,CAC5C1B,IAAI,CAACC,eAAe,CAACC,GAAG,CAAC,CAAC;MAAEc,cAAc;MAAEZ;IAAK,CAAC,KAAK,CACrDuB,MAAM,CAACX,cAAc,CAAC,EACtBW,MAAM,CAACvB,IAAI,CAAC,CACb,CACH,CAAC;IAED,MAAMwB,OAAO,GAAG,MAAMd,OAAO,CAACC,GAAG,CAC/Bf,IAAI,CAACC,eAAe,EAAEC,GAAG,CAAC,OAAO;MAAEc;IAAe,CAAC,KAAK;MACtD,MAAMC,MAAM,GAAG,IAAI,CAAC1B,cAAc,CAAC2B,SAAS,CAACF,cAAc,CAAC;MAE5D,OAAO,IAAI,CAACvB,2BAA2B,CAAC;QACtCuB,cAAc,EAAEA,cAAiC;QACjDG,SAAS,EAAET,oBAAoB,EAAEU,WAAW,CAAC,CAAC;QAC9CH,MAAM;QACN3B,SAAS,EAAE,IAAI,CAACA,SAAS;QACzBqB;MACF,CAAC,CAAC;IACJ,CAAC,CACH,CAAC;IAED,MAAMkB,UAAU,GAAGD,OAAO,CACvB1B,GAAG,CAAE4B,MAAM,IAAKA,MAAM,CAACb,MAAM,CAAC,CAC9Bc,IAAI,CAAC,CAAC,CACNC,MAAM,CAACC,OAAO,CAAsD;IAEvE,MAAMC,OAAO,GAAGN,OAAO,CAAC7B,OAAO,CAAE+B,MAAM,IAAKA,MAAM,CAAC9B,IAAI,CAAC;IAExD,MAAMmC,UAAiC,GACrC,IAAI,CAAC9C,QAAQ,KAAK,cAAc,IAChCoB,kBAAkB,KAAK2B,8BAAc,CAACC,KAAK,GACvC,IAAAC,oCAAiB,EAACJ,OAAO,CAAC,GAC1B,IAAI,CAAC7C,QAAQ,KAAK,cAAc,IAC9BoB,kBAAkB,KAAK8B,wBAAkB,CAACC,aAAa,GACvDC,KAAK,CAACC,IAAI,CACRR,OAAO,CACJb,MAAM,CAAC,CAACsB,MAAM,EAAEC,MAAM,KAAK;MAC1B,MAAMC,KAAK,GAAGD,MAGb;MAED,MAAME,GAAG,GAAG,GAAG,IAAIC,IAAI,CAACF,KAAK,CAAC1B,SAAS,IAAI,CAAC,CAAC,CAAC6B,OAAO,CAAC,CAAC,IAAI,IAAID,IAAI,CACjEF,KAAK,CAACI,OAAO,IAAIJ,KAAK,CAAC1B,SAAS,IAAI,CACtC,CAAC,CAAC6B,OAAO,CAAC,CAAC,EAAE;MAEb,MAAME,KAAK,GAAGP,MAAM,CAACQ,GAAG,CAACL,GAAG,CAAC,IAAI,EAAE;MAEnCI,KAAK,CAACE,IAAI,CAACR,MAAM,CAAC;MAClBD,MAAM,CAACU,GAAG,CAACP,GAAG,EAAEI,KAAK,CAAC;MAEtB,OAAOP,MAAM;IACf,CAAC,EAAE,IAAIW,GAAG,CAA8B,CAAC,CAAC,CACzCxD,MAAM,CAAC,CACZ,CAAC,GACDoC,OAAO,CAAChC,GAAG,CAAEF,IAAI,IAAK,CAACA,IAAI,CAAC,CAAC;IAErC,MAAMuD,iBAAiB,GAAG,MAAMzC,OAAO,CAACC,GAAG,CACzCoB,UAAU,CAACjC,GAAG,CAAEgD,KAAK,IACnB,IAAI,CAACxD,oBAAoB,CAAC;MACxBM,IAAI,EAAEkD,KAAK;MACX/D,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBqB,kBAAkB;MAClBO,cAAc,EACZhB,IAAI,CAACC,eAAe,EAAEuD,MAAM,KAAK,CAAC,GAC9B7B,MAAM,CAAC3B,IAAI,CAACC,eAAe,CAAC,CAAC,CAAC,EAAEe,cAAc,CAAC,GAC/CyC,SAAS;MACf9C,IAAI;MACJc;IACF,CAAC,CACH,CACF,CAAC;IAED,MAAMiC,kBAAkB,GAAGvB,UAAU,CAACjC,GAAG,CAAEgD,KAAK,IAC9C,IAAAS,4CAAqB,EAACT,KAAK,CAAC,CAAC,CAAC,EAAEzC,kBAAkB,CACpD,CAAC;IAED,OAAO;MACL8C,iBAAiB;MACjBG,kBAAkB;MAClBE,SAAS,EAAE/B,UAAU,CAAC2B,MAAM,GAAG,CAAC;MAChCK,OAAO,EAAEhC;IACX,CAAC;EACH;EAEAiC,0BAA0BA,CACxBP,iBAAkC,EAClCG,kBAA8C,EAC9C/C,IAA6D,EAC7D;IACA,OAAO,IAAAoD,kDAAwB,EAAC;MAC9BC,wBAAwB,EAAET,iBAAiB;MAC3ClE,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvB4E,yBAAyB,EAAEP,kBAAkB;MAC7C/C,IAAI;MACJvB,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CAAC;EACJ;EAEA8E,uBAAuBA,CACrBC,sBAGE,EACFnE,IAA6C,EAC7CW,IAA4D,EAC1C;IAClB,OAAO,IAAAuD,gDAAuB,EAAC;MAC7BC,sBAAsB;MACtBnE,IAAI,EAAEA,IAA6D;MACnEW;IACF,CAAC,CAAC;EACJ;AACF;AAACyD,OAAA,CAAAnF,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -35,7 +35,9 @@ const createBundleUuid = () => {
35
35
  const generateObservationEntry = ({
36
36
  groupedObservationBodies,
37
37
  provider,
38
- groupedObservationSyncIds
38
+ groupedObservationSyncIds,
39
+ patientId,
40
+ mode
39
41
  }) => {
40
42
  return groupedObservationBodies.map((observationBodies, groupIndex) => {
41
43
  const fullUrls = observationBodies.map(() => `urn:uuid:${createBundleUuid()}`);
@@ -48,12 +50,21 @@ const generateObservationEntry = ({
48
50
  });
49
51
  const fullUrl = fullUrls[bodyIndex];
50
52
  const syncIdentifierSystem = "https://api.ovok.com/fhir/StructureDefinition/observation-sync-id";
53
+ const searchParams = new URLSearchParams();
54
+ searchParams.set("identifier", `${syncIdentifierSystem}|${syncIdentifier}`);
55
+ if (patientId) {
56
+ searchParams.set("subject", `Patient/${patientId}`);
57
+ }
58
+ const search = searchParams.toString();
59
+ const isDailyAggregate = mode === "daily-total" || mode === "daily-summary";
51
60
  return {
52
61
  fullUrl,
53
62
  request: {
54
- method: "POST",
55
- url: "Observation",
56
- ifNoneExist: `identifier=${encodeURIComponent(syncIdentifierSystem)}|${encodeURIComponent(syncIdentifier)}`
63
+ method: isDailyAggregate ? "PUT" : "POST",
64
+ url: isDailyAggregate ? `Observation?${search}` : "Observation",
65
+ ...(isDailyAggregate ? {} : {
66
+ ifNoneExist: search
67
+ })
57
68
  },
58
69
  resource: {
59
70
  ...observationBody,
@@ -1 +1 @@
1
- {"version":3,"names":["getObservationCode","observation","code","coding","map","system","join","text","getObservationTime","effectivePeriod","start","end","effectiveDateTime","slice","getStableObservationId","provider","sourceId","bodyIndex","id","exports","createBundleUuid","cryptoApi","globalThis","crypto","randomUuid","randomUUID","undefined","call","bytes","Array","from","length","Math","floor","random","hex","byte","toString","padStart","generateObservationEntry","groupedObservationBodies","groupedObservationSyncIds","observationBodies","groupIndex","fullUrls","observationBody","syncIdentifier","fullUrl","syncIdentifierSystem","request","method","url","ifNoneExist","encodeURIComponent","resource","identifier","value","device","hasMember","reference","flat"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/generate-observation-entry.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getObservationCode","observation","code","coding","map","system","join","text","getObservationTime","effectivePeriod","start","end","effectiveDateTime","slice","getStableObservationId","provider","sourceId","bodyIndex","id","exports","createBundleUuid","cryptoApi","globalThis","crypto","randomUuid","randomUUID","undefined","call","bytes","Array","from","length","Math","floor","random","hex","byte","toString","padStart","generateObservationEntry","groupedObservationBodies","groupedObservationSyncIds","patientId","mode","observationBodies","groupIndex","fullUrls","observationBody","syncIdentifier","fullUrl","syncIdentifierSystem","searchParams","URLSearchParams","set","search","isDailyAggregate","request","method","url","ifNoneExist","resource","identifier","value","device","hasMember","reference","flat"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/generate-observation-entry.ts"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,10 @@ const asText = value => {
19
19
  const getHealthRecordSyncId = (record, measurementTypeKey) => {
20
20
  const healthRecord = record;
21
21
  const type = asText(healthRecord.quantityType ?? healthRecord.recordType) ?? measurementTypeKey;
22
+ const sourceId = asText(healthRecord.uuid ?? healthRecord.metadata?.id);
23
+ if (sourceId) {
24
+ return `${type}:${sourceId}`;
25
+ }
22
26
  const start = asText(healthRecord.startDate ?? healthRecord.startTime);
23
27
  const end = asText(healthRecord.endDate ?? healthRecord.endTime);
24
28
  if (start || end) {
@@ -26,10 +30,9 @@ const getHealthRecordSyncId = (record, measurementTypeKey) => {
26
30
  }
27
31
  const time = asText(healthRecord.time);
28
32
  if (time) {
29
- return `${type}:${time.slice(0, 10)}`;
33
+ return `${type}:${time}`;
30
34
  }
31
- const sourceId = asText(healthRecord.uuid ?? healthRecord.metadata?.id);
32
- return sourceId ? `${type}:${sourceId}` : undefined;
35
+ return undefined;
33
36
  };
34
37
  exports.getHealthRecordSyncId = getHealthRecordSyncId;
35
38
  //# sourceMappingURL=get-health-record-sync-id.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["asText","value","Date","toISOString","String","undefined","getHealthRecordSyncId","record","measurementTypeKey","healthRecord","type","quantityType","recordType","start","startDate","startTime","end","endDate","endTime","time","slice","sourceId","uuid","metadata","id","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-health-record-sync-id.ts"],"mappings":";;;;;;AAYA,MAAMA,MAAM,GAAIC,KAAc,IAAyB;EACrD,IAAIA,KAAK,YAAYC,IAAI,EAAE;IACzB,OAAOD,KAAK,CAACE,WAAW,CAAC,CAAC;EAC5B;EAEA,OAAO,OAAOF,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,GACzDG,MAAM,CAACH,KAAK,CAAC,GACbI,SAAS;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAGA,CACnCC,MAAe,EACfC,kBAA0B,KACH;EACvB,MAAMC,YAAY,GAAGF,MAA0B;EAE/C,MAAMG,IAAI,GACRV,MAAM,CAACS,YAAY,CAACE,YAAY,IAAIF,YAAY,CAACG,UAAU,CAAC,IAC5DJ,kBAAkB;EAEpB,MAAMK,KAAK,GAAGb,MAAM,CAACS,YAAY,CAACK,SAAS,IAAIL,YAAY,CAACM,SAAS,CAAC;EACtE,MAAMC,GAAG,GAAGhB,MAAM,CAACS,YAAY,CAACQ,OAAO,IAAIR,YAAY,CAACS,OAAO,CAAC;EAEhE,IAAIL,KAAK,IAAIG,GAAG,EAAE;IAChB,OAAO,GAAGN,IAAI,IAAIG,KAAK,IAAIG,GAAG,IAAIA,GAAG,IAAIH,KAAK,EAAE;EAClD;EAEA,MAAMM,IAAI,GAAGnB,MAAM,CAACS,YAAY,CAACU,IAAI,CAAC;EAEtC,IAAIA,IAAI,EAAE;IACR,OAAO,GAAGT,IAAI,IAAIS,IAAI,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;EACvC;EAEA,MAAMC,QAAQ,GAAGrB,MAAM,CAACS,YAAY,CAACa,IAAI,IAAIb,YAAY,CAACc,QAAQ,EAAEC,EAAE,CAAC;EAEvE,OAAOH,QAAQ,GAAG,GAAGX,IAAI,IAAIW,QAAQ,EAAE,GAAGhB,SAAS;AACrD,CAAC;AAACoB,OAAA,CAAAnB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["asText","value","Date","toISOString","String","undefined","getHealthRecordSyncId","record","measurementTypeKey","healthRecord","type","quantityType","recordType","sourceId","uuid","metadata","id","start","startDate","startTime","end","endDate","endTime","time","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-health-record-sync-id.ts"],"mappings":";;;;;;AAYA,MAAMA,MAAM,GAAIC,KAAc,IAAyB;EACrD,IAAIA,KAAK,YAAYC,IAAI,EAAE;IACzB,OAAOD,KAAK,CAACE,WAAW,CAAC,CAAC;EAC5B;EAEA,OAAO,OAAOF,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,GACzDG,MAAM,CAACH,KAAK,CAAC,GACbI,SAAS;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAGA,CACnCC,MAAe,EACfC,kBAA0B,KACH;EACvB,MAAMC,YAAY,GAAGF,MAA0B;EAE/C,MAAMG,IAAI,GACRV,MAAM,CAACS,YAAY,CAACE,YAAY,IAAIF,YAAY,CAACG,UAAU,CAAC,IAC5DJ,kBAAkB;EAEpB,MAAMK,QAAQ,GAAGb,MAAM,CAACS,YAAY,CAACK,IAAI,IAAIL,YAAY,CAACM,QAAQ,EAAEC,EAAE,CAAC;EAEvE,IAAIH,QAAQ,EAAE;IACZ,OAAO,GAAGH,IAAI,IAAIG,QAAQ,EAAE;EAC9B;EAEA,MAAMI,KAAK,GAAGjB,MAAM,CAACS,YAAY,CAACS,SAAS,IAAIT,YAAY,CAACU,SAAS,CAAC;EACtE,MAAMC,GAAG,GAAGpB,MAAM,CAACS,YAAY,CAACY,OAAO,IAAIZ,YAAY,CAACa,OAAO,CAAC;EAEhE,IAAIL,KAAK,IAAIG,GAAG,EAAE;IAChB,OAAO,GAAGV,IAAI,IAAIO,KAAK,IAAIG,GAAG,IAAIA,GAAG,IAAIH,KAAK,EAAE;EAClD;EAEA,MAAMM,IAAI,GAAGvB,MAAM,CAACS,YAAY,CAACc,IAAI,CAAC;EAEtC,IAAIA,IAAI,EAAE;IACR,OAAO,GAAGb,IAAI,IAAIa,IAAI,EAAE;EAC1B;EAEA,OAAOlB,SAAS;AAClB,CAAC;AAACmB,OAAA,CAAAlB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -4,16 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getLatestValidStartDate = void 0;
7
+ var _dateFns = require("date-fns");
7
8
  const getLatestValidStartDate = ({
8
9
  latestObservationDates,
9
- data
10
+ data,
11
+ mode
10
12
  }) => {
11
13
  if (!data) {
12
14
  return undefined;
13
15
  }
14
16
  const latestObservationDate = latestObservationDates.find(latestObservationDate => data.typeIdentifiers.some(identifier => identifier.code === latestObservationDate.code))?.date;
15
17
  let latestValidStartDate;
16
- const dates = [latestObservationDate ? new Date(latestObservationDate) : undefined, data.minDate].filter(Boolean);
18
+ const latestDate = latestObservationDate ? new Date(latestObservationDate) : undefined;
19
+ const dates = [latestDate && (mode === "daily-total" || mode === "daily-summary" || data.mode === "daily-total" || data.mode === "daily-summary") ? (0, _dateFns.subDays)(latestDate, 1) : latestDate, data.minDate].filter(Boolean);
17
20
  if (dates.length > 0) {
18
21
  latestValidStartDate = new Date(Math.max(...dates.map(date => date.getTime())));
19
22
  }
@@ -1 +1 @@
1
- {"version":3,"names":["getLatestValidStartDate","latestObservationDates","data","undefined","latestObservationDate","find","typeIdentifiers","some","identifier","code","date","latestValidStartDate","dates","Date","minDate","filter","Boolean","length","Math","max","map","getTime","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-latest-valid-start-date.ts"],"mappings":";;;;;;AAaO,MAAMA,uBAAuB,GAAGA,CAAC;EACtCC,sBAAsB;EACtBC;AAC4B,CAAC,KAAK;EAClC,IAAI,CAACA,IAAI,EAAE;IACT,OAAOC,SAAS;EAClB;EAEA,MAAMC,qBAAqB,GAAGH,sBAAsB,CAACI,IAAI,CACtDD,qBAAqB,IACpBF,IAAI,CAACI,eAAe,CAACC,IAAI,CACtBC,UAAU,IAAKA,UAAU,CAACC,IAAI,KAAKL,qBAAqB,CAACK,IAC5D,CACJ,CAAC,EAAEC,IAAI;EAEP,IAAIC,oBAAsC;EAE1C,MAAMC,KAAK,GAAG,CACZR,qBAAqB,GAAG,IAAIS,IAAI,CAACT,qBAAqB,CAAC,GAAGD,SAAS,EACnED,IAAI,CAACY,OAAO,CACb,CAACC,MAAM,CAACC,OAAO,CAAW;EAE3B,IAAIJ,KAAK,CAACK,MAAM,GAAG,CAAC,EAAE;IACpBN,oBAAoB,GAAG,IAAIE,IAAI,CAC7BK,IAAI,CAACC,GAAG,CAAC,GAAGP,KAAK,CAACQ,GAAG,CAAEV,IAAI,IAAKA,IAAI,CAACW,OAAO,CAAC,CAAC,CAAC,CACjD,CAAC;EACH;EAEA,OAAOV,oBAAoB;AAC7B,CAAC;AAACW,OAAA,CAAAtB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_dateFns","require","getLatestValidStartDate","latestObservationDates","data","mode","undefined","latestObservationDate","find","typeIdentifiers","some","identifier","code","date","latestValidStartDate","latestDate","Date","dates","subDays","minDate","filter","Boolean","length","Math","max","map","getTime","exports"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/get-latest-valid-start-date.ts"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAgBO,MAAMC,uBAAuB,GAAGA,CAAC;EACtCC,sBAAsB;EACtBC,IAAI;EACJC;AAC4B,CAAC,KAAK;EAClC,IAAI,CAACD,IAAI,EAAE;IACT,OAAOE,SAAS;EAClB;EAEA,MAAMC,qBAAqB,GAAGJ,sBAAsB,CAACK,IAAI,CACtDD,qBAAqB,IACpBH,IAAI,CAACK,eAAe,CAACC,IAAI,CACtBC,UAAU,IAAKA,UAAU,CAACC,IAAI,KAAKL,qBAAqB,CAACK,IAC5D,CACJ,CAAC,EAAEC,IAAI;EAEP,IAAIC,oBAAsC;EAE1C,MAAMC,UAAU,GAAGR,qBAAqB,GACpC,IAAIS,IAAI,CAACT,qBAAqB,CAAC,GAC/BD,SAAS;EAEb,MAAMW,KAAK,GAAG,CACZF,UAAU,KACTV,IAAI,KAAK,aAAa,IACrBA,IAAI,KAAK,eAAe,IACxBD,IAAI,CAACC,IAAI,KAAK,aAAa,IAC3BD,IAAI,CAACC,IAAI,KAAK,eAAe,CAAC,GAC5B,IAAAa,gBAAO,EAACH,UAAU,EAAE,CAAC,CAAC,GACtBA,UAAU,EACdX,IAAI,CAACe,OAAO,CACb,CAACC,MAAM,CAACC,OAAO,CAAW;EAE3B,IAAIJ,KAAK,CAACK,MAAM,GAAG,CAAC,EAAE;IACpBR,oBAAoB,GAAG,IAAIE,IAAI,CAC7BO,IAAI,CAACC,GAAG,CAAC,GAAGP,KAAK,CAACQ,GAAG,CAAEZ,IAAI,IAAKA,IAAI,CAACa,OAAO,CAAC,CAAC,CAAC,CACjD,CAAC;EACH;EAEA,OAAOZ,oBAAoB;AAC7B,CAAC;AAACa,OAAA,CAAAzB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -19,10 +19,41 @@ const formatValue = (value, unit, definition) => {
19
19
  }
20
20
  return `${value}${unit ? ` ${unit}` : ""}`;
21
21
  };
22
+ const DefaultUrineAnalyteRow = ({
23
+ Text,
24
+ accessibilityLabel,
25
+ name,
26
+ rangeLabel,
27
+ isOutsideUsualRange,
28
+ theme: rowTheme,
29
+ value
30
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
31
+ accessible: true,
32
+ accessibilityLabel: accessibilityLabel,
33
+ accessibilityRole: "text",
34
+ style: styles.row,
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
36
+ style: styles.grow,
37
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Text, {
38
+ theme: rowTheme,
39
+ children: name
40
+ }), rangeLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)(Text, {
41
+ theme: rowTheme,
42
+ style: {
43
+ color: isOutsideUsualRange ? rowTheme.colors.error : rowTheme.colors.primary
44
+ },
45
+ children: rangeLabel
46
+ })]
47
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Text, {
48
+ theme: rowTheme,
49
+ children: value
50
+ })]
51
+ });
22
52
  const UrineTestResult = ({
23
53
  measurement,
24
54
  showOnlyMeasured = false,
25
55
  labelForAnalyte = (_key, fallback) => fallback,
56
+ accessibilityLabelForAnalyte = (_key, fallback) => fallback,
26
57
  testID,
27
58
  ...uiProps
28
59
  }) => {
@@ -32,6 +63,7 @@ const UrineTestResult = ({
32
63
  } = (0, _useOvokUi.useOvokUi)(uiProps);
33
64
  const Card = slots.Card ?? _reactNativePaper.Card;
34
65
  const Text = slots.Text ?? _reactNativePaper.Text;
66
+ const AnalyteRow = slots.UrineAnalyteRow;
35
67
  const catalog = _index.measurementFieldCatalog[_core.MeasurementTypeKey.urineAnalysis] ?? _index.measurementFieldCatalog[_core.MeasurementTypeKey.uricAcid] ?? {};
36
68
  const rows = _core.URINE_ANALYTE_DEFINITIONS.filter(({
37
69
  key
@@ -59,25 +91,25 @@ const UrineTestResult = ({
59
91
  const value = measurement[key];
60
92
  const definition = catalog[key];
61
93
  const measured = typeof value === "number";
94
+ const name = labelForAnalyte(key, display);
95
+ const formattedValue = measured ? formatValue(value, unit, definition) : "Not measured";
62
96
  const inUsualRange = measured && definition?.normalMin !== undefined && definition.normalMax !== undefined ? value >= definition.normalMin && value <= definition.normalMax : undefined;
63
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
64
- style: styles.row,
65
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
66
- style: styles.grow,
67
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Text, {
68
- theme: theme,
69
- children: labelForAnalyte(key, display)
70
- }), inUsualRange !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(Text, {
71
- theme: theme,
72
- style: {
73
- color: inUsualRange ? theme.colors.primary : theme.colors.error
74
- },
75
- children: inUsualRange ? "Within usual range" : "Outside usual range"
76
- })]
77
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Text, {
78
- theme: theme,
79
- children: measured ? formatValue(value, unit, definition) : "Not measured"
80
- })]
97
+ const rangeLabel = inUsualRange === undefined ? undefined : inUsualRange ? "Within usual range" : "Outside usual range";
98
+ const defaultAccessibilityLabel = [name, formattedValue, inUsualRange === false ? "outside the usual range" : undefined].filter(Boolean).join(", ");
99
+ const rowProps = {
100
+ accessibilityLabel: accessibilityLabelForAnalyte(key, defaultAccessibilityLabel),
101
+ analyteKey: key,
102
+ isOutsideUsualRange: inUsualRange === false,
103
+ name,
104
+ rangeLabel,
105
+ theme,
106
+ value: formattedValue
107
+ };
108
+ return AnalyteRow ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AnalyteRow, {
109
+ ...rowProps
110
+ }, key) : /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultUrineAnalyteRow, {
111
+ Text: Text,
112
+ ...rowProps
81
113
  }, key);
82
114
  })]
83
115
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_reactNative","_reactNativePaper","_index","_useOvokUi","_jsxRuntime","formatValue","value","unit","definition","qualitative","negativeAtZero","UrineTestResult","measurement","showOnlyMeasured","labelForAnalyte","_key","fallback","testID","uiProps","theme","slots","useOvokUi","Card","PaperCard","Text","PaperText","catalog","measurementFieldCatalog","MeasurementTypeKey","urineAnalysis","uricAcid","rows","URINE_ANALYTE_DEFINITIONS","filter","key","jsx","style","borderRadius","children","jsxs","View","styles","content","variant","map","display","measured","inUsualRange","normalMin","undefined","normalMax","row","grow","color","colors","primary","error","exports","StyleSheet","create","gap","padding","flex","alignItems","flexDirection"],"sourceRoot":"../../../../../src","sources":["modules/ui/components/urine-test-result.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_reactNative","_reactNativePaper","_index","_useOvokUi","_jsxRuntime","formatValue","value","unit","definition","qualitative","negativeAtZero","DefaultUrineAnalyteRow","Text","accessibilityLabel","name","rangeLabel","isOutsideUsualRange","theme","rowTheme","jsxs","View","accessible","accessibilityRole","style","styles","row","children","grow","jsx","color","colors","error","primary","UrineTestResult","measurement","showOnlyMeasured","labelForAnalyte","_key","fallback","accessibilityLabelForAnalyte","testID","uiProps","slots","useOvokUi","Card","PaperCard","PaperText","AnalyteRow","UrineAnalyteRow","catalog","measurementFieldCatalog","MeasurementTypeKey","urineAnalysis","uricAcid","rows","URINE_ANALYTE_DEFINITIONS","filter","key","borderRadius","content","variant","map","display","measured","formattedValue","inUsualRange","normalMin","undefined","normalMax","defaultAccessibilityLabel","Boolean","join","rowProps","analyteKey","exports","StyleSheet","create","gap","padding","flex","alignItems","flexDirection"],"sourceRoot":"../../../../../src","sources":["modules/ui/components/urine-test-result.tsx"],"mappings":"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","ignoreList":[]}