@openhealth/oht-custom-parser-lib 0.2.50 → 0.2.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 CHANGED
@@ -3,11 +3,13 @@ export { parseExternalPatientId, parseGender, isPatientAgeValid, handleRejection
3
3
  export { ohtMeasurementsExtractor, checkValueForPlausibleValues, extractReferenceRanges, extractReferenceAnnotation, parseExamValue, getRangeFromPositionAndRegex, extractUnit, extractValueFromGreaterLowerThan } from './service/ohtMeasurementsExtractor.service';
4
4
  export { getSlackFileIssueNotificationMessage, sendMessageToSlack } from './service/slackMessages.service';
5
5
  export { aggregateMessages, aggregateBiMessages, publishToTopic, generateBIMessages } from './service/errorHandling.service';
6
- export { LabToOhtContract, LabToOhtMapper, UnknownMeasurementExtraction, ReferenceAsAnnotation, UnitExtraction, RangeExtraction, RangeExtractionResponse, ValueExtraction, unitSynonyms, ValueExtractionResponse, } from './types/custom-parser.types';
6
+ export { applyRules as applyTransformationRules, validateJsonataExpression as validateTransformationRuleExpression, } from './service/transformationRules.service';
7
+ export { LabToOhtContract, LabToOhtMapper, UnknownMeasurementExtraction, ReferenceAsAnnotation, UnitExtraction, RangeExtraction, RangeExtractionResponse, ValueExtraction, unitSynonyms, ValueExtractionResponse, SynonymUnit, UnknownUnits, } from './types/custom-parser.types';
7
8
  export { AcfBiomarkerRangeAnnotationCheck, AcfBiomarkerGenericDisclaimerLogic, ManualCheck, BiomarkerCompatibility, ReferenceRangeType, AcfReferenceRange, VisualRange, NameAlias, AlternativeUnit, BiomarkerAcf, Biomarker, PipelineStep, DigitizationStatus, MeasurementValueComparator, BiomarkerValueType, DataImportFileUploadStatus, Sex, Digitization, PatientInfo, UnknownMeasurement, Measurement, DataImportFileUpload, MessagePayload, SignedUpload, ReportStyleConfig, LanguageCode, BiomarkerCustomisation, PartnerCustomPanel, ReportDisplaySettings, ReportCustomisation, OHTPartner, UploadType, } from './types/oht.types';
8
9
  export { ErrorMessage } from './types/error.types';
10
+ export type { TransformationRule, TransformationContext, ApplyRulesResult as TransformationApplyRulesResult, ApplyRulesOptions as TransformationApplyRulesOptions, ValidationResult as TransformationValidationResult, } from './types/transformationRules.types';
9
11
  export { makeApiCallWithRetry, parseErrorObj } from './util-ts/apiUtils';
10
- export { extractValue, isBiomarkerValueNumerical, isBiomarkerExternalNoVisualRange, processAppendedMappings } from './util-ts/dataUtils';
12
+ export { extractValue, isBiomarkerValueNumerical, isBiomarkerExternalNoVisualRange, processAppendedMappings, fetchSynonymUnits, resolveUnitFromSynonyms } from './util-ts/dataUtils';
11
13
  export { readFileFromBucket, uploadFileBufferToGCS } from './util-ts/googleStorageUtils';
12
14
  export { default as pinoLogger } from './util-ts/pinoLogger';
13
15
  export { getGreaterThanPatterns, getLowerThanPatterns } from './util-ts/regexUtils';
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ 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.getMappedBiomarkers = exports.getLowerThanPatterns = exports.getGreaterThanPatterns = exports.pinoLogger = exports.uploadFileBufferToGCS = exports.readFileFromBucket = exports.processAppendedMappings = exports.isBiomarkerExternalNoVisualRange = exports.isBiomarkerValueNumerical = exports.extractValue = exports.parseErrorObj = exports.makeApiCallWithRetry = 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.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.postFileUploadSetStatus = exports.queryFileUploadsWithFilters = exports.handleRejection = exports.isPatientAgeValid = exports.parseGender = exports.parseExternalPatientId = exports.postDataImportFileUploadToCore = void 0;
6
+ exports.getMappedBiomarkers = exports.getLowerThanPatterns = exports.getGreaterThanPatterns = exports.pinoLogger = exports.uploadFileBufferToGCS = exports.readFileFromBucket = exports.resolveUnitFromSynonyms = exports.fetchSynonymUnits = exports.processAppendedMappings = exports.isBiomarkerExternalNoVisualRange = exports.isBiomarkerValueNumerical = exports.extractValue = exports.parseErrorObj = exports.makeApiCallWithRetry = 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.postFileUploadSetStatus = exports.queryFileUploadsWithFilters = exports.handleRejection = exports.isPatientAgeValid = exports.parseGender = exports.parseExternalPatientId = exports.postDataImportFileUploadToCore = void 0;
7
7
  // ### SERVICES ###
8
8
  var reportCreator_service_1 = require("./service/reportCreator.service");
9
9
  Object.defineProperty(exports, "postDataImportFileUploadToCore", { enumerable: true, get: function () { return reportCreator_service_1.postDataImportFileUploadToCore; } });
@@ -31,6 +31,9 @@ Object.defineProperty(exports, "aggregateMessages", { enumerable: true, get: fun
31
31
  Object.defineProperty(exports, "aggregateBiMessages", { enumerable: true, get: function () { return errorHandling_service_1.aggregateBiMessages; } });
32
32
  Object.defineProperty(exports, "publishToTopic", { enumerable: true, get: function () { return errorHandling_service_1.publishToTopic; } });
33
33
  Object.defineProperty(exports, "generateBIMessages", { enumerable: true, get: function () { return errorHandling_service_1.generateBIMessages; } });
34
+ var transformationRules_service_1 = require("./service/transformationRules.service");
35
+ Object.defineProperty(exports, "applyTransformationRules", { enumerable: true, get: function () { return transformationRules_service_1.applyRules; } });
36
+ Object.defineProperty(exports, "validateTransformationRuleExpression", { enumerable: true, get: function () { return transformationRules_service_1.validateJsonataExpression; } });
34
37
  // ### TYPES ###
35
38
  var custom_parser_types_1 = require("./types/custom-parser.types");
36
39
  Object.defineProperty(exports, "unitSynonyms", { enumerable: true, get: function () { return custom_parser_types_1.unitSynonyms; } });
@@ -56,6 +59,8 @@ Object.defineProperty(exports, "extractValue", { enumerable: true, get: function
56
59
  Object.defineProperty(exports, "isBiomarkerValueNumerical", { enumerable: true, get: function () { return dataUtils_1.isBiomarkerValueNumerical; } });
57
60
  Object.defineProperty(exports, "isBiomarkerExternalNoVisualRange", { enumerable: true, get: function () { return dataUtils_1.isBiomarkerExternalNoVisualRange; } });
58
61
  Object.defineProperty(exports, "processAppendedMappings", { enumerable: true, get: function () { return dataUtils_1.processAppendedMappings; } });
62
+ Object.defineProperty(exports, "fetchSynonymUnits", { enumerable: true, get: function () { return dataUtils_1.fetchSynonymUnits; } });
63
+ Object.defineProperty(exports, "resolveUnitFromSynonyms", { enumerable: true, get: function () { return dataUtils_1.resolveUnitFromSynonyms; } });
59
64
  var googleStorageUtils_1 = require("./util-ts/googleStorageUtils");
60
65
  Object.defineProperty(exports, "readFileFromBucket", { enumerable: true, get: function () { return googleStorageUtils_1.readFileFromBucket; } });
61
66
  Object.defineProperty(exports, "uploadFileBufferToGCS", { enumerable: true, get: function () { return googleStorageUtils_1.uploadFileBufferToGCS; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;AAAA,mBAAmB;AACnB,yEAEyC;AADvC,uIAAA,8BAA8B,OAAA;AAEhC,mFAO8C;AAN5C,oIAAA,sBAAsB,OAAA;AACtB,yHAAA,WAAW,OAAA;AACX,+HAAA,iBAAiB,OAAA;AACjB,6HAAA,eAAe,OAAA;AACf,yIAAA,2BAA2B,OAAA;AAC3B,qIAAA,uBAAuB,OAAA;AAEzB,+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;AAElC,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;AAGpB,gBAAgB;AAChB,mEAWqC;AAFnC,mHAAA,YAAY,OAAA;AAGd,+CAiC2B;AAhCzB,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;AAeH,uGAAA,UAAU,OAAA;AAIZ,kBAAkB;AAClB,+CAAuE;AAA/D,gHAAA,oBAAoB,OAAA;AAAE,yGAAA,aAAa,OAAA;AAC3C,iDAAuI;AAA/H,yGAAA,YAAY,OAAA;AAAE,sHAAA,yBAAyB,OAAA;AAAE,6HAAA,gCAAgC,OAAA;AAAE,oHAAA,uBAAuB,OAAA;AAC1G,mEAAuF;AAA/E,wHAAA,kBAAkB,OAAA;AAAE,2HAAA,qBAAqB,OAAA;AACjD,mDAA2D;AAAnD,yHAAA,OAAO,OAAc;AAC7B,mDAAkF;AAA1E,oHAAA,sBAAsB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AACpD,iDAA0D;AAAlD,gHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;AAAA,mBAAmB;AACnB,yEAEyC;AADvC,uIAAA,8BAA8B,OAAA;AAEhC,mFAO8C;AAN5C,oIAAA,sBAAsB,OAAA;AACtB,yHAAA,WAAW,OAAA;AACX,+HAAA,iBAAiB,OAAA;AACjB,6HAAA,eAAe,OAAA;AACf,yIAAA,2BAA2B,OAAA;AAC3B,qIAAA,uBAAuB,OAAA;AAEzB,+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;AAElC,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,mEAaqC;AAJnC,mHAAA,YAAY,OAAA;AAKd,+CAiC2B;AAhCzB,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;AAeH,uGAAA,UAAU,OAAA;AAWZ,kBAAkB;AAClB,+CAAuE;AAA/D,gHAAA,oBAAoB,OAAA;AAAE,yGAAA,aAAa,OAAA;AAC3C,iDAAmL;AAA3K,yGAAA,YAAY,OAAA;AAAE,sHAAA,yBAAyB,OAAA;AAAE,6HAAA,gCAAgC,OAAA;AAAE,oHAAA,uBAAuB,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AAAE,oHAAA,uBAAuB,OAAA;AACtJ,mEAAuF;AAA/E,wHAAA,kBAAkB,OAAA;AAAE,2HAAA,qBAAqB,OAAA;AACjD,mDAA2D;AAAnD,yHAAA,OAAO,OAAc;AAC7B,mDAAkF;AAA1E,oHAAA,sBAAsB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AACpD,iDAA0D;AAAlD,gHAAA,mBAAmB,OAAA"}
@@ -1,10 +1,11 @@
1
- import { LabToOhtContract, LabToOhtMapper, RangeExtraction, RangeExtractionResponse, UnitExtraction, ValueExtraction } from "../types/custom-parser.types";
1
+ import { LabToOhtContract, LabToOhtMapper, RangeExtraction, RangeExtractionResponse, UnitExtraction, ValueExtraction, SynonymUnit, UnknownUnits } from "../types/custom-parser.types";
2
2
  import { Biomarker, BiomarkerValueType, Measurement, MeasurementValueComparator, PatientInfo, UnknownMeasurement, Exam } from "../types/oht.types";
3
- declare function extractUnit(unitExtraction: UnitExtraction | undefined, rawData: any, ohtBiomarker: Biomarker): {
3
+ declare function extractUnit(unitExtraction: UnitExtraction | undefined, rawData: any, ohtBiomarker: Biomarker, synonymUnits?: SynonymUnit[] | null, partnerId?: string | null | undefined): {
4
4
  unit: string;
5
5
  isUnitParsedCorrectly: boolean;
6
6
  originalUnit: string;
7
7
  isArbitraryUnit: boolean;
8
+ unknownUnit: string;
8
9
  };
9
10
  declare function extractReferenceAnnotation(labToOhtMapper: LabToOhtMapper, rawExam: any, patientInfo: PatientInfo, documentDate?: Date, exams?: Exam[]): string;
10
11
  declare const getRangeFromPositionAndRegex: (rangeExtraction: RangeExtraction, rawData: any) => {
@@ -25,9 +26,10 @@ declare function parseExamValue(rawExamObj: any, valueExtraction: ValueExtractio
25
26
  isValueParsedCorrectly: boolean;
26
27
  };
27
28
  declare function checkValueForPlausibleValues(labToOhtMapper: LabToOhtMapper, ohtBiomarker: Biomarker, unit: string, value: number, isUnitParsedCorrectly: boolean): boolean;
28
- declare function ohtMeasurementsExtractor(labToOhtContract: LabToOhtContract, exams: Exam[], ohtCoreApiKey: string): Promise<{
29
+ declare function ohtMeasurementsExtractor(labToOhtContract: LabToOhtContract, exams: Exam[], ohtCoreApiKey: string, partnerId?: string | null | undefined): Promise<{
29
30
  measurements: Measurement[];
30
31
  unknownMeasurements: UnknownMeasurement[];
32
+ unknownUnits: UnknownUnits[];
31
33
  isReportCorrectlyParsed: boolean;
32
34
  }>;
33
35
  export { ohtMeasurementsExtractor, checkValueForPlausibleValues, extractReferenceRanges, extractReferenceAnnotation, parseExamValue, getRangeFromPositionAndRegex, extractUnit, extractValueFromGreaterLowerThan };
@@ -11,7 +11,6 @@ exports.extractReferenceAnnotation = extractReferenceAnnotation;
11
11
  exports.parseExamValue = parseExamValue;
12
12
  exports.extractUnit = extractUnit;
13
13
  exports.extractValueFromGreaterLowerThan = extractValueFromGreaterLowerThan;
14
- const custom_parser_types_1 = require("../types/custom-parser.types");
15
14
  const dataUtils_1 = require("../util-ts/dataUtils");
16
15
  const regexUtils_1 = require("../util-ts/regexUtils");
17
16
  const pinoLogger_1 = __importDefault(require("../util-ts/pinoLogger"));
@@ -20,16 +19,16 @@ const oht_types_1 = require("../types/oht.types");
20
19
  const logger = (0, pinoLogger_1.default)();
21
20
  const OHT_CORE_URL = process.env.OHT_CORE_URL;
22
21
  let filename = '';
23
- function extractUnit(unitExtraction, rawData, ohtBiomarker) {
22
+ function extractUnit(unitExtraction, rawData, ohtBiomarker, synonymUnits = null, partnerId = null) {
24
23
  if (!(0, dataUtils_1.isBiomarkerValueNumerical)(ohtBiomarker)) {
25
- return { unit: "None", isUnitParsedCorrectly: true, originalUnit: "", isArbitraryUnit: false };
24
+ return { unit: "None", isUnitParsedCorrectly: true, originalUnit: "", isArbitraryUnit: false, unknownUnit: '' };
26
25
  }
27
26
  const isArbitraryUnit = ohtBiomarker.acf.standardUnitArbUnitLogic === 'default';
28
27
  let originalUnit = '';
29
28
  // If there's a function to extract the unit, use it
30
29
  if (unitExtraction && unitExtraction?.extractionFunc) {
31
30
  const extractedUnitExtraction = unitExtraction.extractionFunc(rawData);
32
- return { unit: extractedUnitExtraction ?? '', isUnitParsedCorrectly: !!extractedUnitExtraction, originalUnit: originalUnit, isArbitraryUnit };
31
+ return { unit: extractedUnitExtraction ?? '', isUnitParsedCorrectly: !!extractedUnitExtraction, originalUnit: originalUnit, isArbitraryUnit, unknownUnit: '' };
33
32
  }
34
33
  const unit = (0, dataUtils_1.extractValue)(rawData, unitExtraction?.unitPosition);
35
34
  let unitLowerCase = unit?.toLowerCase();
@@ -43,7 +42,7 @@ function extractUnit(unitExtraction, rawData, ohtBiomarker) {
43
42
  // If the biomarker uses an arbitrary unit, return standard unit and set the original unit as the unit extracted from the data
44
43
  if (isArbitraryUnit) {
45
44
  originalUnit = unit;
46
- return { unit: standardUnit, isUnitParsedCorrectly: true, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit };
45
+ return { unit: standardUnit, isUnitParsedCorrectly: true, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit, unknownUnit: '' };
47
46
  }
48
47
  // First test if the biomarker has the unit explicit in the 'unity' field
49
48
  const allUnitContainsJsonUnit = allBmOhtUnits.includes(unitLowerCase);
@@ -52,28 +51,41 @@ function extractUnit(unitExtraction, rawData, ohtBiomarker) {
52
51
  unit: unit?.replaceAll(/ /g, ''),
53
52
  isUnitParsedCorrectly: true,
54
53
  originalUnit: originalUnit,
55
- isArbitraryUnit: isArbitraryUnit
54
+ isArbitraryUnit: isArbitraryUnit,
55
+ unknownUnit: ''
56
56
  };
57
57
  }
58
58
  // Check if there are any Synonym configured
59
- const allUnitContainsJsonUnitSynonyms = allBmOhtUnits.includes(custom_parser_types_1.unitSynonyms[unitLowerCase]?.toLowerCase());
60
- if (unitLowerCase?.length > 0 && allUnitContainsJsonUnitSynonyms) {
61
- return { unit: custom_parser_types_1.unitSynonyms[unitLowerCase], isUnitParsedCorrectly: true, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit };
59
+ if (unitLowerCase?.length > 0) {
60
+ let resolvedUnit = null;
61
+ if (synonymUnits && synonymUnits.length > 0) {
62
+ const resolved = (0, dataUtils_1.resolveUnitFromSynonyms)(unitLowerCase, ohtBiomarker.id, partnerId, synonymUnits);
63
+ if (resolved.found && resolved.targetUnit) {
64
+ resolvedUnit = resolved.targetUnit;
65
+ }
66
+ }
67
+ if (resolvedUnit) {
68
+ const allUnitContainsJsonUnitSynonyms = allBmOhtUnits.includes(resolvedUnit.toLowerCase());
69
+ if (allUnitContainsJsonUnitSynonyms) {
70
+ return { unit: resolvedUnit, isUnitParsedCorrectly: true, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit, unknownUnit: '' };
71
+ }
72
+ }
62
73
  }
63
74
  if (unitExtraction?.predefinedUnit) {
64
75
  const allUnitContainsUnitFromOhtMap = allBmOhtUnits.includes(unitExtraction.predefinedUnit.toLowerCase());
65
76
  // If the 'unity' field is not present, try to get the unit from the biomarker map
66
- return { unit: unitExtraction?.predefinedUnit, isUnitParsedCorrectly: allUnitContainsUnitFromOhtMap, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit };
77
+ return { unit: unitExtraction?.predefinedUnit, isUnitParsedCorrectly: allUnitContainsUnitFromOhtMap, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit, unknownUnit: '' };
67
78
  }
68
79
  if (unitExtraction?.extractionRegex) {
69
80
  const regex = new RegExp(unitExtraction.extractionRegex);
70
81
  const match = rawData.match(regex);
71
82
  const allUnitContainsUnitMatch = allBmOhtUnits.includes(match?.[1]?.toLowerCase());
72
83
  if (match?.[1] && allUnitContainsUnitMatch) {
73
- return { unit: match?.[1], isUnitParsedCorrectly: true, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit };
84
+ return { unit: match?.[1], isUnitParsedCorrectly: true, originalUnit: originalUnit, isArbitraryUnit: isArbitraryUnit, unknownUnit: '' };
74
85
  }
75
86
  }
76
- return { unit: '', isUnitParsedCorrectly: false, originalUnit: '', isArbitraryUnit: false };
87
+ // if the unit didnt match any of the cases, add the unit to an unknownUnit list
88
+ return { unit: '', isUnitParsedCorrectly: false, originalUnit: '', isArbitraryUnit: false, unknownUnit: unit };
77
89
  }
78
90
  function extractReferenceAnnotation(labToOhtMapper, rawExam, patientInfo, documentDate, exams) {
79
91
  const annotationExtractionFunc = labToOhtMapper?.referenceAsAnnotation?.extractionFunc;
@@ -279,10 +291,11 @@ function checkValueForPlausibleValues(labToOhtMapper, ohtBiomarker, unit, value,
279
291
  }
280
292
  return isPlausibleValue;
281
293
  }
282
- async function ohtMeasurementsExtractor(labToOhtContract, exams, ohtCoreApiKey) {
294
+ async function ohtMeasurementsExtractor(labToOhtContract, exams, ohtCoreApiKey, partnerId) {
283
295
  filename = labToOhtContract.sourceFilename;
284
296
  const measurements = [];
285
297
  const unknownMeasurements = [];
298
+ const unknownUnits = [];
286
299
  let isReportCorrectlyParsed = true;
287
300
  const allPossibleOHTBmIds = [];
288
301
  [
@@ -300,6 +313,15 @@ async function ohtMeasurementsExtractor(labToOhtContract, exams, ohtCoreApiKey)
300
313
  };
301
314
  // api call to ohtCore to find biomarkers.
302
315
  const biomarkers = await (0, apiUtils_1.makeApiCallWithRetry)('post', `${OHT_CORE_URL}/v1/biomarker/biomarkers`, requestData, ohtCoreApiKey);
316
+ // Fetch synonym units from API if enabled
317
+ let synonymUnits = null;
318
+ if (partnerId) {
319
+ synonymUnits = await (0, dataUtils_1.fetchSynonymUnits)(partnerId, ohtCoreApiKey);
320
+ // If API fetch failed or returned empty, set to null to use hardcoded fallback
321
+ if (synonymUnits.length === 0) {
322
+ synonymUnits = null;
323
+ }
324
+ }
303
325
  labToOhtContract.labToOhtList.forEach((labToOhtMapper) => {
304
326
  let isMeasurementCorrectlyParsed = true;
305
327
  if (!labToOhtMapper.rawExam) {
@@ -326,7 +348,19 @@ async function ohtMeasurementsExtractor(labToOhtContract, exams, ohtCoreApiKey)
326
348
  const bmInfo = ohtBiomarker?.acf?.shortName ?
327
349
  `name:${ohtBiomarker.acf.shortName}, bmId:${labToOhtMapper.ohtBmId}, labKey:${labToOhtMapper.labKey}` :
328
350
  `bmId:${labToOhtMapper.ohtBmId}, labKey:${labToOhtMapper.labKey}`;
329
- const { unit, isUnitParsedCorrectly, originalUnit, isArbitraryUnit } = extractUnit(labToOhtMapper.unitExtraction, rawExamObj, ohtBiomarker);
351
+ const { unit, isUnitParsedCorrectly, originalUnit, isArbitraryUnit, unknownUnit } = extractUnit(labToOhtMapper.unitExtraction, rawExamObj, ohtBiomarker, synonymUnits, partnerId);
352
+ if (unknownUnit.length > 0) {
353
+ unknownUnits.push({
354
+ biomarkerId: ohtBiomarker.id,
355
+ unit: unknownUnit,
356
+ partnerId: partnerId,
357
+ labKey: labToOhtMapper.labKey,
358
+ ohtExam: labToOhtMapper.ohtExam,
359
+ originalExam: labToOhtMapper.originalExam,
360
+ biomarkerName: labToOhtMapper.biomarkerName,
361
+ dataImportFileUploadId: null, // is null it will be set later in the structParser.service.ts
362
+ });
363
+ }
330
364
  if (!isUnitParsedCorrectly) {
331
365
  logger.warn({ labToOhtMapper }, `Unit not extracted correctly for "${labToOhtMapper.ohtBmId}|${labToOhtMapper.labKey}", filename: ${filename}`);
332
366
  labToOhtContract.errorMessages.push({
@@ -471,6 +505,7 @@ async function ohtMeasurementsExtractor(labToOhtContract, exams, ohtCoreApiKey)
471
505
  return {
472
506
  measurements,
473
507
  unknownMeasurements,
508
+ unknownUnits,
474
509
  isReportCorrectlyParsed
475
510
  };
476
511
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ohtMeasurementsExtractor.service.js","sourceRoot":"","sources":["../../service/ohtMeasurementsExtractor.service.ts"],"names":[],"mappings":";;;;;;AAwmBE,4DAAwB;AACxB,oEAA4B;AAC5B,wDAAsB;AACtB,gEAA0B;AAC1B,wCAAc;AAEd,kCAAW;AACX,4EAAgC;AA/mBlC,sEAMsC;AACtC,oDAAsG;AACtG,sDAAmF;AACnF,uEAA+C;AAC/C,kDAAyD;AACzD,kDAQ4B;AAE5B,MAAM,MAAM,GAAG,IAAA,oBAAU,GAAE,CAAC;AAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AAC9C,IAAI,QAAQ,GAAG,EAAE,CAAC;AAElB,SAAS,WAAW,CAClB,cAA0C,EAC1C,OAAY,EACZ,YAAuB;IAEvB,IAAI,CAAC,IAAA,qCAAyB,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAC,CAAC;IAC/F,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,wBAAwB,KAAK,SAAS,CAAC;IAChF,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,oDAAoD;IACpD,IAAI,cAAc,IAAI,cAAc,EAAE,cAAc,EAAE,CAAC;QACrD,MAAM,uBAAuB,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvE,OAAO,EAAC,IAAI,EAAE,uBAAuB,IAAI,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC,uBAAuB,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAC,CAAC;IAC9I,CAAC;IAED,MAAM,IAAI,GAAG,IAAA,wBAAY,EAAC,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,aAAa,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC;IACxC,aAAa,GAAG,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAE1D,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAA;IAClD,MAAM,aAAa,GAAG;QACpB,YAAY,EAAE,WAAW,EAAE;QAC3B,GAAG,YAAY,CAAC,GAAG,EAAE,gBAAgB;YACnC,EAAE,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CACtB,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CACjC,IAAI,EAAE;KACV,CAAC;IAEF,8HAA8H;IAC9H,IAAI,eAAe,EAAE,CAAC;QACpB,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,EAAC,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAC,CAAC;IACzH,CAAC;IAED,yEAAyE;IACzE,MAAM,uBAAuB,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtE,IAAI,aAAa,EAAE,MAAM,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC;QACzD,OAAO;YACL,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,qBAAqB,EAAE,IAAI;YAC3B,YAAY,EAAE,YAAY;YAC1B,eAAe,EAAE,eAAe;SACjC,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,MAAM,+BAA+B,GAAG,aAAa,CAAC,QAAQ,CAAC,kCAAY,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3G,IAAI,aAAa,EAAE,MAAM,GAAG,CAAC,IAAI,+BAA+B,EAAE,CAAC;QACjE,OAAO,EAAC,IAAI,EAAE,kCAAY,CAAC,aAAa,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAC,CAAC;IACxI,CAAC;IAED,IAAI,cAAc,EAAE,cAAc,EAAE,CAAC;QACnC,MAAM,6BAA6B,GAAG,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1G,kFAAkF;QAClF,OAAO,EAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAC,CAAC;IACpK,CAAC;IAED,IAAI,cAAc,EAAE,eAAe,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,wBAAwB,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACnF,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,wBAAwB,EAAE,CAAC;YAC3C,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAC,CAAC;AAC5F,CAAC;AAED,SAAS,0BAA0B,CAAC,cAA8B,EAAE,OAAY,EAAE,WAAwB,EAAE,YAAmB,EAAE,KAAc;IAC7I,MAAM,wBAAwB,GAAG,cAAc,EAAE,qBAAqB,EAAE,cAAc,CAAC;IAEvF,IAAI,UAAU,GAAW,EAAE,CAAC;IAE5B,uEAAuE;IACvE,IAAI,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,IAAA,mCAAuB,EAAC,KAAK,EAAE,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE;YACvG,SAAS,EAAE,cAAc,CAAC,gBAAgB,CAAC,SAAS;YACpD,aAAa,EAAE,cAAc,CAAC,gBAAgB,CAAC,aAAa;YAC5D,SAAS,EAAE,cAAc,CAAC,gBAAgB,CAAC,SAAS;SACrD,CAAC,CAAC;QACH,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAChC,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,IAAI,wBAAwB,EAAE,CAAC;QAC7B,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACzG,IAAI,mBAAmB,EAAE,MAAM,EAAE,CAAC;YAChC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,mBAAmB,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC9E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,kBAAkB,GAAG,IAAA,wBAAY,EAAC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAA;QACjG,MAAM,SAAS,GAAG,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,kBAAkB,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,kBAAkB,CAAC;QAC7G,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACtB,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,MAAM,4BAA4B,GAAG,CAAC,eAAgC,EAAE,OAAY,EAGlF,EAAE;IACF,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;IACxD,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IAClG,MAAM,KAAK,GAAG,IAAA,wBAAY,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEnD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI,KAAK,EAAE,CAAC;YACV,wBAAwB;YACxB,4DAA4D;YAC5D,yDAAyD;YACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9F,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,QAAQ;aACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,SAAS;KACd,CAAC;AACJ,CAAC,CAAC;AA6cA,oEAA4B;AA3c9B,SAAS,sBAAsB,CAAC,cAA8B,EAAE,OAAY,EAAE,WAAwB,EAAE,YAAmB;IACzH,MAAM;IACN,MAAM,2BAA2B,GAA4B,EAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAC,CAAC;IACnH,MAAM,wBAAwB,GAA4B,EAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAC,CAAC;IAE/G,wDAAwD;IACxD,IAAI,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC;QACtD,qIAAqI;QACrI,OAAO,wBAAwB,CAAC;IAClC,CAAC,CAAI,+BAA+B;IAEpC,4CAA4C;IAC5C,qDAAqD;IACrD,sFAAsF;IACtF,IAAI,qBAAqB,GAA4B,cAAc,EAAE,eAAe,EAAE,0BAA0B;QAC9G,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,0BAA0B,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC;QAC/G,CAAC,CAAC,2BAA2B,CAAC;IAEhC,IAAI,qBAAqB,CAAC,sBAAsB,EAAE,CAAC;QACjD,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,qDAAqD;IACrD,IAAI,cAAc,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC;QACnD,qBAAqB,GAAG,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QAC1H,IAAI,qBAAqB,CAAC,sBAAsB,EAAE,CAAC;YACjD,OAAO,qBAAqB,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,cAAc,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC;QACpD,IAAI,EACF,IAAI,EACJ,EAAE,GACH,GAAG,4BAA4B,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1E,IACE,cAAc,CAAC,eAAe,EAAE,aAAa;eAC1C,CAAC,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC;eACjD,IAAI,IAAI,IAAI,CAAC,uEAAuE;eACpF,EAAE,IAAI,IAAI,CAAC,eAAe;UAC7B,CAAC;YACD,MAAM,sBAAsB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACvE,OAAO,EAAC,IAAI,EAAE,EAAE,EAAE,sBAAsB,EAA4B,CAAC;QACvE,CAAC;IAEH,CAAC;IAED,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAa;IAKrD,sDAAsD;IACtD,MAAM,mBAAmB,GAAG,IAAA,mCAAsB,GAAE,CAAC;IACrD,MAAM,iBAAiB,GAAG,IAAA,iCAAoB,GAAE,CAAC;IAEjD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAE5B,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAG,sCAA0B,CAAC,YAAY,CAAC;YAChE,OAAO;gBACL,cAAc,EAAE,KAAK;gBACrB,wBAAwB,EAAE,eAAe;gBACzC,oBAAoB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAG,sCAA0B,CAAC,SAAS,CAAC;YAC7D,OAAO;gBACL,cAAc,EAAE,KAAK;gBACrB,wBAAwB,EAAE,eAAe;gBACzC,oBAAoB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iHAAiH;IACjH,OAAO,EAAC,cAAc,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAC,CAAC;AAC7F,CAAC;AAED,SAAS,cAAc,CAAC,UAAe,EAAE,eAA4C,EAAE,YAAuB;IAO5G,IAAI,KAAK,GAAG,IAAA,wBAAY,EAAC,UAAU,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IACrE,KAAK,GAAG,eAAe,EAAE,0BAA0B,CAAC,CAAC,CAAC,eAAe,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEjH,qDAAqD;IACrD,MAAM,SAAS,GAAG,IAAA,qCAAyB,EAAC,YAAY,CAAC;QACvD,CAAC,CAAC,8BAAkB,CAAC,SAAS;QAC9B,CAAC,CAAC,8BAAkB,CAAC,cAAc,CAAC;IAEtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC;IAET,IACE,SAAS,KAAK,8BAAkB,CAAC,cAAc;WAC5C,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EACnC,CAAC;QACD,gCAAgC;QAChC,mBAAmB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,IACE,SAAS,KAAK,8BAAkB,CAAC,SAAS;WACvC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAClC,CAAC;QACD,gCAAgC;QAChC,MAAM,EAAC,cAAc,EAAE,wBAAwB,EAAE,oBAAoB,EAAC,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;QACjH,OAAO;YACL,SAAS;YACT,mBAAmB;YACnB,WAAW,EAAE,cAAc;YAC3B,eAAe,EAAE,wBAAwB,IAAI,sCAA0B,CAAC,KAAK;YAC7E,sBAAsB,EAAE,oBAAoB;SAC7C,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO;YACL,SAAS;YACT,mBAAmB;YACnB,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC;YAC9B,eAAe,EAAE,sCAA0B,CAAC,KAAK;YACjD,sBAAsB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACnC,OAAO;YACL,SAAS;YACT,mBAAmB;YACnB,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC;YAC9B,eAAe,EAAE,sCAA0B,CAAC,KAAK;YACjD,sBAAsB,EAAE,mBAAmB,KAAK,IAAI;SACrD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS;QACT,mBAAmB;QACnB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,sCAA0B,CAAC,KAAK;QACjD,sBAAsB,EAAE,KAAK;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,cAA8B,EAAE,YAAuB,EAAE,IAAY,EAAE,KAAa,EAAE,qBAA8B;IACxJ,IAAI,CAAC,IAAA,qCAAyB,EAAC,YAAY,CAAC,IAAI,qBAAqB,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;IACnD,MAAM,mBAAmB,GAAG,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACpE,MAAM,mBAAmB,GAAG,YAAY,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACxE,MAAM,yBAAyB,GAAG,YAAY,CAAC,GAAG,EAAE,eAAe,IAAI,CAAC,CAAC;IAEzE,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,CACtB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,gBAAgB,CAAC;YAC/C,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,gBAAgB;YACpC,CAAC,CAAC,EAAE,CACP,EAAE,IAAI,CACL,CAAC,OAA0B,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CACtD,CAAC;QAEF,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC;YAE1D,KAAK,GAAG,CAAC,CACP,KAAK,GAAG,gBAAgB,CACzB,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,IAAI,mBAAmB,IAAI,KAAK,IAAI,mBAAmB,CAAC;IAEtF,oCAAoC;IACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CACT,EAAC,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAC,EACzF,UAAU,KAAK,IAAI,YAAY,oBAAoB,mBAAmB,OAAO,mBAAmB,UAAU,cAAc,CAAC,OAAO,QAAQ,cAAc,CAAC,MAAM,gBAAgB,QAAQ,EAAE,CACxL,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAGD,KAAK,UAAU,wBAAwB,CAAC,gBAAkC,EAAE,KAAa,EAAE,aAAqB;IAC9G,QAAQ,GAAG,gBAAgB,CAAC,cAAc,CAAC;IAC3C,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,MAAM,mBAAmB,GAAyB,EAAE,CAAC;IACrD,IAAI,uBAAuB,GAAG,IAAI,CAAC;IAEnC,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC;QACE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC;KAChD,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QACzB,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,WAAW,GAAG;QAClB,cAAc,EAAE,mBAAmB;QACnC,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,mBAAmB,CAAC,MAAM;KACvC,CAAA;IAED,0CAA0C;IAC1C,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAoB,EAC3C,MAAM,EACN,GAAG,YAAY,0BAA0B,EACzC,WAAW,EACX,aAAa,CACd,CAAC;IAEF,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QACvD,IAAI,4BAA4B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC;gBAClC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAC,KAAK,EAAE;gBACnD,OAAO,EAAE,+BAA+B,cAAc,CAAC,MAAM,cAAc,QAAQ,EAAE;aACtF,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,cAAc,EAAE,OAAO,IAAI,cAAc,EAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9D,6DAA6D;YAC7D,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,KAAK,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzF,MAAM,CAAC,IAAI,CACT,EAAC,cAAc,EAAC,EAChB,0EAA0E,QAAQ,EAAE,CACrF,CAAC;gBACF,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC;oBAClC,WAAW,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAC,IAAI,EAAE;oBACnD,OAAO,EAAE,0CAA0C;oBACnD,IAAI,EAAE,QAAQ,cAAc,CAAC,OAAO,YAAY,cAAc,CAAC,MAAM,EAAE;iBACxE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAElD,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC,OAAO,CAAC,CAAA;YAEvC,0BAA0B;YAC1B,MAAM,MAAM,GAAI,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC5C,QAAQ,YAAY,CAAC,GAAG,CAAC,SAAS,UAAU,cAAc,CAAC,OAAO,YAAY,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvG,QAAQ,cAAc,CAAC,OAAO,YAAY,cAAc,CAAC,MAAM,EAAE,CAAC;YAEpE,MAAM,EAAC,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAC,GAAG,WAAW,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;YAE1I,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CACT,EAAC,cAAc,EAAC,EAChB,qCAAqC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,gBAAgB,QAAQ,EAAE,CAC/G,CAAC;gBACF,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC;oBAClC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAC,IAAI,EAAE;oBACjD,OAAO,EAAE,gDAAgD;oBACzD,IAAI,EAAE,GAAG,MAAM,EAAE;iBAClB,CAAC,CAAC;gBACH,4BAA4B,GAAG,KAAK,CAAC;YACvC,CAAC;YAED,IAAI,EACF,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,sBAAsB,EACvB,GAAG,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAC7E,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CACT,EAAC,cAAc,EAAC,EAChB,sCAAsC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,gBAAgB,QAAQ,EAAE,CAChH,CAAC;gBACF,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC;oBAClC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;oBAClD,OAAO,EAAE,iDAAiD;oBAC1D,IAAI,EAAE,GAAG,MAAM,EAAE;iBAClB,CAAC,CAAC;gBACH,4BAA4B,GAAG,KAAK,CAAC;YACvC,CAAC;YAED,kCAAkC;YAClC,IAAI,sBAAsB,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBACxD,MAAM,gBAAgB,GAAG,WAAW,KAAK,IAAI,IAAI,4BAA4B,CAC3E,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,CACvE,CAAC;gBACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CACT,EAAC,cAAc,EAAC,EAChB,UAAU,WAAW,IAAI,IAAI,2BAA2B,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,gBAAgB,QAAQ,EAAE,CAClI,CAAC;oBACF,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC;wBAClC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAC;wBACjD,OAAO,EAAE,0CAA0C;wBACnD,IAAI,EAAE,GAAG,MAAM,WAAW,WAAW,GAAG,IAAI,EAAE;qBAC/C,CAAC,CAAC;oBACH,4BAA4B,GAAG,KAAK,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,IAAI,IAAI,GAAkB,IAAI,EAAE,EAAE,GAAkB,IAAI,CAAC;YACzD,IAAI,sBAAsB,GAAG,IAAI,CAAC;YAElC,6DAA6D;YAC7D,IAAI,IAAA,qCAAyB,EAAC,YAAY,CAAC,EAAE,CAAC;gBAC5C,MAAM,cAAc,GAAG,sBAAsB,CAAC,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;gBACtI,IAAI,GAAG,cAAc,CAAC,IAAI,IAAI,IAAI,CAAC;gBACnC,EAAE,GAAG,cAAc,CAAC,EAAE,IAAI,IAAI,CAAC;gBAC/B,sBAAsB,GAAG,cAAc,CAAC,sBAAsB,CAAC;gBAC/D,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CACT,EAAC,cAAc,EAAC,EAChB,sCAAsC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,MAAM,gBAAgB,QAAQ,EAAE,CAChH,CAAC;oBACF,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC;wBAClC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE;wBAClD,OAAO,EAAE,iDAAiD;wBAC1D,IAAI,EAAE,GAAG,MAAM,EAAE;qBAClB,CAAC,CAAC;oBACH,4BAA4B,GAAG,KAAK,CAAA;gBACtC,CAAC;YACH,CAAC;YAED,IAAI,mBAAmB,CAAC;YACxB,IAAI,cAAc,EAAE,qBAAqB,EAAE,GAAG,IAAI,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;gBAC5F,mBAAmB,GAAG,0BAA0B,CAAC,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACnJ,CAAC;YAED,MAAM,QAAQ,GAAG,IAAA,wBAAY,EAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,UAAU,GAAW,CAAC,IAAA,qCAAyB,EAAC,YAAY,CAAC,IAAI,mBAAmB;gBACtF,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE;gBAC5B,CAAC,CAAC,EAAE,CAAC;YAEP,mDAAmD;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,YAAY,GAAG,IAAA,wBAAY,EAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;gBAC1F,YAAY,GAAG,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;gBACxD,UAAU,GAAG,UAAU,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACpG,CAAC;YAED,mDAAmD;YACnD,MAAM,cAAc,GAAG,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrH,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClH,MAAM,kBAAkB,GAAG,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjI,MAAM,iBAAiB,GAAG,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9H,wCAAwC;YACxC,MAAM,YAAY,GAAG,cAAc,EAAE,YAAY,IAAI,EAAE,CAAC;YAExD,IAAI,WAAW,GAAgB;gBAC7B,WAAW,EAAE,YAAY,CAAC,EAAE;gBAC5B,SAAS;gBACT,KAAK,EAAE,IAAA,qCAAyB,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;gBACnE,iBAAiB,EAAE,UAAU;gBAC7B,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI;gBAC/G,4BAA4B,EAAE,CAAC,CAAC,cAAc,EAAE,qBAAqB,EAAE,GAAG;gBAC1E,UAAU,EAAE,eAAe,IAAI,sCAA0B,CAAC,KAAK;gBAC/D,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,EAAE;gBAClB,IAAI;gBACJ,YAAY;gBACZ,eAAe;gBACf,QAAQ;gBACR,MAAM;gBACN,wBAAwB,EAAE,4BAA4B;gBACtD,eAAe,EAAE,4BAA4B;gBAC7C,cAAc,EAAE,cAAc;gBAC9B,aAAa,EAAE,aAAa;gBAC5B,kBAAkB,EAAE,kBAAkB;gBACtC,iBAAiB,EAAE,iBAAiB;gBACpC,YAAY,EAAE,YAAY;aAC3B,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,yCAAyC,cAAc,CAAC,MAAM,eAAe,QAAQ,EAAE,CAAC,CAAC;YACrG,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC;gBAClC,WAAW,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE;gBACpD,OAAO,EAAE,+CAA+C;gBACxD,IAAI,EAAE,UAAU,cAAc,CAAC,MAAM,EAAE;aACxC,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,cAAc,EAAE,kBAAkB,EAAE,aAAa,IAAI,EAAE,CAAC;YAC9E,MAAM,KAAK,GAAG,cAAc,EAAE,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,cAAc,EAAE,kBAAkB,EAAE,IAAI,IAAI,EAAE,CAAC;YAC5D,MAAM,UAAU,GAAG,cAAc,EAAE,kBAAkB,EAAE,UAAU,IAAI,EAAE,CAAC;YACxE,MAAM,YAAY,GAAG,cAAc,EAAE,kBAAkB,EAAE,YAAY,IAAI,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;YACrC,MAAM,YAAY,GAAG,cAAc,EAAE,kBAAkB,EAAE,YAAY;gBACnE,CAAC,CAAC;oBACE,WAAW,EAAE,OAAO,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,KAAK,QAAQ;wBACzF,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW;wBAC5D,CAAC,CAAC,EAAE;oBACN,IAAI,EAAE,OAAO,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ;wBAC3E,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI;wBACrD,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;iBACtE;gBACH,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,cAAc,EAAE,kBAAkB,EAAE,OAAO;gBACzD,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,OAAO;gBAC3C,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YACtJ,MAAM,UAAU,GAAG,cAAc,EAAE,kBAAkB,EAAE,UAAU;gBACjE,CAAC,CAAC,CAAC,cAAc,EAAE,kBAAkB,EAAE,UAAU,CAAC;gBAClD,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,EAAE,EAAC,CAAC,CAAC;YAEf,MAAM,kBAAkB,GAAG;gBACzB,MAAM,EAAE,MAAM;gBACd,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,UAAU;gBACtB,YAAY,EAAE,YAAY;gBAC1B,YAAY,EAAE,YAAY;gBAC1B,OAAO,EAAE,OAAO;aACjB,CAAC;YAEF,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/C,CAAC;QACD,uBAAuB,GAAG,uBAAuB,IAAI,4BAA4B,CAAC;IACpF,CAAC,CAAC,CAAA;IACF,OAAO;QACL,YAAY;QACZ,mBAAmB;QACnB,uBAAuB;KACxB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"ohtMeasurementsExtractor.service.js","sourceRoot":"","sources":["../../service/ohtMeasurementsExtractor.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { DataImportFileUpload, UnknownMeasurementsBulk } from '../types/oht.types';
2
- declare function postDataImportFileUploadToCore(dataImportFileUpload: DataImportFileUpload, unknownMeasurements: UnknownMeasurementsBulk, rejectedStatus: string | undefined, rejectReason: string | undefined, isReportParsedCorrectly: boolean, filename: string, ohtCoreApiKey: string): Promise<DataImportFileUpload | null>;
2
+ import { UnknownUnits } from '../types/custom-parser.types';
3
+ declare function postDataImportFileUploadToCore(dataImportFileUpload: DataImportFileUpload, unknownMeasurements: UnknownMeasurementsBulk, unknownUnits: UnknownUnits[], rejectedStatus: string | undefined, rejectReason: string | undefined, isReportParsedCorrectly: boolean, filename: string, ohtCoreApiKey: string): Promise<DataImportFileUpload | null>;
3
4
  export { postDataImportFileUploadToCore };
@@ -18,7 +18,7 @@ const dataUtils_1 = require("../util-ts/dataUtils");
18
18
  const apiUtils_1 = require("../util-ts/apiUtils");
19
19
  dotenv_1.default.config({ path: `.env.local` });
20
20
  const OHT_CORE_URL = process.env.OHT_CORE_URL;
21
- async function postDataImportFileUploadToCore(dataImportFileUpload, unknownMeasurements, rejectedStatus, rejectReason, isReportParsedCorrectly, filename, ohtCoreApiKey) {
21
+ async function postDataImportFileUploadToCore(dataImportFileUpload, unknownMeasurements, unknownUnits, rejectedStatus, rejectReason, isReportParsedCorrectly, filename, ohtCoreApiKey) {
22
22
  let status = isReportParsedCorrectly
23
23
  ? oht_types_1.DataImportFileUploadStatus.PROCESSED
24
24
  : oht_types_1.DataImportFileUploadStatus.FOR_REVIEW;
@@ -78,6 +78,18 @@ async function postDataImportFileUploadToCore(dataImportFileUpload, unknownMeasu
78
78
  }, `Failed to send unknown measurements to server, filename: ${filename}`);
79
79
  }
80
80
  }
81
+ if (unknownUnits.length > 0) {
82
+ try {
83
+ await (0, dataUtils_1.bulkCreateCustomParserUnknownUnits)(dataImportFileUpload.partnerId, unknownUnits, ohtCoreApiKey);
84
+ }
85
+ catch (error) {
86
+ logger.error({
87
+ error: (0, apiUtils_1.parseErrorObj)(error),
88
+ partnerId: dataImportFileUpload.partnerId,
89
+ unknownUnits: unknownUnits
90
+ }, `Failed to send unknown units to server, filename: ${filename}`);
91
+ }
92
+ }
81
93
  if (isReportParsedCorrectly && rejectedStatus === undefined) {
82
94
  if (dataImportFileUpload?.labOrderId?.length > 0) {
83
95
  // deprecate any previous fileUpload with same labOrderId and update current to READY
@@ -1 +1 @@
1
- {"version":3,"file":"reportCreator.service.js","sourceRoot":"","sources":["../../service/reportCreator.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reportCreator.service.js","sourceRoot":"","sources":["../../service/reportCreator.service.ts"],"names":[],"mappings":";;;;;AAqNS,wEAA8B;AArNvC,kDAM4B;AAE5B,kDAA0B;AAC1B,uFAA+D;AAC/D,2DAAmC;AACnC,eAAK,CAAC,MAAM,CAAC,2BAAiB,CAAC,CAAC;AAChC,eAAK,CAAC,MAAM,CAAC,aAAG,CAAC,CAAC;AAElB,uEAA+C;AAC/C,MAAM,MAAM,GAAG,IAAA,oBAAU,GAAE,CAAC;AAE5B,oDAA4B;AAC5B,6EAAuE;AACvE,oDAAoH;AACpH,kDAA0E;AAC1E,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AAEtC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AAE9C,KAAK,UAAU,8BAA8B,CAC3C,oBAA0C,EAC1C,mBAA4C,EAC5C,YAA4B,EAC5B,cAAkC,EAClC,YAAgC,EAChC,uBAAgC,EAChC,QAAgB,EAChB,aAAqB;IAErB,IAAI,MAAM,GAAG,uBAAuB;QAClC,CAAC,CAAC,sCAA0B,CAAC,SAAS;QACtC,CAAC,CAAC,sCAA0B,CAAC,UAAU,CAAC;IAE1C,MAAM,WAAW,GAAG,cAAc,IAAI,MAAM,CAAC;IAC7C,MAAM,0BAA0B,GAAG,GAAG,YAAY,oBAAoB,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACvG,MAAM,oBAAoB,GAAG,GAAG,YAAY,oBAAoB,oBAAoB,CAAC,EAAE,EAAE,CAAC;IAC1F,MAAM,wBAAwB,GAAG,GAAG,YAAY,oBAAoB,oBAAoB,CAAC,EAAE,iBAAiB,CAAC;IAE7G,yEAAyE;IACzE,MAAM,cAAc,GAAG,GAAG,YAAY,4CAA4C,oBAAoB,CAAC,EAAE,EAAE,CAAC;IAC5G,MAAM,mBAAmB,GAAG,MAAM,IAAA,+BAAoB,EACpD,KAAK,EACL,cAAc,EACd,IAAI,EACJ,aAAa,CACd,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,EAAC,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAC,EACpC,8DAA8D,oBAAoB,CAAC,EAAE,eAAe,QAAQ,EAAE,CAC/G,CAAC;IAEF,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,CACV,EAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAC,EACvC,qEAAqE,oBAAoB,CAAC,EAAE,eAAe,QAAQ,EAAE,CACpH,CAAC;QACF,MAAM,IAAI,KAAK,CAAC,0CAA0C,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;IAEzD,2CAA2C;IAC3C,MAAM,WAAW,GAAG;QAClB,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS,IAAI,EAAE;QAC7D,QAAQ,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,IAAI,EAAE;QAC3D,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;QACrD,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,SAAS,IAAI,IAAI;QAC/D,kEAAkE;QAClE,GAAG,EAAE,oBAAoB,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE;QACjD,GAAG,EAAE,oBAAoB,EAAE,WAAW,EAAE,GAAG,IAAI,IAAI;QACnD,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,IAAI,IAAI;QACzD,UAAU,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,IAAI,EAAE;KAChE,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,YAAY,kBAAkB,WAAW,EAAE,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,IAAA,+BAAoB,EAC7C,OAAO,EACP,OAAO,EACP,WAAW,EACX,aAAa,CACd,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,EAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAC,EAC7B,8BAA8B,WAAW,eAAe,QAAQ,EAAE,CACnE,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,IAAA,+BAAoB,EAChD,OAAO,EACP,oBAAoB,EACpB;YACE,GAAG,oBAAoB;YACvB,MAAM,EAAE,WAAW;YACnB,YAAY;YACZ,cAAc,EAAE;gBACd,GAAG,oBAAoB,CAAC,cAAc;gBACtC,YAAY,EAAE,wBAAY,CAAC,eAAe;aAC3C;SACF,EACD,aAAa,CACd,CAAC;QACF,MAAM,CAAC,IAAI,CACT,EAAE,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,EAClC,uBAAuB,WAAW,IAAI,oBAAoB,eAAe,QAAQ,EAAE,CACpF,CAAC;QAEF,0CAA0C;QAC1C,IAAI,mBAAmB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,IAAA,oDAAwC,EAC5C,oBAAoB,CAAC,SAAS,EAC9B,mBAAmB,EACnB,aAAa,CACd,CAAC;gBACF,MAAM,CAAC,IAAI,CACT;oBACE,SAAS,EAAE,oBAAoB,CAAC,SAAS;oBACzC,mBAAmB,EAAE,mBAAmB,CAAC,eAAe;iBACzD,EACD,+DAA+D,QAAQ,EAAE,CAC1E,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV;oBACE,KAAK,EAAE,IAAA,wBAAa,EAAC,KAAK,CAAC;oBAC3B,SAAS,EAAE,oBAAoB,CAAC,SAAS;oBACzC,mBAAmB,EAAE,mBAAmB,CAAC,eAAe;iBACzD,EACD,4DAA4D,QAAQ,EAAE,CACvE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAA,8CAAkC,EACtC,oBAAoB,CAAC,SAAS,EAC9B,YAAY,EACZ,aAAa,CACd,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CACV;oBACE,KAAK,EAAE,IAAA,wBAAa,EAAC,KAAK,CAAC;oBAC3B,SAAS,EAAE,oBAAoB,CAAC,SAAS;oBACzC,YAAY,EAAE,YAAY;iBAC3B,EACD,qDAAqD,QAAQ,EAAE,CAChE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,uBAAuB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC5D,IAAI,oBAAoB,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,qFAAqF;gBACrF,MAAM,IAAA,+BAAoB,EACxB,MAAM,EACN,0BAA0B,EAC1B,EAAE,EACF,aAAa,CACd,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAA,oDAAuB,EAClC;oBACE,MAAM,EAAE,sCAA0B,CAAC,KAAK;oBACxC,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,eAAK,CAAC,GAAG,EAAE,EAAE;iBAC7D,EACD,oBAAoB,CAAC,EAAE,EACvB,QAAQ,EACR,aAAa,CACd,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CACT;YACE,uBAAuB;YACvB,cAAc;YACd,eAAe,EAAE,eAAe;SACjC,EACD,4CAA4C,oBAAoB,CAAC,EAAE,eAAe,QAAQ,EAAE,CAC7F,CAAC;QAEF,OAAO,eAAe,EAAE,IAAI,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAClC,mCAAmC,oBAAoB,cAAc,QAAQ,EAAE,CAChF,CAAC;QACF,2BAA2B;QAC3B,MAAM,IAAA,+BAAoB,EACxB,OAAO,EACP,wBAAwB,EACxB;YACE,MAAM,EAAE,8BAAkB,CAAC,KAAK;YAChC,YAAY,EAAE,wBAAY,CAAC,qBAAqB;YAChD,gBAAgB,EAAE,YAAY;SAC/B,EACD,aAAa,CACd,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { TransformationRule, ApplyRulesResult, ApplyRulesOptions, ValidationResult } from '../types/transformationRules.types';
2
+ /**
3
+ * Apply multiple transformation rules to data
4
+ *
5
+ * Rules are applied sequentially in the order provided.
6
+ * Each rule is evaluated against the current state of the data after previous rules.
7
+ *
8
+ * @param rules - Array of transformation rules to apply
9
+ * @param inputData - OHT Exam data object (available as $exam in expressions)
10
+ * @param options - Optional configuration for rule application
11
+ * @param options.ohtReportJson - OHT Report/full document JSON (available as $report in expressions)
12
+ * @param options.contextJson - Context JSON like patient info (available as $context in expressions)
13
+ * @returns Promise<ApplyRulesResult> - Result containing transformed data, applied rule IDs, and any errors
14
+ */
15
+ export declare const applyRules: (rules: TransformationRule[], inputData: Record<string, unknown>, options?: ApplyRulesOptions) => Promise<ApplyRulesResult>;
16
+ /**
17
+ * Validate a JSONata expression
18
+ *
19
+ * @param expression - JSONata expression string to validate
20
+ * @returns ValidationResult - Object with valid flag and optional error message
21
+ */
22
+ export declare const validateJsonataExpression: (expression: string) => ValidationResult;
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateJsonataExpression = exports.applyRules = void 0;
7
+ const jsonata_1 = __importDefault(require("jsonata"));
8
+ const transformationRules_1 = require("../util-ts/transformationRules");
9
+ /**
10
+ * JSON Transformation Rules Engine
11
+ *
12
+ * This is a standalone, reusable library for applying transformation rules to JSON data.
13
+ * It uses JSONata expressions for powerful, declarative transformations.
14
+ *
15
+ * @packageDocumentation
16
+ */
17
+ const createExpression = (expressionText, context) => {
18
+ const expression = (0, jsonata_1.default)(expressionText);
19
+ expression.assign('report', context.ohtReport);
20
+ expression.assign('exam', context.ohtExam);
21
+ expression.assign('context', context.context);
22
+ return expression;
23
+ };
24
+ /**
25
+ * Evaluate a JSONata condition with the given context
26
+ *
27
+ * @param condition - JSONata expression that returns a boolean
28
+ * @param context - Context object with root, item, and optional global data
29
+ * @returns Promise<boolean> - True if condition is met, false otherwise
30
+ */
31
+ const evaluateCondition = async (condition, context) => {
32
+ try {
33
+ if (!condition || condition.trim() === '') {
34
+ return true;
35
+ }
36
+ const expression = createExpression(condition, context);
37
+ const result = await expression.evaluate(context.ohtExam);
38
+ return Boolean(result);
39
+ }
40
+ catch (error) {
41
+ console.error('Error evaluating condition:', error);
42
+ return false;
43
+ }
44
+ };
45
+ /**
46
+ * Evaluate a JSONata value expression
47
+ *
48
+ * @param valueExpression - JSONata expression to evaluate
49
+ * @param context - Context object with root, item, and optional global data
50
+ * @returns Promise<unknown> - Result of the expression evaluation
51
+ * @throws Error if expression evaluation fails
52
+ */
53
+ const evaluateValueExpression = async (valueExpression, context) => {
54
+ try {
55
+ const expression = createExpression(valueExpression, context);
56
+ const result = await expression.evaluate(context.ohtExam);
57
+ return result;
58
+ }
59
+ catch (error) {
60
+ console.error('Error evaluating value expression:', error);
61
+ throw error;
62
+ }
63
+ };
64
+ /**
65
+ * Apply a single transformation rule to data
66
+ *
67
+ * @param rule - Transformation rule to apply
68
+ * @param data - Input data object
69
+ * @param options - Optional configuration (ohtReport and contextJson)
70
+ * @returns Promise<Record<string, unknown>> - Transformed data object
71
+ */
72
+ const applyRule = async (rule, data, options = {}) => {
73
+ const context = {
74
+ ohtReport: options.ohtReportJson ?? {},
75
+ ohtExam: data,
76
+ context: options.contextJson ?? {},
77
+ };
78
+ const shouldApply = await evaluateCondition(rule.conditionExpression, context);
79
+ if (!shouldApply) {
80
+ return data;
81
+ }
82
+ const newValue = await evaluateValueExpression(rule.valueExpression, context);
83
+ const transformedData = { ...data };
84
+ if (rule.targetExpression.startsWith('$.')) {
85
+ const pathSegments = (0, transformationRules_1.parsePath)(rule.targetExpression);
86
+ (0, transformationRules_1.setValueByPath)(transformedData, pathSegments, newValue);
87
+ }
88
+ return transformedData;
89
+ };
90
+ /**
91
+ * Apply multiple transformation rules to data
92
+ *
93
+ * Rules are applied sequentially in the order provided.
94
+ * Each rule is evaluated against the current state of the data after previous rules.
95
+ *
96
+ * @param rules - Array of transformation rules to apply
97
+ * @param inputData - OHT Exam data object (available as $exam in expressions)
98
+ * @param options - Optional configuration for rule application
99
+ * @param options.ohtReportJson - OHT Report/full document JSON (available as $report in expressions)
100
+ * @param options.contextJson - Context JSON like patient info (available as $context in expressions)
101
+ * @returns Promise<ApplyRulesResult> - Result containing transformed data, applied rule IDs, and any errors
102
+ */
103
+ const applyRules = async (rules, inputData, options = {}) => {
104
+ const result = await rules.reduce(async (accPromise, rule) => {
105
+ const acc = await accPromise;
106
+ try {
107
+ const context = {
108
+ ohtReport: options.ohtReportJson ?? {},
109
+ ohtExam: acc.data,
110
+ context: options.contextJson ?? {},
111
+ };
112
+ const shouldApply = await evaluateCondition(rule.conditionExpression, context);
113
+ if (shouldApply) {
114
+ const transformedData = await applyRule(rule, acc.data, options);
115
+ return {
116
+ data: transformedData,
117
+ appliedRules: [...acc.appliedRules, rule.id],
118
+ errors: acc.errors,
119
+ };
120
+ }
121
+ return acc;
122
+ }
123
+ catch (error) {
124
+ return {
125
+ data: acc.data,
126
+ appliedRules: acc.appliedRules,
127
+ errors: [
128
+ ...acc.errors,
129
+ {
130
+ ruleId: rule.id,
131
+ ruleName: rule.name,
132
+ error: (0, transformationRules_1.getErrorMessage)(error),
133
+ },
134
+ ],
135
+ };
136
+ }
137
+ }, Promise.resolve({
138
+ data: { ...inputData },
139
+ appliedRules: [],
140
+ errors: [],
141
+ }));
142
+ return {
143
+ success: result.errors.length === 0,
144
+ data: result.data,
145
+ appliedRules: result.appliedRules,
146
+ errors: result.errors,
147
+ };
148
+ };
149
+ exports.applyRules = applyRules;
150
+ /**
151
+ * Validate a JSONata expression
152
+ *
153
+ * @param expression - JSONata expression string to validate
154
+ * @returns ValidationResult - Object with valid flag and optional error message
155
+ */
156
+ const validateJsonataExpression = (expression) => {
157
+ try {
158
+ if (!expression || expression.trim() === '') {
159
+ return { valid: true };
160
+ }
161
+ (0, jsonata_1.default)(expression);
162
+ return { valid: true };
163
+ }
164
+ catch (error) {
165
+ return {
166
+ valid: false,
167
+ error: (0, transformationRules_1.getErrorMessage)(error),
168
+ };
169
+ }
170
+ };
171
+ exports.validateJsonataExpression = validateJsonataExpression;
172
+ //# sourceMappingURL=transformationRules.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformationRules.service.js","sourceRoot":"","sources":["../../service/transformationRules.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,24 @@
1
1
  import { ErrorMessage } from "./error.types";
2
2
  import { AnnotationConfig, DataOrigin, MeasurementValueComparator, OhtExam, PatientInfo } from "./oht.types";
3
+ export interface SynonymUnit {
4
+ id: string;
5
+ partnerId: string | null;
6
+ biomarkerId: number;
7
+ unknownUnit: string;
8
+ targetUnit: string;
9
+ conversionFactor: number;
10
+ status: 'pending' | 'in_review' | 'approved' | 'ignored';
11
+ }
12
+ export interface UnknownUnits {
13
+ biomarkerId: number;
14
+ unit: string;
15
+ partnerId: string;
16
+ dataImportFileUploadId: string;
17
+ labKey: string;
18
+ ohtExam?: OhtExam;
19
+ originalExam?: OriginalExam;
20
+ biomarkerName?: string;
21
+ }
3
22
  export declare const unitSynonyms: Record<string, string>;
4
23
  export interface ValueExtraction {
5
24
  valuePosition?: string;
@@ -52,6 +71,7 @@ export interface OriginalExam {
52
71
  }
53
72
  export interface LabToOhtMapper {
54
73
  ohtBmId?: number;
74
+ biomarkerName?: string;
55
75
  labKey: string;
56
76
  rawExam?: string;
57
77
  material?: string;
@@ -67,6 +87,8 @@ export interface LabToOhtMapper {
67
87
  unknownMeasurement?: UnknownMeasurementExtraction;
68
88
  annotationConfig?: AnnotationConfig;
69
89
  originalName?: string;
90
+ originalExam?: OriginalExam;
91
+ ohtExam?: OhtExam;
70
92
  }
71
93
  export interface LabToOhtContract {
72
94
  labToOhtList: LabToOhtMapper[];
@@ -1 +1 @@
1
- {"version":3,"file":"custom-parser.types.js","sourceRoot":"","sources":["../../types/custom-parser.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-parser.types.js","sourceRoot":"","sources":["../../types/custom-parser.types.ts"],"names":[],"mappings":";;;AA0Ba,QAAA,YAAY,GAA2B;IAClD,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,aAAa;IAC3B,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,QAAQ;IAClB,eAAe,EAAE,eAAe;IAChC,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,MAAM;IACV,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,SAAS;IACnB,gBAAgB,EAAE,YAAY;IAC9B,iBAAiB,EAAE,YAAY;IAC/B,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,QAAQ;IACnB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,aAAa,EAAE,QAAQ;IAEvB,kCAAkC;IAElC,OAAO,EAAE,OAAO;IAEhB,OAAO,EAAE,OAAO;IAEhB,OAAO,EAAE,OAAO;IAEhB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IAEb,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAElB,aAAa,EAAE,SAAS;IACxB,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,SAAS;IACxB,cAAc,EAAE,SAAS;IACzB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,SAAS;IAEtB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,SAAS;IAEnB,eAAe,EAAE,eAAe;IAChC,gBAAgB,EAAE,eAAe;IACjC,gBAAgB,EAAE,eAAe;IACjC,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,eAAe;IAEhC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,QAAQ;IACzB,sBAAsB,EAAE,eAAe;IACvC,sBAAsB,EAAE,eAAe;IACvC,sBAAsB,EAAE,eAAe;IAEvC,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,GAAG;IAEd,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,YAAY;IAC1B,gBAAgB,EAAE,YAAY;IAC9B,iBAAiB,EAAE,YAAY;IAC/B,iBAAiB,EAAE,YAAY;IAC/B,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,YAAY;IAC7B,gBAAgB,EAAE,YAAY;IAC9B,gBAAgB,EAAE,YAAY;IAE9B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,mBAAmB,EAAE,KAAK;IAE1B,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IAEb,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;CACf,CAAC"}
@@ -0,0 +1,42 @@
1
+ export interface TransformationRule {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ conditionExpression: string;
6
+ targetExpression: string;
7
+ valueExpression: string;
8
+ tags: string[];
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ sampleOhtExam?: string;
12
+ sampleOhtReport?: string;
13
+ sampleContextJson?: string;
14
+ }
15
+ export interface TransformationContext {
16
+ ohtReport: Record<string, unknown>;
17
+ ohtExam: Record<string, unknown>;
18
+ context: Record<string, unknown>;
19
+ }
20
+ export interface ApplyRulesResult {
21
+ success: boolean;
22
+ data: Record<string, unknown>;
23
+ appliedRules: string[];
24
+ errors: Array<{
25
+ ruleId: string;
26
+ error: string;
27
+ }>;
28
+ }
29
+ export interface ApplyRulesOptions {
30
+ /**
31
+ * The full/global document (OHT Report) accessible inside JSONata expressions via $report
32
+ */
33
+ ohtReportJson?: Record<string, unknown>;
34
+ /**
35
+ * Additional context (e.g., patient info) accessible inside JSONata expressions via $context
36
+ */
37
+ contextJson?: Record<string, unknown>;
38
+ }
39
+ export interface ValidationResult {
40
+ valid: boolean;
41
+ error?: string;
42
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transformationRules.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformationRules.types.js","sourceRoot":"","sources":["../../types/transformationRules.types.ts"],"names":[],"mappings":""}
@@ -1,9 +1,26 @@
1
1
  import { UnknownMeasurementsBulk, AnnotationLabKey } from '../types/oht.types';
2
+ import { SynonymUnit, UnknownUnits } from '../types/custom-parser.types';
3
+ /**
4
+ * Resolve unit from synonym units following priority:
5
+ * 1. Biomarker-specific partner synonym
6
+ * 2. Partner-specific synonym
7
+ * 3. Global synonym
8
+ */
9
+ export declare function resolveUnitFromSynonyms(unitLowerCase: string, biomarkerId: number, partnerId: string | null | undefined, synonymUnits: SynonymUnit[]): {
10
+ targetUnit: string | null;
11
+ found: boolean;
12
+ };
2
13
  export declare function isBiomarkerValueNumerical(biomarker: any): boolean;
3
14
  export declare function isBiomarkerExternalNoVisualRange(biomarker: any): boolean;
4
15
  export declare const extractValue: (obj: any, position?: string) => any;
5
16
  export declare const getMappedBiomarkers: (partnerId: string, ohtCoreApiKey: string) => Promise<any>;
6
17
  export declare const updatePartnerCustomParserUnmappedLabKeys: (partnerId: string, unknownMeasurementsBulk: UnknownMeasurementsBulk, ohtCoreApiKey: string) => Promise<void>;
18
+ export declare const bulkCreateCustomParserUnknownUnits: (partnerId: string, unknownUnits: UnknownUnits[], ohtCoreApiKey: string) => Promise<void>;
19
+ /**
20
+ * Fetch synonym units from oht-core API endpoint
21
+ * Returns all approved resolved synonym units (backend already filters and returns all results)
22
+ */
23
+ export declare const fetchSynonymUnits: (partnerId: string | null | undefined, ohtCoreApiKey: string) => Promise<SynonymUnit[]>;
7
24
  /**
8
25
  * Processes appended biomarker mappings by extracting values from additional labKeys
9
26
  * Compatible with AnnotationPreviewService interface but returns object with text property
@@ -3,13 +3,58 @@ 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.updatePartnerCustomParserUnmappedLabKeys = exports.getMappedBiomarkers = exports.extractValue = void 0;
6
+ exports.fetchSynonymUnits = exports.bulkCreateCustomParserUnknownUnits = exports.updatePartnerCustomParserUnmappedLabKeys = exports.getMappedBiomarkers = exports.extractValue = void 0;
7
+ exports.resolveUnitFromSynonyms = resolveUnitFromSynonyms;
7
8
  exports.isBiomarkerValueNumerical = isBiomarkerValueNumerical;
8
9
  exports.isBiomarkerExternalNoVisualRange = isBiomarkerExternalNoVisualRange;
9
10
  exports.processAppendedMappings = processAppendedMappings;
10
11
  const apiUtils_1 = require("./apiUtils");
11
12
  const pinoLogger_1 = __importDefault(require("./pinoLogger"));
12
13
  const logger = (0, pinoLogger_1.default)();
14
+ /**
15
+ * Normalize unit string for comparison (lowercase, remove spaces)
16
+ */
17
+ function normalizeUnit(unit) {
18
+ return unit?.toLowerCase().replaceAll(/ /g, '') ?? '';
19
+ }
20
+ /**
21
+ * Resolve unit from synonym units following priority:
22
+ * 1. Biomarker-specific partner synonym
23
+ * 2. Partner-specific synonym
24
+ * 3. Global synonym
25
+ */
26
+ function resolveUnitFromSynonyms(unitLowerCase, biomarkerId, partnerId, synonymUnits) {
27
+ if (!synonymUnits || synonymUnits.length === 0) {
28
+ return { targetUnit: '', found: false };
29
+ }
30
+ const normalizedUnit = normalizeUnit(unitLowerCase);
31
+ // Priority 1: Biomarker-specific partner synonym
32
+ if (biomarkerId && partnerId) {
33
+ const biomarkerPartnerMatch = synonymUnits.find((unit) => unit.biomarkerId === biomarkerId &&
34
+ unit.partnerId === partnerId &&
35
+ normalizeUnit(unit.unknownUnit) === normalizedUnit);
36
+ if (biomarkerPartnerMatch) {
37
+ return { targetUnit: biomarkerPartnerMatch.targetUnit, found: true };
38
+ }
39
+ }
40
+ // Priority 2: Partner-specific synonym (biomarkerId is 0 or not set)
41
+ if (partnerId) {
42
+ const partnerMatch = synonymUnits.find((unit) => (unit.biomarkerId === 0 || !unit.biomarkerId) &&
43
+ unit.partnerId === partnerId &&
44
+ normalizeUnit(unit.unknownUnit) === normalizedUnit);
45
+ if (partnerMatch) {
46
+ return { targetUnit: partnerMatch.targetUnit, found: true };
47
+ }
48
+ }
49
+ // Priority 3: Global synonym (partnerId is null, biomarkerId is 0 or not set)
50
+ const globalMatch = synonymUnits.find((unit) => unit.partnerId === null &&
51
+ (unit.biomarkerId === 0 || !unit.biomarkerId) &&
52
+ normalizeUnit(unit.unknownUnit) === normalizedUnit);
53
+ if (globalMatch) {
54
+ return { targetUnit: globalMatch.targetUnit, found: true };
55
+ }
56
+ return { targetUnit: '', found: false }; //TODO target unit is empty ''
57
+ }
13
58
  function isBiomarkerValueNumerical(biomarker) {
14
59
  return biomarker?.acf?.compatibility !== 'external_alphanumerical';
15
60
  }
@@ -47,6 +92,36 @@ const updatePartnerCustomParserUnmappedLabKeys = async (partnerId, unknownMeasur
47
92
  logger.info(response.data, `Resp: POST /v1/customparser/partners/${partnerId}/unmapped/bulk`);
48
93
  };
49
94
  exports.updatePartnerCustomParserUnmappedLabKeys = updatePartnerCustomParserUnmappedLabKeys;
95
+ // function that uses POST request at /v1/synonym/partners/{partnerId}/unknown-units/bulk to send the unknownUnits to the server
96
+ const bulkCreateCustomParserUnknownUnits = async (partnerId, unknownUnits, ohtCoreApiKey) => {
97
+ const response = await (0, apiUtils_1.makeApiCallWithRetry)('post', `${OHT_CORE_URL}/v1/synonym/partners/${partnerId}/unknown-units/bulk`, {
98
+ partnerId: partnerId,
99
+ unknownUnits: unknownUnits,
100
+ }, ohtCoreApiKey);
101
+ logger.info(response.data, `Resp: POST /v1/synonym/partners/${partnerId}/unknown-units/bulk`);
102
+ };
103
+ exports.bulkCreateCustomParserUnknownUnits = bulkCreateCustomParserUnknownUnits;
104
+ /**
105
+ * Fetch synonym units from oht-core API endpoint
106
+ * Returns all approved resolved synonym units (backend already filters and returns all results)
107
+ */
108
+ const fetchSynonymUnits = async (partnerId, ohtCoreApiKey) => {
109
+ try {
110
+ const url = `${OHT_CORE_URL}/v1/synonym/synonym-units/resolved${partnerId ? `?partnerId=${partnerId}` : ''}`;
111
+ const response = await (0, apiUtils_1.makeApiCallWithRetry)('get', url, null, ohtCoreApiKey);
112
+ // Backend returns array directly (already filtered for approved status and non-null targetUnit)
113
+ const synonymUnits = Array.isArray(response?.data)
114
+ ? response.data
115
+ : response?.data?.items || [];
116
+ logger.info({ partnerId, count: synonymUnits.length }, `Fetched ${synonymUnits.length} synonym units from API`);
117
+ return synonymUnits;
118
+ }
119
+ catch (error) {
120
+ logger.warn({ partnerId, error: error.message }, `Failed to fetch synonym units from API, falling back to hardcoded synonyms`);
121
+ return [];
122
+ }
123
+ };
124
+ exports.fetchSynonymUnits = fetchSynonymUnits;
50
125
  /**
51
126
  * Processes appended biomarker mappings by extracting values from additional labKeys
52
127
  * Compatible with AnnotationPreviewService interface but returns object with text property
@@ -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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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Converts an unknown error to a string message
3
+ * Handles Error objects, objects with message property, and other types
4
+ *
5
+ * @param error - The error to convert
6
+ * @returns String representation of the error
7
+ */
8
+ export declare function getErrorMessage(error: unknown): string;
9
+ /**
10
+ * Lightweight deep equality check for JSON-serializable objects.
11
+ * Only handles primitives, arrays, and plain objects (no functions, symbols, etc.)
12
+ * which is sufficient for transformation rule data.
13
+ *
14
+ * @param obj1 - First object to compare
15
+ * @param obj2 - Second object to compare
16
+ * @returns True if objects are deeply equal, false otherwise
17
+ */
18
+ export declare function isDeepEqual(obj1: unknown, obj2: unknown): boolean;
19
+ /**
20
+ * Parse a JSONPath-like target path into segments
21
+ * Supports dot notation, bracket notation, and array indices
22
+ *
23
+ * @param path - Path string (e.g., "$.user.name", "$.items[0]", "$.data['key']")
24
+ * @returns Array of path segments
25
+ */
26
+ export declare function parsePath(path: string): Array<string | number>;
27
+ /**
28
+ * Set a value in an object using a parsed path
29
+ * Creates intermediate objects/arrays as needed
30
+ *
31
+ * @param obj - Target object to modify
32
+ * @param segments - Path segments from parsePath()
33
+ * @param value - Value to set
34
+ */
35
+ export declare function setValueByPath(obj: Record<string, unknown>, segments: Array<string | number>, value: unknown): void;
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getErrorMessage = getErrorMessage;
4
+ exports.isDeepEqual = isDeepEqual;
5
+ exports.parsePath = parsePath;
6
+ exports.setValueByPath = setValueByPath;
7
+ /**
8
+ * Converts an unknown error to a string message
9
+ * Handles Error objects, objects with message property, and other types
10
+ *
11
+ * @param error - The error to convert
12
+ * @returns String representation of the error
13
+ */
14
+ function getErrorMessage(error) {
15
+ if (error instanceof Error) {
16
+ return error.message;
17
+ }
18
+ if (typeof error === 'object' && error !== null && 'message' in error) {
19
+ const maybeMessage = error.message;
20
+ return typeof maybeMessage === 'string' ? maybeMessage : String(maybeMessage);
21
+ }
22
+ return String(error);
23
+ }
24
+ /**
25
+ * Lightweight deep equality check for JSON-serializable objects.
26
+ * Only handles primitives, arrays, and plain objects (no functions, symbols, etc.)
27
+ * which is sufficient for transformation rule data.
28
+ *
29
+ * @param obj1 - First object to compare
30
+ * @param obj2 - Second object to compare
31
+ * @returns True if objects are deeply equal, false otherwise
32
+ */
33
+ function isDeepEqual(obj1, obj2) {
34
+ // Same reference or both null/undefined
35
+ if (obj1 === obj2)
36
+ return true;
37
+ // Different types or one is null
38
+ if (typeof obj1 !== typeof obj2 || obj1 === null || obj2 === null || typeof obj1 !== 'object') {
39
+ return false;
40
+ }
41
+ // Handle arrays
42
+ if (Array.isArray(obj1) && Array.isArray(obj2)) {
43
+ if (obj1.length !== obj2.length)
44
+ return false;
45
+ return obj1.every((item, index) => isDeepEqual(item, obj2[index]));
46
+ }
47
+ // One is array, other is not
48
+ if (Array.isArray(obj1) !== Array.isArray(obj2)) {
49
+ return false;
50
+ }
51
+ // Handle plain objects
52
+ const keys1 = Object.keys(obj1);
53
+ const keys2 = Object.keys(obj2);
54
+ if (keys1.length !== keys2.length)
55
+ return false;
56
+ return keys1.every((key) => isDeepEqual(obj1[key], obj2[key]));
57
+ }
58
+ /**
59
+ * Parse a JSONPath-like target path into segments
60
+ * Supports dot notation, bracket notation, and array indices
61
+ *
62
+ * @param path - Path string (e.g., "$.user.name", "$.items[0]", "$.data['key']")
63
+ * @returns Array of path segments
64
+ */
65
+ function parsePath(path) {
66
+ // Remove leading $. if present
67
+ const cleanPath = path.startsWith('$.') ? path.substring(2) : path;
68
+ if (!cleanPath) {
69
+ return [];
70
+ }
71
+ const segments = [];
72
+ let currentSegment = '';
73
+ let i = 0;
74
+ while (i < cleanPath.length) {
75
+ const char = cleanPath[i];
76
+ // Handle bracket notation for arrays [0] or objects ['key']
77
+ if (char === '[') {
78
+ // Save any accumulated segment
79
+ if (currentSegment) {
80
+ segments.push(currentSegment);
81
+ currentSegment = '';
82
+ }
83
+ i += 1; // Move past [
84
+ let bracketContent = '';
85
+ // Extract content between brackets
86
+ while (i < cleanPath.length && cleanPath[i] !== ']') {
87
+ bracketContent += cleanPath[i];
88
+ i += 1;
89
+ }
90
+ // Parse bracket content
91
+ if (bracketContent) {
92
+ // Remove quotes if present (for string keys like ['key'])
93
+ if ((bracketContent.startsWith("'") && bracketContent.endsWith("'"))
94
+ || (bracketContent.startsWith('"') && bracketContent.endsWith('"'))) {
95
+ segments.push(bracketContent.slice(1, -1));
96
+ }
97
+ else {
98
+ // Try to parse as number (for array indices)
99
+ const numValue = Number(bracketContent);
100
+ if (!Number.isNaN(numValue) && Number.isInteger(numValue)) {
101
+ segments.push(numValue);
102
+ }
103
+ else {
104
+ segments.push(bracketContent);
105
+ }
106
+ }
107
+ }
108
+ i += 1; // Move past ]
109
+ }
110
+ else if (char === '.') {
111
+ // Dot separator - save current segment
112
+ if (currentSegment) {
113
+ segments.push(currentSegment);
114
+ currentSegment = '';
115
+ }
116
+ i += 1;
117
+ }
118
+ else {
119
+ // Regular character - accumulate
120
+ currentSegment += char;
121
+ i += 1;
122
+ }
123
+ }
124
+ // Add final segment if any
125
+ if (currentSegment) {
126
+ segments.push(currentSegment);
127
+ }
128
+ return segments;
129
+ }
130
+ /**
131
+ * Set a value in an object using a parsed path
132
+ * Creates intermediate objects/arrays as needed
133
+ *
134
+ * @param obj - Target object to modify
135
+ * @param segments - Path segments from parsePath()
136
+ * @param value - Value to set
137
+ */
138
+ function setValueByPath(obj, segments, value) {
139
+ if (segments.length === 0) {
140
+ return;
141
+ }
142
+ let current = obj;
143
+ // Navigate to parent, creating intermediate structures as needed
144
+ for (let i = 0; i < segments.length - 1; i += 1) {
145
+ const segment = segments[i];
146
+ const nextSegment = segments[i + 1];
147
+ if (!(segment in current)) {
148
+ // Create array if next segment is a number, otherwise create object
149
+ current[segment] = typeof nextSegment === 'number' ? [] : {};
150
+ }
151
+ current = current[segment];
152
+ }
153
+ // Set the final value
154
+ const lastSegment = segments[segments.length - 1];
155
+ current[lastSegment] = value;
156
+ }
157
+ //# sourceMappingURL=transformationRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformationRules.js","sourceRoot":"","sources":["../../util-ts/transformationRules.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openhealth/oht-custom-parser-lib",
3
- "version": "0.2.50",
3
+ "version": "0.2.53",
4
4
  "description": "Shared nodejs lib with with reusable functions",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,6 +20,7 @@
20
20
  "bottleneck": "^2.19.5",
21
21
  "dayjs": "^1.11.13",
22
22
  "dotenv": "^16.4.5",
23
+ "jsonata": "^2.1.0",
23
24
  "moment": "^2.30.1",
24
25
  "mongodb": "^6.3.0",
25
26
  "pino": "^8.19.0"