Merge branch 'develop' into MED-157

This commit is contained in:
Danel Kungla
2025-09-23 11:03:54 +03:00
578 changed files with 17422 additions and 9960 deletions

View File

@@ -1,4 +1,5 @@
import React from 'react';
import Link from 'next/link';
import { redirect } from 'next/navigation';
@@ -32,7 +33,7 @@ export default async function AnalysisResultsPage({
]);
if (!account?.id) {
return redirect("/");
return redirect('/');
}
await createPageViewLog({
@@ -47,27 +48,31 @@ export default async function AnalysisResultsPage({
title={<Trans i18nKey="analysis-results:pageTitle" />}
description={<Trans i18nKey="analysis-results:descriptionEmpty" />}
/>
<PageBody className="gap-4">
</PageBody>
<PageBody className="gap-4"></PageBody>
</>
);
}
const orderedAnalysisElements = analysisResponse.orderedAnalysisElements;
const hasOrderedAnalysisElements = orderedAnalysisElements.length > 0;
const isPartialStatus = analysisResponse.order.status === 'PARTIAL_ANALYSIS_RESPONSE';
const isPartialStatus =
analysisResponse.order.status === 'PARTIAL_ANALYSIS_RESPONSE';
return (
<>
<PageHeader
title={<Trans i18nKey="analysis-results:pageTitle" />}
description={hasOrderedAnalysisElements ? (
isPartialStatus
? <Trans i18nKey="analysis-results:descriptionPartial" />
: <Trans i18nKey="analysis-results:description" />
) : (
<Trans i18nKey="analysis-results:descriptionEmpty" />
)}
description={
hasOrderedAnalysisElements ? (
isPartialStatus ? (
<Trans i18nKey="analysis-results:descriptionPartial" />
) : (
<Trans i18nKey="analysis-results:description" />
)
) : (
<Trans i18nKey="analysis-results:descriptionEmpty" />
)
}
>
<div>
<Button asChild>
@@ -106,13 +111,15 @@ export default async function AnalysisResultsPage({
orderedAnalysisElements.map((element, index) => (
<React.Fragment key={element.analysisIdOriginal}>
<Analysis element={element} />
{element.results?.nestedElements?.map((nestedElement, nestedIndex) => (
<Analysis
key={`nested-${nestedElement.analysisElementOriginalId}-${nestedIndex}`}
nestedElement={nestedElement}
isNestedElement
/>
))}
{element.results?.nestedElements?.map(
(nestedElement, nestedIndex) => (
<Analysis
key={`nested-${nestedElement.analysisElementOriginalId}-${nestedIndex}`}
nestedElement={nestedElement}
isNestedElement
/>
),
)}
</React.Fragment>
))
) : (

View File

@@ -1,12 +1,15 @@
import { useMemo } from 'react';
import type { AnalysisResultDetailsElementResults } from '@/packages/features/user-analyses/src/types/analysis-results';
import { AnalysisResultLevel } from '@/packages/features/user-analyses/src/types/analysis-results';
import { ArrowDown } from 'lucide-react';
import { cn } from '@kit/ui/utils';
import type { AnalysisResultDetailsElementResults } from '@/packages/features/user-analyses/src/types/analysis-results';
import { AnalysisResultLevel } from '@/packages/features/user-analyses/src/types/analysis-results';
type AnalysisResultLevelBarResults = Pick<AnalysisResultDetailsElementResults, 'normLower' | 'normUpper' | 'responseValue'>;
type AnalysisResultLevelBarResults = Pick<
AnalysisResultDetailsElementResults,
'normLower' | 'normUpper' | 'responseValue'
>;
const Level = ({
isActive = false,
@@ -34,22 +37,29 @@ const Level = ({
{isActive && (
<div
className="absolute top-[-14px] left-1/2 -translate-x-1/2 rounded-[10px] bg-white p-[2px]"
{...(arrowLocation ? {
style: {
left: `${arrowLocation}%`,
...(arrowLocation > 92.5 && { left: '92.5%' }),
...(arrowLocation < 7.5 && { left: '7.5%' }),
}
} : {})}
{...(arrowLocation
? {
style: {
left: `${arrowLocation}%`,
...(arrowLocation > 92.5 && { left: '92.5%' }),
...(arrowLocation < 7.5 && { left: '7.5%' }),
},
}
: {})}
>
<ArrowDown strokeWidth={2} />
</div>
)}
{color === 'success' && typeof normRangeText === 'string' && (
<p className={cn("absolute bottom-[-18px] left-3/8 text-xs text-muted-foreground font-bold whitespace-nowrap", {
'opacity-60': isActive,
})}>
<p
className={cn(
'text-muted-foreground absolute bottom-[-18px] left-3/8 text-xs font-bold whitespace-nowrap',
{
'opacity-60': isActive,
},
)}
>
{normRangeText}
</p>
)}
@@ -59,11 +69,7 @@ const Level = ({
const AnalysisLevelBar = ({
level,
results: {
normLower: lower,
normUpper: upper,
responseValue: value,
},
results: { normLower: lower, normUpper: upper, responseValue: value },
normRangeText,
}: {
level: AnalysisResultLevel;
@@ -90,7 +96,7 @@ const AnalysisLevelBar = ({
return 100; // Beyond upper bound
}
// If only lower bound exists
// If only lower bound exists
if (upper === null && lower !== null) {
if (value >= lower) {
// Value is in normal range (above lower bound)
@@ -127,7 +133,7 @@ const AnalysisLevelBar = ({
// If pending results, show gray bar
if (isPending) {
return (
<div className="mt-4 flex h-3 w-60% sm:w-[35%] max-w-[360px] gap-1 sm:mt-0">
<div className="w-60% mt-4 flex h-3 max-w-[360px] gap-1 sm:mt-0 sm:w-[35%]">
<Level color="gray-200" isFirst isLast />
</div>
);
@@ -146,29 +152,25 @@ const AnalysisLevelBar = ({
const [warning, normal, critical] = [
{
isActive: isWarning,
color: "warning",
color: 'warning',
...(isWarning ? { arrowLocation } : {}),
},
{
isActive: isNormal,
color: "success",
color: 'success',
normRangeText,
...(isNormal ? { arrowLocation } : {}),
},
{
isActive: isCritical,
color: "destructive",
color: 'destructive',
isLast: true,
...(isCritical ? { arrowLocation } : {}),
},
] as const;
if (!hasLowerBound) {
return [
{ ...normal, isFirst: true },
warning,
critical,
] as const;
return [{ ...normal, isFirst: true }, warning, critical] as const;
}
return [
@@ -176,16 +178,27 @@ const AnalysisLevelBar = ({
normal,
{ ...critical, isLast: true },
] as const;
}, [isValueBelowLower, isValueAboveUpper, isValueInNormalRange, arrowLocation, normRangeText, isNormal, isWarning, isCritical]);
}, [
isValueBelowLower,
isValueAboveUpper,
isValueInNormalRange,
arrowLocation,
normRangeText,
isNormal,
isWarning,
isCritical,
]);
return (
<div className={cn(
"flex h-3 gap-1",
"mt-4 sm:mt-0",
"w-[60%] sm:w-[35%]",
"min-w-[50vw] sm:min-w-auto",
"max-w-[360px]",
)}>
<div
className={cn(
'flex h-3 gap-1',
'mt-4 sm:mt-0',
'w-[60%] sm:w-[35%]',
'min-w-[50vw] sm:min-w-auto',
'max-w-[360px]',
)}
>
<Level {...first} />
<Level {...second} />
<Level {...third} />

View File

@@ -1,15 +1,16 @@
'use client';
import React, { useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { format } from 'date-fns';
import { Info } from 'lucide-react';
import type {
AnalysisResultDetailsElement,
AnalysisResultsDetailsElementNested,
} from '@/packages/features/user-analyses/src/types/analysis-results';
import { AnalysisResultLevel } from '@/packages/features/user-analyses/src/types/analysis-results';
import { format } from 'date-fns';
import { Info } from 'lucide-react';
import { useTranslation } from 'react-i18next';
import { Trans } from '@kit/ui/trans';
import { cn } from '@kit/ui/utils';
@@ -64,7 +65,11 @@ const Analysis = ({
return null;
}
const { responseValue, responseValueIsNegative, responseValueIsWithinNorm } = results;
const {
responseValue,
responseValueIsNegative,
responseValueIsWithinNorm,
} = results;
if (responseValue === null || responseValue === undefined) {
if (hasIsNegative) {
if (responseValueIsNegative) {
@@ -107,7 +112,8 @@ const Analysis = ({
const isCancelled = Number(results?.status) === 5;
const nestedElements = results?.nestedElements ?? null;
const hasNestedElements = Array.isArray(nestedElements) && nestedElements.length > 0;
const hasNestedElements =
Array.isArray(nestedElements) && nestedElements.length > 0;
const normRangeText = (() => {
if (normLower === null && normUpper === null) {
@@ -118,9 +124,17 @@ const Analysis = ({
const hasTextualResponse = hasIsNegative || hasIsWithinNorm;
return (
<div className={cn("border-border rounded-lg border px-5", { 'ml-8': isNestedElement })}>
<div className="flex flex-col items-center justify-between gap-2 pt-3 pb-6 sm:py-3 sm:h-[65px] sm:flex-row sm:gap-0">
<div className={cn("flex items-center gap-2 font-semibold", { 'font-bold': isNestedElement })}>
<div
className={cn('border-border rounded-lg border px-5', {
'ml-8': isNestedElement,
})}
>
<div className="flex flex-col items-center justify-between gap-2 pt-3 pb-6 sm:h-[65px] sm:flex-row sm:gap-0 sm:py-3">
<div
className={cn('flex items-center gap-2 font-semibold', {
'font-bold': isNestedElement,
})}
>
{name}
{results?.responseTime && (
<div
@@ -147,7 +161,7 @@ const Analysis = ({
</div>
{isCancelled && (
<div className="text-red-600 font-semibold text-sm">
<div className="text-sm font-semibold text-red-600">
<Trans i18nKey="analysis-results:cancelled" />
</div>
)}
@@ -157,9 +171,15 @@ const Analysis = ({
<div className="flex items-center gap-3 sm:ml-auto">
<div
className={cn('font-semibold', {
'text-yellow-600': hasTextualResponse && analysisResultLevel === AnalysisResultLevel.WARNING,
'text-red-600': hasTextualResponse && analysisResultLevel === AnalysisResultLevel.CRITICAL,
'text-green-600': hasTextualResponse && analysisResultLevel === AnalysisResultLevel.NORMAL,
'text-yellow-600':
hasTextualResponse &&
analysisResultLevel === AnalysisResultLevel.WARNING,
'text-red-600':
hasTextualResponse &&
analysisResultLevel === AnalysisResultLevel.CRITICAL,
'text-green-600':
hasTextualResponse &&
analysisResultLevel === AnalysisResultLevel.NORMAL,
})}
>
{value}

View File

@@ -2,10 +2,11 @@
import React, { useState } from 'react';
import Modal from '@modules/common/components/modal';
import { PageBody, PageHeader } from '@kit/ui/page';
import { Trans } from '@kit/ui/trans';
import { Button } from '@kit/ui/shadcn/button';
import Modal from "@modules/common/components/modal"
import { Trans } from '@kit/ui/trans';
import Analysis from '../_components/analysis';
import { analysisResponses } from './test-responses';
@@ -19,16 +20,15 @@ export default function AnalysisResultsPage() {
<PageBody className="gap-4">
<div className="mt-8 flex flex-col justify-between gap-4 sm:flex-row sm:items-center sm:gap-0">
<div>
<h2>
Analüüsi tulemused demo
</h2>
<h2>Analüüsi tulemused demo</h2>
</div>
</div>
<div className="flex flex-col gap-2">
{analysisResponses.map(({ id, orderedAnalysisElements }, index) => {
const isOpen = openBlocks.includes(id);
const closeModal = () => setOpenBlocks(openBlocks.filter((block) => block !== id));
const closeModal = () =>
setOpenBlocks(openBlocks.filter((block) => block !== id));
return (
<div key={index} className="flex flex-col gap-2 py-4">
<div className="flex flex-col gap-2 pb-4">
@@ -52,12 +52,21 @@ export default function AnalysisResultsPage() {
{isOpen && (
<Modal isOpen={isOpen} close={closeModal} size="large">
<div className="overflow-y-auto">
<p>NormiStaatus</p>
<ul>
<li>0 - testi väärtus jääb normaalväärtuste piirkonda või on määramata,</li>
<li>1 - testi väärtus jääb hoiatava (tähelepanu suunava) märkega piirkonda,</li>
<li>2 - testi väärtus on normaalväärtuste piirkonnast väljas või kõrgendatud tähelepanu nõudvas piirkonnas.</li>
<li>
0 - testi väärtus jääb normaalväärtuste piirkonda
või on määramata,
</li>
<li>
1 - testi väärtus jääb hoiatava (tähelepanu
suunava) märkega piirkonda,
</li>
<li>
2 - testi väärtus on normaalväärtuste piirkonnast
väljas või kõrgendatud tähelepanu nõudvas
piirkonnas.
</li>
</ul>
<p>UuringOlek</p>
@@ -70,7 +79,7 @@ export default function AnalysisResultsPage() {
<li>6 - Tühistatud,</li>
</ul>
<pre className="text-sm bg-muted p-4 rounded-md">
<pre className="bg-muted rounded-md p-4 text-sm">
{JSON.stringify(orderedAnalysisElements, null, 2)}
</pre>
</div>
@@ -90,7 +99,7 @@ export default function AnalysisResultsPage() {
</div>
<hr />
</div>
)
);
})}
</div>
</PageBody>

View File

@@ -1,4 +1,4 @@
import { AnalysisResultDetailsMapped } from '@/packages/features/accounts/src/types/analysis-results';
import type { AnalysisResultDetailsMapped } from '@/packages/features/user-analyses/src/types/analysis-results';
export type AnalysisTestResponse = Omit<
AnalysisResultDetailsMapped,
@@ -29,7 +29,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '1744-2',
},
},
@@ -49,7 +49,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '1920-8',
},
},
@@ -69,7 +69,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '1988-5',
},
},
@@ -89,7 +89,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '57747-8',
},
},
@@ -109,7 +109,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '2276-4',
},
},
@@ -129,10 +129,30 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '14771-0',
},
},
{
analysisIdOriginal: '59156-0',
isWaitingForResults: false,
analysisName: 'Glükoos',
results: {
nestedElements: [],
unit: null,
normLower: null,
normUpper: 2,
normStatus: 2,
responseTime: '2024-02-29T10:13:01+00:00',
responseValue: null,
responseValueIsNegative: null,
responseValueIsWithinNorm: false,
normLowerIncluded: false,
normUpperIncluded: false,
status: 4,
analysisElementOriginalId: '59156-0',
},
},
{
analysisIdOriginal: '59156-0',
isWaitingForResults: false,
@@ -146,10 +166,10 @@ const big1: AnalysisTestResponse = {
responseTime: '2024-02-29T10:13:01+00:00',
responseValue: null,
responseValueIsNegative: null,
responseValueIsWithinNorm: false,
responseValueIsWithinNorm: true,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '59156-0',
},
},
@@ -169,7 +189,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '13955-0',
},
},
@@ -189,7 +209,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '14646-4',
},
},
@@ -209,7 +229,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '2000-8',
},
},
@@ -229,7 +249,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '59158-6',
},
},
@@ -249,7 +269,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '14647-2',
},
},
@@ -269,7 +289,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '14682-9',
},
},
@@ -289,7 +309,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '22748-8',
},
},
@@ -309,7 +329,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '58805-3',
},
},
@@ -329,7 +349,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '2601-3',
},
},
@@ -350,7 +370,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '70204-3',
},
},
@@ -370,7 +390,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '14798-3',
},
},
@@ -391,7 +411,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '14927-8',
},
},
@@ -411,7 +431,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '3016-3',
},
},
@@ -431,7 +451,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '22664-7',
},
},
@@ -451,7 +471,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '50561-0',
},
},
@@ -472,7 +492,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '60493-4',
},
},
@@ -492,7 +512,7 @@ const big1: AnalysisTestResponse = {
responseValueIsWithinNorm: true,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '60025-4',
},
},
@@ -518,7 +538,7 @@ const big2: AnalysisTestResponse = {
responseValueIsWithinNorm: null,
normLowerIncluded: false,
normUpperIncluded: false,
status: '4',
status: 4,
analysisElementOriginalId: '1988-5',
},
},
@@ -538,6 +558,8 @@ const big2: AnalysisTestResponse = {
responseValue: 150,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '718-7',
},
{
@@ -550,6 +572,8 @@ const big2: AnalysisTestResponse = {
responseValue: 45,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '4544-3',
},
{
@@ -562,6 +586,8 @@ const big2: AnalysisTestResponse = {
responseValue: 5,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '6690-2',
},
{
@@ -574,6 +600,8 @@ const big2: AnalysisTestResponse = {
responseValue: 5,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '789-8',
},
{
@@ -586,6 +614,8 @@ const big2: AnalysisTestResponse = {
responseValue: 85,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '787-2',
},
{
@@ -598,6 +628,8 @@ const big2: AnalysisTestResponse = {
responseValue: 30,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '785-6',
},
{
@@ -610,6 +642,8 @@ const big2: AnalysisTestResponse = {
responseValue: 355,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '786-4',
},
{
@@ -622,6 +656,8 @@ const big2: AnalysisTestResponse = {
responseValue: 15,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '788-0',
},
{
@@ -634,6 +670,8 @@ const big2: AnalysisTestResponse = {
responseValue: 255,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '777-3',
},
{
@@ -646,6 +684,8 @@ const big2: AnalysisTestResponse = {
responseValue: 0.2,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '51637-7',
},
{
@@ -658,6 +698,8 @@ const big2: AnalysisTestResponse = {
responseValue: 10,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '32623-1',
},
{
@@ -670,6 +712,8 @@ const big2: AnalysisTestResponse = {
responseValue: 15,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '32207-3',
},
{
@@ -682,6 +726,8 @@ const big2: AnalysisTestResponse = {
responseValue: 0.05,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '704-7',
},
{
@@ -694,6 +740,8 @@ const big2: AnalysisTestResponse = {
responseValue: 0.05,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '711-2',
},
{
@@ -706,6 +754,8 @@ const big2: AnalysisTestResponse = {
responseValue: 5,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '751-8',
},
{
@@ -718,6 +768,8 @@ const big2: AnalysisTestResponse = {
responseValue: 0.5,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '742-7',
},
{
@@ -730,6 +782,8 @@ const big2: AnalysisTestResponse = {
responseValue: 1.5,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '731-0',
},
{
@@ -742,6 +796,8 @@ const big2: AnalysisTestResponse = {
responseValue: 0,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '51584-1',
},
{
@@ -754,6 +810,8 @@ const big2: AnalysisTestResponse = {
responseValue: 0,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '38518-7',
},
{
@@ -762,8 +820,12 @@ const big2: AnalysisTestResponse = {
normStatus: 0,
responseTime: '2025-09-12 14:02:04',
responseValue: 0,
normUpper: null,
normLower: null,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '771-6',
},
{
@@ -772,8 +834,12 @@ const big2: AnalysisTestResponse = {
normStatus: 0,
responseTime: '2025-09-12 14:02:04',
responseValue: 0,
normUpper: null,
normLower: null,
normLowerIncluded: false,
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
analysisElementOriginalId: '58413-6',
},
],
@@ -787,7 +853,7 @@ const big2: AnalysisTestResponse = {
normUpperIncluded: false,
responseValueIsNegative: false,
responseValueIsWithinNorm: false,
status: '4',
status: 4,
analysisElementOriginalId: '57021-8',
},
},
@@ -808,7 +874,7 @@ const big2: AnalysisTestResponse = {
normUpperIncluded: false,
responseValueIsNegative: false,
responseValueIsWithinNorm: false,
status: '5',
status: 5,
analysisElementOriginalId: '43583-4',
},
},
@@ -830,7 +896,7 @@ const big2: AnalysisTestResponse = {
normUpperIncluded: false,
responseValueIsNegative: null,
responseValueIsWithinNorm: null,
status: '4',
status: 4,
analysisElementOriginalId: '60493-4',
},
},