fume-fhir-converter
Version:
FHIR-Utilized Mapping Engine - Community
56 lines • 2.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.deletePractitioner = exports.addPractitioner = exports.deleteConcept = exports.addConcept = exports.deleteAllConcepts = exports.getAllConcepts = void 0;
const tslib_1 = require("tslib");
/**
* © Copyright Outburn Ltd. 2022-2024 All Rights Reserved
* Project name: FUME-COMMUNITY
*/
const axios_1 = tslib_1.__importDefault(require("axios"));
const config_1 = require("../config");
const getResourceFileContents_1 = require("./getResourceFileContents");
async function getAllConcepts() {
const response = await axios_1.default.get(`${config_1.LOCAL_FHIR_API}/ConceptMap`);
return response.data;
}
exports.getAllConcepts = getAllConcepts;
async function deleteAllConcepts() {
const concepts = await getAllConcepts();
const entries = concepts.entry || [];
for (const concept of entries) {
const id = concept.resource.id;
console.log(`deleting concept ${id}`);
await deleteConcept(id);
}
}
exports.deleteAllConcepts = deleteAllConcepts;
async function addConcept(conceptFileName, id) {
const conceptMap = (0, getResourceFileContents_1.getResourceFileContents)('json', conceptFileName);
const parsed = JSON.parse(conceptMap);
if (id) {
const putResponse = await axios_1.default.put(`${config_1.LOCAL_FHIR_API}/ConceptMap/${id}`, parsed);
return putResponse.data.id;
}
else {
const postResponse = await axios_1.default.post(`${config_1.LOCAL_FHIR_API}/ConceptMap`, parsed);
return postResponse.data.id;
}
}
exports.addConcept = addConcept;
async function deleteConcept(conceptMapId) {
if (conceptMapId) {
await axios_1.default.delete(`${config_1.LOCAL_FHIR_API}/ConceptMap/${conceptMapId}`);
}
}
exports.deleteConcept = deleteConcept;
async function addPractitioner(entityFileName, id) {
const entity = (0, getResourceFileContents_1.getResourceFileContents)('json', entityFileName);
const parsedPractitioner = JSON.parse(entity);
return await axios_1.default.put(`${config_1.LOCAL_FHIR_API}/Practitioner/${id}`, parsedPractitioner);
}
exports.addPractitioner = addPractitioner;
async function deletePractitioner(id) {
return await axios_1.default.delete(`${config_1.LOCAL_FHIR_API}/Practitioner/${id}`);
}
exports.deletePractitioner = deletePractitioner;
//# sourceMappingURL=fhirHelpers.js.map