feat (vclaim-sep-control-letter): add delete and detail by control letter number
This commit is contained in:
@@ -40,8 +40,9 @@ type UpdateDto struct {
|
||||
}
|
||||
|
||||
type DeleteDto struct {
|
||||
Id uint `json:"id"`
|
||||
Number *string `json:"number"`
|
||||
Id uint `json:"id"`
|
||||
Number *string `json:"number"`
|
||||
RequestPayload string `json:"requestPayload" validate:"maxLength=1024"`
|
||||
}
|
||||
|
||||
type MetaDto struct {
|
||||
@@ -52,10 +53,11 @@ type MetaDto struct {
|
||||
|
||||
type ResponseDto struct {
|
||||
ecore.Main
|
||||
VclaimSep_Number *string `json:"vclaimSep_number"`
|
||||
Number *string `json:"number"`
|
||||
Value *string `json:"value"`
|
||||
FileUrl *string `json:"fileUrl"`
|
||||
VclaimSep_Number *string `json:"vclaimSep_number"`
|
||||
Number *string `json:"number"`
|
||||
Value *string `json:"value"`
|
||||
FileUrl *string `json:"fileUrl"`
|
||||
Detail *FullResponse `json:"detail,omitempty"`
|
||||
}
|
||||
|
||||
func (d VclaimSepControlLetter) ToResponse() ResponseDto {
|
||||
@@ -64,6 +66,7 @@ func (d VclaimSepControlLetter) ToResponse() ResponseDto {
|
||||
Number: d.Number,
|
||||
Value: d.Value,
|
||||
FileUrl: d.FileUrl,
|
||||
Detail: d.Detail,
|
||||
}
|
||||
resp.Main = d.Main
|
||||
return resp
|
||||
@@ -77,6 +80,15 @@ func ToResponseList(data []VclaimSepControlLetter) []ResponseDto {
|
||||
return resp
|
||||
}
|
||||
|
||||
func (d DeleteDto) RequestPayloadIntoJson() ([]byte, error) {
|
||||
payload := map[string]interface{}{}
|
||||
err := json.Unmarshal([]byte(d.RequestPayload), &payload)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return json.Marshal(payload)
|
||||
}
|
||||
|
||||
func (c CreateDto) RequestPayloadIntoJson() ([]byte, error) {
|
||||
payload := map[string]interface{}{}
|
||||
err := json.Unmarshal([]byte(c.RequestPayload), &payload)
|
||||
@@ -122,3 +134,154 @@ func (v ResponseForPDF) GenerateBirthDate() string {
|
||||
t, _ := time.Parse("2006-01-02", v.VclaimSep.VclaimMember.BirthDate)
|
||||
return pu.FormatIndonesianDate(t)
|
||||
}
|
||||
|
||||
type SuratKontrol 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 {
|
||||
KdProvider string `json:"kdProvider"`
|
||||
NmProvider string `json:"nmProvider"`
|
||||
}
|
||||
|
||||
type ProvPerujuk struct {
|
||||
KdProviderPerujuk string `json:"kdProviderPerujuk"`
|
||||
NmProviderPerujuk string `json:"nmProviderPerujuk"`
|
||||
AsalRujukan string `json:"asalRujukan"`
|
||||
NoRujukan string `json:"noRujukan"`
|
||||
TglRujukan string `json:"tglRujukan"`
|
||||
}
|
||||
|
||||
type VclaimResponse struct {
|
||||
MetaData MetaData `json:"metaData"`
|
||||
Response *SuratKontrol `json:"response"` // nullable
|
||||
}
|
||||
|
||||
type DetailVclaimResponse struct {
|
||||
MetaData MetaData `json:"metaData"`
|
||||
Response *FullResponse `json:"response"` // nullable
|
||||
}
|
||||
|
||||
type MetaData struct {
|
||||
Code string `json:"code"`
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
func (r VclaimResponse) ToPDFNeeds() ([]byte, error) {
|
||||
response := ResponseForPDF{
|
||||
Number: r.Response.Sep.NoSep,
|
||||
PlannedControlDate: r.Response.TglRencanaKontrol,
|
||||
IssuedDate: r.Response.TglTerbit,
|
||||
Doctor_Name: r.Response.NamaDokter,
|
||||
DstUnit_Name: r.Response.NamaPoliTujuan,
|
||||
ResponsibleDoctor_Name: *r.Response.NamaDokterPembuat,
|
||||
VclaimSep: VclaimSep{
|
||||
VclaimMember: VclaimMember{
|
||||
CardNumber: r.Response.Sep.Peserta.NoKartu,
|
||||
Name: r.Response.Sep.Peserta.Nama,
|
||||
BirthDate: r.Response.Sep.Peserta.TglLahir,
|
||||
Gender: r.Response.Sep.Peserta.Kelamin,
|
||||
},
|
||||
Diagnose: r.Response.Sep.Diagnosa,
|
||||
Number: r.Response.Sep.NoSep,
|
||||
},
|
||||
}
|
||||
return json.Marshal(response)
|
||||
}
|
||||
|
||||
type FullResponse 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"`
|
||||
FormPRB FormPRB `json:"formPRB"`
|
||||
}
|
||||
|
||||
type Provider struct {
|
||||
KdProvider string `json:"kdProvider"`
|
||||
NmProvider string `json:"nmProvider"`
|
||||
}
|
||||
|
||||
type FormPRB struct {
|
||||
KdStatusPRB *string `json:"kdStatusPRB"`
|
||||
Data PRBData `json:"data"`
|
||||
}
|
||||
|
||||
type PRBData struct {
|
||||
HBA1C *string `json:"HBA1C"`
|
||||
GDP *string `json:"GDP"`
|
||||
GD2JPP *string `json:"GD2JPP"`
|
||||
EGFR *string `json:"eGFR"`
|
||||
TD_Sistolik *string `json:"TD_Sistolik"`
|
||||
TD_Diastolik *string `json:"TD_Diastolik"`
|
||||
LDL *string `json:"LDL"`
|
||||
Rata_TD_Sistolik *string `json:"Rata_TD_Sistolik"`
|
||||
Rata_TD_Diastolik *string `json:"Rata_TD_Diastolik"`
|
||||
JantungKoroner *string `json:"JantungKoroner"`
|
||||
Stroke *string `json:"Stroke"`
|
||||
VaskularPerifer *string `json:"VaskularPerifer"`
|
||||
Aritmia *string `json:"Aritmia"`
|
||||
AtrialFibrilasi *string `json:"AtrialFibrilasi"`
|
||||
SesakNapas3Bulan *string `json:"SesakNapas3Bulan"`
|
||||
NyeriDada3Bulan *string `json:"NyeriDada3Bulan"`
|
||||
Terkontrol *string `json:"Terkontrol"`
|
||||
Gejala2xMinggu *string `json:"Gejala2xMinggu"`
|
||||
BangunMalam *string `json:"BangunMalam"`
|
||||
KeterbatasanFisik *string `json:"KeterbatasanFisik"`
|
||||
FungsiParu *string `json:"FungsiParu"`
|
||||
SkorMMRC *string `json:"SkorMMRC"`
|
||||
Eksaserbasi1Tahun *string `json:"Eksaserbasi1Tahun"`
|
||||
MampuAktivitas *string `json:"MampuAktivitas"`
|
||||
Epileptik6Bulan *string `json:"Epileptik6Bulan"`
|
||||
EfekSampingOAB *string `json:"EfekSampingOAB"`
|
||||
HamilMenyusui *string `json:"HamilMenyusui"`
|
||||
Remisi *string `json:"Remisi"`
|
||||
TerapiRumatan *string `json:"TerapiRumatan"`
|
||||
Usia *string `json:"Usia"`
|
||||
AsamUrat *string `json:"AsamUrat"`
|
||||
RemisiSLE *string `json:"RemisiSLE"`
|
||||
Hamil *string `json:"Hamil"`
|
||||
NadiIstirahat *string `json:"NadiIstirahat"`
|
||||
SesakNapasAktivitas *string `json:"SesakNapasAktivitas"`
|
||||
NyeriDadaAktivitas *string `json:"NyeriDadaAktivitas"`
|
||||
}
|
||||
|
||||
@@ -10,4 +10,6 @@ type VclaimSepControlLetter struct {
|
||||
Number *string `json:"number" gorm:"unique;size:20"`
|
||||
Value *string `json:"value"`
|
||||
FileUrl *string `json:"fileUrl" gorm:"unique;size:1024"`
|
||||
|
||||
Detail *FullResponse `json:"detail,omitempty" gorm:"-"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user