— Perbaikan denominator_code untuk Tablet Salut Selaput
UPDATE `satu_sehat_mapping_obat`
SET `denominator_code` = ‘TAB’
WHERE `form_code` = ‘BS077’
AND `denominator_code` = ‘BTL’;
— Perbaikan denominator_code untuk Infus
UPDATE `satu_sehat_mapping_obat`
SET `denominator_code` = ‘BAG’
WHERE `form_code` = ‘BS035’
AND `denominator_code` = ‘BTL’;
— Perbaikan denominator_code untuk Larutan Injeksi (yang salah)
UPDATE `satu_sehat_mapping_obat`
SET `denominator_code` = ‘AMP’
WHERE `kode_brng` = ‘B000008028’;
— Perbaikan denominator_code untuk Sirup Kering
UPDATE `satu_sehat_mapping_obat`
SET `denominator_code` = ‘BTL’
WHERE `form_code` = ‘BS056’
AND `denominator_code` NOT IN (‘BTL’);
— Perbaikan denominator_code untuk Kapsul yang salah mapping
UPDATE `satu_sehat_mapping_obat`
SET `denominator_code` = ‘TAB’
WHERE `kode_brng` = ‘B000004186’;
— Perbaikan form display untuk Kapsul Lepas Tunda
UPDATE `satu_sehat_mapping_obat`
SET `form_display` = ‘Kapsul Lepas Tunda’
WHERE `form_code` = ‘BS032’
AND `obat_display` LIKE ‘%Lepas Tunda%’;
— Verifikasi hasil perbaikan
SELECT
form_code,
form_display,
denominator_code,
COUNT(*) as jumlah,
GROUP_CONCAT(DISTINCT kode_brng SEPARATOR ‘, ‘) as contoh_kode
FROM `satu_sehat_mapping_obat`
GROUP BY form_code, form_display, denominator_code
ORDER BY form_code;
— Standarisasi denominator_code berdasarkan form_code
UPDATE `satu_sehat_mapping_obat`
SET `denominator_code` = CASE
WHEN `form_code` = ‘BS066’ THEN ‘TAB’ — Tablet
WHEN `form_code` = ‘BS077’ THEN ‘TAB’ — Tablet Salut Selaput
WHEN `form_code` = ‘BS023’ THEN ‘CAPLET’ — Kaplet Salut Selaput
WHEN `form_code` = ‘BS069’ THEN ‘TAB’ — Tablet Kunyah
WHEN `form_code` = ‘BS073’ THEN ‘TAB’ — Tablet Dispersibel
WHEN `form_code` = ‘BS032’ THEN ‘CAP’ — Kapsul
WHEN `form_code` = ‘BS046’ THEN ‘BTL’ — Sirup
WHEN `form_code` = ‘BS056’ THEN ‘BTL’ — Sirup Kering
WHEN `form_code` = ‘BS060’ THEN ‘BTL’ — Suspensi
WHEN `form_code` = ‘BS034’ THEN ‘AMP’ — Larutan Injeksi
WHEN `form_code` = ‘BS049’ THEN ‘VIAL’ — Serbuk Injeksi
WHEN `form_code` = ‘BS035’ THEN ‘BAG’ — Infus
WHEN `form_code` = ‘BS011’ THEN ‘REC’ — Enema
WHEN `form_code` = ‘BS087’ THEN ‘BTL’ — Tetes Oral
WHEN `form_code` = ‘BS033’ THEN ‘AMP’ — Larutan Inhalasi
ELSE `denominator_code`
END;
— Cek data yang masih inconsistent
SELECT
kode_brng,
obat_display,
form_code,
form_display,
denominator_code,
CASE
WHEN form_code = ‘BS066’ AND denominator_code != ‘TAB’ THEN ‘PERLU PERBAIKAN’
WHEN form_code = ‘BS077’ AND denominator_code != ‘TAB’ THEN ‘PERLU PERBAIKAN’
WHEN form_code = ‘BS032’ AND denominator_code != ‘CAP’ THEN ‘PERLU PERBAIKAN’
ELSE ‘OK’
END as status
FROM `satu_sehat_mapping_obat`
HAVING status = ‘PERLU PERBAIKAN’;