add i_care code
This commit is contained in:
No files matched your search
@@ -17,6 +17,9 @@ 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
|
||||
I_CARE_JKN_DEV=ihs_dev
|
||||
|
||||
INSERT_SURAT_KONTROL=/RencanaKontrol/insert
|
||||
UPDATE_SURAT_KONTROL=/RencanaKontrol/Update
|
||||
DELETE_SURAT_KONTROL=/RencanaKontrol/Delete
|
||||
@@ -25,4 +28,7 @@ GET_SURAT_KONTROL_SEP=/RencanaKontrol/nosep/
|
||||
GET_NOMOR_RUJUKAN=/Rujukan/
|
||||
GET_NOMOR_RUJUKAN_BATCH=/Rujukan/List/Peserta/
|
||||
|
||||
GET_FKRTL=/api/rs/validate
|
||||
GET_FKTP=/api/pcare/validate
|
||||
|
||||
|
||||
@@ -81,10 +81,6 @@ func SetHeaderDev(cfg config.ConfigBpjs) *config.Header {
|
||||
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")
|
||||
|
||||
secret := []byte(cfg.Secret_key)
|
||||
message := []byte(cfg.Cons_id + "&" + fmt.Sprint(tstamp))
|
||||
hash := hmac.New(sha256.New, secret)
|
||||
@@ -93,7 +89,6 @@ func SetHeaderDev(cfg config.ConfigBpjs) *config.Header {
|
||||
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,
|
||||
|
||||
@@ -1,122 +1,126 @@
|
||||
package dokter
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/bpjs/jadwal_dokter"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func GetJadwalDokterByDPJP(dpjp string) (string, error) {
|
||||
var id string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "id" from "data_pegawai" where "Code_dpjp" = ?`, dpjp).First(&id).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return "", errSelect
|
||||
}
|
||||
return id, nil
|
||||
}
|
||||
|
||||
func GetJadwalHariDokterBySpesialis(id string) ([]jadwal_dokter.JadwalDokterSatuData, error) {
|
||||
var hari []jadwal_dokter.JadwalDokterSatuData
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select * from "daftar_jadwal_dokter" where "Dokter" = ? order by "id"`, id).Scan(&hari).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return hari, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterByIDDokter(hari string) ([]string, error) {
|
||||
var spesialis []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Spesialis"`, hari).Scan(&spesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return spesialis, nil
|
||||
}
|
||||
func GetJadwalDokterByDate(hari string) ([]string, error) {
|
||||
var spesialis []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Spesialis"`, hari).Scan(&spesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return spesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalSubspesialisByDate(hari string) ([]int, error) {
|
||||
var subspesialis []int
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Sub_spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Sub_spesialis"`, hari).Scan(&subspesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return subspesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySpesialis(hari string, spesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Spesialis" = ? order by "Spesialis"`, hari, spesialis).Scan(&listDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySubpesialis(hari string, subspesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Sub_spesialis" = ? order by "Sub_spesialis"`, hari, subspesialis).Scan(&listDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func DeleteJadwalDokter() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeleteJadwalDokterTemp() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter_temp"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertJadwalDokter(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter" ("Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ? ,?, ?, ?, ?, ?)`, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, reqInsert.Spesialis, reqInsert.SubSpesialis, reqInsert.Status).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertJadwalDokterTemp(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
spesialis := strconv.Itoa(reqInsert.Spesialis)
|
||||
subspesialis := strconv.Itoa(reqInsert.SubSpesialis)
|
||||
id := uuid.New()
|
||||
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter_temp" ("id", "Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ?, ?, ?, ?, ?, ?, ?)`, id, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, spesialis, subspesialis, reqInsert.Status).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
package dokter
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/bpjs/jadwal_dokter"
|
||||
"errors"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetJadwalDokterByDPJP(dpjp string) ([]jadwal_dokter.JadwalDokterSatuData, error) {
|
||||
var hari []jadwal_dokter.JadwalDokterSatuData
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select djd.* from "daftar_jadwal_dokter" djd
|
||||
left join "data_pegawai" dp on djd."Dokter" = dp."id" where dp."Code_dpjp" = ? order by djd."id"`, dpjp).Scan(&hari).Error
|
||||
if errSelect != nil {
|
||||
if errors.Is(errSelect, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Dokter Tidak Terdaftar di HFIS")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return hari, nil
|
||||
}
|
||||
|
||||
func GetJadwalHariDokterBySpesialis(id string) ([]jadwal_dokter.JadwalDokterSatuData, error) {
|
||||
var hari []jadwal_dokter.JadwalDokterSatuData
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select * from "daftar_jadwal_dokter" where "Dokter" = ? order by "id"`, id).Scan(&hari).Error
|
||||
if errSelect != nil {
|
||||
if errors.Is(errSelect, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Dokter Tidak Terdaftar di HFIS")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return hari, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterByDate(hari string) ([]string, error) {
|
||||
var spesialis []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Spesialis"`, hari).Scan(&spesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return spesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalSubspesialisByDate(hari string) ([]int, error) {
|
||||
var subspesialis []int
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select distinct "Sub_spesialis" from "daftar_jadwal_dokter" where "Nama_hari" = ? order by "Sub_spesialis"`, hari).Scan(&subspesialis).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return subspesialis, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySpesialis(hari string, spesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Spesialis" = ? order by "Spesialis"`, hari, spesialis).Scan(&listDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func GetJadwalDokterBySubpesialis(hari string, subspesialis string) ([]string, error) {
|
||||
var listDokter []string
|
||||
errSelect := config.SatuDataDB.Debug().Raw(`select "Dokter" from "daftar_jadwal_dokter" where "Nama_hari" = ? and "Sub_spesialis" = ? order by "Sub_spesialis"`, hari, subspesialis).Scan(&listDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Printf("Failed get data : %v", errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func DeleteJadwalDokter() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeleteJadwalDokterTemp() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter_temp"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success truncate data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertJadwalDokter(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter" ("Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ? ,?, ?, ?, ?, ?)`, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, reqInsert.Spesialis, reqInsert.SubSpesialis, reqInsert.Status).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
|
||||
func InsertJadwalDokterTemp(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
spesialis := strconv.Itoa(reqInsert.Spesialis)
|
||||
subspesialis := strconv.Itoa(reqInsert.SubSpesialis)
|
||||
id := uuid.New()
|
||||
err := config.SatuDataDB.Debug().Exec(`insert into "daftar_jadwal_dokter_temp" ("id", "Hari", "Nama_hari", "Waktu", "Dokter", "Spesialis", "Sub_spesialis", "Status") values (?, ?, ?, ?, ?, ?, ?, ?)`, id, reqInsert.Hari, reqInsert.NamaHari, reqInsert.Waktu, reqInsert.Dokter, spesialis, subspesialis, reqInsert.Status).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success insert data")
|
||||
return nil
|
||||
}
|
||||
@@ -30,7 +30,8 @@ func GetDataKunjunganPasien(idxdaftar string) (*suratkontrol.KunjunganPasien, er
|
||||
where dpdgb.data_pegawai_id = dp.id
|
||||
) AS gelarbelakang,
|
||||
dkp."Ruangan" as ruangan,
|
||||
dkp."DPJP" as id_dokter
|
||||
dkp."DPJP" as id_dokter,
|
||||
dkp."NOMR" as "No_rm"
|
||||
from data_kunjungan_pasien dkp
|
||||
left join daftar_lokasi_ruang dlr on dkp."Ruangan" = dlr.id
|
||||
left join data_pegawai dp on dkp."DPJP" = dp.id
|
||||
@@ -103,6 +104,7 @@ func GetDataSuratKontrol(offset, limit string) ([]*suratkontrol.GetDataSuratKont
|
||||
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",
|
||||
@@ -149,6 +151,7 @@ func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontro
|
||||
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",
|
||||
@@ -204,7 +207,7 @@ 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 ?`
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ? offset ? limit ?`
|
||||
querySelect := `select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
@@ -228,6 +231,7 @@ func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []i
|
||||
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",
|
||||
@@ -238,7 +242,7 @@ func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []i
|
||||
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' `
|
||||
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 {
|
||||
@@ -247,3 +251,35 @@ func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []i
|
||||
}
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func CountDataSurKon(req suratkontrol.RequestCariPasien, query string, args []interface{}) (int, error) {
|
||||
var jumlahData int
|
||||
query += ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
querySelect := `select count(dsk.*)
|
||||
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(&jumlahData).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return 0, err
|
||||
}
|
||||
return jumlahData, nil
|
||||
}
|
||||
|
||||
func GetNomorSurKon(idPasien string) (string, error) {
|
||||
var noSurKon string
|
||||
querySelect := `select dsk."Nomor_surat_kontrol" from data_surat_kontrol dsk where dsk."Kunjungan_pasien" = ? and dsk."Tipe_surat_kontrol" <> '1' order by dsk."date_created"`
|
||||
err := config.SatuDataDB.Debug().Raw(querySelect, idPasien).Scan(&noSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return "", err
|
||||
}
|
||||
log.Println("Nomor SurKon :", noSurKon)
|
||||
return noSurKon, nil
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -43,3 +45,21 @@ func ReplaceGelar(gelar string) string {
|
||||
gelar = strings.ReplaceAll(gelar, ",", " ")
|
||||
return gelar
|
||||
}
|
||||
|
||||
func GetNoUrut(noSurKon string) (string, error) {
|
||||
noSurKonSlice := strings.Split(noSurKon, "/")
|
||||
noUrut := noSurKonSlice[3]
|
||||
noUrutInt, err := strconv.Atoi(noUrut)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
log.Println("No Urut Int: ", noUrutInt)
|
||||
noUrutInt++
|
||||
|
||||
log.Println("No Urut Int: ", noUrutInt)
|
||||
|
||||
noUrutStr := fmt.Sprintf("%03d", noUrutInt)
|
||||
log.Println("No Urut: ", noUrutStr)
|
||||
return noUrutStr, nil
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package icare
|
||||
|
||||
import (
|
||||
"bridging-rssa/models/config"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
cfg "bridging-rssa/config"
|
||||
ic "bridging-rssa/models/bpjs/i_care"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func GetFKRTL(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
||||
endpoint := os.Getenv("I_CARE_JKN_DEV")
|
||||
param := os.Getenv("GET_FKRTL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
log.Println("URL :", url)
|
||||
var req *ic.RequestICare
|
||||
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("REQUEST: ", req)
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeaderDev(conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
"X-timestamp": header.TimeStamp,
|
||||
"X-signature": header.XSignature,
|
||||
"user_key": header.UserKey,
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
|
||||
res, err := ResponseGetFKRTL(url, header, headers, req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
|
||||
func GetFKTP(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
||||
endpoint := os.Getenv("I_CARE_JKN_DEV")
|
||||
param := os.Getenv("GET_FKRTL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
log.Println("URL :", url)
|
||||
var req *ic.RequestICare
|
||||
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("REQUEST: ", req)
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeaderDev(conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
"X-timestamp": header.TimeStamp,
|
||||
"X-signature": header.XSignature,
|
||||
"user_key": header.UserKey,
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
|
||||
res, err := ResponseGetFKRTL(url, header, headers, req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &ic.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
@@ -0,0 +1,222 @@
|
||||
package icare
|
||||
|
||||
import (
|
||||
"bridging-rssa/docs"
|
||||
ic "bridging-rssa/models/bpjs/i_care"
|
||||
"bridging-rssa/models/config"
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func ResponseGetFKRTL(url string, header *config.Header, headers map[string]string, request *ic.RequestICare) (*ic.ResponseGet, error) {
|
||||
log.Println("URL", url)
|
||||
|
||||
reqMarshall, err := json.Marshal(request)
|
||||
if err != nil {
|
||||
log.Printf("Error json marshal: %v", err)
|
||||
}
|
||||
|
||||
log.Println("REQUEST: ", string(reqMarshall))
|
||||
|
||||
req, err := http.NewRequest("POST", url, bytes.NewReader(reqMarshall))
|
||||
if err != nil {
|
||||
log.Printf("Error creating request: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
for key, value := range headers {
|
||||
req.Header.Set(key, value)
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{
|
||||
Timeout: 10 * time.Second,
|
||||
}
|
||||
|
||||
responses := &ic.ResponseGet{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "deadline exceeded") {
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
}
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
return responses, err
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
if response.StatusCode == http.StatusGatewayTimeout { // 504
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = 504
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
}
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("Res:", string(res))
|
||||
|
||||
var resFkrtlRaw ic.ResponseGetRaw
|
||||
err = json.Unmarshal([]byte(string(res)), &resFkrtlRaw)
|
||||
if err != nil {
|
||||
log.Printf("Error Unmarshaling: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("ResponseRaw : ", resFkrtlRaw)
|
||||
|
||||
if resFkrtlRaw.MetaData.Code != 200 {
|
||||
errMsg := errors.New(resFkrtlRaw.MetaData.Message)
|
||||
if strings.Contains(strings.ToLower(resFkrtlRaw.MetaData.Message), "Gagal simpan!") {
|
||||
message := "Surat kontrol gagal diterbitkan, pastikan klinik tujuan sama dengan klinik asal pada rujukan awal"
|
||||
resFkrtlRaw.MetaData.Message = message
|
||||
}
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resFkrtlRaw.MetaData.Code
|
||||
responses.MetaData.Message = resFkrtlRaw.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resFkrtlRaw.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
log.Println("res: ", dataResp)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var resFkrtl ic.Response
|
||||
|
||||
log.Println("dataresp: ", dataResp)
|
||||
|
||||
err = json.Unmarshal([]byte(dataResp), &resFkrtl)
|
||||
if err != nil {
|
||||
log.Printf("Error Decode: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses = &ic.ResponseGet{
|
||||
Response: resFkrtl,
|
||||
MetaData: resFkrtlRaw.MetaData,
|
||||
}
|
||||
return responses, nil
|
||||
}
|
||||
|
||||
func ResponseGetFKTP(url string, header *config.Header, headers map[string]string, request *ic.ReqFKTP) (*ic.ResponseGet, error) {
|
||||
log.Println("URL", url)
|
||||
|
||||
reqMarshall, err := json.Marshal(request)
|
||||
if err != nil {
|
||||
log.Printf("Error json marshal: %v", err)
|
||||
}
|
||||
|
||||
log.Println("REQUEST: ", string(reqMarshall))
|
||||
|
||||
req, err := http.NewRequest("POST", url, bytes.NewReader(reqMarshall))
|
||||
if err != nil {
|
||||
log.Printf("Error creating request: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
for key, value := range headers {
|
||||
req.Header.Set(key, value)
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{
|
||||
Timeout: 10 * time.Second,
|
||||
}
|
||||
|
||||
responses := &ic.ResponseGet{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "deadline exceeded") {
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
}
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
return responses, err
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
if response.StatusCode == http.StatusGatewayTimeout { // 504
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = 504
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
}
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("Res:", string(res))
|
||||
|
||||
var resFkrtlRaw ic.ResponseGetRaw
|
||||
err = json.Unmarshal([]byte(string(res)), &resFkrtlRaw)
|
||||
if err != nil {
|
||||
log.Printf("Error Unmarshaling: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("ResponseRaw : ", resFkrtlRaw)
|
||||
|
||||
if resFkrtlRaw.MetaData.Code != 200 {
|
||||
errMsg := errors.New(resFkrtlRaw.MetaData.Message)
|
||||
if strings.Contains(strings.ToLower(resFkrtlRaw.MetaData.Message), "Gagal simpan!") {
|
||||
message := "Surat kontrol gagal diterbitkan, pastikan klinik tujuan sama dengan klinik asal pada rujukan awal"
|
||||
resFkrtlRaw.MetaData.Message = message
|
||||
}
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resFkrtlRaw.MetaData.Code
|
||||
responses.MetaData.Message = resFkrtlRaw.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resFkrtlRaw.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
log.Println("res: ", dataResp)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var resFkrtl ic.Response
|
||||
|
||||
log.Println("dataresp: ", dataResp)
|
||||
|
||||
err = json.Unmarshal([]byte(dataResp), &resFkrtl)
|
||||
if err != nil {
|
||||
log.Printf("Error Decode: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses = &ic.ResponseGet{
|
||||
Response: resFkrtl,
|
||||
MetaData: resFkrtlRaw.MetaData,
|
||||
}
|
||||
return responses, nil
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"bridging-rssa/database/satu_data/dokter"
|
||||
"bridging-rssa/docs/utils"
|
||||
"bridging-rssa/models/bpjs/jadwal_dokter"
|
||||
suratkontrol "bridging-rssa/models/bpjs/surat_kontrol"
|
||||
"bridging-rssa/models/config"
|
||||
dktr "bridging-rssa/models/dokter"
|
||||
"log"
|
||||
@@ -135,17 +136,16 @@ func GetJadwalDokter(c *gin.Context) {
|
||||
|
||||
func GetDokterByDPJP(c *gin.Context) {
|
||||
dpjp := c.Param("dpjp")
|
||||
idDokter, err := dokter.GetJadwalDokterByDPJP(dpjp)
|
||||
listHari, err := dokter.GetJadwalDokterByDPJP(dpjp)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &suratkontrol.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
listHari, err := dokter.GetJadwalHariDokterBySpesialis(idDokter)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
log.Println("listHari: ", listHari)
|
||||
|
||||
var IDDokter []string
|
||||
@@ -158,7 +158,11 @@ func GetDokterByDPJP(c *gin.Context) {
|
||||
|
||||
namaDokter, err := dokter.GetNamaLengkapDokter(IDDokter)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &suratkontrol.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
@@ -189,7 +193,7 @@ func GetDokterByDPJP(c *gin.Context) {
|
||||
Kode: listSubspesialis.Kode,
|
||||
Spesialis: listSubspesialis.Spesialis,
|
||||
Subspesialis: listSubspesialis.Subspesialis,
|
||||
IDSubspesialis: listSubspesialis.Kode,
|
||||
IDSubspesialis: listSubspesialis.ID,
|
||||
NamaLengkap: namaLengkap,
|
||||
HFISCode: hfisCode,
|
||||
KodeDPJP: dpjp,
|
||||
|
||||
@@ -36,14 +36,34 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{}
|
||||
client := http.Client{
|
||||
Timeout: 10 * time.Second,
|
||||
}
|
||||
|
||||
responses := &suratkontrol.Response{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "deadline exceeded") {
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
}
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
return nil, err
|
||||
return responses, err
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
if response.StatusCode == http.StatusGatewayTimeout { // 504
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = "504"
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
}
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
@@ -62,30 +82,12 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
|
||||
|
||||
log.Println("ResponseRaw : ", resSuratKontrolRaw)
|
||||
|
||||
responses := &suratkontrol.Response{}
|
||||
// uuid := uuid.New().String()
|
||||
if resSuratKontrolRaw.MetaData.Code != "200" {
|
||||
// reqInsertLog := &logapi.DataLogAPI{
|
||||
// ID: uuid,
|
||||
// UserAgent: "",
|
||||
// IP: "",
|
||||
// Parameter: "",
|
||||
// Header: "",
|
||||
// Method: "",
|
||||
// Url: url,
|
||||
// Request: "",
|
||||
// Respon: "",
|
||||
// ResponCode: "",
|
||||
// ResponTimeStart: "",
|
||||
// ResponTimeEnd: "",
|
||||
// Comment: "",
|
||||
// }
|
||||
// err = log_api.InsertLogAPI(*reqInsertLog)
|
||||
// if err != nil {
|
||||
// log.Println(err)
|
||||
// return nil, err
|
||||
// }
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
if strings.Contains(strings.ToLower(resSuratKontrolRaw.MetaData.Message), "Gagal simpan!") {
|
||||
message := "Surat kontrol gagal diterbitkan, pastikan klinik tujuan sama dengan klinik asal pada rujukan awal"
|
||||
resSuratKontrolRaw.MetaData.Message = message
|
||||
}
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resSuratKontrolRaw.MetaData.Message
|
||||
@@ -146,7 +148,7 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
if strings.Contains(strings.ToLower(err.Error()), "deadline exceeded") {
|
||||
errMsg := errors.New("Gagal Proses Selama 10 Detik, Silahkan Coba Lagi")
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
@@ -158,7 +160,7 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
if response.StatusCode == http.StatusGatewayTimeout { // 504
|
||||
errMsg := errors.New("Gagal Proses Selama 10 Detik, Silahkan Coba Lagi")
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = "504"
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
@@ -184,6 +186,10 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
|
||||
if resSuratKontrolRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
if strings.Contains(strings.ToLower(resSuratKontrolRaw.MetaData.Message), "gagal simpan") {
|
||||
message := "Surat kontrol gagal diterbitkan, pastikan klinik tujuan sama dengan klinik asal pada rujukan awal"
|
||||
resSuratKontrolRaw.MetaData.Message = message
|
||||
}
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resSuratKontrolRaw.MetaData.Message
|
||||
@@ -258,7 +264,17 @@ func ResponseDeleteSuratKontrol(url string, header *config.Header, headers map[s
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &suratkontrol.Response{
|
||||
responses := &suratkontrol.Response{}
|
||||
if resSuratKontrolRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resSuratKontrolRaw.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
responses = &suratkontrol.Response{
|
||||
MetaData: resSuratKontrolRaw.MetaData,
|
||||
}
|
||||
|
||||
@@ -301,6 +317,16 @@ func ResponseGetNomorSuratKontrol(url string, header *config.Header, headers map
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &suratkontrol.ResponseGetSuratKontrol{}
|
||||
if resNoSuratKontrolRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resNoSuratKontrolRaw.MetaData.Message)
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resNoSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resNoSuratKontrolRaw.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resNoSuratKontrolRaw.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
@@ -316,7 +342,7 @@ func ResponseGetNomorSuratKontrol(url string, header *config.Header, headers map
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &suratkontrol.ResponseGetSuratKontrol{
|
||||
responses = &suratkontrol.ResponseGetSuratKontrol{
|
||||
MetaData: resNoSuratKontrolRaw.MetaData,
|
||||
Response: responseNoSuratKontrol,
|
||||
}
|
||||
@@ -358,6 +384,16 @@ func ResponseGetSuratKontrolBySEP(url string, header *config.Header, headers map
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &suratkontrol.ResponseGetSuratKontrolBySEP{}
|
||||
if resSurKonSEP.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resSurKonSEP.MetaData.Message)
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resSurKonSEP.MetaData.Code
|
||||
responses.MetaData.Message = resSurKonSEP.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resSurKonSEP.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
@@ -375,7 +411,7 @@ func ResponseGetSuratKontrolBySEP(url string, header *config.Header, headers map
|
||||
|
||||
log.Println("res: ", resSurKonSEP)
|
||||
|
||||
responses := &suratkontrol.ResponseGetSuratKontrolBySEP{
|
||||
responses = &suratkontrol.ResponseGetSuratKontrolBySEP{
|
||||
MetaData: resSurKonSEP.MetaData,
|
||||
Response: responseNoSuratKontrol,
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import (
|
||||
|
||||
func InsertSuratKontrol(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("VCLAIM_RS_DEV")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS")
|
||||
param := os.Getenv("INSERT_SURAT_KONTROL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
@@ -50,11 +50,11 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("Request: ", reqJson)
|
||||
log.Println("Request: ", string(reqJson))
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeaderDev(conf)
|
||||
header := cfg.SetHeader(conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -70,7 +70,6 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
headerStringBuilder.WriteString(fmt.Sprintf("%s: %s; ", key, value))
|
||||
}
|
||||
headerString := strings.TrimSuffix(headerStringBuilder.String(), "; ")
|
||||
tipeSurKon := "1"
|
||||
|
||||
kunjunganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
||||
if err != nil {
|
||||
@@ -83,20 +82,43 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
}
|
||||
|
||||
uuid := uuid.New().String()
|
||||
if req.NoSEP == "" {
|
||||
tipeSurKon = "0"
|
||||
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(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
noUrut := "001"
|
||||
if dataSurkon != "" {
|
||||
noUrut, err = utils.GetNoUrut(dataSurkon)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
noSurKon := "SI/" + req.TipeRawat + "/" + kunjunganPasien.NomorRM + "/" + noUrut
|
||||
reqInsert := &sk.DataSuratKontrol{
|
||||
ID: uuid,
|
||||
DateCreated: timeNow,
|
||||
TglCetakSurKon: timeNow,
|
||||
TglRencanaKontrol: req.TglRencanaKontrol,
|
||||
NomorSurKon: "", //TODO How to get Nomor SurKon
|
||||
NomorSurKon: noSurKon,
|
||||
KunjunganPasien: kunjunganPasien.ID,
|
||||
RuanganSurKon: kunjunganPasien.Ruangan,
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
UserCreatedSurKon: req.User,
|
||||
TipeSurKon: tipeSurKon,
|
||||
TipeSurKon: req.TipeSurKon,
|
||||
}
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
if err != nil {
|
||||
@@ -107,7 +129,20 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, nil)
|
||||
|
||||
err = suratkontrol.UpdateKunjunganPasien(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "200",
|
||||
Message: "Berhasil Insert Surat Kontrol",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
@@ -185,7 +220,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
UserCreatedSurKon: req.User,
|
||||
TipeSurKon: tipeSurKon,
|
||||
TipeSurKon: "1",
|
||||
}
|
||||
|
||||
err = suratkontrol.InsertDataSuratKontrol(reqInsert)
|
||||
@@ -263,7 +298,7 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
|
||||
func UpdateSuratKontrol(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("VCLAIM_RS_DEV")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS")
|
||||
param := os.Getenv("UPDATE_SURAT_KONTROL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
@@ -279,7 +314,17 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("Request: ", req)
|
||||
reqJson, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("Request: ", string(reqJson))
|
||||
|
||||
timeNow := time.Now().Format("2006-01-02 15:04:05")
|
||||
|
||||
@@ -292,22 +337,43 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
})
|
||||
return
|
||||
}
|
||||
uuid := uuid.New().String()
|
||||
tipeSurKon := "1"
|
||||
|
||||
if req.NoSEP == "" {
|
||||
tipeSurKon = "0"
|
||||
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(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
noUrut := "001"
|
||||
if dataSurkon != "" {
|
||||
noUrut, err = utils.GetNoUrut(dataSurkon)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
noSurKon := "SI/" + req.TipeRawat + "/" + kunjunganPasien.NomorRM + "/" + noUrut
|
||||
reqInsert := &sk.DataSuratKontrol{
|
||||
ID: uuid,
|
||||
DateCreated: timeNow,
|
||||
TglCetakSurKon: timeNow,
|
||||
TglRencanaKontrol: req.TglRencanaKontrol,
|
||||
NomorSurKon: "", //TODO How to get Nomor SurKon
|
||||
NomorSurKon: noSurKon, //TODO How to get Nomor SurKon
|
||||
KunjunganPasien: kunjunganPasien.ID,
|
||||
RuanganSurKon: kunjunganPasien.Ruangan,
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // First Insert status always set to 1
|
||||
TipeSurKon: tipeSurKon,
|
||||
TipeSurKon: req.TipeSurKon,
|
||||
UserUpdatedSurKon: req.User,
|
||||
}
|
||||
reqUpdate := &sk.DataSuratKontrol{
|
||||
@@ -334,16 +400,9 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, nil)
|
||||
return
|
||||
}
|
||||
|
||||
reqJson, err := json.Marshal(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
c.JSON(http.StatusOK, &sk.MetadataString{
|
||||
Code: "200",
|
||||
Message: "Berhasil Update Surat Kontrol",
|
||||
})
|
||||
return
|
||||
}
|
||||
@@ -352,7 +411,7 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeaderDev(conf)
|
||||
header := cfg.SetHeader(conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -465,7 +524,7 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
RuanganSurKon: kunjunganPasien.Ruangan,
|
||||
DPJPSurKon: req.IDDokter,
|
||||
StatusSurKon: 1, // Insert status always set to 1
|
||||
TipeSurKon: tipeSurKon,
|
||||
TipeSurKon: "1",
|
||||
UserUpdatedSurKon: req.User,
|
||||
}
|
||||
|
||||
@@ -514,7 +573,7 @@ func UpdateSuratKontrol(c *gin.Context) {
|
||||
|
||||
func DeleteSuratKontrol(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("VCLAIM_RS_DEV")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS")
|
||||
param := os.Getenv("DELETE_SURAT_KONTROL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
@@ -534,7 +593,7 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
|
||||
timeNow := time.Now().Format("2006-01-02 15:04:05")
|
||||
|
||||
if req.NomorSurKon == "" {
|
||||
if req.TipeSurKon != "1" {
|
||||
reqUpdate := &sk.DataSuratKontrol{
|
||||
DateUpdated: timeNow,
|
||||
ID: req.IDDataSurKon,
|
||||
@@ -556,11 +615,12 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
Message: "Berhasil Hapus Data",
|
||||
}
|
||||
c.JSON(http.StatusOK, res)
|
||||
return
|
||||
}
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeaderDev(conf)
|
||||
header := cfg.SetHeader(conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -608,14 +668,14 @@ func DeleteSuratKontrol(c *gin.Context) {
|
||||
|
||||
func GetNomorSuratKontrol(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("VCLAIM_RS_DEV")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS")
|
||||
param := os.Getenv("GET_NOMOR_SURAT_KONTROL")
|
||||
noSurat := c.Param("noSuratKontrol")
|
||||
url := baseUrl + endpoint + param + noSurat
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeaderDev(conf)
|
||||
header := cfg.SetHeader(conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -638,14 +698,14 @@ func GetNomorSuratKontrol(c *gin.Context) {
|
||||
|
||||
func GetSuratKontrolBySEP(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("VCLAIM_RS_DEV")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS")
|
||||
param := os.Getenv("GET_SURAT_KONTROL_SEP")
|
||||
noSEP := c.Param("noSEP")
|
||||
url := baseUrl + endpoint + param + noSEP
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeaderDev(conf)
|
||||
header := cfg.SetHeader(conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -704,6 +764,8 @@ func GetDataSurKon(c *gin.Context) {
|
||||
Subspesialis: v.Subspesialis,
|
||||
KodePoli: v.KodePoli,
|
||||
KodeDokter: v.KodeDokter,
|
||||
IDDokter: v.IDDokter,
|
||||
KodeDPJP: v.KodeDPJP,
|
||||
NoRM: v.NoRM,
|
||||
KodeDiagnosa: v.KodeDiagnosa,
|
||||
NamaDiagnosa: v.NamaDiagnosa,
|
||||
@@ -751,6 +813,7 @@ func GetDataSurKonByID(c *gin.Context) {
|
||||
KodeDokter: data.KodeDokter,
|
||||
IDPoli: data.IDPoli,
|
||||
IDDokter: data.IDDokter,
|
||||
KodeDPJP: data.KodeDPJP,
|
||||
NoRM: data.NoRM,
|
||||
KodeDiagnosa: data.KodeDiagnosa,
|
||||
NamaDiagnosa: data.NamaDiagnosa,
|
||||
@@ -815,10 +878,22 @@ func CariPasienTPP(c *gin.Context) {
|
||||
|
||||
query := ``
|
||||
var args []interface{}
|
||||
var argsCount []interface{}
|
||||
var data []*sk.GetDataSuratKontrol
|
||||
var count int
|
||||
if req.NoRM != "" {
|
||||
query += `and dkp2."NOMR" = ?`
|
||||
args = append(args, req.NoRM, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
argsCount = append(argsCount, req.NoRM, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.NoRM, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -830,7 +905,17 @@ func CariPasienTPP(c *gin.Context) {
|
||||
}
|
||||
} else if req.NoSEP != "" {
|
||||
query += `and dkp2."Nomor_sep" = ?`
|
||||
args = append(args, req.NoSEP, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
argsCount = append(argsCount, req.NoSEP, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.NoSEP, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -842,7 +927,17 @@ func CariPasienTPP(c *gin.Context) {
|
||||
}
|
||||
} else if req.PoliKlinik != "" {
|
||||
query += `and ds."id" = ?`
|
||||
args = append(args, req.PoliKlinik, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
argsCount = append(argsCount, req.PoliKlinik, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir)
|
||||
count, err = suratkontrol.CountDataSurKon(req, query, argsCount)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.PoliKlinik, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -853,7 +948,17 @@ func CariPasienTPP(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
args = append(args, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
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.StatusInternalServerError, &sk.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
args = append(args, req.TipeSurKon, req.TanggalAwal, req.TanggalAkhir, req.Offset, req.Limit)
|
||||
data, err = suratkontrol.SearchDataSurKon(req, query, args)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -864,8 +969,7 @@ func CariPasienTPP(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
var resSurKon []*sk.ResponseGetDataSuratKontrol
|
||||
var listData []*sk.ResponseGetDataSuratKontrol
|
||||
for _, v := range data {
|
||||
gelarDepan := utils.ReplaceGelar(v.GelarDepan)
|
||||
gelarBelakang := utils.ReplaceGelar(v.GelarBelakang)
|
||||
@@ -876,7 +980,7 @@ func CariPasienTPP(c *gin.Context) {
|
||||
dateCetakSurkonString := dateCetakSurkon.Format("2006-01-02")
|
||||
dateRencanaSurkon, _ := time.Parse(time.RFC3339, v.TglRencanaKontrol)
|
||||
dateRencanaSurkonString := dateRencanaSurkon.Format("2006-01-02")
|
||||
resSurKon = append(resSurKon, &sk.ResponseGetDataSuratKontrol{
|
||||
listData = append(listData, &sk.ResponseGetDataSuratKontrol{
|
||||
IDDataSurKon: v.IDDataSurKon,
|
||||
IDXDaftar: v.IDXDaftar,
|
||||
TglCetakSurKon: dateCetakSurkonString,
|
||||
@@ -891,11 +995,18 @@ func CariPasienTPP(c *gin.Context) {
|
||||
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)
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/handlers/bpjs"
|
||||
icare "bridging-rssa/handlers/bpjs/i_care"
|
||||
"bridging-rssa/handlers/bpjs/jadwal_dokter"
|
||||
"bridging-rssa/handlers/bpjs/rujukan"
|
||||
suratkontrol "bridging-rssa/handlers/bpjs/surat_kontrol"
|
||||
@@ -69,6 +70,12 @@ func main() {
|
||||
suratRujukan.GET("/list/peserta/:noKartu", rujukan.GetSuratRujukanBatch)
|
||||
}
|
||||
|
||||
iCare := v1.Group("/icare")
|
||||
{
|
||||
iCare.POST("/rs/validate", icare.GetFKRTL)
|
||||
iCare.POST("/pcare/validate", icare.GetFKTP)
|
||||
}
|
||||
|
||||
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.POST("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.PUT("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
@@ -80,8 +87,8 @@ func main() {
|
||||
AllowCredentials: true,
|
||||
}))
|
||||
|
||||
log.Println("JALAN DI PORT : 8082")
|
||||
err = r.Run(":8082")
|
||||
log.Println("JALAN DI PORT : 8083")
|
||||
err = r.Run(":8083")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package icare
|
||||
|
||||
type RequestICare struct {
|
||||
Param string `json:"param"`
|
||||
KodeDokter int `json:"kodedokter"`
|
||||
}
|
||||
|
||||
type ReqFKTP struct {
|
||||
Param string `json:"param"`
|
||||
}
|
||||
|
||||
type Metadata struct {
|
||||
Code int `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type Response struct {
|
||||
Url string `json:"url"`
|
||||
}
|
||||
|
||||
type ResponseGet struct {
|
||||
Response Response `json:"response"`
|
||||
MetaData Metadata `json:"metaData"`
|
||||
}
|
||||
|
||||
type ResponseGetRaw struct {
|
||||
Response string `json:"response"`
|
||||
MetaData Metadata `json:"metaData"`
|
||||
}
|
||||
@@ -57,7 +57,7 @@ type ResponseListHari struct {
|
||||
Kode string `json:"Kode"`
|
||||
Spesialis string `json:"Spesialis"`
|
||||
Subspesialis string `json:"Subspesialis"`
|
||||
IDSubspesialis string `json:"id_subspesialis"`
|
||||
IDSubspesialis int `json:"id_subspesialis"`
|
||||
NamaLengkap string `json:"nama_lengkap"`
|
||||
HFISCode string `json:"HFIS_code"`
|
||||
KodeDPJP string `json:"DPJP_code"`
|
||||
|
||||
@@ -21,4 +21,5 @@ type KunjunganPasien struct {
|
||||
DisplayDiagnosisAkhirKeluar string `gorm:"column:Display_diagnosis_akhir_keluar" json:"Display_diagnosis_akhir_keluar"`
|
||||
DiagnosisPrimerUtama string `gorm:"column:Diagnosis_primer_utama" json:"Diagnosis_primer_utama"`
|
||||
DisplayDiagnosisPrimerUtama string `gorm:"column:Display_diagnosis_primer_utama" json:"Display_diagnosis_primer_utama"`
|
||||
NomorRM string `gorm:"column:No_rm" json:"No_rm"`
|
||||
}
|
||||
@@ -32,12 +32,15 @@ type RequestInsertRencanaKontrol struct {
|
||||
IDDokter string `json:"id_dokter"`
|
||||
KodeDiagnosa string `json:"kode_diagnosa"`
|
||||
NamaDiagnosa string `json:"nama_diagnosa"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
TipeRawat string `json:"tipe_rawat"`
|
||||
}
|
||||
|
||||
type ReqDeleteRencanaKontrol struct {
|
||||
IDDataSurKon string `json:"id_surat_kontrol"`
|
||||
NomorSurKon string `json:"Nomor_surat_kontrol"`
|
||||
User string `json:"user"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
}
|
||||
|
||||
type RequestUpdateRencanaKontrol struct {
|
||||
@@ -52,6 +55,8 @@ type RequestUpdateRencanaKontrol struct {
|
||||
User string `json:"user"`
|
||||
KodeDiagnosa string `json:"Kode_diagnosa"`
|
||||
NamaDiagnosa string `json:"Nama_diagnosa"`
|
||||
TipeSurKon string `json:"tipe_surkon"`
|
||||
TipeRawat string `json:"tipe_rawat"`
|
||||
}
|
||||
|
||||
type TSuratKontrol struct {
|
||||
@@ -243,6 +248,7 @@ type GetDataSuratKontrol struct {
|
||||
NomorKartu string `gorm:"column:No_kartu" json:"No_kartu"`
|
||||
IDPoli string `gorm:"column:ID_poli" json:"id_poli"`
|
||||
IDDokter string `gorm:"column:id_dokter" json:"id_dokter"`
|
||||
KodeDPJP string `gorm:"column:Kode_dpjp" json:"Kode_dpjp"`
|
||||
NoRM string `gorm:"column:No_rm" json:"No_rm"`
|
||||
KodeDiagnosa string `gorm:"column:Kode_diagnosa" json:"Kode_diagnosa"`
|
||||
NamaDiagnosa string `gorm:"column:Nama_diagnosa" json:"Nama_diagnosa"`
|
||||
@@ -264,6 +270,7 @@ type ResponseGetDataSuratKontrol struct {
|
||||
Subspesialis string `json:"Subspesialis"`
|
||||
KodePoli string `json:"Kode_poli"`
|
||||
KodeDokter string `json:"Kode_dokter"`
|
||||
KodeDPJP string `json:"Kode_dpjp"`
|
||||
IDPoli string `json:"id_poli"`
|
||||
IDDokter string `json:"id_dokter"`
|
||||
NoRM string `json:"No_rm"`
|
||||
@@ -272,12 +279,18 @@ type ResponseGetDataSuratKontrol struct {
|
||||
TipeSurKon string `json:"Tipe_SurKon"`
|
||||
}
|
||||
|
||||
type ResponseCariDataSuratKontrol struct {
|
||||
JumlahData int `json:"jumlah_data"`
|
||||
ListDataSuratKontrol []*ResponseGetDataSuratKontrol `json:"list_data"`
|
||||
}
|
||||
|
||||
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"`
|
||||
}
|
||||
}
|
||||
@@ -10,9 +10,10 @@ type ConfigBpjs struct {
|
||||
}
|
||||
|
||||
type Header struct {
|
||||
ConsID string
|
||||
SecretKey string
|
||||
UserKey string
|
||||
TimeStamp string
|
||||
XSignature string
|
||||
ConsID string
|
||||
SecretKey string
|
||||
UserKey string
|
||||
TimeStamp string
|
||||
XSignature string
|
||||
XAuthorization string
|
||||
}
|
||||
Reference in New Issue
Block a user