feat(MED-131): improve logging, error validation
This commit is contained in:
@@ -195,6 +195,7 @@ export async function readPrivateMessageResponse({
|
||||
excludedMessageIds: string[];
|
||||
}) {
|
||||
let messageIdErrored: string | null = null;
|
||||
let messageIdProcessed: string | null = null;
|
||||
try {
|
||||
const privateMessage = await getLatestPrivateMessageListItem({ excludedMessageIds });
|
||||
if (!privateMessage) {
|
||||
@@ -202,7 +203,10 @@ export async function readPrivateMessageResponse({
|
||||
}
|
||||
|
||||
messageIdErrored = privateMessage.messageId;
|
||||
|
||||
if (!messageIdErrored) {
|
||||
throw new Error(`No message id found`);
|
||||
}
|
||||
|
||||
const privateMessageContent = await getPrivateMessage(
|
||||
privateMessage.messageId,
|
||||
);
|
||||
@@ -216,12 +220,13 @@ export async function readPrivateMessageResponse({
|
||||
|
||||
if (status === 'COMPLETED') {
|
||||
await deletePrivateMessage(privateMessage.messageId);
|
||||
messageIdProcessed = privateMessage.messageId;
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
console.warn(`Failed to process private message id=${messageIdErrored}, message=${(e as Error).message}`);
|
||||
}
|
||||
|
||||
return { messageIdErrored };
|
||||
return { messageIdErrored, messageIdProcessed };
|
||||
}
|
||||
|
||||
async function saveAnalysisGroup(
|
||||
@@ -417,7 +422,14 @@ export async function composeOrderXML({
|
||||
comment?: string;
|
||||
}) {
|
||||
const analysisElements = await getAnalysisElementsAdmin({ ids: orderedAnalysisElementsIds });
|
||||
if (analysisElements.length !== orderedAnalysisElementsIds.length) {
|
||||
throw new Error(`Got ${analysisElements.length} analysis elements, expected ${orderedAnalysisElementsIds.length}`);
|
||||
}
|
||||
|
||||
const analyses = await getAnalyses({ ids: orderedAnalysesIds });
|
||||
if (analyses.length !== orderedAnalysesIds.length) {
|
||||
throw new Error(`Got ${analyses.length} analyses, expected ${orderedAnalysesIds.length}`);
|
||||
}
|
||||
|
||||
const analysisGroups: Tables<{ schema: 'medreport' }, 'analysis_groups'>[] =
|
||||
uniqBy(
|
||||
@@ -572,6 +584,7 @@ export async function syncPrivateMessage({
|
||||
);
|
||||
}
|
||||
const analysisGroups = toArray(messageResponse.UuringuGrupp);
|
||||
console.info(`Order has results for ${analysisGroups.length} analysis groups`);
|
||||
|
||||
const responses: Omit<
|
||||
Tables<{ schema: 'medreport' }, 'analysis_response_elements'>,
|
||||
@@ -581,6 +594,7 @@ export async function syncPrivateMessage({
|
||||
const groupItems = toArray(
|
||||
analysisGroup.Uuring as ResponseUuringuGrupp['Uuring'],
|
||||
);
|
||||
console.info(`Order has results in group ${analysisGroup.UuringuGruppNimi} for ${groupItems.length} analysis elements`);
|
||||
for (const item of groupItems) {
|
||||
const element = item.UuringuElement;
|
||||
const elementAnalysisResponses = toArray(element.UuringuVastus);
|
||||
|
||||
Reference in New Issue
Block a user