add sever table for vclaim, update encounter

This commit is contained in:
dpurbosakti
2025-10-14 13:03:26 +07:00
parent 718200f872
commit ec08939fa8
13 changed files with 231 additions and 2 deletions
@@ -0,0 +1 @@
package vclaimsephist
@@ -0,0 +1,12 @@
package vclaimsephist
import (
ecore "simrs-vx/internal/domain/base-entities/core"
)
type VClaimSepHist struct {
ecore.Main
RequestPayload *string `json:"requestPayload"`
ResponseBody *string `json:"responseBody"`
Message *string `json:"message"`
}
@@ -0,0 +1 @@
package vclaimsepprint
@@ -0,0 +1,13 @@
package vclaimsepprint
import (
ecore "simrs-vx/internal/domain/base-entities/core"
evs "simrs-vx/internal/domain/bpjs-entities/vclaim-sep"
)
type VClaimSepPrint struct {
ecore.Main
VclaimSep_Number *string `json:"vclaimSep_number"`
VclaimSep *evs.VClaimSep `json:"vclaimSep,omitempty" gorm:"foreignKey:VclaimSep_Number;references:Number"`
Counter *uint `json:"counter"`
}
@@ -0,0 +1 @@
package vclaimsep
@@ -0,0 +1,11 @@
package vclaimsep
import (
ecore "simrs-vx/internal/domain/base-entities/core"
)
type VClaimSep struct {
ecore.Main
Encounter_Id *uint `json:"encounter_id"`
Number *string `json:"number" gorm:"unique;size:19"`
}
@@ -2,12 +2,16 @@ package encounter
import (
ecore "simrs-vx/internal/domain/base-entities/core"
evs "simrs-vx/internal/domain/bpjs-entities/vclaim-sep"
ea "simrs-vx/internal/domain/main-entities/appointment"
ed "simrs-vx/internal/domain/main-entities/doctor"
ee "simrs-vx/internal/domain/main-entities/employee"
ei "simrs-vx/internal/domain/main-entities/insurance-company"
ep "simrs-vx/internal/domain/main-entities/patient"
es "simrs-vx/internal/domain/main-entities/specialist"
ess "simrs-vx/internal/domain/main-entities/subspecialist"
eu "simrs-vx/internal/domain/main-entities/unit"
erc "simrs-vx/internal/domain/references/common"
ere "simrs-vx/internal/domain/references/encounter"
"time"
@@ -26,8 +30,16 @@ type Encounter struct {
Subspecialist_Id *uint16 `json:"subspecialist_id"`
Subspecialist *ess.Subspecialist `json:"subspecialist,omitempty" gorm:"foreignKey:Subspecialist_Id;references:Id"`
VisitDate time.Time `json:"visitDate"`
PaymentMethod_Code erc.PaymentMethodCode `json:"paymentMethod_code" gorm:"size:10"`
InsuranceCompany_Id *uint `json:"insuranceCompany_id"`
Member_Number *string `json:"memberNumber" gorm:"unique;size:20"`
Ref_Number *string `json:"refNumber" gorm:"unique;size:20"`
Trx_Number *string `json:"trxNumber" gorm:"unique;size:20"`
InsuranceCompany *ei.InsuranceCompany `json:"insuranceCompany,omitempty" gorm:"foreignKey:InsuranceCompany_Id;references:Id"`
Appointment_Doctor_Id *uint `json:"appointment_doctor_id"`
Appointment_Doctor *ed.Doctor `json:"appointment_doctor,omitempty" gorm:"foreignKey:Appointment_Doctor_Id;references:Id"`
Adm_Employee_Id *uint `json:"admEmployee_id"`
Adm_Employee *ee.Employee `json:"admEmployee,omitempty" gorm:"foreignKey:Adm_Employee_Id;references:Id"`
Responsible_Doctor_Id *uint `json:"responsible_doctor_id"`
Responsible_Doctor *ed.Doctor `json:"responsible_doctor,omitempty" gorm:"foreignKey:Responsible_Doctor_Id;references:Id"`
DischargeMethod_Code *ere.DischargeMethodCode `json:"dischargeMethod_code" gorm:"size:16"`
@@ -39,6 +51,7 @@ type Encounter struct {
AdmDischargeEducation *string `json:"admDischargeEducation"`
DischargeReason *string `json:"dischargeReason"`
Status_Code erc.DataStatusCode `json:"status_code" gorm:"size:10"`
VclaimSep *evs.VClaimSep `json:"vclaimSep,omitempty" gorm:"foreignKey:Encounter_Id;references:Id"`
}
func (d Encounter) IsDone() bool {
@@ -0,0 +1,52 @@
package bpjshandler
import (
"net/http"
/******************** main / transaction ********************/
/******************** actor ********************/
/******************** external ********************/
a "github.com/karincake/apem"
/******************** infra ********************/
gs "simrs-vx/internal/infra/gorm-setting"
minio "simrs-vx/internal/infra/minio"
ssdb "simrs-vx/internal/infra/ss-db"
/******************** pkg ********************/
cmw "simrs-vx/pkg/cors-manager-mw"
lh "simrs-vx/pkg/lang-helper"
handlerlogger "simrs-vx/pkg/middleware/handler-logger"
mh "simrs-vx/pkg/minio-helper"
zlc "simrs-vx/pkg/zerolog-ctx"
/******************** sources ********************/
///// Internal
validation "simrs-vx/internal/interface/main-handler/helper/validation"
"simrs-vx/internal/interface/main-handler/home"
)
// One place route to relatively easier to manage, ESPECIALLY in tracking
func SetRoutes() http.Handler {
/////
a.RegisterExtCall(gs.Adjust)
a.RegisterExtCall(zlc.Adjust)
a.RegisterExtCall(ssdb.SetInstance)
a.RegisterExtCall(lh.Populate)
a.RegisterExtCall(minio.Connect)
a.RegisterExtCall(mh.I.SetClient)
a.RegisterExtCall(validation.RegisterValidation)
r := http.NewServeMux()
/******************** Main ********************/
r.HandleFunc("/", home.Home)
/******************** actor ********************/
/******************** sources ********************/
return cmw.SetCors(handlerlogger.SetLog(r))
}
@@ -75,6 +75,11 @@ import (
uom "simrs-vx/internal/domain/main-entities/uom"
user "simrs-vx/internal/domain/main-entities/user"
village "simrs-vx/internal/domain/main-entities/village"
///BPJS
vclaimsep "simrs-vx/internal/domain/bpjs-entities/vclaim-sep"
vclaimsephist "simrs-vx/internal/domain/bpjs-entities/vclaim-sep-hist"
vclaimsepprint "simrs-vx/internal/domain/bpjs-entities/vclaim-sep-print"
)
func getMainEntities() []any {
@@ -123,6 +128,7 @@ func getMainEntities() []any {
&personrelative.PersonRelative{},
&patient.Patient{},
&appointment.Appointment{},
&vclaimsep.VClaimSep{},
&encounter.Encounter{},
&laborant.Laborant{},
&specialist.Specialist{},
@@ -153,5 +159,7 @@ func getMainEntities() []any {
&midwife.Midwife{},
&postalregion.PostalRegion{},
&internalreference.InternalReference{},
&vclaimsephist.VClaimSepHist{},
&vclaimsepprint.VClaimSepPrint{},
}
}