@openhealth/oht-custom-parser-lib 0.2.75 → 0.2.76
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 -2
- package/dist/index.js +4 -10
- package/dist/index.js.map +1 -1
- package/dist/service/ohtReportMeasurementsExtractor.service.d.ts +157 -0
- package/dist/service/ohtReportMeasurementsExtractor.service.js +661 -0
- package/dist/service/ohtReportMeasurementsExtractor.service.js.map +1 -0
- package/dist/util-ts/extractionUtils.d.ts +63 -4
- package/dist/util-ts/extractionUtils.js +275 -7
- package/dist/util-ts/extractionUtils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ohtReportMeasurementsExtractor.service.js","sourceRoot":"","sources":["../../service/ohtReportMeasurementsExtractor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,69 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { OhtExam, PatientInfo } from "../types/oht.types";
|
|
1
|
+
import { RangeExtractionResponse, SynonymUnit } from "../types/custom-parser.types";
|
|
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
|
|
6
6
|
* @param labToOhtMapper - The lab to OHT mapper configuration
|
|
7
7
|
* @returns Range extraction response with parsed range bounds
|
|
8
8
|
*/
|
|
9
|
-
declare function parseRange(exam: OhtExam,
|
|
10
|
-
|
|
9
|
+
declare function parseRange(exam: OhtExam, patientInfo: PatientInfo): RangeExtractionResponse;
|
|
10
|
+
/**
|
|
11
|
+
* Converts backend biomarker id to know if it should be mapped or unmapped
|
|
12
|
+
* @param backendMapping - The backend mapping configuration
|
|
13
|
+
* @param labKey - The lab key identifier
|
|
14
|
+
* @returns The final ohtBmId and annotationConfig
|
|
15
|
+
*/
|
|
16
|
+
declare function handleBiomarkerId(backendMapping: BackendBiomarkerMapping, labKey: string): {
|
|
17
|
+
ohtBmId: number;
|
|
18
|
+
annotationConfig: {
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
labKeys: AnnotationLabKey[];
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Extracts unit from ohtExam (OhtExam object)
|
|
25
|
+
* @param ohtExam - OhtExam object (not a JSON string)
|
|
26
|
+
* @param ohtBiomarker - Biomarker information
|
|
27
|
+
* @param synonymUnits - Synonym units for unit resolution
|
|
28
|
+
* @param partnerId - Partner ID for synonym resolution
|
|
29
|
+
*/
|
|
30
|
+
declare function ohtReportExtractUnit(ohtExam: OhtExam, ohtBiomarker: Biomarker, synonymUnits: SynonymUnit[] | null, partnerId: string): {
|
|
31
|
+
unit: string;
|
|
32
|
+
isUnitParsedCorrectly: boolean;
|
|
33
|
+
originalUnit: string;
|
|
34
|
+
isArbitraryUnit: boolean;
|
|
35
|
+
unknownUnit: string;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Extracts reference annotation from ohtExam (OhtExam object)
|
|
39
|
+
* @param annotationConfig - Annotation configuration for appended biomarkers
|
|
40
|
+
* @param ohtExam - OhtExam object (not a JSON string)
|
|
41
|
+
* @param patientInfo - Patient information
|
|
42
|
+
* @param documentDate - Document date
|
|
43
|
+
* @param exams - Array of exams for appended mappings
|
|
44
|
+
* @param filename - Current filename being processed (for error reporting)
|
|
45
|
+
*/
|
|
46
|
+
declare function ohtReportExtractReferenceAnnotation(annotationConfig: AnnotationConfig | undefined, ohtExam: OhtExam, patientInfo: PatientInfo, documentDate: Date | undefined, exams: Exam[] | undefined, filename: string): string;
|
|
47
|
+
/**
|
|
48
|
+
* Extracts reference ranges from ohtExam (OhtExam object)
|
|
49
|
+
* Always uses parseRange function from extractionUtils for range extraction
|
|
50
|
+
*/
|
|
51
|
+
declare function ohtReportExtractReferenceRanges(ohtExam: OhtExam, patientInfo: PatientInfo): RangeExtractionResponse;
|
|
52
|
+
declare function ohtReportExtractValueFromGreaterLowerThan(value: string): {
|
|
53
|
+
extractedValue: number | null;
|
|
54
|
+
extractedValueComparator: MeasurementValueComparator | null;
|
|
55
|
+
valueParsedCorrectly: boolean;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Parses exam value from ohtExam (OhtExam object)
|
|
59
|
+
* Now uses value directly from ohtExam
|
|
60
|
+
*/
|
|
61
|
+
declare function ohtReportParseExamValue(ohtExam: OhtExam, ohtBiomarker: Biomarker): {
|
|
62
|
+
valueType: BiomarkerValueType;
|
|
63
|
+
alphanumericalValue: string | null;
|
|
64
|
+
numberValue: number | null;
|
|
65
|
+
valueComparator: MeasurementValueComparator;
|
|
66
|
+
isValueParsedCorrectly: boolean;
|
|
67
|
+
};
|
|
68
|
+
declare function ohtReportCheckValueForPlausibleValues(ohtBmId: number, labKey: string, ohtBiomarker: Biomarker, unit: string, value: number, isUnitParsedCorrectly: boolean, filename: string): boolean;
|
|
69
|
+
export { parseRange, handleBiomarkerId, ohtReportExtractUnit, ohtReportExtractReferenceAnnotation, ohtReportExtractReferenceRanges, ohtReportExtractValueFromGreaterLowerThan, ohtReportParseExamValue, ohtReportCheckValueForPlausibleValues, };
|
|
@@ -4,14 +4,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parseRange = parseRange;
|
|
7
|
+
exports.handleBiomarkerId = handleBiomarkerId;
|
|
8
|
+
exports.ohtReportExtractUnit = ohtReportExtractUnit;
|
|
9
|
+
exports.ohtReportExtractReferenceAnnotation = ohtReportExtractReferenceAnnotation;
|
|
10
|
+
exports.ohtReportExtractReferenceRanges = ohtReportExtractReferenceRanges;
|
|
11
|
+
exports.ohtReportExtractValueFromGreaterLowerThan = ohtReportExtractValueFromGreaterLowerThan;
|
|
12
|
+
exports.ohtReportParseExamValue = ohtReportParseExamValue;
|
|
13
|
+
exports.ohtReportCheckValueForPlausibleValues = ohtReportCheckValueForPlausibleValues;
|
|
14
|
+
const oht_types_1 = require("../types/oht.types");
|
|
7
15
|
const moment_1 = __importDefault(require("moment"));
|
|
16
|
+
const pinoLogger_1 = __importDefault(require("../util-ts/pinoLogger"));
|
|
17
|
+
const dataUtils_1 = require("./dataUtils");
|
|
18
|
+
/**
|
|
19
|
+
* Logger instance for the application
|
|
20
|
+
*/
|
|
21
|
+
const logger = (0, pinoLogger_1.default)();
|
|
8
22
|
/**
|
|
9
23
|
* Default range parsing function that extracts range information from exam data
|
|
10
24
|
* @param exam - The OHT exam object containing range information
|
|
11
25
|
* @param labToOhtMapper - The lab to OHT mapper configuration
|
|
12
26
|
* @returns Range extraction response with parsed range bounds
|
|
13
27
|
*/
|
|
14
|
-
function parseRange(exam,
|
|
28
|
+
function parseRange(exam, patientInfo) {
|
|
15
29
|
// Define document date with priority:
|
|
16
30
|
// 1. collectionDate
|
|
17
31
|
// 2. effectiveDate
|
|
@@ -184,7 +198,7 @@ function parseRange(exam, labToOhtMapper, patientInfo) {
|
|
|
184
198
|
}
|
|
185
199
|
}
|
|
186
200
|
// Try "less than" patterns
|
|
187
|
-
const lessThanPatterns =
|
|
201
|
+
const lessThanPatterns = getLessThanPatternsLocal();
|
|
188
202
|
for (const pattern of lessThanPatterns) {
|
|
189
203
|
try {
|
|
190
204
|
const match = pattern.exec(textToSearch.toLowerCase());
|
|
@@ -200,7 +214,7 @@ function parseRange(exam, labToOhtMapper, patientInfo) {
|
|
|
200
214
|
}
|
|
201
215
|
}
|
|
202
216
|
// Try "greater than" patterns
|
|
203
|
-
const greaterThanPatterns =
|
|
217
|
+
const greaterThanPatterns = getGreaterThanPatternsLocal();
|
|
204
218
|
for (const pattern of greaterThanPatterns) {
|
|
205
219
|
try {
|
|
206
220
|
const match = pattern.exec(textToSearch.toLowerCase());
|
|
@@ -358,8 +372,9 @@ function parsePtNumber(raw) {
|
|
|
358
372
|
* Gets an array of regular expressions for matching "less than" patterns in various languages
|
|
359
373
|
* @returns Array of RegExp objects for "less than" pattern matching
|
|
360
374
|
*/
|
|
361
|
-
function
|
|
375
|
+
function getLessThanPatternsLocal() {
|
|
362
376
|
const patterns = [
|
|
377
|
+
/<=\s*([\d\.,]+)/, // Universal: "<="
|
|
363
378
|
/at[eé]\s*([\d\.,]+)/, // Portuguese: "até"
|
|
364
379
|
/inferior\s+a\s+([\d\.,]+)/, // Portuguese: "inferior a"
|
|
365
380
|
/<\s?([\d\.,]+)/, // Universal: "<"
|
|
@@ -371,7 +386,6 @@ function getLessThanPatterns() {
|
|
|
371
386
|
/menor\s+ou\s+igual\s+a\s+([\d\.,]+)/, // Portuguese: "menor ou igual a"
|
|
372
387
|
/inferior\s+ou\s+igual\s+(?:a\s+)?([\d\.,]+)/, // Portuguese: "inferior ou igual a"
|
|
373
388
|
/less\s+than\s+or\s+equal\s+to\s+([\d\.,]+)/i, // English: "less than or equal to"
|
|
374
|
-
/<=\s*([\d\.,]+)/, // Universal: "<="
|
|
375
389
|
];
|
|
376
390
|
return patterns;
|
|
377
391
|
}
|
|
@@ -379,8 +393,9 @@ function getLessThanPatterns() {
|
|
|
379
393
|
* Gets an array of regular expressions for matching "greater than" patterns in various languages
|
|
380
394
|
* @returns Array of RegExp objects for "greater than" pattern matching
|
|
381
395
|
*/
|
|
382
|
-
function
|
|
396
|
+
function getGreaterThanPatternsLocal() {
|
|
383
397
|
const patterns = [
|
|
398
|
+
/>=\s*([\d\.,]+)/, // Universal: ">="
|
|
384
399
|
/superior\s+a\s+([\d\.,]+)/, // Spanish: "superior a"
|
|
385
400
|
/>\s?([\d\.,]+)/, // Universal: ">"
|
|
386
401
|
/maior\s+que\s+([\d\.,]+)/, // Portuguese: "maior que"
|
|
@@ -391,8 +406,261 @@ function getGreaterThanPatterns() {
|
|
|
391
406
|
/acima\s+de\s+([\d\.,]+)/, // Portuguese: "acima de"
|
|
392
407
|
/maior\s+ou\s+igual\s+(?:a\s+)?([\d\.,]+)/, // Portuguese: "maior ou igual a"
|
|
393
408
|
/greater\s+than\s+or\s+equal\s+to\s+([\d\.,]+)/i, // English: "greater than or equal to"
|
|
394
|
-
/>=\s*([\d\.,]+)/, // Universal: ">="
|
|
395
409
|
];
|
|
396
410
|
return patterns;
|
|
397
411
|
}
|
|
412
|
+
/**
|
|
413
|
+
* Converts backend biomarker id to know if it should be mapped or unmapped
|
|
414
|
+
* @param backendMapping - The backend mapping configuration
|
|
415
|
+
* @param labKey - The lab key identifier
|
|
416
|
+
* @returns The final ohtBmId and annotationConfig
|
|
417
|
+
*/
|
|
418
|
+
function handleBiomarkerId(backendMapping, labKey) {
|
|
419
|
+
// Handle unmapped biomarkers:
|
|
420
|
+
// 1. ohtBmId: -1 means already unmapped in backend
|
|
421
|
+
// 2. keepAsUnmapped: true means override to unmapped (ohtBmId becomes -1)
|
|
422
|
+
const isAlreadyUnmapped = backendMapping.ohtBmId === -1;
|
|
423
|
+
const shouldBeUnmapped = backendMapping.keepAsUnmapped === true;
|
|
424
|
+
const finalOhtBmId = shouldBeUnmapped ? -1 : backendMapping.ohtBmId;
|
|
425
|
+
if (isAlreadyUnmapped) {
|
|
426
|
+
logger.info(`Processing backend unmapped biomarker: ${labKey} (ohtBmId: -1)`);
|
|
427
|
+
}
|
|
428
|
+
else if (shouldBeUnmapped) {
|
|
429
|
+
logger.info(`Overriding biomarker to unmapped: ${labKey} (ohtBmId: ${backendMapping.ohtBmId} -> -1)`);
|
|
430
|
+
}
|
|
431
|
+
return {
|
|
432
|
+
ohtBmId: finalOhtBmId,
|
|
433
|
+
annotationConfig: {
|
|
434
|
+
enabled: backendMapping.annotationConfig?.enabled ?? false,
|
|
435
|
+
labKeys: backendMapping.annotationConfig?.labKeys ?? [],
|
|
436
|
+
},
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Extracts unit from ohtExam (OhtExam object)
|
|
441
|
+
* @param ohtExam - OhtExam object (not a JSON string)
|
|
442
|
+
* @param ohtBiomarker - Biomarker information
|
|
443
|
+
* @param synonymUnits - Synonym units for unit resolution
|
|
444
|
+
* @param partnerId - Partner ID for synonym resolution
|
|
445
|
+
*/
|
|
446
|
+
function ohtReportExtractUnit(ohtExam, ohtBiomarker, synonymUnits = null, partnerId) {
|
|
447
|
+
if (!(0, dataUtils_1.isBiomarkerValueNumerical)(ohtBiomarker)) {
|
|
448
|
+
return { unit: "None", isUnitParsedCorrectly: true, originalUnit: "", isArbitraryUnit: false, unknownUnit: '' };
|
|
449
|
+
}
|
|
450
|
+
const isArbitraryUnit = ohtBiomarker.acf.standardUnitArbUnitLogic === 'default';
|
|
451
|
+
let originalUnit = '';
|
|
452
|
+
// Use unit directly from ohtExam
|
|
453
|
+
const unit = ohtExam?.unit ?? '';
|
|
454
|
+
let unitLowerCase = unit?.toLowerCase();
|
|
455
|
+
unitLowerCase = unitLowerCase?.replaceAll(/ /g, '') ?? '';
|
|
456
|
+
const standardUnit = ohtBiomarker.acf.standardUnit;
|
|
457
|
+
const allBmOhtUnits = [
|
|
458
|
+
standardUnit?.toLowerCase(),
|
|
459
|
+
...ohtBiomarker.acf?.alternativeUnits
|
|
460
|
+
?.map((bmAlternative) => bmAlternative.name.toLowerCase()) ?? []
|
|
461
|
+
];
|
|
462
|
+
// If the biomarker uses an arbitrary unit, return standard unit and set the original unit as the unit extracted from the data
|
|
463
|
+
if (isArbitraryUnit) {
|
|
464
|
+
originalUnit = unit;
|
|
465
|
+
return { unit: standardUnit, isUnitParsedCorrectly: true, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit, unknownUnit: '' };
|
|
466
|
+
}
|
|
467
|
+
// First test if the biomarker has the unit explicit in the 'unity' field
|
|
468
|
+
const allUnitContainsJsonUnit = allBmOhtUnits.includes(unitLowerCase);
|
|
469
|
+
if (unitLowerCase?.length > 0 && allUnitContainsJsonUnit) {
|
|
470
|
+
// Find the original case version from standardUnit or alternativeUnits
|
|
471
|
+
let matchedUnit = standardUnit?.toLowerCase().replaceAll(/ /g, '') === unitLowerCase
|
|
472
|
+
? standardUnit?.replaceAll(/ /g, '')
|
|
473
|
+
: ohtBiomarker.acf?.alternativeUnits?.find((bmAlternative) => bmAlternative.name.toLowerCase().replaceAll(/ /g, '') === unitLowerCase)?.name?.replaceAll(/ /g, '');
|
|
474
|
+
// Fallback to original unit if no match found (shouldn't happen, but safety check)
|
|
475
|
+
matchedUnit = matchedUnit || unit?.replaceAll(/ /g, '');
|
|
476
|
+
return {
|
|
477
|
+
unit: matchedUnit,
|
|
478
|
+
isUnitParsedCorrectly: true,
|
|
479
|
+
originalUnit: originalUnit,
|
|
480
|
+
isArbitraryUnit: isArbitraryUnit,
|
|
481
|
+
unknownUnit: ''
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
// Check if there are any Synonym configured
|
|
485
|
+
if (unitLowerCase?.length > 0) {
|
|
486
|
+
let resolvedUnit = null;
|
|
487
|
+
if (synonymUnits && synonymUnits.length > 0) {
|
|
488
|
+
const resolved = (0, dataUtils_1.resolveUnitFromSynonyms)(unitLowerCase, ohtBiomarker.id, partnerId, synonymUnits);
|
|
489
|
+
if (resolved.found && resolved.targetUnit) {
|
|
490
|
+
resolvedUnit = resolved.targetUnit;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
if (resolvedUnit) {
|
|
494
|
+
const allUnitContainsJsonUnitSynonyms = allBmOhtUnits.includes(resolvedUnit.toLowerCase());
|
|
495
|
+
if (allUnitContainsJsonUnitSynonyms) {
|
|
496
|
+
return { unit: resolvedUnit, isUnitParsedCorrectly: true, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit, unknownUnit: '' };
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
// if the unit didnt match any of the cases, add the unit to an unknownUnit list
|
|
501
|
+
return { unit: '', isUnitParsedCorrectly: false, originalUnit: '', isArbitraryUnit: false, unknownUnit: unit };
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Extracts reference annotation from ohtExam (OhtExam object)
|
|
505
|
+
* @param annotationConfig - Annotation configuration for appended biomarkers
|
|
506
|
+
* @param ohtExam - OhtExam object (not a JSON string)
|
|
507
|
+
* @param patientInfo - Patient information
|
|
508
|
+
* @param documentDate - Document date
|
|
509
|
+
* @param exams - Array of exams for appended mappings
|
|
510
|
+
* @param filename - Current filename being processed (for error reporting)
|
|
511
|
+
*/
|
|
512
|
+
function ohtReportExtractReferenceAnnotation(annotationConfig, ohtExam, patientInfo, documentDate, exams, filename) {
|
|
513
|
+
let annotation = '';
|
|
514
|
+
// if it is an appended mapping, add the extracted values to annotation
|
|
515
|
+
if (annotationConfig?.enabled && annotationConfig.labKeys) {
|
|
516
|
+
const appendedResult = (0, dataUtils_1.processAppendedMappings)(exams, annotationConfig.labKeys, filename, {
|
|
517
|
+
maxLength: annotationConfig.maxLength,
|
|
518
|
+
fallbackValue: annotationConfig.fallbackValue,
|
|
519
|
+
separator: annotationConfig.separator,
|
|
520
|
+
});
|
|
521
|
+
if (appendedResult.text?.length) {
|
|
522
|
+
annotation += appendedResult.text;
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
// Use annotation directly from ohtExam
|
|
526
|
+
const extractedReference = ohtExam?.annotation ?? '';
|
|
527
|
+
if (extractedReference?.length) {
|
|
528
|
+
annotation += annotation ? `\n${extractedReference}` : extractedReference;
|
|
529
|
+
}
|
|
530
|
+
return annotation || undefined;
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Extracts reference ranges from ohtExam (OhtExam object)
|
|
534
|
+
* Always uses parseRange function from extractionUtils for range extraction
|
|
535
|
+
*/
|
|
536
|
+
function ohtReportExtractReferenceRanges(ohtExam, patientInfo) {
|
|
537
|
+
const nullRangeNotParsedCorrectly = { from: null, to: null, isRangeParsedCorrectly: false };
|
|
538
|
+
// Always use parseRange function from extractionUtils
|
|
539
|
+
const rangeExtractionResult = parseRange(ohtExam, patientInfo);
|
|
540
|
+
if (rangeExtractionResult.isRangeParsedCorrectly) {
|
|
541
|
+
return rangeExtractionResult;
|
|
542
|
+
}
|
|
543
|
+
return nullRangeNotParsedCorrectly;
|
|
544
|
+
}
|
|
545
|
+
function ohtReportExtractValueFromGreaterLowerThan(value) {
|
|
546
|
+
// Checks first if any greater than pattern is present
|
|
547
|
+
const greaterThanPatterns = getGreaterThanPatternsLocal(); // TODO: CAN USE THE SAME PATTERNS AS PARSE RANGE FUNCTION?
|
|
548
|
+
const lowerThanPatterns = getLessThanPatternsLocal();
|
|
549
|
+
value = value.toLowerCase();
|
|
550
|
+
for (const pattern of greaterThanPatterns) {
|
|
551
|
+
const match = pattern.exec(value);
|
|
552
|
+
if (match) {
|
|
553
|
+
const value = parseFloat(match?.[1].replaceAll(',', '.'));
|
|
554
|
+
const valueComparator = oht_types_1.MeasurementValueComparator.GREATER_THAN;
|
|
555
|
+
return {
|
|
556
|
+
extractedValue: value,
|
|
557
|
+
extractedValueComparator: valueComparator,
|
|
558
|
+
valueParsedCorrectly: !Number.isNaN(value)
|
|
559
|
+
};
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
// Checks if any lower than pattern is present
|
|
563
|
+
for (const pattern of lowerThanPatterns) {
|
|
564
|
+
const match = pattern.exec(value);
|
|
565
|
+
if (match) {
|
|
566
|
+
const value = parseFloat(match?.[1].replaceAll(',', '.'));
|
|
567
|
+
const valueComparator = oht_types_1.MeasurementValueComparator.LESS_THAN;
|
|
568
|
+
return {
|
|
569
|
+
extractedValue: value,
|
|
570
|
+
extractedValueComparator: valueComparator,
|
|
571
|
+
valueParsedCorrectly: !Number.isNaN(value)
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
// If no pattern is found, return the value as is and the comparator as EQUAL and isValueParsedCorrectly as false
|
|
576
|
+
return { extractedValue: null, extractedValueComparator: null, valueParsedCorrectly: false };
|
|
577
|
+
}
|
|
578
|
+
/**
|
|
579
|
+
* Parses exam value from ohtExam (OhtExam object)
|
|
580
|
+
* Now uses value directly from ohtExam
|
|
581
|
+
*/
|
|
582
|
+
function ohtReportParseExamValue(ohtExam, ohtBiomarker) {
|
|
583
|
+
// Use value directly from ohtExam
|
|
584
|
+
let value = ohtExam?.value ?? '';
|
|
585
|
+
// Normalize to string for parseFloat
|
|
586
|
+
if (value != null) {
|
|
587
|
+
value = String(value);
|
|
588
|
+
}
|
|
589
|
+
else {
|
|
590
|
+
value = '';
|
|
591
|
+
}
|
|
592
|
+
// If is parse float nan, the value is alphanumerical
|
|
593
|
+
const valueType = (0, dataUtils_1.isBiomarkerValueNumerical)(ohtBiomarker)
|
|
594
|
+
? oht_types_1.BiomarkerValueType.NUMERICAL
|
|
595
|
+
: oht_types_1.BiomarkerValueType.ALPHANUMERICAL;
|
|
596
|
+
let alphanumericalValue = Number.isNaN(parseFloat(value))
|
|
597
|
+
? value
|
|
598
|
+
: null;
|
|
599
|
+
if (valueType === oht_types_1.BiomarkerValueType.ALPHANUMERICAL
|
|
600
|
+
&& !Number.isNaN(parseFloat(value))) {
|
|
601
|
+
// convert numberValue to string
|
|
602
|
+
alphanumericalValue = value.toString();
|
|
603
|
+
}
|
|
604
|
+
if (valueType === oht_types_1.BiomarkerValueType.NUMERICAL
|
|
605
|
+
&& Number.isNaN(parseFloat(value))) {
|
|
606
|
+
// convert numberValue to string
|
|
607
|
+
const { extractedValue, extractedValueComparator, valueParsedCorrectly } = ohtReportExtractValueFromGreaterLowerThan(value);
|
|
608
|
+
return {
|
|
609
|
+
valueType,
|
|
610
|
+
alphanumericalValue,
|
|
611
|
+
numberValue: extractedValue,
|
|
612
|
+
valueComparator: extractedValueComparator ?? oht_types_1.MeasurementValueComparator.EQUAL,
|
|
613
|
+
isValueParsedCorrectly: valueParsedCorrectly
|
|
614
|
+
};
|
|
615
|
+
}
|
|
616
|
+
if (valueType === 'NUMERICAL') {
|
|
617
|
+
return {
|
|
618
|
+
valueType,
|
|
619
|
+
alphanumericalValue,
|
|
620
|
+
numberValue: parseFloat(value),
|
|
621
|
+
valueComparator: oht_types_1.MeasurementValueComparator.EQUAL,
|
|
622
|
+
isValueParsedCorrectly: !Number.isNaN(parseFloat(value))
|
|
623
|
+
};
|
|
624
|
+
}
|
|
625
|
+
if (valueType === 'ALPHANUMERICAL') {
|
|
626
|
+
return {
|
|
627
|
+
valueType,
|
|
628
|
+
alphanumericalValue,
|
|
629
|
+
numberValue: parseFloat(value),
|
|
630
|
+
valueComparator: oht_types_1.MeasurementValueComparator.EQUAL,
|
|
631
|
+
isValueParsedCorrectly: Boolean(alphanumericalValue)
|
|
632
|
+
};
|
|
633
|
+
}
|
|
634
|
+
return {
|
|
635
|
+
valueType,
|
|
636
|
+
alphanumericalValue,
|
|
637
|
+
numberValue: null,
|
|
638
|
+
valueComparator: oht_types_1.MeasurementValueComparator.EQUAL,
|
|
639
|
+
isValueParsedCorrectly: false
|
|
640
|
+
};
|
|
641
|
+
}
|
|
642
|
+
function ohtReportCheckValueForPlausibleValues(ohtBmId, labKey, ohtBiomarker, unit, value, isUnitParsedCorrectly, filename) {
|
|
643
|
+
if (!(0, dataUtils_1.isBiomarkerValueNumerical)(ohtBiomarker) && isUnitParsedCorrectly) {
|
|
644
|
+
return true;
|
|
645
|
+
}
|
|
646
|
+
const standardUnit = ohtBiomarker.acf.standardUnit;
|
|
647
|
+
const plausibleLowerValue = ohtBiomarker.acf.plausibilityRangeCheck;
|
|
648
|
+
const plausibleUpperValue = ohtBiomarker.acf.plausibilityRangeCheckHigh;
|
|
649
|
+
const biomarkerStdValueDecimals = ohtBiomarker.acf?.displayDecimals ?? 2;
|
|
650
|
+
if (unit !== standardUnit) {
|
|
651
|
+
const alternativeUnit = (Array.isArray(ohtBiomarker.acf?.alternativeUnits)
|
|
652
|
+
? ohtBiomarker.acf?.alternativeUnits
|
|
653
|
+
: [])?.find((altUnit) => altUnit.name === unit);
|
|
654
|
+
if (alternativeUnit) {
|
|
655
|
+
const conversionFactor = alternativeUnit.conversionFactor;
|
|
656
|
+
value = +(value * conversionFactor).toFixed(biomarkerStdValueDecimals);
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
const isPlausibleValue = value >= plausibleLowerValue && value <= plausibleUpperValue;
|
|
660
|
+
// Log if the value is not plausible
|
|
661
|
+
if (!isPlausibleValue) {
|
|
662
|
+
logger.warn({ ohtBmId, labKey, value, standardUnit, plausibleLowerValue, plausibleUpperValue, filename }, `Value "${value} ${standardUnit}" not plausible "${plausibleLowerValue} to ${plausibleUpperValue}" for "${ohtBmId}" | "${labKey}", filename: ${filename}`);
|
|
663
|
+
}
|
|
664
|
+
return isPlausibleValue;
|
|
665
|
+
}
|
|
398
666
|
//# sourceMappingURL=extractionUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractionUtils.js","sourceRoot":"","sources":["../../util-ts/extractionUtils.ts"],"names":[],"mappings":";;;;;AAkcS,gCAAU;AAhcnB,oDAA4B;AAE5B;;;;;GAKG;AACH,SAAS,UAAU,CACf,IAAa,EACb,cAA8B,EAC9B,WAAwB;IAExB,sCAAsC;IACtC,oBAAoB;IACpB,mBAAmB;IACnB,wBAAwB;IACxB,uBAAuB;IACvB,kBAAkB;IAClB,MAAM,YAAY,GAChB,IAAI,CAAC,cAAc;QACnB,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,kBAAkB;QACvB,IAAI,CAAC,iBAAiB;QACtB,IAAI,CAAC,YAAY,CAAC;IAEpB,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAM,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAA,gBAAM,EAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpH,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;IAE5B,gDAAgD;IAChD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,iFAAiF;IACjF,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,MAAM,YAAY,GAAG,CAAC,QAA4B,EAAE,UAAkB,EAAW,EAAE;QACjF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC,CAAC,2CAA2C;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE7C,mCAAmC;QACnC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,OAAO,UAAU,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED,wBAAwB;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,OAAO,UAAU,IAAI,QAAQ,IAAI,UAAU,IAAI,QAAQ,CAAC;QAC1D,CAAC;QAED,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO,UAAU,IAAI,MAAM,CAAC;QAC9B,CAAC;QAED,0BAA0B;QAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,YAAY,GAAG,CAAC,QAA4B,EAAE,UAAkB,EAAW,EAAE;QACjF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC,CAAC,2CAA2C;QAC3D,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAExD,mDAAmD;QACnD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,eAAe,KAAK,MAAM,IAAI,eAAe,KAAK,QAAQ,CAAC;QACpE,CAAC;QAED,OAAO,aAAa,KAAK,eAAe,CAAC;IAC3C,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,UAAkB,EAAW,EAAE;QAC7E,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAEtC,uEAAuE;QACvE,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE7E,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,CAAC,sDAAsD;QACtE,CAAC;QAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,WAAW,CAAC;QACrB,CAAC;aAAM,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,uBAAuB,GAAG,CAC9B,KAAe,EACf,UAAkB,EAClB,UAAkB,EACV,EAAE;QACV,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,qCAAqC;QAErD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAE1D,uCAAuC;QACvC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,KAAK,GAAG,EAAE,CAAC,CAAC,iCAAiC;QAC/C,CAAC;QAED,uBAAuB;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;gBACxC,KAAK,IAAI,EAAE,CAAC,CAAC,kBAAkB;YACjC,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,EAAE,CAAC,CAAC,6DAA6D;YAC5E,CAAC;YAED,8CAA8C;YAC9C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACvD,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5C,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;oBACtC,qDAAqD;oBACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrE,KAAK,IAAI,gBAAgB,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;gBACxC,KAAK,IAAI,EAAE,CAAC,CAAC,kBAAkB;YACjC,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,CAAC,CAAC,CAAC,6DAA6D;YAC3E,CAAC;QACH,CAAC;QAED,aAAa;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,iDAAiD;IACjD,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAA2B,EAAE;QACjE,iEAAiE;QACjE,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAAkC,EAAE;YACjF,0GAA0G;YAC1G,qEAAqE;YACrE,MAAM,UAAU,GAAG,sGAAsG,CAAC;YAC1H,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;wBACzD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,4CAA4C;gBAC9C,CAAC;YACH,CAAC;YAED,gFAAgF;YAChF,gEAAgE;YAChE,MAAM,UAAU,GAAG,sBAAsB,CAAC;YAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,4CAA4C;gBAC9C,CAAC;YACH,CAAC;YAED,2BAA2B;YAC3B,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;YAC/C,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;oBACvD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;4BAClB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,4CAA4C;gBAC9C,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;YACrD,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;oBACvD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;4BAClB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,4CAA4C;gBAC9C,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,MAAM,iBAAiB,GAAG,4DAA4D,CAAC;YACvF,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7E,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;wBACzD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,4CAA4C;gBAC9C,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,uDAAuD;QACvD,qDAAqD;QACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAEnD,2CAA2C;YAC3C,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,MAAM,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;oBAC5C,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAC9C,IAAI,MAAM,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;oBAC5C,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;IACjE,CAAC,CAAC;IAEF,6CAA6C;IAC7C,qDAAqD;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC5C,yCAAyC;QACzC,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACzC,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,+DAA+D;QAC/D,mDAAmD;QACnD,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,6CAA6C;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,+DAA+D;IAC/D,+CAA+C;IAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC7C,sDAAsD;QACtD,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACzC,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,iDAAiD;QACjD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,+DAA+D;IAC/D,yEAAyE;IACzE,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,IAAI,eAAe,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;IAErF,iDAAiD;IACjD,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,uBAAuB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,uBAAuB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,qBAAqB;IAC/C,CAAC,CAAC,CAAC;IACH,kEAAkE;IAClE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,mEAAmE;YACnE,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChJ,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpI,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEhJ,IAAI,WAAW,KAAK,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;gBACpE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;YAC1D,CAAC;YAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,sBAAsB;gBAAE,OAAO,MAAM,CAAC;QACnD,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;EAWC;AACH,SAAS,aAAa,CAAC,GAAY;IAC/B,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IAEzB,8FAA8F;IAC9F,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,aAAa,CAAC;IACzC,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,SAAS,GAAG,gCAAgC,CAAC;IACnD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;IAEpD,IAAI,UAAkB,CAAC;IACvB,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,gCAAgC;IAChC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7C,OAAO,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED;;;EAGC;AACH,SAAS,mBAAmB;IACxB,MAAM,QAAQ,GAAG;QACf,qBAAqB,EAAoC,oBAAoB;QAC7E,2BAA2B,EAA+B,2BAA2B;QACrF,gBAAgB,EAA0C,iBAAiB;QAC3E,0BAA0B,EAAgC,0BAA0B;QACpF,0BAA0B,EAAgC,0BAA0B;QACpF,2BAA2B,EAA+B,uBAAuB;QACjF,qBAAqB,EAAqC,mBAAmB;QAC7E,qBAAqB,EAAqC,mBAAmB;QAC7E,qCAAqC,EAAqB,iCAAiC;QAC3F,6CAA6C,EAAkB,oCAAoC;QACnG,6CAA6C,EAAa,mCAAmC;QAC7F,iBAAiB,EAAyC,kBAAkB;KAC7E,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB;IAC7B,MAAM,QAAQ,GAAG;QACf,2BAA2B,EAA+B,wBAAwB;QAClF,gBAAgB,EAA2C,iBAAiB;QAC5E,0BAA0B,EAAgC,0BAA0B;QACpF,yBAAyB,EAAkC,yBAAyB;QACpF,8BAA8B,EAA4B,0BAA0B;QACpF,qBAAqB,EAAsC,mBAAmB;QAC9E,oBAAoB,EAAuC,kBAAkB;QAC7E,yBAAyB,EAAkC,yBAAyB;QACpF,0CAA0C,EAAqB,iCAAiC;QAChG,gDAAgD,EAAU,sCAAsC;QAChG,iBAAiB,EAAyC,kBAAkB;KAC7E,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"extractionUtils.js","sourceRoot":"","sources":["../../util-ts/extractionUtils.ts"],"names":[],"mappings":"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"}
|