diff --git a/AGENTS.md b/AGENTS.md index 2a196c8..60400e3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,16 +8,16 @@ SvelteKit frontend for Clinical Laboratory Quality Management System (CLQMS). Us ```bash # Development server -npm run dev +pnpm run dev # Production build -npm run build +pnpm run build # Preview production build -npm run preview +pnpm run preview # Sync SvelteKit (runs automatically on install) -npm run prepare +pnpm run prepare ``` ## Testing diff --git a/src/lib/api/visits.js b/src/lib/api/visits.js new file mode 100644 index 0000000..f14543e --- /dev/null +++ b/src/lib/api/visits.js @@ -0,0 +1,34 @@ +import { get, post, patch, del } from './client.js'; + +export async function fetchVisits(params = {}) { + const query = new URLSearchParams(params).toString(); + return get(query ? `/api/patvisit?${query}` : '/api/patvisit'); +} + +export async function fetchVisit(id) { + return get(`/api/patvisit/${encodeURIComponent(id)}`); +} + +export async function fetchVisitsByPatient(patientId) { + return get(`/api/patvisit/patient/${encodeURIComponent(patientId)}`); +} + +export async function createVisit(data) { + return post('/api/patvisit', data); +} + +export async function updateVisit(data) { + return patch('/api/patvisit', data); +} + +export async function deleteVisit(id) { + return del('/api/patvisit', { body: JSON.stringify({ InternalPVID: id }) }); +} + +export async function createADT(data) { + return post('/api/patvisitadt', data); +} + +export async function updateADT(data) { + return patch('/api/patvisitadt', data); +} diff --git a/src/lib/components/Sidebar.svelte b/src/lib/components/Sidebar.svelte index fb1c74b..9820428 100644 --- a/src/lib/components/Sidebar.svelte +++ b/src/lib/components/Sidebar.svelte @@ -17,6 +17,7 @@ Briefcase, Hash, Globe, + Calendar, ChevronDown } from 'lucide-svelte'; import { auth } from '$lib/stores/auth.js'; @@ -251,6 +252,15 @@ Patients +