2026-02-13 16:07:59 +07:00
|
|
|
import { get, post, patch } from './client.js';
|
|
|
|
|
|
|
|
|
|
export async function fetchTests(params = {}) {
|
|
|
|
|
const query = new URLSearchParams(params).toString();
|
|
|
|
|
return get(query ? `/api/tests?${query}` : '/api/tests');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function fetchTest(id) {
|
|
|
|
|
return get(`/api/tests/${id}`);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function createTest(data) {
|
|
|
|
|
const payload = {
|
|
|
|
|
TestSiteCode: data.TestSiteCode,
|
|
|
|
|
TestSiteName: data.TestSiteName,
|
|
|
|
|
TestType: data.TestType,
|
|
|
|
|
DisciplineID: data.DisciplineID,
|
|
|
|
|
DepartmentID: data.DepartmentID,
|
|
|
|
|
SeqScr: data.SeqScr,
|
|
|
|
|
SeqRpt: data.SeqRpt,
|
|
|
|
|
VisibleScr: data.VisibleScr ? '1' : '0',
|
|
|
|
|
VisibleRpt: data.VisibleRpt ? '1' : '0',
|
2026-02-15 17:58:42 +07:00
|
|
|
// Type-specific fields
|
|
|
|
|
Unit: data.Unit,
|
|
|
|
|
Formula: data.Formula,
|
|
|
|
|
// Reference ranges (only for TEST and CALC)
|
|
|
|
|
refnum: data.refnum,
|
|
|
|
|
reftxt: data.reftxt,
|
2026-02-13 16:07:59 +07:00
|
|
|
};
|
|
|
|
|
return post('/api/tests', payload);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function updateTest(data) {
|
|
|
|
|
const payload = {
|
|
|
|
|
TestSiteID: data.TestSiteID,
|
|
|
|
|
TestSiteCode: data.TestSiteCode,
|
|
|
|
|
TestSiteName: data.TestSiteName,
|
|
|
|
|
TestType: data.TestType,
|
|
|
|
|
DisciplineID: data.DisciplineID,
|
|
|
|
|
DepartmentID: data.DepartmentID,
|
|
|
|
|
SeqScr: data.SeqScr,
|
|
|
|
|
SeqRpt: data.SeqRpt,
|
|
|
|
|
VisibleScr: data.VisibleScr ? '1' : '0',
|
|
|
|
|
VisibleRpt: data.VisibleRpt ? '1' : '0',
|
2026-02-15 17:58:42 +07:00
|
|
|
// Type-specific fields
|
|
|
|
|
Unit: data.Unit,
|
|
|
|
|
Formula: data.Formula,
|
|
|
|
|
// Reference ranges (only for TEST and CALC)
|
|
|
|
|
refnum: data.refnum,
|
|
|
|
|
reftxt: data.reftxt,
|
2026-02-13 16:07:59 +07:00
|
|
|
};
|
|
|
|
|
return patch('/api/tests', payload);
|
|
|
|
|
}
|
2026-02-15 17:58:42 +07:00
|
|
|
|
|
|
|
|
export async function deleteTest(id) {
|
|
|
|
|
// Soft delete - set IsActive to '0'
|
|
|
|
|
return patch('/api/tests', {
|
|
|
|
|
TestSiteID: id,
|
|
|
|
|
IsActive: '0',
|
|
|
|
|
});
|
|
|
|
|
}
|