package handler import ( "net/http" /******************** main / transaction ********************/ adime "simrs-vx/internal/interface/main-handler/adime" admemployeehist "simrs-vx/internal/interface/main-handler/adm-employee-hist" ambulancetransportrequest "simrs-vx/internal/interface/main-handler/ambulance-transport-req" auth "simrs-vx/internal/interface/main-handler/authentication" chemo "simrs-vx/internal/interface/main-handler/chemo" consultation "simrs-vx/internal/interface/main-handler/consultation" controlletter "simrs-vx/internal/interface/main-handler/control-letter" counter "simrs-vx/internal/interface/main-handler/counter" deviceorder "simrs-vx/internal/interface/main-handler/device-order" deviceorderitem "simrs-vx/internal/interface/main-handler/device-order-item" encounter "simrs-vx/internal/interface/main-handler/encounter" encounterdocument "simrs-vx/internal/interface/main-handler/encounter-document" generalconsent "simrs-vx/internal/interface/main-handler/general-consent" generatefile "simrs-vx/internal/interface/main-handler/generate-file" internalreference "simrs-vx/internal/interface/main-handler/internal-reference" kfr "simrs-vx/internal/interface/main-handler/kfr" materialorder "simrs-vx/internal/interface/main-handler/material-order" materialorderitem "simrs-vx/internal/interface/main-handler/material-order-item" mcuorder "simrs-vx/internal/interface/main-handler/mcu-order" mcuorderitem "simrs-vx/internal/interface/main-handler/mcu-order-item" mcuordersubitem "simrs-vx/internal/interface/main-handler/mcu-order-sub-item" medication "simrs-vx/internal/interface/main-handler/medication" medicationitem "simrs-vx/internal/interface/main-handler/medication-item" medicationitemdist "simrs-vx/internal/interface/main-handler/medication-item-dist" medicicinemix "simrs-vx/internal/interface/main-handler/medicine-mix" medicicinemixitem "simrs-vx/internal/interface/main-handler/medicine-mix-item" practiceschedule "simrs-vx/internal/interface/main-handler/practice-schedule" prescription "simrs-vx/internal/interface/main-handler/prescription" prescriptionitem "simrs-vx/internal/interface/main-handler/prescription-item" procedurereport "simrs-vx/internal/interface/main-handler/procedure-report" procedureroom "simrs-vx/internal/interface/main-handler/procedure-room" procedureroomorder "simrs-vx/internal/interface/main-handler/procedure-room-order" procedureroomorderitem "simrs-vx/internal/interface/main-handler/procedure-room-order-item" responsibledoctorhist "simrs-vx/internal/interface/main-handler/responsible-doctor-hist" resume "simrs-vx/internal/interface/main-handler/resume" sbar "simrs-vx/internal/interface/main-handler/sbar" screening "simrs-vx/internal/interface/main-handler/screening" soapi "simrs-vx/internal/interface/main-handler/soapi" uploadfile "simrs-vx/internal/interface/main-handler/upload-file" vaccineData "simrs-vx/internal/interface/main-handler/vaccine-data" /******************** actor ********************/ authpartner "simrs-vx/internal/interface/main-handler/auth-partner" doctor "simrs-vx/internal/interface/main-handler/doctor" employee "simrs-vx/internal/interface/main-handler/employee" nurse "simrs-vx/internal/interface/main-handler/nurse" nutritionist "simrs-vx/internal/interface/main-handler/nutritionist" patient "simrs-vx/internal/interface/main-handler/patient" person "simrs-vx/internal/interface/main-handler/person" personaddress "simrs-vx/internal/interface/main-handler/person-address" personcontact "simrs-vx/internal/interface/main-handler/person-contact" personinsurance "simrs-vx/internal/interface/main-handler/person-insurance" pharmacist "simrs-vx/internal/interface/main-handler/pharmacist" user "simrs-vx/internal/interface/main-handler/user" userfes "simrs-vx/internal/interface/main-handler/user-fes" /******************** external ********************/ a "github.com/karincake/apem" hk "github.com/karincake/hongkue" /******************** infra ********************/ ibpjs "simrs-vx/internal/infra/bpjs" docscfg "simrs-vx/internal/infra/docs-cfg" gs "simrs-vx/internal/infra/gorm-setting" minio "simrs-vx/internal/infra/minio" ssdb "simrs-vx/internal/infra/ss-db" sync "simrs-vx/internal/infra/sync-consumer-cfg" /******************** pkg ********************/ cmw "simrs-vx/pkg/cors-manager-mw" hc "simrs-vx/pkg/handler-crud-helper" 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 ********************/ antibioticsrc "simrs-vx/internal/interface/main-handler/antibiotic-src" antibioticsrccat "simrs-vx/internal/interface/main-handler/antibiotic-src-category" chemoplan "simrs-vx/internal/interface/main-handler/chemo-plan" chemoprotocol "simrs-vx/internal/interface/main-handler/chemo-protocol" device "simrs-vx/internal/interface/main-handler/device" diagnosesrc "simrs-vx/internal/interface/main-handler/diagnose-src" division "simrs-vx/internal/interface/main-handler/division" divisionposition "simrs-vx/internal/interface/main-handler/division-position" doctorfee "simrs-vx/internal/interface/main-handler/doctor-fee" eduassesment "simrs-vx/internal/interface/main-handler/edu-assessment" ethnic "simrs-vx/internal/interface/main-handler/ethnic" infra "simrs-vx/internal/interface/main-handler/infra" installation "simrs-vx/internal/interface/main-handler/installation" installationposition "simrs-vx/internal/interface/main-handler/installation-position" insurancecompany "simrs-vx/internal/interface/main-handler/insurance-company" item "simrs-vx/internal/interface/main-handler/item" itemprice "simrs-vx/internal/interface/main-handler/item-price" language "simrs-vx/internal/interface/main-handler/language" material "simrs-vx/internal/interface/main-handler/material" materialpackage "simrs-vx/internal/interface/main-handler/material-package" materialpackageitem "simrs-vx/internal/interface/main-handler/material-package-item" mcusrc "simrs-vx/internal/interface/main-handler/mcu-src" mcusrccategory "simrs-vx/internal/interface/main-handler/mcu-src-category" mcusubsrc "simrs-vx/internal/interface/main-handler/mcu-sub-src" medicalactionsrc "simrs-vx/internal/interface/main-handler/medical-action-src" medicalactionsrcitem "simrs-vx/internal/interface/main-handler/medical-action-src-item" medicine "simrs-vx/internal/interface/main-handler/medicine" medicineform "simrs-vx/internal/interface/main-handler/medicine-form" medicinegroup "simrs-vx/internal/interface/main-handler/medicine-group" medicinemethod "simrs-vx/internal/interface/main-handler/medicine-method" pharmacycompany "simrs-vx/internal/interface/main-handler/pharmacy-company" proceduresrc "simrs-vx/internal/interface/main-handler/procedure-src" specialist "simrs-vx/internal/interface/main-handler/specialist" specialistposition "simrs-vx/internal/interface/main-handler/specialist-position" subspecialist "simrs-vx/internal/interface/main-handler/subspecialist" subspecialistposition "simrs-vx/internal/interface/main-handler/subspecialist-position" therapyprotocol "simrs-vx/internal/interface/main-handler/therapy-protocol" uom "simrs-vx/internal/interface/main-handler/uom" vehicle "simrs-vx/internal/interface/main-handler/vehicle" vehiclehist "simrs-vx/internal/interface/main-handler/vehicle-hist" district "simrs-vx/internal/interface/main-handler/district" postalregion "simrs-vx/internal/interface/main-handler/postal-region" province "simrs-vx/internal/interface/main-handler/province" regency "simrs-vx/internal/interface/main-handler/regency" village "simrs-vx/internal/interface/main-handler/village" /******************** Internal ********************/ validation "simrs-vx/internal/interface/main-handler/helper/validation" "simrs-vx/internal/interface/main-handler/home" /******************** BPJS ********************/ controlplan "simrs-vx/internal/interface/main-handler/control-plan" member "simrs-vx/internal/interface/main-handler/member" monitoring "simrs-vx/internal/interface/main-handler/monitoring" reference "simrs-vx/internal/interface/main-handler/reference" referral "simrs-vx/internal/interface/main-handler/referral" vclaimsep "simrs-vx/internal/interface/main-handler/vclaim-sep" vclaimsepcontrolletter "simrs-vx/internal/interface/main-handler/vclaim-sep-control-letter" vclaimsephist "simrs-vx/internal/interface/main-handler/vclaim-sep-hist" vclaimsepprint "simrs-vx/internal/interface/main-handler/vclaim-sep-print" ) // 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(ibpjs.SetConfig) a.RegisterExtCall(validation.RegisterValidation) a.RegisterExtCall(sync.SetConfig) a.RegisterExtCall(docscfg.ParseCfg) a.RegisterExtCall(ibpjs.SetConfig) r := http.NewServeMux() /******************** Main ********************/ r.HandleFunc("/", home.Home) r.HandleFunc("POST /v1/authentication/login", auth.Login) r.HandleFunc("POST /v1/authentication/login-fes", auth.LoginFes) hk.Route("POST /v1/authentication/logout", r, auth.GuardMW, auth.Logout) hc.RegCrud(r, "/v1/auth-partner", authpartner.O) hc.RegCrud(r, "/v1/practice-schedule", practiceschedule.O) hc.RegCrud(r, "/v1/counter", counter.O) hc.RegCrudByCode(r, "/v1/medicine-form", medicineform.O) hc.RegCrud(r, "/v1/medicine-mix", medicicinemix.O) hc.RegCrud(r, "/v1/medicine-mix-item", medicicinemixitem.O) hc.RegCrud(r, "/v1/antibiotic-src-category", antibioticsrccat.O) hc.RegCrud(r, "/v1/antibiotic-src", antibioticsrc.O) hc.RegCrud(r, "/v1/soapi", auth.GuardMW, soapi.O) hc.RegCrud(r, "/v1/adime", auth.GuardMW, adime.O) hc.RegCrud(r, "/v1/sbar", auth.GuardMW, sbar.O) hc.RegCrud(r, "/v1/prescription-item", prescriptionitem.O) hc.RegCrud(r, "/v1/device-order-item", deviceorderitem.O) hc.RegCrud(r, "/v1/procedure-report", auth.GuardMW, procedurereport.O) hc.RegCrud(r, "/v1/material-order-item", materialorderitem.O) hk.GroupRoutes("/v1/encounter", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": encounter.O.GetList, "GET /{id}": encounter.O.GetDetail, "POST /": encounter.O.Create, "PATCH /{id}": encounter.O.Update, "DELETE /{id}": encounter.O.Delete, "PATCH /{id}/check-out": encounter.O.CheckOut, "PATCH /{id}/check-in": encounter.O.CheckIn, "PATCH /{id}/proccess": encounter.O.Process, "PATCH /{id}/cancel": encounter.O.Cancel, "PATCH /{id}/reject": encounter.O.Reject, "PATCH /{id}/skip": encounter.O.Skip, "PATCH /{id}/req-switch-unit": encounter.O.RequestSwitchSpecialist, "PATCH /{id}/approve-switch-unit": encounter.O.ApproveSwitchSpecialist, "PATCH /{id}/cancel-switch-unit": encounter.O.CancelSwitchSpecialist, "POST /create-with-patient": encounter.O.CreateWithPatient, }) hk.GroupRoutes("/v1/mcu-order", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": mcuorder.O.GetList, "GET /{id}": mcuorder.O.GetDetail, "POST /": mcuorder.O.Create, "PATCH /{id}": mcuorder.O.Update, "DELETE /{id}": mcuorder.O.Delete, "PATCH /{id}/submit": mcuorder.O.Submit, "PATCH /{id}/complete": mcuorder.O.Complete, "PATCH /{id}/set-schedule": mcuorder.O.SetSchedule, }) hk.GroupRoutes("/v1/mcu-order-item", r, hk.MapHandlerFunc{ "GET /": mcuorderitem.O.GetList, "GET /{id}": mcuorderitem.O.GetDetail, "POST /": mcuorderitem.O.Create, "PATCH /{id}": mcuorderitem.O.Update, "DELETE /{id}": mcuorderitem.O.Delete, "PATCH /{id}/complete": mcuorderitem.O.Complete, "PATCH /{id}/set-schedule": mcuorderitem.O.SetSchedule, }) hk.GroupRoutes("/v1/prescription", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": prescription.O.GetList, "GET /{id}": prescription.O.GetDetail, "POST /": prescription.O.Create, "PATCH /{id}": prescription.O.Update, "DELETE /{id}": prescription.O.Delete, "PATCH /{id}/submit": prescription.O.Submit, "PATCH /{id}/approve": prescription.O.Approve, }) hk.GroupRoutes("/v1/mcu-order-sub-item", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": mcuordersubitem.O.GetList, "GET /{id}": mcuordersubitem.O.GetDetail, "POST /": mcuordersubitem.O.Create, "PATCH /{id}": mcuordersubitem.O.Update, "DELETE /{id}": mcuordersubitem.O.Delete, "PATCH /{id}/complete": mcuordersubitem.O.Complete, }) hk.GroupRoutes("/v1/medication", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": medication.O.GetList, "GET /{id}": medication.O.GetDetail, "POST /": medication.O.Create, "PATCH /{id}": medication.O.Update, "DELETE /{id}": medication.O.Delete, "PATCH /{id}/complete": medication.O.Complete, }) hk.GroupRoutes("/v1/medication-item", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": medicationitem.O.GetList, "GET /{id}": medicationitem.O.GetDetail, "POST /": medicationitem.O.Create, "PATCH /{id}": medicationitem.O.Update, "DELETE /{id}": medicationitem.O.Delete, "PATCH /{id}/redeem": medicationitem.O.Redeem, }) hk.GroupRoutes("/v1/medication-item-dist", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": medicationitemdist.O.GetList, "GET /{id}": medicationitemdist.O.GetDetail, "POST /": medicationitemdist.O.Create, "PATCH /{id}": medicationitemdist.O.Update, "DELETE /{id}": medicationitemdist.O.Delete, "PATCH /{id}/consume": medicationitemdist.O.Consume, }) hk.GroupRoutes("/v1/device-order", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": deviceorder.O.GetList, "GET /{id}": deviceorder.O.GetDetail, "POST /": deviceorder.O.Create, "PATCH /{id}": deviceorder.O.Update, "DELETE /{id}": deviceorder.O.Delete, "PATCH /{id}/complete": deviceorder.O.Complete, }) hk.GroupRoutes("/v1/material-order", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": materialorder.O.GetList, "GET /{id}": materialorder.O.GetDetail, "POST /": materialorder.O.Create, "PATCH /{id}": materialorder.O.Update, "DELETE /{id}": materialorder.O.Delete, "PATCH /{id}/complete": materialorder.O.Complete, }) hc.RegCrud(r, "/v1/procedure-room", procedureroom.O) hk.GroupRoutes("/v1/procedure-room-order", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": procedureroomorder.O.GetList, "GET /{id}": procedureroomorder.O.GetDetail, "POST /": procedureroomorder.O.Create, "PATCH /{id}": procedureroomorder.O.Update, "DELETE /{id}": procedureroomorder.O.Delete, "PATCH /{id}/submit": procedureroomorder.O.Submit, }) hc.RegCrud(r, "/v1/procedure-room-order-item", procedureroomorderitem.O) hk.GroupRoutes("/v1/consultation", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": consultation.O.GetList, "GET /{id}": consultation.O.GetDetail, "POST /": consultation.O.Create, "PATCH /{id}": consultation.O.Update, "DELETE /{id}": consultation.O.Delete, "PATCH /{id}/reply": consultation.O.Reply, }) hk.GroupRoutes("/v1/chemo", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": chemo.O.GetList, "GET /{id}": chemo.O.GetDetail, "POST /": chemo.O.Create, "PATCH /{id}": chemo.O.Update, "DELETE /{id}": chemo.O.Delete, "PATCH /{id}/verify": chemo.O.Verify, "PATCH /{id}/reject": chemo.O.Reject, }) hc.RegCrud(r, "/v1/control-letter", controlletter.O) hc.RegCrud(r, "/v1/internal-reference", internalreference.O) hc.RegCrud(r, "/v1/ambulance-transport-req", ambulancetransportrequest.O) hc.RegCrud(r, "/v1/responsible-doctor-hist", responsibledoctorhist.O) hc.RegCrud(r, "/v1/adm-employee-hist", admemployeehist.O) hk.GroupRoutes("/v1/therapy-protocol", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": therapyprotocol.O.GetList, "GET /{id}": therapyprotocol.O.GetDetail, "POST /": therapyprotocol.O.Create, "PATCH /{id}": therapyprotocol.O.Update, "DELETE /{id}": therapyprotocol.O.Delete, "PATCH /{id}/verify": therapyprotocol.O.Verify, "PATCH /{id}/reject": therapyprotocol.O.Reject, }) hk.GroupRoutes("/v1/chemo-protocol", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": chemoprotocol.O.GetList, "GET /{id}": chemoprotocol.O.GetDetail, "POST /": chemoprotocol.O.Create, "PATCH /{id}": chemoprotocol.O.Update, "DELETE /{id}": chemoprotocol.O.Delete, "PATCH /{id}/verify": chemoprotocol.O.Verify, "PATCH /{id}/reject": chemoprotocol.O.Reject, }) hk.GroupRoutes("/v1/chemo-plan", r, auth.GuardMW, hk.MapHandlerFunc{ "PATCH /{id}/fail": chemoplan.O.Fail, }) hc.RegCrud(r, "/v1/upload-file", uploadfile.O) hc.RegCrud(r, "/v1/vaccine-data", vaccineData.O) hc.RegCrud(r, "/v1/encounter-document", encounterdocument.O) hc.RegCrud(r, "/v1/general-consent", generalconsent.O) r.HandleFunc("POST /v1/generate-file", generatefile.Generate) hk.GroupRoutes("/v1/resume", r, auth.GuardMW, hk.MapHandlerFunc{ "POST /": resume.Create, "GET /": resume.GetList, "GET /{id}": resume.GetDetail, "PATCH /{id}": resume.Update, "DELETE /{id}": resume.Delete, "PATCH /{id}/verify": resume.Verify, "PATCH /{id}/validate": resume.Validate, }) hk.GroupRoutes("/v1/screening", r, auth.GuardMW, hk.MapHandlerFunc{ "POST /": screening.O.Create, "GET /": screening.O.GetList, "GET /{id}": screening.O.GetDetail, }) hk.GroupRoutes("/v1/kfr", r, auth.GuardMW, hk.MapHandlerFunc{ "POST /": kfr.Create, "GET /": kfr.GetList, "GET /{id}": kfr.GetDetail, "PATCH /{id}": kfr.Update, "DELETE /{id}": kfr.Delete, "PATCH /{id}/verify": kfr.Verify, "PATCH /{id}/validate": kfr.Validate, }) /******************** actor ********************/ hc.RegCrud(r, "/v1/person", person.O) hc.RegCrud(r, "/v1/person-address", personaddress.O) hc.RegCrud(r, "/v1/person-contact", personcontact.O) hc.RegCrud(r, "/v1/person-insurance", personinsurance.O) hc.RegCrud(r, "/v1/employee", employee.O) hc.RegCrudByCode(r, "/v1/doctor", doctor.O) hc.RegCrudByCode(r, "/v1/nurse", nurse.O) hc.RegCrudByCode(r, "/v1/nutritionist", nutritionist.O) hc.RegCrudByCode(r, "/v1/pharmacist", pharmacist.O) hk.GroupRoutes("/v1/user", r, hk.MapHandlerFunc{ "GET /": user.O.GetList, "GET /{id}": user.O.GetDetail, "POST /": user.O.Create, "PATCH /{id}": user.O.Update, "DELETE /{id}": user.O.Delete, "PATCH /{id}/block": user.O.Block, "PATCH /{id}/active": user.O.Active, }) hc.RegCrud(r, "/v1/user-fes", userfes.O) hk.GroupRoutes("/v1/patient", r, auth.GuardMW, hk.MapHandlerFunc{ "GET /": patient.O.GetList, "GET /{id}": patient.O.GetDetail, "POST /": patient.O.Create, "PATCH /{id}": patient.O.Update, "DELETE /{id}": patient.O.Delete, "GET /search/{keyword}": patient.O.Search, "GET /by-resident-identity": patient.O.SearchByResidentIdentityNumber, }) /******************** sources ********************/ hc.RegCrudByCode(r, "/v1/division", division.O) hc.RegCrudByCode(r, "/v1/division-position", divisionposition.O) hk.GroupRoutes("/v1/installation", r, hk.MapHandlerFunc{ "GET /": installation.O.GetList, "GET /{id}": installation.O.GetDetail, "POST /": installation.O.Create, "PATCH /{id}": installation.O.Update, "DELETE /{id}": installation.O.Delete, "POST /bulk": installation.O.CreateBulk, }) hc.RegCrudByCode(r, "/v1/installation-position", installationposition.O) hk.GroupRoutes("/v1/specialist", r, hk.MapHandlerFunc{ "GET /": specialist.O.GetList, "GET /{id}": specialist.O.GetDetail, "POST /": specialist.O.Create, "PATCH /{id}": specialist.O.Update, "DELETE /{id}": specialist.O.Delete, "POST /bulk": specialist.O.CreateBulk, }) hk.GroupRoutes("/v1/subspecialist", r, hk.MapHandlerFunc{ "GET /": subspecialist.O.GetList, "GET /{id}": subspecialist.O.GetDetail, "POST /": subspecialist.O.Create, "PATCH /{id}": subspecialist.O.Update, "DELETE /{id}": subspecialist.O.Delete, "POST /bulk": subspecialist.O.CreateBulk, }) hc.RegCrudByCode(r, "/v1/specialist-position", specialistposition.O) hc.RegCrudByCode(r, "/v1/subspecialist-position", subspecialistposition.O) hc.RegCrudByCode(r, "/v1/infra", infra.O) hc.RegCrudByCode(r, "/v1/pharmacy-company", pharmacycompany.O) hc.RegCrudByCode(r, "/v1/diagnose-src", diagnosesrc.O) hc.RegCrudByCode(r, "/v1/procedure-src", proceduresrc.O) hc.RegCrudByCode(r, "/v1/uom", uom.O) hc.RegCrudByCode(r, "/v1/item", item.O) hc.RegCrud(r, "/v1/item-price", itemprice.O) hc.RegCrudByCode(r, "/v1/medicine-group", medicinegroup.O) hc.RegCrudByCode(r, "/v1/medicine-method", medicinemethod.O) hc.RegCrudByCode(r, "/v1/mcu-src-category", mcusrccategory.O) hc.RegCrudByCode(r, "/v1/mcu-src", mcusrc.O) hc.RegCrudByCode(r, "/v1/ethnic", ethnic.O) hc.RegCrudByCode(r, "/v1/insurance-company", insurancecompany.O) hc.RegCrudByCode(r, "/v1/medicine", medicine.O) hc.RegCrudByCode(r, "/v1/device", device.O) hc.RegCrudByCode(r, "/v1/material", material.O) hc.RegCrudByCode(r, "/v1/material-package", materialpackage.O) hc.RegCrud(r, "/v1/material-package-item", materialpackageitem.O) hc.RegCrud(r, "/v1/doctor-fee", doctorfee.O) hc.RegCrudByCode(r, "/v1/medical-action-src", medicalactionsrc.O) hc.RegCrud(r, "/v1/medical-action-src-item", medicalactionsrcitem.O) hc.RegCrudByCode(r, "/v1/language", language.O) hc.RegCrudByCode(r, "/v1/mcu-sub-src", mcusubsrc.O) hc.RegCrud(r, "/v1/vehicle", vehicle.O) hc.RegCrud(r, "/v1/vehicle-hist", vehiclehist.O) hc.RegCrud(r, "/v1/edu-assessment", eduassesment.O) hc.RegCrudByCode(r, "/v1/village", village.O) hc.RegCrudByCode(r, "/v1/district", district.O) hc.RegCrudByCode(r, "/v1/regency", regency.O) hc.RegCrudByCode(r, "/v1/province", province.O) hc.RegCrudByCode(r, "/v1/postal-region", postalregion.O) /******************** BPJS ********************/ hk.GroupRoutes("/v1/vclaim-sep", r, hk.MapHandlerFunc{ "POST /": vclaimsep.O.Create, "GET /{number}": vclaimsep.O.GetDetail, "DELETE /{number}": vclaimsep.O.Delete, }) hk.GroupRoutes("/v1/vclaim-sep-control-letter", r, hk.MapHandlerFunc{ "POST /": vclaimsepcontrolletter.O.Create, "GET /{number}": vclaimsepcontrolletter.O.GetDetail, "DELETE /{number}": vclaimsepcontrolletter.O.Delete, }) hk.GroupRoutes("/v1/vclaim-sep-hist", r, hk.MapHandlerFunc{ "GET /": vclaimsephist.O.GetList, }) hk.GroupRoutes("/v1/vclaim-sep-print", r, hk.MapHandlerFunc{ "POST /": vclaimsepprint.O.Create, }) hk.GroupRoutes("/v1/reference", r, hk.MapHandlerFunc{ "GET /province": reference.GetListProvince, "GET /regency/{provinceCode}": reference.GetListCities, "GET /district/{regencyCode}": reference.GetListDistrict, "GET /diagnose/{keyword}": reference.GetListDiagnose, "GET /diagnose-prb": reference.GetListDiagnosePrb, "GET /medicine-prb/{keyword}": reference.GetListMedicinePrb, "GET /unit/{unitCode}": reference.GetListUnit, "GET /healthcare/{healthcare}/{healthcareType}": reference.GetListHealthcare, "GET /responsible-doctor/{serviceType}/{serviceDate}/{specialistCode}": reference.GetListDoctor, }) hk.GroupRoutes("/v1/member", r, hk.MapHandlerFunc{ "GET /bpjs/{cardNumber}/{sepDate}": member.GetListByBpjsNumber, "GET /nik/{nik}/{sepDate}": member.GetListByNik, }) hk.GroupRoutes("/v1/monitoring", r, hk.MapHandlerFunc{ "GET /visit/{date}/{serviceType}": monitoring.GetListVisit, "GET /hist/{cardNumber}/{startDate}/{endDate}": monitoring.GetListHist, }) hk.GroupRoutes("/v1/control-plan", r, hk.MapHandlerFunc{ "GET /{controlType}/{polyCode}/{date}": controlplan.GetList, }) hk.GroupRoutes("/v1/referral", r, hk.MapHandlerFunc{ "GET /{number}": referral.GetList, }) ///// return cmw.SetCors(handlerlogger.SetLog(r)) }