package imagingstudy import ( "encoding/json" "time" ) // MapToInternalAPI memetakan data gabungan ke payload API Internal SatuSehat func MapToInternalAPI(dbData *ImagingStudyData, orgID string) map[string]interface{} { waktu := time.Now() if dbData.StartedDate.Valid { waktu = dbData.StartedDate.Time } payload := map[string]interface{}{ "request_id": dbData.RequestID, "servicerequest_id": dbData.ServiceRequestID.String, "encounter_id": dbData.EncounterID.String, "patient_id": dbData.PatientID.String, "accession_number": dbData.NoRegister.String, // Digunakan sebagai Identifier SATUSEHAT "modality": dbData.Modality.String, "started_date": waktu.Format(time.RFC3339), } return payload } func MapToSyncLog(reqID string, fhirID string, reqPayload interface{}, respBody []byte, status string, errMsg string) ImagingStudySyncLog { reqBytes, _ := json.MarshalIndent(reqPayload, "", " ") return ImagingStudySyncLog{ RequestID: reqID, ImagingStudyID: fhirID, RequestPayload: string(reqBytes), ResponsePayload: string(respBody), Status: status, ErrorMessage: errMsg, } }