Compare commits
1
Commits
| Author | SHA256 | Date | |
|---|---|---|---|
|
|
81b7cb08e8 |
@@ -4,10 +4,18 @@ SATUDATA_PASSWORD=stim*RS54
|
||||
SATUDATA_NAME=satu_db
|
||||
SATUDATA_PORT=5000
|
||||
|
||||
SIMRS_HOST=10.10.123.160
|
||||
SIMRS_USERNAME=simrs
|
||||
SIMRS_PASSWORD=simrs.rssa
|
||||
SIMRS_NAME=simrs
|
||||
SIMRS_PORT=5000
|
||||
|
||||
BASEURL_BPJS=https://apijkn.bpjs-kesehatan.go.id/
|
||||
ANTREAN_RS=antreanrs
|
||||
I_CARE_JKN=ihs
|
||||
CONS_ID=5257
|
||||
USER_KEY=4cf1cbef8c008440bbe9ef9ba789e482
|
||||
USER_KEY_ICARE=1cd65acaa349684be6353bea5149e2e2
|
||||
SECRET_KEY=1bV363512D
|
||||
|
||||
CONS_ID_DEV=16041
|
||||
@@ -16,8 +24,8 @@ SECRET_KEY_DEV=8pP3D5431E
|
||||
|
||||
BASEURL_BPJS_DEV=https://apijkn-dev.bpjs-kesehatan.go.id/
|
||||
VCLAIM_RS_DEV=vclaim-rest-dev
|
||||
SURAT_KONTROL_RS=vclaim-rest
|
||||
I_CARE_JKN=ihs
|
||||
VCLAIM_RS=vclaim-rest
|
||||
I_CARE_JKN=wsihs
|
||||
I_CARE_JKN_DEV=ihs_dev
|
||||
|
||||
INSERT_SURAT_KONTROL=/RencanaKontrol/insert
|
||||
@@ -27,8 +35,7 @@ GET_NOMOR_SURAT_KONTROL=/RencanaKontrol/noSuratKontrol/
|
||||
GET_SURAT_KONTROL_SEP=/RencanaKontrol/nosep/
|
||||
GET_NOMOR_RUJUKAN=/Rujukan/
|
||||
GET_NOMOR_RUJUKAN_BATCH=/Rujukan/List/Peserta/
|
||||
GET_REFERENSI_DOKTER=/referensi/dokter/
|
||||
|
||||
GET_FKRTL=/api/rs/validate
|
||||
GET_FKTP=/api/pcare/validate
|
||||
|
||||
|
||||
GET_FKTP=/api/pcare/validate
|
||||
+50
-5
@@ -17,6 +17,7 @@ import (
|
||||
|
||||
var DB *gorm.DB
|
||||
var SatuDataDB *gorm.DB
|
||||
var SimrsDB *gorm.DB
|
||||
var err error
|
||||
|
||||
func ConnectDB() {
|
||||
@@ -34,22 +35,37 @@ func ConnectDB() {
|
||||
} else {
|
||||
log.Println("Successfully connected to the database")
|
||||
}
|
||||
|
||||
hostSimrs := os.Getenv("SIMRS_HOST")
|
||||
userNameSimrs := os.Getenv("SIMRS_USERNAME")
|
||||
passwordSimrs := os.Getenv("SIMRS_PASSWORD")
|
||||
dbNameSimrs := os.Getenv("SIMRS_NAME")
|
||||
portSimrs := os.Getenv("SIMRS_PORT")
|
||||
|
||||
simrs := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Jakarta", hostSimrs, userNameSimrs, passwordSimrs, dbNameSimrs, portSimrs)
|
||||
|
||||
SimrsDB, err = gorm.Open(postgres.Open(simrs), &gorm.Config{})
|
||||
if err != nil {
|
||||
log.Fatal("Failed to connect to Satu Data database: ", err)
|
||||
} else {
|
||||
log.Println("Successfully connected to the database")
|
||||
}
|
||||
}
|
||||
|
||||
func SetHeader(cfg config.ConfigBpjs) *config.Header {
|
||||
func SetHeader(isIcare bool, cfg config.ConfigBpjs) *config.Header {
|
||||
|
||||
timenow := time.Now().UTC()
|
||||
time := time.Date(1970, 1, 1, 0, 0, 0, 0, time.UTC)
|
||||
tstamp := timenow.Unix() - time.Unix()
|
||||
|
||||
// cfg.Cons_id = os.Getenv("CONS_ID_DEV")
|
||||
// cfg.User_key = os.Getenv("USER_KEY_DEV")
|
||||
// cfg.Secret_key = os.Getenv("SECRET_KEY_DEV")
|
||||
|
||||
cfg.Cons_id = os.Getenv("CONS_ID")
|
||||
cfg.User_key = os.Getenv("USER_KEY")
|
||||
cfg.Secret_key = os.Getenv("SECRET_KEY")
|
||||
|
||||
if isIcare {
|
||||
cfg.User_key = os.Getenv("USER_KEY_ICARE")
|
||||
}
|
||||
|
||||
secret := []byte(cfg.Secret_key)
|
||||
message := []byte(cfg.Cons_id + "&" + fmt.Sprint(tstamp))
|
||||
hash := hmac.New(sha256.New, secret)
|
||||
@@ -71,6 +87,35 @@ func SetHeader(cfg config.ConfigBpjs) *config.Header {
|
||||
|
||||
}
|
||||
|
||||
func SetHeaderFKRTL(cfg config.ConfigBpjs) *config.Header {
|
||||
|
||||
timestamp := time.Now().UTC().Unix()
|
||||
|
||||
cfg.Cons_id = os.Getenv("CONS_ID")
|
||||
cfg.User_key = os.Getenv("USER_KEY")
|
||||
cfg.Secret_key = os.Getenv("SECRET_KEY")
|
||||
|
||||
secret := []byte(cfg.Secret_key)
|
||||
message := []byte(cfg.Cons_id + "&" + fmt.Sprint(timestamp))
|
||||
hash := hmac.New(sha256.New, secret)
|
||||
hash.Write(message)
|
||||
// to lowercase hexits
|
||||
hex.EncodeToString(hash.Sum(nil))
|
||||
// to base64
|
||||
X_signature := base64.StdEncoding.EncodeToString(hash.Sum(nil))
|
||||
|
||||
header := &config.Header{
|
||||
ConsID: cfg.Cons_id,
|
||||
SecretKey: cfg.Secret_key,
|
||||
UserKey: cfg.User_key,
|
||||
TimeStamp: fmt.Sprint(timestamp),
|
||||
XSignature: X_signature,
|
||||
}
|
||||
|
||||
return header
|
||||
|
||||
}
|
||||
|
||||
func SetHeaderDev(cfg config.ConfigBpjs) *config.Header {
|
||||
|
||||
timenow := time.Now().UTC()
|
||||
|
||||
@@ -55,7 +55,8 @@ func GetNamaLengkapDokter(idDokter []string) ([]dokter.NamaLengkap, error) {
|
||||
from data_pegawai_daftar_gelar_belakang dpdgb
|
||||
left join daftar_gelar_belakang dgb on dpdgb.daftar_gelar_belakang_id = dgb.id where dpdgb.data_pegawai_id = dp.id
|
||||
) AS gelarbelakang,
|
||||
dp."HFIS_code"
|
||||
dp."HFIS_code",
|
||||
dp."Code_dpjp" as "DPJP_code"
|
||||
from "data_pegawai" dp
|
||||
left join data_ktp dk on dp."KTP" = dk.id
|
||||
WHERE dp.id in ?`, idDokter).Find(&namaDokter)
|
||||
@@ -70,3 +71,19 @@ func GetNamaLengkapDokter(idDokter []string) ([]dokter.NamaLengkap, error) {
|
||||
|
||||
return namaDokter, nil
|
||||
}
|
||||
|
||||
func GetHFISCode(dpjp string) (*dokter.DaftarDokter, error) {
|
||||
var dataDokter *dokter.DaftarDokter
|
||||
err := config.SatuDataDB.Debug().Raw(`select dp."id", dp."HFIS_code" from data_pegawai dp where dp."Code_dpjp" = ?`, dpjp).First(&dataDokter).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data tidak ditemukan")
|
||||
log.Println("error :", errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Println("error :", err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("Daftar Dokter :", dataDokter)
|
||||
return dataDokter, nil
|
||||
}
|
||||
@@ -124,3 +124,33 @@ func InsertJadwalDokterTemp(reqInsert *jadwal_dokter.JadwalDokterSatuData) error
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetAllJadwalDokter() ([]*jadwal_dokter.ListDaftarJadwalDokter, error) {
|
||||
var listDokter []*jadwal_dokter.ListDaftarJadwalDokter
|
||||
query := `select djd."Hari" as valuehari, djd."Nama_hari" as hari, djd."Waktu" as waktu, ds."Spesialis" as spesialis, dss."Subspesialis" as subspesialis,
|
||||
array(
|
||||
select dgd."Gelar_depan"
|
||||
from data_pegawai_daftar_gelar_depan dpdgd
|
||||
left join daftar_gelar_depan dgd on dpdgd.daftar_gelar_depan_id = dgd.id
|
||||
where dpdgd.data_pegawai_id = dp.id
|
||||
) AS gelardepan,
|
||||
dkt. "Nama_lengkap" as namalengkap,
|
||||
array(
|
||||
select dgb."Gelar_belakang"
|
||||
from data_pegawai_daftar_gelar_belakang dpdgb
|
||||
left join daftar_gelar_belakang dgb on dpdgb.daftar_gelar_belakang_id = dgb.id
|
||||
where dpdgb.data_pegawai_id = dp.id
|
||||
) AS gelarbelakang
|
||||
from daftar_jadwal_dokter djd
|
||||
join daftar_spesialis ds on ds.id = djd."Spesialis"
|
||||
join daftar_subspesialis dss on dss.id = djd."Sub_spesialis"
|
||||
join data_pegawai dp on dp.id = djd."Dokter"
|
||||
join data_ktp dkt on dkt.id = dp."KTP"
|
||||
order by djd."Hari" asc, ds."Spesialis" asc, dss."Subspesialis" asc, djd."Waktu" asc`
|
||||
err := config.SatuDataDB.Debug().Raw(query).Scan(&listDokter).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed Get data : %v", err)
|
||||
return nil, err
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
@@ -31,4 +31,16 @@ func InsertLogAPI(reqInsert *logapi.DataLogAPI) error {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func GetLogAPI(req logapi.ReqGetDataLogAPI) ([]*logapi.DataLogAPI, error) {
|
||||
var dataLog []*logapi.DataLogAPI
|
||||
query := `select * from data_log_api dla where dla."Parameter" = 'BPJS-VClaim-RencanaKontrol' and dla."Request"->>'tipe_rawat' = ? and date(dla."date_created") between ? and ?`
|
||||
err := config.SatuDataDB.Debug().Raw(query, req.TipeRawat, req.TanggalAwal, req.TanggalAkhir).Scan(&dataLog).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("Berhasil Get Data")
|
||||
return dataLog, nil
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package logapi
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
logapi "bridging-rssa/models/log_api"
|
||||
"log"
|
||||
)
|
||||
|
||||
func InsertLogICare(reqInsert *logapi.InsertLogICare) error {
|
||||
query := `insert into "data_log_icare_bpjs" ("id", "date_created", "Ruangan", "Dokter", "Kunjungan_pasien", "Waktu_transaksi")
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
errInsert := config.SatuDataDB.Debug().Exec(query,
|
||||
reqInsert.ID,
|
||||
reqInsert.DateCreated,
|
||||
reqInsert.Ruangan,
|
||||
reqInsert.Dokter,
|
||||
reqInsert.Kunjungan_pasien,
|
||||
reqInsert.WaktuTransaksi).Error
|
||||
if errInsert != nil {
|
||||
log.Println(errInsert)
|
||||
return errInsert
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package lokasiruang
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"errors"
|
||||
"log"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetDaftarLokasiRuang(idSimgos string) (int, error) {
|
||||
var idRuangan int
|
||||
query := `select dlr."id" from "daftar_lokasi_ruang" dlr where dlr."Id_location_simgos" = ?`
|
||||
err := config.SatuDataDB.Debug().Raw(query, idSimgos).First(&idRuangan).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
log.Println(err)
|
||||
return 128, nil
|
||||
}
|
||||
log.Println(err)
|
||||
return 0, err
|
||||
}
|
||||
return idRuangan, nil
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package pasien
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/pasien"
|
||||
"errors"
|
||||
"log"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetDataKunjunganPasien(idxdaftar string) (*pasien.KunjunganPasien, error) {
|
||||
var kunjunganPasien *pasien.KunjunganPasien
|
||||
query := `select dks."id", dks."Ruangan" from "data_kunjungan_pasien" dks where dks."IDXDAFTAR" = ?`
|
||||
err := config.SatuDataDB.Debug().Raw(query, idxdaftar).First(&kunjunganPasien).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data Tidak Ditemukan")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("Data Kunjungan Pasien : ", kunjunganPasien)
|
||||
return kunjunganPasien, nil
|
||||
}
|
||||
|
||||
func GetListKunjunganPasien(req *pasien.RequestListKunjunganPasien) ([]*pasien.ListKunjunganPasien, error) {
|
||||
var dataKunjunganPasien []*pasien.ListKunjunganPasien
|
||||
query := `select
|
||||
dkp. "NOMR" as nomr, dkp. "Nama_lengkap" as namalengkap, dkp. "Tanggal_lahir" as tanggallahir,
|
||||
dkp. "Jenis_kelamin" as jeniskelamin, dkp. "Tanggal_masuk" as tanggalmasukkunjungan,
|
||||
dkp."Jam_masuk" as jammasukkunjungan, dkp. "Diagnosis_awal_masuk" as dxawalmasuk,
|
||||
dkp. "Display_diagnosis_awal_masuk" as displaydxawalmasuk, dlr. "Nama" as namaruang,
|
||||
array(
|
||||
select dgd. "Gelar_depan"
|
||||
from data_pegawai_daftar_gelar_depan dpdgd
|
||||
left join daftar_gelar_depan dgd on dpdgd.daftar_gelar_depan_id = dgd.id
|
||||
where dpdgd.data_pegawai_id = dp.id
|
||||
) AS gelardepan,
|
||||
dkt. "Nama_lengkap" as namalengkapdokter,
|
||||
array(
|
||||
select dgb. "Gelar_belakang"
|
||||
from data_pegawai_daftar_gelar_belakang dpdgb
|
||||
left join daftar_gelar_belakang dgb on dpdgb.daftar_gelar_belakang_id = dgb.id
|
||||
where dpdgb.data_pegawai_id = dp.id
|
||||
) AS gelarbelakang
|
||||
from data_kunjungan_pasien dkp
|
||||
join daftar_lokasi_ruang dlr on dlr.id = dkp. "Ruangan"
|
||||
join data_pegawai dp on dp.id = dkp. "DPJP"
|
||||
join data_ktp dkt on dkt.id = dp. "KTP"
|
||||
where dkp."Tanggal_masuk" between ? and ?
|
||||
order by dkp. "Tanggal_masuk" desc, dkp. "Jam_masuk" desc`
|
||||
q := config.SatuDataDB.Debug().Raw(query, req.TanggalAwal, req.TanggalAkhir).Scan(&dataKunjunganPasien)
|
||||
if q.Error != nil {
|
||||
log.Println(q.Error)
|
||||
return nil, q.Error
|
||||
}
|
||||
return dataKunjunganPasien, nil
|
||||
}
|
||||
@@ -79,7 +79,7 @@ func InsertDataSuratKontrol(reqInsert *suratkontrol.DataSuratKontrol) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetDataSuratKontrol(offset, limit string) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Debug().Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
@@ -115,7 +115,7 @@ func GetDataSuratKontrol(offset, limit string) ([]*suratkontrol.GetDataSuratKont
|
||||
left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
where dsk."Status_surat_kontrol" = '1' offset ? limit ?`, offset, limit).Scan(&dataSurKon).Error
|
||||
where dsk."Status_surat_kontrol" = '1'`).Scan(&dataSurKon).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("DPJP anda belum ada subspesialis")
|
||||
@@ -155,7 +155,8 @@ func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontro
|
||||
dkp2."NOMR" as "No_rm",
|
||||
dkp2."Diagnosis_primer_utama" as "Kode_diagnosa",
|
||||
dkp2."Display_diagnosis_primer_utama" as "Nama_diagnosa",
|
||||
dsk."Tipe_surat_kontrol" as "Tipe_SurKon"
|
||||
dsk."Tipe_surat_kontrol" as "Tipe_SurKon",
|
||||
dsk."User_created_surat_kontrol" as "User"
|
||||
from data_surat_kontrol dsk
|
||||
left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
left join daftar_lokasi_ruang dlr on dsk."Ruangan_surat_kontrol" = dlr."id"
|
||||
@@ -207,7 +208,62 @@ func GetAllDataSuratKontrol(idSurKon string) (*suratkontrol.DataSuratKontrol, er
|
||||
|
||||
func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []interface{}) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ? offset ? limit ?`
|
||||
queryDate := ` and date(dsk."Tanggal_rencana_kontrol") between ? and ? offset ? limit ?`
|
||||
if req.IsTanggalEntri {
|
||||
queryDate = ` and date(dsk."Tanggal_cetak_surat_kontrol") between ? and ? offset ? limit ?`
|
||||
}
|
||||
query += queryDate
|
||||
querySelect := `select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
from data_kunjungan_pasien dkp
|
||||
left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id where dkp."id" = dsk."Kunjungan_pasien" LIMIT 1) as "Poli_asal",
|
||||
dlr."Nama" as "Poli_tuju",
|
||||
dkp2."Nomor_sep", dkp2."Nama_lengkap", dkp2."IDXDAFTAR",
|
||||
array(
|
||||
select dgd. "Gelar_depan"
|
||||
from data_pegawai_daftar_gelar_depan dpdgd
|
||||
left join daftar_gelar_depan dgd on dpdgd.daftar_gelar_depan_id = dgd.id where dpdgd.data_pegawai_id = dp.id
|
||||
) AS gelardepan ,
|
||||
dk."Nama_lengkap" as "Nama_lengkap_dokter",
|
||||
array(
|
||||
select dgb. "Gelar_belakang"
|
||||
from data_pegawai_daftar_gelar_belakang dpdgb
|
||||
left join daftar_gelar_belakang dgb on dpdgb.daftar_gelar_belakang_id = dgb.id where dpdgb.data_pegawai_id = dp.id
|
||||
) AS gelarbelakang,
|
||||
ds."Subspesialis",
|
||||
ds."Kode" as "Kode_poli",
|
||||
ds."id" as "ID_poli",
|
||||
dp."HFIS_code" as "Kode_dokter",
|
||||
dp."id" as "id_dokter",
|
||||
dp."Code_dpjp" as "Kode_dpjp",
|
||||
dkp2."NOMR" as "No_rm",
|
||||
dkp2."Diagnosis_primer_utama" as "Kode_diagnosa",
|
||||
dkp2."Display_diagnosis_primer_utama" as "Nama_diagnosa",
|
||||
dsk."Tipe_surat_kontrol" as "Tipe_SurKon"
|
||||
from data_surat_kontrol dsk
|
||||
left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
left join daftar_lokasi_ruang dlr on dsk."Ruangan_surat_kontrol" = dlr."id"
|
||||
left join data_pegawai dp on dsk."DPJP_surat_kontrol" = dp."id"
|
||||
left join data_ktp dk on dp."KTP" = dk. "id"
|
||||
left join daftar_subspesialis ds on dp."Subspesialis" = ds."id"
|
||||
where dsk."Status_surat_kontrol" = '1' and dsk."Tipe_surat_kontrol" = ? `
|
||||
querySelect += query
|
||||
err := config.SatuDataDB.Debug().Raw(querySelect, args...).Find(&dataSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func SearchDataSurKonNew(req suratkontrol.RequestCariPasien, query string, args []interface{}) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
queryDate := ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
if req.IsTanggalEntri {
|
||||
queryDate = ` and date(dsk."Tanggal_cetak_surat_kontrol") between ? and ?`
|
||||
}
|
||||
query += queryDate
|
||||
querySelect := `select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
@@ -254,7 +310,11 @@ func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []i
|
||||
|
||||
func CountDataSurKon(req suratkontrol.RequestCariPasien, query string, args []interface{}) (int, error) {
|
||||
var jumlahData int
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
queryDate := ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
if req.IsTanggalEntri {
|
||||
queryDate = ` and date(dsk."Tanggal_cetak_surat_kontrol") between ? and ?`
|
||||
}
|
||||
query += queryDate
|
||||
querySelect := `select count(dsk.*)
|
||||
from data_surat_kontrol dsk
|
||||
left join data_kunjungan_pasien dkp2 on dkp2."id" = dsk."Kunjungan_pasien"
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package mikrobiologi
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/simrs/mikrobiologi"
|
||||
"errors"
|
||||
"log"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetDataMikroBiologi(req *mikrobiologi.RequestPasienMikrobiologi) ([]*mikrobiologi.DataPasienMikrobiologi, error) {
|
||||
var dataPasien []*mikrobiologi.DataPasienMikrobiologi
|
||||
query := `select tom."nomr" as nomr, tomm."nonota" as nonota, tom."idxdaftar" as idxdaftar, tom."tglorder" as tglorder, tom."nolab" as nolab, tom."rajal" as statusrajal, tom."aps" as statusaps,
|
||||
mp."nama" as nama, mp."noktp" as noktp, mp."noktp_baru" as noktpbaru, mp."tempat" as tmptlahir, mp."tgllahir" as tgllahir, mp."jeniskelamin" as jeniskelamin, mp."alamat" as alamat,
|
||||
mpa."nama" as namaaps, mpa."noktp" as noktpaps, mpa."tempat" as tmptlahiraps, mpa."tgllahir" as tgllahiraps, mpa."jeniskelamin" as jeniskelaminaps, mpa."alamat" as alamataps,
|
||||
mr."nama" as namaruang, mr."kelas" as kelasruang,
|
||||
trj."kodetarif" as kodetarifrajal,
|
||||
trp."kodetarif" as kodetarifranap
|
||||
from t_orderlabmikro tom
|
||||
left join m_pasien mp on mp."nomr" = tom."nomr"
|
||||
left join m_pasien_aps mpa on mpa."nomr" = tom."nomr"
|
||||
left join m_ruang mr on mr."no" = tom."kdpoli"
|
||||
left join t_orderlabmikro_main tomm on tomm."nolab" = tom."nolab"
|
||||
left join t_billrajal trj on trj."nonota" = CAST(tomm."nonota" AS int8)
|
||||
left join t_billranap trp on trp."nonota" = CAST(tomm."nonota" AS int8)
|
||||
where tom."nomr" = ?
|
||||
and tom."idxdaftar" = ?
|
||||
group by (tom."nomr",tomm."nonota",tom."idxdaftar",tom."tglorder",tom."nolab",tom."rajal",tom."aps",mp."nama",mp."noktp",mp."noktp_baru",mp."tempat",mp."tgllahir",mp."jeniskelamin",mp."alamat",mpa."nama",mpa."noktp",
|
||||
mpa."tempat",mpa."tgllahir",mpa."jeniskelamin",mpa."alamat",mr."nama",mr."kelas",trj."kodetarif",trp."kodetarif")
|
||||
`
|
||||
errQuery := config.SimrsDB.Debug().Raw(query, req.NOMR, req.IDXDaftar).Scan(&dataPasien).Error
|
||||
if errQuery != nil {
|
||||
if errors.Is(errQuery, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data Tidak Ditemukan")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Println(errQuery)
|
||||
return nil, errQuery
|
||||
}
|
||||
return dataPasien, nil
|
||||
}
|
||||
@@ -1,25 +1,35 @@
|
||||
package icare
|
||||
|
||||
import (
|
||||
"bridging-rssa/database/satu_data/dokter"
|
||||
log_api "bridging-rssa/database/satu_data/log_api"
|
||||
"bridging-rssa/database/satu_data/pasien"
|
||||
"bridging-rssa/models/config"
|
||||
logapi "bridging-rssa/models/log_api"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
cfg "bridging-rssa/config"
|
||||
ic "bridging-rssa/models/bpjs/i_care"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func GetFKRTL(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
||||
endpoint := os.Getenv("I_CARE_JKN_DEV")
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("I_CARE_JKN")
|
||||
param := os.Getenv("GET_FKRTL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
log.Println("URL :", url)
|
||||
var req *ic.RequestICare
|
||||
var req *ic.ReqICare
|
||||
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
@@ -31,11 +41,26 @@ func GetFKRTL(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("REQUEST: ", req)
|
||||
reqICare := &ic.RequestICare{
|
||||
Param: req.Param,
|
||||
KodeDokter: req.KodeDokter,
|
||||
}
|
||||
|
||||
reqJson, errMarshal := json.Marshal(reqICare)
|
||||
if errMarshal != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: errMarshal.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("REQUEST: ", string(reqJson))
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeaderDev(conf)
|
||||
header := cfg.SetHeader(true, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -46,7 +71,15 @@ func GetFKRTL(c *gin.Context) {
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
|
||||
res, err := ResponseGetFKRTL(url, header, headers, req)
|
||||
var headerStringBuilder strings.Builder
|
||||
for key, value := range headers {
|
||||
headerStringBuilder.WriteString(fmt.Sprintf("%s: %s; ", key, value))
|
||||
}
|
||||
headerString := strings.TrimSuffix(headerStringBuilder.String(), "; ")
|
||||
|
||||
dpjp := strconv.Itoa(req.KodeDokter)
|
||||
|
||||
dataDokter, err := dokter.GetHFISCode(dpjp)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
@@ -56,6 +89,129 @@ func GetFKRTL(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
reqICare.KodeDokter, err = strconv.Atoi(dataDokter.HfisCode)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
kunjunganPasien, err := pasien.GetDataKunjunganPasien(req.IDXDaftar)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
uuid := uuid.New().String()
|
||||
logTimeStart := time.Now().Format("2006-01-02 15:04:05")
|
||||
res, err := ResponseGetFKRTL(url, header, headers, reqICare)
|
||||
if err != nil {
|
||||
responJson, errMarshal2 := json.Marshal(res)
|
||||
if errMarshal2 != nil {
|
||||
log.Println(errMarshal2)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: errMarshal2.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
logTimeEnd := time.Now().Format("2006-01-02 15:04:05")
|
||||
reqInsertLog := &logapi.DataLogAPI{
|
||||
ID: uuid,
|
||||
DateCreated: logTimeEnd,
|
||||
UserAgent: req.User,
|
||||
IP: c.ClientIP(),
|
||||
Parameter: "BPJS-ICare-FKRTL",
|
||||
Header: headerString,
|
||||
Method: "POST",
|
||||
Url: url,
|
||||
Request: reqJson,
|
||||
Respon: responJson,
|
||||
ResponCode: strconv.Itoa(res.MetaData.Code),
|
||||
ResponTimeStart: logTimeStart,
|
||||
ResponTimeEnd: logTimeEnd,
|
||||
Comment: res.MetaData.Message,
|
||||
}
|
||||
|
||||
errInsert := log_api.InsertLogAPI(reqInsertLog)
|
||||
if errInsert != nil {
|
||||
log.Println(errInsert)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: errInsert.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
responJson, err := json.Marshal(res)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
logTimeEnd := time.Now().Format("2006-01-02 15:04:05")
|
||||
reqInsertLog := &logapi.DataLogAPI{
|
||||
ID: uuid,
|
||||
DateCreated: logTimeEnd,
|
||||
UserAgent: req.User,
|
||||
IP: c.ClientIP(),
|
||||
Parameter: "BPJS-ICare-FKRTL",
|
||||
Header: headerString,
|
||||
Method: "POST",
|
||||
Url: url,
|
||||
Request: reqJson,
|
||||
Respon: responJson,
|
||||
ResponCode: strconv.Itoa(res.MetaData.Code),
|
||||
ResponTimeStart: logTimeStart,
|
||||
ResponTimeEnd: logTimeEnd,
|
||||
Comment: res.MetaData.Message,
|
||||
}
|
||||
|
||||
err = log_api.InsertLogAPI(reqInsertLog)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
reqInsert := &logapi.InsertLogICare{
|
||||
ID: uuid,
|
||||
DateCreated: logTimeEnd,
|
||||
Ruangan: kunjunganPasien.Ruangan,
|
||||
Dokter: dataDokter.ID,
|
||||
Kunjungan_pasien: kunjunganPasien.ID,
|
||||
WaktuTransaksi: logTimeEnd,
|
||||
}
|
||||
|
||||
errInsert := log_api.InsertLogICare(reqInsert)
|
||||
if errInsert != nil {
|
||||
log.Println(errInsert)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: errInsert.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ func GetJadwalDokter(c *gin.Context) {
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(conf)
|
||||
header := cfg.SetHeader(false, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -328,8 +328,35 @@ func GetDokterBySubspesialis(c *gin.Context) {
|
||||
Subspesialis: idSubspesialis,
|
||||
HFISCode: v.HFISCode,
|
||||
KodePoli: listSubspesialis.Kode,
|
||||
DPJPCode: v.DPJPCode,
|
||||
})
|
||||
}
|
||||
log.Println("Response :", resDokter)
|
||||
c.JSON(http.StatusOK, resDokter)
|
||||
}
|
||||
|
||||
func GetDetailJadwalDokter(c *gin.Context) {
|
||||
dataDokter, err := dokter.GetAllJadwalDokter()
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err})
|
||||
return
|
||||
}
|
||||
var res []*jadwal_dokter.ResponseDetailJadwalDokter
|
||||
for _, v := range dataDokter {
|
||||
gelarDepan := utils.ReplaceGelar(v.GelarDepan)
|
||||
gelarBelakang := utils.ReplaceGelar(v.GelarBelakang)
|
||||
namaLengkap := gelarDepan + " " + v.NamaLengkap + " " + gelarBelakang
|
||||
namaLengkap = strings.TrimPrefix(namaLengkap, " ")
|
||||
namaLengkap = strings.TrimSuffix(namaLengkap, " ")
|
||||
res = append(res, &jadwal_dokter.ResponseDetailJadwalDokter{
|
||||
ValueHari: v.ValueHari,
|
||||
NamaHari: v.NamaHari,
|
||||
Waktu: v.Waktu,
|
||||
Spesialis: v.Spesialis,
|
||||
Subspesialis: v.Subspesialis,
|
||||
NamaLengkap: namaLengkap,
|
||||
})
|
||||
}
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package suratkontrol
|
||||
import (
|
||||
cfg "bridging-rssa/config"
|
||||
log_api "bridging-rssa/database/satu_data/log_api"
|
||||
lokasiruang "bridging-rssa/database/satu_data/lokasi_ruang"
|
||||
suratkontrol "bridging-rssa/database/satu_data/surat_kontrol"
|
||||
"bridging-rssa/docs/utils"
|
||||
sk "bridging-rssa/models/bpjs/surat_kontrol"
|
||||
@@ -33,9 +34,11 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -43,9 +46,11 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
reqJson, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -54,7 +59,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(conf)
|
||||
header := cfg.SetHeader(false, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -74,21 +79,42 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
var idRuangan int
|
||||
if kunjunganPasien.Ruangan != 0 {
|
||||
idRuangan = kunjunganPasien.Ruangan
|
||||
} else {
|
||||
idRuangan, err = lokasiruang.GetDaftarLokasiRuang(req.Ruangan)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
uuid := uuid.New().String()
|
||||
if req.TipeSurKon != "1" {
|
||||
dataSurkon, err := suratkontrol.GetNomorSurKon(kunjunganPasien.ID)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -98,9 +124,11 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
noUrut, err = utils.GetNoUrut(dataSurkon)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -114,7 +142,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
TglRencanaKontrol: req.TglRencanaKontrol,
|
||||
NomorSurKon: noSurKon,
|
||||
KunjunganPasien: kunjunganPasien.ID,
|
||||
RuanganSurKon: kunjunganPasien.Ruangan,
|
||||
RuanganSurKon: idRuangan,
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
UserCreatedSurKon: req.User,
|
||||
@@ -123,9 +151,11 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -133,15 +163,19 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
err = suratkontrol.UpdateKunjunganPasien(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "200",
|
||||
Message: "Berhasil Insert Surat Kontrol",
|
||||
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "200",
|
||||
Message: "Berhasil Insert Surat Kontrol",
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -161,9 +195,11 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
responJson, err := json.Marshal(res)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -173,7 +209,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
DateCreated: logTimeEnd,
|
||||
UserAgent: req.User,
|
||||
IP: c.ClientIP(),
|
||||
Parameter: "",
|
||||
Parameter: "BPJS-VClaim-RencanaKontrol",
|
||||
Header: headerString,
|
||||
Method: "POST",
|
||||
Url: url,
|
||||
@@ -188,23 +224,29 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
err = log_api.InsertLogAPI(reqInsertLog)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, res.MetaData)
|
||||
c.JSON(http.StatusOK, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: res.MetaData,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
responJson, err := json.Marshal(res)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -216,7 +258,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
TglRencanaKontrol: res.Response.TglRencanaKontrol,
|
||||
NomorSurKon: res.Response.NoSuratKontrol,
|
||||
KunjunganPasien: kunjunganPasien.ID,
|
||||
RuanganSurKon: kunjunganPasien.Ruangan,
|
||||
RuanganSurKon: idRuangan,
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
UserCreatedSurKon: req.User,
|
||||
@@ -226,9 +268,11 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -242,9 +286,11 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
err = suratkontrol.UpdateKunjunganPasien(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -254,7 +300,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
DateCreated: logTimeEnd,
|
||||
UserAgent: req.User,
|
||||
IP: c.ClientIP(),
|
||||
Parameter: "",
|
||||
Parameter: "BPJS-VClaim-RencanaKontrol",
|
||||
Header: headerString,
|
||||
Method: "POST",
|
||||
Url: url,
|
||||
@@ -269,9 +315,11 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
err = log_api.InsertLogAPI(reqInsertLog)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -292,13 +340,12 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
}
|
||||
|
||||
log.Println("Response: ", response)
|
||||
|
||||
c.JSON(http.StatusOK, response)
|
||||
}
|
||||
|
||||
func UpdateSuratKontrol(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS")
|
||||
endpoint := os.Getenv("VCLAIM_RS")
|
||||
param := os.Getenv("UPDATE_SURAT_KONTROL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
@@ -307,8 +354,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -317,8 +364,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
reqJson, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -331,8 +378,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -343,8 +390,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
dataSurkon, err := suratkontrol.GetNomorSurKon(kunjunganPasien.ID)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -355,8 +402,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
noUrut, err = utils.GetNoUrut(dataSurkon)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -385,8 +432,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
err = suratkontrol.UpdateDataSuratKontrol(reqUpdate)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -394,8 +441,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -411,7 +458,7 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(conf)
|
||||
header := cfg.SetHeader(false, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -445,8 +492,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
responJson, err := json.Marshal(res)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -477,21 +524,21 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
err = log_api.InsertLogAPI(reqInsertLog)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, res.MetaData)
|
||||
c.JSON(http.StatusOK, res.MetaData)
|
||||
return
|
||||
}
|
||||
responJson, err := json.Marshal(res)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -499,16 +546,17 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
logTimeEnd := time.Now().Format("2006-01-02 15:04:05")
|
||||
|
||||
reqUpdate := &sk.DataSuratKontrol{
|
||||
DateUpdated: timeNow,
|
||||
ID: req.IDSurKon,
|
||||
StatusSurKon: 2,
|
||||
DateUpdated: timeNow,
|
||||
ID: req.IDSurKon,
|
||||
StatusSurKon: 2,
|
||||
UserUpdatedSurKon: req.User,
|
||||
}
|
||||
|
||||
err = suratkontrol.UpdateDataSuratKontrol(reqUpdate)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -535,12 +583,13 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
reqInsertLog := &logapi.DataLogAPI{
|
||||
ID: uuid,
|
||||
DateCreated: logTimeEnd,
|
||||
@@ -561,8 +610,8 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
err = log_api.InsertLogAPI(reqInsertLog)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -573,7 +622,7 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
|
||||
func DeleteSuratKontrol(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS")
|
||||
endpoint := os.Getenv("VCLAIM_RS")
|
||||
param := os.Getenv("DELETE_SURAT_KONTROL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
@@ -582,8 +631,8 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -604,8 +653,8 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
err = suratkontrol.UpdateDataSuratKontrol(reqUpdate)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -620,7 +669,7 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(conf)
|
||||
header := cfg.SetHeader(false, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -643,7 +692,7 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
res, err := ResponseDeleteSuratKontrol(url, header, headers, request)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
c.JSON(http.StatusOK, err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -657,8 +706,8 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
err = suratkontrol.UpdateDataSuratKontrol(reqUpdate)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -668,14 +717,14 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
|
||||
func GetNomorSuratKontrol(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS")
|
||||
endpoint := os.Getenv("VCLAIM_RS")
|
||||
param := os.Getenv("GET_NOMOR_SURAT_KONTROL")
|
||||
noSurat := c.Param("noSuratKontrol")
|
||||
url := baseUrl + endpoint + param + noSurat
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(conf)
|
||||
header := cfg.SetHeader(false, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -689,7 +738,7 @@ func GetNomorSuratKontrol(c *gin.Context) {
|
||||
res, err := ResponseGetNomorSuratKontrol(url, header, headers)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
c.JSON(http.StatusOK, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
@@ -698,14 +747,14 @@ func GetNomorSuratKontrol(c *gin.Context) {
|
||||
|
||||
func GetSuratKontrolBySEP(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS")
|
||||
endpoint := os.Getenv("VCLAIM_RS")
|
||||
param := os.Getenv("GET_SURAT_KONTROL_SEP")
|
||||
noSEP := c.Param("noSEP")
|
||||
url := baseUrl + endpoint + param + noSEP
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(conf)
|
||||
header := cfg.SetHeader(false, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -719,7 +768,7 @@ func GetSuratKontrolBySEP(c *gin.Context) {
|
||||
res, err := ResponseGetSuratKontrolBySEP(url, header, headers)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
c.JSON(http.StatusOK, err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -727,13 +776,11 @@ func GetSuratKontrolBySEP(c *gin.Context) {
|
||||
}
|
||||
|
||||
func GetDataSurKon(c *gin.Context) {
|
||||
offset := c.Param("offset")
|
||||
limit := c.Param("limit")
|
||||
data, err := suratkontrol.GetDataSuratKontrol(offset, limit)
|
||||
data, err := suratkontrol.GetDataSuratKontrol()
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -780,8 +827,8 @@ func GetDataSurKonByID(c *gin.Context) {
|
||||
data, err := suratkontrol.GetDataSuratKontrolByID(id)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -818,6 +865,7 @@ func GetDataSurKonByID(c *gin.Context) {
|
||||
KodeDiagnosa: data.KodeDiagnosa,
|
||||
NamaDiagnosa: data.NamaDiagnosa,
|
||||
TipeSurKon: data.TipeSurKon,
|
||||
User: data.User,
|
||||
}
|
||||
c.JSON(http.StatusOK, resSurKon)
|
||||
}
|
||||
@@ -827,8 +875,8 @@ func PrintSurKon(c *gin.Context) {
|
||||
data, err := suratkontrol.GetDataSuratKontrolByID(id)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -867,8 +915,8 @@ func CariPasienTPP(c *gin.Context) {
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -883,66 +931,66 @@ func CariPasienTPP(c *gin.Context) {
|
||||
var count int
|
||||
if req.NoRM != "" {
|
||||
query += `and dkp2."NOMR" = ?`
|
||||
argsCount = append(argsCount, req.NoRM, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir)
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.NoRM, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.NoRM, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
args = append(args, req.TipeSurKon, req.NoRM, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
} else if req.NoSEP != "" {
|
||||
query += `and dkp2."Nomor_sep" = ?`
|
||||
argsCount = append(argsCount, req.NoSEP, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir)
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.NoSEP, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.NoSEP, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
args = append(args, req.TipeSurKon, req.NoSEP, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
} else if req.PoliKlinik != "" {
|
||||
query += `and ds."id" = ?`
|
||||
argsCount = append(argsCount, req.PoliKlinik, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir)
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.PoliKlinik, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
args = append(args, req.TipeSurKon, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -952,8 +1000,8 @@ func CariPasienTPP(c *gin.Context) {
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -962,8 +1010,8 @@ func CariPasienTPP(c *gin.Context) {
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
@@ -1009,4 +1057,211 @@ func CariPasienTPP(c *gin.Context) {
|
||||
ListDataSuratKontrol: listData,
|
||||
}
|
||||
c.JSON(http.StatusOK, resSurKon)
|
||||
}
|
||||
}
|
||||
|
||||
func CariPasienTPPNew(c *gin.Context) {
|
||||
var req sk.RequestCariPasien
|
||||
|
||||
err := c.ShouldBindJSON(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("request :", req)
|
||||
|
||||
query := ``
|
||||
var args []interface{}
|
||||
var argsCount []interface{}
|
||||
var data []*sk.GetDataSuratKontrol
|
||||
var count int
|
||||
if req.NoRM != "" {
|
||||
query += `and dkp2."NOMR" = ?`
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.NoRM, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.TipeSurKon, req.NoRM, req.TanggalAwal, req.TanggalAkhir)
|
||||
data, err = suratkontrol.SearchDataSurKonNew(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
} else if req.NoSEP != "" {
|
||||
query += `and dkp2."Nomor_sep" = ?`
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.NoSEP, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.TipeSurKon, req.NoSEP, req.TanggalAwal, req.TanggalAkhir)
|
||||
data, err = suratkontrol.SearchDataSurKonNew(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
} else if req.PoliKlinik != "" {
|
||||
query += `and ds."id" = ?`
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.TipeSurKon, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir)
|
||||
data, err = suratkontrol.SearchDataSurKonNew(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
} else {
|
||||
argsCount = append(argsCount, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir)
|
||||
data, err = suratkontrol.SearchDataSurKonNew(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
var listData []*sk.ResponseGetDataSuratKontrol
|
||||
for _, v := range data {
|
||||
gelarDepan := utils.ReplaceGelar(v.GelarDepan)
|
||||
gelarBelakang := utils.ReplaceGelar(v.GelarBelakang)
|
||||
namaLengkap := gelarDepan + " " + v.NamaLengkapDokter + " " + gelarBelakang
|
||||
namaLengkap = strings.TrimPrefix(namaLengkap, " ")
|
||||
namaLengkap = strings.TrimSuffix(namaLengkap, " ")
|
||||
dateCetakSurkon, _ := time.Parse(time.RFC3339, v.TglCetakSurKon)
|
||||
dateCetakSurkonString := dateCetakSurkon.Format("2006-01-02")
|
||||
dateRencanaSurkon, _ := time.Parse(time.RFC3339, v.TglRencanaKontrol)
|
||||
dateRencanaSurkonString := dateRencanaSurkon.Format("2006-01-02")
|
||||
listData = append(listData, &sk.ResponseGetDataSuratKontrol{
|
||||
IDDataSurKon: v.IDDataSurKon,
|
||||
IDXDaftar: v.IDXDaftar,
|
||||
TglCetakSurKon: dateCetakSurkonString,
|
||||
TglRencanaKontrol: dateRencanaSurkonString,
|
||||
NomorSurKon: v.NomorSurKon,
|
||||
PoliAsal: v.PoliAsal,
|
||||
PoliTujuan: v.PoliTujuan,
|
||||
NomorSEP: v.NomorSEP,
|
||||
NamaPasien: v.NamaPasien,
|
||||
NamaDokter: namaLengkap,
|
||||
NomorKartu: "",
|
||||
Subspesialis: v.Subspesialis,
|
||||
KodePoli: v.KodePoli,
|
||||
KodeDokter: v.KodeDokter,
|
||||
IDDokter: v.IDDokter,
|
||||
KodeDPJP: v.KodeDPJP,
|
||||
NoRM: v.NoRM,
|
||||
KodeDiagnosa: v.KodeDiagnosa,
|
||||
NamaDiagnosa: v.NamaDiagnosa,
|
||||
TipeSurKon: v.TipeSurKon,
|
||||
})
|
||||
}
|
||||
|
||||
resSurKon := &sk.ResponseCariDataSuratKontrol{
|
||||
JumlahData: count,
|
||||
ListDataSuratKontrol: listData,
|
||||
}
|
||||
c.JSON(http.StatusOK, resSurKon)
|
||||
}
|
||||
|
||||
func GetDataLogAPI(c *gin.Context) {
|
||||
var req logapi.ReqGetDataLogAPI
|
||||
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
dataLog, err := log_api.GetLogAPI(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusPreconditionFailed, &sk.ResponseInsertSuratKontrol{
|
||||
MetaData: sk.MetadataString{
|
||||
Code: "203",
|
||||
Message: err.Error(),
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
var responDataLog []*logapi.DataLogAPI
|
||||
for _, v := range dataLog {
|
||||
jsonReq, _ := json.Marshal(v.Request)
|
||||
jsonRes, _ := json.Marshal(v.Respon)
|
||||
stringJsonReq := string(jsonReq)
|
||||
stringJsonRes := string(jsonRes)
|
||||
parsedTime, _ := time.Parse(time.RFC3339, v.DateCreated)
|
||||
newTanggal := parsedTime.Format("2006-01-02 15:04:05")
|
||||
responDataLog = append(responDataLog, &logapi.DataLogAPI{
|
||||
ID: v.ID,
|
||||
DateCreated: newTanggal,
|
||||
UserAgent: v.UserAgent,
|
||||
IP: v.IP,
|
||||
Parameter: v.Parameter,
|
||||
Header: v.Header,
|
||||
Method: v.Method,
|
||||
Url: v.Url,
|
||||
Request: v.Request,
|
||||
Respon: v.Respon,
|
||||
ResponCode: v.ResponCode,
|
||||
ResponTimeStart: v.ResponTimeStart,
|
||||
ResponTimeEnd: v.ResponTimeEnd,
|
||||
Comment: v.Comment,
|
||||
RequestString: stringJsonReq,
|
||||
ResponString: stringJsonRes,
|
||||
})
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, responDataLog)
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package kunjunganpasien
|
||||
|
||||
import (
|
||||
pasien "bridging-rssa/database/satu_data/pasien"
|
||||
"bridging-rssa/docs/utils"
|
||||
pasien_model "bridging-rssa/models/pasien"
|
||||
"log"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func ListKunjunganPasien(c *gin.Context) {
|
||||
var req *pasien_model.RequestListKunjunganPasien
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
dataKunjunganPasien, err := pasien.GetListKunjunganPasien(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
var res []*pasien_model.ResponseListKunjunganPasien
|
||||
for _, v := range dataKunjunganPasien {
|
||||
gelarDepan := utils.ReplaceGelar(v.GelarDepan)
|
||||
gelarBelakang := utils.ReplaceGelar(v.GelarBelakang)
|
||||
namaLengkap := gelarDepan + " " + v.NamaLengkapDokter + " " + gelarBelakang
|
||||
namaLengkap = strings.TrimPrefix(namaLengkap, " ")
|
||||
namaLengkap = strings.TrimSuffix(namaLengkap, " ")
|
||||
namaRuang := strings.TrimSpace(v.NamaRuang)
|
||||
parsedTimeLahir, _ := time.Parse(time.RFC3339, v.TanggalLahir)
|
||||
parsedTimeMasuk, _ := time.Parse(time.RFC3339, v.TanggalMasukKunjungan)
|
||||
tanggalLahir := parsedTimeLahir.Format("2006-01-02")
|
||||
tanggalMasuk := parsedTimeMasuk.Format("2006-01-02")
|
||||
res = append(res, &pasien_model.ResponseListKunjunganPasien{
|
||||
NoMR: v.NoMR,
|
||||
NamaPasien: v.NamaPasien,
|
||||
TanggalLahir: tanggalLahir,
|
||||
JenisKelamin: v.JenisKelamin,
|
||||
TanggalMasukKunjungan: tanggalMasuk,
|
||||
JamMasukKunjungan: v.JamMasukKunjungan,
|
||||
KodeDiagnosa: v.KodeDiagnosa,
|
||||
NamaDiagnosa: v.NamaDiagnosa,
|
||||
NamaRuang: namaRuang,
|
||||
NamaLengkapDokter: namaLengkap,
|
||||
})
|
||||
}
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package mikrobiologi
|
||||
|
||||
import (
|
||||
mikrobiologiDB "bridging-rssa/database/simrs/mikrobiologi"
|
||||
"bridging-rssa/models/simrs/mikrobiologi"
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func GetDataPasienMikrobiologi(c *gin.Context) {
|
||||
var req *mikrobiologi.RequestPasienMikrobiologi
|
||||
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": err,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
dataPasien, errData := mikrobiologiDB.GetDataMikroBiologi(req)
|
||||
if errData != nil {
|
||||
log.Println(errData)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errData,
|
||||
})
|
||||
return
|
||||
}
|
||||
var res []interface{}
|
||||
for _, v := range dataPasien {
|
||||
if v.StatusAPS == 1 {
|
||||
res = append(res, &mikrobiologi.ResponseDataPasienRajalAPS{
|
||||
NOMR: v.NOMR,
|
||||
NoNota: v.NoNota,
|
||||
IdxDaftar: v.IDXDaftar,
|
||||
TanggalOrder: v.TanggalOrder,
|
||||
NoLab: v.NoLab,
|
||||
StatusRajal: v.StatusRajal,
|
||||
StatusAPS: v.StatusAPS,
|
||||
NamaAPS: v.NamaAPS,
|
||||
NoKTPAPS: v.NoKTPAPS,
|
||||
TempatLahirAPS: v.TempatLahirAPS,
|
||||
TanggalLahirAPS: v.TanggalLahirAPS,
|
||||
JenisKelaminAPS: v.JenisKelaminAPS,
|
||||
AlamatAPS: v.AlamatAPS,
|
||||
NamaRuang: v.NamaRuang,
|
||||
KelasRuang: v.KelasRuang,
|
||||
KodeTarifRajal: v.KodeTarifRajal,
|
||||
})
|
||||
} else {
|
||||
if v.StatusRajal != 1 {
|
||||
res = append(res, &mikrobiologi.ResponseDataPasienRanap{
|
||||
NOMR: v.NOMR,
|
||||
NoNota: v.NoNota,
|
||||
IDXDaftar: v.IDXDaftar,
|
||||
TanggalOrder: v.TanggalOrder,
|
||||
NoLab: v.NoLab,
|
||||
StatusRajal: v.StatusRajal,
|
||||
Nama: v.Nama,
|
||||
NoKTP: v.NoKTP,
|
||||
NoKTPBaru: v.NoKTPBaru,
|
||||
TempatLahir: v.TempatLahir,
|
||||
TanggalLahir: v.TanggalLahir,
|
||||
JenisKelamin: v.JenisKelamin,
|
||||
Alamat: v.Alamat,
|
||||
NamaRuang: v.NamaRuang,
|
||||
KelasRuang: v.KelasRuang,
|
||||
KodeTarifRanap: v.KodeTarifRanap,
|
||||
})
|
||||
} else {
|
||||
res = append(res, &mikrobiologi.ResponseDataPasienRajal{
|
||||
NOMR: v.NOMR,
|
||||
NoNota: v.NoNota,
|
||||
IDXDaftar: v.IDXDaftar,
|
||||
TanggalOrder: v.TanggalOrder,
|
||||
NoLab: v.NoLab,
|
||||
StatusRajal: v.StatusRajal,
|
||||
Nama: v.Nama,
|
||||
NoKTP: v.NoKTP,
|
||||
NoKTPBaru: v.NoKTPBaru,
|
||||
TempatLahir: v.TempatLahir,
|
||||
TanggalLahir: v.TanggalLahir,
|
||||
JenisKelamin: v.JenisKelamin,
|
||||
Alamat: v.Alamat,
|
||||
NamaRuang: v.NamaRuang,
|
||||
KelasRuang: v.KelasRuang,
|
||||
KodeTarifRajal: v.KodeTarifRajal,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
@@ -7,6 +7,9 @@ import (
|
||||
"bridging-rssa/handlers/bpjs/jadwal_dokter"
|
||||
"bridging-rssa/handlers/bpjs/rujukan"
|
||||
suratkontrol "bridging-rssa/handlers/bpjs/surat_kontrol"
|
||||
kunjunganPasienHandler "bridging-rssa/handlers/kunjungan_pasien"
|
||||
mikrobiologiHandler "bridging-rssa/handlers/mikrobiologi"
|
||||
|
||||
"log"
|
||||
|
||||
_ "bridging-rssa/docs"
|
||||
@@ -49,19 +52,27 @@ func main() {
|
||||
jadwalDokter.GET("/tanggal/:tanggal", jadwal_dokter.GetJadwalSubspesialisByDate)
|
||||
jadwalDokter.GET("/tanggal/:tanggal/spesialis/:spesialis", jadwal_dokter.GetDokterBySpesialis)
|
||||
jadwalDokter.GET("/tanggal/:tanggal/subspesialis/:subspesialis", jadwal_dokter.GetDokterBySubspesialis)
|
||||
jadwalDokter.GET("/detail", jadwal_dokter.GetDetailJadwalDokter)
|
||||
}
|
||||
|
||||
suratKontrol := v1.Group("/suratkontrol")
|
||||
{
|
||||
suratKontrol.GET("/offset/:offset/limit/:limit", suratkontrol.GetDataSurKon)
|
||||
suratKontrol.GET("", suratkontrol.GetDataSurKon)
|
||||
suratKontrol.GET("/idxdaftar/:idxdaftar", suratkontrol.GetDataSurKonByID)
|
||||
suratKontrol.GET("/noSuratKontrol/:noSuratKontrol", suratkontrol.GetNomorSuratKontrol)
|
||||
suratKontrol.GET("/noSEP/:noSEP", suratkontrol.GetSuratKontrolBySEP)
|
||||
suratKontrol.GET("/printSurKon/:idxdaftar", suratkontrol.PrintSurKon)
|
||||
suratKontrol.POST("/cari", suratkontrol.CariPasienTPP)
|
||||
suratKontrol.POST("/carinew", suratkontrol.CariPasienTPPNew)
|
||||
suratKontrol.POST("/insert", suratkontrol.InsertSuratKontrol)
|
||||
suratKontrol.PUT("/update", suratkontrol.UpdateSuratKontrol)
|
||||
suratKontrol.POST("/delete", suratkontrol.DeleteSuratKontrol)
|
||||
suratKontrol.POST("/datalog", suratkontrol.GetDataLogAPI)
|
||||
}
|
||||
|
||||
kunjunganPasien := v1.Group("/kunjunganpasien")
|
||||
{
|
||||
kunjunganPasien.POST("/listkunjunganpasien", kunjunganPasienHandler.ListKunjunganPasien)
|
||||
}
|
||||
|
||||
suratRujukan := v1.Group("/rujukan")
|
||||
@@ -76,6 +87,10 @@ func main() {
|
||||
iCare.POST("/pcare/validate", icare.GetFKTP)
|
||||
}
|
||||
|
||||
mikrobiologi := v1.Group("/mikrobiologi")
|
||||
{
|
||||
mikrobiologi.POST("/datapasien", mikrobiologiHandler.GetDataPasienMikrobiologi)
|
||||
}
|
||||
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.POST("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.PUT("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
@@ -87,8 +102,8 @@ func main() {
|
||||
AllowCredentials: true,
|
||||
}))
|
||||
|
||||
log.Println("JALAN DI PORT : 8083")
|
||||
err = r.Run(":8083")
|
||||
log.Println("JALAN DI PORT : 8082")
|
||||
err = r.Run(":8082")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
package icare
|
||||
|
||||
type ReqICare struct {
|
||||
IDXDaftar string `json:"idxdaftar"`
|
||||
Param string `json:"param"`
|
||||
KodeDokter int `json:"kodedokter"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type RequestICare struct {
|
||||
Param string `json:"param"`
|
||||
KodeDokter int `json:"kodedokter"`
|
||||
|
||||
@@ -70,3 +70,23 @@ type ListJadwalDokter struct {
|
||||
KodeHari int `json:"Kode_hari"`
|
||||
Waktu string `json:"Waktu"`
|
||||
}
|
||||
|
||||
type ListDaftarJadwalDokter struct {
|
||||
ValueHari string `gorm:"column:valuehari" json:"valuehari"`
|
||||
NamaHari string `gorm:"column:hari" json:"hari"`
|
||||
Waktu string `gorm:"column:waktu" json:"waktu"`
|
||||
Spesialis string `gorm:"column:spesialis" json:"spesialis"`
|
||||
Subspesialis string `gorm:"column:subspesialis" json:"subspesialis"`
|
||||
GelarDepan string `gorm:"column:gelardepan" json:"gelardepan"`
|
||||
NamaLengkap string `gorm:"column:namalengkap" json:"namalengkap"`
|
||||
GelarBelakang string `gorm:"column:gelarbelakang" json:"gelarbelakang"`
|
||||
}
|
||||
|
||||
type ResponseDetailJadwalDokter struct {
|
||||
ValueHari string `gorm:"column:valuehari" json:"valuehari"`
|
||||
NamaHari string `gorm:"column:hari" json:"hari"`
|
||||
Waktu string `gorm:"column:waktu" json:"waktu"`
|
||||
Spesialis string `gorm:"column:spesialis" json:"spesialis"`
|
||||
Subspesialis string `gorm:"column:subspesialis" json:"subspesialis"`
|
||||
NamaLengkap string `gorm:"column:namalengkap" json:"namalengkap"`
|
||||
}
|
||||
@@ -34,6 +34,7 @@ type RequestInsertRencanaKontrol struct {
|
||||
NamaDiagnosa string `json:"nama_diagnosa"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
TipeRawat string `json:"tipe_rawat"`
|
||||
Ruangan string `json:"ruangan"`
|
||||
}
|
||||
|
||||
type ReqDeleteRencanaKontrol struct {
|
||||
@@ -253,6 +254,7 @@ type GetDataSuratKontrol struct {
|
||||
KodeDiagnosa string `gorm:"column:Kode_diagnosa" json:"Kode_diagnosa"`
|
||||
NamaDiagnosa string `gorm:"column:Nama_diagnosa" json:"Nama_diagnosa"`
|
||||
TipeSurKon string `gorm:"column:Tipe_SurKon" json:"Tipe_SurKon"`
|
||||
User string `gorm:"column:User" json:"User"`
|
||||
}
|
||||
|
||||
type ResponseGetDataSuratKontrol struct {
|
||||
@@ -277,6 +279,7 @@ type ResponseGetDataSuratKontrol struct {
|
||||
KodeDiagnosa string `json:"Kode_diagnosa"`
|
||||
NamaDiagnosa string `json:"Nama_diagnosa"`
|
||||
TipeSurKon string `json:"Tipe_SurKon"`
|
||||
User string `json:"User"`
|
||||
}
|
||||
|
||||
type ResponseCariDataSuratKontrol struct {
|
||||
@@ -285,12 +288,13 @@ type ResponseCariDataSuratKontrol struct {
|
||||
}
|
||||
|
||||
type RequestCariPasien struct {
|
||||
NoRM string `json:"no_rm"`
|
||||
NoSEP string `json:"no_sep"`
|
||||
PoliKlinik string `json:"poliklinik"`
|
||||
TanggalAwal string `json:"tanggal_awal"`
|
||||
TanggalAkhir string `json:"tanggal_akhir"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
Offset string `json:"offset"`
|
||||
Limit string `json:"limit"`
|
||||
NoRM string `json:"no_rm"`
|
||||
NoSEP string `json:"no_sep"`
|
||||
PoliKlinik string `json:"poliklinik"`
|
||||
TanggalAwal string `json:"tanggal_awal"`
|
||||
TanggalAkhir string `json:"tanggal_akhir"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
Offset string `json:"offset"`
|
||||
Limit string `json:"limit"`
|
||||
IsTanggalEntri bool `json:"is_tanggal_entri"`
|
||||
}
|
||||
@@ -16,6 +16,7 @@ type NamaLengkap struct {
|
||||
NamaLengkap string `gorm:"column:Nama_lengkap" json:"Nama_lengkap"`
|
||||
GelarBelakang string `gorm:"column:gelarbelakang" json:"gelarbelakang"`
|
||||
HFISCode string `gorm:"column:HFIS_code" json:"HFIS_code"`
|
||||
DPJPCode string `gorm:"column:DPJP_code" json:"DPJP_code"`
|
||||
}
|
||||
|
||||
type ResponseDokter struct {
|
||||
@@ -31,4 +32,5 @@ type ResponseDokterNew struct {
|
||||
Subspesialis int `json:"subspesialis"`
|
||||
HFISCode string `json:"HFIS_code"`
|
||||
KodePoli string `json:"kode_poli"`
|
||||
DPJPCode string `json:"DPJP_code"`
|
||||
}
|
||||
@@ -17,4 +17,12 @@ type DataLogAPI struct {
|
||||
ResponTimeStart string `gorm:"column:Respontime_start" json:"Respontime_start"`
|
||||
ResponTimeEnd string `gorm:"column:Respontime_end" json:"Respontime_end"`
|
||||
Comment string `gorm:"column:Comment" json:"Comment"`
|
||||
}
|
||||
RequestString string `json:"Request_string"`
|
||||
ResponString string `json:"Respon_string"`
|
||||
}
|
||||
|
||||
type ReqGetDataLogAPI struct {
|
||||
TanggalAwal string `json:"Tanggal_awal"`
|
||||
TanggalAkhir string `json:"Tanggal_akhir"`
|
||||
TipeRawat string `json:"Tipe_rawat"`
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package logapi
|
||||
|
||||
type InsertLogICare struct {
|
||||
ID string `gorm:"column:id" json:"id"`
|
||||
DateCreated string `gorm:"column:date_created" json:"date_created"`
|
||||
Ruangan int `gorm:"column:Ruangan" json:"Ruangan"`
|
||||
Dokter string `gorm:"column:Dokter" json:"Dokter"`
|
||||
Kunjungan_pasien string `gorm:"column:Kunjungan_pasien" json:"Kunjungan_pasien"`
|
||||
WaktuTransaksi string `gorm:"column:Waktu_transaksi" json:"Waktu_transaksi"`
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package pasien
|
||||
|
||||
type KunjunganPasien struct {
|
||||
ID string `gorm:"column:id" json:"id"`
|
||||
Ruangan int `gorm:"column:Ruangan" json:"Ruangan"`
|
||||
}
|
||||
|
||||
type RequestListKunjunganPasien struct {
|
||||
TanggalAwal string `json:"tanggalawal"`
|
||||
TanggalAkhir string `json:"tanggalakhir"`
|
||||
}
|
||||
|
||||
type ListKunjunganPasien struct {
|
||||
NoMR string `gorm:"column:nomr" json:"nomr"`
|
||||
NamaPasien string `gorm:"column:namalengkap" json:"namalengkap"`
|
||||
TanggalLahir string `gorm:"column:tanggallahir" json:"tanggallahir"`
|
||||
JenisKelamin string `gorm:"column:jeniskelamin" json:"jeniskelamin"`
|
||||
TanggalMasukKunjungan string `gorm:"column:tanggalmasukkunjungan" json:"tanggalmasukkunjungan"`
|
||||
JamMasukKunjungan string `gorm:"column:jammasukkunjungan" json:"jammasukkunjungan"`
|
||||
KodeDiagnosa string `gorm:"column:dxawalmasuk" json:"dxawalmasuk"`
|
||||
NamaDiagnosa string `gorm:"column:displaydxawalmasuk" json:"displaydxawalmasuk"`
|
||||
NamaRuang string `gorm:"column:namaruang" json:"namaruang"`
|
||||
GelarDepan string `gorm:"column:gelardepan" json:"gelardepan"`
|
||||
NamaLengkapDokter string `gorm:"column:namalengkapdokter" json:"namalengkapdokter"`
|
||||
GelarBelakang string `gorm:"column:gelarbelakang" json:"gelarbelakang"`
|
||||
}
|
||||
|
||||
type ResponseListKunjunganPasien struct {
|
||||
NoMR string `gorm:"column:nomr" json:"nomr"`
|
||||
NamaPasien string `gorm:"column:namalengkap" json:"namalengkap"`
|
||||
TanggalLahir string `gorm:"column:tanggallahir" json:"tanggallahir"`
|
||||
JenisKelamin string `gorm:"column:jeniskelamin" json:"jeniskelamin"`
|
||||
TanggalMasukKunjungan string `gorm:"column:tanggalmasukkunjungan" json:"tanggalmasukkunjungan"`
|
||||
JamMasukKunjungan string `gorm:"column:jammasukkunjungan" json:"jammasukkunjungan"`
|
||||
KodeDiagnosa string `gorm:"column:dxawalmasuk" json:"dxawalmasuk"`
|
||||
NamaDiagnosa string `gorm:"column:displaydxawalmasuk" json:"displaydxawalmasuk"`
|
||||
NamaRuang string `gorm:"column:namaruang" json:"namaruang"`
|
||||
NamaLengkapDokter string `gorm:"column:namalengkapdokter" json:"namalengkapdokter"`
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
package mikrobiologi
|
||||
|
||||
type RequestPasienMikrobiologi struct {
|
||||
NOMR string `json:"nomr"`
|
||||
IDXDaftar string `json:"idxdaftar"`
|
||||
}
|
||||
|
||||
type DataPasienMikrobiologi struct {
|
||||
NOMR string `gorm:"column:nomr" json:"nomr"`
|
||||
NoNota string `gorm:"column:nonota" json:"nonota"`
|
||||
IDXDaftar int `gorm:"column:idxdaftar" json:"idxdaftar"`
|
||||
TanggalOrder string `gorm:"column:tglorder" json:"tglorder"`
|
||||
NoLab string `gorm:"column:nolab" json:"nolab"`
|
||||
StatusRajal int `gorm:"column:statusrajal" json:"statusrajal"`
|
||||
StatusAPS int `gorm:"column:statusaps" json:"statusaps"`
|
||||
Nama string `gorm:"column:nama" json:"nama"`
|
||||
NoKTP string `gorm:"column:noktp" json:"noktp"`
|
||||
NoKTPBaru string `gorm:"column:noktpbaru" json:"noktpbaru"`
|
||||
TempatLahir string `gorm:"column:tmptlahir" json:"tmptlahir"`
|
||||
TanggalLahir string `gorm:"column:tgllahir" json:"tgllahir"`
|
||||
JenisKelamin string `gorm:"column:jeniskelamin" json:"jeniskelamin"`
|
||||
Alamat string `gorm:"column:alamat" json:"alamat"`
|
||||
NamaAPS string `gorm:"column:namaaps" json:"namaaps"`
|
||||
NoKTPAPS string `gorm:"column:noktpaps" json:"noktpaps"`
|
||||
TempatLahirAPS string `gorm:"column:tmptlahiraps" json:"tmptlahiraps"`
|
||||
TanggalLahirAPS string `gorm:"column:tgllahiraps" json:"tgllahiraps"`
|
||||
JenisKelaminAPS string `gorm:"column:jeniskelaminaps" json:"jeniskelaminaps"`
|
||||
AlamatAPS string `gorm:"column:alamataps" json:"alamataps"`
|
||||
NamaRuang string `gorm:"column:namaruang" json:"namaruang"`
|
||||
KelasRuang string `gorm:"column:kelasruang" json:"kelasruang"`
|
||||
KodeTarifRajal string `gorm:"column:kodetarifrajal" json:"kodetarifrajal"`
|
||||
KodeTarifRanap string `gorm:"column:kodetarifranap" json:"kodetarifranap"`
|
||||
}
|
||||
|
||||
type ResponseDataPasienRanap struct {
|
||||
NOMR string `gorm:"column:nomr" json:"nomr"`
|
||||
NoNota string `gorm:"column:nonota" json:"nonota"`
|
||||
IDXDaftar int `gorm:"column:idxdaftar" json:"idxdaftar"`
|
||||
TanggalOrder string `gorm:"column:tglorder" json:"tglorder"`
|
||||
NoLab string `gorm:"column:nolab" json:"nolab"`
|
||||
StatusRajal int `gorm:"column:statusrajal" json:"statusrajal"`
|
||||
Nama string `gorm:"column:nama" json:"nama"`
|
||||
NoKTP string `gorm:"column:noktp" json:"noktp"`
|
||||
NoKTPBaru string `gorm:"column:noktpbaru" json:"noktpbaru"`
|
||||
TempatLahir string `gorm:"column:tmptlahir" json:"tmptlahir"`
|
||||
TanggalLahir string `gorm:"column:tgllahir" json:"tgllahir"`
|
||||
JenisKelamin string `gorm:"column:jeniskelamin" json:"jeniskelamin"`
|
||||
Alamat string `gorm:"column:alamat" json:"alamat"`
|
||||
NamaRuang string `gorm:"column:namaruang" json:"namaruang"`
|
||||
KelasRuang string `gorm:"column:kelasruang" json:"kelasruang"`
|
||||
KodeTarifRanap string `gorm:"column:kodetarifranap" json:"kodetarifranap"`
|
||||
}
|
||||
|
||||
type ResponseDataPasienRajal struct {
|
||||
NOMR string `gorm:"column:nomr" json:"nomr"`
|
||||
NoNota string `gorm:"column:nonota" json:"nonota"`
|
||||
IDXDaftar int `gorm:"column:idxdaftar" json:"idxdaftar"`
|
||||
TanggalOrder string `gorm:"column:tglorder" json:"tglorder"`
|
||||
NoLab string `gorm:"column:nolab" json:"nolab"`
|
||||
StatusRajal int `gorm:"column:statusrajal" json:"statusrajal"`
|
||||
Nama string `gorm:"column:nama" json:"nama"`
|
||||
NoKTP string `gorm:"column:noktp" json:"noktp"`
|
||||
NoKTPBaru string `gorm:"column:noktpbaru" json:"noktpbaru"`
|
||||
TempatLahir string `gorm:"column:tmptlahir" json:"tmptlahir"`
|
||||
TanggalLahir string `gorm:"column:tgllahir" json:"tgllahir"`
|
||||
JenisKelamin string `gorm:"column:jeniskelamin" json:"jeniskelamin"`
|
||||
Alamat string `gorm:"column:alamat" json:"alamat"`
|
||||
NamaRuang string `gorm:"column:namaruang" json:"namaruang"`
|
||||
KelasRuang string `gorm:"column:kelasruang" json:"kelasruang"`
|
||||
KodeTarifRajal string `gorm:"column:kodetarifrajal" json:"kodetarifrajal"`
|
||||
}
|
||||
|
||||
type ResponseDataPasienRajalAPS struct {
|
||||
NOMR string `gorm:"column:nomr" json:"nomr"`
|
||||
NoNota string `gorm:"column:nonota" json:"nonota"`
|
||||
IdxDaftar int `gorm:"column:idxdaftar" json:"idxdaftar"`
|
||||
TanggalOrder string `gorm:"column:tglorder" json:"tglorder"`
|
||||
NoLab string `gorm:"column:nolab" json:"nolab"`
|
||||
StatusRajal int `gorm:"column:statusrajal" json:"statusrajal"`
|
||||
StatusAPS int `gorm:"column:statusaps" json:"statusaps"`
|
||||
NamaAPS string `gorm:"column:namaaps" json:"namaaps"`
|
||||
NoKTPAPS string `gorm:"column:noktpaps" json:"noktpaps"`
|
||||
TempatLahirAPS string `gorm:"column:tmptlahiraps" json:"tmptlahiraps"`
|
||||
TanggalLahirAPS string `gorm:"column:tgllahiraps" json:"tgllahiraps"`
|
||||
JenisKelaminAPS string `gorm:"column:jeniskelaminaps" json:"jeniskelaminaps"`
|
||||
AlamatAPS string `gorm:"column:alamataps" json:"alamataps"`
|
||||
NamaRuang string `gorm:"column:namaruang" json:"namaruang"`
|
||||
KelasRuang string `gorm:"column:kelasruang" json:"kelasruang"`
|
||||
KodeTarifRajal string `gorm:"column:kodetarifrajal" json:"kodetarifrajal"`
|
||||
}
|
||||
Reference in New Issue
Block a user