diff --git a/api-app/main.py b/api-app/main.py index 7bab9a0..5b04742 100644 --- a/api-app/main.py +++ b/api-app/main.py @@ -131,4 +131,4 @@ async def migrate_study( if __name__ == "__main__": import uvicorn - uvicorn.run("main:app", host="0.0.0.0", port=8888, reload=True) + uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True) diff --git a/api-app/process.py b/api-app/process.py index f3095ca..6424437 100644 --- a/api-app/process.py +++ b/api-app/process.py @@ -211,7 +211,7 @@ def process_study_by_accession(accession_number): response_data["details"]["his_integration_success"] = True response_data["details"]["steps_completed"].append("his_api_success") else: - error_msg = response_data_his.get('message', 'Unknown error') + error_msg = response_data_his.get('MSG', response_data_his.get('message', 'Unknown error')) process_logger.error(f"Failed to send JSON for {accession_number} to HIS API: {error_msg}. Study_IUID: {study_uid}") response_data["details"]["his_integration_success"] = False response_data["details"]["his_error"] = error_msg @@ -254,8 +254,14 @@ def process_study_by_accession(accession_number): # Set final response based on C-STORE success (primary success metric) response_data["success"] = send_result['success'] + if send_result['success']: - response_data["message"] = f"Berhasil migrasi file DICOM Accession Number: {accession_number}" + his_success = response_data["details"].get("his_integration_success", False) + if his_success: + response_data["message"] = f"Berhasil migrasi file DICOM Accession Number: {accession_number}" + else: + his_error = response_data["details"].get("his_error", "Unknown HIS error") + response_data["message"] = f"Berhasil migrasi file DICOM tetapi gagal update HIS: {his_error}" else: response_data["message"] = f"Gagal migrasi file DICOM: {send_result.get('error', 'Unknown error')}"