penambahan dan perbaikan data
This commit is contained in:
No files matched your search
@@ -12,10 +12,10 @@ SIMRS_PASSWORD=simrs.rssa
|
|||||||
SIMRS_NAME=simrs
|
SIMRS_NAME=simrs
|
||||||
SIMRS_PORT=5432
|
SIMRS_PORT=5432
|
||||||
|
|
||||||
SIMRS_STAG_HOST=10.10.123.223
|
SIMRS_STAG_HOST=10.10.123.238
|
||||||
SIMRS_STAG_USER=simtest
|
SIMRS_STAG_USER=brawijaya
|
||||||
SIMRS_STAG_PASS=12345
|
SIMRS_STAG_PASS=ub*2025
|
||||||
SIMRS_STAG_NAME=simrsbackup
|
SIMRS_STAG_NAME=simrs
|
||||||
SIMRS_STAG_PORT=5432
|
SIMRS_STAG_PORT=5432
|
||||||
|
|
||||||
LIS_MIKROBIOLOGI_URL=http://10.10.123.218/
|
LIS_MIKROBIOLOGI_URL=http://10.10.123.218/
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ func (s *DatabaseService) GetDataMikroBiologiByNoMR(req *mikrobiologi.RequestPas
|
|||||||
|
|
||||||
func (s *DatabaseService) GetDataLabMikro(noLab string) ([]*mikrobiologi.OrderLabMikro, bool, error) {
|
func (s *DatabaseService) GetDataLabMikro(noLab string) ([]*mikrobiologi.OrderLabMikro, bool, error) {
|
||||||
var dataMikro []*mikrobiologi.OrderLabMikro
|
var dataMikro []*mikrobiologi.OrderLabMikro
|
||||||
querySelect := `select olm."idxordermikro", olm."jenis_pemeriksaan", fl."nama_field" , fl."jenis_kelompok",fl."kode_tarif"
|
querySelect := `select olm."idxordermikro", olm."jenis_pemeriksaan", fl."nama_field" , fl."jenis_kelompok",fl."kode_tarif",olm."tglorder"
|
||||||
from t_orderlabmikro olm
|
from t_orderlabmikro olm
|
||||||
left join "m_form_lab" fl on olm."idxform" = fl."form_id"
|
left join "m_form_lab" fl on olm."idxform" = fl."form_id"
|
||||||
where olm."nolab" = ? and fl."sub_kelompok" = 'Jenis Pemeriksaan'`
|
where olm."nolab" = ? and fl."sub_kelompok" = 'Jenis Pemeriksaan'`
|
||||||
@@ -70,6 +70,33 @@ func (s *DatabaseService) GetDataLabMikro(noLab string) ([]*mikrobiologi.OrderLa
|
|||||||
}
|
}
|
||||||
return dataMikro, true, nil
|
return dataMikro, true, nil
|
||||||
}
|
}
|
||||||
|
func (s *DatabaseService) GetDataLabMikroSpecimen(noLab string) (*mikrobiologi.OrderLabMikroSpecimen, bool, error) {
|
||||||
|
var dataMikro *mikrobiologi.OrderLabMikroSpecimen
|
||||||
|
querySelect := `select fl."nama_field"
|
||||||
|
from t_orderlabmikro olm
|
||||||
|
left join "m_form_lab" fl on olm."idxform" = fl."form_id"
|
||||||
|
where olm."nolab" = ? and fl."sub_kelompok" = 'Jenis Spesimen'`
|
||||||
|
errSelect := s.DB.Debug().Raw(querySelect, noLab).Scan(&dataMikro).Error
|
||||||
|
if errSelect != nil {
|
||||||
|
log.Println(errSelect)
|
||||||
|
return nil, false, errSelect
|
||||||
|
}
|
||||||
|
return dataMikro, true, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *DatabaseService) GetDataLabMikroJenisPemeriksaan(noLab string) (*mikrobiologi.OrderLabMikroJenisPemeriksaan, bool, error) {
|
||||||
|
var dataMikro *mikrobiologi.OrderLabMikroJenisPemeriksaan
|
||||||
|
querySelect := `select fl."nama_field"
|
||||||
|
from t_orderlabmikro olm
|
||||||
|
left join "m_form_lab" fl on olm."idxform" = fl."form_id"
|
||||||
|
where olm."nolab" = ? and fl."sub_kelompok" = 'Cara Pengambilan Sampel'`
|
||||||
|
errSelect := s.DB.Debug().Raw(querySelect, noLab).Scan(&dataMikro).Error
|
||||||
|
if errSelect != nil {
|
||||||
|
log.Println(errSelect)
|
||||||
|
return nil, false, errSelect
|
||||||
|
}
|
||||||
|
return dataMikro, true, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s *DatabaseService) GetDataLabMikroPengambilan(noLab string) ([]*mikrobiologi.OrderLabMikropengambilan, bool, error) {
|
func (s *DatabaseService) GetDataLabMikroPengambilan(noLab string) ([]*mikrobiologi.OrderLabMikropengambilan, bool, error) {
|
||||||
var dataMikro []*mikrobiologi.OrderLabMikropengambilan
|
var dataMikro []*mikrobiologi.OrderLabMikropengambilan
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"api-lis/pkg/models/simrs/mikrobiologi"
|
"api-lis/pkg/models/simrs/mikrobiologi"
|
||||||
"api-lis/pkg/models/simrs/pasien"
|
"api-lis/pkg/models/simrs/pasien"
|
||||||
"log"
|
"log"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (s *DatabaseService) GetMPasien(req *mikrobiologi.RequestPasienMikrobiologi) (*pasien.MPasien, error) {
|
func (s *DatabaseService) GetMPasien(req *mikrobiologi.RequestPasienMikrobiologi) (*pasien.MPasien, error) {
|
||||||
@@ -27,3 +28,47 @@ func (s *DatabaseService) GetPasienAPS(req *mikrobiologi.RequestPasienMikrobiolo
|
|||||||
}
|
}
|
||||||
return dataPasien, nil
|
return dataPasien, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *DatabaseService) GetTglRegPendaftaran(idxDaftar string) (string, error) {
|
||||||
|
var tglReg string
|
||||||
|
querySelect := `select tglreg from t_pendaftaran where "idxdaftar" = ?`
|
||||||
|
errSelect := s.DB.Debug().Raw(querySelect, idxDaftar).Scan(&tglReg).Error
|
||||||
|
if errSelect != nil {
|
||||||
|
log.Println(errSelect)
|
||||||
|
return "", errSelect
|
||||||
|
}
|
||||||
|
return tglReg, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *DatabaseService) GetTglMasukRS(idxDaftar string) (string, error) {
|
||||||
|
var tglMasuk time.Time
|
||||||
|
querySelect := `select masukrs from t_admission where "id_admission" = ?`
|
||||||
|
errSelect := s.DB.Debug().Raw(querySelect, idxDaftar).Scan(&tglMasuk).Error
|
||||||
|
if errSelect != nil {
|
||||||
|
log.Println(errSelect)
|
||||||
|
return "", errSelect
|
||||||
|
}
|
||||||
|
return tglMasuk.Format("2006-01-02"), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *DatabaseService) GetKetRujukan(noMR string) (string, string, error) {
|
||||||
|
var ketRujukan string
|
||||||
|
var isPenunjang *int
|
||||||
|
querySelect := `select ketrujuk, is_penunjang from t_pendaftaran where "nomr" = ?`
|
||||||
|
errSelect := s.DB.Debug().Raw(querySelect, noMR).Row().Scan(&ketRujukan, &isPenunjang)
|
||||||
|
if errSelect != nil {
|
||||||
|
log.Println(errSelect)
|
||||||
|
return "", "", errSelect
|
||||||
|
}
|
||||||
|
|
||||||
|
var jenisKunjungan string
|
||||||
|
if isPenunjang == nil {
|
||||||
|
jenisKunjungan = "Kunjungan Reguler"
|
||||||
|
} else if *isPenunjang == 1 {
|
||||||
|
jenisKunjungan = "Kunjungan Parsial"
|
||||||
|
} else if *isPenunjang == 0 {
|
||||||
|
jenisKunjungan = "Kunjungan Reguler"
|
||||||
|
}
|
||||||
|
|
||||||
|
return ketRujukan, jenisKunjungan, nil
|
||||||
|
}
|
||||||
@@ -88,6 +88,22 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Specimen, exist, errDiagnosa := simrsDB.GetDataLabMikroSpecimen(dataMikroMain.NoLab)
|
||||||
|
if errDiagnosa != nil {
|
||||||
|
log.Println(errDiagnosa)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{
|
||||||
|
"message": errDiagnosa,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
CaraPengambilan, exist, errDiagnosa := simrsDB.GetDataLabMikroJenisPemeriksaan(dataMikroMain.NoLab)
|
||||||
|
if errDiagnosa != nil {
|
||||||
|
log.Println(errDiagnosa)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{
|
||||||
|
"message": errDiagnosa,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if !exist {
|
if !exist {
|
||||||
log.Println("Data bukan pemeriksaan")
|
log.Println("Data bukan pemeriksaan")
|
||||||
@@ -102,10 +118,6 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
log.Println(dataLabMikroPengambilan)
|
log.Println(dataLabMikroPengambilan)
|
||||||
var pengambilan string
|
|
||||||
if len(dataLabMikroPengambilan) > 0 {
|
|
||||||
pengambilan = dataLabMikroPengambilan[0].NamaField
|
|
||||||
}
|
|
||||||
|
|
||||||
poli, errDokter := simrsDB.GetNamaRuang(dataMikroMain.KodePoli)
|
poli, errDokter := simrsDB.GetNamaRuang(dataMikroMain.KodePoli)
|
||||||
if errDokter != nil {
|
if errDokter != nil {
|
||||||
@@ -164,29 +176,64 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
if dokterPengirim == "" && dataMikroMain.Pengirim != "" && dataMikroMain.Pengirim != "0" {
|
if dokterPengirim == "" && dataMikroMain.Pengirim != "" && dataMikroMain.Pengirim != "0" {
|
||||||
dokterPengirim = dataMikroMain.Pengirim
|
dokterPengirim = dataMikroMain.Pengirim
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var tglReg string
|
||||||
|
|
||||||
|
if dataMikroMain.StatusRajal == "1" {
|
||||||
|
tglReg, err = simrsDB.GetTglRegPendaftaran(dataMikroMain.IdxDaftar)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"message": err})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else if dataMikroMain.StatusRajal == "0" {
|
||||||
|
tglReg, err = simrsDB.GetTglMasukRS(dataMikroMain.IdxDaftar)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"message": err})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tglOrder, err := time.Parse("2006-01-02 15:04:05.000", dataLabMikro[0].TangggalOrderLab)
|
||||||
|
if err != nil {
|
||||||
|
log.Println("ERROR PARSE:", err)
|
||||||
|
}
|
||||||
|
tglOrderString := tglOrder.Format("2006-01-02")
|
||||||
|
|
||||||
|
rujukan, jenisKunjungan, errRujukan := simrsDB.GetKetRujukan(dataMikroMain.NoMR)
|
||||||
|
if errRujukan != nil {
|
||||||
|
log.Println(errRujukan)
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"message": errRujukan})
|
||||||
|
return
|
||||||
|
}
|
||||||
log.Println("Akan masuk loop dataLabMikro...")
|
log.Println("Akan masuk loop dataLabMikro...")
|
||||||
for _, value := range dataLabMikro {
|
for _, value := range dataLabMikro {
|
||||||
log.Println("Masuk loop, value:", value)
|
log.Println("Masuk loop, value:", value)
|
||||||
dataLisMikro = &mikrobiologi.RequestLISMikro{
|
dataLisMikro = &mikrobiologi.RequestLISMikro{
|
||||||
NoRM: dataMikroMain.NoMR,
|
TanggalReg: tglReg,
|
||||||
Nama: dataPasien.Nama,
|
TanggalSampel: tglOrderString,
|
||||||
Alamat: dataPasien.Alamat,
|
NomorLab: dataMikroMain.NoLab,
|
||||||
Kota: dataPasien.Tempat,
|
NoRM: dataMikroMain.NoMR,
|
||||||
TanggalLahir: tglLahirString,
|
Nama: dataPasien.Nama,
|
||||||
NoHP: dataPasien.NoTelpon,
|
Alamat: dataPasien.Alamat,
|
||||||
Kelamin: dataPasien.JenisKelamin,
|
Kota: dataPasien.Tempat,
|
||||||
NIK: dataPasien.NoKTP,
|
TanggalLahir: tglLahirString,
|
||||||
NoBPJS: dataPasien.NoKartu,
|
NoHP: dataPasien.NoTelpon,
|
||||||
DokterPeminta: dokterPengirim,
|
Kelamin: dataPasien.JenisKelamin,
|
||||||
AsalPasien: poli.NamaPoli,
|
NIK: dataPasien.NoKTP,
|
||||||
Layanan: value.NamaPemeriksaan,
|
NoBPJS: dataPasien.NoKartu,
|
||||||
StatusBayar: "",
|
DokterPeminta: dokterPengirim,
|
||||||
NoTransaksi: dataMikroMain.NoLab,
|
AsalPasien: poli.NamaPoli,
|
||||||
Asuransi: caraBayar,
|
StatusBayar: "",
|
||||||
Klinis: diagnosa,
|
JenisPembayaran: caraBayar,
|
||||||
KodeSpesimen: value.NamaField,
|
JenisKunjungan: jenisKunjungan,
|
||||||
NamaSpesimen: value.JenisKelompok,
|
Diagnosa: diagnosa,
|
||||||
Pengambilan: pengambilan,
|
Rujukan: rujukan,
|
||||||
|
KodeSpesimen: value.JenisKelompok,
|
||||||
|
NamaSpesimen: Specimen.NamaField,
|
||||||
|
Pengambilan: CaraPengambilan.NamaField,
|
||||||
|
JenisPemeriksaan: value.NamaField,
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("Sebelum masuk LIS", dataLisMikro)
|
log.Println("Sebelum masuk LIS", dataLisMikro)
|
||||||
@@ -243,6 +290,7 @@ func SendDataLISMikro(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
log.Println("RESPONSE", responseMikro)
|
log.Println("RESPONSE", responseMikro)
|
||||||
c.JSON(http.StatusOK, responseMikro)
|
c.JSON(http.StatusOK, responseMikro)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func EkstrakHasil(c *gin.Context) {
|
func EkstrakHasil(c *gin.Context) {
|
||||||
|
|||||||
@@ -89,25 +89,29 @@ type ResponseDataPasienRajalAPS struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type RequestLISMikro struct {
|
type RequestLISMikro struct {
|
||||||
NoRM string `json:"norm"`
|
TanggalReg string `json:"tanggalregis"`
|
||||||
Nama string `json:"nama"`
|
TanggalSampel string `json:"tanggalsampel"`
|
||||||
Alamat string `json:"alamat"`
|
NomorLab string `json:"nomor_lab"`
|
||||||
Kota string `json:"kota"`
|
NoRM string `json:"norm"`
|
||||||
TanggalLahir string `json:"tgllahir"`
|
Nama string `json:"nama"`
|
||||||
NoHP string `json:"nohap"`
|
Alamat string `json:"alamat"`
|
||||||
Kelamin string `json:"kelamin"`
|
Kota string `json:"kota"`
|
||||||
NIK string `json:"nik"`
|
TanggalLahir string `json:"tgllahir"`
|
||||||
NoBPJS string `json:"nobpjs"`
|
NoHP string `json:"nohap"`
|
||||||
DokterPeminta string `json:"drpeminta"`
|
Kelamin string `json:"kelamin"`
|
||||||
AsalPasien string `json:"asalpasien"`
|
NIK string `json:"nik"`
|
||||||
Layanan string `json:"layanan"`
|
NoBPJS string `json:"nobpjs"`
|
||||||
StatusBayar string `json:"statusbayar"`
|
DokterPeminta string `json:"drpeminta"`
|
||||||
NoTransaksi string `json:"notransaksi"`
|
AsalPasien string `json:"asalpasien"`
|
||||||
Asuransi string `json:"asuransi"`
|
StatusBayar string `json:"statusbayar"`
|
||||||
Klinis string `json:"klinis"`
|
JenisPembayaran string `json:"jenispembayaran"`
|
||||||
KodeSpesimen string `json:"kode"`
|
JenisKunjungan string `json:"jeniskunjungan"`
|
||||||
NamaSpesimen string `json:"spesimen"`
|
Rujukan string `json:"keteranganrujukan"`
|
||||||
Pengambilan string `json:"pengambilan"`
|
Diagnosa string `json:"diagnosa"`
|
||||||
|
KodeSpesimen string `json:"kodespesimen"`
|
||||||
|
NamaSpesimen string `json:"spesimen"`
|
||||||
|
Pengambilan string `json:"pengambilan"`
|
||||||
|
JenisPemeriksaan string `json:"jenispemeriksaan"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type OrderLabMikroMain struct {
|
type OrderLabMikroMain struct {
|
||||||
@@ -130,11 +134,20 @@ type OrderLabMikroMain struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type OrderLabMikro struct {
|
type OrderLabMikro struct {
|
||||||
IdxOrderMikro string `gorm:"column:idxordermikro" json:"idxordermikro"`
|
IdxOrderMikro string `gorm:"column:idxordermikro" json:"idxordermikro"`
|
||||||
NamaPemeriksaan string `gorm:"column:nama_pemeriksaan" json:"nama_pemeriksaan"`
|
NamaPemeriksaan string `gorm:"column:nama_pemeriksaan" json:"nama_pemeriksaan"`
|
||||||
NamaField string `gorm:"column:nama_field" json:"nama_field"`
|
NamaField string `gorm:"column:nama_field" json:"nama_field"`
|
||||||
JenisKelompok string `gorm:"column:jenis_kelompok" json:"jenis_kelompok"`
|
JenisKelompok string `gorm:"column:jenis_kelompok" json:"jenis_kelompok"`
|
||||||
KodeTarif string `gorm:"column:kode_tarif" json:"kode_tarif"`
|
KodeTarif string `gorm:"column:kode_tarif" json:"kode_tarif"`
|
||||||
|
TangggalOrderLab string `gorm:"column:tglorder" json:"tglorder"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type OrderLabMikroSpecimen struct {
|
||||||
|
NamaField string `gorm:"column:nama_field" json:"nama_field"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type OrderLabMikroJenisPemeriksaan struct {
|
||||||
|
NamaField string `gorm:"column:nama_field" json:"nama_field"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type OrderLabMikropengambilan struct {
|
type OrderLabMikropengambilan struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user