71 lines
2.4 KiB
Go
71 lines
2.4 KiB
Go
package reference
|
|
|
|
// === REFERENSI MODELS ===
|
|
|
|
// ReferensiRequest represents referensi lookup request
|
|
type ReferensiRequest struct {
|
|
BaseRequest
|
|
JenisReferensi string `json:"jenis_referensi" validate:"required,oneof=diagnosa procedure obat alkes faskes dokter poli"`
|
|
Keyword string `json:"keyword,omitempty"`
|
|
KodeReferensi string `json:"kode_referensi,omitempty"`
|
|
PaginationRequest
|
|
}
|
|
|
|
// ReferensiData represents referensi information
|
|
type ReferensiData struct {
|
|
Kode string `json:"kode"`
|
|
Nama string `json:"nama"`
|
|
Kategori string `json:"kategori,omitempty"`
|
|
Status string `json:"status"`
|
|
TglBerlaku string `json:"tgl_berlaku,omitempty"`
|
|
TglBerakhir string `json:"tgl_berakhir,omitempty"`
|
|
Keterangan string `json:"keterangan,omitempty"`
|
|
}
|
|
|
|
// ReferensiResponse represents referensi API response
|
|
type ReferensiResponse struct {
|
|
BaseResponse
|
|
Data []ReferensiData `json:"data,omitempty"`
|
|
Pagination *PaginationResponse `json:"pagination,omitempty"`
|
|
}
|
|
|
|
// === MONITORING MODELS ===
|
|
|
|
// MonitoringRequest represents monitoring data request
|
|
type MonitoringRequest struct {
|
|
BaseRequest
|
|
TanggalAwal string `json:"tanggal_awal" validate:"required"`
|
|
TanggalAkhir string `json:"tanggal_akhir" validate:"required"`
|
|
JenisLaporan string `json:"jenis_laporan" validate:"required,oneof=kunjungan klaim rujukan sep"`
|
|
PPK string `json:"ppk,omitempty"`
|
|
StatusData string `json:"status_data,omitempty"`
|
|
PaginationRequest
|
|
}
|
|
|
|
// MonitoringData represents monitoring information
|
|
type MonitoringData struct {
|
|
Tanggal string `json:"tanggal"`
|
|
PPK string `json:"ppk"`
|
|
NamaPPK string `json:"nama_ppk"`
|
|
JumlahKasus int `json:"jumlah_kasus"`
|
|
TotalTarif float64 `json:"total_tarif"`
|
|
StatusData string `json:"status_data"`
|
|
Keterangan string `json:"keterangan,omitempty"`
|
|
}
|
|
|
|
// MonitoringResponse represents monitoring API response
|
|
type MonitoringResponse struct {
|
|
BaseResponse
|
|
Data []MonitoringData `json:"data,omitempty"`
|
|
Summary *MonitoringSummary `json:"summary,omitempty"`
|
|
Pagination *PaginationResponse `json:"pagination,omitempty"`
|
|
}
|
|
|
|
// MonitoringSummary represents monitoring summary
|
|
type MonitoringSummary struct {
|
|
TotalKasus int `json:"total_kasus"`
|
|
TotalTarif float64 `json:"total_tarif"`
|
|
RataRataTarif float64 `json:"rata_rata_tarif"`
|
|
PeriodeLaporan string `json:"periode_laporan"`
|
|
}
|