43 lines
1.7 KiB
Go
43 lines
1.7 KiB
Go
package encounter
|
|
|
|
import (
|
|
"database/sql"
|
|
)
|
|
|
|
// PendaftaranDB merepresentasikan struktur gabungan dari tabel transaksi SIMRS dan master SATUDATA
|
|
type PendaftaranDB struct {
|
|
// --- Sumber: Database SIMRS (PostgreSQL) ---
|
|
IdxDaftar int64 `db:"idxdaftar"`
|
|
NoMR sql.NullString `db:"nomr"`
|
|
TglReg sql.NullTime `db:"tglreg"`
|
|
KdDokter sql.NullInt64 `db:"kddokter"`
|
|
KdPoly sql.NullInt64 `db:"kdpoly"`
|
|
KdCaraBayar sql.NullInt64 `db:"kdcarabayar"`
|
|
Status sql.NullInt64 `db:"status"`
|
|
Batal sql.NullString `db:"batal"`
|
|
JamReg sql.NullTime `db:"jamreg"`
|
|
MasukPoly sql.NullTime `db:"masukpoly"`
|
|
KeluarPoly sql.NullTime `db:"keluarpoly"`
|
|
|
|
// --- Sumber: Database SIMRS (public.m_pasien) ---
|
|
PatientName sql.NullString `db:"nama"`
|
|
NIK sql.NullString `db:"nik"`
|
|
|
|
// --- Sumber: Database SIMRS Master Data (PostgreSQL) ---
|
|
PatientIHS sql.NullString `db:"patient_ihs"`
|
|
PractitionerIHS sql.NullString `db:"practitioner_ihs"`
|
|
PractitionerNIK sql.NullString `db:"practitioner_nik"`
|
|
LocationIHS sql.NullString `db:"location_ihs"`
|
|
}
|
|
|
|
// EncounterSyncLog merepresentasikan struktur log sinkronisasi API SatuSehat.
|
|
// Struktur ini mempermudah pembacaan payload (Request/Response) serta mendukung proses pengiriman ulang (rollback/resend).
|
|
type EncounterSyncLog struct {
|
|
IdxDaftar int64 `db:"idxdaftar"`
|
|
EncounterID string `db:"encounter_id"` // ID dari SatuSehat jika status SUCCESS
|
|
RequestPayload string `db:"request_payload"` // Teks JSON raw request
|
|
ResponsePayload string `db:"response_payload"` // Teks JSON raw response
|
|
Status string `db:"status"` // Status: SUCCESS / FAILED
|
|
ErrorMessage string `db:"error_message"` // Pesan kegagalan (jika FAILED)
|
|
}
|