205 lines
7.7 KiB
Go
205 lines
7.7 KiB
Go
package server
|
|
|
|
import (
|
|
MasterHandler "api-poliklinik/pkg/handlers/Master"
|
|
patientHandler "api-poliklinik/pkg/handlers/MongoHandler/Patient"
|
|
patientRelatedHandler "api-poliklinik/pkg/handlers/MongoHandler/PatientRelated"
|
|
AccountHandler "api-poliklinik/pkg/handlers/MongoHandler/account"
|
|
ConditionHandler "api-poliklinik/pkg/handlers/MongoHandler/condition"
|
|
CoverageHandler "api-poliklinik/pkg/handlers/MongoHandler/coverage"
|
|
"api-poliklinik/pkg/handlers/MongoHandler/encounter"
|
|
EpisodeHandler "api-poliklinik/pkg/handlers/MongoHandler/episodeofcare"
|
|
personHandler "api-poliklinik/pkg/handlers/MongoHandler/person"
|
|
practitionerHandler "api-poliklinik/pkg/handlers/MongoHandler/practitioner"
|
|
datarelatedpersonHandler "api-poliklinik/pkg/handlers/MongoHandler/relatedperson"
|
|
datapoliklinikHandler "api-poliklinik/pkg/handlers/Poliklinik"
|
|
dataAlamatHandler "api-poliklinik/pkg/handlers/address"
|
|
AppointmentHandler "api-poliklinik/pkg/handlers/appointment"
|
|
LocationHandler "api-poliklinik/pkg/handlers/location"
|
|
MigrasiHandler "api-poliklinik/pkg/handlers/migrasi"
|
|
MigrasiAddress "api-poliklinik/pkg/handlers/migrasi/address"
|
|
MigrasiExtension "api-poliklinik/pkg/handlers/migrasi/extension"
|
|
MigrasiLocation "api-poliklinik/pkg/handlers/migrasi/location"
|
|
MigrasiIcd "api-poliklinik/pkg/handlers/migrasi/medis"
|
|
MigarasiDokter "api-poliklinik/pkg/handlers/migrasi/practitioner"
|
|
"github.com/gin-contrib/cors"
|
|
"github.com/gin-gonic/gin"
|
|
"net/http"
|
|
)
|
|
|
|
func (s *Server) RegisterRoutes() http.Handler {
|
|
r := gin.Default()
|
|
r.Use(cors.New(cors.Config{
|
|
AllowOrigins: []string{"*"}, // or specific domains like "http://example.com"
|
|
AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
|
|
AllowHeaders: []string{"Origin", "Content-Type"},
|
|
AllowCredentials: true,
|
|
}))
|
|
|
|
r.GET("/", s.HelloWorldHandler)
|
|
|
|
r.GET("/health", s.healthHandler)
|
|
|
|
v1 := r.Group("/api")
|
|
|
|
migrasi := v1.Group("/migrasi")
|
|
{
|
|
//migrasi.POST("/migrate/practitioners", MigrasiPractitioner.MigratePractitionerToFHIR)
|
|
migrasi.POST("/migrate/pasien", MigrasiHandler.MigratePasienToFHIR)
|
|
migrasi.POST("/migrate/provinsi", MigrasiAddress.Migrasiprovinsi)
|
|
migrasi.POST("/migrate/kota", MigrasiAddress.Migrasikota)
|
|
migrasi.POST("/migrate/kecamatan", MigrasiAddress.Migrasikecamatan)
|
|
migrasi.POST("/migrate/kelurahan", MigrasiAddress.Migrasikelurahan)
|
|
migrasi.POST("/migrate/bahasa", MigrasiExtension.Migrasibahasa)
|
|
migrasi.POST("/migrate/disabilitas", MigrasiExtension.Migrasidisbilitas)
|
|
migrasi.POST("/migrate/pendidikan", MigrasiExtension.Migrasipendidikan)
|
|
migrasi.POST("/migrate/pekerjaan", MigrasiExtension.Migrasipekerjaan)
|
|
migrasi.POST("/migrate/pernikahan", MigrasiExtension.Migrasipernikahan)
|
|
migrasi.POST("/migrate/agama", MigrasiExtension.Migrasiagama)
|
|
migrasi.POST("/migrate/suku", MigrasiExtension.Migrasisuku)
|
|
migrasi.POST("/migrate/location", MigrasiLocation.Migrasilokasi)
|
|
migrasi.POST("/migrate/icd", MigrasiIcd.Migrasiicd)
|
|
migrasi.POST("/migrate/smf", MigrasiIcd.Migrasismf)
|
|
migrasi.POST("/migrate/dokter", MigarasiDokter.Migratepractitioner)
|
|
}
|
|
|
|
Poliklinik := v1.Group("/poliklinik")
|
|
{
|
|
Poliklinik.GET("/getdata/statuspelayanan/:statuspelayanan", datapoliklinikHandler.GetDataPoliklinik)
|
|
}
|
|
|
|
Alamat := v1.Group("/Alamat")
|
|
{
|
|
Alamat.GET("/getdata", dataAlamatHandler.GetDataAlamat)
|
|
//Alamat.GET("/getprovinsi", MigrasiAddress.GetProvinsi)
|
|
|
|
}
|
|
|
|
Relasi := v1.Group("/relasi")
|
|
{
|
|
Relasi.POST("/insertpatientrelatedperson", patientRelatedHandler.InsertPatientRelated)
|
|
Relasi.GET("/getdatapatientrelated", patientRelatedHandler.GetAllPatientdanRelated)
|
|
}
|
|
|
|
condition := v1.Group("/condition")
|
|
{
|
|
condition.GET("/get", ConditionHandler.GetCondition)
|
|
}
|
|
|
|
account := v1.Group("/account")
|
|
{
|
|
account.GET("/get", AccountHandler.GetAccount)
|
|
}
|
|
|
|
cover := v1.Group("/coverage")
|
|
{
|
|
cover.GET("/get", CoverageHandler.GetCover)
|
|
}
|
|
patient := v1.Group("/patient")
|
|
{
|
|
patient.POST("/insertpatient", patientHandler.InsertPatient)
|
|
patient.GET("/getallpatient", patientHandler.GetAllPatient)
|
|
patient.PUT("/updatepatient", patientHandler.UpdatePatient)
|
|
patient.POST("/deletepatient", patientHandler.DeletePatient)
|
|
patient.GET("/getdata/display/:display/value/:value", patientHandler.GetDataBY)
|
|
patient.GET("id/:id", patientHandler.GetpasienByID)
|
|
//patient.POST("/getdataby", patientHandler.GetDataIdentifier)
|
|
|
|
}
|
|
|
|
Relatedperson := v1.Group("/relatedperson")
|
|
{
|
|
Relatedperson.GET("/getdatarelatedperson", datarelatedpersonHandler.GetDataRelatedPerson)
|
|
Relatedperson.POST("/insertrelatedperson", datarelatedpersonHandler.InsertRelatedPerson)
|
|
Relatedperson.POST("/deleterelatedperson", datarelatedpersonHandler.DeleteRelatedPersonHand)
|
|
}
|
|
|
|
Person := v1.Group("/person")
|
|
{
|
|
Person.GET("/getdataperson", personHandler.GetDataPerson)
|
|
Person.POST("/insertperson", personHandler.InsertPerson)
|
|
//Person.POST("/deleteperson", personHandler.DeletePersonHand)
|
|
}
|
|
|
|
Practitionermongo := v1.Group("/practitioner")
|
|
{
|
|
Practitionermongo.GET("/getdatapractitioner", practitionerHandler.GetDataPractitioner)
|
|
Practitionermongo.GET("/id/:id", practitionerHandler.GetPractitionerbyID)
|
|
Practitionermongo.GET("/getdata/display/:display/value/:value", practitionerHandler.Getdatadokter)
|
|
//Practitionermongo.POST("/insertpractitioner", personHandler.InsertPerson)
|
|
//Practitionermongo.POST("/deletepractitioner", personHandler.DeletePersonHand)
|
|
}
|
|
|
|
Organization := v1.Group("/organization")
|
|
{
|
|
Organization.GET("/getdataorganization", personHandler.GetDataPerson)
|
|
//Organization.POST("/insertorganization", personHandler.Inse rtPerson)
|
|
//Organization.POST("/deleteorganization", personHandler.DeletePersonHand)
|
|
}
|
|
|
|
Location := v1.Group("/location")
|
|
{
|
|
Location.GET("/getdatalocation", LocationHandler.Getlocation)
|
|
Location.GET("/subsistem/:subsistem", LocationHandler.Getlocationbysubs)
|
|
//Location.POST("/insertlocation", personHandler.Inse rtPerson)
|
|
//Location.POST("/deletelocation", personHandler.DeletePersonHand)
|
|
}
|
|
|
|
Encounter := v1.Group("/encounter")
|
|
{
|
|
Encounter.GET("/getdataencounter", encounter.Getencounter)
|
|
Encounter.POST("/insertencounter", encounter.InsertEncounter)
|
|
}
|
|
Appointment := v1.Group("/appointment")
|
|
{
|
|
Appointment.GET("/getdataappointment", AppointmentHandler.Getappointment)
|
|
Appointment.POST("/insertappointment", AppointmentHandler.Insertappointment)
|
|
}
|
|
|
|
Episodeofcare := v1.Group("/episodeofcare")
|
|
{
|
|
Episodeofcare.GET("/getdataepisodeofcare", EpisodeHandler.Getepisode)
|
|
Episodeofcare.POST("/insertepisodeofcare", EpisodeHandler.InsertEpisode)
|
|
}
|
|
|
|
Master := v1.Group("/master")
|
|
{
|
|
Master.GET("/getdataprovinsi", MasterHandler.GetProvinsi)
|
|
Master.GET("/getdatakota", MasterHandler.GetKota)
|
|
Master.GET("/getdatakecamatan", MasterHandler.GetKecamatan)
|
|
Master.GET("/getdatakelurahan", MasterHandler.GetKelurahan)
|
|
|
|
Master.GET("/kelurahan/search", MasterHandler.SearchKelurahan)
|
|
Master.GET("/address/kelurahan/id/:id", MasterHandler.GetHierarchyByKelurahan)
|
|
Master.GET("/hierarchy/provinsi/:id", MasterHandler.GetHierarchyFromProvinsi)
|
|
|
|
Master.GET("/getdatasmf", MasterHandler.GetSMF)
|
|
Master.GET("/getdataicd", MasterHandler.GetICD)
|
|
|
|
}
|
|
Extension := v1.Group("/extension")
|
|
{
|
|
Extension.GET("/getcommunication", MasterHandler.GetCommunication)
|
|
Extension.GET("/getdisability", MasterHandler.Getdisability)
|
|
Extension.GET("/geteducation", MasterHandler.Geteducation)
|
|
Extension.GET("/getjob", MasterHandler.Getjob)
|
|
Extension.GET("/getmartial", MasterHandler.Getmartial)
|
|
Extension.GET("/getreligion", MasterHandler.Getreligion)
|
|
Extension.GET("/gettribe", MasterHandler.Gettribe)
|
|
}
|
|
|
|
return r
|
|
|
|
}
|
|
|
|
func (s *Server) HelloWorldHandler(c *gin.Context) {
|
|
resp := make(map[string]string)
|
|
resp["message"] = "Hello World"
|
|
|
|
c.JSON(http.StatusOK, resp)
|
|
}
|
|
|
|
func (s *Server) healthHandler(c *gin.Context) {
|
|
c.JSON(http.StatusOK, s.db.Health())
|
|
}
|