Banyak perubahan Tool bpjs

This commit is contained in:
2025-09-01 11:58:34 +07:00
parent 3951fd87a7
commit c154f96621
9 changed files with 2104 additions and 65 deletions

View File

@@ -1,29 +1,27 @@
// internal/models/reference/services.go
package reference
import "context"
// VClaimService defines VClaim service interface
type VClaimService interface {
GetPeserta(ctx context.Context, noKartu string) (*PesertaData, error)
CreateSEP(ctx context.Context, req *SEPRequest) (*SEPData, error)
GetSEP(ctx context.Context, noSep string) (*SEPData, error)
UpdateSEP(ctx context.Context, noSep string, req *SEPRequest) (*SEPData, error)
DeleteSEP(ctx context.Context, noSep string) error
GetRujukan(ctx context.Context, noRujukan string) (*RujukanData, error)
}
// type VClaimService interface {
// GetPESERTA(ctx context.Context, nokartu string) (*PesertaData, error)
// CreateSEP(ctx context.Context, req *SEPRequest) (*SEPData, error)
// GetSEP(ctx context.Context, nosep string) (*SEPData, error)
// UpdateSEP(ctx context.Context, nosep string, req *SEPRequest) (*SEPData, error)
// DeleteSEP(ctx context.Context, nosep string) error
// GetRujukan(ctx context.Context, norujukan string) (*RujukanData, error)
// }
// EClaimService defines EClaim service interface
type EClaimService interface {
CreateKlaim(ctx context.Context, req *KlaimRequest) (*KlaimResponseData, error)
GetKlaim(ctx context.Context, noKlaim string) (*KlaimResponseData, error)
UpdateKlaim(ctx context.Context, noKlaim string, req *KlaimRequest) (*KlaimResponseData, error)
ProcessGrouper(ctx context.Context, req *GrouperRequest) (*GrouperResult, error)
}
// // EClaimService defines EClaim service interface
// type EClaimService interface {
// CreateKlaim(ctx context.Context, req *KlaimRequest) (*KlaimResponseData, error)
// GetKlaim(ctx context.Context, noKlaim string) (*KlaimResponseData, error)
// UpdateKlaim(ctx context.Context, noKlaim string, req *KlaimRequest) (*KlaimResponseData, error)
// ProcessGrouper(ctx context.Context, req *GrouperRequest) (*GrouperResult, error)
// }
// AplicareService defines Aplicare service interface
type AplicareService interface {
GetReferensi(ctx context.Context, req *ReferensiRequest) ([]ReferensiData, *PaginationResponse, error)
GetMonitoring(ctx context.Context, req *MonitoringRequest) ([]MonitoringData, *MonitoringSummary, *PaginationResponse, error)
CreateMonitoring(ctx context.Context, req *MonitoringRequest) error
}
// // AplicareService defines Aplicare service interface
// type AplicareService interface {
// GetReferensi(ctx context.Context, req *ReferensiRequest) ([]ReferensiData, *PaginationResponse, error)
// GetMonitoring(ctx context.Context, req *MonitoringRequest) ([]MonitoringData, *MonitoringSummary, *PaginationResponse, error)
// CreateMonitoring(ctx context.Context, req *MonitoringRequest) error
// }

View File

@@ -54,7 +54,7 @@ type PesertaResponse struct {
// === SEP (Surat Eligibilitas Peserta) MODELS ===
// SEPRequest represents SEP creation/update request
type SEPRequest struct {
type SepRequest struct {
BaseRequest
NoKartu string `json:"noKartu" validate:"required"`
TglSep string `json:"tglSep" validate:"required"`
@@ -62,7 +62,7 @@ type SEPRequest struct {
JnsPelayanan string `json:"jnsPelayanan" validate:"required,oneof=1 2"`
KlsRawat string `json:"klsRawat" validate:"required,oneof=1 2 3"`
NoMR string `json:"noMR" validate:"required"`
Rujukan *SEPRujukan `json:"rujukan"`
Rujukan *SepRujukan `json:"rujukan"`
Catatan string `json:"catatan,omitempty"`
Diagnosa string `json:"diagnosa" validate:"required"`
PoliTujuan string `json:"poli" validate:"required"`
@@ -71,7 +71,7 @@ type SEPRequest struct {
}
// SEPRujukan represents rujukan information in SEP
type SEPRujukan struct {
type SepRujukan struct {
AsalRujukan string `json:"asalRujukan" validate:"required,oneof=1 2"`
TglRujukan string `json:"tglRujukan" validate:"required"`
NoRujukan string `json:"noRujukan" validate:"required"`
@@ -79,14 +79,14 @@ type SEPRujukan struct {
}
// SEPData represents SEP response data
type SEPData struct {
type SepData struct {
NoSep string `json:"noSep"`
TglSep string `json:"tglSep"`
JnsPelayanan string `json:"jnsPelayanan"`
PoliTujuan string `json:"poli"`
KlsRawat string `json:"klsRawat"`
NoMR string `json:"noMR"`
Rujukan SEPRujukan `json:"rujukan"`
Rujukan SepRujukan `json:"rujukan"`
Catatan string `json:"catatan"`
Diagnosa string `json:"diagnosa"`
Peserta PesertaData `json:"peserta"`
@@ -99,9 +99,9 @@ type SEPData struct {
}
// SEPResponse represents SEP API response
type SEPResponse struct {
type SepResponse struct {
BaseResponse
Data *SEPData `json:"data,omitempty"`
Data *SepData `json:"data,omitempty"`
}
// === RUJUKAN MODELS ===