@openhealth/oht-custom-parser-lib 0.2.74 → 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 +3 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/service/ohtAgnosticMeasurementsExtractor.service.d.ts +59 -0
- package/dist/service/ohtAgnosticMeasurementsExtractor.service.js +603 -0
- package/dist/service/ohtAgnosticMeasurementsExtractor.service.js.map +1 -0
- package/dist/service/ohtMeasurementsExtractor.service.d.ts +0 -27
- package/dist/service/ohtMeasurementsExtractor.service.js +31 -68
- package/dist/service/ohtMeasurementsExtractor.service.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/types/custom-parser.types.d.ts +9 -1
- package/dist/types/oht.types.d.ts +4 -3
- package/dist/util-ts/extractionUtils.d.ts +69 -0
- package/dist/util-ts/extractionUtils.js +666 -0
- package/dist/util-ts/extractionUtils.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export { postDataImportFileUploadToCore, postReportPreviewToCore } from './service/reportCreator.service';
|
|
2
2
|
export { parseExternalPatientId, parseGender, isPatientAgeValid, handleRejection, queryFileUploadsWithFilters, postFileUploadSetStatus, DigitalizationUpdateFields } from './service/auxiliaryFunctions.service';
|
|
3
|
+
export { ohtReportMeasurementsExtractor, } from './service/ohtReportMeasurementsExtractor.service';
|
|
3
4
|
export { ohtMeasurementsExtractor, checkValueForPlausibleValues, extractReferenceRanges, extractReferenceAnnotation, parseExamValue, getRangeFromPositionAndRegex, extractUnit, extractValueFromGreaterLowerThan } from './service/ohtMeasurementsExtractor.service';
|
|
4
5
|
export { getSlackFileIssueNotificationMessage, sendMessageToSlack } from './service/slackMessages.service';
|
|
5
6
|
export { aggregateMessages, aggregateBiMessages, publishToTopic, generateBIMessages } from './service/errorHandling.service';
|
|
6
7
|
export { applyRules as applyTransformationRules, validateJsonataExpression as validateTransformationRuleExpression, } from './service/transformationRules.service';
|
|
7
8
|
export { LabToOhtContract, LabToOhtMapper, UnknownMeasurementExtraction, ReferenceAsAnnotation, UnitExtraction, RangeExtraction, RangeExtractionResponse, ValueExtraction, unitSynonyms, ValueExtractionResponse, SynonymUnit, UnknownUnits, } from './types/custom-parser.types';
|
|
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, RejectReason, } from './types/oht.types';
|
|
9
|
+
export { AcfBiomarkerRangeAnnotationCheck, AcfBiomarkerGenericDisclaimerLogic, ManualCheck, BiomarkerCompatibility, ReferenceRangeType, AcfReferenceRange, VisualRange, NameAlias, AlternativeUnit, BiomarkerAcf, Biomarker, PipelineStep, DigitizationStatus, MeasurementValueComparator, BiomarkerValueType, DataImportFileUploadStatus, Sex, Digitization, PatientInfo, UnknownMeasurement, UnmappedLabKey, Measurement, DataImportFileUpload, MessagePayload, SignedUpload, ReportStyleConfig, LanguageCode, BiomarkerCustomisation, PartnerCustomPanel, ReportDisplaySettings, ReportCustomisation, OHTPartner, UploadType, RejectReason, } from './types/oht.types';
|
|
9
10
|
export { ErrorMessage } from './types/error.types';
|
|
10
11
|
export type { TransformationRule, TransformationContext, ApplyRulesResult as TransformationApplyRulesResult, ApplyRulesOptions as TransformationApplyRulesOptions, ValidationResult as TransformationValidationResult, } from './types/transformationRules.types';
|
|
11
12
|
export { makeApiCallWithRetry, parseErrorObj } from './util-ts/apiUtils';
|
|
@@ -14,3 +15,4 @@ export { readFileFromBucket, uploadFileBufferToGCS } from './util-ts/googleStora
|
|
|
14
15
|
export { default as pinoLogger } from './util-ts/pinoLogger';
|
|
15
16
|
export { getGreaterThanPatterns, getLowerThanPatterns } from './util-ts/regexUtils';
|
|
16
17
|
export { getMappedBiomarkers, } from './util-ts/dataUtils';
|
|
18
|
+
export { parseRange } from './util-ts/extractionUtils';
|
package/dist/index.js
CHANGED
|
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
exports.getMappedBiomarkers = exports.getLowerThanPatterns = void 0;
|
|
6
|
+
exports.pinoLogger = exports.uploadFileBufferToGCS = exports.readFileFromBucket = exports.resolveUnitFromSynonyms = exports.fetchSynonymUnits = exports.processAppendedMappings = exports.isBiomarkerExternalNoVisualRange = exports.isBiomarkerValueNumerical = exports.extractValue = exports.parseErrorObj = exports.makeApiCallWithRetry = exports.RejectReason = exports.UploadType = exports.Sex = exports.DataImportFileUploadStatus = exports.BiomarkerValueType = exports.MeasurementValueComparator = exports.DigitizationStatus = exports.PipelineStep = exports.ReferenceRangeType = exports.BiomarkerCompatibility = exports.ManualCheck = exports.AcfBiomarkerGenericDisclaimerLogic = exports.AcfBiomarkerRangeAnnotationCheck = exports.unitSynonyms = exports.validateTransformationRuleExpression = exports.applyTransformationRules = exports.generateBIMessages = exports.publishToTopic = exports.aggregateBiMessages = exports.aggregateMessages = exports.sendMessageToSlack = exports.getSlackFileIssueNotificationMessage = exports.extractValueFromGreaterLowerThan = exports.extractUnit = exports.getRangeFromPositionAndRegex = exports.parseExamValue = exports.extractReferenceAnnotation = exports.extractReferenceRanges = exports.checkValueForPlausibleValues = exports.ohtMeasurementsExtractor = exports.ohtReportMeasurementsExtractor = exports.postFileUploadSetStatus = exports.queryFileUploadsWithFilters = exports.handleRejection = exports.isPatientAgeValid = exports.parseGender = exports.parseExternalPatientId = exports.postReportPreviewToCore = exports.postDataImportFileUploadToCore = void 0;
|
|
7
|
+
exports.parseRange = exports.getMappedBiomarkers = exports.getLowerThanPatterns = exports.getGreaterThanPatterns = void 0;
|
|
8
8
|
// ### SERVICES ###
|
|
9
9
|
var reportCreator_service_1 = require("./service/reportCreator.service");
|
|
10
10
|
Object.defineProperty(exports, "postDataImportFileUploadToCore", { enumerable: true, get: function () { return reportCreator_service_1.postDataImportFileUploadToCore; } });
|
|
@@ -16,6 +16,8 @@ Object.defineProperty(exports, "isPatientAgeValid", { enumerable: true, get: fun
|
|
|
16
16
|
Object.defineProperty(exports, "handleRejection", { enumerable: true, get: function () { return auxiliaryFunctions_service_1.handleRejection; } });
|
|
17
17
|
Object.defineProperty(exports, "queryFileUploadsWithFilters", { enumerable: true, get: function () { return auxiliaryFunctions_service_1.queryFileUploadsWithFilters; } });
|
|
18
18
|
Object.defineProperty(exports, "postFileUploadSetStatus", { enumerable: true, get: function () { return auxiliaryFunctions_service_1.postFileUploadSetStatus; } });
|
|
19
|
+
var ohtReportMeasurementsExtractor_service_1 = require("./service/ohtReportMeasurementsExtractor.service");
|
|
20
|
+
Object.defineProperty(exports, "ohtReportMeasurementsExtractor", { enumerable: true, get: function () { return ohtReportMeasurementsExtractor_service_1.ohtReportMeasurementsExtractor; } });
|
|
19
21
|
var ohtMeasurementsExtractor_service_1 = require("./service/ohtMeasurementsExtractor.service");
|
|
20
22
|
Object.defineProperty(exports, "ohtMeasurementsExtractor", { enumerable: true, get: function () { return ohtMeasurementsExtractor_service_1.ohtMeasurementsExtractor; } });
|
|
21
23
|
Object.defineProperty(exports, "checkValueForPlausibleValues", { enumerable: true, get: function () { return ohtMeasurementsExtractor_service_1.checkValueForPlausibleValues; } });
|
|
@@ -74,4 +76,6 @@ Object.defineProperty(exports, "getGreaterThanPatterns", { enumerable: true, get
|
|
|
74
76
|
Object.defineProperty(exports, "getLowerThanPatterns", { enumerable: true, get: function () { return regexUtils_1.getLowerThanPatterns; } });
|
|
75
77
|
var dataUtils_2 = require("./util-ts/dataUtils");
|
|
76
78
|
Object.defineProperty(exports, "getMappedBiomarkers", { enumerable: true, get: function () { return dataUtils_2.getMappedBiomarkers; } });
|
|
79
|
+
var extractionUtils_1 = require("./util-ts/extractionUtils");
|
|
80
|
+
Object.defineProperty(exports, "parseRange", { enumerable: true, get: function () { return extractionUtils_1.parseRange; } });
|
|
77
81
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;AAAA,mBAAmB;AACnB,yEAGyC;AAFvC,uIAAA,8BAA8B,OAAA;AAC9B,gIAAA,uBAAuB,OAAA;AAEzB,mFAQ8C;AAP5C,oIAAA,sBAAsB,OAAA;AACtB,yHAAA,WAAW,OAAA;AACX,+HAAA,iBAAiB,OAAA;AACjB,6HAAA,eAAe,OAAA;AACf,yIAAA,2BAA2B,OAAA;AAC3B,qIAAA,uBAAuB,OAAA;AAIzB,+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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;AAAA,mBAAmB;AACnB,yEAGyC;AAFvC,uIAAA,8BAA8B,OAAA;AAC9B,gIAAA,uBAAuB,OAAA;AAEzB,mFAQ8C;AAP5C,oIAAA,sBAAsB,OAAA;AACtB,yHAAA,WAAW,OAAA;AACX,+HAAA,iBAAiB,OAAA;AACjB,6HAAA,eAAe,OAAA;AACf,yIAAA,2BAA2B,OAAA;AAC3B,qIAAA,uBAAuB,OAAA;AAIzB,2GAE0D;AADxD,wJAAA,8BAA8B,OAAA;AAGhC,+FASoD;AARlD,4IAAA,wBAAwB,OAAA;AACxB,gJAAA,4BAA4B,OAAA;AAC5B,0IAAA,sBAAsB,OAAA;AACtB,8IAAA,0BAA0B,OAAA;AAC1B,kIAAA,cAAc,OAAA;AACd,gJAAA,4BAA4B,OAAA;AAC5B,+HAAA,WAAW,OAAA;AACX,oJAAA,gCAAgC,OAAA;AAGlC,yEAEyC;AADvC,6IAAA,oCAAoC,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAE1D,yEAKyC;AAJvC,0HAAA,iBAAiB,OAAA;AACjB,4HAAA,mBAAmB,OAAA;AACnB,uHAAA,cAAc,OAAA;AACd,2HAAA,kBAAkB,OAAA;AAEpB,qFAG+C;AAF7C,uIAAA,UAAU,OAA4B;AACtC,mJAAA,yBAAyB,OAAwC;AAGnE,gBAAgB;AAChB,mEAaqC;AAJnC,mHAAA,YAAY,OAAA;AAKd,+CAmC2B;AAlCzB,6HAAA,gCAAgC,OAAA;AAChC,+HAAA,kCAAkC,OAAA;AAClC,wGAAA,WAAW,OAAA;AACX,mHAAA,sBAAsB,OAAA;AACtB,+GAAA,kBAAkB,OAAA;AAOlB,yGAAA,YAAY,OAAA;AACZ,+GAAA,kBAAkB,OAAA;AAClB,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,kBAAkB,OAAA;AAClB,uHAAA,0BAA0B,OAAA;AAC1B,gGAAA,GAAG,OAAA;AAgBH,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AAWd,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;AAC3B,6DAAqD;AAA7C,6GAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { LabToOhtContract, LabToOhtMapper, RangeExtractionResponse, SynonymUnit, UnknownUnits, TransformationRulesChains } from "../types/custom-parser.types";
|
|
2
|
+
import { Biomarker, BiomarkerValueType, Measurement, MeasurementValueComparator, PatientInfo, UnknownMeasurement, Exam } from "../types/oht.types";
|
|
3
|
+
/**
|
|
4
|
+
* Extracts unit from rawData (OhtExam object)
|
|
5
|
+
* @param rawData - OhtExam object (not a JSON string)
|
|
6
|
+
* @param ohtBiomarker - Biomarker information
|
|
7
|
+
* @param synonymUnits - Synonym units for unit resolution
|
|
8
|
+
* @param partnerId - Partner ID for synonym resolution
|
|
9
|
+
*/
|
|
10
|
+
declare function agnosticExtractUnit(rawData: any, ohtBiomarker: Biomarker, synonymUnits?: SynonymUnit[] | null, partnerId?: string | null | undefined): {
|
|
11
|
+
unit: string;
|
|
12
|
+
isUnitParsedCorrectly: boolean;
|
|
13
|
+
originalUnit: string;
|
|
14
|
+
isArbitraryUnit: boolean;
|
|
15
|
+
unknownUnit: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Extracts reference annotation from rawExam (OhtExam object)
|
|
19
|
+
* @param labToOhtMapper - Lab to OHT mapper configuration
|
|
20
|
+
* @param rawExam - OhtExam object (not a JSON string)
|
|
21
|
+
* @param patientInfo - Patient information
|
|
22
|
+
* @param documentDate - Document date
|
|
23
|
+
* @param exams - Array of exams for appended mappings
|
|
24
|
+
*/
|
|
25
|
+
declare function agnosticExtractReferenceAnnotation(labToOhtMapper: LabToOhtMapper, rawExam: any, patientInfo: PatientInfo, documentDate?: Date, exams?: Exam[]): string;
|
|
26
|
+
/**
|
|
27
|
+
* Extracts reference ranges from rawData (OhtExam object)
|
|
28
|
+
* Always uses parseRange function from extractionUtils for range extraction
|
|
29
|
+
*/
|
|
30
|
+
declare function agnosticExtractReferenceRanges(labToOhtMapper: LabToOhtMapper, rawData: any, patientInfo: PatientInfo, documentDate?: Date): RangeExtractionResponse;
|
|
31
|
+
declare function agnosticExtractValueFromGreaterLowerThan(value: string): {
|
|
32
|
+
extractedValue: number | null;
|
|
33
|
+
extractedValueComparator: MeasurementValueComparator | null;
|
|
34
|
+
valueParsedCorrectly: boolean;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Parses exam value from rawExamObj (OhtExam object)
|
|
38
|
+
* Now uses value directly from ohtExam
|
|
39
|
+
*/
|
|
40
|
+
declare function agnosticParseExamValue(rawExamObj: any, ohtBiomarker: Biomarker): {
|
|
41
|
+
valueType: BiomarkerValueType;
|
|
42
|
+
alphanumericalValue: string | null;
|
|
43
|
+
numberValue: number | null;
|
|
44
|
+
valueComparator: MeasurementValueComparator;
|
|
45
|
+
isValueParsedCorrectly: boolean;
|
|
46
|
+
};
|
|
47
|
+
declare function agnosticCheckValueForPlausibleValues(labToOhtMapper: LabToOhtMapper, ohtBiomarker: Biomarker, unit: string, value: number, isUnitParsedCorrectly: boolean): boolean;
|
|
48
|
+
type ApplyTransformationRulesResult = {
|
|
49
|
+
transformedExams: Exam[];
|
|
50
|
+
applicationErrorMessages: string[];
|
|
51
|
+
};
|
|
52
|
+
declare function ohtAgnosticMeasurementsExtractor(labToOhtContract: LabToOhtContract, exams: Exam[], transformationRules: TransformationRulesChains, ohtCoreApiKey: string, partnerId?: string | null | undefined): Promise<{
|
|
53
|
+
measurements: Measurement[];
|
|
54
|
+
unknownMeasurements: UnknownMeasurement[];
|
|
55
|
+
unknownUnits: UnknownUnits[];
|
|
56
|
+
isReportCorrectlyParsed: boolean;
|
|
57
|
+
transformationRulesErrors: string[];
|
|
58
|
+
}>;
|
|
59
|
+
export { ApplyTransformationRulesResult, ohtAgnosticMeasurementsExtractor, agnosticCheckValueForPlausibleValues, agnosticExtractReferenceRanges, agnosticExtractReferenceAnnotation, agnosticParseExamValue, agnosticExtractUnit, agnosticExtractValueFromGreaterLowerThan };
|