Compare commits
29
Commits
@@ -4,35 +4,22 @@ 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
|
||||
|
||||
SIMRS_STAG_HOST=10.10.123.223
|
||||
SIMRS_STAG_USERNAME=simtest
|
||||
SIMRS_STAG_PASSWORD=12345
|
||||
SIMRS_STAG_NAME=simrs-stag
|
||||
SIMRS_STAG_PORT=5432
|
||||
|
||||
BASEURL_BPJS=https://apijkn.bpjs-kesehatan.go.id/
|
||||
ANTREAN_RS=antreanrs
|
||||
I_CARE_JKN=ihs
|
||||
BASEURL_BPJS=https://apijkn.bpjs-kesehatan.go.id
|
||||
ANTREAN_RS=/antreanrs
|
||||
CONS_ID=5257
|
||||
USER_KEY=4cf1cbef8c008440bbe9ef9ba789e482
|
||||
SECRET_KEY=1bV363512D
|
||||
USER_KEY_ICARE=1cd65acaa349684be6353bea5149e2e2
|
||||
|
||||
CONS_ID_DEV=16041
|
||||
USER_KEY_DEV=467a2817fde5070f66c9a41fbeb8dc2c
|
||||
SECRET_KEY_DEV=8pP3D5431E
|
||||
USER_KEY_ICARE=1cd65acaa349684be6353bea5149e2e2
|
||||
|
||||
BASEURL_BPJS_DEV=https://apijkn-dev.bpjs-kesehatan.go.id/
|
||||
VCLAIM_RS_DEV=vclaim-rest-dev
|
||||
VCLAIM_RS=vclaim-rest
|
||||
I_CARE_JKN=wsihs
|
||||
I_CARE_JKN_DEV=ihs_dev
|
||||
BASEURL_BPJS_DEV=https://apijkn-dev.bpjs-kesehatan.go.id
|
||||
VCLAIM_RS_DEV=/vclaim-rest-dev
|
||||
SURAT_KONTROL_RS=/vclaim-rest
|
||||
I_CARE_JKN=/wsihs
|
||||
I_CARE_JKN_DEV=/ihs_dev
|
||||
|
||||
INSERT_SURAT_KONTROL=/RencanaKontrol/insert
|
||||
UPDATE_SURAT_KONTROL=/RencanaKontrol/Update
|
||||
@@ -41,9 +28,8 @@ 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
|
||||
|
||||
LIS_MIKROBIOLOGI_URL=http://10.10.123.218/registerpasien
|
||||
|
||||
Generated
+8
-8
@@ -1,8 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
+12
-8
@@ -1,9 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="Go" enabled="true" />
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="Go" enabled="true">
|
||||
<buildTags>
|
||||
<option name="os" value="linux" />
|
||||
</buildTags>
|
||||
</component>
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
Generated
-17
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="[email protected]" uuid="8e7d33a6-2774-4cbb-95d4-4caf4b6482be">
|
||||
<driver-ref>postgresql</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>org.postgresql.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:postgresql://10.10.123.223:5432/simrs-stag</jdbc-url>
|
||||
<jdbc-additional-properties>
|
||||
<property name="com.intellij.clouds.kubernetes.db.host.port" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.container.port" />
|
||||
</jdbc-additional-properties>
|
||||
<working-dir>$ProjectFileDir$</working-dir>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+7
-7
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/bridging-rssa.iml" filepath="$PROJECT_DIR$/.idea/bridging-rssa.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/api-bpjs-surkon.iml" filepath="$PROJECT_DIR$/.idea/api-bpjs-surkon.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
Generated
+5
-5
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
+6
-8
@@ -1,11 +1,5 @@
|
||||
FROM golang:1.23-alpine AS builder
|
||||
|
||||
# Install tzdata dan dependencies build
|
||||
RUN apk add --no-cache tzdata build-base
|
||||
|
||||
# Set timezone ke Asia/Jakarta
|
||||
ENV TZ=Asia/Jakarta
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY go.mod go.sum ./
|
||||
@@ -18,11 +12,15 @@ RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
|
||||
# RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .
|
||||
|
||||
FROM alpine:latest
|
||||
RUN apk --no-cache add ca-certificates
|
||||
|
||||
# Set timezone ke Asia/Jakarta
|
||||
ENV TZ=Asia/Jakarta
|
||||
|
||||
RUN apk --no-cache add ca-certificates tzdata
|
||||
|
||||
WORKDIR /root/
|
||||
|
||||
COPY --from=builder /app/main .
|
||||
COPY --from=builder /app/.env .
|
||||
EXPOSE 8082
|
||||
EXPOSE 8080
|
||||
CMD ["./main"]
|
||||
+106
-147
@@ -1,147 +1,106 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"bridging-rssa/models/config"
|
||||
"crypto/hmac"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
var DB *gorm.DB
|
||||
var SatuDataDB *gorm.DB
|
||||
var SimrsDB *gorm.DB
|
||||
var err error
|
||||
|
||||
func ConnectDB() {
|
||||
hostSatuData := os.Getenv("SATUDATA_HOST")
|
||||
userNameSatuData := os.Getenv("SATUDATA_USERNAME")
|
||||
passwordSatuData := os.Getenv("SATUDATA_PASSWORD")
|
||||
dbNameSatuData := os.Getenv("SATUDATA_NAME")
|
||||
portSatuData := os.Getenv("SATUDATA_PORT")
|
||||
|
||||
satuData := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Jakarta", hostSatuData, userNameSatuData, passwordSatuData, dbNameSatuData, portSatuData)
|
||||
|
||||
SatuDataDB, err = gorm.Open(postgres.Open(satuData), &gorm.Config{})
|
||||
if err != nil {
|
||||
log.Fatal("Failed to connect to Satu Data database: ", err)
|
||||
} 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(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")
|
||||
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)
|
||||
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(tstamp),
|
||||
XSignature: X_signature,
|
||||
}
|
||||
|
||||
return 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()
|
||||
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")
|
||||
|
||||
secret := []byte(cfg.Secret_key)
|
||||
message := []byte(cfg.Cons_id + "&" + fmt.Sprint(tstamp))
|
||||
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(tstamp),
|
||||
XSignature: X_signature,
|
||||
}
|
||||
|
||||
return header
|
||||
|
||||
}
|
||||
package config
|
||||
|
||||
import (
|
||||
"bridging-rssa/models/config"
|
||||
"crypto/hmac"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
var DB *gorm.DB
|
||||
var SatuDataDB *gorm.DB
|
||||
var err error
|
||||
|
||||
func ConnectDB() {
|
||||
hostSatuData := os.Getenv("SATUDATA_HOST")
|
||||
userNameSatuData := os.Getenv("SATUDATA_USERNAME")
|
||||
passwordSatuData := os.Getenv("SATUDATA_PASSWORD")
|
||||
dbNameSatuData := os.Getenv("SATUDATA_NAME")
|
||||
portSatuData := os.Getenv("SATUDATA_PORT")
|
||||
|
||||
satuData := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Jakarta", hostSatuData, userNameSatuData, passwordSatuData, dbNameSatuData, portSatuData)
|
||||
|
||||
SatuDataDB, err = gorm.Open(postgres.Open(satuData), &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(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")
|
||||
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)
|
||||
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(tstamp),
|
||||
XSignature: X_signature,
|
||||
}
|
||||
|
||||
return header
|
||||
|
||||
}
|
||||
|
||||
func SetHeaderDev(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")
|
||||
|
||||
secret := []byte(cfg.Secret_key)
|
||||
message := []byte(cfg.Cons_id + "&" + fmt.Sprint(tstamp))
|
||||
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(tstamp),
|
||||
XSignature: X_signature,
|
||||
}
|
||||
|
||||
return header
|
||||
|
||||
}
|
||||
@@ -14,7 +14,7 @@ import (
|
||||
func GetDokter() ([]dokter.DaftarDokterRes, error) {
|
||||
var listDokter []dokter.DaftarDokter
|
||||
var res []dokter.DaftarDokterRes
|
||||
result := config.SatuDataDB.Debug().Raw(`select "id", "HFIS_code" from "data_pegawai" where "HFIS_code" is not null`).Scan(&listDokter)
|
||||
result := config.SatuDataDB.Raw(`select "id", "HFIS_code" from "data_pegawai" where "HFIS_code" is not null`).Scan(&listDokter)
|
||||
if result.Error != nil {
|
||||
if !errors.Is(result.Error, gorm.ErrRecordNotFound) {
|
||||
log.Fatalf("Error get data : %v", result.Error)
|
||||
@@ -43,7 +43,7 @@ func GetDokter() ([]dokter.DaftarDokterRes, error) {
|
||||
|
||||
func GetNamaLengkapDokter(idDokter []string) ([]dokter.NamaLengkap, error) {
|
||||
var namaDokter []dokter.NamaLengkap
|
||||
result := config.SatuDataDB.Debug().Raw(`select dp.id,
|
||||
result := config.SatuDataDB.Raw(`select dp.id,
|
||||
array(
|
||||
select dgd. "Gelar_depan"
|
||||
from data_pegawai_daftar_gelar_depan dpdgd
|
||||
@@ -74,7 +74,7 @@ func GetNamaLengkapDokter(idDokter []string) ([]dokter.NamaLengkap, error) {
|
||||
|
||||
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
|
||||
err := config.SatuDataDB.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")
|
||||
|
||||
@@ -3,49 +3,45 @@ package dokter
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/bpjs/jadwal_dokter"
|
||||
"errors"
|
||||
"gorm.io/gorm"
|
||||
"log"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"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
|
||||
func GetJadwalDokterByDPJP(dpjp string) (string, error) {
|
||||
var id string
|
||||
errSelect := config.SatuDataDB.Raw(`select "id" from "data_pegawai" where "Code_dpjp" = ?`, dpjp).First(&id).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 "", errSelect
|
||||
}
|
||||
return hari, nil
|
||||
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
|
||||
errSelect := config.SatuDataDB.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 GetJadwalDokterByIDDokter(hari string) ([]string, error) {
|
||||
var spesialis []string
|
||||
errSelect := config.SatuDataDB.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
|
||||
errSelect := config.SatuDataDB.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
|
||||
@@ -55,7 +51,7 @@ func GetJadwalDokterByDate(hari string) ([]string, error) {
|
||||
|
||||
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
|
||||
errSelect := config.SatuDataDB.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
|
||||
@@ -65,7 +61,7 @@ func GetJadwalSubspesialisByDate(hari string) ([]int, error) {
|
||||
|
||||
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
|
||||
errSelect := config.SatuDataDB.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
|
||||
@@ -75,7 +71,7 @@ func GetJadwalDokterBySpesialis(hari string, spesialis string) ([]string, error)
|
||||
|
||||
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
|
||||
errSelect := config.SatuDataDB.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
|
||||
@@ -84,7 +80,17 @@ func GetJadwalDokterBySubpesialis(hari string, subspesialis string) ([]string, e
|
||||
}
|
||||
|
||||
func DeleteJadwalDokter() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter"`).Error
|
||||
err := config.SatuDataDB.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 TruncateDataJadwalDokter() error {
|
||||
err := config.SatuDataDB.Exec(`truncate table "data_jadwal_dokter"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
@@ -94,7 +100,7 @@ func DeleteJadwalDokter() error {
|
||||
}
|
||||
|
||||
func DeleteJadwalDokterTemp() error {
|
||||
err := config.SatuDataDB.Debug().Exec(`truncate table "daftar_jadwal_dokter_temp"`).Error
|
||||
err := config.SatuDataDB.Exec(`truncate table "daftar_jadwal_dokter_temp"`).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed truncate data : %v", err)
|
||||
return err
|
||||
@@ -103,19 +109,21 @@ func DeleteJadwalDokterTemp() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeleteDataJadwalDokter(tx *gorm.DB, tanggal string) error {
|
||||
queryDelete := `delete from "data_jadwal_dokter" where "Tanggal_jadwal" = ?`
|
||||
err := tx.Exec(queryDelete, tanggal).Error
|
||||
func InsertJadwalDokter(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
err := config.SatuDataDB.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 delete data : %v", err)
|
||||
log.Printf("Failed insert data : %v", err)
|
||||
return err
|
||||
}
|
||||
log.Println("Success delete data")
|
||||
log.Println("Success insert 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
|
||||
func InsertJadwalDokterTemp(reqInsert *jadwal_dokter.JadwalDokterSatuData) error {
|
||||
spesialis := strconv.Itoa(reqInsert.Spesialis)
|
||||
subspesialis := strconv.Itoa(reqInsert.SubSpesialis)
|
||||
id := uuid.New()
|
||||
err := config.SatuDataDB.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
|
||||
@@ -133,83 +141,3 @@ func InsertDataJadwalDokter(tx *gorm.DB, reqInsert *jadwal_dokter.DataJadwalDokt
|
||||
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
|
||||
}
|
||||
|
||||
func GetAllJadwalDokter(condition string, args []interface{}) ([]*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 := ` order by djd."Hari" asc, ds."Spesialis" asc, dss."Subspesialis" asc, djd."Waktu" asc`
|
||||
query += condition + order
|
||||
err := config.SatuDataDB.Debug().Raw(query, args...).Scan(&listDokter).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed Get data : %v", err)
|
||||
return nil, err
|
||||
}
|
||||
return listDokter, nil
|
||||
}
|
||||
|
||||
func GetDaftarJadwalDokterByHari(hari int) ([]*jadwal_dokter.JadwalDokterSatuData, error) {
|
||||
var JadwalDokter []*jadwal_dokter.JadwalDokterSatuData
|
||||
query := `select djd.*, dp."HFIS_code" from daftar_jadwal_dokter djd
|
||||
left join data_pegawai dp on dp."id" = djd."Dokter"
|
||||
where djd."Hari" = ?`
|
||||
err := config.SatuDataDB.Debug().Raw(query, hari).Scan(&JadwalDokter).Error
|
||||
if err != nil {
|
||||
log.Printf("Failed Get data : %v", err)
|
||||
return nil, err
|
||||
}
|
||||
return JadwalDokter, nil
|
||||
}
|
||||
|
||||
func UpdateJadwalDokter(req *jadwal_dokter.JadwalDokterSatuData) (bool, error) {
|
||||
var condition []string
|
||||
var args []interface{}
|
||||
condition = append(condition, `where "Nama_hari" = ? and "Sub_spesialis" = ? `)
|
||||
args = append(args, req.Status, req.NamaHari, req.SubSpesialis)
|
||||
if req.Dokter != "" {
|
||||
condition = append(condition, `and "Dokter" = ?`)
|
||||
args = append(args, req.Dokter)
|
||||
}
|
||||
query := `update "daftar_jadwal_dokter" set "Status" = ? `
|
||||
query += strings.Join(condition, " ")
|
||||
q := config.SatuDataDB.Debug().Exec(query, args...)
|
||||
if q.RowsAffected == 0 {
|
||||
log.Printf("Data belum ada")
|
||||
return false, nil
|
||||
}
|
||||
if q.Error != nil {
|
||||
log.Printf("Failed Update data : %v", q.Error)
|
||||
return false, q.Error
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
func GetSpesialis() ([]dokter.DaftarSpesialis, error) {
|
||||
var daftarSpesialis []dokter.DaftarSpesialis
|
||||
|
||||
result := config.SatuDataDB.Debug().Raw(`select * from "daftar_spesialis"`).Find(&daftarSpesialis)
|
||||
result := config.SatuDataDB.Raw(`select * from "daftar_spesialis"`).Find(&daftarSpesialis)
|
||||
if result.Error != nil {
|
||||
if !errors.Is(result.Error, gorm.ErrRecordNotFound) {
|
||||
log.Printf("Error get data : %v", result.Error)
|
||||
@@ -27,7 +27,7 @@ func GetSpesialis() ([]dokter.DaftarSpesialis, error) {
|
||||
|
||||
func GetSpesialisByID(idSpesialis []string) ([]dokter.DaftarSpesialis, error) {
|
||||
var daftarSpesialis []dokter.DaftarSpesialis
|
||||
result := config.SatuDataDB.Debug().Raw(`select * from "daftar_spesialis" where "id" in ?`, idSpesialis).Find(&daftarSpesialis)
|
||||
result := config.SatuDataDB.Raw(`select * from "daftar_spesialis" where "id" in ?`, idSpesialis).Find(&daftarSpesialis)
|
||||
if result.Error != nil {
|
||||
if !errors.Is(result.Error, gorm.ErrRecordNotFound) {
|
||||
log.Printf("Error get data : %v", result.Error)
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
func GetSubspesialis() ([]dokter.DaftarSubspesialis, error) {
|
||||
var daftarSubspesialis []dokter.DaftarSubspesialis
|
||||
|
||||
result := config.SatuDataDB.Debug().Raw(`select * from "daftar_subspesialis"`).Find(&daftarSubspesialis)
|
||||
result := config.SatuDataDB.Raw(`select * from "daftar_subspesialis"`).Find(&daftarSubspesialis)
|
||||
if result.Error != nil {
|
||||
if !errors.Is(result.Error, gorm.ErrRecordNotFound) {
|
||||
log.Printf("Error get data : %v", result.Error)
|
||||
@@ -29,7 +29,7 @@ func GetSubspesialis() ([]dokter.DaftarSubspesialis, error) {
|
||||
func GetSubspesialisByID(idSubspesialis int) (*dokter.DaftarSubspesialis, error) {
|
||||
var daftarSubspesialis *dokter.DaftarSubspesialis
|
||||
|
||||
result := config.SatuDataDB.Debug().Raw(`select dss.*, ds."Spesialis"
|
||||
result := config.SatuDataDB.Raw(`select dss.*, ds."Spesialis"
|
||||
from "daftar_subspesialis" dss
|
||||
left join "daftar_spesialis" ds on ds."id" = dss."FK_daftar_spesialis_ID"
|
||||
where dss.id = ?`, idSubspesialis).First(&daftarSubspesialis)
|
||||
@@ -48,7 +48,7 @@ func GetSubspesialisByID(idSubspesialis int) (*dokter.DaftarSubspesialis, error)
|
||||
|
||||
func GetSubspesialisByIDBatch(idSubspesialis []int) ([]dokter.DaftarSubspesialis, error) {
|
||||
var daftarSubspesialis []dokter.DaftarSubspesialis
|
||||
result := config.SatuDataDB.Debug().Raw(`select dss.*, ds."Spesialis"
|
||||
result := config.SatuDataDB.Raw(`select dss.*, ds."Spesialis"
|
||||
from "daftar_subspesialis" dss
|
||||
left join "daftar_spesialis" ds on ds."id" = dss."FK_daftar_spesialis_ID"
|
||||
where dss.id in ?
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
package kunjunganpasien
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
kunjunganpasien "bridging-rssa/models/kunjungan_pasien"
|
||||
"log"
|
||||
)
|
||||
|
||||
func GetListKunjunganPasien(req *kunjunganpasien.RequestListKunjunganPasien) ([]*kunjunganpasien.ListKunjunganPasien, error) {
|
||||
var dataKunjunganPasien []*kunjunganpasien.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`
|
||||
err := config.SatuDataDB.Debug().Raw(query, req.TanggalAwal, req.TanggalAkhir).Scan(&dataKunjunganPasien).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
return dataKunjunganPasien, nil
|
||||
}
|
||||
@@ -10,7 +10,7 @@ func InsertLogAPI(reqInsert *logapi.DataLogAPI) error {
|
||||
query := `insert into "data_log_api" (
|
||||
"id", "date_created", "User_agent", "IP", "Parameter", "Header", "Method", "URL", "Request", "Respon", "Respon_code", "Respontime_start", "Respontime_end", "Comment"
|
||||
) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
err := config.SatuDataDB.Debug().Exec(query,
|
||||
err := config.SatuDataDB.Exec(query,
|
||||
reqInsert.ID,
|
||||
reqInsert.DateCreated,
|
||||
reqInsert.UserAgent,
|
||||
@@ -32,15 +32,3 @@ func InsertLogAPI(reqInsert *logapi.DataLogAPI) error {
|
||||
}
|
||||
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
|
||||
}
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
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,
|
||||
errInsert := config.SatuDataDB.Exec(query,
|
||||
reqInsert.ID,
|
||||
reqInsert.DateCreated,
|
||||
reqInsert.Ruangan,
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"bridging-rssa/config"
|
||||
"errors"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
@@ -12,16 +11,11 @@ import (
|
||||
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
|
||||
err := config.SatuDataDB.Raw(query, idSimgos).First(&idRuangan).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
log.Println(err)
|
||||
idInt, errConv := strconv.Atoi(idSimgos)
|
||||
if errConv != nil {
|
||||
log.Println(err)
|
||||
return 0, err
|
||||
}
|
||||
return idInt, nil
|
||||
return 128, nil
|
||||
}
|
||||
log.Println(err)
|
||||
return 0, err
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
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
|
||||
err := config.SatuDataDB.Raw(query, idxdaftar).First(&kunjunganPasien).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data Tidak Ditemukan")
|
||||
@@ -25,37 +25,3 @@ func GetDataKunjunganPasien(idxdaftar string) (*pasien.KunjunganPasien, error) {
|
||||
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
|
||||
}
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
)
|
||||
|
||||
func UpdateKunjunganPasien(req sk.RequestInsertRencanaKontrol) error {
|
||||
err := config.SatuDataDB.Debug().Exec(`update "data_kunjungan_pasien" set "Nomor_sep" = ?, "Diagnosis_akhir_keluar" = ?, "Display_diagnosis_akhir_keluar" = ?, "Diagnosis_primer_utama" = ?, "Display_diagnosis_primer_utama" = ? where "IDXDAFTAR" = ?`, req.NoSEP, req.KodeDiagnosa, req.NamaDiagnosa, req.KodeDiagnosa, req.NamaDiagnosa, req.IDXDaftar).Error
|
||||
err := config.SatuDataDB.Exec(`update "data_kunjungan_pasien" set "Nomor_sep" = ?, "Diagnosis_akhir_keluar" = ?, "Display_diagnosis_akhir_keluar" = ?, "Diagnosis_primer_utama" = ?, "Display_diagnosis_primer_utama" = ? where "IDXDAFTAR" = ?`, req.NoSEP, req.KodeDiagnosa, req.NamaDiagnosa, req.KodeDiagnosa, req.NamaDiagnosa, req.IDXDaftar).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return err
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
|
||||
func GetDataKunjunganPasien(idxdaftar string) (*suratkontrol.KunjunganPasien, error) {
|
||||
var kunjunganPasien *suratkontrol.KunjunganPasien
|
||||
err := config.SatuDataDB.Debug().Raw(`select dkp."id", dkp."IDXDAFTAR" as idxdaftar, dkp."Nomor_sep" as nomorsep,
|
||||
err := config.SatuDataDB.Raw(`select dkp."id", dkp."IDXDAFTAR" as idxdaftar, dkp."Nomor_sep" as nomorsep,
|
||||
dlr."Nama" as namaklinik, dlr."Id_location_simgos" as idkliniksimgos, dlr."Kode_hfis_bpjs" as kodehfisklinik,
|
||||
dk."Nama_lengkap" as namadokter,
|
||||
dp."KDDOKTER" as kodedokter, dp."HFIS_code" as kodehfisdokter,
|
||||
@@ -56,9 +56,9 @@ func InsertDataSuratKontrol(reqInsert *suratkontrol.DataSuratKontrol) error {
|
||||
log.Println("Req Insert Database : ", reqInsert)
|
||||
insertQuery := `insert into "data_surat_kontrol" ("id", "date_created", "Tanggal_cetak_surat_kontrol", "Tanggal_rencana_kontrol",
|
||||
"Nomor_surat_kontrol", "Kunjungan_pasien", "Ruangan_surat_kontrol", "DPJP_surat_kontrol", "Status_surat_kontrol",
|
||||
"User_created_surat_kontrol", "Tipe_surat_kontrol", "User_updated_surat_kontrol")
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
err := config.SatuDataDB.Debug().Exec(insertQuery,
|
||||
"User_created_surat_kontrol", "Tipe_surat_kontrol", "User_updated_surat_kontrol", "Tipe_rawat")
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
|
||||
err := config.SatuDataDB.Exec(insertQuery,
|
||||
reqInsert.ID,
|
||||
reqInsert.DateCreated,
|
||||
reqInsert.TglCetakSurKon,
|
||||
@@ -71,6 +71,7 @@ func InsertDataSuratKontrol(reqInsert *suratkontrol.DataSuratKontrol) error {
|
||||
reqInsert.UserCreatedSurKon,
|
||||
reqInsert.TipeSurKon,
|
||||
reqInsert.UserUpdatedSurKon,
|
||||
reqInsert.TipeRawat,
|
||||
).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
@@ -79,9 +80,9 @@ func InsertDataSuratKontrol(reqInsert *suratkontrol.DataSuratKontrol) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
func GetDataSuratKontrol(offset, limit string) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Debug().Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
err := config.SatuDataDB.Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
from data_kunjungan_pasien dkp
|
||||
@@ -115,7 +116,7 @@ func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
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'`).Scan(&dataSurKon).Error
|
||||
where dsk."Status_surat_kontrol" = '1' offset ? limit ?`, offset, limit).Scan(&dataSurKon).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("DPJP anda belum ada subspesialis")
|
||||
@@ -126,9 +127,9 @@ func GetDataSuratKontrol() ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontrol, error) {
|
||||
func GetDataSuratKontrolByIDTipe(idxdaftar string, tipe string) (*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon *suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Debug().Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
err := config.SatuDataDB.Raw(`select dsk."id", dsk."Tanggal_cetak_surat_kontrol", dsk."Tanggal_rencana_kontrol",
|
||||
dsk."Nomor_surat_kontrol",
|
||||
(select dlr."Nama"
|
||||
from data_kunjungan_pasien dkp
|
||||
@@ -163,10 +164,58 @@ func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontro
|
||||
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 dkp2."IDXDAFTAR" = ?`, idxdaftar).First(&dataSurKon).Error
|
||||
where dsk."Status_surat_kontrol" = '1' and dkp2."IDXDAFTAR" = ? and dsk."Tipe_rawat" = ?`, idxdaftar, tipe).First(&dataSurKon).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("DPJP anda belum ada subspesialis")
|
||||
errMsg := errors.New("Data tidak ada")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
}
|
||||
return dataSurKon, nil
|
||||
}
|
||||
|
||||
func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon *suratkontrol.GetDataSuratKontrol
|
||||
err := config.SatuDataDB.Raw(`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",
|
||||
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"
|
||||
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 dkp2."IDXDAFTAR" = ? and dsk."Tipe_rawat" is null`, idxdaftar).First(&dataSurKon).Error
|
||||
if err != nil {
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data tidak ada")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
@@ -175,7 +224,7 @@ func GetDataSuratKontrolByID(idxdaftar string) (*suratkontrol.GetDataSuratKontro
|
||||
}
|
||||
|
||||
func UpdateDataSuratKontrol(reqUpdate *suratkontrol.DataSuratKontrol) error {
|
||||
err := config.SatuDataDB.Debug().Exec(`update "data_surat_kontrol" set "date_updated" = ?, "Status_surat_kontrol" = ?, "User_updated_surat_kontrol" = ? where "id" = ?`, reqUpdate.DateUpdated, reqUpdate.StatusSurKon, reqUpdate.UserUpdatedSurKon, reqUpdate.ID).Error
|
||||
err := config.SatuDataDB.Exec(`update "data_surat_kontrol" set "date_updated" = ?, "Status_surat_kontrol" = ?, "User_updated_surat_kontrol" = ? where "id" = ?`, reqUpdate.DateUpdated, reqUpdate.StatusSurKon, reqUpdate.UserUpdatedSurKon, reqUpdate.ID).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return err
|
||||
@@ -185,7 +234,7 @@ func UpdateDataSuratKontrol(reqUpdate *suratkontrol.DataSuratKontrol) error {
|
||||
|
||||
func GetIDXDaftarBySurKon(idSurKon string) (string, error) {
|
||||
var idxDaftar string
|
||||
err := config.SatuDataDB.Debug().Raw(`select dkp."IDXDAFTAR"
|
||||
err := config.SatuDataDB.Raw(`select dkp."IDXDAFTAR"
|
||||
from "data_surat_kontrol" dsk
|
||||
left join "data_kunjungan_pasien" dkp on dkp."id" = dsk."Kunjungan_pasien"
|
||||
where dsk."id" = ?`, idSurKon).First(&idxDaftar).Error
|
||||
@@ -196,9 +245,9 @@ func GetIDXDaftarBySurKon(idSurKon string) (string, error) {
|
||||
return idxDaftar, err
|
||||
}
|
||||
|
||||
func GetDataSuratKontrolByTanggal(tanggal string) ([]*suratkontrol.DataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.DataSuratKontrol
|
||||
err := config.SatuDataDB.Debug().Raw(`select * from "data_surat_kontrol" where "Tanggal_rencaca_kontrol" = ?`, tanggal).Scan(&dataSurKon).Error
|
||||
func GetAllDataSuratKontrol(idSurKon string) (*suratkontrol.DataSuratKontrol, error) {
|
||||
var dataSurKon *suratkontrol.DataSuratKontrol
|
||||
err := config.SatuDataDB.Raw(`select * from "data_surat_kontrol" where "id" = ?`, idSurKon).First(&dataSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
@@ -208,11 +257,7 @@ func GetDataSuratKontrolByTanggal(tanggal string) ([]*suratkontrol.DataSuratKont
|
||||
|
||||
func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []interface{}) ([]*suratkontrol.GetDataSuratKontrol, error) {
|
||||
var dataSurKon []*suratkontrol.GetDataSuratKontrol
|
||||
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
|
||||
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"
|
||||
@@ -249,58 +294,7 @@ func SearchDataSurKon(req suratkontrol.RequestCariPasien, query string, args []i
|
||||
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"
|
||||
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
|
||||
err := config.SatuDataDB.Raw(querySelect, args...).Find(&dataSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
@@ -310,11 +304,7 @@ func SearchDataSurKonNew(req suratkontrol.RequestCariPasien, query string, args
|
||||
|
||||
func CountDataSurKon(req suratkontrol.RequestCariPasien, query string, args []interface{}) (int, error) {
|
||||
var jumlahData int
|
||||
queryDate := ` and date(dsk."Tanggal_rencana_kontrol") between ? and ?`
|
||||
if req.IsTanggalEntri {
|
||||
queryDate = ` and date(dsk."Tanggal_cetak_surat_kontrol") between ? and ?`
|
||||
}
|
||||
query += queryDate
|
||||
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"
|
||||
@@ -324,7 +314,7 @@ func CountDataSurKon(req suratkontrol.RequestCariPasien, query string, args []in
|
||||
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
|
||||
err := config.SatuDataDB.Raw(querySelect, args...).Find(&jumlahData).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return 0, err
|
||||
@@ -335,7 +325,7 @@ func CountDataSurKon(req suratkontrol.RequestCariPasien, query string, args []in
|
||||
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
|
||||
err := config.SatuDataDB.Raw(querySelect, idPasien).Scan(&noSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return "", err
|
||||
@@ -343,14 +333,3 @@ func GetNomorSurKon(idPasien string) (string, error) {
|
||||
log.Println("Nomor SurKon :", noSurKon)
|
||||
return noSurKon, nil
|
||||
}
|
||||
|
||||
func GetAllNomorSurKon(date string) ([]*suratkontrol.DataNomorSuratKontrol, error) {
|
||||
var listNoSurKon []*suratkontrol.DataNomorSuratKontrol
|
||||
querySelect := `select dsk."id", dsk."Nomor_surat_kontrol", date(dsk."Tanggal_rencana_kontrol") as "Tanggal_rencana_kontrol" from data_surat_kontrol dsk where dsk."Tipe_surat_kontrol" = '1' and date(dsk.date_created) = ?`
|
||||
err := config.SatuDataDB.Debug().Raw(querySelect, date).Scan(&listNoSurKon).Error
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
return listNoSurKon, nil
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package dokter
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"log"
|
||||
)
|
||||
|
||||
func GetNamaDokter(kdDokter string) (string, error) {
|
||||
var namaDokter string
|
||||
querySelect := `SELECT namadokter FROM m_dokter where "kddokter" = ?`
|
||||
errSelect := config.SimrsDB.Debug().Raw(querySelect, kdDokter).Scan(&namaDokter).Error
|
||||
if errSelect != nil {
|
||||
log.Println(errSelect)
|
||||
return "", errSelect
|
||||
}
|
||||
return namaDokter, nil
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
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
|
||||
}
|
||||
|
||||
func GetDataMikroBiologiByNoMR(req *mikrobiologi.RequestPasienMikrobiologi) ([]*mikrobiologi.OrderLabMikroMain, error) {
|
||||
var data []*mikrobiologi.OrderLabMikroMain
|
||||
query := `select * from "t_orderlabmikro_main" where "nomr" = ? and "idxdaftar" = ? and "nolab" = ?`
|
||||
errSelect := config.SimrsDB.Debug().Raw(query, req.NOMR, req.IDXDaftar, req.NoLab).Scan(&data).Error
|
||||
if errSelect != nil {
|
||||
if errors.Is(errSelect, gorm.ErrRecordNotFound) {
|
||||
errMsg := errors.New("Data Tidak Ditemukan")
|
||||
log.Println(errMsg)
|
||||
return nil, errMsg
|
||||
}
|
||||
log.Println(errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func GetDataLabMikro(noLab string) (*mikrobiologi.OrderLabMikro, bool, error) {
|
||||
var dataMikro *mikrobiologi.OrderLabMikro
|
||||
querySelect := `select olm."idxordermikro", olm."jenis_pemeriksaan"
|
||||
from t_orderlabmikro olm
|
||||
left join "m_form_lab" fl on olm."idxform" = fl."form_id"
|
||||
where olm."nolab" = ? and fl."sub_kelompok" = 'Jenis Pemeriksaan' limit 1`
|
||||
errSelect := config.SimrsDB.Debug().Raw(querySelect, noLab).Scan(&dataMikro).Error
|
||||
if errSelect != nil {
|
||||
log.Println(errSelect)
|
||||
return nil, false, errSelect
|
||||
}
|
||||
return dataMikro, true, nil
|
||||
}
|
||||
|
||||
func UpdateLabMikro(req *mikrobiologi.ReqUpdateLisMikro) error {
|
||||
queryUpdate := `update "t_orderlabmikro" set "no_lokal" = ? where "idxordermikro" = ?`
|
||||
errUpdate := config.SimrsDB.Debug().Exec(queryUpdate, req.NoLokal, req.IdxOrderMikro).Error
|
||||
if errUpdate != nil {
|
||||
log.Println(errUpdate)
|
||||
return errUpdate
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package pasien
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/simrs/mikrobiologi"
|
||||
"bridging-rssa/models/simrs/pasien"
|
||||
"log"
|
||||
)
|
||||
|
||||
func GetMPasien(req *mikrobiologi.RequestPasienMikrobiologi) (*pasien.MPasien, error) {
|
||||
var dataPasien *pasien.MPasien
|
||||
querySelect := `select * from m_pasien where "nomr" = ?`
|
||||
errSelect := config.SimrsDB.Debug().Raw(querySelect, req.NOMR).First(&dataPasien).Error
|
||||
if errSelect != nil {
|
||||
log.Println(errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return dataPasien, nil
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package pendaftaran
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/simrs/mikrobiologi"
|
||||
"log"
|
||||
)
|
||||
|
||||
func GetCaraBayar(req *mikrobiologi.OrderLabMikroMain) (string, error) {
|
||||
var CaraBayar string
|
||||
query := `select mcb."nama" from t_pendaftaran tp
|
||||
left join m_carabayar mcb on tp."kdcarabayar" = mcb.kode
|
||||
where tp."idxdaftar" = ?`
|
||||
errSelect := config.SimrsDB.Debug().Raw(query, req.IdxDaftar).First(&CaraBayar).Error
|
||||
if errSelect != nil {
|
||||
log.Println(errSelect)
|
||||
return "", errSelect
|
||||
}
|
||||
return CaraBayar, nil
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package ruang
|
||||
|
||||
import (
|
||||
"bridging-rssa/config"
|
||||
"bridging-rssa/models/simrs/ruang"
|
||||
"log"
|
||||
)
|
||||
|
||||
func GetNamaRuang(kdPoli string) (*ruang.MRuang, error) {
|
||||
var poli *ruang.MRuang
|
||||
query := `select "nama", "subsistem" from m_ruang where "no" = ?`
|
||||
errSelect := config.SimrsDB.Debug().Raw(query, kdPoli).Scan(&poli).Error
|
||||
if errSelect != nil {
|
||||
log.Println(errSelect)
|
||||
return nil, errSelect
|
||||
}
|
||||
return poli, nil
|
||||
}
|
||||
+5
-3
@@ -7,12 +7,14 @@ services:
|
||||
container_name: api-rssa
|
||||
restart: always
|
||||
ports:
|
||||
- 8082:8082
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- .:/app
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
environment:
|
||||
# Set timezone to Asia/Jakarta
|
||||
- ENV TZ=Asia/Jakarta
|
||||
# TIMEZONE
|
||||
- TZ=Asia/Jakarta
|
||||
# DATABASE SIMRS V3.0
|
||||
- POSTGRE_DB_HOST=10.10.123.223
|
||||
- POSTGRE_DB_PORT=5432
|
||||
|
||||
+27
-27
@@ -1,27 +1,27 @@
|
||||
!/bin/bash
|
||||
|
||||
#get image name
|
||||
remote_url=$(git remote get-url origin)
|
||||
image=$(echo $remote_url | sed 's|https://||g; s|.git||g')
|
||||
|
||||
#get branch name
|
||||
branch_name=$(git rev-parse --abbrev-ref HEAD)
|
||||
clean_branch_name=${branch_name##*/}
|
||||
|
||||
#get timestamp for the tag
|
||||
timestamp=$(date +%Y%m%d%H%M%S)
|
||||
|
||||
tag=$image:$timestamp-$clean_branch_name
|
||||
latest=$image:latest-$clean_branch_name
|
||||
|
||||
#build image
|
||||
docker build -t $tag .
|
||||
docker tag $tag $latest
|
||||
|
||||
#push to dockerhub
|
||||
docker login git.rssa.top -u stim -p 4fde63b07906e7bfa6b3493d76d153a3981039b9
|
||||
docker push $tag
|
||||
docker push $latest
|
||||
|
||||
#remove dangling images
|
||||
docker system prune -f
|
||||
!/bin/bash
|
||||
|
||||
#get image name
|
||||
remote_url=$(git remote get-url origin)
|
||||
image=$(echo $remote_url | sed 's|https://||g; s|.git||g')
|
||||
|
||||
#get branch name
|
||||
branch_name=$(git rev-parse --abbrev-ref HEAD)
|
||||
clean_branch_name=${branch_name##*/}
|
||||
|
||||
#get timestamp for the tag
|
||||
timestamp=$(date +%Y%m%d%H%M%S)
|
||||
|
||||
tag=$image:$timestamp-$clean_branch_name
|
||||
latest=$image:latest-$clean_branch_name
|
||||
|
||||
#build image
|
||||
docker build -t $tag .
|
||||
docker tag $tag $latest
|
||||
|
||||
#push to dockerhub
|
||||
docker login git.rssa.top -u stim -p 4fde63b07906e7bfa6b3493d76d153a3981039b9
|
||||
docker push $tag
|
||||
docker push $latest
|
||||
|
||||
#remove dangling images
|
||||
docker system prune -f
|
||||
@@ -54,11 +54,7 @@ func GetNoUrut(noSurKon string) (string, error) {
|
||||
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
|
||||
|
||||
@@ -60,7 +60,8 @@ func GetFKRTL(c *gin.Context) {
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(true, conf)
|
||||
icare := true
|
||||
header := cfg.SetHeader(icare, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
@@ -216,8 +217,8 @@ func GetFKRTL(c *gin.Context) {
|
||||
}
|
||||
|
||||
func GetFKTP(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
|
||||
|
||||
|
||||
@@ -54,15 +54,6 @@ func ResponseGetFKRTL(url string, header *config.Header, headers map[string]stri
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
// if response.StatusCode != 200 {
|
||||
// errMsg := errors.New(response.Status)
|
||||
// log.Printf("error : %v", errMsg)
|
||||
// responses.MetaData.Code = 503
|
||||
// responses.MetaData.Message = errMsg.Error()
|
||||
// log.Println("responses: ", responses)
|
||||
// return responses, err
|
||||
// }
|
||||
|
||||
if response.StatusCode == http.StatusGatewayTimeout { // 504
|
||||
errMsg := errors.New("Koneksi BPJS Terputus, Silahkan Coba Lagi")
|
||||
log.Printf("error : %v", errMsg)
|
||||
@@ -185,6 +176,13 @@ func ResponseGetFKTP(url string, header *config.Header, headers map[string]strin
|
||||
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)
|
||||
@@ -198,13 +196,6 @@ func ResponseGetFKTP(url string, header *config.Header, headers map[string]strin
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
err = json.Unmarshal([]byte(string(res)), &resFkrtlRaw)
|
||||
if err != nil {
|
||||
log.Printf("Error Unmarshaling: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("ResponseRaw : ", resFkrtlRaw)
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resFkrtlRaw.Response)
|
||||
if err != nil {
|
||||
|
||||
@@ -3,16 +3,16 @@ package jadwal_dokter
|
||||
import (
|
||||
cfg "bridging-rssa/config"
|
||||
"bridging-rssa/database/satu_data/dokter"
|
||||
"bridging-rssa/database/satu_data/jadwal"
|
||||
log_api "bridging-rssa/database/satu_data/log_api"
|
||||
"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"
|
||||
logapi "bridging-rssa/models/log_api"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/google/uuid"
|
||||
"gorm.io/gorm"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
@@ -21,15 +21,12 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/google/uuid"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetJadwalDokter() {
|
||||
func GetJadwalDokter() bool {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("ANTREAN_RS")
|
||||
url := baseUrl + endpoint
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(false, conf)
|
||||
@@ -41,29 +38,22 @@ func GetJadwalDokter() {
|
||||
"user_key": header.UserKey,
|
||||
}
|
||||
|
||||
log.Println("Headers : ", headers)
|
||||
var headerStringBuilder strings.Builder
|
||||
for key, value := range headers {
|
||||
headerStringBuilder.WriteString(fmt.Sprintf("%s: %s; ", key, value))
|
||||
}
|
||||
headerString := strings.TrimSuffix(headerStringBuilder.String(), "; ")
|
||||
|
||||
errTruncate := dokter.DeleteJadwalDokter()
|
||||
if errTruncate != nil {
|
||||
log.Println(errTruncate)
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
errTruncateTemp := dokter.DeleteJadwalDokterTemp()
|
||||
if errTruncateTemp != nil {
|
||||
log.Println(errTruncateTemp)
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
// Select from daftar spesialis
|
||||
spesialis, err := dokter.GetSpesialis()
|
||||
if err != nil {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
var listIdSpesialis = make(map[string]int)
|
||||
@@ -73,7 +63,7 @@ func GetJadwalDokter() {
|
||||
|
||||
subspesialis, err := dokter.GetSubspesialis()
|
||||
if err != nil {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
var listIdSubspesialis = make(map[string]int)
|
||||
@@ -83,7 +73,7 @@ func GetJadwalDokter() {
|
||||
|
||||
listDokter, err := dokter.GetDokter()
|
||||
if err != nil {
|
||||
return
|
||||
return false
|
||||
}
|
||||
|
||||
var listIddokter = make(map[int]string)
|
||||
@@ -97,72 +87,21 @@ func GetJadwalDokter() {
|
||||
tanggal := time.Now().Format("2006-01-02")
|
||||
for i := 0; i < 7; i++ {
|
||||
kdPoly := value.Kode
|
||||
param := "/jadwaldokter/kodepoli/" + kdPoly + "/tanggal/" + tanggal
|
||||
url += param
|
||||
req := &jadwal_dokter.RequestJadwalDokter{
|
||||
KodePoli: kdPoly,
|
||||
Tanggal: tanggal,
|
||||
res, err := JadwalDokterGetResponse(url, header, kdPoly, tanggal, headers)
|
||||
if err != nil {
|
||||
log.Println("Error making external API request: %v", err)
|
||||
return false
|
||||
}
|
||||
reqJson, errMarshal := json.Marshal(req)
|
||||
if errMarshal != nil {
|
||||
log.Println(errMarshal)
|
||||
return
|
||||
date, errParse := time.Parse("2006-01-02", tanggal)
|
||||
if errParse != nil {
|
||||
return false
|
||||
}
|
||||
logTimeStart := time.Now().Format("2006-01-02 15:04:05")
|
||||
res, errResponse := JadwalDokterGetResponse(url, header, kdPoly, tanggal, headers)
|
||||
if errResponse != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
resJson, errMarshalRes := json.Marshal(res)
|
||||
if errMarshalRes != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
}
|
||||
|
||||
uuid := uuid.New().String()
|
||||
logTimeEnd := time.Now().Format("2006-01-02 15:04:05")
|
||||
if res.MetaData.Code != 200 {
|
||||
tanggal = date.AddDate(0, 0, 1).Format("2006-01-02")
|
||||
log.Println("Tanggal :", tanggal)
|
||||
if res == nil {
|
||||
log.Println("Skip Proses")
|
||||
reqLogApi := &logapi.DataLogAPI{
|
||||
ID: uuid,
|
||||
DateCreated: logTimeEnd,
|
||||
Parameter: "BPJS-AntreanRS-JadwalDokter",
|
||||
Header: headerString,
|
||||
Method: "GET",
|
||||
Url: url,
|
||||
Request: reqJson,
|
||||
Respon: resJson,
|
||||
ResponCode: "500",
|
||||
ResponTimeStart: logTimeStart,
|
||||
ResponTimeEnd: logTimeEnd,
|
||||
Comment: "Data Kosong",
|
||||
}
|
||||
errLog := log_api.InsertLogAPI(reqLogApi)
|
||||
if errLog != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
reqLogApi := &logapi.DataLogAPI{
|
||||
ID: uuid,
|
||||
DateCreated: logTimeEnd,
|
||||
Parameter: "BPJS-AntreanRS-JadwalDokter",
|
||||
Header: headerString,
|
||||
Method: "GET",
|
||||
Url: url,
|
||||
Request: reqJson,
|
||||
Respon: resJson,
|
||||
ResponCode: strconv.Itoa(res.MetaData.Code),
|
||||
ResponTimeStart: logTimeStart,
|
||||
ResponTimeEnd: logTimeEnd,
|
||||
Comment: res.MetaData.Message,
|
||||
}
|
||||
errLog := log_api.InsertLogAPI(reqLogApi)
|
||||
if errLog != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
}
|
||||
for _, v := range res.Response {
|
||||
idSpesialis := utils.KodeToIDConverter(v.KodePoli, listIdSpesialis)
|
||||
idSubspesialis := utils.KodeToIDConverter(v.KodeSubspesialis, listIdSubspesialis)
|
||||
@@ -180,40 +119,35 @@ func GetJadwalDokter() {
|
||||
errInsert := dokter.InsertJadwalDokter(reqInsert)
|
||||
if errInsert != nil {
|
||||
log.Println(errInsert)
|
||||
return
|
||||
return false
|
||||
}
|
||||
} else {
|
||||
reqInsert.Dokter = strconv.Itoa(v.KodeDokter)
|
||||
errInsertTemp := dokter.InsertJadwalDokterTemp(reqInsert)
|
||||
if errInsertTemp != nil {
|
||||
log.Println(errInsertTemp)
|
||||
return
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
date, errParse := time.Parse("2006-01-02", tanggal)
|
||||
if errParse != nil {
|
||||
return
|
||||
}
|
||||
tanggal = date.AddDate(0, 0, 1).Format("2006-01-02")
|
||||
log.Println("Tanggal :", tanggal)
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func GetDokterByDPJP(c *gin.Context) {
|
||||
dpjp := c.Param("dpjp")
|
||||
listHari, err := dokter.GetJadwalDokterByDPJP(dpjp)
|
||||
idDokter, err := dokter.GetJadwalDokterByDPJP(dpjp)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &suratkontrol.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
||||
log.Println("listHari: ", listHari)
|
||||
listHari, err := dokter.GetJadwalHariDokterBySpesialis(idDokter)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
||||
var IDDokter []string
|
||||
var idSubspesialis int
|
||||
@@ -225,11 +159,7 @@ func GetDokterByDPJP(c *gin.Context) {
|
||||
|
||||
namaDokter, err := dokter.GetNamaLengkapDokter(IDDokter)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &suratkontrol.MetadataString{
|
||||
Code: "",
|
||||
Message: err.Error(),
|
||||
})
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -345,7 +275,6 @@ func GetDokterBySpesialis(c *gin.Context) {
|
||||
NamaLengkap: namaLengkap,
|
||||
Spesialis: idSpesialis,
|
||||
HFISCode: v.HFISCode,
|
||||
DPJPCode: v.DPJPCode,
|
||||
})
|
||||
}
|
||||
log.Println("Response :", resDokter)
|
||||
@@ -403,377 +332,7 @@ func GetDokterBySubspesialis(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, resDokter)
|
||||
}
|
||||
|
||||
func GetJadwalDokterApi(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("ANTREAN_RS")
|
||||
url := baseUrl + endpoint
|
||||
|
||||
var req *jadwal_dokter.RequestJadwalDokter
|
||||
|
||||
err := c.Bind(&req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, &jadwal_dokter.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(false, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
"X-timestamp": header.TimeStamp,
|
||||
"X-signature": header.XSignature,
|
||||
"user_key": header.UserKey,
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
|
||||
param := "/jadwaldokter/kodepoli/" + req.KodePoli + "/tanggal/" + req.Tanggal
|
||||
url += param
|
||||
res, err := JadwalDokterGetResponse(url, header, req.KodePoli, req.Tanggal, headers)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, &jadwal_dokter.Metadata{
|
||||
Code: 0,
|
||||
Message: err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
|
||||
func GetAllJadwalDokter(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("ANTREAN_RS")
|
||||
url := baseUrl + endpoint
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(false, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
"X-timestamp": header.TimeStamp,
|
||||
"X-signature": header.XSignature,
|
||||
"user_key": header.UserKey,
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
|
||||
errTruncate := dokter.DeleteJadwalDokter()
|
||||
if errTruncate != nil {
|
||||
log.Println(errTruncate)
|
||||
c.JSON(http.StatusInternalServerError, errTruncate)
|
||||
}
|
||||
|
||||
errTruncateTemp := dokter.DeleteJadwalDokterTemp()
|
||||
if errTruncateTemp != nil {
|
||||
log.Println(errTruncateTemp)
|
||||
c.JSON(http.StatusInternalServerError, errTruncateTemp)
|
||||
}
|
||||
|
||||
// Select from daftar spesialis
|
||||
spesialis, err := dokter.GetSpesialis()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
|
||||
var listIdSpesialis = make(map[string]int)
|
||||
for _, kodeDokter := range spesialis {
|
||||
listIdSpesialis[kodeDokter.Kode] = kodeDokter.ID
|
||||
}
|
||||
|
||||
subspesialis, err := dokter.GetSubspesialis()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
|
||||
var listIdSubspesialis = make(map[string]int)
|
||||
for _, kodeDokter := range subspesialis {
|
||||
listIdSubspesialis[kodeDokter.Kode] = kodeDokter.ID
|
||||
}
|
||||
|
||||
listDokter, err := dokter.GetDokter()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
|
||||
var listIddokter = make(map[int]string)
|
||||
for _, kodeDokter := range listDokter {
|
||||
listIddokter[kodeDokter.HfisCode] = kodeDokter.ID
|
||||
}
|
||||
|
||||
var reqInsert *jadwal_dokter.JadwalDokterSatuData
|
||||
var res []*jadwal_dokter.ListDokter
|
||||
|
||||
for _, value := range spesialis {
|
||||
tanggal := time.Now().Format("2006-01-02")
|
||||
// tanggal := "2025-01-08"
|
||||
for i := 0; i < 7; i++ {
|
||||
kdPoly := value.Kode
|
||||
res, err = JadwalDokterGetResponseApi(url, header, kdPoly, tanggal, headers)
|
||||
if err != nil {
|
||||
log.Println("Error making external API request: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
date, errParse := time.Parse("2006-01-02", tanggal)
|
||||
if errParse != nil {
|
||||
c.JSON(http.StatusInternalServerError, errParse)
|
||||
return
|
||||
}
|
||||
tanggal = date.AddDate(0, 0, 1).Format("2006-01-02")
|
||||
log.Println("Tanggal :", tanggal)
|
||||
if res == nil {
|
||||
log.Println("Skip Proses")
|
||||
continue
|
||||
}
|
||||
for _, v := range res {
|
||||
idSpesialis := utils.KodeToIDConverter(v.KodePoli, listIdSpesialis)
|
||||
idSubspesialis := utils.KodeToIDConverter(v.KodeSubspesialis, listIdSubspesialis)
|
||||
idDokter := utils.HfisCodeToIDConverter(v.KodeDokter, listIddokter)
|
||||
reqInsert = &jadwal_dokter.JadwalDokterSatuData{
|
||||
Hari: v.Hari,
|
||||
NamaHari: v.NamaHari,
|
||||
Waktu: v.Jadwal,
|
||||
Dokter: idDokter,
|
||||
Spesialis: idSpesialis,
|
||||
SubSpesialis: idSubspesialis,
|
||||
Status: 1, // When available always set to 1
|
||||
}
|
||||
date, errParse := time.Parse("2006-01-02", tanggal)
|
||||
if errParse != nil {
|
||||
c.JSON(http.StatusInternalServerError, errParse)
|
||||
return
|
||||
}
|
||||
tanggal = date.AddDate(0, 0, 1).Format("2006-01-02")
|
||||
log.Println("Tanggal :", tanggal)
|
||||
if res == nil {
|
||||
log.Println("Skip Proses")
|
||||
continue
|
||||
}
|
||||
for _, v := range res {
|
||||
idSpesialis := utils.KodeToIDConverter(v.KodePoli, listIdSpesialis)
|
||||
idSubspesialis := utils.KodeToIDConverter(v.KodeSubspesialis, listIdSubspesialis)
|
||||
idDokter := utils.HfisCodeToIDConverter(v.KodeDokter, listIddokter)
|
||||
reqInsert = &jadwal_dokter.JadwalDokterSatuData{
|
||||
Hari: v.Hari,
|
||||
NamaHari: v.NamaHari,
|
||||
Waktu: v.Jadwal,
|
||||
Dokter: idDokter,
|
||||
Spesialis: idSpesialis,
|
||||
SubSpesialis: idSubspesialis,
|
||||
Status: 1, // When available always set to 1
|
||||
}
|
||||
if reqInsert.Dokter != "" {
|
||||
errInsert := dokter.InsertJadwalDokter(reqInsert)
|
||||
if errInsert != nil {
|
||||
log.Println(errInsert)
|
||||
c.JSON(http.StatusInternalServerError, errInsert)
|
||||
}
|
||||
} else {
|
||||
reqInsert.Dokter = strconv.Itoa(v.KodeDokter)
|
||||
errInsertTemp := dokter.InsertJadwalDokterTemp(reqInsert)
|
||||
if errInsertTemp != nil {
|
||||
log.Println(errInsertTemp)
|
||||
c.JSON(http.StatusInternalServerError, errInsertTemp)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
|
||||
func GetJadwalDokterNew(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("ANTREAN_RS")
|
||||
url := baseUrl + endpoint
|
||||
|
||||
spesialis, err := dokter.GetSpesialis()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
||||
var listIdSpesialis = make(map[string]int)
|
||||
for _, kodeDokter := range spesialis {
|
||||
listIdSpesialis[kodeDokter.Kode] = kodeDokter.ID
|
||||
}
|
||||
|
||||
subspesialis, err := dokter.GetSubspesialis()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
||||
var listIdSubspesialis = make(map[string]int)
|
||||
for _, kodeDokter := range subspesialis {
|
||||
listIdSubspesialis[kodeDokter.Kode] = kodeDokter.ID
|
||||
}
|
||||
|
||||
listDokter, err := dokter.GetDokter()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
||||
var listIddokter = make(map[int]string)
|
||||
for _, kodeDokter := range listDokter {
|
||||
listIddokter[kodeDokter.HfisCode] = kodeDokter.ID
|
||||
}
|
||||
|
||||
var reqInsert *jadwal_dokter.JadwalDokterSatuData
|
||||
var res []*jadwal_dokter.ListDokter
|
||||
|
||||
for _, value := range spesialis {
|
||||
tanggalString := time.Now().Format("2006-01-02")
|
||||
|
||||
for i := 0; i < 7; i++ {
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(false, conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
"X-timestamp": header.TimeStamp,
|
||||
"X-signature": header.XSignature,
|
||||
"user_key": header.UserKey,
|
||||
}
|
||||
kdPoly := value.Kode
|
||||
res, err = JadwalDokterGetResponseApi(url, header, kdPoly, tanggalString, headers)
|
||||
if err != nil {
|
||||
log.Println("Error making external API request: ", err)
|
||||
}
|
||||
date, errParse := time.Parse("2006-01-02", tanggalString)
|
||||
if errParse != nil {
|
||||
c.JSON(http.StatusInternalServerError, errParse)
|
||||
return
|
||||
}
|
||||
|
||||
tanggalString = date.AddDate(0, 0, 1).Format("2006-01-02")
|
||||
log.Println("Tanggal :", tanggalString)
|
||||
if res == nil {
|
||||
log.Println("Skip Proses")
|
||||
continue
|
||||
}
|
||||
hari := date.Local().Weekday().String()
|
||||
hari = utils.ConvertDay(hari)
|
||||
|
||||
if res == nil {
|
||||
idSubspesialis := utils.KodeToIDConverter(value.Kode, listIdSubspesialis)
|
||||
reqUpdate := &jadwal_dokter.JadwalDokterSatuData{
|
||||
NamaHari: hari,
|
||||
SubSpesialis: idSubspesialis,
|
||||
Status: 0,
|
||||
}
|
||||
_, errUpdate := dokter.UpdateJadwalDokter(reqUpdate)
|
||||
if errUpdate != nil {
|
||||
log.Println(errUpdate)
|
||||
c.JSON(http.StatusInternalServerError, errUpdate)
|
||||
return
|
||||
}
|
||||
log.Println("Skip Proses")
|
||||
continue
|
||||
}
|
||||
jadwalLibur, isLibur, errLibur := jadwal.GetJadwalLibur(tanggalString)
|
||||
if errLibur != nil {
|
||||
log.Println(errLibur)
|
||||
c.JSON(http.StatusInternalServerError, errLibur)
|
||||
return
|
||||
}
|
||||
if isLibur {
|
||||
tanggalTemp, errParseTemp := time.Parse("2006-01-02", tanggalString)
|
||||
if errParseTemp != nil {
|
||||
c.JSON(http.StatusInternalServerError, errParseTemp)
|
||||
return
|
||||
}
|
||||
isLibur = false
|
||||
for i := 0; i < 3; i++ {
|
||||
log.Println(jadwalLibur.NamaLiburPelayanan)
|
||||
tanggalTemp = tanggalTemp.AddDate(0, 0, 7)
|
||||
tanggalTempString := tanggalTemp.Format("2006-01-02")
|
||||
log.Println(tanggalTempString)
|
||||
resNew, errRes := JadwalDokterGetResponseApi(url, header, kdPoly, tanggalTempString, headers)
|
||||
if errRes != nil {
|
||||
log.Println("Error making external API request: ", errRes)
|
||||
}
|
||||
if resNew != nil {
|
||||
for _, v := range resNew {
|
||||
res = append(res, &jadwal_dokter.ListDokter{
|
||||
KodeSubspesialis: v.KodeSubspesialis,
|
||||
Hari: v.Hari,
|
||||
KapasitasPasien: v.KapasitasPasien,
|
||||
Libur: v.Libur,
|
||||
NamaHari: v.NamaHari,
|
||||
Jadwal: v.Jadwal,
|
||||
NamaSubspesialis: v.NamaSubspesialis,
|
||||
NamaDokter: v.NamaDokter,
|
||||
KodePoli: v.KodePoli,
|
||||
NamaPoli: v.NamaPoli,
|
||||
KodeDokter: v.KodeDokter,
|
||||
})
|
||||
}
|
||||
log.Println("Ada data pada tanggal ", tanggalTempString)
|
||||
break
|
||||
} else {
|
||||
log.Println("Tidak ada data pada tanggal ", tanggalTempString)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, v := range res {
|
||||
idSpesialis := utils.KodeToIDConverter(v.KodePoli, listIdSpesialis)
|
||||
idSubspesialis := utils.KodeToIDConverter(v.KodeSubspesialis, listIdSubspesialis)
|
||||
idDokter := utils.HfisCodeToIDConverter(v.KodeDokter, listIddokter)
|
||||
reqUpdate := &jadwal_dokter.JadwalDokterSatuData{
|
||||
NamaHari: v.NamaHari,
|
||||
Dokter: idDokter,
|
||||
SubSpesialis: idSubspesialis,
|
||||
Status: 1, // When available always set to 1
|
||||
}
|
||||
exist, errUpdate := dokter.UpdateJadwalDokter(reqUpdate)
|
||||
if errUpdate != nil {
|
||||
log.Println(errUpdate)
|
||||
c.JSON(http.StatusInternalServerError, errUpdate)
|
||||
return
|
||||
}
|
||||
reqInsert = &jadwal_dokter.JadwalDokterSatuData{
|
||||
Hari: v.Hari,
|
||||
NamaHari: v.NamaHari,
|
||||
Waktu: v.Jadwal,
|
||||
Dokter: idDokter,
|
||||
Spesialis: idSpesialis,
|
||||
SubSpesialis: idSubspesialis,
|
||||
Status: 1, // When available always set to 1
|
||||
}
|
||||
if reqInsert.Dokter != "" && !exist {
|
||||
log.Println("MASUK SINI")
|
||||
errInsert := dokter.InsertJadwalDokter(reqInsert)
|
||||
if errInsert != nil {
|
||||
log.Println(errInsert)
|
||||
}
|
||||
} else if reqInsert.Dokter == "" {
|
||||
reqInsert.Dokter = strconv.Itoa(v.KodeDokter)
|
||||
errInsertTemp := dokter.InsertJadwalDokterTemp(reqInsert)
|
||||
if errInsertTemp != nil {
|
||||
log.Println(errInsertTemp)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 200,
|
||||
"message": "success",
|
||||
})
|
||||
}
|
||||
|
||||
func GetDataJadwalDokter(c *gin.Context) {
|
||||
func GetDataJadwalDokter() bool {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS")
|
||||
endpoint := os.Getenv("ANTREAN_RS")
|
||||
|
||||
@@ -783,11 +342,8 @@ func GetDataJadwalDokter(c *gin.Context) {
|
||||
|
||||
spesialis, err := dokter.GetSpesialis()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{
|
||||
"Code": "",
|
||||
"Message": err,
|
||||
})
|
||||
return
|
||||
log.Println("Error getting spesialis", err)
|
||||
return false
|
||||
}
|
||||
|
||||
var listIdSpesialis = make(map[string]int)
|
||||
@@ -797,11 +353,8 @@ func GetDataJadwalDokter(c *gin.Context) {
|
||||
|
||||
subspesialis, err := dokter.GetSubspesialis()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{
|
||||
"Code": "",
|
||||
"Message": err,
|
||||
})
|
||||
return
|
||||
log.Println("Error getting subspesialis", err)
|
||||
return false
|
||||
}
|
||||
|
||||
var listIdSubspesialis = make(map[string]int)
|
||||
@@ -811,11 +364,8 @@ func GetDataJadwalDokter(c *gin.Context) {
|
||||
|
||||
listDokter, err := dokter.GetDokter()
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{
|
||||
"Code": "",
|
||||
"Message": err,
|
||||
})
|
||||
return
|
||||
log.Println("Error getting dokter", err)
|
||||
return false
|
||||
}
|
||||
|
||||
var listIddokter = make(map[int]string)
|
||||
@@ -824,6 +374,11 @@ func GetDataJadwalDokter(c *gin.Context) {
|
||||
}
|
||||
db := cfg.SatuDataDB
|
||||
errTx := db.Transaction(func(tx *gorm.DB) error {
|
||||
errTruncate := dokter.TruncateDataJadwalDokter()
|
||||
if errTruncate != nil {
|
||||
log.Println(errTruncate)
|
||||
return errTruncate
|
||||
}
|
||||
for _, value := range spesialis {
|
||||
url := baseUrl + endpoint + "/jadwaldokter/kodepoli/" + value.Kode
|
||||
|
||||
@@ -844,7 +399,7 @@ func GetDataJadwalDokter(c *gin.Context) {
|
||||
headerString := strings.TrimSuffix(headerStringBuilder.String(), "; ")
|
||||
|
||||
startDate := time.Now()
|
||||
endDate := startDate.AddDate(0, 3, 0)
|
||||
endDate := startDate.AddDate(0, 1, 0)
|
||||
logTimeStart := time.Now().Format("2006-01-02 15:04:05")
|
||||
var res *jadwal_dokter.JadwalDokter
|
||||
var reqLog []*jadwal_dokter.RequestJadwalDokter
|
||||
@@ -942,63 +497,8 @@ func GetDataJadwalDokter(c *gin.Context) {
|
||||
})
|
||||
if errTx != nil {
|
||||
log.Println(errTx)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{
|
||||
"Code": "",
|
||||
"Message": errTx,
|
||||
})
|
||||
return
|
||||
return false
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"Code": "200",
|
||||
"Message": "Berhasil Simpan Data",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func GetDetailJadwalDokter(c *gin.Context) {
|
||||
var req *jadwal_dokter.RequestDataJadwalDokter
|
||||
|
||||
errBind := c.Bind(&req)
|
||||
if errBind != nil {
|
||||
log.Println(errBind)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": errBind})
|
||||
return
|
||||
}
|
||||
query := ``
|
||||
var conditions []string
|
||||
var args []interface{}
|
||||
if req.NamaHari != "" {
|
||||
conditions = append(conditions, `"Nama_hari" = ? `)
|
||||
args = append(args, req.NamaHari)
|
||||
}
|
||||
if req.Subspesialis != 0 {
|
||||
conditions = append(conditions, `"Sub_spesialis" = ? `)
|
||||
args = append(args, req.Subspesialis)
|
||||
}
|
||||
if len(conditions) > 0 {
|
||||
query += " WHERE " + strings.Join(conditions, " AND ")
|
||||
}
|
||||
dataDokter, err := dokter.GetAllJadwalDokter(query, args)
|
||||
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)
|
||||
log.Println("Berhasil ambil jadwal data dokter")
|
||||
return true
|
||||
}
|
||||
@@ -72,60 +72,3 @@ func JadwalDokterGetResponse(url string, header *config.Header, kdPoly string, t
|
||||
|
||||
return responses, nil
|
||||
}
|
||||
|
||||
func JadwalDokterGetResponseApi(url string, header *config.Header, kdPoly string, tanggal string, headers map[string]string) ([]*jadwal_dokter.ListDokter, error) {
|
||||
param := "/jadwaldokter/kodepoli/" + kdPoly + "/tanggal/" + tanggal
|
||||
url += param
|
||||
log.Println("URL", url)
|
||||
req, err := http.NewRequest("GET", url, nil)
|
||||
if err != nil {
|
||||
log.Printf("Error creating request: %v", err)
|
||||
}
|
||||
|
||||
for key, value := range headers {
|
||||
req.Header.Set(key, value)
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
var jadwalDokterRaw jadwal_dokter.JadwalDokterRaw
|
||||
err = json.Unmarshal([]byte(res), &jadwalDokterRaw)
|
||||
if err != nil {
|
||||
log.Printf("Error Unmarshaling: %v", err)
|
||||
}
|
||||
|
||||
if jadwalDokterRaw.MetaData.Code == 201 {
|
||||
log.Println("No Data Found")
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, jadwalDokterRaw.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
}
|
||||
|
||||
var listDokter []*jadwal_dokter.ListDokter
|
||||
|
||||
log.Println("dataresp: ", dataResp)
|
||||
|
||||
err = json.Unmarshal([]byte(dataResp), &listDokter)
|
||||
if err != nil {
|
||||
log.Printf("Error Decode: %v", err)
|
||||
}
|
||||
|
||||
log.Println("res: ", &listDokter)
|
||||
|
||||
return listDokter, nil
|
||||
}
|
||||
@@ -1,148 +0,0 @@
|
||||
package rujukan
|
||||
|
||||
import (
|
||||
"bridging-rssa/docs"
|
||||
"bridging-rssa/models/bpjs/rujukan"
|
||||
"bridging-rssa/models/config"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"io"
|
||||
"log"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func ResponseGetRujukan(url string, header *config.Header, headers map[string]string) (*rujukan.ResponseGetRujukan, error) {
|
||||
log.Println("URL", url)
|
||||
|
||||
req, err := http.NewRequest("GET", url, nil)
|
||||
if err != nil {
|
||||
log.Printf("Error creating request: %v", err)
|
||||
}
|
||||
|
||||
for key, value := range headers {
|
||||
req.Header.Set(key, value)
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
log.Println("res: ", string(res))
|
||||
|
||||
var resRujukanRaw rujukan.ResponseRaw
|
||||
err = json.Unmarshal([]byte(string(res)), &resRujukanRaw)
|
||||
if err != nil {
|
||||
log.Printf("Error Unmarshaling: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &rujukan.ResponseGetRujukan{}
|
||||
if resRujukanRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resRujukanRaw.MetaData.Message)
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resRujukanRaw.MetaData.Code
|
||||
responses.MetaData.Message = resRujukanRaw.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resRujukanRaw.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("dataresp: ", dataResp)
|
||||
|
||||
var responseRujukan rujukan.ResponseRujukan
|
||||
err = json.Unmarshal([]byte(dataResp), &responseRujukan)
|
||||
if err != nil {
|
||||
log.Printf("Error Decode: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses = &rujukan.ResponseGetRujukan{
|
||||
MetaData: resRujukanRaw.MetaData,
|
||||
Response: responseRujukan,
|
||||
}
|
||||
log.Println("res: ", responses)
|
||||
|
||||
return responses, nil
|
||||
}
|
||||
|
||||
func ResponseGetRujukanBatch(url string, header *config.Header, headers map[string]string) (*rujukan.ResponseGetRujukanBatch, error) {
|
||||
log.Println("URL", url)
|
||||
|
||||
req, err := http.NewRequest("GET", url, nil)
|
||||
if err != nil {
|
||||
log.Printf("Error creating request: %v", err)
|
||||
}
|
||||
|
||||
for key, value := range headers {
|
||||
req.Header.Set(key, value)
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
log.Println("res: ", string(res))
|
||||
|
||||
var resRujukanRaw rujukan.ResponseRaw
|
||||
err = json.Unmarshal([]byte(string(res)), &resRujukanRaw)
|
||||
if err != nil {
|
||||
log.Printf("Error Unmarshaling: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &rujukan.ResponseGetRujukanBatch{}
|
||||
if resRujukanRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resRujukanRaw.MetaData.Message)
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resRujukanRaw.MetaData.Code
|
||||
responses.MetaData.Message = resRujukanRaw.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resRujukanRaw.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("dataresp: ", dataResp)
|
||||
|
||||
var responseRujukan rujukan.ResponseRujukanBatch
|
||||
err = json.Unmarshal([]byte(dataResp), &responseRujukan)
|
||||
if err != nil {
|
||||
log.Printf("Error Decode: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses = &rujukan.ResponseGetRujukanBatch{
|
||||
MetaData: resRujukanRaw.MetaData,
|
||||
Response: responseRujukan,
|
||||
}
|
||||
log.Println("res: ", responses)
|
||||
|
||||
return responses, nil
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
package rujukan
|
||||
|
||||
import (
|
||||
cfg "bridging-rssa/config"
|
||||
"bridging-rssa/models/config"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func GetSuratRujukan(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
||||
endpoint := os.Getenv("VCLAIM_RS_DEV")
|
||||
param := os.Getenv("GET_NOMOR_RUJUKAN")
|
||||
noRujukan := c.Param("noRujukan")
|
||||
url := baseUrl + endpoint + param + noRujukan
|
||||
|
||||
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; charset=utf-8",
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
|
||||
res, err := ResponseGetRujukan(url, header, headers)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
|
||||
func GetSuratRujukanBatch(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
||||
endpoint := os.Getenv("VCLAIM_RS_DEV")
|
||||
param := os.Getenv("GET_NOMOR_RUJUKAN")
|
||||
noKartu := c.Param("noKartu")
|
||||
url := baseUrl + endpoint + param + noKartu
|
||||
|
||||
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; charset=utf-8",
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
|
||||
res, err := ResponseGetRujukan(url, header, headers)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
@@ -12,7 +12,6 @@ import (
|
||||
"log"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func PostData(url string, header *config.Header, headers map[string]string, request *suratkontrol.RequestHeaderRencanaKontrol) (*suratkontrol.Response, error) {
|
||||
@@ -21,7 +20,6 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
|
||||
reqMarshall, err := json.Marshal(request)
|
||||
if err != nil {
|
||||
log.Printf("Error json marshal: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("REQUEST: ", string(reqMarshall))
|
||||
@@ -37,21 +35,15 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{
|
||||
Timeout: 10 * time.Second,
|
||||
}
|
||||
client := http.Client{}
|
||||
|
||||
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
|
||||
}
|
||||
responses.MetaData.Code = "203"
|
||||
responses.MetaData.Message = err.Error()
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
@@ -62,7 +54,7 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
|
||||
responses.MetaData.Code = "504"
|
||||
responses.MetaData.Message = errMsg.Error()
|
||||
log.Println("responses: ", responses)
|
||||
return responses, err
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
@@ -84,18 +76,18 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
|
||||
log.Println("ResponseRaw : ", resSuratKontrolRaw)
|
||||
|
||||
if resSuratKontrolRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
if resSuratKontrolRaw.MetaData.Message == "Gagal simpan! Nomor SEP Sudah pernah digunakan!." {
|
||||
message := "Gagal simpan! Nomor SEP pernah diterbitkan Surat Kontrol!."
|
||||
resSuratKontrolRaw.MetaData.Message = message
|
||||
log.Println("masuk sini kan")
|
||||
} else if strings.Contains(strings.ToLower(resSuratKontrolRaw.MetaData.Message), "gagal simpan") {
|
||||
} else if resSuratKontrolRaw.MetaData.Message == "Gagal simpan! Poli Tujuan Kontrol tidak sama dengan Poli Asal Rujukan Awal." {
|
||||
message := "Surat kontrol gagal diterbitkan, pastikan klinik tujuan sama dengan klinik asal pada rujukan awal"
|
||||
resSuratKontrolRaw.MetaData.Message = message
|
||||
}
|
||||
log.Printf("error : %v", errMsg)
|
||||
log.Printf("error : %v", resSuratKontrolRaw.MetaData.Message)
|
||||
responses.MetaData.Code = resSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resSuratKontrolRaw.MetaData.Message
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
@@ -146,19 +138,13 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{
|
||||
Timeout: 10 * time.Second,
|
||||
}
|
||||
client := http.Client{}
|
||||
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
|
||||
}
|
||||
responses.MetaData.Code = "504"
|
||||
responses.MetaData.Message = err.Error()
|
||||
log.Println("responses: ", responses)
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
return responses, err
|
||||
}
|
||||
@@ -190,7 +176,6 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
}
|
||||
|
||||
if resSuratKontrolRaw.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
if resSuratKontrolRaw.MetaData.Message == "Gagal simpan! Nomor SEP Sudah pernah digunakan!." {
|
||||
message := "Gagal simpan! Nomor SEP pernah diterbitkan Surat Kontrol!."
|
||||
resSuratKontrolRaw.MetaData.Message = message
|
||||
@@ -202,6 +187,7 @@ func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[s
|
||||
log.Printf("error : %v", resSuratKontrolRaw.MetaData.Message)
|
||||
responses.MetaData.Code = resSuratKontrolRaw.MetaData.Code
|
||||
responses.MetaData.Message = resSuratKontrolRaw.MetaData.Message
|
||||
errMsg := errors.New(resSuratKontrolRaw.MetaData.Message)
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
package vclaim
|
||||
package Vclaim
|
||||
|
||||
import (
|
||||
"crypto/hmac"
|
||||
@@ -0,0 +1,50 @@
|
||||
package Vclaim
|
||||
|
||||
import (
|
||||
"crypto/aes"
|
||||
"crypto/cipher"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"errors"
|
||||
"bridging-rssa/docs"
|
||||
|
||||
lzstring "github.com/daku10/go-lz-string"
|
||||
)
|
||||
|
||||
func ResponseVclaim(encrypted string, key string) (string, error) {
|
||||
|
||||
cipherText, err := base64.StdEncoding.DecodeString(encrypted)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
hash := sha256.Sum256([]byte(key))
|
||||
|
||||
block, err := aes.NewCipher(hash[:])
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
if len(cipherText) < aes.BlockSize {
|
||||
return "", errors.New("cipherText too short")
|
||||
}
|
||||
|
||||
iv := hash[:aes.BlockSize]
|
||||
|
||||
if len(cipherText)%aes.BlockSize != 0 {
|
||||
return "", errors.New("cipherText is not a multiple of the block size")
|
||||
}
|
||||
|
||||
mode := cipher.NewCBCDecrypter(block, iv)
|
||||
mode.CryptBlocks(cipherText, cipherText)
|
||||
|
||||
// cipherText, _ = pkcs7.Unpad(cipherText, aes.BlockSize)
|
||||
cipherText = docs.RemovePKCS7Padding(cipherText)
|
||||
data, err := lzstring.DecompressFromEncodedURIComponent(string(cipherText))
|
||||
// data, err := helper.DecompressFromEncodedUriComponent(string(cipherText))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return data, nil
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package vclaim
|
||||
package Vclaim
|
||||
|
||||
import (
|
||||
"bridging-rssa/models/config"
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
@@ -9,11 +8,7 @@ import (
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
cfg "bridging-rssa/config"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/mashingan/smapping"
|
||||
)
|
||||
|
||||
@@ -125,33 +120,3 @@ func PostRequest(endpoint string, cfg interface{}, data interface{}) interface{}
|
||||
return &resp
|
||||
|
||||
}
|
||||
|
||||
func GetReferensiDokter(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
||||
endpoint := os.Getenv("VCLAIM_RS_DEV")
|
||||
param := os.Getenv("GET_REFERENSI_DOKTER")
|
||||
dpjp := c.Param("dpjp")
|
||||
url := baseUrl + endpoint + param + dpjp
|
||||
|
||||
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; charset=utf-8",
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
|
||||
res, err := ResponseGetReferensiDokter(url, header, headers)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, res.MetaData)
|
||||
return
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
@@ -1,127 +0,0 @@
|
||||
package vclaim
|
||||
|
||||
import (
|
||||
"bridging-rssa/docs"
|
||||
"bridging-rssa/models/config"
|
||||
"crypto/aes"
|
||||
"crypto/cipher"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"io"
|
||||
"log"
|
||||
"net/http"
|
||||
|
||||
vclaim "bridging-rssa/models/bpjs/v_claim"
|
||||
|
||||
lzstring "github.com/daku10/go-lz-string"
|
||||
)
|
||||
|
||||
func ResponseVclaim(encrypted string, key string) (string, error) {
|
||||
|
||||
cipherText, err := base64.StdEncoding.DecodeString(encrypted)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
hash := sha256.Sum256([]byte(key))
|
||||
|
||||
block, err := aes.NewCipher(hash[:])
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
if len(cipherText) < aes.BlockSize {
|
||||
return "", errors.New("cipherText too short")
|
||||
}
|
||||
|
||||
iv := hash[:aes.BlockSize]
|
||||
|
||||
if len(cipherText)%aes.BlockSize != 0 {
|
||||
return "", errors.New("cipherText is not a multiple of the block size")
|
||||
}
|
||||
|
||||
mode := cipher.NewCBCDecrypter(block, iv)
|
||||
mode.CryptBlocks(cipherText, cipherText)
|
||||
|
||||
// cipherText, _ = pkcs7.Unpad(cipherText, aes.BlockSize)
|
||||
cipherText = docs.RemovePKCS7Padding(cipherText)
|
||||
data, err := lzstring.DecompressFromEncodedURIComponent(string(cipherText))
|
||||
// data, err := helper.DecompressFromEncodedUriComponent(string(cipherText))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func ResponseGetReferensiDokter(url string, header *config.Header, headers map[string]string) (*vclaim.ResponseGetReferensiDokter, error) {
|
||||
log.Println("URL", url)
|
||||
|
||||
req, err := http.NewRequest("GET", url, nil)
|
||||
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{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var resReferensiDotker vclaim.ResponseGetReferensiDokterRaw
|
||||
err = json.Unmarshal([]byte(string(res)), &resReferensiDotker)
|
||||
if err != nil {
|
||||
log.Printf("Error Unmarshaling: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
responses := &vclaim.ResponseGetReferensiDokter{}
|
||||
if resReferensiDotker.MetaData.Code != "200" {
|
||||
errMsg := errors.New(resReferensiDotker.MetaData.Message)
|
||||
log.Printf("error : %v", errMsg)
|
||||
responses.MetaData.Code = resReferensiDotker.MetaData.Code
|
||||
responses.MetaData.Message = resReferensiDotker.MetaData.Message
|
||||
log.Println("responses: ", responses)
|
||||
return responses, errMsg
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resReferensiDotker.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var responseListDokter vclaim.ResponseReferensiDokter
|
||||
log.Println("dataresp: ", dataResp)
|
||||
|
||||
err = json.Unmarshal([]byte(dataResp), &responseListDokter)
|
||||
if err != nil {
|
||||
log.Printf("Error Decode: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("res: ", resReferensiDotker)
|
||||
|
||||
responses = &vclaim.ResponseGetReferensiDokter{
|
||||
MetaData: resReferensiDotker.MetaData,
|
||||
Response: responseListDokter,
|
||||
}
|
||||
|
||||
return responses, nil
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
package kunjunganpasien
|
||||
|
||||
import (
|
||||
"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)
|
||||
}
|
||||
@@ -1,241 +0,0 @@
|
||||
package mikrobiologi
|
||||
|
||||
import (
|
||||
"bridging-rssa/database/simrs/dokter"
|
||||
mikrobiologiDB "bridging-rssa/database/simrs/mikrobiologi"
|
||||
"bridging-rssa/database/simrs/pasien"
|
||||
"bridging-rssa/database/simrs/pendaftaran"
|
||||
"bridging-rssa/database/simrs/ruang"
|
||||
"bridging-rssa/models/simrs/mikrobiologi"
|
||||
"log"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"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 {
|
||||
ktp := v.NoKTP
|
||||
if v.NoKTPBaru != "" {
|
||||
ktp = v.NoKTPBaru
|
||||
}
|
||||
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: ktp,
|
||||
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: ktp,
|
||||
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)
|
||||
}
|
||||
|
||||
func SendDataLISMikro(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
|
||||
}
|
||||
|
||||
dataMikro, errData := mikrobiologiDB.GetDataMikroBiologiByNoMR(req)
|
||||
if errData != nil {
|
||||
log.Println(errData)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errData,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
dataPasien, errPasien := pasien.GetMPasien(req)
|
||||
if errPasien != nil {
|
||||
log.Println(errPasien)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errPasien,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
tglLahir, errParse := time.Parse(time.RFC3339, dataPasien.TanggalLahir)
|
||||
if errParse != nil {
|
||||
log.Println(errParse)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errParse,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
var responseMikro []*mikrobiologi.ResponseLISMikro
|
||||
var dataLisMikro *mikrobiologi.RequestLISMikro
|
||||
tglLahirString := tglLahir.Format("2006-01-02")
|
||||
for _, dataMikroMain := range dataMikro {
|
||||
dataLabMikro, exist, errDiagnosa := mikrobiologiDB.GetDataLabMikro(dataMikroMain.NoLab)
|
||||
if errDiagnosa != nil {
|
||||
log.Println(errDiagnosa)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errDiagnosa,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if !exist {
|
||||
log.Println("Data bukan pemeriksaan")
|
||||
continue
|
||||
}
|
||||
|
||||
namaDokter, errDokter := dokter.GetNamaDokter(dataMikroMain.DokterPengirim)
|
||||
if errDokter != nil {
|
||||
log.Println(errDokter)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errDokter,
|
||||
})
|
||||
return
|
||||
}
|
||||
poli, errDokter := ruang.GetNamaRuang(dataMikroMain.KodePoli)
|
||||
if errDokter != nil {
|
||||
log.Println(errDokter)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errDokter,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
caraBayar, errCaraBayar := pendaftaran.GetCaraBayar(dataMikroMain)
|
||||
if errCaraBayar != nil {
|
||||
log.Println(errCaraBayar)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errCaraBayar,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
dataLisMikro = &mikrobiologi.RequestLISMikro{
|
||||
NoRM: dataMikroMain.NoMR,
|
||||
Nama: dataPasien.Nama,
|
||||
Alamat: dataPasien.Alamat,
|
||||
Kota: dataPasien.Tempat,
|
||||
TanggalLahir: tglLahirString,
|
||||
NoHP: dataPasien.NoTelpon,
|
||||
Kelamin: dataPasien.JenisKelamin,
|
||||
NIK: dataPasien.NoKTP,
|
||||
NoBPJS: dataPasien.NoKartu,
|
||||
DokterPeminta: namaDokter,
|
||||
AsalPasien: poli.NamaPoli,
|
||||
Layanan: dataLabMikro.NamaPemeriksaan,
|
||||
StatusBayar: "",
|
||||
NoTransaksi: dataMikroMain.NoLab,
|
||||
Asuransi: caraBayar,
|
||||
Klinis: "",
|
||||
KodeSpesimen: dataMikroMain.StatusSpesimen,
|
||||
NamaSpesimen: dataMikroMain.Spesimen,
|
||||
Pengambilan: "",
|
||||
}
|
||||
|
||||
resMikro, errMikro := SendLisMikro(dataLisMikro)
|
||||
if errMikro != nil {
|
||||
log.Println(errMikro)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errMikro,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
log.Println(resMikro)
|
||||
|
||||
reqUpdate := &mikrobiologi.ReqUpdateLisMikro{
|
||||
IdxOrderMikro: dataLabMikro.IdxOrderMikro,
|
||||
NoLokal: resMikro.Message,
|
||||
}
|
||||
errUpdate := mikrobiologiDB.UpdateLabMikro(reqUpdate)
|
||||
if errUpdate != nil {
|
||||
log.Println(errUpdate)
|
||||
c.JSON(http.StatusBadRequest, gin.H{
|
||||
"message": errUpdate,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
responseMikro = append(responseMikro, &mikrobiologi.ResponseLISMikro{
|
||||
NoLab: dataMikroMain.NoLab,
|
||||
Status: resMikro.Status,
|
||||
Message: resMikro.Message,
|
||||
})
|
||||
}
|
||||
c.JSON(http.StatusOK, responseMikro)
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
package mikrobiologi
|
||||
|
||||
import (
|
||||
"bridging-rssa/models/simrs/mikrobiologi"
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
)
|
||||
|
||||
func SendLisMikro(request *mikrobiologi.RequestLISMikro) (*mikrobiologi.Response, error) {
|
||||
url := os.Getenv("LIS_MIKROBIOLOGI_URL")
|
||||
log.Println("URL", url)
|
||||
|
||||
reqMarshall, err := json.Marshal(request)
|
||||
if err != nil {
|
||||
log.Printf("Error json marshal: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
headers := map[string]string{
|
||||
"Accept": "application/json",
|
||||
"Content-Type": "Application/x-www-form-urlencoded",
|
||||
}
|
||||
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{}
|
||||
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
|
||||
var responses *mikrobiologi.Response
|
||||
|
||||
log.Println("RESPONSE: ", string(res))
|
||||
err = json.Unmarshal(res, &responses)
|
||||
|
||||
return responses, nil
|
||||
}
|
||||
@@ -5,18 +5,17 @@ import (
|
||||
"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"
|
||||
vclaim "bridging-rssa/handlers/bpjs/v_claim"
|
||||
kunjungan_pasien "bridging-rssa/handlers/kunjungan_pasien"
|
||||
mikrobiologiHandler "bridging-rssa/handlers/mikrobiologi"
|
||||
"log"
|
||||
|
||||
_ "bridging-rssa/docs"
|
||||
|
||||
"github.com/gin-contrib/cors"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/joho/godotenv"
|
||||
cron "github.com/robfig/cron/v3"
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
"log"
|
||||
"time"
|
||||
)
|
||||
|
||||
// @title Crud User
|
||||
@@ -35,30 +34,33 @@ func main() {
|
||||
|
||||
r := gin.Default()
|
||||
|
||||
// jakartaTime, _ := time.LoadLocation("Asia/Jakarta")
|
||||
// scheduler := cron.New(cron.WithLocation(jakartaTime))
|
||||
scheduler := cron.New()
|
||||
|
||||
// defer scheduler.Stop()
|
||||
defer scheduler.Stop()
|
||||
|
||||
// scheduler.AddFunc("41 09 * * *", func() {
|
||||
// log.Println("=== RUNNING SCHEDULE GET JADWAL DOKTER ===")
|
||||
// jadwal_dokter.GetDataJadwalDokter()
|
||||
// log.Println("=== SCHEDULE GET JADWAL DOKTER DONE ===")
|
||||
// })
|
||||
//scheduler.AddFunc("0 2 * * *", func() {
|
||||
// log.Println("=== RUNNING SCHEDULE GET JADWAL DOKTER ===")
|
||||
// for {
|
||||
// success := jadwal_dokter.GetJadwalDokter()
|
||||
// if success {
|
||||
// log.Println("=== SCHEDULE GET JADWAL DOKTER DONE ===")
|
||||
// break
|
||||
// }
|
||||
// }
|
||||
//})
|
||||
|
||||
// scheduler.AddFunc("0 12 * * *", func() {
|
||||
// log.Println("=== RUNNING SCHEDULE DATA SURAT KONTROL ===")
|
||||
// suratkontrol.UpdateSuratKontrolSchedule()
|
||||
// log.Println("=== SCHEDULE DATA SURAT KONTROL DONE ===")
|
||||
// })
|
||||
scheduler.AddFunc("10 2 8 * *", func() {
|
||||
log.Println("=== RUNNING SCHEDULE GET JADWAL DOKTER MONTHLY===")
|
||||
for {
|
||||
success := jadwal_dokter.GetDataJadwalDokter()
|
||||
if success {
|
||||
log.Println("=== SCHEDULE GET JADWAL DOKTER MONTHLY DONE ===")
|
||||
break
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// scheduler.AddFunc("59 23 * * *", func() {
|
||||
// log.Println("=== RUNNING SCHEDULE DATA SURAT KONTROL ===")
|
||||
// suratkontrol.UpdateSuratKontrolSchedule()
|
||||
// log.Println("=== SCHEDULE DATA SURAT KONTROL DONE ===")
|
||||
// })
|
||||
|
||||
// go scheduler.Start()
|
||||
go scheduler.Start()
|
||||
|
||||
v1 := r.Group("/api")
|
||||
|
||||
@@ -66,44 +68,28 @@ func main() {
|
||||
{
|
||||
subspesialis.GET("/", bpjs.GetAllSubspesialis)
|
||||
}
|
||||
|
||||
jadwalDokter := v1.Group("/jadwaldokter")
|
||||
{
|
||||
jadwalDokter.POST("/getjadwal", jadwal_dokter.GetJadwalDokterApi)
|
||||
jadwalDokter.GET("/getalljadwal", jadwal_dokter.GetAllJadwalDokter)
|
||||
jadwalDokter.GET("/getalljadwalnew", jadwal_dokter.GetJadwalDokterNew)
|
||||
jadwalDokter.GET("/getjadwaldokter", jadwal_dokter.GetDataJadwalDokter)
|
||||
// jadwalDokter.GET("/", jadwal_dokter.GetJadwalDokter)
|
||||
jadwalDokter.GET("/dpjp/:dpjp", jadwal_dokter.GetDokterByDPJP)
|
||||
// jadwalDokter.GET("/tanggal/:tanggal", jadwal_dokter.GetSpesialisByDate)
|
||||
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.POST("/detail", jadwal_dokter.GetDetailJadwalDokter)
|
||||
//jadwalDokter.PUT("/update", jadwal_dokter.UpdateDataJadwalDokter)
|
||||
}
|
||||
|
||||
suratKontrol := v1.Group("/suratkontrol")
|
||||
{
|
||||
suratKontrol.GET("/offset/:offset/limit/:limit", suratkontrol.GetDataSurKon)
|
||||
suratKontrol.GET("/idxdaftar/:idxdaftar", suratkontrol.GetDataSurKonByID)
|
||||
suratKontrol.GET("/idxdaftar/:idxdaftar/tiperawat/:tiperawat", suratkontrol.GetDataSurKonByID)
|
||||
suratKontrol.GET("/noSuratKontrol/:noSuratKontrol", suratkontrol.GetNomorSuratKontrol)
|
||||
suratKontrol.GET("/noSEP/:noSEP", suratkontrol.GetSuratKontrolBySEP)
|
||||
suratKontrol.GET("/printSurKon/:idxdaftar", suratkontrol.PrintSurKon)
|
||||
suratKontrol.GET("/printSurKon/:idxdaftar/tiperawat/:tiperawat", suratkontrol.PrintSurKon)
|
||||
suratKontrol.POST("/cari", suratkontrol.CariPasienTPP)
|
||||
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", kunjungan_pasien.ListKunjunganPasien)
|
||||
}
|
||||
|
||||
suratRujukan := v1.Group("/rujukan")
|
||||
{
|
||||
suratRujukan.GET("/noRujukan/:noRujukan", rujukan.GetSuratRujukan)
|
||||
suratRujukan.GET("/list/peserta/:noKartu", rujukan.GetSuratRujukanBatch)
|
||||
}
|
||||
|
||||
iCare := v1.Group("/icare")
|
||||
@@ -111,18 +97,6 @@ func main() {
|
||||
iCare.POST("/rs/validate", icare.GetFKRTL)
|
||||
iCare.POST("/pcare/validate", icare.GetFKTP)
|
||||
}
|
||||
|
||||
referensi := v1.Group("/referensi")
|
||||
{
|
||||
referensi.GET("/dokter/:dpjp", vclaim.GetReferensiDokter)
|
||||
}
|
||||
|
||||
mikrobiologi := v1.Group("/mikrobiologi")
|
||||
{
|
||||
mikrobiologi.POST("/datapasien", mikrobiologiHandler.GetDataPasienMikrobiologi)
|
||||
mikrobiologi.POST("/sendmikro", mikrobiologiHandler.SendDataLISMikro)
|
||||
}
|
||||
|
||||
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.POST("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
r.PUT("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
|
||||
@@ -134,11 +108,8 @@ func main() {
|
||||
AllowCredentials: true,
|
||||
}))
|
||||
|
||||
localTime := time.Now()
|
||||
log.Println("Local Time:", localTime)
|
||||
|
||||
log.Println("JALAN DI PORT : 8082")
|
||||
err = r.Run(":8082")
|
||||
log.Println("JALAN DI PORT : 8080")
|
||||
err = r.Run(":8080")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -92,49 +92,3 @@ type RequestJadwalDokter struct {
|
||||
KodePoli string `json:"kodepoli"`
|
||||
Tanggal string `json:"tanggal"`
|
||||
}
|
||||
|
||||
type RequestDataJadwalDokter struct {
|
||||
NamaHari string `gorm:"column:Nama_hari" json:"hari"`
|
||||
Subspesialis int `gorm:"column:Sub_spesialis" json:"subspesialis"`
|
||||
}
|
||||
|
||||
type ListDataJadwalDokter struct {
|
||||
Hari string `gorm:"column:Nama_hari" json:"Hari"`
|
||||
NamaDokter string `gorm:"column:nama_lengkap"`
|
||||
}
|
||||
|
||||
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"`
|
||||
}
|
||||
|
||||
type DaftarJadwalDokter struct {
|
||||
ID int `gorm:"column:id" json:"id"`
|
||||
Hari int `gorm:"column:Hari" json:"Hari"`
|
||||
NamaHari string `gorm:"column:Nama_hari" json:"Nama_hari"`
|
||||
Waktu string `gorm:"column:Waktu" json:"Waktu"`
|
||||
Dokter string `gorm:"column:Dokter" json:"Dokter"`
|
||||
Spesialis int `gorm:"column:Spesialis" json:"Spesialis"`
|
||||
SubSpesialis int `gorm:"column:Sub_spesialis" json:"Sub_spesialis"`
|
||||
Status int `gorm:"column:Status" json:"Status"`
|
||||
HFISCode string `gorm:"column:HFIS_code" json:"HFIS_code"`
|
||||
}
|
||||
|
||||
type RequestUpdateJadwalDokter struct {
|
||||
Tanggal string `json:"tanggal"`
|
||||
}
|
||||
@@ -1,131 +0,0 @@
|
||||
package rujukan
|
||||
|
||||
type ResponseGetRujukan struct {
|
||||
Response ResponseRujukan `json:"response"`
|
||||
MetaData Metadata `json:"metaData"`
|
||||
}
|
||||
|
||||
type ResponseGetRujukanBatch struct {
|
||||
Response ResponseRujukanBatch `json:"response"`
|
||||
MetaData Metadata `json:"metaData"`
|
||||
}
|
||||
|
||||
type ResponseRaw struct {
|
||||
Response string `json:"response"`
|
||||
MetaData Metadata `json:"metaData"`
|
||||
}
|
||||
type Metadata struct {
|
||||
Code string `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type ResponseRujukan struct {
|
||||
Rujukan Rujukan `json:"rujukan"`
|
||||
}
|
||||
|
||||
type ResponseRujukanBatch struct {
|
||||
Rujukan []Rujukan `json:"rujukan"`
|
||||
}
|
||||
|
||||
type Response struct {
|
||||
MetaData Metadata `json:"metaData"`
|
||||
Response ResponseRujukan `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseBatch struct {
|
||||
MetaData Metadata `json:"metaData"`
|
||||
Response ResponseRujukanBatch `json:"response"`
|
||||
}
|
||||
|
||||
type Rujukan struct {
|
||||
Diagnosa Diagnosa `json:"diagnosa"`
|
||||
Keluhan string `json:"keluhan"`
|
||||
NoKunjungan string `json:"noKunjungan"`
|
||||
Pelayanan Pelayanan `json:"pelayanan"`
|
||||
Peserta Peserta `json:"peserta"`
|
||||
PoliRujukan PoliRujukan `json:"poliRujukan"`
|
||||
ProvPerujuk ProvPerujuk `json:"provPerujuk"`
|
||||
TglKunjungan string `json:"tglKunjungan"`
|
||||
}
|
||||
|
||||
type Diagnosa struct {
|
||||
Kode string `json:"kode"`
|
||||
Nama string `json:"nama"`
|
||||
}
|
||||
|
||||
type Pelayanan struct {
|
||||
Kode string `json:"kode"`
|
||||
Nama string `json:"nama"`
|
||||
}
|
||||
|
||||
type Peserta struct {
|
||||
Cob COB `json:"cob"`
|
||||
HakKelas HakKelas `json:"hakKelas"`
|
||||
Informasi Informasi `json:"informasi"`
|
||||
Mr MR `json:"mr"`
|
||||
Nama string `json:"nama"`
|
||||
NIK *string `json:"nik"`
|
||||
NoKartu string `json:"noKartu"`
|
||||
Pisa string `json:"pisa"`
|
||||
ProvUmum ProvUmum `json:"provUmum"`
|
||||
Sex string `json:"sex"`
|
||||
StatusPeserta StatusPeserta `json:"statusPeserta"`
|
||||
TglCetakKartu string `json:"tglCetakKartu"`
|
||||
TglLahir string `json:"tglLahir"`
|
||||
TglTAT string `json:"tglTAT"`
|
||||
TglTMT string `json:"tglTMT"`
|
||||
Umur Umur `json:"umur"`
|
||||
}
|
||||
|
||||
type COB struct {
|
||||
NamaAsuransi *string `json:"nmAsuransi"`
|
||||
NoAsuransi *string `json:"noAsuransi"`
|
||||
TglTAT *string `json:"tglTAT"`
|
||||
TglTMT *string `json:"tglTMT"`
|
||||
}
|
||||
|
||||
type HakKelas struct {
|
||||
Keterangan string `json:"keterangan"`
|
||||
Kode string `json:"kode"`
|
||||
}
|
||||
|
||||
type Informasi struct {
|
||||
Dinsos *string `json:"dinsos"`
|
||||
NoSKTM *string `json:"noSKTM"`
|
||||
ProlanisPRB *string `json:"prolanisPRB"`
|
||||
}
|
||||
|
||||
type JenisPeserta struct {
|
||||
Keterangan string `json:"keterangan"`
|
||||
Kode string `json:"kode"`
|
||||
}
|
||||
|
||||
type MR struct {
|
||||
NoMR string `json:"noMR"`
|
||||
NoTelepon *string `json:"noTelepon"`
|
||||
}
|
||||
|
||||
type ProvUmum struct {
|
||||
KodeProvider string `json:"kdProvider"`
|
||||
NamaProvider string `json:"nmProvider"`
|
||||
}
|
||||
|
||||
type StatusPeserta struct {
|
||||
Keterangan string `json:"keterangan"`
|
||||
Kode string `json:"kode"`
|
||||
}
|
||||
|
||||
type Umur struct {
|
||||
UmurSaatPelayanan string `json:"umurSaatPelayanan"`
|
||||
UmurSekarang string `json:"umurSekarang"`
|
||||
}
|
||||
|
||||
type PoliRujukan struct {
|
||||
Kode string `json:"kode"`
|
||||
Nama string `json:"nama"`
|
||||
}
|
||||
|
||||
type ProvPerujuk struct {
|
||||
Kode string `json:"kode"`
|
||||
Nama string `json:"nama"`
|
||||
}
|
||||
@@ -1,306 +1,300 @@
|
||||
package suratkontrol
|
||||
|
||||
type RequestHeaderRencanaKontrol struct {
|
||||
Request interface{} `json:"request"`
|
||||
}
|
||||
|
||||
type ReqInsertRencanaKontrol struct {
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeDokter string `json:"kodeDokter"`
|
||||
PoliKontrol string `json:"poliKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type ReqUpdateRencanaKontrol struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeDokter string `json:"kodeDokter"`
|
||||
PoliKontrol string `json:"poliKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type RequestInsertRencanaKontrol struct {
|
||||
IDXDaftar string `json:"idxdaftar"`
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeHFIS string `json:"kodeHFIS"`
|
||||
KodePoli string `json:"kodePoli"`
|
||||
Subspesialis string `json:"subspesialis"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
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"`
|
||||
Ruangan string `json:"ruangan"`
|
||||
}
|
||||
|
||||
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 {
|
||||
IDXDaftar string `json:"idxdaftar"`
|
||||
IDSurKon string `json:"idSurKon"`
|
||||
IDDokter string `json:"id_dokter"`
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeHFIS string `json:"kodeHFIS"`
|
||||
KodePoli string `json:"kodePoli"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
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 {
|
||||
RequestDelete RequestDeleteRencanaKontrol `json:"t_suratkontrol"`
|
||||
}
|
||||
|
||||
type RequestDeleteRencanaKontrol struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type ResponseRaw struct {
|
||||
Response string `json:"response"`
|
||||
MetaData MetadataString `json:"metadata"`
|
||||
}
|
||||
|
||||
type ResponseRawUpper struct {
|
||||
Response string `json:"response"`
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
}
|
||||
|
||||
type Metadata struct {
|
||||
Code int `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type ResponseInsertRaw struct {
|
||||
Response string `json:"response"`
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
}
|
||||
|
||||
type MetadataString struct {
|
||||
Code string `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type ResponseGetSuratKontrol struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response ResponseNomorSuratKontrol `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseGetSuratKontrolBySEP struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response ResponseSuratKontrolBySEP `json:"response"`
|
||||
}
|
||||
|
||||
type Response struct {
|
||||
MetaData MetadataString `json:"metadata"`
|
||||
Response ResponseSuratKontrol `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseUpper struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response ResponseSuratKontrol `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseInsertSuratKontrol struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response ResponseData `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseData struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
NamaDokter string `json:"namaDokter"`
|
||||
NoKartu string `json:"noKartu"`
|
||||
Nama string `json:"nama"`
|
||||
Kelamin string `json:"kelamin"`
|
||||
TglLahir string `json:"tglLahir"`
|
||||
NamaDiagnosa string `json:"namaDiagnosa"`
|
||||
SubSpesialis string `json:"subspesialis"`
|
||||
}
|
||||
|
||||
type ResponseSuratKontrol struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
NamaDokter string `json:"namaDokter"`
|
||||
NoKartu string `json:"noKartu"`
|
||||
Nama string `json:"nama"`
|
||||
Kelamin string `json:"kelamin"`
|
||||
TglLahir string `json:"tglLahir"`
|
||||
NamaDiagnosa string `json:"namaDiagnosa"`
|
||||
}
|
||||
|
||||
type RequestRencanaKontrol struct {
|
||||
IDXDaftar string `json:"idxdaftar"`
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeHFIS string `json:"kodeHFIS"`
|
||||
KodePoli string `json:"kodePoli"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type ResponseNomorSuratKontrol struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
TglTerbit string `json:"tglTerbit"`
|
||||
JnsKontrol string `json:"jnsKontrol"`
|
||||
PoliTujuan string `json:"poliTujuan"`
|
||||
NamaPoliTujuan string `json:"namaPoliTujuan"`
|
||||
KodeDokter string `json:"kodeDokter"`
|
||||
NamaDokter string `json:"namaDokter"`
|
||||
FlagKontrol string `json:"flagKontrol"`
|
||||
KodeDokterPembuat string `json:"kodeDokterPembuat"`
|
||||
NamaDokterPembuat string `json:"namaDokterPembuat"`
|
||||
NamaJnsKontrol string `json:"namaJnsKontrol"`
|
||||
Sep Sep `json:"sep"`
|
||||
}
|
||||
|
||||
type Sep struct {
|
||||
NoSep string `json:"noSep"`
|
||||
TglSep string `json:"tglSep"`
|
||||
JnsPelayanan string `json:"jnsPelayanan"`
|
||||
Poli string `json:"poli"`
|
||||
Diagnosa string `json:"diagnosa"`
|
||||
Peserta Peserta `json:"peserta"`
|
||||
ProvUmum ProvUmum `json:"provUmum"`
|
||||
ProvPerujuk ProvPerujuk `json:"provPerujuk"`
|
||||
}
|
||||
|
||||
type Peserta struct {
|
||||
NoKartu string `json:"noKartu"`
|
||||
Nama string `json:"nama"`
|
||||
TglLahir string `json:"tglLahir"`
|
||||
Kelamin string `json:"kelamin"`
|
||||
HakKelas string `json:"hakKelas"`
|
||||
}
|
||||
|
||||
type ProvUmum struct {
|
||||
KodeProvider string `json:"kdProvider"`
|
||||
NamaProvider string `json:"nmProvider"`
|
||||
}
|
||||
|
||||
type ProvPerujuk struct {
|
||||
KodeProviderPerujuk string `json:"kdProviderPerujuk"`
|
||||
NamaProviderPerujuk string `json:"nmProviderPerujuk"`
|
||||
AsalRujukan string `json:"asalRujukan"`
|
||||
NoRujukan string `json:"noRujukan"`
|
||||
TglRujukan string `json:"tglRujukan"`
|
||||
}
|
||||
|
||||
type DataSuratKontrol struct {
|
||||
ID string `gorm:"column:id" json:"id"`
|
||||
Status string `gorm:"column:status" json:"status"`
|
||||
Sort int `gorm:"column:sort" json:"sort"`
|
||||
UserCreated string `gorm:"column:user_created" json:"user_created"`
|
||||
DateCreated string `gorm:"column:date_created" json:"date_created"`
|
||||
UserUpdated string `gorm:"column:user_updated" json:"user_updated"`
|
||||
DateUpdated string `gorm:"column:date_updated" json:"date_updated"`
|
||||
TglCetakSurKon string `gorm:"column:Tanggal_cetak_surat_kontrol" json:"Tanggal_cetak_surat_kontrol"`
|
||||
TglRencanaKontrol string `gorm:"column:Tanggal_rencana_kontrol" json:"Tanggal_rencana_kontrol"`
|
||||
NomorSurKon string `gorm:"column:Nomor_surat_kontrol" json:"Nomor_surat_kontrol"`
|
||||
KunjunganPasien string `gorm:"column:Kunjungan_pasien" json:"Kunjungan_pasien"`
|
||||
RuanganSurKon int `gorm:"column:Ruangan_surat_kontrol" json:"Ruangan_surat_kontrol"`
|
||||
DPJPSurKon string `gorm:"column:DPJP_surat_kontrol" json:"DPJP_surat_kontrol"`
|
||||
StatusSurKon int `gorm:"column:Status_surat_kontrol" json:"Status_surat_kontrol"`
|
||||
UserCreatedSurKon string `gorm:"column:User_created_surat_kontrol" json:"User_created_surat_kontrol"`
|
||||
TipeSurKon string `gorm:"column:Tipe_surat_kontrol" json:"Tipe_surat_kontrol"`
|
||||
UserUpdatedSurKon string `gorm:"column:User_updated_surat_kontrol" json:"User_updated_surat_kontrol"`
|
||||
}
|
||||
|
||||
type ResponseSuratKontrolBySEP struct {
|
||||
NoSEP string `json:"noSep"`
|
||||
TglSEP string `json:"tglSep"`
|
||||
JenisPelayanan string `json:"jnsPelayanan"`
|
||||
Poli string `json:"poli"`
|
||||
Diagnosa string `json:"diagnosa"`
|
||||
Peserta Peserta `json:"peserta"`
|
||||
ProvUmum ProvUmum `json:"provUmum"`
|
||||
ProvPerujuk ProvPerujuk `json:"provPerujuk"`
|
||||
}
|
||||
|
||||
type GetDataSuratKontrol struct {
|
||||
IDDataSurKon string `gorm:"column:id" json:"id"`
|
||||
IDXDaftar string `gorm:"column:IDXDAFTAR" json:"IDXDAFTAR"`
|
||||
TglCetakSurKon string `gorm:"column:Tanggal_cetak_surat_kontrol" json:"Tanggal_cetak_surat_kontrol"`
|
||||
TglRencanaKontrol string `gorm:"column:Tanggal_rencana_kontrol" json:"Tanggal_rencana_kontrol"`
|
||||
NomorSurKon string `gorm:"column:Nomor_surat_kontrol" json:"Nomor_surat_kontrol"`
|
||||
PoliAsal string `gorm:"column:Poli_asal" json:"Poli_asal"`
|
||||
PoliTujuan string `gorm:"column:Poli_tuju" json:"Poli_tuju"`
|
||||
NomorSEP string `gorm:"column:Nomor_sep" json:"Nomor_sep"`
|
||||
NamaPasien string `gorm:"column:Nama_lengkap" json:"Nama_lengkap"`
|
||||
GelarDepan string `gorm:"column:gelardepan" json:"gelardepan"`
|
||||
NamaLengkapDokter string `gorm:"column:Nama_lengkap_dokter" json:"Nama_lengkap_dokter"`
|
||||
GelarBelakang string `gorm:"column:gelarbelakang" json:"gelarbelakang"`
|
||||
Subspesialis string `gorm:"column:Subspesialis" json:"Subspesialis"`
|
||||
KodePoli string `gorm:"column:Kode_poli" json:"Kode_poli"`
|
||||
KodeDokter string `gorm:"column:Kode_dokter" json:"Kode_dokter"`
|
||||
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"`
|
||||
TipeSurKon string `gorm:"column:Tipe_SurKon" json:"Tipe_SurKon"`
|
||||
User string `gorm:"column:User" json:"User"`
|
||||
}
|
||||
|
||||
type ResponseGetDataSuratKontrol struct {
|
||||
IDDataSurKon string `json:"id"`
|
||||
IDXDaftar string `json:"Idx_daftar"`
|
||||
TglCetakSurKon string `json:"Tanggal_cetak_surat_kontrol"`
|
||||
TglRencanaKontrol string `json:"Tanggal_rencana_kontrol"`
|
||||
NomorSurKon string `json:"Nomor_surat_kontrol"`
|
||||
PoliAsal string `json:"Poli_asal"`
|
||||
PoliTujuan string `json:"Poli_tuju"`
|
||||
NomorSEP string `json:"Nomor_sep"`
|
||||
NamaPasien string `json:"Nama_pasien"`
|
||||
NamaDokter string `json:"NamaDokter"`
|
||||
NomorKartu string `json:"Nomor_kartu"`
|
||||
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"`
|
||||
KodeDiagnosa string `json:"Kode_diagnosa"`
|
||||
NamaDiagnosa string `json:"Nama_diagnosa"`
|
||||
TipeSurKon string `json:"Tipe_SurKon"`
|
||||
User string `json:"User"`
|
||||
}
|
||||
|
||||
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"`
|
||||
IsTanggalEntri bool `json:"is_tanggal_entri"`
|
||||
}
|
||||
|
||||
type DataNomorSuratKontrol struct {
|
||||
ID string `gorm:"column:id" json:"id"`
|
||||
NomorSuratKontrol string `gorm:"column:Nomor_surat_kontrol" json:"Nomor_surat_kontrol"`
|
||||
TanggalRencanaKontrol string `gorm:"column:Tanggal_rencana_kontrol" json:"Tanggal_rencana_kontrol"`
|
||||
}
|
||||
package suratkontrol
|
||||
|
||||
type RequestHeaderRencanaKontrol struct {
|
||||
Request interface{} `json:"request"`
|
||||
}
|
||||
|
||||
type ReqInsertRencanaKontrol struct {
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeDokter string `json:"kodeDokter"`
|
||||
PoliKontrol string `json:"poliKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type ReqUpdateRencanaKontrol struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeDokter string `json:"kodeDokter"`
|
||||
PoliKontrol string `json:"poliKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type RequestInsertRencanaKontrol struct {
|
||||
IDXDaftar string `json:"idxdaftar"`
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeHFIS string `json:"kodeHFIS"`
|
||||
KodePoli string `json:"kodePoli"`
|
||||
Subspesialis string `json:"subspesialis"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
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"`
|
||||
Ruangan string `json:"ruangan"`
|
||||
}
|
||||
|
||||
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 {
|
||||
IDXDaftar string `json:"idxdaftar"`
|
||||
IDSurKon string `json:"idSurKon"`
|
||||
IDDokter string `json:"id_dokter"`
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeHFIS string `json:"kodeHFIS"`
|
||||
KodePoli string `json:"kodePoli"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
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 {
|
||||
RequestDelete RequestDeleteRencanaKontrol `json:"t_suratkontrol"`
|
||||
}
|
||||
|
||||
type RequestDeleteRencanaKontrol struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type ResponseRaw struct {
|
||||
Response string `json:"response"`
|
||||
MetaData MetadataString `json:"metadata"`
|
||||
}
|
||||
|
||||
type ResponseRawUpper struct {
|
||||
Response string `json:"response"`
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
}
|
||||
|
||||
type Metadata struct {
|
||||
Code int `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type ResponseInsertRaw struct {
|
||||
Response string `json:"response"`
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
}
|
||||
|
||||
type MetadataString struct {
|
||||
Code string `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type ResponseGetSuratKontrol struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response ResponseNomorSuratKontrol `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseGetSuratKontrolBySEP struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response ResponseSuratKontrolBySEP `json:"response"`
|
||||
}
|
||||
|
||||
type Response struct {
|
||||
MetaData MetadataString `json:"metadata"`
|
||||
Response ResponseSuratKontrol `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseUpper struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response ResponseSuratKontrol `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseInsertSuratKontrol struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response ResponseData `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseData struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
NamaDokter string `json:"namaDokter"`
|
||||
NoKartu string `json:"noKartu"`
|
||||
Nama string `json:"nama"`
|
||||
Kelamin string `json:"kelamin"`
|
||||
TglLahir string `json:"tglLahir"`
|
||||
NamaDiagnosa string `json:"namaDiagnosa"`
|
||||
SubSpesialis string `json:"subspesialis"`
|
||||
}
|
||||
|
||||
type ResponseSuratKontrol struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
NamaDokter string `json:"namaDokter"`
|
||||
NoKartu string `json:"noKartu"`
|
||||
Nama string `json:"nama"`
|
||||
Kelamin string `json:"kelamin"`
|
||||
TglLahir string `json:"tglLahir"`
|
||||
NamaDiagnosa string `json:"namaDiagnosa"`
|
||||
}
|
||||
|
||||
type RequestRencanaKontrol struct {
|
||||
IDXDaftar string `json:"idxdaftar"`
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeHFIS string `json:"kodeHFIS"`
|
||||
KodePoli string `json:"kodePoli"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type ResponseNomorSuratKontrol struct {
|
||||
NoSuratKontrol string `json:"noSuratKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
TglTerbit string `json:"tglTerbit"`
|
||||
JnsKontrol string `json:"jnsKontrol"`
|
||||
PoliTujuan string `json:"poliTujuan"`
|
||||
NamaPoliTujuan string `json:"namaPoliTujuan"`
|
||||
KodeDokter string `json:"kodeDokter"`
|
||||
NamaDokter string `json:"namaDokter"`
|
||||
FlagKontrol string `json:"flagKontrol"`
|
||||
KodeDokterPembuat string `json:"kodeDokterPembuat"`
|
||||
NamaDokterPembuat string `json:"namaDokterPembuat"`
|
||||
NamaJnsKontrol string `json:"namaJnsKontrol"`
|
||||
Sep Sep `json:"sep"`
|
||||
}
|
||||
|
||||
type Sep struct {
|
||||
NoSep string `json:"noSep"`
|
||||
TglSep string `json:"tglSep"`
|
||||
JnsPelayanan string `json:"jnsPelayanan"`
|
||||
Poli string `json:"poli"`
|
||||
Diagnosa string `json:"diagnosa"`
|
||||
Peserta Peserta `json:"peserta"`
|
||||
ProvUmum ProvUmum `json:"provUmum"`
|
||||
ProvPerujuk ProvPerujuk `json:"provPerujuk"`
|
||||
}
|
||||
|
||||
type Peserta struct {
|
||||
NoKartu string `json:"noKartu"`
|
||||
Nama string `json:"nama"`
|
||||
TglLahir string `json:"tglLahir"`
|
||||
Kelamin string `json:"kelamin"`
|
||||
HakKelas string `json:"hakKelas"`
|
||||
}
|
||||
|
||||
type ProvUmum struct {
|
||||
KodeProvider string `json:"kdProvider"`
|
||||
NamaProvider string `json:"nmProvider"`
|
||||
}
|
||||
|
||||
type ProvPerujuk struct {
|
||||
KodeProviderPerujuk string `json:"kdProviderPerujuk"`
|
||||
NamaProviderPerujuk string `json:"nmProviderPerujuk"`
|
||||
AsalRujukan string `json:"asalRujukan"`
|
||||
NoRujukan string `json:"noRujukan"`
|
||||
TglRujukan string `json:"tglRujukan"`
|
||||
}
|
||||
|
||||
type DataSuratKontrol struct {
|
||||
ID string `gorm:"column:id" json:"id"`
|
||||
Status string `gorm:"column:status" json:"status"`
|
||||
Sort int `gorm:"column:sort" json:"sort"`
|
||||
UserCreated string `gorm:"column:user_created" json:"user_created"`
|
||||
DateCreated string `gorm:"column:date_created" json:"date_created"`
|
||||
UserUpdated string `gorm:"column:user_updated" json:"user_updated"`
|
||||
DateUpdated string `gorm:"column:date_updated" json:"date_updated"`
|
||||
TglCetakSurKon string `gorm:"column:Tanggal_cetak_surat_kontrol" json:"Tanggal_cetak_surat_kontrol"`
|
||||
TglRencanaKontrol string `gorm:"column:Tanggal_rencana_kontrol" json:"Tanggal_rencana_kontrol"`
|
||||
NomorSurKon string `gorm:"column:Nomor_surat_kontrol" json:"Nomor_surat_kontrol"`
|
||||
KunjunganPasien string `gorm:"column:Kunjungan_pasien" json:"Kunjungan_pasien"`
|
||||
RuanganSurKon int `gorm:"column:Ruangan_surat_kontrol" json:"Ruangan_surat_kontrol"`
|
||||
DPJPSurKon string `gorm:"column:DPJP_surat_kontrol" json:"DPJP_surat_kontrol"`
|
||||
StatusSurKon int `gorm:"column:Status_surat_kontrol" json:"Status_surat_kontrol"`
|
||||
UserCreatedSurKon string `gorm:"column:User_created_surat_kontrol" json:"User_created_surat_kontrol"`
|
||||
TipeSurKon string `gorm:"column:Tipe_surat_kontrol" json:"Tipe_surat_kontrol"`
|
||||
UserUpdatedSurKon string `gorm:"column:User_updated_surat_kontrol" json:"User_updated_surat_kontrol"`
|
||||
TipeRawat string `gorm:"column:Tipe_rawat" json:"Tipe_rawat"`
|
||||
}
|
||||
|
||||
type ResponseSuratKontrolBySEP struct {
|
||||
NoSEP string `json:"noSep"`
|
||||
TglSEP string `json:"tglSep"`
|
||||
JenisPelayanan string `json:"jnsPelayanan"`
|
||||
Poli string `json:"poli"`
|
||||
Diagnosa string `json:"diagnosa"`
|
||||
Peserta Peserta `json:"peserta"`
|
||||
ProvUmum ProvUmum `json:"provUmum"`
|
||||
ProvPerujuk ProvPerujuk `json:"provPerujuk"`
|
||||
}
|
||||
|
||||
type GetDataSuratKontrol struct {
|
||||
IDDataSurKon string `gorm:"column:id" json:"id"`
|
||||
IDXDaftar string `gorm:"column:IDXDAFTAR" json:"IDXDAFTAR"`
|
||||
TglCetakSurKon string `gorm:"column:Tanggal_cetak_surat_kontrol" json:"Tanggal_cetak_surat_kontrol"`
|
||||
TglRencanaKontrol string `gorm:"column:Tanggal_rencana_kontrol" json:"Tanggal_rencana_kontrol"`
|
||||
NomorSurKon string `gorm:"column:Nomor_surat_kontrol" json:"Nomor_surat_kontrol"`
|
||||
PoliAsal string `gorm:"column:Poli_asal" json:"Poli_asal"`
|
||||
PoliTujuan string `gorm:"column:Poli_tuju" json:"Poli_tuju"`
|
||||
NomorSEP string `gorm:"column:Nomor_sep" json:"Nomor_sep"`
|
||||
NamaPasien string `gorm:"column:Nama_lengkap" json:"Nama_lengkap"`
|
||||
GelarDepan string `gorm:"column:gelardepan" json:"gelardepan"`
|
||||
NamaLengkapDokter string `gorm:"column:Nama_lengkap_dokter" json:"Nama_lengkap_dokter"`
|
||||
GelarBelakang string `gorm:"column:gelarbelakang" json:"gelarbelakang"`
|
||||
Subspesialis string `gorm:"column:Subspesialis" json:"Subspesialis"`
|
||||
KodePoli string `gorm:"column:Kode_poli" json:"Kode_poli"`
|
||||
KodeDokter string `gorm:"column:Kode_dokter" json:"Kode_dokter"`
|
||||
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"`
|
||||
TipeSurKon string `gorm:"column:Tipe_SurKon" json:"Tipe_SurKon"`
|
||||
User string `gorm:"column:User" json:"User"`
|
||||
}
|
||||
|
||||
type ResponseGetDataSuratKontrol struct {
|
||||
IDDataSurKon string `json:"id"`
|
||||
IDXDaftar string `json:"Idx_daftar"`
|
||||
TglCetakSurKon string `json:"Tanggal_cetak_surat_kontrol"`
|
||||
TglRencanaKontrol string `json:"Tanggal_rencana_kontrol"`
|
||||
NomorSurKon string `json:"Nomor_surat_kontrol"`
|
||||
PoliAsal string `json:"Poli_asal"`
|
||||
PoliTujuan string `json:"Poli_tuju"`
|
||||
NomorSEP string `json:"Nomor_sep"`
|
||||
NamaPasien string `json:"Nama_pasien"`
|
||||
NamaDokter string `json:"NamaDokter"`
|
||||
NomorKartu string `json:"Nomor_kartu"`
|
||||
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"`
|
||||
KodeDiagnosa string `json:"Kode_diagnosa"`
|
||||
NamaDiagnosa string `json:"Nama_diagnosa"`
|
||||
TipeSurKon string `json:"Tipe_SurKon"`
|
||||
User string `json:"User"`
|
||||
}
|
||||
|
||||
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"`
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
package vclaim
|
||||
|
||||
type ResponseGetReferensiDokterRaw struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response string `json:"response"`
|
||||
}
|
||||
|
||||
type MetadataString struct {
|
||||
Code string `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type ResponseGetReferensiDokter struct {
|
||||
MetaData MetadataString `json:"metaData"`
|
||||
Response ResponseReferensiDokter `json:"response"`
|
||||
}
|
||||
|
||||
type ResponseReferensiDokter struct {
|
||||
List ListData `json:"list"`
|
||||
}
|
||||
|
||||
type ListData struct {
|
||||
Kode string `json:"kode"`
|
||||
Nama string `json:"nama"`
|
||||
}
|
||||
@@ -10,10 +10,9 @@ type ConfigBpjs struct {
|
||||
}
|
||||
|
||||
type Header struct {
|
||||
ConsID string
|
||||
SecretKey string
|
||||
UserKey string
|
||||
TimeStamp string
|
||||
XSignature string
|
||||
XAuthorization string
|
||||
ConsID string
|
||||
SecretKey string
|
||||
UserKey string
|
||||
TimeStamp string
|
||||
XSignature string
|
||||
}
|
||||
@@ -24,7 +24,6 @@ type ResponseDokter struct {
|
||||
NamaLengkap string `json:"nama_lengkap"`
|
||||
Spesialis int `json:"spesialis"`
|
||||
HFISCode string `json:"HFIS_code"`
|
||||
DPJPCode string `json:"DPJP_code"`
|
||||
}
|
||||
|
||||
type ResponseDokterNew struct {
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
package kunjunganpasien
|
||||
|
||||
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"`
|
||||
}
|
||||
@@ -17,12 +17,4 @@ 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"`
|
||||
}
|
||||
@@ -4,36 +4,3 @@ 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"`
|
||||
}
|
||||
@@ -1,148 +0,0 @@
|
||||
package mikrobiologi
|
||||
|
||||
type RequestPasienMikrobiologi struct {
|
||||
NOMR string `json:"nomr"`
|
||||
IDXDaftar string `json:"idxdaftar"`
|
||||
NoLab string `json:"nolab"`
|
||||
}
|
||||
|
||||
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"`
|
||||
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"`
|
||||
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"`
|
||||
}
|
||||
|
||||
type RequestLISMikro struct {
|
||||
NoRM string `json:"norm"`
|
||||
Nama string `json:"nama"`
|
||||
Alamat string `json:"alamat"`
|
||||
Kota string `json:"kota"`
|
||||
TanggalLahir string `json:"tgllahir"`
|
||||
NoHP string `json:"nohap"`
|
||||
Kelamin string `json:"kelamin"`
|
||||
NIK string `json:"nik"`
|
||||
NoBPJS string `json:"nobpjs"`
|
||||
DokterPeminta string `json:"drpeminta"`
|
||||
AsalPasien string `json:"asalpasien"`
|
||||
Layanan string `json:"layanan"`
|
||||
StatusBayar string `json:"statusbayar"`
|
||||
NoTransaksi string `json:"notransaksi"`
|
||||
Asuransi string `json:"asuransi"`
|
||||
Klinis string `json:"klinis"`
|
||||
KodeSpesimen string `json:"kode"`
|
||||
NamaSpesimen string `json:"spesimen"`
|
||||
Pengambilan string `json:"pengambilan"`
|
||||
}
|
||||
|
||||
type OrderLabMikroMain struct {
|
||||
IdxMikroMain string `gorm:"column:idxmikromain" json:"idxmikromain"`
|
||||
NoLab string `gorm:"column:nolab" json:"nolab"`
|
||||
IdxDaftar string `gorm:"column:idxdaftar" json:"idxdaftar"`
|
||||
NoMR string `gorm:"column:nomr" json:"nomr"`
|
||||
WaktuPengambilan string `gorm:"column:waktu_pengambilan" json:"waktu_pengambilan"`
|
||||
TglOrder string `gorm:"column:tglorder" json:"tglorder"`
|
||||
StatusSpesimen string `gorm:"column:status_specimen" json:"status_specimen"`
|
||||
Spesimen string `gorm:"column:specimen" json:"specimen"`
|
||||
DokterPengirim string `gorm:"column:drpengirim" json:"drpengirim"`
|
||||
KodePoli string `gorm:"column:kdpoli" json:"kdpoli"`
|
||||
NoNota string `gorm:"column:nonota" json:"nonota"`
|
||||
StatusRajal string `gorm:"column:st_rajal" json:"st_rajal"`
|
||||
StatusAPS string `gorm:"column:st_aps" json:"st_aps"`
|
||||
}
|
||||
|
||||
type OrderLabMikro struct {
|
||||
IdxOrderMikro string `gorm:"column:idxordermikro" json:"idxordermikro"`
|
||||
NamaPemeriksaan string `gorm:"column:nama_pemeriksaan" json:"nama_pemeriksaan"`
|
||||
}
|
||||
|
||||
type Response struct {
|
||||
Status string `json:"status"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type ResponseLISMikro struct {
|
||||
NoLab string `json:"nolab"`
|
||||
Status string `json:"status"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type ReqUpdateLisMikro struct {
|
||||
IdxOrderMikro string `gorm:"column:idxordermikro" json:"idxordermikro"`
|
||||
NoLokal string `gorm:"column:no_lokal" json:"no_lokal"`
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package pasien
|
||||
|
||||
type MPasien struct {
|
||||
ID int `gorm:"column:id" json:"id"`
|
||||
NoMR string `gorm:"column:no_mr" json:"no_mr"`
|
||||
Nama string `gorm:"column:nama" json:"nama"`
|
||||
Tempat string `gorm:"column:tempat" json:"tempat"`
|
||||
TanggalLahir string `gorm:"column:tgllahir" json:"tgllahir"`
|
||||
JenisKelamin string `gorm:"column:jeniskelamin" json:"jeniskelamin"`
|
||||
Alamat string `gorm:"column:alamat" json:"alamat"`
|
||||
NoKTP string `gorm:"column:noktp" json:"noktp"`
|
||||
NoTelpon string `gorm:"column:notelp" json:"notelp"`
|
||||
NoKartu string `gorm:"column:no_kartu" json:"no_kartu"`
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package ruang
|
||||
|
||||
type MRuang struct {
|
||||
NamaPoli string `gorm:"column:nama" json:"nama"`
|
||||
Subsistem string `gorm:"column:subsistem" json:"subsistem"`
|
||||
}
|
||||
Reference in New Issue
Block a user