781 lines
33 KiB
JavaScript
781 lines
33 KiB
JavaScript
"use strict";
|
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getResourcesKfaService = exports.getPatientSendAllService = exports.getPractitionerSendAllService = exports.getLocationIdService = exports.createLocationService = exports.getOrganizationIdService = exports.getOrganizationPartofService = exports.createOrganizationService = exports.getPractitionerNikService = exports.getPatientNikService = exports.createJobPractitioner = exports.pushJobService = exports.createJobPasien = void 0;
|
|
const config_1 = require("../../../utils/config");
|
|
const resources_repository_1 = require("./resources.repository");
|
|
const generate_token_service_1 = require("../generate-token/generate-token.service");
|
|
const axiosClient_1 = require("../../../utils/axiosClient");
|
|
const date_fns_tz_1 = require("date-fns-tz");
|
|
const pelayanan_rawat_jalan_repository_1 = require("../pelayanan-rawat-jalan/pelayanan-rawat-jalan.repository");
|
|
const date = new Date();
|
|
const timeZone = config_1.environment.timezone;
|
|
const formattedUtcDate = new Date((0, date_fns_tz_1.format)(date, "yyyy-MM-dd HH:mm:ss", { timeZone }) + " UTC");
|
|
const baseUrl = config_1.environment.satusehat.url_base;
|
|
const orgId = config_1.environment.satusehat.org_id;
|
|
const createJobPasien = (limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const getDataPasien = yield (0, resources_repository_1.getPatientSimrs)(limit);
|
|
if (getDataPasien.length < 1) {
|
|
return {
|
|
message: "Tidak ada data",
|
|
code: 200,
|
|
};
|
|
}
|
|
let dataPatient = yield Promise.all(getDataPasien.map((item) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const dataJob = {
|
|
endpoint_name: "patient",
|
|
status: 1,
|
|
method: "GET",
|
|
url: `/Patient?identifier=https://fhir.kemkes.go.id/id/nik|${item.ktp}`,
|
|
key_simrs: item.no_mr,
|
|
};
|
|
const checkPatientSatSet = yield (0, resources_repository_1.insertJobData)(dataJob);
|
|
if (!checkPatientSatSet) {
|
|
return {
|
|
no_mr: item.no_mr,
|
|
ktp: item.ktp,
|
|
birthdate: item.birthdate,
|
|
gender: item.gender,
|
|
status: "failed",
|
|
};
|
|
}
|
|
else {
|
|
const updateStatus = yield (0, resources_repository_1.updateStatusPasien)({
|
|
no_mr: item.no_mr,
|
|
status_satu_sehat: 1,
|
|
});
|
|
const checkPatientSatSet = yield (0, resources_repository_1.getPatientSatSet)(item.no_mr);
|
|
if (!checkPatientSatSet) {
|
|
const insertPatient = yield (0, resources_repository_1.insertDataPatientSatSet)({
|
|
pasien_id: item.pasien_id,
|
|
nama_pasien: item.nama_pasien,
|
|
tgl_lahir: item.tgl_lahir,
|
|
nik: item.ktp,
|
|
no_mr: item.no_mr,
|
|
});
|
|
}
|
|
return {
|
|
no_mr: item.no_mr,
|
|
ktp: item.ktp,
|
|
birthdate: item.birthdate,
|
|
gender: item.gender,
|
|
status: "success",
|
|
};
|
|
}
|
|
})));
|
|
return {
|
|
data: dataPatient,
|
|
code: 200,
|
|
message: "success",
|
|
};
|
|
});
|
|
exports.createJobPasien = createJobPasien;
|
|
const createJobPractitioner = (limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const getDataPractitioner = yield (0, resources_repository_1.getPractitionerSimrs)(limit);
|
|
if (getDataPractitioner.length < 1) {
|
|
return {
|
|
message: "Tidak ada data",
|
|
code: 200,
|
|
};
|
|
}
|
|
let dataPractitioner = yield Promise.all(getDataPractitioner.map((item) => __awaiter(void 0, void 0, void 0, function* () {
|
|
let pegawaiId = item.pegawai_id;
|
|
const dataJob = {
|
|
endpoint_name: "practitioner",
|
|
status: 1,
|
|
method: "GET",
|
|
url: `/Practitioner?identifier=https://fhir.kemkes.go.id/id/nik|${item.nik}`,
|
|
key_simrs: pegawaiId.toString(),
|
|
};
|
|
const checkPractitionerSatSet = yield (0, resources_repository_1.insertJobData)(dataJob);
|
|
if (!checkPractitionerSatSet) {
|
|
return {
|
|
pegawai_id: pegawaiId,
|
|
ktp: item.ktp,
|
|
nama_pegawai: item.nama_pegawai,
|
|
status: "failed",
|
|
};
|
|
}
|
|
else {
|
|
return {
|
|
pegawai_id: pegawaiId,
|
|
ktp: item.ktp,
|
|
nama_pegawai: item.nama_pegawai,
|
|
status: "success",
|
|
};
|
|
}
|
|
})));
|
|
return {
|
|
data: {
|
|
jumlah_data: dataPractitioner.length,
|
|
dataPractitioner,
|
|
},
|
|
code: 200,
|
|
message: "success",
|
|
};
|
|
});
|
|
exports.createJobPractitioner = createJobPractitioner;
|
|
const pushJobService = (endpoint_name, limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _a;
|
|
const getJobRepository = yield (0, resources_repository_1.getJob)(endpoint_name, limit);
|
|
if (getJobRepository.length < 1) {
|
|
return {
|
|
message: "Tidak ada data",
|
|
code: 200,
|
|
};
|
|
}
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_a = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _a === void 0 ? void 0 : _a.access_token;
|
|
let dataJob = yield Promise.all(getJobRepository.map((item) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
const url = `${baseUrl}${item.url}`;
|
|
const method = item.method;
|
|
const payload = item.payload;
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
const key_simrs = item.key_simrs;
|
|
if (item.endpoint_name === "patient") {
|
|
const executePatient = yield executePatientService(response, item, key_simrs);
|
|
return executePatient;
|
|
}
|
|
else if (item.endpoint_name === "encounter") {
|
|
const executeEncounter = yield executeEncounterService(response, item, key_simrs);
|
|
return executeEncounter;
|
|
}
|
|
else if (item.endpoint_name === "practitioner") {
|
|
const executePractitioner = yield executePractitionerService(response, item, key_simrs);
|
|
return executePractitioner;
|
|
}
|
|
else if (item.endpoint_name === "observation") {
|
|
const executeObservation = yield executeObservationService(response, item, key_simrs);
|
|
return executeObservation;
|
|
}
|
|
else if (item.endpoint_name === "condition") {
|
|
const executeCondition = yield executeConditionService(response, item, key_simrs);
|
|
return executeCondition;
|
|
}
|
|
})));
|
|
return {
|
|
data: dataJob,
|
|
code: 200,
|
|
message: "success",
|
|
};
|
|
});
|
|
exports.pushJobService = pushJobService;
|
|
const executePatientService = (response, item, key_simrs) => __awaiter(void 0, void 0, void 0, function* () {
|
|
if (response.status === 200) {
|
|
if (response.data.resourceType === "OperationOutcome") {
|
|
const updateStatus = yield (0, resources_repository_1.updateStatusPasien)({
|
|
no_mr: key_simrs,
|
|
status_satu_sehat: 3,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
else {
|
|
if (response.data.total > 0) {
|
|
const checkPatientSatSet = yield (0, resources_repository_1.getPatientSatSet)(key_simrs);
|
|
if (checkPatientSatSet) {
|
|
const updatePatientSatSet = yield (0, resources_repository_1.updateDataPatientSatSet)(response.data, {
|
|
no_mr: key_simrs,
|
|
pasien_id: checkPatientSatSet.pasien_id,
|
|
});
|
|
}
|
|
const updateStatus = yield (0, resources_repository_1.updateStatusPasien)({
|
|
no_mr: key_simrs,
|
|
status_satu_sehat: 2,
|
|
id_satu_sehat: response.data.entry[0].resource.id,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 2,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "success",
|
|
response: response.data.entry[0].resource,
|
|
};
|
|
}
|
|
else {
|
|
const updateStatus = yield (0, resources_repository_1.updateStatusPasien)({
|
|
no_mr: key_simrs,
|
|
status_satu_sehat: 3,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
const updateStatus = yield (0, resources_repository_1.updateStatusPasien)({
|
|
no_mr: key_simrs,
|
|
status_satu_sehat: 3,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
});
|
|
const executeEncounterService = (response, item, key_simrs) => __awaiter(void 0, void 0, void 0, function* () {
|
|
if (response.status === 201) {
|
|
if (response.data.resourceType === "OperationOutcome") {
|
|
const updateStatus = yield (0, pelayanan_rawat_jalan_repository_1.updateStatusRegistrasi)({
|
|
registrasi_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 3,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
else {
|
|
const checkEncounterSatSet = yield (0, pelayanan_rawat_jalan_repository_1.getEncounterSatSet)(key_simrs);
|
|
if (checkEncounterSatSet) {
|
|
const updateEncounterSatSet = yield (0, pelayanan_rawat_jalan_repository_1.updateDataEncounterSatSet)(response.data, {
|
|
registrasi_id: key_simrs,
|
|
id: checkEncounterSatSet.id,
|
|
});
|
|
}
|
|
const updateStatus = yield (0, pelayanan_rawat_jalan_repository_1.updateStatusRegistrasi)({
|
|
registrasi_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 2,
|
|
id_satu_sehat: response.data.id,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 2,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "success",
|
|
response: response.data,
|
|
};
|
|
}
|
|
}
|
|
else {
|
|
const updateStatus = yield (0, pelayanan_rawat_jalan_repository_1.updateStatusRegistrasi)({
|
|
registrasi_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 3,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
});
|
|
const executePractitionerService = (response, item, key_simrs) => __awaiter(void 0, void 0, void 0, function* () {
|
|
let url = item.url;
|
|
let nik = url.substring(58);
|
|
if (response.status === 200) {
|
|
if (response.data.resourceType === "OperationOutcome") {
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
else {
|
|
if (response.data.total > 0) {
|
|
const checkPractitionerSatSet = yield (0, resources_repository_1.getPractitionerSatSet)(key_simrs);
|
|
if (checkPractitionerSatSet) {
|
|
const updatePractitionerSatSet = yield (0, resources_repository_1.updateDataPractitionerSatSet)(response.data, {
|
|
pegawai_id: key_simrs,
|
|
nik: nik,
|
|
id: checkPractitionerSatSet.id,
|
|
});
|
|
}
|
|
else {
|
|
const insertPractitionerSatSet = yield (0, resources_repository_1.insertDataPractitionerSatSet)(response.data, {
|
|
pegawai_id: key_simrs,
|
|
nik: nik,
|
|
});
|
|
}
|
|
const updateStatus = yield (0, resources_repository_1.updateStatusPegawai)({
|
|
pegawai_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 2,
|
|
id_satu_sehat: response.data.entry[0].resource.id,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 2,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "success",
|
|
response: response.data,
|
|
};
|
|
}
|
|
else {
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
});
|
|
const executeObservationService = (response, item, key_simrs) => __awaiter(void 0, void 0, void 0, function* () {
|
|
if (response.status === 201) {
|
|
if (response.data.resourceType === "OperationOutcome") {
|
|
const updateStatus = yield (0, pelayanan_rawat_jalan_repository_1.updateStatusEmrDetail)({
|
|
emr_detail_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 3,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
else {
|
|
const checkEmrDetailObservationSatSet = yield (0, pelayanan_rawat_jalan_repository_1.getEmrDetailObservationSatSet)(key_simrs);
|
|
if (checkEmrDetailObservationSatSet) {
|
|
const updateEmrDetailSatSet = yield (0, pelayanan_rawat_jalan_repository_1.updateDataEmrDetailObservationSatSet)(response.data, {
|
|
emr_detail_id: key_simrs,
|
|
id: checkEmrDetailObservationSatSet.admission_id,
|
|
});
|
|
}
|
|
const updateStatus = yield (0, pelayanan_rawat_jalan_repository_1.updateStatusEmrDetail)({
|
|
emr_detail_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 2,
|
|
id_satu_sehat: response.data.id,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 2,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "success",
|
|
response: response.data,
|
|
};
|
|
}
|
|
}
|
|
else {
|
|
const updateStatus = yield (0, pelayanan_rawat_jalan_repository_1.updateStatusEmrDetail)({
|
|
emr_detail_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 3,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
});
|
|
const executeConditionService = (response, item, key_simrs) => __awaiter(void 0, void 0, void 0, function* () {
|
|
if (response.status === 201) {
|
|
if (response.data.resourceType === "OperationOutcome") {
|
|
const updateStatus = yield (0, pelayanan_rawat_jalan_repository_1.updateStatusEmrDetail)({
|
|
emr_detail_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 3,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
else {
|
|
const checkEmrDetailSatSet = yield (0, pelayanan_rawat_jalan_repository_1.getEmrDetailConditionSatSet)(key_simrs);
|
|
if (checkEmrDetailSatSet) {
|
|
const updateEmrDetailSatSet = yield (0, pelayanan_rawat_jalan_repository_1.updateDataEmrDetailConditionSatSet)(response.data, {
|
|
emr_detail_id: key_simrs,
|
|
id: checkEmrDetailSatSet.admission_id,
|
|
});
|
|
}
|
|
const updateStatus = yield (0, pelayanan_rawat_jalan_repository_1.updateStatusEmrDetail)({
|
|
emr_detail_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 2,
|
|
id_satu_sehat: response.data.id,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 2,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "success",
|
|
response: response.data,
|
|
};
|
|
}
|
|
}
|
|
else {
|
|
const updateStatus = yield (0, pelayanan_rawat_jalan_repository_1.updateStatusEmrDetail)({
|
|
emr_detail_id: parseInt(key_simrs, 10),
|
|
status_satu_sehat: 3,
|
|
});
|
|
const updateJob = yield (0, resources_repository_1.updateJobData)({
|
|
id: item.id,
|
|
response: response.data,
|
|
status: 3,
|
|
});
|
|
return {
|
|
job_id: item.id,
|
|
status: "failed",
|
|
response: response.data,
|
|
};
|
|
}
|
|
});
|
|
const getPatientNikService = (nik) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _b;
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_b = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _b === void 0 ? void 0 : _b.access_token;
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
const url = `${baseUrl}/Patient?identifier=https://fhir.kemkes.go.id/id/nik|${nik}`;
|
|
const method = "GET";
|
|
const payload = null;
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
return response;
|
|
});
|
|
exports.getPatientNikService = getPatientNikService;
|
|
const getPractitionerNikService = (nik) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _c;
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_c = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _c === void 0 ? void 0 : _c.access_token;
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
const url = `${baseUrl}/Practitioner?identifier=https://fhir.kemkes.go.id/id/nik|${nik}`;
|
|
const method = "GET";
|
|
const payload = null;
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
return response;
|
|
});
|
|
exports.getPractitionerNikService = getPractitionerNikService;
|
|
const createOrganizationService = (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _d;
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_d = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _d === void 0 ? void 0 : _d.access_token;
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
const url = `${baseUrl}/Organization`;
|
|
const method = "POST";
|
|
const payload = {
|
|
resourceType: "Organization",
|
|
active: true,
|
|
identifier: [
|
|
{
|
|
use: "official",
|
|
system: "http://sys-ids.kemkes.go.id/organization/" + orgId,
|
|
value: data.bagian_id,
|
|
},
|
|
],
|
|
type: [
|
|
{
|
|
coding: [
|
|
{
|
|
system: "http://terminology.hl7.org/CodeSystem/organization-type",
|
|
code: "dept",
|
|
display: "Hospital Department",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
name: data.nama_bagian,
|
|
partOf: {
|
|
reference: "Organization/" + orgId,
|
|
},
|
|
};
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
return response;
|
|
});
|
|
exports.createOrganizationService = createOrganizationService;
|
|
const getOrganizationPartofService = (organization_id) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _e;
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_e = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _e === void 0 ? void 0 : _e.access_token;
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
organization_id = organization_id !== null && organization_id !== void 0 ? organization_id : orgId;
|
|
const url = `${baseUrl}/Organization?partof=${organization_id}`;
|
|
const method = "GET";
|
|
const payload = null;
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
return response;
|
|
});
|
|
exports.getOrganizationPartofService = getOrganizationPartofService;
|
|
const getOrganizationIdService = (organization_id) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _f;
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_f = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _f === void 0 ? void 0 : _f.access_token;
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
const url = `${baseUrl}/Organization/${organization_id}`;
|
|
const method = "GET";
|
|
const payload = null;
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
return response;
|
|
});
|
|
exports.getOrganizationIdService = getOrganizationIdService;
|
|
const createLocationService = (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _g;
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_g = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _g === void 0 ? void 0 : _g.access_token;
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
const url = `${baseUrl}/Location`;
|
|
const method = "POST";
|
|
const payload = {
|
|
resourceType: "Location",
|
|
identifier: [
|
|
{
|
|
system: "http://sys-ids.kemkes.go.id/location/" + orgId,
|
|
value: data.bagian_id,
|
|
},
|
|
],
|
|
status: "active",
|
|
name: data.nama_bagian,
|
|
description: "This is a location for " + data.nama_bagian,
|
|
mode: "instance",
|
|
physicalType: {
|
|
coding: [
|
|
{
|
|
system: "http://terminology.hl7.org/CodeSystem/location-physical-type",
|
|
code: "ro",
|
|
display: "Room",
|
|
},
|
|
],
|
|
},
|
|
managingOrganization: {
|
|
reference: "Organization/" + data.organization_id,
|
|
},
|
|
};
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
return response;
|
|
});
|
|
exports.createLocationService = createLocationService;
|
|
const getLocationIdService = (location_id) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _h;
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_h = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _h === void 0 ? void 0 : _h.access_token;
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
const url = `${baseUrl}/Location/${location_id}`;
|
|
const method = "GET";
|
|
const payload = null;
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
return response;
|
|
});
|
|
exports.getLocationIdService = getLocationIdService;
|
|
const getPractitionerSendAllService = (limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _j;
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_j = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _j === void 0 ? void 0 : _j.access_token;
|
|
const getDataPractitionerReady = yield (0, resources_repository_1.getDataPractitioner)(limit);
|
|
const resultPush = [];
|
|
if (getDataPractitionerReady.length > 0) {
|
|
const promises = getDataPractitionerReady.map((element) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
const url = `${baseUrl}/Practitioner?identifier=https://fhir.kemkes.go.id/id/nik|${element.nik}`;
|
|
const method = "GET";
|
|
const payload = null;
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
if (response.status === 200) {
|
|
if (response.data.total === 0) {
|
|
resultPush.push(Object.assign(Object.assign({}, element), { status: "gagal" }));
|
|
}
|
|
else {
|
|
const updateInsertIdPractitioner = (0, resources_repository_1.updateInsertIdPractitionerRepo)(element.pegawai_id, response.data, response.data.entry[0].resource.id, response.data.entry[0].resource.resourceType);
|
|
resultPush.push(Object.assign(Object.assign({}, element), { status: "sukses" }));
|
|
}
|
|
}
|
|
else {
|
|
resultPush.push(Object.assign(Object.assign({}, element), { status: "gagal" }));
|
|
}
|
|
}));
|
|
yield Promise.all(promises);
|
|
}
|
|
return resultPush;
|
|
});
|
|
exports.getPractitionerSendAllService = getPractitionerSendAllService;
|
|
const getPatientSendAllService = (limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
var _k;
|
|
const tokenService = yield (0, generate_token_service_1.checkTokenService)();
|
|
if ((tokenService === null || tokenService === void 0 ? void 0 : tokenService.code) !== 200) {
|
|
throw new Error("Generate Token Failed");
|
|
}
|
|
let token = (_k = tokenService === null || tokenService === void 0 ? void 0 : tokenService.data) === null || _k === void 0 ? void 0 : _k.access_token;
|
|
const getDataPatientReady = yield (0, resources_repository_1.getDataPatient)(limit);
|
|
const resultPush = [];
|
|
if (getDataPatientReady.length > 0) {
|
|
const promises = getDataPatientReady.map((element) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const headersData = {
|
|
"Content-Type": "application/json",
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
const url = `${baseUrl}/Patient?identifier=https://fhir.kemkes.go.id/id/nik|${element.ktp}`;
|
|
const method = "GET";
|
|
const payload = null;
|
|
const response = yield (0, axiosClient_1.requestAxios)(headersData, url, method, payload);
|
|
if (response.status === 200) {
|
|
if (response.data.total === 0) {
|
|
const updateInsertIdPatient = (0, resources_repository_1.updateInsertIdPatientRepo)(element.pasien_id, response.data, "0", "Patient", 1);
|
|
resultPush.push(Object.assign(Object.assign({}, element), { status: "gagal" }));
|
|
}
|
|
else {
|
|
const updateInsertIdPatient = (0, resources_repository_1.updateInsertIdPatientRepo)(element.pasien_id, response.data, response.data.entry[0].resource.id, response.data.entry[0].resource.resourceType);
|
|
resultPush.push(Object.assign(Object.assign({}, element), { status: "sukses" }));
|
|
}
|
|
}
|
|
else {
|
|
resultPush.push(Object.assign(Object.assign({}, element), { status: "gagal", response: response.data }));
|
|
}
|
|
}));
|
|
yield Promise.all(promises);
|
|
}
|
|
return resultPush;
|
|
});
|
|
exports.getPatientSendAllService = getPatientSendAllService;
|
|
const getResourcesKfaService = (kfa_name) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const getDataKfaReady = yield (0, resources_repository_1.getDataKfa)(kfa_name);
|
|
let datax;
|
|
let code;
|
|
let data;
|
|
if (getDataKfaReady.length > 0) {
|
|
code = 200;
|
|
data = getDataKfaReady;
|
|
}
|
|
else {
|
|
code = 201;
|
|
data = '';
|
|
}
|
|
return (datax = {
|
|
status: code,
|
|
data: data,
|
|
});
|
|
});
|
|
exports.getResourcesKfaService = getResourcesKfaService;
|