@openhealth/oht-custom-parser-lib 0.5.15 → 0.5.16
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 +1 -1
- package/dist/index.js.map +1 -1
- package/dist/service/fileUploadErrorHandler.service.js +9 -3
- package/dist/service/fileUploadErrorHandler.service.js.map +1 -1
- package/dist/service/ohtMeasurementsExtractor.service.js +48 -14
- package/dist/service/ohtMeasurementsExtractor.service.js.map +1 -1
- package/dist/service/ohtReportMeasurementsExtractor.service.d.ts +7 -12
- package/dist/service/ohtReportMeasurementsExtractor.service.js +50 -36
- package/dist/service/ohtReportMeasurementsExtractor.service.js.map +1 -1
- package/dist/service/processingLogger.service.d.ts +24 -1
- package/dist/service/processingLogger.service.js +232 -22
- package/dist/service/processingLogger.service.js.map +1 -1
- package/dist/service/reportCreator.service.js +8 -3
- package/dist/service/reportCreator.service.js.map +1 -1
- package/dist/service/slackMessages.service.js +8 -1
- package/dist/service/slackMessages.service.js.map +1 -1
- package/dist/types/oht.types.d.ts +1 -87
- package/dist/types/oht.types.js.map +1 -1
- package/dist/util-ts/apiUtils.js +6 -1
- package/dist/util-ts/apiUtils.js.map +1 -1
- package/dist/util-ts/dataUtils.js +20 -5
- package/dist/util-ts/dataUtils.js.map +1 -1
- package/dist/util-ts/extractionUtils.d.ts +2 -34
- package/dist/util-ts/extractionUtils.js +15 -124
- package/dist/util-ts/extractionUtils.js.map +1 -1
- package/package.json +36 -36
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportCreator.service.js","sourceRoot":"","sources":["../../service/reportCreator.service.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"reportCreator.service.js","sourceRoot":"","sources":["../../service/reportCreator.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,7 +85,14 @@ async function sendMessageToSlack(payload) {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
catch (error) {
|
|
88
|
-
processingLogger_service_1.processingLogger.addWarning(`Error sending message to Slack (error=${error instanceof Error ? error.message : String(error)})`, 'slack_message_sending'
|
|
88
|
+
processingLogger_service_1.processingLogger.addWarning(`Error sending message to Slack (error=${error instanceof Error ? error.message : String(error)})`, 'slack_message_sending', {
|
|
89
|
+
warningType: 'slack_notification_failed',
|
|
90
|
+
warningCategory: 'infrastructure',
|
|
91
|
+
warningSeverity: 'degraded',
|
|
92
|
+
data: {
|
|
93
|
+
error: error instanceof Error ? error.message : String(error),
|
|
94
|
+
},
|
|
95
|
+
});
|
|
89
96
|
}
|
|
90
97
|
}
|
|
91
98
|
//# sourceMappingURL=slackMessages.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slackMessages.service.js","sourceRoot":"","sources":["../../service/slackMessages.service.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"slackMessages.service.js","sourceRoot":"","sources":["../../service/slackMessages.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,51 +16,8 @@ export interface OHTPartner {
|
|
|
16
16
|
reportCustomisation?: ReportCustomisation;
|
|
17
17
|
style: ReportStyleConfig[];
|
|
18
18
|
}
|
|
19
|
-
export type PartnerCustomization = {
|
|
20
|
-
panelCustomisation?: PartnerCustomPanel;
|
|
21
|
-
reportCustomisation?: ReportCustomisation;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Lightweight type describing report rules used by checkOhtBiomarkerCompatibility.
|
|
25
|
-
*
|
|
26
|
-
* The current implementation only relies on a subset of fields:
|
|
27
|
-
* - objectType: must be "BIOMARKER" for biomarker rules
|
|
28
|
-
* - objectIds: optional list of biomarker IDs (as strings) that the rule applies to
|
|
29
|
-
* - includeAllObjects: when true, rule applies to all biomarkers of the given objectType
|
|
30
|
-
* - objectsFilter.compatibility: list of ACF compatibilities that this rule may override
|
|
31
|
-
* - config.compatibilityOverrideMap: map from current compatibility to the overridden compatibility
|
|
32
|
-
*
|
|
33
|
-
* Other properties can exist on the rule object and will be ignored by the compatibility helper.
|
|
34
|
-
*/
|
|
35
|
-
export type BiomarkerReportRule = {
|
|
36
|
-
/** Type of object the rule targets, e.g. "BIOMARKER" */
|
|
37
|
-
objectType: string;
|
|
38
|
-
/** Explicit list of biomarker IDs (as strings) this rule targets */
|
|
39
|
-
objectIds?: string[];
|
|
40
|
-
/** When true, rule applies to all objects of the given type */
|
|
41
|
-
includeAllObjects?: boolean;
|
|
42
|
-
objectsFilter?: {
|
|
43
|
-
/**
|
|
44
|
-
* List of compatibilities from ACF that this rule can override.
|
|
45
|
-
* Values come from BiomarkerCompatibility but we keep it permissive
|
|
46
|
-
* to stay forward‑compatible with backend-defined strings.
|
|
47
|
-
*/
|
|
48
|
-
compatibility?: (BiomarkerCompatibility | string)[];
|
|
49
|
-
};
|
|
50
|
-
config?: {
|
|
51
|
-
/**
|
|
52
|
-
* Map where the key is the current compatibility and the value
|
|
53
|
-
* is the compatibility that should be applied.
|
|
54
|
-
*/
|
|
55
|
-
compatibilityOverrideMap?: Record<string, BiomarkerCompatibility | string>;
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
19
|
export type ReportCustomisation = {
|
|
59
|
-
|
|
60
|
-
* Ordered list of report rules that can override biomarker compatibility.
|
|
61
|
-
* Only a subset of the shape is required by the compatibility helper, see BiomarkerReportRule.
|
|
62
|
-
*/
|
|
63
|
-
rules: BiomarkerReportRule[];
|
|
20
|
+
rules: any[];
|
|
64
21
|
displaySettings: ReportDisplaySettings;
|
|
65
22
|
enableHistoricalData: boolean;
|
|
66
23
|
enableHistoricalMode: boolean;
|
|
@@ -231,49 +188,6 @@ export interface OriginalExam {
|
|
|
231
188
|
contentType: string;
|
|
232
189
|
exam: string;
|
|
233
190
|
}
|
|
234
|
-
export interface OhtMetadata {
|
|
235
|
-
/** REQUIRED: Unique identifier for the report/order. Must be a non-empty string. */
|
|
236
|
-
labOrderId: string;
|
|
237
|
-
/** REQUIRED: Collection date in ISO 8601 format (2006-01-02T15:04:05.000Z). Must be a non-empty string. */
|
|
238
|
-
collectionDate: string;
|
|
239
|
-
/** Exam date */
|
|
240
|
-
examDate: string;
|
|
241
|
-
/** Order date */
|
|
242
|
-
documentDate: string;
|
|
243
|
-
}
|
|
244
|
-
export interface OhtPatient {
|
|
245
|
-
/** REQUIRED: Patient unique identifier. Must be a non-empty string. */
|
|
246
|
-
id: string;
|
|
247
|
-
/** Patient name (PacienteNome) */
|
|
248
|
-
name: string;
|
|
249
|
-
/** Patient first name */
|
|
250
|
-
firstName: string;
|
|
251
|
-
/** Patient last name */
|
|
252
|
-
lastName: string;
|
|
253
|
-
/** Patient birth date (DataNascimento) */
|
|
254
|
-
birthdate: string;
|
|
255
|
-
/** REQUIRED: Patient sex/gender. Must be one of: "MALE", "FEMALE", or "OTHER". Case-insensitive. */
|
|
256
|
-
sex: string;
|
|
257
|
-
/** Patient gender (alternative field) */
|
|
258
|
-
gender: string;
|
|
259
|
-
/** Patient social name */
|
|
260
|
-
socialName: string;
|
|
261
|
-
/** Patient email */
|
|
262
|
-
email: string;
|
|
263
|
-
/** Patient CPF */
|
|
264
|
-
cpf: string;
|
|
265
|
-
/** Patient Document ID */
|
|
266
|
-
documentId: string;
|
|
267
|
-
/** Patient address */
|
|
268
|
-
address: string;
|
|
269
|
-
/** Patient phone number */
|
|
270
|
-
phoneNumber: string;
|
|
271
|
-
}
|
|
272
|
-
export interface OhtReport {
|
|
273
|
-
metadata: OhtMetadata;
|
|
274
|
-
patient: OhtPatient;
|
|
275
|
-
exams: Exam[];
|
|
276
|
-
}
|
|
277
191
|
export interface UnmappedLabKey extends UnknownMeasurement {
|
|
278
192
|
jsonBlob?: string;
|
|
279
193
|
labKey?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oht.types.js","sourceRoot":"","sources":["../../types/oht.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"oht.types.js","sourceRoot":"","sources":["../../types/oht.types.ts"],"names":[],"mappings":"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"}
|
package/dist/util-ts/apiUtils.js
CHANGED
|
@@ -43,7 +43,12 @@ async function makeApiCallWithRetry(method, url, data, ohtCoreApiKey, retries =
|
|
|
43
43
|
if (attempt === retries) {
|
|
44
44
|
throw error;
|
|
45
45
|
}
|
|
46
|
-
processingLogger_service_1.processingLogger.addWarning(`Attempt ${attempt} failed. Retrying... (method=${method}, url=${url})`, 'api_call_retry'
|
|
46
|
+
processingLogger_service_1.processingLogger.addWarning(`Attempt ${attempt} failed. Retrying... (method=${method}, url=${url})`, 'api_call_retry', {
|
|
47
|
+
warningType: 'oht_core_api_error',
|
|
48
|
+
warningCategory: 'infrastructure',
|
|
49
|
+
warningSeverity: 'degraded',
|
|
50
|
+
data: { attempt, method, url },
|
|
51
|
+
});
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../../util-ts/apiUtils.ts"],"names":[],"mappings":";;;;;AAuCA,
|
|
1
|
+
{"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../../util-ts/apiUtils.ts"],"names":[],"mappings":";;;;;AAuCA,oDA0BC;AAED,sCAsBC;AAzFD,kDAA0B;AAC1B,4DAAoC;AACpC,kDAA0B;AAC1B,kFAAuE;AAEvE,MAAM,UAAU,GAAG,IAAI,eAAK,CAAC,KAAK,CAAC;IACjC,SAAS,EAAE,IAAI,EAAE,mDAAmD;IACpE,OAAO,EAAE,KAAK,EAAE,qCAAqC;IACrD,cAAc,EAAE,gBAAgB;CACjC,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,OAAO,GAAG,IAAI,oBAAU,CAAC;IAC7B,OAAO,EAAE,GAAG,EAAE,6CAA6C;IAC3D,aAAa,EAAE,CAAC,EAAE,mDAAmD;CACtE,CAAC,CAAC;AAEH,6BAA6B;AAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,WACpC,MAAc,EACd,GAAW,EACX,IAAS,EACT,aAAiC;IAEjC,MAAM,UAAU,GAAG,SAAS,aAAa,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG;QACd,aAAa,EAAE,UAAU;KAC1B,CAAC;IAEF,OAAO,IAAA,eAAK,EAAC;QACX,MAAM;QACN,GAAG;QACH,OAAO;QACP,IAAI;QACJ,UAAU;KACX,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,4CAA4C;AACrC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,GAAW,EACX,IAAS,EACT,aAAiC,EACjC,UAAkB,CAAC;IAEnB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,OAAO,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,MAAM,KAAK,CAAC;YACd,CAAC;YACD,2CAAgB,CAAC,UAAU,CACzB,WAAW,OAAO,gCAAgC,MAAM,SAAS,GAAG,GAAG,EACvE,gBAAgB,EAChB;gBACE,WAAW,EAAE,oBAAoB;gBACjC,eAAe,EAAE,gBAAgB;gBACjC,eAAe,EAAE,UAAU;gBAC3B,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE;aAC/B,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,IAAS;IACrC,IAAI,KAAK,GAAG;QACV,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,sBAAsB;QAC7C,kDAAkD;QAClD,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,6CAA6C;KACnE,CAAC;IACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,GAAG;YACN,GAAG,KAAK;YACR,qEAAqE;YACrE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;SAC7B,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,GAAG;YACN,GAAG,KAAK;YACR,oDAAoD;YACpD,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -145,8 +145,13 @@ const fetchSynonymUnits = async (partnerId, ohtCoreApiKey) => {
|
|
|
145
145
|
}
|
|
146
146
|
catch (error) {
|
|
147
147
|
processingLogger_service_1.processingLogger.addWarning(`Failed to fetch synonym units from API, falling back to hardcoded synonyms`, 'fetch_synonym_units', {
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
warningType: 'synonym_units_fetch_failed',
|
|
149
|
+
warningCategory: 'infrastructure',
|
|
150
|
+
warningSeverity: 'degraded',
|
|
151
|
+
data: {
|
|
152
|
+
partner_id: partnerId,
|
|
153
|
+
error: error.message,
|
|
154
|
+
},
|
|
150
155
|
});
|
|
151
156
|
return [];
|
|
152
157
|
}
|
|
@@ -173,22 +178,27 @@ function processAppendedMappings(exams, labKeys, filename, annotationConfig) {
|
|
|
173
178
|
}
|
|
174
179
|
// Use request-scoped fileName so log message and structured context (file_name, file_upload_id) always match; avoids cross-request leakage under concurrency.
|
|
175
180
|
const filenameForLogging = (0, processingLogger_service_1.getRequestScopedFilename)(filename);
|
|
181
|
+
processingLogger_service_1.processingLogger.logInfo(`Processing appended mapping with ${labKeys.length} additional labKeys. filename: ${filenameForLogging}`);
|
|
176
182
|
const allExtractedValues = [];
|
|
177
183
|
const labKeyResults = [];
|
|
178
184
|
for (const additionalLabKey of labKeys) {
|
|
185
|
+
processingLogger_service_1.processingLogger.logInfo(`Processing labKey: ${additionalLabKey.labKey}, filename: ${filenameForLogging}`);
|
|
179
186
|
// First try: Find exam by direct labKey match
|
|
180
187
|
let exam = exams.find(exam => exam?.labKey === additionalLabKey.labKey ||
|
|
181
188
|
exam?.ohtExam?.labKey === additionalLabKey.labKey);
|
|
182
189
|
let examData = null;
|
|
183
190
|
if (exam) {
|
|
191
|
+
processingLogger_service_1.processingLogger.logInfo(`Found exam by direct labKey match for: ${additionalLabKey.labKey}`);
|
|
184
192
|
// Use ohtExam data if available, otherwise use exam directly
|
|
185
193
|
examData = exam.ohtExam || exam;
|
|
186
194
|
}
|
|
187
195
|
else {
|
|
196
|
+
processingLogger_service_1.processingLogger.logInfo(`Direct labKey not found, trying complex search for: ${additionalLabKey.labKey}`);
|
|
188
197
|
// Second try: labKey search for "labKeyFirstHalf:labKeySecondHalf" format
|
|
189
198
|
examData = findExamByLabKey(exams, additionalLabKey.labKey);
|
|
190
199
|
if (!examData)
|
|
191
200
|
continue;
|
|
201
|
+
processingLogger_service_1.processingLogger.logInfo(`Found exam by complex search for: ${additionalLabKey.labKey}`);
|
|
192
202
|
}
|
|
193
203
|
const parts = [];
|
|
194
204
|
// Process each extraction path
|
|
@@ -211,9 +221,14 @@ function processAppendedMappings(exams, labKeys, filename, annotationConfig) {
|
|
|
211
221
|
// Handle required paths - if required and no value, log warning and use fallback
|
|
212
222
|
if (path.required && !rawValue && !path.defaultValue) {
|
|
213
223
|
processingLogger_service_1.processingLogger.addWarning(`Required extraction path ${path.path} not found for labKey ${additionalLabKey.labKey}`, 'process_append_mappings', {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
224
|
+
warningType: 'required_extraction_path_missing',
|
|
225
|
+
warningCategory: 'mapping',
|
|
226
|
+
warningSeverity: 'degraded',
|
|
227
|
+
data: {
|
|
228
|
+
labKey: additionalLabKey.labKey,
|
|
229
|
+
path: path.path,
|
|
230
|
+
filename: filenameForLogging,
|
|
231
|
+
},
|
|
217
232
|
});
|
|
218
233
|
parts.push(`appended biomarker information for ${additionalLabKey.labKey} not found`);
|
|
219
234
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataUtils.js","sourceRoot":"","sources":["../../util-ts/dataUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dataUtils.js","sourceRoot":"","sources":["../../util-ts/dataUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RangeExtractionResponse, SynonymUnit } from "../types/custom-parser.types";
|
|
2
|
-
import { AnnotationLabKey, BackendBiomarkerMapping, OhtExam, PatientInfo, Biomarker, BiomarkerValueType, MeasurementValueComparator, AnnotationConfig, Exam
|
|
2
|
+
import { AnnotationLabKey, BackendBiomarkerMapping, OhtExam, PatientInfo, Biomarker, BiomarkerValueType, MeasurementValueComparator, AnnotationConfig, Exam } from "../types/oht.types";
|
|
3
3
|
/**
|
|
4
4
|
* Default range parsing function that extracts range information from exam data
|
|
5
5
|
* @param exam - The OHT exam object containing range information
|
|
@@ -49,37 +49,6 @@ declare function ohtReportExtractReferenceAnnotation(annotationConfig: Annotatio
|
|
|
49
49
|
* Always uses parseRange function from extractionUtils for range extraction
|
|
50
50
|
*/
|
|
51
51
|
declare function ohtReportExtractReferenceRanges(ohtExam: OhtExam, patientInfo: PatientInfo): RangeExtractionResponse;
|
|
52
|
-
/**
|
|
53
|
-
* Computes the effective compatibility for a biomarker, taking into account
|
|
54
|
-
* report customisation rules when present and falling back to the ACF
|
|
55
|
-
* compatibility when there are no applicable rules.
|
|
56
|
-
*
|
|
57
|
-
* This is a thin wrapper around checkOhtBiomarkerCompatibility that:
|
|
58
|
-
* - Uses reportCustomisation rules if present
|
|
59
|
-
* - Falls back to ohtBiomarker.acf.compatibility when rules are absent
|
|
60
|
-
*/
|
|
61
|
-
declare function getEffectiveBiomarkerCompatibility(ohtBiomarker: Biomarker, panelCustomisation?: PartnerCustomPanel, reportCustomisation?: ReportCustomisation): BiomarkerCompatibility | undefined;
|
|
62
|
-
/**
|
|
63
|
-
* Centralizes reference range selection according to the biomarker's
|
|
64
|
-
* effective compatibility.
|
|
65
|
-
*
|
|
66
|
-
* Main rules:
|
|
67
|
-
* - external_strict: uses ohtReportExtractReferenceRanges; parse failures keep
|
|
68
|
-
* isRangeParsedCorrectly = false (warnings are generated as today).
|
|
69
|
-
* - external / external_no_visual_range: tries ohtReportExtractReferenceRanges;
|
|
70
|
-
* if it fails, returns { null, null, true } (no warnings, no parse error).
|
|
71
|
-
* - internal: never extracts an external range; always returns { null, null, true }.
|
|
72
|
-
* - external_alphanumerical: does not extract ranges or call parseRange;
|
|
73
|
-
* always returns { null, null, true }.
|
|
74
|
-
* - custom / undefined / others: keeps current behaviour, calling
|
|
75
|
-
* ohtReportExtractReferenceRanges once and respecting its
|
|
76
|
-
* isRangeParsedCorrectly value.
|
|
77
|
-
*/
|
|
78
|
-
export type ReferenceRangeLogEntry = {
|
|
79
|
-
labkey: string;
|
|
80
|
-
compatibility: string;
|
|
81
|
-
};
|
|
82
|
-
declare function getRangeForCompatibility(ohtBiomarker: Biomarker, compatibility: BiomarkerCompatibility | undefined, ohtExam: OhtExam, patientInfo: PatientInfo, logEntries?: ReferenceRangeLogEntry[]): RangeExtractionResponse;
|
|
83
52
|
declare function ohtReportExtractValueFromGreaterLowerThan(value: string): {
|
|
84
53
|
extractedValue: number | null;
|
|
85
54
|
extractedValueComparator: MeasurementValueComparator | null;
|
|
@@ -97,5 +66,4 @@ declare function ohtReportParseExamValue(ohtExam: OhtExam, ohtBiomarker: Biomark
|
|
|
97
66
|
isValueParsedCorrectly: boolean;
|
|
98
67
|
};
|
|
99
68
|
declare function ohtReportCheckValueForPlausibleValues(ohtBmId: number, labKey: string, ohtBiomarker: Biomarker, unit: string, value: number, isUnitParsedCorrectly: boolean, filename: string): boolean;
|
|
100
|
-
|
|
101
|
-
export { parseRange, handleBiomarkerId, ohtReportExtractUnit, ohtReportExtractReferenceAnnotation, ohtReportExtractReferenceRanges, ohtReportExtractValueFromGreaterLowerThan, ohtReportParseExamValue, ohtReportCheckValueForPlausibleValues, checkOhtBiomarkerCompatibility, getEffectiveBiomarkerCompatibility, getRangeForCompatibility, };
|
|
69
|
+
export { parseRange, handleBiomarkerId, ohtReportExtractUnit, ohtReportExtractReferenceAnnotation, ohtReportExtractReferenceRanges, ohtReportExtractValueFromGreaterLowerThan, ohtReportParseExamValue, ohtReportCheckValueForPlausibleValues, };
|
|
@@ -11,9 +11,6 @@ exports.ohtReportExtractReferenceRanges = ohtReportExtractReferenceRanges;
|
|
|
11
11
|
exports.ohtReportExtractValueFromGreaterLowerThan = ohtReportExtractValueFromGreaterLowerThan;
|
|
12
12
|
exports.ohtReportParseExamValue = ohtReportParseExamValue;
|
|
13
13
|
exports.ohtReportCheckValueForPlausibleValues = ohtReportCheckValueForPlausibleValues;
|
|
14
|
-
exports.checkOhtBiomarkerCompatibility = checkOhtBiomarkerCompatibility;
|
|
15
|
-
exports.getEffectiveBiomarkerCompatibility = getEffectiveBiomarkerCompatibility;
|
|
16
|
-
exports.getRangeForCompatibility = getRangeForCompatibility;
|
|
17
14
|
const oht_types_1 = require("../types/oht.types");
|
|
18
15
|
const moment_1 = __importDefault(require("moment"));
|
|
19
16
|
const processingLogger_service_1 = require("../service/processingLogger.service");
|
|
@@ -372,7 +369,7 @@ function parsePtNumber(raw) {
|
|
|
372
369
|
* @returns Array of RegExp objects for "less than" pattern matching
|
|
373
370
|
*/
|
|
374
371
|
function getLessThanPatternsLocal() {
|
|
375
|
-
|
|
372
|
+
return [
|
|
376
373
|
/<=\s*([\d\.,]+)/, // Universal: "<="
|
|
377
374
|
/at[eé]\s*([\d\.,]+)/, // Portuguese: "até"
|
|
378
375
|
/inferior\s+[AaÀà]\s+([\d\.,]+)/, // Portuguese: "inferior a/à"
|
|
@@ -386,14 +383,13 @@ function getLessThanPatternsLocal() {
|
|
|
386
383
|
/inferior\s+ou\s+igual\s+(?:[AaÀà]\s+)?([\d\.,]+)/, // Portuguese: "inferior ou igual a/à"
|
|
387
384
|
/less\s+than\s+or\s+equal\s+to\s+([\d\.,]+)/i, // English: "less than or equal to"
|
|
388
385
|
];
|
|
389
|
-
return patterns;
|
|
390
386
|
}
|
|
391
387
|
/**
|
|
392
388
|
* Gets an array of regular expressions for matching "greater than" patterns in various languages
|
|
393
389
|
* @returns Array of RegExp objects for "greater than" pattern matching
|
|
394
390
|
*/
|
|
395
391
|
function getGreaterThanPatternsLocal() {
|
|
396
|
-
|
|
392
|
+
return [
|
|
397
393
|
/>=\s*([\d\.,]+)/, // Universal: ">="
|
|
398
394
|
/superior\s+[AaÀà]\s+([\d\.,]+)/, // Spanish/Portuguese: "superior a/à"
|
|
399
395
|
/>\s?([\d\.,]+)/, // Universal: ">"
|
|
@@ -407,7 +403,6 @@ function getGreaterThanPatternsLocal() {
|
|
|
407
403
|
/maior\s+ou\s+igual\s+(?:[AaÀà]\s+)?([\d\.,]+)/, // Portuguese: "maior ou igual a/à"
|
|
408
404
|
/greater\s+than\s+or\s+equal\s+to\s+([\d\.,]+)/i, // English: "greater than or equal to"
|
|
409
405
|
];
|
|
410
|
-
return patterns;
|
|
411
406
|
}
|
|
412
407
|
/**
|
|
413
408
|
* Converts backend biomarker id to know if it should be mapped or unmapped
|
|
@@ -542,70 +537,6 @@ function ohtReportExtractReferenceRanges(ohtExam, patientInfo) {
|
|
|
542
537
|
}
|
|
543
538
|
return nullRangeNotParsedCorrectly;
|
|
544
539
|
}
|
|
545
|
-
/**
|
|
546
|
-
* Computes the effective compatibility for a biomarker, taking into account
|
|
547
|
-
* report customisation rules when present and falling back to the ACF
|
|
548
|
-
* compatibility when there are no applicable rules.
|
|
549
|
-
*
|
|
550
|
-
* This is a thin wrapper around checkOhtBiomarkerCompatibility that:
|
|
551
|
-
* - Uses reportCustomisation rules if present
|
|
552
|
-
* - Falls back to ohtBiomarker.acf.compatibility when rules are absent
|
|
553
|
-
*/
|
|
554
|
-
function getEffectiveBiomarkerCompatibility(ohtBiomarker, panelCustomisation, reportCustomisation) {
|
|
555
|
-
const compatibilityFromRules = checkOhtBiomarkerCompatibility(ohtBiomarker, panelCustomisation, reportCustomisation);
|
|
556
|
-
return compatibilityFromRules ?? ohtBiomarker.acf?.compatibility;
|
|
557
|
-
}
|
|
558
|
-
function getRangeForCompatibility(ohtBiomarker, compatibility, ohtExam, patientInfo, logEntries) {
|
|
559
|
-
const nullRangeTrue = {
|
|
560
|
-
from: null,
|
|
561
|
-
to: null,
|
|
562
|
-
isRangeParsedCorrectly: true,
|
|
563
|
-
};
|
|
564
|
-
const nullRangeFalse = {
|
|
565
|
-
from: null,
|
|
566
|
-
to: null,
|
|
567
|
-
isRangeParsedCorrectly: false,
|
|
568
|
-
};
|
|
569
|
-
// external_alphanumerical: forces alphanumerical behaviour, never extracts a range
|
|
570
|
-
if (compatibility === oht_types_1.BiomarkerCompatibility.ExternalAlphanumerical) {
|
|
571
|
-
return nullRangeTrue;
|
|
572
|
-
}
|
|
573
|
-
// If the biomarker is not numerical, we should not extract a range
|
|
574
|
-
if (!(0, dataUtils_1.isBiomarkerValueNumerical)(ohtBiomarker)) {
|
|
575
|
-
return nullRangeTrue;
|
|
576
|
-
}
|
|
577
|
-
if (logEntries) {
|
|
578
|
-
logEntries.push({
|
|
579
|
-
labkey: ohtExam.labKey ?? '',
|
|
580
|
-
compatibility: compatibility ?? 'undefined',
|
|
581
|
-
});
|
|
582
|
-
}
|
|
583
|
-
switch (compatibility) {
|
|
584
|
-
case oht_types_1.BiomarkerCompatibility.Internal:
|
|
585
|
-
// Internal ranges are handled downstream, not here
|
|
586
|
-
return nullRangeTrue;
|
|
587
|
-
case oht_types_1.BiomarkerCompatibility.External:
|
|
588
|
-
case oht_types_1.BiomarkerCompatibility.ExternalNoVisualRange: {
|
|
589
|
-
const extracted = ohtReportExtractReferenceRanges(ohtExam, patientInfo);
|
|
590
|
-
if (extracted.isRangeParsedCorrectly) {
|
|
591
|
-
return extracted;
|
|
592
|
-
}
|
|
593
|
-
// Internal fallback: do not call parseRange again, just clear the range
|
|
594
|
-
// and keep isRangeParsedCorrectly = true to avoid warnings.
|
|
595
|
-
return nullRangeTrue;
|
|
596
|
-
}
|
|
597
|
-
case oht_types_1.BiomarkerCompatibility.ExternalStrict: {
|
|
598
|
-
const extracted = ohtReportExtractReferenceRanges(ohtExam, patientInfo);
|
|
599
|
-
// Strict behaviour: if extraction fails, we keep the error.
|
|
600
|
-
return extracted.isRangeParsedCorrectly ? extracted : nullRangeFalse;
|
|
601
|
-
}
|
|
602
|
-
case oht_types_1.BiomarkerCompatibility.Custom:
|
|
603
|
-
default: {
|
|
604
|
-
// Default/custom behaviour: keep the current extraction logic
|
|
605
|
-
return ohtReportExtractReferenceRanges(ohtExam, patientInfo);
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
}
|
|
609
540
|
function ohtReportExtractValueFromGreaterLowerThan(value) {
|
|
610
541
|
// Checks first if any greater than pattern is present
|
|
611
542
|
const greaterThanPatterns = getGreaterThanPatternsLocal(); // TODO: CAN USE THE SAME PATTERNS AS PARSE RANGE FUNCTION?
|
|
@@ -724,61 +655,21 @@ function ohtReportCheckValueForPlausibleValues(ohtBmId, labKey, ohtBiomarker, un
|
|
|
724
655
|
// Log if the value is not plausible
|
|
725
656
|
if (!isPlausibleValue) {
|
|
726
657
|
processingLogger_service_1.processingLogger.addWarning(`Value "${value} ${unit}" not plausible "${plausibleLowerValue} to ${plausibleUpperValue}" for "${ohtBmId}" | "${labKey}"`, 'plausibility_check', {
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
658
|
+
warningType: 'plausibility_check_failed',
|
|
659
|
+
warningCategory: 'measurements',
|
|
660
|
+
warningSeverity: 'degraded',
|
|
661
|
+
data: {
|
|
662
|
+
ohtBmId,
|
|
663
|
+
labKey,
|
|
664
|
+
value,
|
|
665
|
+
unit,
|
|
666
|
+
standardUnit,
|
|
667
|
+
plausibleLowerValue,
|
|
668
|
+
plausibleUpperValue,
|
|
669
|
+
filename,
|
|
670
|
+
},
|
|
735
671
|
});
|
|
736
672
|
}
|
|
737
673
|
return isPlausibleValue;
|
|
738
674
|
}
|
|
739
|
-
function checkOhtBiomarkerCompatibility(ohtBiomarker, panelCustomisation, reportCustomisation) {
|
|
740
|
-
const biomarkerId = ohtBiomarker.id;
|
|
741
|
-
const biomarkerAcfCompatibility = ohtBiomarker.acf?.compatibility;
|
|
742
|
-
// If no ACF compatibility, return undefined
|
|
743
|
-
if (!biomarkerAcfCompatibility) {
|
|
744
|
-
return undefined;
|
|
745
|
-
}
|
|
746
|
-
// If no rules exist, return ACF compatibility
|
|
747
|
-
if (!reportCustomisation?.rules || reportCustomisation.rules.length === 0) {
|
|
748
|
-
return biomarkerAcfCompatibility;
|
|
749
|
-
}
|
|
750
|
-
// Convert biomarkerId to string for comparison (objectIds are strings in the rules)
|
|
751
|
-
const biomarkerIdString = String(biomarkerId);
|
|
752
|
-
// Helper function to apply compatibility override map
|
|
753
|
-
const applyOverrideMap = (compatibility, overrideMap) => {
|
|
754
|
-
if (overrideMap && overrideMap[compatibility]) {
|
|
755
|
-
// Cast to BiomarkerCompatibility as override map values might be custom strings
|
|
756
|
-
return overrideMap[compatibility];
|
|
757
|
-
}
|
|
758
|
-
return compatibility;
|
|
759
|
-
};
|
|
760
|
-
// Start with ACF compatibility - this will be modified by applying rules in sequence
|
|
761
|
-
let currentCompatibility = biomarkerAcfCompatibility;
|
|
762
|
-
// 1. Apply all specific rules where objectIds contains the biomarkerId (in order)
|
|
763
|
-
const specificRules = reportCustomisation.rules.filter(rule => rule.objectType === "BIOMARKER" &&
|
|
764
|
-
rule.objectIds?.includes(biomarkerIdString));
|
|
765
|
-
for (const rule of specificRules) {
|
|
766
|
-
const overrideMap = rule.config?.compatibilityOverrideMap;
|
|
767
|
-
currentCompatibility = applyOverrideMap(currentCompatibility, overrideMap);
|
|
768
|
-
}
|
|
769
|
-
// 2. Apply all general rules with includeAllObjects: true (in order)
|
|
770
|
-
// Check if objectsFilter.compatibility includes the original ACF compatibility
|
|
771
|
-
const generalRules = reportCustomisation.rules.filter(rule => rule.objectType === "BIOMARKER" &&
|
|
772
|
-
rule.includeAllObjects === true);
|
|
773
|
-
for (const rule of generalRules) {
|
|
774
|
-
const filterCompatibility = rule.objectsFilter?.compatibility;
|
|
775
|
-
// Check if the filter includes the original ACF compatibility
|
|
776
|
-
if (Array.isArray(filterCompatibility) && filterCompatibility.includes(biomarkerAcfCompatibility)) {
|
|
777
|
-
const overrideMap = rule.config?.compatibilityOverrideMap;
|
|
778
|
-
currentCompatibility = applyOverrideMap(currentCompatibility, overrideMap);
|
|
779
|
-
}
|
|
780
|
-
}
|
|
781
|
-
// Return the final compatibility after applying all rules in sequence
|
|
782
|
-
return currentCompatibility;
|
|
783
|
-
}
|
|
784
675
|
//# sourceMappingURL=extractionUtils.js.map
|