UNPKG

@nuralogix.ai/anura-web-core-sdk

Version:

Anura Web Core SDK

1,031 lines (1,019 loc) 62.5 kB
/** * The objectFit sets how the content of an element should be resized to fit its container. * * `contain`: * * The content is scaled to maintain its aspect ratio while fitting within the element's * content box. The entire object is made to fill the box, while preserving its aspect ratio, * so the object will be "letterboxed" or "pillarboxed" if its aspect ratio does not match the * aspect ratio of the box. * * `cover`: * * The content is sized to maintain its aspect ratio while filling the element's entire * content box. If the object's aspect ratio does not match the aspect ratio of its box, then * the object will be clipped to fit. * * `none`: * * The content is not resized. * @enum */ declare const objectFit: { readonly CONTAIN: "contain"; readonly COVER: "cover"; readonly NONE: "none"; }; type ObjectFit = typeof objectFit[keyof typeof objectFit]; interface VideoElementSize { width: number; height: number; offsetX: number; offsetY: number; } interface Centroids { [id: string]: {x: number, y: number }; } interface MeshAnnotation { x: number; y: number; z: number | undefined; } interface Annotations { silhouette: MeshAnnotation[], centroids: Centroids; } interface PosePoints { [x: string]: { point: number[], valid: boolean; estimated: boolean; quality: number; } } interface DfxRect { x: number; y: number; width: number; height: number; } interface DfxFace { detected: boolean; id: string; poseValid: boolean; posePoints: PosePoints, faceRect: DfxRect; } type ChunkAction = 'CHUNK::PROCESS' | 'FIRST::PROCESS' | 'LAST::PROCESS'; interface ConstraintsConfig { backLightMaxPixels_pct: number; backLightSearchMult: number; backLightThresh: number; boxCenterX_pct: number; boxCenterY_pct: number; boxHeight_pct: number; boxWidth_pct: number; cameraRot_chunkThresh: number; cameraRot_windowThresh: number; checkBackLight: boolean; checkCameraMovement: boolean; checkCentered: boolean; checkDistance: boolean; checkEyebrowMovement: boolean; checkFaceDirection: boolean; checkLighting: boolean; checkMaxDistance: boolean; checkMinFps: boolean; checkMovement: boolean; chunkMovementThresh_pct: number; enableDebugLog: boolean; enableFigures: boolean; faceRotLR_thresh: number; faceRotUD_lowerthresh: number; faceRotUD_upperThresh: number; hy_faceRotLR_thresh: number; hy_maxFaceRotLR_deg: number; hy_maxFaceRotUD_deg: number; hy_minInterPupilDist_px: number; hy_minimumFps: number; maxEyebrowMovement_mm: number; maxFaceRotLR_deg: number; maxFaceRotUD_deg: number; maxMovement_mm: number; minInterPupilDist_px: number; minimumFps: number; movementWindow_ms: number; threshBright: number; threshDark: number; } interface ChunkSent { data: { Params: { ID: string; }; Action: ChunkAction; Payload: string; }; chunkNumber: number; numberChunks: number; startTime_s: number; endTime_s: number; duration_s: number; metadata: Uint8Array; } /** * Face attribute values used to define demographic information * @enum */ declare const faceAttributeValue: { readonly SEX_NOT_PROVIDED: 1; readonly SEX_ASSIGNED_MALE_AT_BIRTH: 2; readonly SEX_ASSIGNED_FEMALE_AT_BIRTH: 3; readonly DIABETES_NONE: 4; readonly DIABETES_TYPE1: 5; readonly DIABETES_TYPE2: 6; readonly SMOKER_TRUE: 0; readonly SMOKER_FALSE: 1; readonly BLOOD_PRESSURE_MEDICATION_TRUE: 1; readonly BLOOD_PRESSURE_MEDICATION_FALSE: 0; }; /** * Face tracker states * @enum */ declare const faceTrackerState: { readonly ASSETS_NOT_DOWNLOADED: "ASSETS_NOT_DOWNLOADED"; readonly NOT_LOADED: "NOT_LOADED"; readonly LOADING: "LOADING"; readonly LOADED: "LOADED"; readonly READY: "READY"; }; /** * Face Tracker State * * `ASSETS_NOT_DOWNLOADED`: Assets required for face tracking have not been downloaded. * * `NOT_LOADED`: Face tracker is not loaded. * * `LOADING`: Face tracker is currently loading. * * `LOADED`: Face tracker has been loaded but is not yet ready. * * `READY`: Face tracker is ready to use. */ type FaceTrackerState = typeof faceTrackerState[keyof typeof faceTrackerState]; /** * Error categories enum * @enum */ declare const errorCategories: { readonly COLLECTOR: "COLLECTOR"; readonly ASSET_DOWNLOAD: "ASSET_DOWNLOAD"; readonly WEB_SOCKET: "WEB_SOCKET"; }; /** * Error Categories * * `COLLECTOR`: Errors related to the collector, such as issues with data collection or processing. * * `ASSET_DOWNLOAD`: Errors related to downloading assets, such as face tracking models or other required files. * * `WEB_SOCKET`: WebSocket Errors. */ type ErrorCategories = typeof errorCategories[keyof typeof errorCategories]; /** * Constraint Feedback enum * @enum */ declare const constraintFeedback: { readonly FACE_NONE: "FaceNone"; readonly FACE_OFF_TARGET: "FaceOffTarget"; readonly FACE_DIRECTION: "FaceDirection"; readonly FACE_FAR: "FaceFar"; readonly FACE_MOVEMENT: "FaceMovement"; readonly IMAGE_BRIGHT: "ImageBright"; readonly IMAGE_DARK: "ImageDark"; readonly IMAGE_QUALITY: "ImageQuality"; readonly IMAGE_BACKLIT: "ImageBackLit"; readonly LOW_FPS: "LowFps"; }; /** * Constraint Feedback * * `FaceNone`: No face detected, move face into target region. * * `FaceOffTarget`: Face not in target region, move face into target region. * * `FaceDirection`: Not looking at camera, look straight at the camera. * * `FaceFar`: Too far from camera, move closer to the camera. * * `FaceMovement`: Moving too much, hold still. * * `ImageBright`: Image too bright, try a darker room. * * `ImageDark`: Image too dark, try a brighter room. * * `ImageQuality`: Bad image quality, improve image quality - try alternate webcam. * * `ImageBackLit`: Backlit face, remove backlight behind face. * * `LowFps`: Framerate too low, try alternate webcam or a brighter room. * */ type ConstraintFeedback = typeof constraintFeedback[keyof typeof constraintFeedback]; /** * Constraint Status enum * @enum */ declare const constraintStatus: { readonly GOOD: "Good"; readonly WARN: "Warn"; readonly ERROR: "Error"; }; /** * Constraint Feedback * * `Good`: indicates there is nothing presently detected in constraints * * `Warn`: indicates a problem that needs to be corrected * * `Error`: indicates a problem that has failed the measurement */ type ConstraintStatus = typeof constraintStatus[keyof typeof constraintStatus]; /** * Real-time Result Errors enum * @enum */ declare const realtimeResultErrors: { readonly WORKER_ERROR: "WORKER_ERROR"; readonly LIVENESS_ERROR: "LIVENESS_ERROR"; readonly ANALYSIS_ERROR: "ANALYSIS_ERROR"; }; /** * A measurement may have one of the following errors received from the DeepAffex® backend: * * `WORKER_ERROR`: It is an unrecoverable internal error at the DeepAffex® backend. * * `LIVENESS_ERROR`: The SNR (Signal to Noise Ratio) of the entire measurement was * too low to meet our minimum threshold (0.5 dB). If this error is received then * the measurement will only return one point i.e. SNR with -100 as the value. * * `ANALYSIS_ERROR`: indicates a problem that has failed the measurement. * There was a failure while computing a signal. The returned JSON will have a * `signal_id` key and a value string indicating the reason behind failure. */ type RealtimeResultErrors = typeof realtimeResultErrors[keyof typeof realtimeResultErrors]; /** * Notes in real-time results * @enum */ declare const realtimeResultNotes: { readonly NOTE_USED_PRED_DEMOG: "NOTE_USED_PRED_DEMOG"; readonly NOTE_SNR_BELOW_THRESHOLD: "NOTE_SNR_BELOW_THRESHOLD"; readonly NOTE_FT_LIVENSSS_FAILED: "NOTE_FT_LIVENSSS_FAILED"; readonly NOTE_MODEL_LIVENSSS_FAILED: "NOTE_MODEL_LIVENSSS_FAILED"; readonly NOTE_MISSING_MEDICAL_INFO: "NOTE_MISSING_MEDICAL_INFO"; readonly NOTE_DEGRADED_ACCURACY: "NOTE_DEGRADED_ACCURACY"; }; /** * Real-time results may also contain notes for each Point. They provide additional * information about the computation of the signal on the Cloud. If present for a * specific DFX Point, notes will be as a value to the "Notes" key in that point. * (e.g., for ABSI they will be at result/"Channels/"ABSI"/"Notes")."Notes" is an * enum; multiple notes may be present against a single Point. * They are described below: * * `NOTE_USED_PRED_DEMOG`: User profile data was predicted for computations since * user-entered data was missing * * `NOTE_SNR_BELOW_THRESHOLD`: SNR was below 0.5 db; no additional signals were computed * * `NOTE_FT_LIVENSSS_FAILED`: First liveness test failed * * `NOTE_MODEL_LIVENSSS_FAILED`: Second liveness test failed * * `NOTE_MISSING_MEDICAL_INFO`: Medical history questionnaire information was not sent * * `NOTE_DEGRADED_ACCURACY`: Signal computation suffered from degraded accuracy */ type RealtimeResultNotes = typeof realtimeResultNotes[keyof typeof realtimeResultNotes]; declare const pointGroup: { readonly METADATA: "metadata"; readonly PHYSICAL: "physical"; readonly GENERAL_RISKS: "generalRisks"; readonly VITALS: "vitals"; readonly PHYSIOLOGICAL: "physiological"; readonly METABOLIC_RISKS: "metabolicRisks"; readonly BLOOD_BIOMARKERS: "bloodBiomarkers"; readonly OVERALL: "overall"; readonly MENTAL: "mental"; readonly SURVEYS: "surveys"; }; declare const DFX_POINTS: { readonly SNR: { readonly meta: { readonly availableAfterSec: 5; readonly group: "metadata"; readonly range: { readonly min: -10; readonly max: 20; }; readonly requirements: { readonly profileInfo: false; readonly medicalHistory: false; }; readonly ranges: { readonly global: []; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly HR_BPM: { readonly meta: { readonly availableAfterSec: 5; readonly group: "vitals"; readonly range: { readonly min: 0; readonly max: 140; }; readonly requirements: { readonly profileInfo: false; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 20], [20, 24.44], [24.44, 28.88], [28.88, 33.32], [33.32, 37.76], [37.76, 42.2], [42.2, 46.64], [46.64, 51.08], [51.08, 55.52], [55.52, 60]], [[60, 61.33], [61.33, 62.67], [62.67, 64], [64, 65.33], [65.33, 66.67], [66.67, 68], [68, 69.33], [69.33, 70.67], [70.67, 72], [72, 73.33], [73.33, 74.67], [74.67, 76], [76, 77.33], [77.33, 78.67], [78.67, 80], [80, 81.33], [81.33, 82.67], [82.67, 84], [84, 85.33], [85.33, 86.67], [86.67, 88], [88, 89.33], [89.33, 90.67], [90.67, 92], [92, 93.33], [93.33, 94.67], [94.67, 96], [96, 97.33], [97.33, 98.67], [98.67, 100]], [[100, 104], [104, 108], [108, 112], [112, 116], [116, 120], [120, 124], [124, 128], [128, 132], [132, 136], [136, 140], [140, number]]]; }; readonly dialBandColors: { readonly global: ["YELLOW", "GREEN", "YELLOW"]; }; }; }; readonly BP_SYSTOLIC: { readonly meta: { readonly availableAfterSec: 30; readonly group: "vitals"; readonly range: { readonly min: 45; readonly max: 180; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 45], [45, 50], [50, 55], [55, 60], [60, 65], [65, 70], [70, 75], [75, 80], [80, 85], [85, 90]], [[90, 93], [93, 96], [96, 99], [99, 102], [102, 105], [105, 108], [108, 111], [111, 114], [114, 117], [117, 120]], [[120, 121], [121, 122], [122, 123], [123, 124], [124, 125], [125, 126], [126, 127], [127, 128], [128, 129], [129, 130]], [[130, 131], [131, 132], [132, 133], [133, 134], [134, 135], [135, 136], [136, 137], [137, 138], [138, 139], [139, 140]], [[140, 144], [144, 148], [148, 152], [152, 156], [156, 160], [160, 164], [164, 168], [168, 172], [172, 176], [176, 180], [180, number]]]; }; readonly dialBandColors: { readonly global: ["YELLOW", "GREEN", "LIGHT_GREEN", "YELLOW", "RED"]; }; }; }; readonly BP_DIASTOLIC: { readonly meta: { readonly availableAfterSec: 30; readonly group: "vitals"; readonly range: { readonly min: 30; readonly max: 120; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 30], [30, 33.34], [33.34, 36.67], [36.67, 40], [40, 43.34], [43.34, 46.67], [46.67, 50], [50, 53.33], [53.33, 56.67], [56.67, 60]], [[60, 61], [61, 62], [62, 63], [63, 64], [64, 65], [65, 66], [66, 67], [67, 68], [68, 69], [69, 70]], [[70, 71], [71, 72], [72, 73], [73, 74], [74, 75], [75, 76], [76, 77], [77, 78], [78, 79], [79, 80]], [[80, 81], [81, 82], [82, 83], [83, 84], [84, 85], [85, 86], [86, 87], [87, 88], [88, 89], [89, 90]], [[90, 93], [93, 96], [96, 99], [99, 102], [102, 105], [105, 108], [108, 111], [111, 114], [114, 117], [117, 120], [120, number]]]; }; readonly dialBandColors: { readonly global: ["YELLOW", "GREEN", "LIGHT_GREEN", "YELLOW", "RED"]; }; }; }; readonly BR_BPM: { readonly meta: { readonly availableAfterSec: 30; readonly group: "vitals"; readonly range: { readonly min: 1.2; readonly max: 35; }; readonly requirements: { readonly profileInfo: false; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 1.2], [1.2, 2.4], [2.4, 3.6], [3.6, 4.8], [4.8, 6], [6, 7.2], [7.2, 8.4], [8.4, 9.6], [9.6, 10.8], [10.8, 12]], [[12, 12.4], [12.4, 12.8], [12.8, 13.2], [13.2, 13.6], [13.6, 14], [14, 14.4], [14.4, 14.8], [14.8, 15.2], [15.2, 15.6], [15.6, 16], [16, 16.5], [16.5, 17], [17, 17.5], [17.5, 18], [18, 18.5], [18.5, 19], [19, 19.5], [19.5, 20], [20, 20.5], [20.5, 21], [21, 21.4], [21.4, 21.8], [21.8, 22.2], [22.2, 22.6], [22.6, 23], [23, 23.4], [23.4, 23.8], [23.8, 24.2], [24.2, 24.6], [24.6, 25]], [[25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [31, 32], [32, 33], [33, 34], [34, 35], [35, number]]]; }; readonly dialBandColors: { readonly global: ["YELLOW", "GREEN", "YELLOW"]; }; }; }; readonly HRV_SDNN: { readonly meta: { readonly availableAfterSec: 30; readonly group: "physiological"; readonly range: { readonly min: 1; readonly max: 80; }; readonly requirements: { readonly profileInfo: false; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 1.1], [1.1, 2.2], [2.2, 3.2], [3.2, 4.3], [4.3, 5.4], [5.4, 6.5], [6.5, 7.6], [7.6, 8.6], [8.6, 9.7], [9.7, 10.8]], [[10.8, 11.4], [11.4, 11.9], [11.9, 12.5], [12.5, 13], [13, 13.6], [13.6, 14.2], [14.2, 14.7], [14.7, 15.3], [15.3, 15.8], [15.8, 16.4]], [[16.4, 18.3], [18.3, 20.2], [20.2, 22.1], [22.1, 24], [24, 26], [26, 27.9], [27.9, 29.8], [29.8, 31.7], [31.7, 33.6], [33.6, 35.5]], [[35.5, 37.1], [37.1, 38.7], [38.7, 40.3], [40.3, 41.9], [41.9, 43.5], [43.5, 45.1], [45.1, 46.7], [46.7, 48.3], [48.3, 49.9], [49.9, 51.5]], [[51.5, 54.4], [54.4, 57.2], [57.2, 60.1], [60.1, 62.9], [62.9, 65.8], [65.8, 68.6], [68.6, 71.5], [71.5, 74.3], [74.3, 77.2], [77.2, 80], [80, number]]]; }; readonly dialBandColors: { readonly global: ["RED", "LIGHT_RED", "YELLOW", "LIGHT_GREEN", "GREEN"]; }; }; }; readonly ABSI: { readonly meta: { readonly availableAfterSec: 5; readonly group: "physical"; readonly range: { readonly min: 6.19; readonly max: 8.83; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly globalMale: [[[0, 6.6], [6.6, 6.66], [6.66, 6.71], [6.71, 6.77], [6.77, 6.82], [6.82, 6.88], [6.88, 6.93], [6.93, 6.99], [6.99, 7.04], [7.04, 7.1]], [[7.1, 7.15], [7.15, 7.2], [7.2, 7.25], [7.25, 7.3], [7.3, 7.35], [7.35, 7.4], [7.4, 7.45], [7.45, 7.5], [7.5, 7.55], [7.55, 7.6]], [[7.6, 7.7], [7.7, 7.8], [7.8, 7.9], [7.9, 8], [8, 8.1], [8.1, 8.2], [8.2, 8.3], [8.3, 8.4], [8.4, 8.5], [8.5, 8.6]], [[8.6, 8.65], [8.65, 8.7], [8.7, 8.75], [8.75, 8.8], [8.8, 8.85], [8.85, 8.9], [8.9, 8.95], [8.95, 9], [9, 9.05], [9.05, 9.1]], [[9.1, 9.15], [9.15, 9.2], [9.2, 9.25], [9.25, 9.3], [9.3, 9.35], [9.35, 9.4], [9.4, 9.45], [9.45, 9.5], [9.5, 9.55], [9.55, 9.6], [9.6, number]]]; readonly globalFemale: [[[0, 6.2], [6.2, 6.27], [6.27, 6.33], [6.33, 6.4], [6.4, 6.47], [6.47, 6.53], [6.53, 6.6], [6.6, 6.67], [6.67, 6.73], [6.73, 6.8]], [[6.8, 6.86], [6.86, 6.92], [6.92, 6.98], [6.98, 7.04], [7.04, 7.1], [7.1, 7.16], [7.16, 7.22], [7.22, 7.28], [7.28, 7.34], [7.34, 7.4]], [[7.4, 7.52], [7.52, 7.64], [7.64, 7.76], [7.76, 7.88], [7.88, 8], [8, 8.12], [8.12, 8.24], [8.24, 8.36], [8.36, 8.48], [8.48, 8.6]], [[8.6, 8.66], [8.66, 8.72], [8.72, 8.78], [8.78, 8.84], [8.84, 8.9], [8.9, 8.96], [8.96, 9.02], [9.02, 9.08], [9.08, 9.14], [9.14, 9.2]], [[9.2, 9.26], [9.26, 9.32], [9.32, 9.38], [9.38, 9.44], [9.44, 9.5], [9.5, 9.56], [9.56, 9.62], [9.62, 9.68], [9.68, 9.74], [9.74, 9.8], [9.8, number]]]; readonly eastAsiaMale: [[[0, 6.75], [6.75, 6.79], [6.79, 6.83], [6.83, 6.87], [6.87, 6.92], [6.92, 6.96], [6.96, 7], [7, 7.04], [7.04, 7.08], [7.08, 7.12]], [[7.12, 7.16], [7.16, 7.2], [7.2, 7.23], [7.23, 7.27], [7.27, 7.31], [7.31, 7.34], [7.34, 7.38], [7.38, 7.42], [7.42, 7.46], [7.46, 7.49]], [[7.49, 7.57], [7.57, 7.64], [7.64, 7.71], [7.71, 7.79], [7.79, 7.86], [7.86, 7.94], [7.94, 8.01], [8.01, 8.08], [8.08, 8.16], [8.16, 8.23]], [[8.23, 8.27], [8.27, 8.31], [8.31, 8.34], [8.34, 8.38], [8.38, 8.42], [8.42, 8.45], [8.45, 8.49], [8.49, 8.53], [8.53, 8.56], [8.56, 8.6]], [[8.6, 8.64], [8.64, 8.67], [8.67, 8.71], [8.71, 8.75], [8.75, 8.79], [8.79, 8.82], [8.82, 8.86], [8.86, 8.9], [8.9, 8.93], [8.93, 8.97], [8.97, number]]]; readonly eastAsiaFemale: [[[0, 6.19], [6.19, 6.24], [6.24, 6.29], [6.29, 6.33], [6.33, 6.38], [6.38, 6.43], [6.43, 6.48], [6.48, 6.53], [6.53, 6.58], [6.58, 6.63]], [[6.63, 6.67], [6.67, 6.71], [6.71, 6.76], [6.76, 6.8], [6.8, 6.85], [6.85, 6.89], [6.89, 6.93], [6.93, 6.98], [6.98, 7.02], [7.02, 7.07]], [[7.07, 7.16], [7.16, 7.24], [7.24, 7.33], [7.33, 7.42], [7.42, 7.51], [7.51, 7.6], [7.6, 7.68], [7.68, 7.77], [7.77, 7.86], [7.86, 7.95]], [[7.95, 7.99], [7.99, 8.04], [8.04, 8.08], [8.08, 8.13], [8.13, 8.17], [8.17, 8.21], [8.21, 8.26], [8.26, 8.3], [8.3, 8.35], [8.35, 8.39]], [[8.39, 8.43], [8.43, 8.48], [8.48, 8.52], [8.52, 8.57], [8.57, 8.61], [8.61, 8.65], [8.65, 8.7], [8.7, 8.74], [8.74, 8.79], [8.79, 8.83], [8.83, number]]]; }; readonly dialBandColors: { readonly globalMale: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; readonly globalFemale: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; readonly eastAsiaMale: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; readonly eastAsiaFemale: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly BMI_CALC: { readonly meta: { readonly availableAfterSec: 5; readonly group: "physical"; readonly range: { readonly min: 10; readonly max: 60; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 10], [10, 10.9], [10.9, 11.9], [11.9, 12.8], [12.8, 13.8], [13.8, 14.7], [14.7, 15.7], [15.7, 16.6], [16.6, 17.6], [17.6, 18.5]], [[18.5, 19.2], [19.2, 19.8], [19.8, 20.5], [20.5, 21.1], [21.1, 21.8], [21.8, 22.4], [22.4, 23.1], [23.1, 23.7], [23.7, 24.4], [24.4, 25]], [[25, 25.5], [25.5, 26], [26, 26.5], [26.5, 27], [27, 27.5], [27.5, 28], [28, 28.5], [28.5, 29], [29, 29.5], [29.5, 30]], [[30, 30.5], [30.5, 31], [31, 31.5], [31.5, 32], [32, 32.5], [32.5, 33], [33, 33.5], [33.5, 34], [34, 34.5], [34.5, 35]], [[35, 37.5], [37.5, 40], [40, 42.5], [42.5, 45], [45, 47.5], [47.5, 50], [50, 52.5], [52.5, 55], [55, 57.5], [57.5, 60], [60, number]]]; readonly eastAsiaMale: [[[0, 10], [10, 10.9], [10.9, 11.9], [11.9, 12.8], [12.8, 13.8], [13.8, 14.7], [14.7, 15.7], [15.7, 16.6], [16.6, 17.6], [17.6, 18.5]], [[18.5, 19.1], [19.1, 19.6], [19.6, 20.2], [20.2, 20.7], [20.7, 21.3], [21.3, 21.8], [21.8, 22.4], [22.4, 22.9], [22.9, 23.5], [23.5, 24]], [[24, 24.4], [24.4, 24.8], [24.8, 25.2], [25.2, 25.6], [25.6, 26], [26, 26.4], [26.4, 26.8], [26.8, 27.2], [27.2, 27.6], [27.6, 28]], [[28, 28.7], [28.7, 29.4], [29.4, 30.1], [30.1, 30.8], [30.8, 31.5], [31.5, 32.2], [32.2, 32.9], [32.9, 33.6], [33.6, 34.3], [34.3, 35], [35, number]]]; readonly eastAsiaFemale: [[[0, 10], [10, 10.9], [10.9, 11.9], [11.9, 12.8], [12.8, 13.8], [13.8, 14.7], [14.7, 15.7], [15.7, 16.6], [16.6, 17.6], [17.6, 18.5]], [[18.5, 19.1], [19.1, 19.6], [19.6, 20.2], [20.2, 20.7], [20.7, 21.3], [21.3, 21.8], [21.8, 22.4], [22.4, 22.9], [22.9, 23.5], [23.5, 24]], [[24, 24.4], [24.4, 24.8], [24.8, 25.2], [25.2, 25.6], [25.6, 26], [26, 26.4], [26.4, 26.8], [26.8, 27.2], [27.2, 27.6], [27.6, 28]], [[28, 28.7], [28.7, 29.4], [29.4, 30.1], [30.1, 30.8], [30.8, 31.5], [31.5, 32.2], [32.2, 32.9], [32.9, 33.6], [33.6, 34.3], [34.3, 35], [35, number]]]; }; readonly dialBandColors: { readonly global: ["YELLOW", "GREEN", "YELLOW", "LIGHT_RED", "RED"]; readonly eastAsiaMale: ["YELLOW", "GREEN", "YELLOW", "RED"]; readonly eastAsiaFemale: ["YELLOW", "GREEN", "YELLOW", "RED"]; }; }; }; readonly BP_RPP: { readonly meta: { readonly availableAfterSec: 30; readonly group: "physiological"; readonly range: { readonly min: 3.71; readonly max: 4.28; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 3.71], [3.71, 3.72], [3.72, 3.73], [3.73, 3.74], [3.74, 3.75], [3.75, 3.76], [3.76, 3.77], [3.77, 3.78], [3.78, 3.79], [3.79, 3.8]], [[3.8, 3.81], [3.81, 3.82], [3.82, 3.83], [3.83, 3.84], [3.84, 3.85], [3.85, 3.86], [3.86, 3.87], [3.87, 3.88], [3.88, 3.89], [3.89, 3.9]], [[3.9, 3.91], [3.91, 3.93], [3.93, 3.95], [3.95, 3.97], [3.97, 3.99], [3.99, 4.01], [4.01, 4.03], [4.03, 4.05], [4.05, 4.06], [4.06, 4.08]], [[4.08, 4.09], [4.09, 4.1], [4.1, 4.11], [4.11, 4.12], [4.12, 4.13], [4.13, 4.14], [4.14, 4.15], [4.15, 4.16], [4.16, 4.17], [4.17, 4.18]], [[4.18, 4.19], [4.19, 4.2], [4.2, 4.21], [4.21, 4.22], [4.22, 4.23], [4.23, 4.24], [4.24, 4.25], [4.25, 4.26], [4.26, 4.27], [4.27, 4.28], [4.28, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly BP_CVD: { readonly meta: { readonly availableAfterSec: 30; readonly group: "generalRisks"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: true; }; readonly ranges: { readonly global: [[[0, 0.5], [0.5, 1], [1, 1.5], [1.5, 2], [2, 2.5], [2.5, 3], [3, 3.5], [3.5, 4], [4, 4.5], [4.5, 5]], [[5, 5.25], [5.25, 5.5], [5.5, 5.75], [5.75, 6], [6, 6.25], [6.25, 6.5], [6.5, 6.75], [6.75, 7], [7, 7.25]], [[7.25, 7.5], [7.5, 7.75], [7.75, 8], [8, 8.25], [8.25, 8.5], [8.5, 8.75], [8.75, 9], [9, 9.25], [9.25, 9.5], [9.5, 9.75], [9.75, 10]], [[10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20]], [[20, 28], [28, 36], [36, 44], [44, 52], [52, 60], [60, 68], [68, 76], [76, 84], [84, 92], [92, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly HEALTH_SCORE: { readonly meta: { readonly availableAfterSec: 30; readonly group: "overall"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: true; }; readonly ranges: { readonly global: [[[0, 2], [2, 4], [4, 6], [6, 8], [8, 10], [10, 12], [12, 14], [14, 16], [16, 18], [18, 20]], [[20, 22], [22, 24], [24, 26], [26, 28], [28, 30], [30, 32], [32, 34], [34, 36], [36, 38], [38, 40]], [[40, 42], [42, 44], [44, 46], [46, 48], [48, 50], [50, 52], [52, 54], [54, 56], [56, 58], [58, 60]], [[60, 62], [62, 64], [64, 66], [66, 68], [68, 70], [70, 72], [72, 74], [74, 76], [76, 78], [78, 80]], [[80, 82], [82, 84], [84, 86], [86, 88], [88, 90], [90, 92], [92, 94], [94, 96], [96, 98], [98, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["RED", "LIGHT_RED", "YELLOW", "LIGHT_GREEN", "GREEN"]; }; }; }; readonly BP_HEART_ATTACK: { readonly meta: { readonly availableAfterSec: 30; readonly group: "generalRisks"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: true; }; readonly ranges: { readonly global: [[[0, 0.17], [0.17, 0.33], [0.33, 0.5], [0.5, 0.66], [0.66, 0.83], [0.83, 0.99], [0.99, 1.16], [1.16, 1.32], [1.32, 1.49], [1.49, 1.65]], [[1.65, 1.73], [1.73, 1.82], [1.82, 1.9], [1.9, 1.98], [1.98, 2.06], [2.06, 2.15], [2.15, 2.23], [2.23, 2.31], [2.31, 2.39]], [[2.39, 2.48], [2.48, 2.56], [2.56, 2.64], [2.64, 2.72], [2.72, 2.81], [2.81, 2.89], [2.89, 2.97], [2.97, 3.05], [3.05, 3.14], [3.14, 3.22], [3.22, 3.3]], [[3.3, 3.63], [3.63, 3.96], [3.96, 4.29], [4.29, 4.62], [4.62, 4.95], [4.95, 5.28], [5.28, 5.61], [5.61, 5.94], [5.94, 6.27], [6.27, 6.6]], [[6.6, 9.24], [9.24, 11.88], [11.88, 14.52], [14.52, 17.16], [17.16, 19.8], [19.8, 22.44], [22.4, 25.08], [25.08, 27.72], [27.72, 30.36], [30.36, 33], [33, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly IHB_COUNT: { readonly meta: { readonly availableAfterSec: 30; readonly group: "vitals"; readonly range: { readonly min: 0; readonly max: 4; }; readonly requirements: { readonly profileInfo: false; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 4], [4, number]]]; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly MSI: { readonly meta: { readonly availableAfterSec: 30; readonly group: "mental"; readonly range: { readonly min: 1; readonly max: 5.9; }; readonly requirements: { readonly profileInfo: false; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[1, 1.1], [1.1, 1.2], [1.2, 1.3], [1.3, 1.4], [1.4, 1.5], [1.5, 1.6], [1.6, 1.7], [1.7, 1.8], [1.8, 1.9], [1.9, 2]], [[2, 2.1], [2.1, 2.2], [2.2, 2.3], [2.3, 2.4], [2.4, 2.5], [2.5, 2.6], [2.6, 2.7], [2.7, 2.8], [2.8, 2.9], [2.9, 3]], [[3, 3.1], [3.1, 3.2], [3.2, 3.3], [3.3, 3.4], [3.4, 3.5], [3.5, 3.6], [3.6, 3.7], [3.7, 3.8], [3.8, 3.9], [3.9, 4]], [[4, 4.1], [4.1, 4.2], [4.2, 4.3], [4.3, 4.4], [4.4, 4.5], [4.5, 4.6], [4.6, 4.7], [4.7, 4.8], [4.8, 4.9], [4.9, 5]], [[5, 5.1], [5.1, 5.2], [5.2, 5.3], [5.3, 5.4], [5.4, 5.5], [5.5, 5.6], [5.6, 5.7], [5.7, 5.8], [5.8, 5.9], [5.9, 6], [6, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly BP_STROKE: { readonly meta: { readonly availableAfterSec: 30; readonly group: "generalRisks"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: true; }; readonly ranges: { readonly global: [[[0, 0.33], [0.33, 0.66], [0.66, 0.99], [0.99, 1.32], [1.32, 1.65], [1.65, 1.98], [1.98, 2.31], [2.31, 2.64], [2.64, 2.97], [2.97, 3.3]], [[3.3, 3.47], [3.47, 3.63], [3.63, 3.8], [3.8, 3.96], [3.96, 4.13], [4.13, 4.29], [4.29, 4.46], [4.46, 4.62], [4.62, 4.79]], [[4.79, 4.95], [4.95, 5.12], [5.12, 5.28], [5.28, 5.45], [5.45, 5.61], [5.61, 5.78], [5.78, 5.94], [5.94, 6.11], [6.11, 6.27], [6.27, 6.44], [6.44, 6.6]], [[6.6, 7.26], [7.26, 7.92], [7.92, 8.58], [8.58, 9.24], [9.24, 9.9], [9.9, 10.56], [10.56, 11.22], [11.22, 11.88], [11.88, 12.54], [12.54, 13.2]], [[13.2, 18.48], [18.48, 23.76], [23.76, 29.04], [29.04, 34.32], [34.32, 39.6], [39.6, 44.88], [44.88, 50.16], [50.16, 55.44], [55.44, 60.72], [60.72, 66], [66, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly BP_TAU: { readonly meta: { readonly availableAfterSec: 30; readonly group: "physiological"; readonly range: { readonly min: 0.3; readonly max: 3; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 0.3], [0.3, 0.35], [0.35, 0.41], [0.41, 0.46], [0.46, 0.52], [0.52, 0.57], [0.57, 0.62], [0.62, 0.68], [0.68, 0.73], [0.73, 0.79]], [[0.79, 0.82], [0.82, 0.86], [0.86, 0.89], [0.89, 0.92], [0.92, 0.96], [0.96, 0.99], [0.99, 1.02], [1.02, 1.05], [1.05, 1.09], [1.09, 1.12]], [[1.12, 1.19], [1.19, 1.25], [1.25, 1.32], [1.32, 1.38], [1.38, 1.45], [1.45, 1.52], [1.52, 1.58], [1.58, 1.65], [1.65, 1.71], [1.71, 1.78]], [[1.78, 1.81], [1.81, 1.85], [1.85, 1.88], [1.88, 1.91], [1.91, 1.95], [1.95, 1.98], [1.98, 2.01], [2.01, 2.04], [2.04, 2.08], [2.08, 2.11]], [[2.11, 2.2], [2.2, 2.29], [2.29, 2.38], [2.38, 2.47], [2.47, 2.56], [2.56, 2.64], [2.64, 2.73], [2.73, 2.82], [2.82, 2.91], [2.91, 3], [3, number]]]; }; readonly dialBandColors: { readonly global: ["RED", "LIGHT_RED", "YELLOW", "LIGHT_GREEN", "GREEN"]; }; }; }; readonly HBA1C_RISK_PROB: { readonly meta: { readonly availableAfterSec: 30; readonly group: "bloodBiomarkers"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 2.5], [2.5, 5], [5, 7.5], [7.5, 10], [10, 12.5], [12.5, 15], [15, 17.5], [17.5, 20], [20, 22.5], [22.5, 25]], [[25, 27.5], [27.5, 30], [30, 32.5], [32.5, 35], [35, 37.5], [37.5, 40], [40, 42.5], [42.5, 45]], [[45, 47.5], [47.5, 50], [50, 52.5], [52.5, 55]], [[55, 57.5], [57.5, 60], [60, 62.5], [62.5, 65], [65, 67.5], [67.5, 70], [70, 72.5], [72.5, 75], [75, 77.5]], [[77.5, 80], [80, 82.5], [82.5, 85], [85, 87.5], [87.5, 90], [90, 92.5], [92.5, 95], [95, 97.5], [97.5, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly MFBG_RISK_PROB: { readonly meta: { readonly availableAfterSec: 30; readonly group: "bloodBiomarkers"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 2.5], [2.5, 5], [5, 7.5], [7.5, 10], [10, 12.5], [12.5, 15], [15, 17.5], [17.5, 20], [20, 22.5], [22.5, 25]], [[25, 27.5], [27.5, 30], [30, 32.5], [32.5, 35], [35, 37.5], [37.5, 40], [40, 42.5], [42.5, 45]], [[45, 47.5], [47.5, 50], [50, 52.5], [52.5, 55]], [[55, 57.5], [57.5, 60], [60, 62.5], [62.5, 65], [65, 67.5], [67.5, 70], [70, 72.5], [72.5, 75], [75, 77.5]], [[77.5, 80], [80, 82.5], [82.5, 85], [85, 87.5], [87.5, 90], [90, 92.5], [92.5, 95], [95, 97.5], [97.5, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly HPT_RISK_PROB: { readonly meta: { readonly availableAfterSec: 30; readonly group: "metabolicRisks"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 2.5], [2.5, 5], [5, 7.5], [7.5, 10], [10, 12.5], [12.5, 15], [15, 17.5], [17.5, 20], [20, 22.5], [22.5, 25]], [[25, 27.5], [27.5, 30], [30, 32.5], [32.5, 35], [35, 37.5], [37.5, 40], [40, 42.5], [42.5, 45]], [[45, 47.5], [47.5, 50], [50, 52.5], [52.5, 55]], [[55, 57.5], [57.5, 60], [60, 62.5], [62.5, 65], [65, 67.5], [67.5, 70], [70, 72.5], [72.5, 75], [75, 77.5]], [[77.5, 80], [80, 82.5], [82.5, 85], [85, 87.5], [87.5, 90], [90, 92.5], [92.5, 95], [95, 97.5], [97.5, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly DBT_RISK_PROB: { readonly meta: { readonly availableAfterSec: 30; readonly group: "metabolicRisks"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 2.5], [2.5, 5], [5, 7.5], [7.5, 10], [10, 12.5], [12.5, 15], [15, 17.5], [17.5, 20], [20, 22.5], [22.5, 25]], [[25, 27.5], [27.5, 30], [30, 32.5], [32.5, 35], [35, 37.5], [37.5, 40], [40, 42.5], [42.5, 45]], [[45, 47.5], [47.5, 50], [50, 52.5], [52.5, 55]], [[55, 57.5], [57.5, 60], [60, 62.5], [62.5, 65], [65, 67.5], [67.5, 70], [70, 72.5], [72.5, 75], [75, 77.5]], [[77.5, 80], [80, 82.5], [82.5, 85], [85, 87.5], [87.5, 90], [90, 92.5], [92.5, 95], [95, 97.5], [97.5, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly HDLTC_RISK_PROB: { readonly meta: { readonly availableAfterSec: 30; readonly group: "metabolicRisks"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 2.5], [2.5, 5], [5, 7.5], [7.5, 10], [10, 12.5], [12.5, 15], [15, 17.5], [17.5, 20], [20, 22.5], [22.5, 25]], [[25, 27.5], [27.5, 30], [30, 32.5], [32.5, 35], [35, 37.5], [37.5, 40], [40, 42.5], [42.5, 45]], [[45, 47.5], [47.5, 50], [50, 52.5], [52.5, 55]], [[55, 57.5], [57.5, 60], [60, 62.5], [62.5, 65], [65, 67.5], [67.5, 70], [70, 72.5], [72.5, 75], [75, 77.5]], [[77.5, 80], [80, 82.5], [82.5, 85], [85, 87.5], [87.5, 90], [90, 92.5], [92.5, 95], [95, 97.5], [97.5, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly TG_RISK_PROB: { readonly meta: { readonly availableAfterSec: 30; readonly group: "metabolicRisks"; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly ranges: { readonly global: [[[0, 2.5], [2.5, 5], [5, 7.5], [7.5, 10], [10, 12.5], [12.5, 15], [15, 17.5], [17.5, 20], [20, 22.5], [22.5, 25]], [[25, 27.5], [27.5, 30], [30, 32.5], [32.5, 35], [35, 37.5], [37.5, 40], [40, 42.5], [42.5, 45]], [[45, 47.5], [47.5, 50], [50, 52.5], [52.5, 55]], [[55, 57.5], [57.5, 60], [60, 62.5], [62.5, 65], [65, 67.5], [67.5, 70], [70, 72.5], [72.5, 75], [75, 77.5]], [[77.5, 80], [80, 82.5], [82.5, 85], [85, 87.5], [87.5, 90], [90, 92.5], [92.5, 95], [95, 97.5], [97.5, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly AGE: { readonly meta: { readonly availableAfterSec: 5; readonly range: { readonly min: 13; readonly max: 120; }; readonly requirements: { readonly profileInfo: false; readonly medicalHistory: false; }; readonly group: "physical"; readonly ranges: { readonly global: []; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly FLD_RISK_PROB: { readonly meta: { readonly availableAfterSec: 30; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly group: "metabolicRisks"; readonly ranges: { readonly global: [[[0, 2.5], [2.5, 5], [5, 7.5], [7.5, 10], [10, 12.5], [12.5, 15], [15, 17.5], [17.5, 20], [20, 22.5], [22.5, 25]], [[25, 27.5], [27.5, 30], [30, 32.5], [32.5, 35], [35, 37.5], [37.5, 40], [40, 42.5], [42.5, 45]], [[45, 47.5], [47.5, 50], [50, 52.5], [52.5, 55]], [[55, 57.5], [57.5, 60], [60, 62.5], [62.5, 65], [65, 67.5], [67.5, 70], [70, 72.5], [72.5, 75], [75, 77.5]], [[77.5, 80], [80, 82.5], [82.5, 85], [85, 87.5], [87.5, 90], [90, 92.5], [92.5, 95], [95, 97.5], [97.5, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly HEIGHT: { readonly meta: { readonly availableAfterSec: 5; readonly range: { readonly min: 120; readonly max: 220; }; readonly requirements: { readonly profileInfo: false; readonly medicalHistory: false; }; readonly group: "physical"; readonly ranges: { readonly global: []; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly MENTAL_SCORE: { readonly meta: { readonly availableAfterSec: 30; readonly range: { readonly min: 1; readonly max: 5; }; readonly requirements: { readonly profileInfo: false; readonly medicalHistory: false; }; readonly group: "overall"; readonly ranges: { readonly global: [[[0, 1.5], [1.5, 2.5], [2.5, 3.5], [3.5, 4.5], [4.5, number]]]; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly OVERALL_METABOLIC_RISK_PROB: { readonly meta: { readonly availableAfterSec: 30; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly group: "metabolicRisks"; readonly ranges: { readonly global: [[[0, 2.5], [2.5, 5], [5, 7.5], [7.5, 10], [10, 12.5], [12.5, 15], [15, 17.5], [17.5, 20], [20, 22.5], [22.5, 25]], [[25, 27.5], [27.5, 30], [30, 32.5], [32.5, 35], [35, 37.5], [37.5, 40], [40, 42.5], [42.5, 45]], [[45, 47.5], [47.5, 50], [50, 52.5], [52.5, 55]], [[55, 57.5], [57.5, 60], [60, 62.5], [62.5, 65], [65, 67.5], [67.5, 70], [70, 72.5], [72.5, 75], [75, 77.5]], [[77.5, 80], [80, 82.5], [82.5, 85], [85, 87.5], [87.5, 90], [90, 92.5], [92.5, 95], [95, 97.5], [97.5, 100], [100, number]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly PHYSICAL_SCORE: { readonly meta: { readonly availableAfterSec: 30; readonly range: { readonly min: 1; readonly max: 5; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly group: "overall"; readonly ranges: { readonly global: [[[0, 1.5], [1.5, 2.5], [2.5, 3.5], [3.5, 4.5], [4.5, number]]]; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly PHYSIO_SCORE: { readonly meta: { readonly availableAfterSec: 30; readonly range: { readonly min: 1; readonly max: 5; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly group: "overall"; readonly ranges: { readonly global: [[[0, 1.5], [1.5, 2.5], [2.5, 3.5], [3.5, 4.5], [4.5, number]]]; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly RISKS_SCORE: { readonly meta: { readonly availableAfterSec: 30; readonly range: { readonly min: 1; readonly max: 5; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: true; }; readonly group: "overall"; readonly ranges: { readonly global: [[[0, 1.5], [1.5, 2.5], [2.5, 3.5], [3.5, 4.5], [4.5, number]]]; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly SURVEY_ANXIETY_MODERATE: { readonly meta: { readonly availableAfterSec: 0; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly group: "surveys"; readonly ranges: { readonly global: [[[0, 20], [20, 40], [40, 60], [60, 80], [80, 100]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly SURVEY_DEPRESSION_MODERATE: { readonly meta: { readonly availableAfterSec: 0; readonly range: { readonly min: 0; readonly max: 100; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly group: "surveys"; readonly ranges: { readonly global: [[[0, 20], [20, 40], [40, 60], [60, 80], [80, 100]]]; }; readonly dialBandColors: { readonly global: ["GREEN", "LIGHT_GREEN", "YELLOW", "LIGHT_RED", "RED"]; }; }; }; readonly VITAL_SCORE: { readonly meta: { readonly availableAfterSec: 30; readonly range: { readonly min: 1; readonly max: 5; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly group: "overall"; readonly ranges: { readonly global: [[[0, 1.5], [1.5, 2.5], [2.5, 3.5], [3.5, 4.5], [4.5, number]]]; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly WAIST_CIRCUM: { readonly meta: { readonly availableAfterSec: 5; readonly range: { readonly min: 0; readonly max: number; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly group: "physical"; readonly ranges: { readonly global: []; }; readonly dialBandColors: { readonly global: []; }; }; }; readonly WAIST_TO_HEIGHT: { readonly meta: { readonly availableAfterSec: 5; readonly range: { readonly min: 25; readonly max: 70; }; readonly requirements: { readonly profileInfo: true; readonly medicalHistory: false; }; readonly group: "physical"; readonly ranges: { readonly global: [[[0, 25], [25, 27], [27, 29], [29, 31], [31, 33], [33, 35], [35, 37], [37, 39], [39, 41], [41, 43]], [[43, 44], [44, 45], [45, 46], [46, 47], [47, 48], [48, 49], [49, 50], [50, 51], [51, 52], [52, 53]], [[53, 53.5], [53.5, 54], [54, 54.5], [54.5, 55], [55, 55.5], [55.5, 56], [56, 56.5], [56.5, 57], [57, 57.5], [57.5, 58]], [[58, 58.5], [58.5, 59], [59, 59.5], [59.5, 60], [60, 60.5], [60.5, 61], [61, 61.5], [61.5, 62], [62, 62.5], [62.5, 63]], [[63, 64.2], [64.2, 65.4], [65.4, 66.6], [66.6, 67.8], [67.8, 69], [69, 70.2], [70.2, 71.4], [71.4, 72.6], [72.6, 73.8], [73.8, 75], [75, number]]]; readonly globalMale: [[[0, 25], [25, 27], [27, 29], [29, 31], [31, 33], [33, 35], [35, 37], [37, 39], [39, 41], [41, 43]], [[43, 44], [44, 45], [45, 46], [46, 47], [47, 48], [48, 49], [49, 50], [50, 51], [51, 52], [52, 53]], [[53, 53.5], [53.5, 54], [54, 54.5], [54.5, 55], [55, 55.5], [55.5, 56], [56, 56.5], [56.5, 57], [57, 57.5], [57.5, 58]], [[58, 58.5], [58.5, 59], [59, 59.5], [59.5, 60], [60, 60.5], [60.5, 61], [61, 61.5], [61.5, 62], [62, 62.5], [62.5, 63]], [[63, 64.2], [64.2, 65.4], [65.4, 66.6], [66.6, 67.8], [67.8, 69], [69, 70.2], [70.2, 71.4], [71.4, 72.6], [72.6, 73.8], [73.8, 75], [75, number]]]; readonly globalFemale: [[[0