Files
satusehat-worker/internal/worker/satusehat/encounter/dto.go
T
2026-04-14 01:21:54 +00:00

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)
}