|
|
|
@@ -27,6 +27,7 @@ type CreateDto struct {
|
|
|
|
|
type ReadListDto struct {
|
|
|
|
|
FilterDto
|
|
|
|
|
Includes string `json:"includes"`
|
|
|
|
|
Sort string `json:"sort"`
|
|
|
|
|
Pagination ecore.Pagination
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -38,16 +39,17 @@ type FilterDto struct {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ReadDetailDto struct {
|
|
|
|
|
Id uint16 `json:"id"`
|
|
|
|
|
Id uint `json:"id"`
|
|
|
|
|
Includes string `json:"includes"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type UpdateDto struct {
|
|
|
|
|
Id uint16 `json:"id"`
|
|
|
|
|
Id uint `json:"id"`
|
|
|
|
|
CreateDto
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type DeleteDto struct {
|
|
|
|
|
Id uint16 `json:"id"`
|
|
|
|
|
Id uint `json:"id"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type MetaDto struct {
|
|
|
|
@@ -84,3 +86,122 @@ func ToResponseList(data []Screening) []ResponseDto {
|
|
|
|
|
}
|
|
|
|
|
return resp
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ScreeningEntry struct {
|
|
|
|
|
AgeAtRisk bool `json:"ageAtRisk"` // Usia Dengan Risiko
|
|
|
|
|
LowCognitiveFunction bool `json:"lowCognitiveFunction"` // Pasien Dengan Fungsi Kognitif Rendah
|
|
|
|
|
HighRiskPatient bool `json:"highRiskPatient"` // Pasien Dengan Risiko Tinggi
|
|
|
|
|
HighComplaintPotential bool `json:"highComplaintPotential"` // Potensi Komplain Tinggi (Medik dan Non Medik)
|
|
|
|
|
ChronicOrCatastrophicOrTerminal bool `json:"chronicOrCatastrophicOrTerminal"` // Kasus Dengan Penyakit Kronis, Katastropik, Terminal
|
|
|
|
|
LowFunctionalStatus bool `json:"lowFunctionalStatus"` // Status Fungsional Rendah, Kebutuhan Bantuan ADL Tinggi
|
|
|
|
|
HistoryOfMedicalDeviceUse bool `json:"historyOfMedicalDeviceUse"` // Pasien Dengan Riwayat Penggunaan Peralatan Medis Masa Lalu
|
|
|
|
|
MentalOrSocialIssues bool `json:"mentalOrSocialIssues"` // Riwayat Gangguan Mental, Bunuh Diri, Krisis Keluarga, Isu Sosial
|
|
|
|
|
FrequentERVisitsOrReadmission bool `json:"frequentERVisitsOrReadmission"` // Sering Masuk IGD, Readmisi RS
|
|
|
|
|
HighCareCostEstimate bool `json:"highCareCostEstimate"` // Perkiraan Asuhan Dengan Biaya Tinggi
|
|
|
|
|
ComplexFinancingSystem bool `json:"complexFinancingSystem"` // Kemungkinan Sistem Pembiayaan Yang Kompleks
|
|
|
|
|
AboveAverageLengthOfStay bool `json:"aboveAverageLengthOfStay"` // Kasus Yang Melebihi Rata-Rata Lama Dirawat
|
|
|
|
|
ImportantOrHighRiskDischargePlanning bool `json:"importantOrHighRiskDischargePlanning"` // Rencana Pemulangan Penting / Kontinuitas Pelayanan
|
|
|
|
|
Stagnation bool `json:"stagnation"` // Stagnasi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ProblemIdentification struct {
|
|
|
|
|
CareNotFollowingGuidelines bool `json:"careNotFollowingGuidelines"` // Tingkat Asuhan Tidak Sesuai Panduan/ Norma
|
|
|
|
|
OverUtilization bool `json:"overUtilization"` // Over Utilization Pelayanan
|
|
|
|
|
UnderUtilization bool `json:"underUtilization"` // Under Utilization Pelayanan
|
|
|
|
|
PatientNonCompliance bool `json:"patientNonCompliance"` // Ketidakpatuhan Pasien
|
|
|
|
|
InadequateEducation bool `json:"inadequateEducation"` // Edukasi Kurang Memadai
|
|
|
|
|
LackOfFamilySupport bool `json:"lackOfFamilySupport"` // Kurang Dukungan Keluarga
|
|
|
|
|
DecreasedDetermination bool `json:"decreasedDetermination"` // Penurunan Determinasi Ketika Komplikasi Meningkat
|
|
|
|
|
FinancialDifficultyDuringComplications bool `json:"financialDifficultyDuringComplications"` // Kendala Keuangan Ketika Komplikasi Meningkat
|
|
|
|
|
DischargeCriteriaNotMetOrDelayed bool `json:"dischargeCriteriaNotMetOrDelayed"` // Pemulangan/ Rujukan Belum Memenuhi Kriteria/ Ditunda
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FormA struct {
|
|
|
|
|
Screening ScreeningEntry `json:"screening"`
|
|
|
|
|
AssessmentDetail string `json:"assessmentDetail"` // Masukkan detail assesmen
|
|
|
|
|
ProblemIdentification ProblemIdentification `json:"problemIdentification"`
|
|
|
|
|
PlanningDetail string `json:"planningDetail"` // Masukkan detail perencanaan
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (s ScreeningEntry) SelectedScreeningLabels() []string {
|
|
|
|
|
result := []string{}
|
|
|
|
|
|
|
|
|
|
if s.AgeAtRisk {
|
|
|
|
|
result = append(result, "Usia Dengan Risiko")
|
|
|
|
|
}
|
|
|
|
|
if s.LowCognitiveFunction {
|
|
|
|
|
result = append(result, "Pasien Dengan Fungsi Kognitif Rendah")
|
|
|
|
|
}
|
|
|
|
|
if s.HighRiskPatient {
|
|
|
|
|
result = append(result, "Pasien Dengan Risiko Tinggi")
|
|
|
|
|
}
|
|
|
|
|
if s.HighComplaintPotential {
|
|
|
|
|
result = append(result, "Potensi Komplain Tinggi (Medik dan Non Medik)")
|
|
|
|
|
}
|
|
|
|
|
if s.ChronicOrCatastrophicOrTerminal {
|
|
|
|
|
result = append(result, "Kasus Dengan Penyakit Kronis, Katastropik, Terminal")
|
|
|
|
|
}
|
|
|
|
|
if s.LowFunctionalStatus {
|
|
|
|
|
result = append(result, "Status Fungsional Rendah, Kebutuhan Bantuan ADL Tinggi")
|
|
|
|
|
}
|
|
|
|
|
if s.HistoryOfMedicalDeviceUse {
|
|
|
|
|
result = append(result, "Pasien Dengan Riwayat Penggunaan Peralatan Medis Masa Lalu")
|
|
|
|
|
}
|
|
|
|
|
if s.MentalOrSocialIssues {
|
|
|
|
|
result = append(result, "Riwayat Gangguan Mental, Bunuh Diri, Krisis Keluarga, Isu Sosial")
|
|
|
|
|
}
|
|
|
|
|
if s.FrequentERVisitsOrReadmission {
|
|
|
|
|
result = append(result, "Sering Masuk IGD, Readmisi RS")
|
|
|
|
|
}
|
|
|
|
|
if s.HighCareCostEstimate {
|
|
|
|
|
result = append(result, "Perkiraan Asuhan Dengan Biaya Tinggi")
|
|
|
|
|
}
|
|
|
|
|
if s.ComplexFinancingSystem {
|
|
|
|
|
result = append(result, "Kemungkinan Sistem Pembiayaan Yang Kompleks")
|
|
|
|
|
}
|
|
|
|
|
if s.AboveAverageLengthOfStay {
|
|
|
|
|
result = append(result, "Kasus Yang Melebihi Rata-Rata Lama Dirawat")
|
|
|
|
|
}
|
|
|
|
|
if s.ImportantOrHighRiskDischargePlanning {
|
|
|
|
|
result = append(result, "Rencana Pemulangan Penting / Kontinuitas Pelayanan")
|
|
|
|
|
}
|
|
|
|
|
if s.Stagnation {
|
|
|
|
|
result = append(result, "Stagnasi")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (p ProblemIdentification) SelectedProblemLabels() []string {
|
|
|
|
|
result := []string{}
|
|
|
|
|
|
|
|
|
|
if p.CareNotFollowingGuidelines {
|
|
|
|
|
result = append(result, "Tingkat Asuhan Tidak Sesuai Panduan/ Norma")
|
|
|
|
|
}
|
|
|
|
|
if p.OverUtilization {
|
|
|
|
|
result = append(result, "Over Utilization Pelayanan")
|
|
|
|
|
}
|
|
|
|
|
if p.UnderUtilization {
|
|
|
|
|
result = append(result, "Under Utilization Pelayanan")
|
|
|
|
|
}
|
|
|
|
|
if p.PatientNonCompliance {
|
|
|
|
|
result = append(result, "Ketidakpatuhan Pasien")
|
|
|
|
|
}
|
|
|
|
|
if p.InadequateEducation {
|
|
|
|
|
result = append(result, "Edukasi Kurang Memadai")
|
|
|
|
|
}
|
|
|
|
|
if p.LackOfFamilySupport {
|
|
|
|
|
result = append(result, "Kurang Dukungan Keluarga")
|
|
|
|
|
}
|
|
|
|
|
if p.DecreasedDetermination {
|
|
|
|
|
result = append(result, "Penurunan Determinasi Ketika Komplikasi Meningkat")
|
|
|
|
|
}
|
|
|
|
|
if p.FinancialDifficultyDuringComplications {
|
|
|
|
|
result = append(result, "Kendala Keuangan Ketika Komplikasi Meningkat")
|
|
|
|
|
}
|
|
|
|
|
if p.DischargeCriteriaNotMetOrDelayed {
|
|
|
|
|
result = append(result, "Pemulangan/ Rujukan Belum Memenuhi Kriteria/ Ditunda")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result
|
|
|
|
|
}
|
|
|
|
|