update code for tipe surkon

This commit is contained in:
2024-11-05 08:26:58 +07:00
parent 2adf083e9f
commit 1a13a35fbb
8 changed files with 287 additions and 53 deletions

No files matched your search

@@ -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
}
+16
View File
@@ -1,7 +1,9 @@
package utils
import (
"fmt"
"log"
"strconv"
"strings"
)
@@ -43,3 +45,17 @@ 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
}
noUrutInt++
noUrutStr := fmt.Sprintf("%03d", noUrutInt)
log.Println("No Urut: ", noUrutStr)
return noUrutStr, nil
}
+2 -2
View File
@@ -189,7 +189,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,
@@ -207,7 +207,7 @@ func GetSpesialisByDate(c *gin.Context) {
if err != nil {
c.JSON(http.StatusInternalServerError, err)
}
hari := date.Local().Weekday().String()
hari := date.Local().Weekday().String()
hari = utils.ConvertDay(hari)
idSpesialis, err := dokter.GetJadwalDokterByDate(hari)
if err != nil {
+65 -8
View File
@@ -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,9 +82,12 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
log.Println("ResponseRaw : ", resSuratKontrolRaw)
responses := &suratkontrol.Response{}
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
@@ -125,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)
@@ -137,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()
@@ -163,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
@@ -237,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,
}
@@ -280,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)
@@ -295,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,
}
@@ -337,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)
@@ -354,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,
}
+145 -34
View File
@@ -50,7 +50,7 @@ func InsertSuratKontrol(c *gin.Context) {
return
}
log.Println("Request: ", reqJson)
log.Println("Request: ", string(reqJson))
conf := config.ConfigBpjs{}
@@ -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)
@@ -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
}
@@ -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,
}
@@ -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,6 +615,7 @@ func DeleteSuratKontrol(c *gin.Context) {
Message: "Berhasil Hapus Data",
}
c.JSON(http.StatusOK, res)
return
}
conf := config.ConfigBpjs{}
@@ -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)
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: "",
Message: err.Error(),
})
return
}
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)
@@ -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)
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: "",
Message: err.Error(),
})
return
}
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)
@@ -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)
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: "",
Message: err.Error(),
})
return
}
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)
@@ -853,7 +948,17 @@ func CariPasienTPP(c *gin.Context) {
return
}
} else {
args = append(args, req.TanggalAwal, req.TanggalAkhir)
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)
}
+1 -1
View File
@@ -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"`
}
+18 -5
View File
@@ -30,14 +30,17 @@ type RequestInsertRencanaKontrol struct {
TglRencanaKontrol string `json:"tglRencanaKontrol"`
User string `json:"user"`
IDDokter string `json:"id_dokter"`
KodeDiagnosa string `json:"kode_diagnosa"`
NamaDiagnosa string `json:"nama_diagnosa"`
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 {
@@ -181,8 +186,8 @@ type Peserta struct {
}
type ProvUmum struct {
KodedProvider string `json:"kdProvider"`
NamaProvider string `json:"nmProvider"`
KodeProvider string `json:"kdProvider"`
NamaProvider string `json:"nmProvider"`
}
type ProvPerujuk 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"`
}
}