fume-fhir-converter
Version:
FHIR-Utilized Mapping Engine - Community
45 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.translateCoding = void 0;
const tslib_1 = require("tslib");
/**
* © Copyright Outburn Ltd. 2022-2024 All Rights Reserved
* Project name: FUME-COMMUNITY
*/
const cache_1 = require("../cache");
const conformance_1 = require("../conformance");
const jsonataExpression_1 = tslib_1.__importDefault(require("../jsonataExpression"));
const logger_1 = require("../logger");
const translateCoding = async (input, tableId) => {
const { tables } = (0, cache_1.getCache)();
try {
let map = tables.get(tableId);
if (map === undefined) {
(0, logger_1.getLogger)().info(`Table ${tableId} not cached, trying to fetch from server...`);
const table = await (0, conformance_1.getTable)(tableId);
if (table) {
map = table[tableId];
tables.set(tableId, map);
}
}
;
const mapFiltered = map[input];
let result;
if (mapFiltered) {
if (mapFiltered.length === 1) {
result = mapFiltered[0];
}
else {
result = mapFiltered;
}
}
const coding = await jsonataExpression_1.default.translateCodingExtract.evaluate({}, { result, input });
return coding;
}
catch (error) {
(0, logger_1.getLogger)().error({ error });
return undefined;
}
};
exports.translateCoding = translateCoding;
//# sourceMappingURL=translateCoding.js.map