Skip to content

Commit

Permalink
Using json payload file as source for intervensions (#566)
Browse files Browse the repository at this point in the history
Omoshlawi authored Jan 27, 2025
1 parent 4fe7fd6 commit 3294902
Showing 3 changed files with 20,866 additions and 24 deletions.
20,824 changes: 20,824 additions & 0 deletions packages/esm-billing-app/src/hooks/payload.json

Large diffs are not rendered by default.

57 changes: 39 additions & 18 deletions packages/esm-billing-app/src/hooks/useInterventions.ts
Original file line number Diff line number Diff line change
@@ -22,6 +22,23 @@ export const toQueryParams = (q: Record<string, any>) => {
);
};

type Data = {
status: string;
data: Array<{
interventionName: string;
interventionCode: string;
interventionPackage: string;
interventionSubPackage: string;
interventionDescription?: string;
insuranceSchemes: Array<{
rules: Array<{
ruleName: string;
ruleCode: string;
value: string;
}>;
}>;
}>;
};
export const useInterventions = (filters: InterventionsFilter) => {
const fetcher = (url: string) => {
return openmrsFetch(url, {
@@ -36,29 +53,33 @@ export const useInterventions = (filters: InterventionsFilter) => {
});
};

const url = `${restBaseUrl}/insuranceclaims/claims/interventions/query${toQueryParams(filters)}`;
const { isLoading, error, data } = useSWR<
FetchResponse<{
status: string;
data: Array<{
interventionName: string;
interventionCode: string;
interventionPackage: string;
interventionSubPackage: string;
interventionDescription?: string;
}>;
}>
>(url, fetcher);
const url = `${restBaseUrl}/kenyaemr/sha-interventions${toQueryParams({
...filters,
synchronize: false,
})}`;
const { isLoading, error, data } = useSWR<{ data: Data }>(url, async (url: string) => {
const payload = require('./payload.json');
return { data: payload };
});

return {
isLoading,
interventions: (data?.data?.data ?? []).map(
({ interventionCode, interventionName, interventionPackage, interventionSubPackage, interventionDescription }) =>
interventions: (data?.data as Data | undefined)?.data
?.filter((d) => d.interventionPackage === filters.package_code)
?.map(
({
interventionCode,
subCategoryBenefitsPackage: interventionSubPackage,
interventionName,
} as SHAIntervention),
),
interventionPackage,
interventionSubPackage,
interventionDescription,
}) =>
({
interventionCode,
subCategoryBenefitsPackage: interventionSubPackage,
interventionName,
} as SHAIntervention),
),
error,
};
};
9 changes: 3 additions & 6 deletions packages/esm-billing-app/src/hooks/usePackages.ts
Original file line number Diff line number Diff line change
@@ -7,16 +7,13 @@ import { Package } from '../types';
* @returns
*/
const usePackages = () => {
const url = `${restBaseUrl}/insuranceclaims/claims/benefit-package`;
const url = `${restBaseUrl}/kenyaemr/sha-benefits-package?synchronize=false`;

const { data, isLoading, error } = useSWR<FetchResponse<Array<{ code: string; name: string; description: string }>>>(
url,
openmrsFetch,
);
const { data, isLoading, error } = useSWR<FetchResponse<{ shaBenefitsPackage: string }>>(url, openmrsFetch);

return {
isLoading,
packages: (data?.data ?? []).map(
packages: (data?.data.shaBenefitsPackage ? JSON.parse(data?.data.shaBenefitsPackage) : []).map(
(category) =>
({
uuid: `${category.code}`,

0 comments on commit 3294902

Please sign in to comment.