feat(sep): implement diagnose on sep form

This commit is contained in:
riefive
2025-10-20 14:56:53 +07:00
parent 7650e1e0e0
commit 74aadc4f75
4 changed files with 65 additions and 28 deletions

No files matched your search

+29 -20
View File
@@ -17,6 +17,7 @@ import { getList as getCityList } from '~/services/vclaim-region-city.service'
import { getList as getDistrictList } from '~/services/vclaim-region-district.service'
import { getValueLabelList as getDoctorLabelList } from '~/services/vclaim-doctor.service'
import { getValueLabelList as getHealthFacilityLabelList } from '~/services/vclaim-health-facility.service'
import { getValueLabelList as getDiagnoseLabelList } from '~/services/vclaim-diagnose.service'
import { getList as getDiagnoseReferralList } from '~/services/vclaim-diagnose-referral.service'
import { getList as geMonitoringVisitList } from '~/services/vclaim-monitoring-visit.service'
import { getList as getMonitoringHistoryList } from '~/services/vclaim-monitoring-history.service'
@@ -29,9 +30,9 @@ const selectedPatientObject = ref<PatientEntity | null>(null)
const selectedLetter = ref('SK22334442')
const histories = ref<Array<SepHistoryData>>([])
const visits = ref<Array<SepVisitData>>([])
const patients = ref<Array<{ id: string; identity: string; number: string; bpjs: string; name: string }>>([])
const doctors = ref<Array<{ value: string | number; label: string }>>([])
const diagnoses = ref<Array<{ value: string | number; label: string }>>([])
const facilities = ref<Array<{ value: string | number; label: string }>>([])
const isPatientsLoading = ref(false)
const paginationMeta = ref<PaginationMeta>({
@@ -140,17 +141,30 @@ async function getMonitoringVisitMappers() {
jnspelayanan: 1,
})
if (result && result.success && result.body) {
const visitsRaw = result.body?.response?.visit || []
const visitsRaw = result.body?.response?.sep || []
// "diagnosa": "K65.0",
// "jnsPelayanan": "R.Inap",
// "kelasRawat": "2",
// "nama": "HANIF ABDURRAHMAN",
// "noKartu": "0001819122189",
// "noRujukan": "0301U01108180200084",
// "poli": null,
// "tglPlgSep": "2017-10-03",
// "tglSep": "2017-10-01"
if (!visitsRaw) return
visitsRaw.forEach((result: any) => {
visits.value.push({
letterNumber: result.noSuratKontrol,
letterDate: result.tglRencanaKontrol,
letterNumber: result.noRujukan,
letterDate: result.tglSep,
sepNumber: result.noSep,
patientName: result.namaPasien,
bpjsNumber: result.noKartuBPJS,
clinic: '-',
doctor: '-',
patientName: result.nama,
bpjsNumber: result.noKartu,
diagnosis: result.diagnosa,
poly: result.poli || '-',
serviceType: result.jnsPelayanan,
careClass: result.kelasRawat,
})
})
}
@@ -194,22 +208,21 @@ function handleEvent(menu: string, value: string) {
return
}
if (menu === 'search-patient') {
// fetch patients from API then open the dialog
getPatientsList({ 'page-size': 10, includes: 'person' }).then(() => {
openPatient.value = true
})
return
}
if (menu === 'search-letter') {
openLetter.value = true
getMonitoringVisitMappers().then(() => {
openLetter.value = true
})
return
}
if (menu === 'history-sep') {
// fetch history sep from API then open the dialog
getMonitoringHistoryMappers().then((value) => {
console.log('value:', value)
getMonitoringHistoryMappers().then(() => {
openHistory.value = true
})
openHistory.value = true
return
}
if (menu === 'back') {
@@ -224,6 +237,7 @@ onMounted(async () => {
'kode-spesialis': 0,
})
facilities.value = await getHealthFacilityLabelList({ faskes: 'Puskesmas', 'jenis-faskes': 1 })
diagnoses.value = await getDiagnoseLabelList({ diagnosa: 'paru' })
getProvinceList().then((value) => {
console.log('value:', value)
})
@@ -236,12 +250,6 @@ onMounted(async () => {
getDiagnoseReferralList().then((value) => {
console.log('value:', value)
})
geMonitoringVisitList({ tglpelayanan: '2025-10-10', jnspelayanan: 1 }).then((value) => {
console.log('value:', value)
})
getMonitoringHistoryList({ nop: '0002078925513', tglawal: '2025-07-20', tglakhir: '2025-10-10' }).then((value) => {
console.log('value:', value)
})
})
</script>
@@ -256,6 +264,7 @@ onMounted(async () => {
</div>
<AppSepEntryForm
:doctors="doctors"
:diagnoses="diagnoses"
:facilities="facilities"
:patient="selectedPatientObject"
@event="handleEvent"