package observation

import (
	"database/sql"
)

// ObservationDB merepresentasikan struktur tabel pemeriksaan (Contoh: Vital Sign/Lab)
// TODO: Sesuaikan field dan tag `db` dengan tabel SIMRS Anda yang sebenarnya
type ObservationDB struct {
	IdxPemeriksaan  int64          `db:"idxpemeriksaan"` // Primary Key
	IdxDaftar       int64          `db:"idxdaftar"`      // Relasi ke Encounter
	NoMR            sql.NullString `db:"nomr"`
	TglPeriksa      sql.NullTime   `db:"tgl_periksa"`
	KodePemeriksaan sql.NullString `db:"kode_pemeriksaan"` // Contoh: LOINC Code
	Nilai           sql.NullString `db:"nilai"`
	Satuan          sql.NullString `db:"satuan"`
	KdDokter        sql.NullInt64  `db:"kddokter"`
}

// ObservationSyncLog merepresentasikan struktur log sinkronisasi API SatuSehat.
type ObservationSyncLog struct {
	IdxPemeriksaan  int64  `db:"idxpemeriksaan"`
	ObservationID   string `db:"observation_id"`   // ID dari SatuSehat jika 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
}
