72 lines
2.2 KiB
Go
72 lines
2.2 KiB
Go
package peserta
|
|
|
|
import "api-service/internal/models"
|
|
|
|
// === PESERTA MODELS ===
|
|
|
|
// PesertaRequest represents peserta lookup request
|
|
type PesertaRequest struct {
|
|
models.BaseRequest
|
|
NoKartu string `json:"nokartu" validate:"required,min=13,max=13"`
|
|
NIK string `json:"nik,omitempty" validate:"omitempty,min=16,max=16"`
|
|
TanggalSEP string `json:"tglsep" validate:"required" example:"2024-01-15"`
|
|
NoTelepon string `json:"notelp,omitempty" validate:"omitempty,max=15"`
|
|
}
|
|
|
|
// PesertaData represents peserta information from BPJS
|
|
type PesertaData struct {
|
|
NoKartu string `json:"noKartu"`
|
|
NIK string `json:"nik"`
|
|
Nama string `json:"nama"`
|
|
Pisa string `json:"pisa"`
|
|
Sex string `json:"sex"`
|
|
TanggalLahir string `json:"tglLahir"`
|
|
TglCetakKartu string `json:"tglCetakKartu"`
|
|
TglTAT string `json:"tglTAT"`
|
|
TglTMT string `json:"tglTMT"`
|
|
StatusPeserta struct {
|
|
Kode string `json:"kode"`
|
|
Keterangan string `json:"keterangan"`
|
|
} `json:"statusPeserta"`
|
|
ProvUmum struct {
|
|
KdProvider string `json:"kdProvider"`
|
|
NmProvider string `json:"nmProvider"`
|
|
} `json:"provUmum"`
|
|
JenisPeserta struct {
|
|
Kode string `json:"kode"`
|
|
Keterangan string `json:"keterangan"`
|
|
} `json:"jenisPeserta"`
|
|
HakKelas struct {
|
|
Kode string `json:"kode"`
|
|
Keterangan string `json:"keterangan"`
|
|
} `json:"hakKelas"`
|
|
Umur struct {
|
|
UmurSekarang string `json:"umurSekarang"`
|
|
UmurSaatPelayanan string `json:"umurSaatPelayanan"`
|
|
} `json:"umur"`
|
|
Informasi struct {
|
|
Dinsos interface{} `json:"dinsos"`
|
|
ProlanisPRB string `json:"prolanisPRB"`
|
|
NoSKTM interface{} `json:"noSKTM"`
|
|
ESEP interface{} `json:"eSEP"`
|
|
} `json:"informasi"`
|
|
Cob struct {
|
|
NoAsuransi interface{} `json:"noAsuransi"`
|
|
NmAsuransi interface{} `json:"nmAsuransi"`
|
|
TglTMT interface{} `json:"tglTMT"`
|
|
TglTAT interface{} `json:"tglTAT"`
|
|
} `json:"cob"`
|
|
MR struct {
|
|
NoMR string `json:"noMR"`
|
|
NoTelepon string `json:"noTelepon"`
|
|
} `json:"mr,omitempty"`
|
|
RawResponse string `json:"raw_response,omitempty"`
|
|
}
|
|
|
|
// PesertaResponse represents peserta API response
|
|
type PesertaResponse struct {
|
|
models.BaseResponse
|
|
Data *PesertaData `json:"data,omitempty"`
|
|
MetaData interface{} `json:"metaData,omitempty"`
|
|
}
|