@openhealth/oht-custom-parser-lib 0.5.51 → 0.5.53
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.
- package/dist/index.d.ts +2 -3
- package/dist/index.js +2 -9
- package/dist/index.js.map +1 -1
- package/dist/service/auxiliaryFunctions.service.d.ts +8 -1
- package/dist/service/auxiliaryFunctions.service.js +11 -40
- package/dist/service/auxiliaryFunctions.service.js.map +1 -1
- package/dist/service/ohtReportMeasurementsExtractor.service.d.ts +4 -2
- package/dist/service/ohtReportMeasurementsExtractor.service.js +63 -49
- package/dist/service/ohtReportMeasurementsExtractor.service.js.map +1 -1
- package/dist/service/processingLogger.service.d.ts +0 -5
- package/dist/service/processingLogger.service.js +1 -52
- package/dist/service/processingLogger.service.js.map +1 -1
- package/dist/service/reportCreator.service.js +32 -5
- package/dist/service/reportCreator.service.js.map +1 -1
- package/dist/types/error.types.d.ts +0 -104
- package/dist/types/error.types.js +1 -240
- package/dist/types/error.types.js.map +1 -1
- package/dist/util-ts/dataUtils.d.ts +0 -1
- package/dist/util-ts/dataUtils.js +1 -15
- package/dist/util-ts/dataUtils.js.map +1 -1
- package/dist/util-ts/mapperUtils.d.ts +1 -2
- package/dist/util-ts/mapperUtils.js +3 -12
- package/dist/util-ts/mapperUtils.js.map +1 -1
- package/package.json +40 -40
- package/readme.md +115 -115
- package/dist/service/ohtAgnosticMeasurementsExtractor.service.d.ts +0 -59
- package/dist/service/ohtAgnosticMeasurementsExtractor.service.js +0 -603
- package/dist/service/ohtAgnosticMeasurementsExtractor.service.js.map +0 -1
- package/dist/service/parsingErrorService.service.d.ts +0 -40
- package/dist/service/parsingErrorService.service.js +0 -251
- package/dist/service/parsingErrorService.service.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -7,11 +7,10 @@ export { aggregateMessages, aggregateBiMessages, publishToTopic, generateBIMessa
|
|
|
7
7
|
export { applyRules as applyTransformationRules, validateJsonataExpression as validateTransformationRuleExpression, } from './service/transformationRules.service';
|
|
8
8
|
export { LabToOhtContract, LabToOhtMapper, UnknownMeasurementExtraction, ReferenceAsAnnotation, UnitExtraction, RangeExtraction, RangeExtractionResponse, ValueExtraction, unitSynonyms, ValueExtractionResponse, SynonymUnit, UnknownUnits, TransformationRulesChains, } from './types/custom-parser.types';
|
|
9
9
|
export { AcfBiomarkerRangeAnnotationCheck, AcfBiomarkerGenericDisclaimerLogic, ManualCheck, BiomarkerCompatibility, ReferenceRangeType, AcfReferenceRange, VisualRange, NameAlias, AlternativeUnit, BiomarkerAcf, Biomarker, PipelineStep, DigitizationStatus, MeasurementValueComparator, BiomarkerValueType, DataImportFileUploadStatus, Sex, Digitization, PatientInfo, UnknownMeasurement, UnmappedLabKey, Measurement, DataImportFileUpload, MessagePayload, SignedUpload, ReportStyleConfig, LanguageCode, BiomarkerCustomisation, PartnerCustomPanel, ReportDisplaySettings, ReportCustomisation, OHTPartner, UploadType, PartnerCustomization, RejectReason, AnnotationLabKey, ExtractionPath, AnnotationConfig, OhtReport, OhtMetadata, OhtPatient, Exam, OhtExam, ExamKind, OhtRange, OriginalExam, } from './types/oht.types';
|
|
10
|
-
export { ErrorMessage, ErrorCode, ERROR_CATALOG, ERROR_MESSAGES, getErrorMessage, getRejectReason,
|
|
10
|
+
export { ErrorMessage, ErrorCode, ERROR_CATALOG, ERROR_MESSAGES, getErrorMessage, getRejectReason, } from './types/error.types';
|
|
11
11
|
export { handleError, ValidationError, JSON_VALIDATION_ERROR_NAME, shouldSendSlackNotification, extractFormattedRejectReason, mapErrorToRejectReason, } from './service/fileUploadErrorHandler.service';
|
|
12
12
|
export type { TransformationRule, TransformationContext, ApplyRulesResult as TransformationApplyRulesResult, ApplyRulesOptions as TransformationApplyRulesOptions, ValidationResult as TransformationValidationResult, } from './types/transformationRules.types';
|
|
13
|
-
export { processingLogger, ProcessingContext, StageDuration, getRequestIdFromContext,
|
|
14
|
-
export { parsingErrorService, initParsingErrorRequestState, clearParsingErrorRequestState, } from './service/parsingErrorService.service';
|
|
13
|
+
export { processingLogger, ProcessingContext, StageDuration, getRequestIdFromContext, getRequestScopedFilename, runWithContext, runWithContextAsync, } from './service/processingLogger.service';
|
|
15
14
|
export { makeApiCallWithRetry, parseErrorObj } from './util-ts/apiUtils';
|
|
16
15
|
export { extractValue, isBiomarkerValueNumerical, isBiomarkerExternalNoVisualRange, processAppendedMappings, fetchSynonymUnits, resolveUnitFromSynonyms, extractFromPath, applyFormat } from './util-ts/dataUtils';
|
|
17
16
|
export { readFileFromBucket, uploadFileBufferToGCS } from './util-ts/googleStorageUtils';
|
package/dist/index.js
CHANGED
|
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
exports.mapToOhtReport = exports.fetchActiveMappingRules = exports.lisXmlToJson = exports.lisCsvToExamRows = exports.parseRange = exports.getMappedBiomarkersLatest = exports.getMappedBiomarkers = exports.getLowerThanPatterns = exports.getGreaterThanPatterns = exports.pinoLogger = exports.uploadFileBufferToGCS = exports.readFileFromBucket = exports.applyFormat = exports.extractFromPath = exports.resolveUnitFromSynonyms = exports.fetchSynonymUnits = exports.processAppendedMappings = exports.isBiomarkerExternalNoVisualRange = exports.isBiomarkerValueNumerical = exports.extractValue = exports.parseErrorObj = exports.makeApiCallWithRetry = exports.
|
|
6
|
+
exports.shouldSendSlackNotification = exports.JSON_VALIDATION_ERROR_NAME = exports.ValidationError = exports.handleError = exports.getRejectReason = exports.getErrorMessage = exports.ERROR_MESSAGES = exports.ERROR_CATALOG = exports.ErrorCode = exports.RejectReason = exports.UploadType = exports.Sex = exports.DataImportFileUploadStatus = exports.BiomarkerValueType = exports.MeasurementValueComparator = exports.DigitizationStatus = exports.PipelineStep = exports.ReferenceRangeType = exports.BiomarkerCompatibility = exports.ManualCheck = exports.AcfBiomarkerGenericDisclaimerLogic = exports.AcfBiomarkerRangeAnnotationCheck = exports.unitSynonyms = exports.validateTransformationRuleExpression = exports.applyTransformationRules = exports.generateBIMessages = exports.publishToTopic = exports.aggregateBiMessages = exports.aggregateMessages = exports.sendMessageToSlack = exports.getSlackFileIssueNotificationMessage = exports.extractValueFromGreaterLowerThan = exports.extractUnit = exports.getRangeFromPositionAndRegex = exports.parseExamValue = exports.extractReferenceAnnotation = exports.extractReferenceRanges = exports.checkValueForPlausibleValues = exports.ohtMeasurementsExtractor = exports.ohtReportMeasurementsExtractor = exports.getPartnerTransformationRules = exports.postFileUploadSetStatus = exports.queryFileUploadsWithFilters = exports.handleRejection = exports.getPatientAge = exports.isPatientAgeValid = exports.parseGender = exports.parseExternalPatientId = exports.postReportPreviewToCore = exports.postDataImportFileUploadToCore = void 0;
|
|
7
|
+
exports.mapToOhtReport = exports.fetchActiveMappingRules = exports.lisXmlToJson = exports.lisCsvToExamRows = exports.parseRange = exports.getMappedBiomarkersLatest = exports.getMappedBiomarkers = exports.getLowerThanPatterns = exports.getGreaterThanPatterns = exports.pinoLogger = exports.uploadFileBufferToGCS = exports.readFileFromBucket = exports.applyFormat = exports.extractFromPath = exports.resolveUnitFromSynonyms = exports.fetchSynonymUnits = exports.processAppendedMappings = exports.isBiomarkerExternalNoVisualRange = exports.isBiomarkerValueNumerical = exports.extractValue = exports.parseErrorObj = exports.makeApiCallWithRetry = exports.runWithContextAsync = exports.runWithContext = exports.getRequestScopedFilename = exports.getRequestIdFromContext = exports.processingLogger = exports.mapErrorToRejectReason = exports.extractFormattedRejectReason = void 0;
|
|
8
8
|
// ### SERVICES ###
|
|
9
9
|
var reportCreator_service_1 = require("./service/reportCreator.service");
|
|
10
10
|
Object.defineProperty(exports, "postDataImportFileUploadToCore", { enumerable: true, get: function () { return reportCreator_service_1.postDataImportFileUploadToCore; } });
|
|
@@ -63,8 +63,6 @@ Object.defineProperty(exports, "ERROR_CATALOG", { enumerable: true, get: functio
|
|
|
63
63
|
Object.defineProperty(exports, "ERROR_MESSAGES", { enumerable: true, get: function () { return error_types_1.ERROR_MESSAGES; } });
|
|
64
64
|
Object.defineProperty(exports, "getErrorMessage", { enumerable: true, get: function () { return error_types_1.getErrorMessage; } });
|
|
65
65
|
Object.defineProperty(exports, "getRejectReason", { enumerable: true, get: function () { return error_types_1.getRejectReason; } });
|
|
66
|
-
Object.defineProperty(exports, "ParsingErrorType", { enumerable: true, get: function () { return error_types_1.ParsingErrorType; } });
|
|
67
|
-
Object.defineProperty(exports, "PARSING_ERROR_CATALOG", { enumerable: true, get: function () { return error_types_1.PARSING_ERROR_CATALOG; } });
|
|
68
66
|
var fileUploadErrorHandler_service_1 = require("./service/fileUploadErrorHandler.service");
|
|
69
67
|
Object.defineProperty(exports, "handleError", { enumerable: true, get: function () { return fileUploadErrorHandler_service_1.handleError; } });
|
|
70
68
|
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return fileUploadErrorHandler_service_1.ValidationError; } });
|
|
@@ -76,14 +74,9 @@ Object.defineProperty(exports, "mapErrorToRejectReason", { enumerable: true, get
|
|
|
76
74
|
var processingLogger_service_1 = require("./service/processingLogger.service");
|
|
77
75
|
Object.defineProperty(exports, "processingLogger", { enumerable: true, get: function () { return processingLogger_service_1.processingLogger; } });
|
|
78
76
|
Object.defineProperty(exports, "getRequestIdFromContext", { enumerable: true, get: function () { return processingLogger_service_1.getRequestIdFromContext; } });
|
|
79
|
-
Object.defineProperty(exports, "getCurrentRequestId", { enumerable: true, get: function () { return processingLogger_service_1.getCurrentRequestId; } });
|
|
80
77
|
Object.defineProperty(exports, "getRequestScopedFilename", { enumerable: true, get: function () { return processingLogger_service_1.getRequestScopedFilename; } });
|
|
81
78
|
Object.defineProperty(exports, "runWithContext", { enumerable: true, get: function () { return processingLogger_service_1.runWithContext; } });
|
|
82
79
|
Object.defineProperty(exports, "runWithContextAsync", { enumerable: true, get: function () { return processingLogger_service_1.runWithContextAsync; } });
|
|
83
|
-
var parsingErrorService_service_1 = require("./service/parsingErrorService.service");
|
|
84
|
-
Object.defineProperty(exports, "parsingErrorService", { enumerable: true, get: function () { return parsingErrorService_service_1.parsingErrorService; } });
|
|
85
|
-
Object.defineProperty(exports, "initParsingErrorRequestState", { enumerable: true, get: function () { return parsingErrorService_service_1.initParsingErrorRequestState; } });
|
|
86
|
-
Object.defineProperty(exports, "clearParsingErrorRequestState", { enumerable: true, get: function () { return parsingErrorService_service_1.clearParsingErrorRequestState; } });
|
|
87
80
|
// ### UTIL-TS ###
|
|
88
81
|
var apiUtils_1 = require("./util-ts/apiUtils");
|
|
89
82
|
Object.defineProperty(exports, "makeApiCallWithRetry", { enumerable: true, get: function () { return apiUtils_1.makeApiCallWithRetry; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;AAAA,mBAAmB;AACnB,yEAGyC;AAFvC,uIAAA,8BAA8B,OAAA;AAC9B,gIAAA,uBAAuB,OAAA;AAEzB,mFAU8C;AAT5C,oIAAA,sBAAsB,OAAA;AACtB,yHAAA,WAAW,OAAA;AACX,+HAAA,iBAAiB,OAAA;AACjB,2HAAA,aAAa,OAAA;AACb,6HAAA,eAAe,OAAA;AACf,yIAAA,2BAA2B,OAAA;AAC3B,qIAAA,uBAAuB,OAAA;AAEvB,2IAAA,6BAA6B,OAAA;AAG/B,2GAE0D;AADxD,wJAAA,8BAA8B,OAAA;AAGhC,+FASoD;AARlD,4IAAA,wBAAwB,OAAA;AACxB,gJAAA,4BAA4B,OAAA;AAC5B,0IAAA,sBAAsB,OAAA;AACtB,8IAAA,0BAA0B,OAAA;AAC1B,kIAAA,cAAc,OAAA;AACd,gJAAA,4BAA4B,OAAA;AAC5B,+HAAA,WAAW,OAAA;AACX,oJAAA,gCAAgC,OAAA;AAGlC,yEAEyC;AADvC,6IAAA,oCAAoC,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAE1D,yEAKyC;AAJvC,0HAAA,iBAAiB,OAAA;AACjB,4HAAA,mBAAmB,OAAA;AACnB,uHAAA,cAAc,OAAA;AACd,2HAAA,kBAAkB,OAAA;AAEpB,qFAG+C;AAF7C,uIAAA,UAAU,OAA4B;AACtC,mJAAA,yBAAyB,OAAwC;AAGnE,gBAAgB;AAChB,mEAcqC;AALnC,mHAAA,YAAY,OAAA;AAMd,+CA+C2B;AA9CzB,6HAAA,gCAAgC,OAAA;AAChC,+HAAA,kCAAkC,OAAA;AAClC,wGAAA,WAAW,OAAA;AACX,mHAAA,sBAAsB,OAAA;AACtB,+GAAA,kBAAkB,OAAA;AAOlB,yGAAA,YAAY,OAAA;AACZ,+GAAA,kBAAkB,OAAA;AAClB,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,kBAAkB,OAAA;AAClB,uHAAA,0BAA0B,OAAA;AAC1B,gGAAA,GAAG,OAAA;AAgBH,uGAAA,UAAU,OAAA;AAEV,yGAAA,YAAY,OAAA;AAad,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ErrorMessage } from '../types/error.types';
|
|
1
2
|
import { DataImportFileUpload, DataImportFileUploadStatus, DigitizationStatus, PipelineStep, RejectReason, Sex } from "../types/oht.types";
|
|
2
3
|
import dayjs from 'dayjs';
|
|
3
4
|
import { TransformationRulesChains } from "../types/custom-parser.types";
|
|
@@ -11,8 +12,14 @@ declare function parseGender(patientGender?: string): {
|
|
|
11
12
|
/**
|
|
12
13
|
* Maps parse type and error context to appropriate rejection reason
|
|
13
14
|
* Uses a priority-based approach to ensure the most specific reason is selected
|
|
15
|
+
*
|
|
16
|
+
* @param parseType - The type of parsing that failed (e.g., "age", "exam date", "units")
|
|
17
|
+
* @param errorMessages - Array to append error messages to
|
|
18
|
+
* @param notifySlack - notifySlack
|
|
19
|
+
* @param notifyNotes - notifyNotes
|
|
20
|
+
* @returns Object containing rejectedStatus and rejectReason
|
|
14
21
|
*/
|
|
15
|
-
declare function handleRejection(parseType: string, notifySlack?: boolean, notifyNotes?: boolean, notifyBi?: boolean): {
|
|
22
|
+
declare function handleRejection(parseType: string, errorMessages: ErrorMessage[], notifySlack?: boolean, notifyNotes?: boolean, notifyBi?: boolean): {
|
|
16
23
|
rejectedStatus: string;
|
|
17
24
|
rejectReason: RejectReason.INVALID_DATA_NO_BIOMARKER_DATA | RejectReason.LOW_IMAGE_QUALITY | RejectReason.NO_IN_PANEL_BIOMARKER | RejectReason.UNDERAGE_PERSON | RejectReason.LANGUAGE_NOT_SUPPORTED | RejectReason.IMPLAUSIBLE_DATA | RejectReason.MISSING_EXAM_DATE | RejectReason.MISSING_LAB_ORDER_ID | RejectReason.MISSING_EXTERNAL_PATIENT_ID | RejectReason.MISSING_PATIENT_SEX | RejectReason.MISSING_PATIENT_BIRTHDATE | RejectReason.UNSUPPORTED_UPLOAD | RejectReason.INCOMPLETE_DATA | RejectReason.NOT_AN_OFFICIAL_REPORT;
|
|
18
25
|
};
|
|
@@ -14,8 +14,6 @@ exports.getPartnerTransformationRules = getPartnerTransformationRules;
|
|
|
14
14
|
const moment_1 = __importDefault(require("moment/moment"));
|
|
15
15
|
const apiUtils_1 = require("../util-ts/apiUtils");
|
|
16
16
|
const processingLogger_service_1 = require("./processingLogger.service");
|
|
17
|
-
const parsingErrorService_service_1 = require("./parsingErrorService.service");
|
|
18
|
-
const error_types_1 = require("../types/error.types");
|
|
19
17
|
const oht_types_1 = require("../types/oht.types");
|
|
20
18
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
21
19
|
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
@@ -59,8 +57,14 @@ function parseGender(patientGender) {
|
|
|
59
57
|
/**
|
|
60
58
|
* Maps parse type and error context to appropriate rejection reason
|
|
61
59
|
* Uses a priority-based approach to ensure the most specific reason is selected
|
|
60
|
+
*
|
|
61
|
+
* @param parseType - The type of parsing that failed (e.g., "age", "exam date", "units")
|
|
62
|
+
* @param errorMessages - Array to append error messages to
|
|
63
|
+
* @param notifySlack - notifySlack
|
|
64
|
+
* @param notifyNotes - notifyNotes
|
|
65
|
+
* @returns Object containing rejectedStatus and rejectReason
|
|
62
66
|
*/
|
|
63
|
-
function handleRejection(parseType, notifySlack = true, notifyNotes = false, notifyBi = false) {
|
|
67
|
+
function handleRejection(parseType, errorMessages, notifySlack = true, notifyNotes = false, notifyBi = false) {
|
|
64
68
|
const rejectedStatus = 'REJECTED';
|
|
65
69
|
const lowerParseType = parseType.toLowerCase();
|
|
66
70
|
// Priority-based mapping: check most specific cases first
|
|
@@ -134,45 +138,12 @@ function handleRejection(parseType, notifySlack = true, notifyNotes = false, not
|
|
|
134
138
|
else {
|
|
135
139
|
rejectReason = oht_types_1.RejectReason.INVALID_DATA_NO_BIOMARKER_DATA;
|
|
136
140
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
parsingErrorService_service_1.parsingErrorService.record(errorType, {
|
|
142
|
-
messageSuffix,
|
|
143
|
-
rejectReason,
|
|
144
|
-
}, { notifySlack, notifyNotes, notifyBi });
|
|
141
|
+
errorMessages.push({
|
|
142
|
+
destination: { slack: notifySlack, notes: notifyNotes, bi: notifyBi },
|
|
143
|
+
message: `File rejected: ${parseType} parsing failed. Reason: ${rejectReason}`,
|
|
144
|
+
});
|
|
145
145
|
return { rejectedStatus, rejectReason };
|
|
146
146
|
}
|
|
147
|
-
function resolveRejectionParsingErrorType(lowerParseType, rejectReason) {
|
|
148
|
-
if (lowerParseType === 'patientage' || lowerParseType === 'patient age') {
|
|
149
|
-
return error_types_1.ParsingErrorType.REJECTED_UNDERAGE_PATIENT;
|
|
150
|
-
}
|
|
151
|
-
if (lowerParseType === 'patientexternalid' ||
|
|
152
|
-
lowerParseType === 'patient external id' ||
|
|
153
|
-
lowerParseType === 'patient externalid') {
|
|
154
|
-
return error_types_1.ParsingErrorType.REJECTED_MISSING_PATIENT_ID;
|
|
155
|
-
}
|
|
156
|
-
if (lowerParseType === 'patientsex' || lowerParseType === 'patient sex') {
|
|
157
|
-
return error_types_1.ParsingErrorType.REJECTED_MISSING_PATIENT_SEX;
|
|
158
|
-
}
|
|
159
|
-
if (lowerParseType.includes('biomarker')) {
|
|
160
|
-
return error_types_1.ParsingErrorType.REJECTED_NO_BIOMARKERS;
|
|
161
|
-
}
|
|
162
|
-
if (rejectReason === oht_types_1.RejectReason.UNDERAGE_PERSON) {
|
|
163
|
-
return error_types_1.ParsingErrorType.REJECTED_UNDERAGE_PATIENT;
|
|
164
|
-
}
|
|
165
|
-
if (rejectReason === oht_types_1.RejectReason.MISSING_EXTERNAL_PATIENT_ID) {
|
|
166
|
-
return error_types_1.ParsingErrorType.REJECTED_MISSING_PATIENT_ID;
|
|
167
|
-
}
|
|
168
|
-
if (rejectReason === oht_types_1.RejectReason.MISSING_PATIENT_SEX) {
|
|
169
|
-
return error_types_1.ParsingErrorType.REJECTED_MISSING_PATIENT_SEX;
|
|
170
|
-
}
|
|
171
|
-
if (rejectReason === oht_types_1.RejectReason.NO_IN_PANEL_BIOMARKER) {
|
|
172
|
-
return error_types_1.ParsingErrorType.REJECTED_NO_BIOMARKERS;
|
|
173
|
-
}
|
|
174
|
-
return error_types_1.ParsingErrorType.FATAL_VALIDATION;
|
|
175
|
-
}
|
|
176
147
|
async function queryFileUploadsWithFilters(filters, ohtCoreApiKey) {
|
|
177
148
|
const OHT_CORE_URL = process.env.OHT_CORE_URL;
|
|
178
149
|
const ohtCoreUrl = `${OHT_CORE_URL}/v1/file-uploads/query`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auxiliaryFunctions.service.js","sourceRoot":"","sources":["../../service/auxiliaryFunctions.service.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"auxiliaryFunctions.service.js","sourceRoot":"","sources":["../../service/auxiliaryFunctions.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { UnknownUnits } from "../types/custom-parser.types";
|
|
2
2
|
import { Measurement, PatientInfo, UnknownMeasurement, Exam, UnmappedLabKey, PartnerCustomization } from "../types/oht.types";
|
|
3
|
+
import { ErrorMessage } from "../types/error.types";
|
|
3
4
|
/**
|
|
4
5
|
* Extracts measurements from OHT report exams by processing each exam through biomarker mapping,
|
|
5
6
|
* transformation rules, and value extraction.
|
|
@@ -120,7 +121,7 @@ import { Measurement, PatientInfo, UnknownMeasurement, Exam, UnmappedLabKey, Par
|
|
|
120
121
|
* - `isReportCorrectlyParsed`: Boolean indicating if all measurements were parsed correctly
|
|
121
122
|
*
|
|
122
123
|
* ## Error Handling:
|
|
123
|
-
* - All errors are
|
|
124
|
+
* - All errors are added to the `errorMessages` array passed as parameter
|
|
124
125
|
* - Errors are categorized by destination (slack, notes, bi)
|
|
125
126
|
* - Processing continues even if individual exams fail
|
|
126
127
|
* - Errors are logged with context (filename, labKey, ohtBmId, etc.)
|
|
@@ -140,11 +141,12 @@ import { Measurement, PatientInfo, UnknownMeasurement, Exam, UnmappedLabKey, Par
|
|
|
140
141
|
* @param allowMultiMeasurementsPerBiomarker - Whether to allow multiple measurements per biomarker ID
|
|
141
142
|
* @param ohtCoreApiKey - API key for OHT Core API calls
|
|
142
143
|
* @param partnerId - Partner ID for fetching biomarker mappings and synonym units
|
|
144
|
+
* @param errorMessages - Array to accumulate error messages (modified in-place)
|
|
143
145
|
* @param isReportPreview - isReportPreview Report Simulator
|
|
144
146
|
* @param partnerCustomization - `panelCustomisation` and `reportCustomisation` coming from `partnerConfig`.
|
|
145
147
|
* @returns Promise resolving to extraction result with measurements, unknownMeasurements, unknownUnits, unmappedLabKeys, and parsing status
|
|
146
148
|
*/
|
|
147
|
-
declare function ohtReportMeasurementsExtractor(isReportPreview: boolean, exams: Exam[], sourceFilename: string, patientInfo: PatientInfo, documentDate: Date | undefined, allowMultiMeasurementsPerBiomarker: boolean, ohtCoreApiKey: string, partnerId: string, partnerCustomization?: PartnerCustomization): Promise<{
|
|
149
|
+
declare function ohtReportMeasurementsExtractor(isReportPreview: boolean, exams: Exam[], sourceFilename: string, patientInfo: PatientInfo, documentDate: Date | undefined, allowMultiMeasurementsPerBiomarker: boolean, ohtCoreApiKey: string, partnerId: string, errorMessages: ErrorMessage[], partnerCustomization?: PartnerCustomization): Promise<{
|
|
148
150
|
measurements: Measurement[];
|
|
149
151
|
unknownMeasurements: UnknownMeasurement[];
|
|
150
152
|
unknownUnits: UnknownUnits[];
|
|
@@ -43,8 +43,6 @@ const extractionUtils_1 = require("../util-ts/extractionUtils");
|
|
|
43
43
|
const processingLogger_service_1 = require("./processingLogger.service");
|
|
44
44
|
const apiUtils_1 = require("../util-ts/apiUtils");
|
|
45
45
|
const oht_types_1 = require("../types/oht.types");
|
|
46
|
-
const error_types_1 = require("../types/error.types");
|
|
47
|
-
const parsingErrorService_service_1 = require("./parsingErrorService.service");
|
|
48
46
|
const path = __importStar(require("path"));
|
|
49
47
|
const fs = __importStar(require("fs"));
|
|
50
48
|
// Import version from package.json file
|
|
@@ -86,10 +84,6 @@ const OHT_CORE_URL = process.env.OHT_CORE_URL;
|
|
|
86
84
|
* Current filename being processed (global state for error reporting)
|
|
87
85
|
*/
|
|
88
86
|
let filename = '';
|
|
89
|
-
function resolveUnknownMeasurementName(parts, fallback) {
|
|
90
|
-
const name = parts.filter((part) => part?.trim()).join(':');
|
|
91
|
-
return name || fallback;
|
|
92
|
-
}
|
|
93
87
|
/**
|
|
94
88
|
* Extracts measurements from OHT report exams by processing each exam through biomarker mapping,
|
|
95
89
|
* transformation rules, and value extraction.
|
|
@@ -210,7 +204,7 @@ function resolveUnknownMeasurementName(parts, fallback) {
|
|
|
210
204
|
* - `isReportCorrectlyParsed`: Boolean indicating if all measurements were parsed correctly
|
|
211
205
|
*
|
|
212
206
|
* ## Error Handling:
|
|
213
|
-
* - All errors are
|
|
207
|
+
* - All errors are added to the `errorMessages` array passed as parameter
|
|
214
208
|
* - Errors are categorized by destination (slack, notes, bi)
|
|
215
209
|
* - Processing continues even if individual exams fail
|
|
216
210
|
* - Errors are logged with context (filename, labKey, ohtBmId, etc.)
|
|
@@ -230,11 +224,12 @@ function resolveUnknownMeasurementName(parts, fallback) {
|
|
|
230
224
|
* @param allowMultiMeasurementsPerBiomarker - Whether to allow multiple measurements per biomarker ID
|
|
231
225
|
* @param ohtCoreApiKey - API key for OHT Core API calls
|
|
232
226
|
* @param partnerId - Partner ID for fetching biomarker mappings and synonym units
|
|
227
|
+
* @param errorMessages - Array to accumulate error messages (modified in-place)
|
|
233
228
|
* @param isReportPreview - isReportPreview Report Simulator
|
|
234
229
|
* @param partnerCustomization - `panelCustomisation` and `reportCustomisation` coming from `partnerConfig`.
|
|
235
230
|
* @returns Promise resolving to extraction result with measurements, unknownMeasurements, unknownUnits, unmappedLabKeys, and parsing status
|
|
236
231
|
*/
|
|
237
|
-
async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFilename, patientInfo, documentDate, allowMultiMeasurementsPerBiomarker, ohtCoreApiKey, partnerId, partnerCustomization) {
|
|
232
|
+
async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFilename, patientInfo, documentDate, allowMultiMeasurementsPerBiomarker, ohtCoreApiKey, partnerId, errorMessages, partnerCustomization) {
|
|
238
233
|
filename = sourceFilename;
|
|
239
234
|
const measurements = [];
|
|
240
235
|
const unknownMeasurements = [];
|
|
@@ -246,8 +241,9 @@ async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFile
|
|
|
246
241
|
if (labKeys.length === 0) {
|
|
247
242
|
const errorMsg = `No lab keys found, filename: ${(0, processingLogger_service_1.getRequestScopedFilename)(filename)}`;
|
|
248
243
|
processingLogger_service_1.processingLogger.logError(errorMsg);
|
|
249
|
-
|
|
250
|
-
|
|
244
|
+
errorMessages.push({
|
|
245
|
+
destination: { slack: true, notes: false, bi: false },
|
|
246
|
+
message: errorMsg,
|
|
251
247
|
});
|
|
252
248
|
return {
|
|
253
249
|
measurements,
|
|
@@ -394,10 +390,16 @@ async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFile
|
|
|
394
390
|
let isMeasurementCorrectlyParsed = true;
|
|
395
391
|
// if BM is already in measurements and multiple measurements are not allowed, continue to the next one
|
|
396
392
|
if (!allowMultiMeasurementsPerBiomarker && measurements.some(measurement => measurement.biomarkerId === finalOhtBmId)) {
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
393
|
+
processingLogger_service_1.processingLogger.addWarning(`Biomarker already in measurements array, should investigate, filename: ${(0, processingLogger_service_1.getRequestScopedFilename)(filename)}`, 'extract_measurements', {
|
|
394
|
+
warningType: 'duplicate_biomarker_measurement',
|
|
395
|
+
warningCategory: 'measurements',
|
|
396
|
+
warningSeverity: 'degraded',
|
|
397
|
+
data: { ohtBmId: finalOhtBmId, labKey },
|
|
398
|
+
});
|
|
399
|
+
errorMessages.push({
|
|
400
|
+
destination: { slack: false, notes: false, bi: true },
|
|
401
|
+
message: `Biomarkers Duplicated keys:[PLACEHOLDER]`,
|
|
402
|
+
item: `bmId:${finalOhtBmId}, labKey:${transformedExamObj.labKey}`
|
|
401
403
|
});
|
|
402
404
|
continue;
|
|
403
405
|
}
|
|
@@ -407,11 +409,16 @@ async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFile
|
|
|
407
409
|
`name:${ohtBiomarker.acf.shortName}, bmId:${finalOhtBmId}, labKey:${transformedExamObj.labKey}` :
|
|
408
410
|
`bmId:${finalOhtBmId}, labKey:${transformedExamObj.labKey}`;
|
|
409
411
|
if (!ohtBiomarker) {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
412
|
+
processingLogger_service_1.processingLogger.addWarning(`Biomarker not found in API response for ohtBmId: ${finalOhtBmId}, labKey: ${transformedExamObj.labKey}, filename: ${(0, processingLogger_service_1.getRequestScopedFilename)(filename)}`, 'extract_measurements', {
|
|
413
|
+
warningType: 'biomarker_not_found',
|
|
414
|
+
warningCategory: 'mapping',
|
|
415
|
+
warningSeverity: 'critical',
|
|
416
|
+
data: { ohtBmId: finalOhtBmId, labKey },
|
|
417
|
+
});
|
|
418
|
+
errorMessages.push({
|
|
419
|
+
destination: { slack: true, notes: true, bi: true },
|
|
420
|
+
message: `Biomarker not found for:[PLACEHOLDER]`,
|
|
421
|
+
item: `${bmInfo}`
|
|
415
422
|
});
|
|
416
423
|
continue;
|
|
417
424
|
}
|
|
@@ -433,26 +440,24 @@ async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFile
|
|
|
433
440
|
});
|
|
434
441
|
}
|
|
435
442
|
if (!isUnitParsedCorrectly) {
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
443
|
+
processingLogger_service_1.processingLogger.addWarning(`Unit not extracted correctly for "${finalOhtBmId}|${transformedExamObj.labKey}", filename: ${(0, processingLogger_service_1.getRequestScopedFilename)(filename)}`, 'extract_measurements', {
|
|
444
|
+
warningType: 'unit_extraction_failed',
|
|
445
|
+
warningCategory: 'measurements',
|
|
446
|
+
warningSeverity: 'degraded',
|
|
447
|
+
data: { ohtBmId: finalOhtBmId, labKey },
|
|
448
|
+
});
|
|
449
|
+
errorMessages.push({
|
|
450
|
+
destination: { slack: true, notes: true, bi: true },
|
|
451
|
+
message: `Unit not extracted correctly for:[PLACEHOLDER]`,
|
|
452
|
+
item: `${bmInfo}, unit:${unit}`
|
|
441
453
|
});
|
|
442
454
|
isMeasurementCorrectlyParsed = false;
|
|
443
455
|
}
|
|
444
456
|
let { valueType, alphanumericalValue, numberValue, valueComparator, isValueParsedCorrectly } = (0, extractionUtils_1.ohtReportParseExamValue)(transformedExamObj, ohtBiomarker);
|
|
445
457
|
if ((0, dataUtils_1.isNumericalWithoutValidResult)(valueType, numberValue, alphanumericalValue)) {
|
|
446
458
|
const alphanumericalValueTrimmed = alphanumericalValue?.trim() ?? '';
|
|
447
|
-
parsingErrorService_service_1.parsingErrorService.record(error_types_1.ParsingErrorType.NUMERIC_BIOMARKER_ALPHANUMERIC_VALUE, {
|
|
448
|
-
labKey: transformedExamObj.labKey,
|
|
449
|
-
biomarkerId: finalOhtBmId,
|
|
450
|
-
item: `${bmInfo}, value:${alphanumericalValueTrimmed}`,
|
|
451
|
-
ohtExam: transformedExamObj,
|
|
452
|
-
originalExam: originalExam ?? undefined,
|
|
453
|
-
});
|
|
454
459
|
const unknownMeasurement = {
|
|
455
|
-
biomarkerName:
|
|
460
|
+
biomarkerName: transformedExamObj.description ?? '',
|
|
456
461
|
value: alphanumericalValueTrimmed,
|
|
457
462
|
unit: unit ?? '',
|
|
458
463
|
annotation: transformedExamObj.annotation ?? '',
|
|
@@ -473,11 +478,16 @@ async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFile
|
|
|
473
478
|
continue;
|
|
474
479
|
}
|
|
475
480
|
if (!isValueParsedCorrectly) {
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
+
processingLogger_service_1.processingLogger.addWarning(`Value not extracted correctly for "${finalOhtBmId}|${transformedExamObj.labKey}", filename: ${(0, processingLogger_service_1.getRequestScopedFilename)(filename)}`, 'extract_measurements', {
|
|
482
|
+
warningType: 'value_extraction_failed',
|
|
483
|
+
warningCategory: 'measurements',
|
|
484
|
+
warningSeverity: 'degraded',
|
|
485
|
+
data: { ohtBmId: finalOhtBmId, labKey },
|
|
486
|
+
});
|
|
487
|
+
errorMessages.push({
|
|
488
|
+
destination: { slack: true, notes: true, bi: true },
|
|
489
|
+
message: `Value not extracted correctly for:[PLACEHOLDER]`,
|
|
490
|
+
item: `${bmInfo}, value:${numberValue}${unit}`
|
|
481
491
|
});
|
|
482
492
|
isMeasurementCorrectlyParsed = false;
|
|
483
493
|
}
|
|
@@ -485,12 +495,10 @@ async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFile
|
|
|
485
495
|
if (isValueParsedCorrectly && valueType === 'NUMERICAL') {
|
|
486
496
|
const isPlausibleValue = numberValue !== null && (0, extractionUtils_1.ohtReportCheckValueForPlausibleValues)(finalOhtBmId, transformedExamObj.labKey, ohtBiomarker, unit, numberValue, isUnitParsedCorrectly, filename);
|
|
487
497
|
if (!isPlausibleValue) {
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
item: `${bmInfo}, value:${numberValue}${unit}
|
|
492
|
-
ohtExam: transformedExamObj,
|
|
493
|
-
originalExam: originalExam ?? undefined,
|
|
498
|
+
errorMessages.push({
|
|
499
|
+
destination: { slack: false, notes: true, bi: true },
|
|
500
|
+
message: `Value is not plausible for:[PLACEHOLDER]`,
|
|
501
|
+
item: `${bmInfo}, value:${numberValue}${unit}`
|
|
494
502
|
});
|
|
495
503
|
// Resolve name with fallbacks
|
|
496
504
|
const implausibleName = transformedExamObj.examName ||
|
|
@@ -539,10 +547,16 @@ async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFile
|
|
|
539
547
|
to = extractedRange.to ?? null;
|
|
540
548
|
isRangeParsedCorrectly = extractedRange.isRangeParsedCorrectly;
|
|
541
549
|
if (!isRangeParsedCorrectly) {
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
550
|
+
processingLogger_service_1.processingLogger.addWarning(`Range not extracted correctly for "${finalOhtBmId}|${transformedExamObj.labKey}", filename: ${(0, processingLogger_service_1.getRequestScopedFilename)(filename)}`, 'extract_measurements', {
|
|
551
|
+
warningType: 'range_extraction_failed',
|
|
552
|
+
warningCategory: 'measurements',
|
|
553
|
+
warningSeverity: 'degraded',
|
|
554
|
+
data: { ohtBmId: finalOhtBmId, labKey },
|
|
555
|
+
});
|
|
556
|
+
errorMessages.push({
|
|
557
|
+
destination: { slack: true, notes: true, bi: true },
|
|
558
|
+
message: `Range not extracted correctly for:[PLACEHOLDER]`,
|
|
559
|
+
item: `${bmInfo}`
|
|
546
560
|
});
|
|
547
561
|
isMeasurementCorrectlyParsed = false;
|
|
548
562
|
}
|
|
@@ -606,7 +620,7 @@ async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFile
|
|
|
606
620
|
continue;
|
|
607
621
|
}
|
|
608
622
|
// No mapping or ohtBmId === -1: create unknownMeasurement
|
|
609
|
-
const unknownMeasurementName =
|
|
623
|
+
const unknownMeasurementName = `${transformedExamObj.mnemonic}:${transformedExamObj.examName}`;
|
|
610
624
|
const originalName = labKey.split(':')[1] || transformedExamObj.examName;
|
|
611
625
|
const annotation = `${transformedExamObj.annotation || ''}`;
|
|
612
626
|
const dataOrigin = {
|
|
@@ -642,7 +656,7 @@ async function ohtReportMeasurementsExtractor(isReportPreview, exams, sourceFile
|
|
|
642
656
|
backend_mapped_biomarkers: backendMappedCount,
|
|
643
657
|
unmapped_biomarkers: unmappedCount,
|
|
644
658
|
total_processed: exams.length,
|
|
645
|
-
errors:
|
|
659
|
+
errors: errorMessages.length,
|
|
646
660
|
});
|
|
647
661
|
return {
|
|
648
662
|
measurements,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ohtReportMeasurementsExtractor.service.js","sourceRoot":"","sources":["../../service/ohtReportMeasurementsExtractor.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ohtReportMeasurementsExtractor.service.js","sourceRoot":"","sources":["../../service/ohtReportMeasurementsExtractor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,6 @@ import pino from 'pino';
|
|
|
4
4
|
* Used to key the registry so each request has isolated state.
|
|
5
5
|
*/
|
|
6
6
|
export declare function getRequestIdFromContext(context: ProcessingContext): string;
|
|
7
|
-
/** Returns the current request id from AsyncLocalStorage (set by runWithContextAsync). */
|
|
8
|
-
export declare function getCurrentRequestId(): string | undefined;
|
|
9
7
|
/**
|
|
10
8
|
* Returns the request-scoped filename for use in log messages.
|
|
11
9
|
* Uses processingLogger state (from registry via AsyncLocalStorage) to ensure the filename
|
|
@@ -25,7 +23,6 @@ export interface ProcessingContext {
|
|
|
25
23
|
partnerId?: string;
|
|
26
24
|
partnerName?: string;
|
|
27
25
|
signedUploadId?: string;
|
|
28
|
-
uploadedByUserId?: string;
|
|
29
26
|
cloudEventId?: string;
|
|
30
27
|
messageId?: string;
|
|
31
28
|
publishTime?: string;
|
|
@@ -67,7 +64,6 @@ interface ProcessingState {
|
|
|
67
64
|
partnerId?: string;
|
|
68
65
|
partnerName?: string;
|
|
69
66
|
signedUploadId?: string;
|
|
70
|
-
uploadedByUserId?: string;
|
|
71
67
|
cloudEventId?: string;
|
|
72
68
|
messageId?: string;
|
|
73
69
|
publishTime?: string;
|
|
@@ -172,7 +168,6 @@ export declare const processingLogger: ProcessingLoggerService;
|
|
|
172
168
|
* Run handler logic inside a request-scoped context. State is keyed by request id in the registry;
|
|
173
169
|
* ALS holds only the id. Call at the start of each Cloud Event / request after building the context.
|
|
174
170
|
* @deprecated Prefer runWithContextAsync for async handlers.
|
|
175
|
-
* Note: sync variant does not init/flush parsingErrorService Layer 2 profiles.
|
|
176
171
|
*/
|
|
177
172
|
export declare function runWithContext<T>(context: ProcessingContext, fn: () => T): T;
|
|
178
173
|
/**
|