Setelah server stabil dan pola mapping jelas, barulah pemindahan data dimulai. Ini bagian paling lama, tetapi hasilnya paling terasa. Urutannya penting: pasien lebih dulu, karena hampir semua hal lain nantinya terhubung ke sana.
Pasien: NIK menentukan nasib sebuah rekam
Saya mengambil master pasien dari Khanza dan mencocokkannya dengan kondisi di SIMGos. Keputusan penggabungan bertumpu pada NIK:
- NIK valid dan sama persis: dipertimbangkan untuk digabung.
- NIK tidak valid, kosong, atau hanya namanya yang mirip: dipisahkan.
Hasilnya, master pasien terbawa tanpa menciptakan duplikasi berlebihan, dan tidak ada orang berbeda yang tercampur secara tidak sengaja.
Pegawai, petugas, dan dokter: gabungkan dulu, pilah kemudian
Di Khanza, satu orang bisa tercatat sebagai pegawai, bisa juga muncul di tabel petugas atau dokter. Jika ketiganya diimpor terpisah, datanya menumpuk dan sulit dipilah. Jadi saya menggabungkan ketiganya menjadi satu sumber lebih dulu. Setelah itu yang memang dokter masuk ke master dokter, dan sisanya masuk ke master pegawai sesuai perannya. Dengan cara ini pembagiannya sudah rapi saat dipakai di aplikasi.
Obat dan alkes: satuan adalah jebakannya
Dari Khanza saya mendapat ratusan item obat dan alkes. Saat dicocokkan dengan SIMGos, muncul masalah yang tidak terlihat dari jumlah barisnya: nama sama, satuan berbeda. Di Khanza ada yang memakai singkatan, sementara SIMGos hanya menerima satuan yang sudah terdaftar. Ada pula satuan yang tidak punya padanan, sehingga harus ditambahkan sebagai satuan baru sebelum barangnya bisa dipetakan.
Saya juga mengisi kolom-kolom penting agar data tidak kosong, tetapi tidak mengejar kesempurnaan. Targetnya cukup untuk bisa dipakai. Seperti domain lain, hasilnya dicatat di tabel mapping obat dari Khanza ke SIMGos, sehingga pertanyaan “item ini asalnya dari mana?” bisa dijawab cepat.
Cek berkala: bandingkan sumber dan hasil
Selama proses, saya rutin membandingkan jumlah baris sumber dengan hasil impor. Tujuannya bukan mengejar angka sama, melainkan memastikan tidak ada yang hilang tanpa disadari. Jika ada selisih, telusuri baris mana yang bermasalah, baru putuskan solusinya.
Cek terakhir yang tidak boleh dilewatkan
Skrip yang berhasil belum berarti data bisa dipakai. Setelah setiap domain selesai, buka aplikasinya dan pastikan data muncul serta bisa dipilih di dropdown.
Pelajaran keempat: gabungkan dulu jika sumbernya terpecah, samakan satuan jika ingin datanya benar-benar bisa dipakai, dan ukur keberhasilan dari “bisa dipilih di aplikasi”, bukan dari “skrip selesai tanpa error”.
Seri migrasi SIMGos
Enam bagian catatan migrasi data master dari SIMRS Khanza ke SIMGos 2:
- 01. Migrasi Khanza ke SIMGos: Kenapa Saya Hanya Memindahkan Data Master
- 02. Menyiapkan Server SIMGos 2: Yang Harus Beres Sebelum Data Pertama Dipindahkan
- 03. Mapping: Fondasi Migrasi yang Bisa Diaudit
- 04. Memindahkan Pasien, SDM, dan Obat: Keputusan Teknis dan Alasannya (artikel ini)
- 05. Penjamin, Ruangan, dan Farmasi: Tiga Domain yang Tidak Sesuai Dugaan
- 06. Pembersihan, Uji Akses, dan Daftar Pelajaran dari Migrasi Khanza ke SIMGos