145 lines
4.9 KiB
Go
145 lines
4.9 KiB
Go
package models
|
|
|
|
// SepPostRequest represents the request payload for creating a SEP
|
|
type SepPostRequest struct {
|
|
TSep TSepPost `json:"tsep" binding:"required"`
|
|
}
|
|
|
|
// TSepPost contains the main SEP data for creation
|
|
type TSepPost struct {
|
|
NoKartu string `json:"noKartu" binding:"required"`
|
|
TglSep string `json:"tglSep" binding:"required"` // yyyy-MM-dd
|
|
PpkPelayanan string `json:"ppkPelayanan" binding:"required"`
|
|
JnsPelayanan string `json:"jnsPelayanan" binding:"required"`
|
|
KlsRawat KlsRawatPost `json:"klsRawat" binding:"required"`
|
|
NoMR string `json:"noMR" binding:"required"`
|
|
Rujukan Rujukan `json:"rujukan" binding:"required"`
|
|
Catatan string `json:"catatan"`
|
|
DiagAwal string `json:"diagAwal" binding:"required"`
|
|
Poli Poli `json:"poli" binding:"required"`
|
|
Cob Flag `json:"cob" binding:"required"`
|
|
Katarak Flag `json:"katarak" binding:"required"`
|
|
Jaminan Jaminan `json:"jaminan" binding:"required"`
|
|
TujuanKunj string `json:"tujuanKunj"`
|
|
FlagProcedure string `json:"flagProcedure"`
|
|
KdPenunjang string `json:"kdPenunjang"`
|
|
AssesmentPel string `json:"assesmentPel"`
|
|
Skdp Skdp `json:"skdp" binding:"required"`
|
|
DpjpLayan string `json:"dpjpLayan"`
|
|
NoTelp string `json:"noTelp"`
|
|
User string `json:"user" binding:"required"`
|
|
}
|
|
|
|
// KlsRawatPost represents class of care data for POST requests
|
|
type KlsRawatPost struct {
|
|
KlsRawatHak string `json:"klsRawatHak" binding:"required"`
|
|
KlsRawatNaik string `json:"klsRawatNaik"`
|
|
Pembiayaan string `json:"pembiayaan"`
|
|
PenanggungJawab string `json:"penanggungJawab"`
|
|
}
|
|
|
|
// Rujukan represents referral data
|
|
type Rujukan struct {
|
|
AsalRujukan string `json:"asalRujukan" binding:"required"`
|
|
TglRujukan string `json:"tglRujukan" binding:"required"`
|
|
NoRujukan string `json:"noRujukan" binding:"required"`
|
|
PpkRujukan string `json:"ppkRujukan" binding:"required"`
|
|
}
|
|
|
|
// Poli represents poly/department data
|
|
type Poli struct {
|
|
Tujuan string `json:"tujuan" binding:"required"`
|
|
Eksekutif string `json:"eksekutif" binding:"required"`
|
|
}
|
|
|
|
// Flag represents a generic flag structure
|
|
type Flag struct {
|
|
Flag string `json:"flag" binding:"required"`
|
|
}
|
|
|
|
// Jaminan represents insurance guarantee data
|
|
type Jaminan struct {
|
|
LakaLantas string `json:"lakaLantas" binding:"required"`
|
|
NoLP string `json:"noLP"`
|
|
Penjamin Penjamin `json:"penjamin"`
|
|
}
|
|
|
|
// Penjamin represents guarantor data
|
|
type Penjamin struct {
|
|
TglKejadian string `json:"tglKejadian"`
|
|
Keterangan string `json:"keterangan"`
|
|
Suplesi Suplesi `json:"suplesi"`
|
|
}
|
|
|
|
// Suplesi represents supplementary data
|
|
type Suplesi struct {
|
|
Suplesi string `json:"suplesi"`
|
|
NoSepSuplesi string `json:"noSepSuplesi"`
|
|
LokasiLaka LokasiLaka `json:"lokasiLaka"`
|
|
}
|
|
|
|
// LokasiLaka represents accident location data
|
|
type LokasiLaka struct {
|
|
KdPropinsi string `json:"kdPropinsi"`
|
|
KdKabupaten string `json:"kdKabupaten"`
|
|
KdKecamatan string `json:"kdKecamatan"`
|
|
}
|
|
|
|
// Skdp represents SKDP data
|
|
type Skdp struct {
|
|
NoSurat string `json:"noSurat" binding:"required"`
|
|
KodeDPJP string `json:"kodeDPJP" binding:"required"`
|
|
}
|
|
|
|
// SepPutRequest represents the request payload for updating a SEP
|
|
type SepPutRequest struct {
|
|
TSep TSepPut `json:"tsep" binding:"required"`
|
|
}
|
|
|
|
// TSepPut contains the main SEP data for updates
|
|
type TSepPut struct {
|
|
NoSep string `json:"noSep" binding:"required"`
|
|
KlsRawat KlsRawatPut `json:"klsRawat"`
|
|
NoMR string `json:"noMR"`
|
|
Catatan string `json:"catatan"`
|
|
DiagAwal string `json:"diagAwal"`
|
|
Poli Poli `json:"poli"`
|
|
Cob Flag `json:"cob"`
|
|
Katarak Flag `json:"katarak"`
|
|
Jaminan Jaminan `json:"jaminan"`
|
|
DpjpLayan string `json:"dpjpLayan"`
|
|
NoTelp string `json:"noTelp"`
|
|
User string `json:"user" binding:"required"`
|
|
}
|
|
|
|
// KlsRawatPut represents class of care data for PUT requests
|
|
type KlsRawatPut struct {
|
|
KlsRawatHak string `json:"klsRawatHak"`
|
|
KlsRawatNaik string `json:"klsRawatNaik"`
|
|
Pembiayaan string `json:"pembiayaan"`
|
|
PenanggungJawab string `json:"penanggungJawab"`
|
|
}
|
|
|
|
// SepDeleteRequest represents the request payload for deleting a SEP
|
|
type SepDeleteRequest struct {
|
|
TSep struct {
|
|
NoSep string `json:"noSep" binding:"required"`
|
|
User string `json:"user" binding:"required"`
|
|
} `json:"tsep" binding:"required"`
|
|
}
|
|
|
|
// SepResponse represents the standard response for SEP operations
|
|
type SepResponse struct {
|
|
Message string `json:"message"`
|
|
Data map[string]interface{} `json:"data,omitempty"`
|
|
}
|
|
|
|
// SepRawResponse represents the raw response from BPJS API
|
|
type SepRawResponse struct {
|
|
MetaData struct {
|
|
Code string `json:"code"`
|
|
Message string `json:"message"`
|
|
} `json:"metaData"`
|
|
Response interface{} `json:"response"`
|
|
}
|