sp_generate_dashboard_data step 2 (mcu_patient) tidak menyertakan
Mcu_PatientNIP, Gender, DOB, Department, Divisi, dan Posisi di ON DUPLICATE
KEY UPDATE, sehingga sekali preregister ID ke-sync, field2 itu beku
selamanya walau dikoreksi di source (cpone.mcu_preregister_patients).
Terverifikasi: NIP Rina Hidayat di dashboard tetap salah walau sumbernya
sudah dibetulkan, sampai kolom ini ditambahkan ke UPDATE clause.
sp_generate_dashboard_data menebak Mcu_CheckinoutOutTime dari MAX() timestamp
event lab (sample receive/sampling done), bukan dari checkout fisik pasien,
sehingga pasien yang belum checkout bisa tampil "Checked Out" walau stationnya
belum selesai. Ganti sumbernya ke cpone.preregister_checkin_checkout (log
checkin/checkout asli) dan hentikan pemaksaan Mcu_CheckinoutID = order_id yang
bentrok untuk project multi-hari.
KPI "Checked Out" di GetKPI juga diselaraskan dengan detail pasien: sekarang
hitung dari GetAllPatients dan mensyaratkan semua station wajib sudah selesai,
bukan cuma checkout fisik saja, supaya angka KPI dan modal detail selalu sinkron.
Sebelumnya ikut m.Mgm_McuTotalParticipant (field target manual di source
yang bisa 0/belum diisi admin MGM), sekarang dihitung dari COUNT baris
aktif di cpone.mcu_preregister_patients per project supaya selalu sesuai
jumlah peserta yang benar-benar terdaftar. Sudah diverifikasi di devcpone:
mcu_id 1589 sekarang menampilkan 5 (sebelumnya 0/17).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ditemukan saat verifikasi di devcpone: p.Mcu_PreregisterPatientsPemeriksaan
tidak ada di skema cpone (diganti p.Mcu_PreregisterPatientsOrders), dan
PK mcu_checkinout salah nama (Mcu_CheckinoutCheckinoutID -> Mcu_CheckinoutID).
Setelah ini SP jalan penuh tanpa error dan hasil sync sudah tervalidasi
di server dev (mcu_patient 5 aktif/12 nonaktif sesuai kondisi source).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Restore blok sinkron mcu_project yang hilang sejak migration 014, dan
hapus filter IsActive='Y' pada sync mcu_patient supaya baris yang jadi
inactive di sumber (mcu_preregister_patients) ikut ter-update statusnya,
bukan nyangkut permanen sebagai 'Y'.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>