import { openmrsFetch } from '@openmrs/esm-framework'; import { API_ENPOINT } from '../constants'; import axios from "axios"; import { Patient, PatientCreateViewModel } from '../models/patient'; // const API_PATH_FHIR2 = API_ENPOINT + "/ws/fhir2/R4/Patient"; // const API_PATH_OPENMRS = API_ENPOINT + "/ws/rest/v1/"; const FHIR2_PATH = "/ws/fhir2/R4"; const OPENMRS_PATH = "/ws/rest/v1"; export function getPatientList(offSet: number = 1, pageSize: number = 10) { return openmrsFetch(`${FHIR2_PATH}/Patient?_getpagesoffset=${offSet}&_count=${pageSize}`); } // export function getPatient(patientUuid: string) { // return openmrsFetch(`/ws/fhir2/R4/Patient/${patientUuid}`); // } // export const createPatient = (patient: PatientCreateViewModel) => { // let url = API_PATH_OPENMRS + "/patient"; // return axios.post(url, patient); // }; export function savePatient(patient: PatientCreateViewModel) { const url = patient.uuid ? `${OPENMRS_PATH}/patient/` + patient.uuid : `${OPENMRS_PATH}/patient/`; return openmrsFetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: patient, }); } // export const getPatient = (id: string) => { // let url = API_PATH_OPENMRS + "/patient/" + id; // return axios.get(url); // }; export function getPatient(id: string) { return openmrsFetch(`${OPENMRS_PATH}/patient/${id}`); } export function getPersonAddress(personId: string, addressId: string) { return openmrsFetch(`${OPENMRS_PATH}/person/${personId}/address/${addressId}`); } // export const getPersonAddress = (personId: string, addressId: string) => { // let url = API_PATH_OPENMRS + "/person/" + personId + "/address/" + addressId; // return axios.get(url); // }; // export const getPersonName = (personId: string) => { // let url = API_PATH_OPENMRS + "/person/" + personId + "/name"; // return axios.get(url); // }; export function getPersonName(personId: string) { return openmrsFetch(`${OPENMRS_PATH}/person/${personId}/name`); } // export const getPatientIdentifier = (patientId: string) => { // let url = API_PATH_OPENMRS + "/patient/" + patientId + "/identifier"; // return axios.get(url); // }; export function getPatientIdentifier(patientId: string) { return openmrsFetch(`${OPENMRS_PATH}/patient/${patientId}/identifier`); } // export const deletePatient = (patientId: string) => { // let url = API_PATH_OPENMRS + "/patient/" + patientId + "?purge=true"; // return axios.delete(url); // }; export function deletePatient(patientId: string) { return openmrsFetch(`${OPENMRS_PATH}/patient/${patientId}?purge=true`, { method: 'DELETE', }); } export function getPatientIdentifierTypes() { return openmrsFetch(`${OPENMRS_PATH}/patientidentifiertype`); } // export const getPatientIdentifierTypes = () => { // let url = API_PATH_OPENMRS + "/patientidentifiertype"; // return axios.get(url); // }; // export const getPatientIdentifierSources = () => { // let url = API_PATH_OPENMRS + "/idgen/identifiersource?v=default"; // return axios.get(url); // }; export function getPatientIdentifierSources() { return openmrsFetch(`${OPENMRS_PATH}/idgen/identifiersource?v=default`); } // export const exportPatientIdentifiersFromSource = (body: any) => { // let url = API_PATH_OPENMRS + "/idgen/identifiersource"; // return axios.post(url, body); // }; export function exportPatientIdentifiersFromSource(data: any) { return openmrsFetch(`${OPENMRS_PATH}/idgen/identifiersource`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: data, }); }