feat(MED-168): move analysis result element mapping to shared

This commit is contained in:
2025-09-19 12:48:57 +03:00
parent 81f7a03388
commit e7b484e1d4
4 changed files with 68 additions and 40 deletions

View File

@@ -16,6 +16,7 @@ import type {
import { toArray } from '@kit/shared/utils';
import type { AnalysisOrder } from '~/lib/types/analysis-order';
import type { AnalysisResponseElement } from '~/lib/types/analysis-response-element';
import { createUserAnalysesApi } from '@/packages/features/user-analyses/src/server/api';
import { Tables } from '@kit/supabase/database';
import { getSupabaseServerAdminClient } from '@/packages/supabase/src/clients/server-admin-client';
@@ -138,28 +139,25 @@ export async function getAnalysisResponseElementsForGroup({
continue;
}
const responseValueIsNumeric = responseValue !== null;
const responseValueIsNegative = vastuseVaartus === 'Negatiivne';
const responseValueIsWithinNorm = vastuseVaartus === 'Normi piires';
const mappedResponse = createUserAnalysesApi(getSupabaseServerAdminClient())
.mapUuringVastus({ uuringVastus: response });
results.push({
analysis_element_original_id: analysisElementOriginalId,
norm_lower: response.NormAlum?.['#text'] ?? null,
norm_lower_included:
response.NormAlum?.['@_kaasaarvatud'].toLowerCase() === 'jah',
norm_status: response.NormiStaatus,
norm_upper: response.NormYlem?.['#text'] ?? null,
norm_upper_included:
response.NormYlem?.['@_kaasaarvatud'].toLowerCase() === 'jah',
response_time: response.VastuseAeg ?? null,
response_value: responseValue,
norm_lower: mappedResponse.normLower,
norm_lower_included: mappedResponse.normLowerIncluded,
norm_status: mappedResponse.normStatus,
norm_upper: mappedResponse.normUpper,
norm_upper_included: mappedResponse.normUpperIncluded,
response_time: mappedResponse.responseTime,
response_value: mappedResponse.responseValue,
unit: groupUuringElement.Mootyhik ?? null,
original_response_element: groupUuringElement,
analysis_name: groupUuringElement.UuringNimi || groupUuringElement.KNimetus,
comment: groupUuringElement.UuringuKommentaar ?? null,
status: status.toString(),
response_value_is_within_norm: responseValueIsNumeric ? null : responseValueIsWithinNorm,
response_value_is_negative: responseValueIsNumeric ? null : responseValueIsNegative,
response_value_is_within_norm: mappedResponse.responseValueIsWithinNorm,
response_value_is_negative: mappedResponse.responseValueIsNegative,
});
}
}