Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Daily stats #12

Merged
merged 18 commits into from
Dec 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
1cf5ec6
Fixed side bar shrink & expand on click issue
Dattatraya-Londhe Nov 17, 2023
8f0797e
fixed all routes delete issue- toast message & double delete
Dattatraya-Londhe Nov 17, 2023
0bbd4ec
Added browers default reload behaviour on each form
Dattatraya-Londhe Nov 20, 2023
23fcec7
Added soft reload for login form
Dattatraya-Londhe Nov 21, 2023
10aa603
Added pagination & sorting on lab record type
Dattatraya-Londhe Nov 22, 2023
20f15c6
Done code clening
Dattatraya-Londhe Nov 23, 2023
2a8ee5e
Added import functionality for assessment template
Dattatraya-Londhe Nov 23, 2023
1764c43
Added temp folder for temporary holding assessment template
Dattatraya-Londhe Nov 23, 2023
92b69c4
Added soft reload on delete for lab record type
Dattatraya-Londhe Nov 25, 2023
b5ff922
Added custome reload for delete on Assessment, Lab records, symptoms …
Dattatraya-Londhe Nov 28, 2023
69adcfb
1. Added soft reload on delete hospitals & health systems
Dattatraya-Londhe Dec 4, 2023
236979d
Updated newsfeed empty image box by not specified text
Dattatraya-Londhe Dec 5, 2023
312222f
Fixed assessment node edit issue
Dattatraya-Londhe Dec 6, 2023
e1cb0fd
Fixed a typo for drug & learning journey page
Dattatraya-Londhe Dec 8, 2023
a693ce5
Updated RHG dashboard statistics data from realtime to daily stored.
Dattatraya-Londhe Dec 14, 2023
a896025
Created error page for user route & redirect to error page on exception
Dattatraya-Londhe Dec 15, 2023
57f81b4
Merge branch 'develop' into daily_stats
Dattatraya-Londhe Dec 15, 2023
052bda2
code clean up & expected-unexpected error fixing for RHG dashboard
Dattatraya-Londhe Dec 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/routes/api/services/statistics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,11 @@ export const getOverallUsers = async (sessionId: string, searchParams?: any) =>
return await get_(sessionId, url, true);
};

export const getDailyStatistics = async(sessionId:string)=>{
const url = BACKEND_API_URL + `/daily-stats`;
return await get_(sessionId, url, true);
}

export const getAddictionDistribution = async (sessionId: string, searchParams?: any) => {
let searchString = '';
if (searchParams) {
Expand Down
9 changes: 9 additions & 0 deletions src/routes/users/[userId]/+error.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<script lang="ts">
import { page } from '$app/stores';
</script>

<div class="flex h-96 flex-col justify-center items-center">
<h1 class="m-10 font-extrabold text-[7rem] text-primary-500">{$page.status}</h1>
<h2 class="m-6 font-semibold text-[1.8rem]">{$page.error.message}</h2>
</div>

Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import type { RequestEvent } from '@sveltejs/kit';
import { error } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import { searchAssessmentTemplates } from '../../../api/services/assessment-templates';

////////////////////////////////////////////////////////////////////////////

export const load: PageServerLoad = async (event: RequestEvent) => {
const sessionId = event.cookies.get('sessionId');

export const load: PageServerLoad = async ({cookies,depends}) => {
const sessionId = cookies.get('sessionId');
depends('app:assessmentTemplate')
try {
const response = await searchAssessmentTemplates(sessionId);
if (response.Status === 'failure' || response.HttpCode !== 200) {
Expand All @@ -17,7 +16,7 @@ export const load: PageServerLoad = async (event: RequestEvent) => {
return {
assessmentTemplate,
sessionId,
message: response.Message
message: response.Message,
};
} catch (error) {
console.error(`Error retriving assessment templates: ${error.message}`);
Expand Down
15 changes: 10 additions & 5 deletions src/routes/users/[userId]/assessment-templates/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@
import Icon from '@iconify/svelte';
import { Paginator, type PaginationSettings } from '@skeletonlabs/skeleton';
import type { PageServerData } from './$types';
import { invalidate } from '$app/navigation';

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

export let data: PageServerData;
let assessmentTemplates = data.assessmentTemplate.Items;
$:assessmentTemplates = data.assessmentTemplate.Items;
let retrivedAssessmentTemplates;
const userId = $page.params.userId;
const assessmentRoute = `/users/${userId}/assessment-templates`;
const editRoute = (id) => `/users/${userId}/assessment-templates/${id}/edit`;
Expand Down Expand Up @@ -57,10 +59,14 @@
assessmentTemplates = response.map((item, index) => ({ ...item, index: index + 1 }));
}

$: retrivedAssessmentTemplates = assessmentTemplates.slice(
$:{
assessmentTemplates = assessmentTemplates.map((item, index) => ({ ...item, index: index + 1 }));
paginationSettings.size = data.assessmentTemplate.TotalCount;
retrivedAssessmentTemplates = assessmentTemplates.slice(
paginationSettings.page * paginationSettings.limit,
paginationSettings.page * paginationSettings.limit + paginationSettings.limit
);
);}


$:console.log(retrivedAssessmentTemplates)
$: if (browser)
Expand Down Expand Up @@ -101,7 +107,7 @@
sessionId: data.sessionId,
assessmentTemplateId: assessmentTemplateId
});
window.location.href = assessmentRoute;
invalidate('app:assessmentTemplate');
};

async function Delete(model) {
Expand All @@ -114,7 +120,6 @@
</script>

<BreadCrumbs crumbs={breadCrumbs} />

<div class="flex flex-wrap gap-2 mt-1">
<input
type="text"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,21 @@
<tbody class="!bg-white dark:!bg-inherit">
<tr class="!border-b !border-b-secondary-100 dark:!border-b-surface-700">
<td>Node Type *</td>
<td>{nodeType}</td>
<td>
<input
type="text"
disabled
bind:value={nodeType}
class="input"
/>
<input
type="hidden"
name="nodeType"
bind:value={nodeType}
class="input"
/>
</td>

<!-- <td>
<select
name="nodeType"
Expand Down Expand Up @@ -177,6 +191,7 @@
required
placeholder="Enter message here..."
bind:value={message}
disabled
class="textarea w-full
{form?.errors?.message ? 'border-error-300 text-error-500' : ''}"
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

export let optionValueStore = [{ Text: '' }];

const addOptionField = () => (optionValueStore = [...optionValueStore, { Text: '' }]);
const removeOptionField = () =>
(optionValueStore = optionValueStore.slice(0, optionValueStore.length - 1));
// const addOptionField = () => (optionValueStore = [...optionValueStore, { Text: '' }]);
// const removeOptionField = () =>
// (optionValueStore = optionValueStore.slice(0, optionValueStore.length - 1));
</script>

<div class="border dark:border-surface-700 flex flex-col rounded my-2 p-2 gap-2">
Expand All @@ -15,16 +15,17 @@
type="text"
class="input"
name="options"
disabled
bind:value={optionValueStore[i].Text}
placeholder="Add option here..."
/>
<button class="btn p-2 variant-soft-error" on:click={removeOptionField}>
<!-- <button class="btn p-2 variant-soft-error" on:click={removeOptionField}>
<Icon icon="material-symbols:close-rounded" />
</button>
</button> -->
</div>
{/each}

<button class="btn btn-sm variant-soft-secondary" on:click|preventDefault={addOptionField}>
<!-- <button class="btn btn-sm variant-soft-secondary" on:click|preventDefault={addOptionField}>
Add Option
</button>
</button> -->
</div>
Original file line number Diff line number Diff line change
@@ -1,51 +1,46 @@
import { writeFile } from 'node:fs/promises';
import { importAssessmentTemplate } from "$routes/api/services/assessment-templates";
import type { RequestEvent } from "@sveltejs/kit";
import { importAssessmentTemplate } from '$routes/api/services/assessment-templates';
import type { RequestEvent } from '@sveltejs/kit';
import { redirect } from 'sveltekit-flash-message/server';
import { errorMessage, successMessage } from '$lib/utils/message.utils';
import { PUBLIC_LOCAL_STORAGE } from '$env/static/public';
import { Buffer } from "buffer";
import { Buffer } from 'buffer';
import * as fs from 'fs';

export const actions = {
importAssessment: async (event: RequestEvent) => {
const userId = event.params.userId;
const request = event.request;
const sessionId = event.cookies.get('sessionId');
const formData = await request.formData();
const uploadedFile = formData?.get('name') as File;
const fileName = uploadedFile.name;
const fileUploadFolder = PUBLIC_LOCAL_STORAGE;
const filePath = `${fileUploadFolder}/${fileName}`;
importAssessment: async (event: RequestEvent) => {
const userId = event.params.userId;
const request = event.request;
const sessionId = event.cookies.get('sessionId');
const formData = await request.formData();
const uploadedFile = formData?.get('name') as File;
const fileName = uploadedFile.name;
const fileUploadFolder = PUBLIC_LOCAL_STORAGE;
const filePath = `${fileUploadFolder}/${fileName}`;

if (!fs.existsSync(`${fileUploadFolder}`)) {
fs.mkdirSync(`${fileUploadFolder}`, { recursive: true });
}
if (!fs.existsSync(`${fileUploadFolder}`)) {
fs.mkdirSync(`${fileUploadFolder}`, { recursive: true });
}

await writeFile(filePath, Buffer.from(await uploadedFile?.arrayBuffer()));

if (!fs.existsSync(filePath)) {
console.log('File not created');
throw redirect(303, `/users/${userId}/assessment-templates`, errorMessage('Unable to import assessment template.'), event);
}

const response = await importAssessmentTemplate(
sessionId,
fileName,
filePath
);
await writeFile(filePath, Buffer.from(await uploadedFile?.arrayBuffer()));

fs.unlinkSync(filePath);
if (!fs.existsSync(filePath)) {
console.log('File not created');
throw redirect(
303,
`/users/${userId}/assessment-templates`,
errorMessage('Unable to import assessment template.'),
event
);
}

if (response.Status === 'failure' || response.HttpCode !== 201) {
throw redirect(303, `/users/${userId}/assessment-templates`, errorMessage(response.Message), event);
}
throw redirect(
303,
`/users/${userId}/assessment-templates`,
successMessage(response.Message),
event
);

}
}
const response = await importAssessmentTemplate(sessionId, fileName, filePath);

fs.unlinkSync(filePath);

if (response.Status === 'failure' || response.HttpCode !== 201) {
throw redirect(303, `/users/${userId}/assessment-templates`, errorMessage(response.Message), event);
}
throw redirect(303, `/users/${userId}/assessment-templates`, successMessage(response.Message), event);
}
};
6 changes: 5 additions & 1 deletion src/routes/users/[userId]/careplan/+page.server.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import type { RequestEvent } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import { error } from '@sveltejs/kit';
import { error} from '@sveltejs/kit';
import { getCareplanStatistics } from '$routes/api/services/careplan/statistics';
import { errorMessage } from '$lib/utils/message.utils';
import { redirect } from 'sveltekit-flash-message/server';

////////////////////////////////////////////////////////////////////////////

export const load: PageServerLoad = async (event: RequestEvent) => {
const sessionId = event.cookies.get('sessionId');
const userId = event.params.userId;
console.log('sessionId', sessionId);
try {
const response = await getCareplanStatistics(sessionId);
Expand All @@ -21,5 +24,6 @@ export const load: PageServerLoad = async (event: RequestEvent) => {
};
} catch (error) {
console.error(`Error retriving statistic data: ${error.message}`);
throw redirect(303,`/users/${userId}/home`,errorMessage('Error retriving statistic data'), event)
}
};
4 changes: 4 additions & 0 deletions src/routes/users/[userId]/careplan/assets/+page.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@ import type { RequestEvent } from '@sveltejs/kit';
import type { PageServerLoad, Action } from './$types';
import { searchAssets } from '$routes/api/services/careplan/assets/action-plan';
import { getAssetsType } from '$routes/api/services/careplan/assets/asset';
import { redirect } from 'sveltekit-flash-message/server';
import { errorMessage } from '$lib/utils/message.utils';

////////////////////////////////////////////////////////////////////////////

export const load: PageServerLoad = async (event: RequestEvent) => {
const sessionId = event.cookies.get('sessionId');
const userId = event.params.userId;
console.log('sessionId', sessionId);
const assetType = event.params.assetTypes;
try {
Expand All @@ -20,6 +23,7 @@ export const load: PageServerLoad = async (event: RequestEvent) => {
};
} catch (error) {
console.error(`Error retriving assets: ${error.message}`);
throw redirect(303,`/users/${userId}/home`,errorMessage('Error retriving assets'), event)
}
};

Expand Down
8 changes: 5 additions & 3 deletions src/routes/users/[userId]/careplan/careplans/+page.server.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import type { RequestEvent } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import { error ,redirect } from '@sveltejs/kit';
import { error } from '@sveltejs/kit';
import { searchCareplanCategories, searchCareplans } from '$routes/api/services/careplan/careplans';
import { errorMessage } from '$lib/utils/message.utils';
import { redirect } from 'sveltekit-flash-message/server';

////////////////////////////////////////////////////////////////////////////

export const load: PageServerLoad = async (event: RequestEvent) => {

const userId = event.params.userId;
const sessionId = event.cookies.get('sessionId');
console.log('sessionId', sessionId);

Expand All @@ -31,7 +33,7 @@ export const load: PageServerLoad = async (event: RequestEvent) => {
}
catch (error) {
console.error(`Error retriving care plan: ${error.message}`);
throw redirect(303, '/');
throw redirect(303,`/users/${userId}/home`,errorMessage('Error retriving care plan'), event)
}
}

Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
import type { RequestEvent } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import { error, redirect } from '@sveltejs/kit';
import { error} from '@sveltejs/kit';
import { searchEnrollments } from '$routes/api/services/careplan/enrollment';
import { redirect } from 'sveltekit-flash-message/server';
import { errorMessage } from '$lib/utils/message.utils';

////////////////////////////////////////////////////////////////////////////

export const load: PageServerLoad = async (event: RequestEvent) => {
const userId = event.params.userId;
const sessionId = event.cookies.get('sessionId');
console.log('sessionId', sessionId);
try {
Expand All @@ -21,5 +24,6 @@ export const load: PageServerLoad = async (event: RequestEvent) => {
};
} catch (error) {
console.error(`Error retriving enrollments: ${error.message}`);
throw redirect(303,`/users/${userId}/home`,errorMessage('Error retriving enrollments'), event)
}
};
7 changes: 3 additions & 4 deletions src/routes/users/[userId]/drugs/+page.server.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import type { RequestEvent } from '@sveltejs/kit';
import { error } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import { searchDrugs } from '../../../api/services/drugs';

////////////////////////////////////////////////////////////////////////////

export const load: PageServerLoad = async (event: RequestEvent) => {
const sessionId = event.cookies.get('sessionId');

export const load: PageServerLoad = async ({cookies,depends}) => {
const sessionId = cookies.get('sessionId');
depends('app:drugs')
try {
const response = await searchDrugs(sessionId);
if (response.Status === 'failure' || response.HttpCode !== 200) {
Expand Down
Loading
Loading