update ignore
This commit is contained in:
No files matched your search
@@ -0,0 +1,44 @@
|
||||
package observation
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"service/pkg/logger"
|
||||
)
|
||||
|
||||
// MapToInternalAPI memetakan data database menjadi payload untuk Internal API GoPrint
|
||||
// TODO: Sesuaikan dengan JSON Payload yang dibutuhkan oleh internal endpoint Observation Anda
|
||||
func MapToInternalAPI(dbData *ObservationDB, orgID string) map[string]interface{} {
|
||||
// Format Waktu
|
||||
waktuPeriksa := logger.LocalNow()
|
||||
if dbData.TglPeriksa.Valid {
|
||||
waktuPeriksa = dbData.TglPeriksa.Time
|
||||
}
|
||||
|
||||
payload := map[string]interface{}{
|
||||
"observation_id": fmt.Sprintf("%d", dbData.IdxPemeriksaan),
|
||||
"encounter_id": fmt.Sprintf("%d", dbData.IdxDaftar),
|
||||
"organization_id": orgID,
|
||||
"patient_id": dbData.NoMR.String, // Sebaiknya diganti dengan IHS Number di Service
|
||||
"code": dbData.KodePemeriksaan.String,
|
||||
"value": dbData.Nilai.String,
|
||||
"unit": dbData.Satuan.String,
|
||||
"effective_date": waktuPeriksa.Format(time.RFC3339),
|
||||
}
|
||||
return payload
|
||||
}
|
||||
|
||||
// MapToSyncLog membuat struktur data log histori untuk disimpan ke tabel database
|
||||
func MapToSyncLog(idx int64, fhirID string, reqPayload interface{}, respBody []byte, status string, errMsg string) ObservationSyncLog {
|
||||
reqBytes, _ := json.MarshalIndent(reqPayload, "", " ")
|
||||
return ObservationSyncLog{
|
||||
IdxPemeriksaan: idx,
|
||||
ObservationID: fhirID,
|
||||
RequestPayload: string(reqBytes),
|
||||
ResponsePayload: string(respBody),
|
||||
Status: status,
|
||||
ErrorMessage: errMsg,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user