# pydicom-uploader ## Overview pydicom-uploader adalah sebuah gateway untuk mengambil order dari BISONE yang perlu diunggah ke Google Healthcare. Proyek ini dirancang untuk mempermudah proses pengambilan dan pengunggahan file DICOM dari PACS ke Google Healthcare API melalui Go OHIF Proxy. ### Fitur Utama - Mengambil daftar order yang perlu diproses dari API BISONE. - Mengambil file DICOM dari PACS menggunakan protokol DICOM C-GET. - Mengunggah file DICOM ke Google Healthcare API. - Memperbarui status order di API BISONE setelah proses selesai. - Logging yang terstruktur untuk memantau proses. ## Alur Kerja Sederhana 1. Aplikasi mengambil daftar order yang perlu diproses dari API BISONE. ``` # Contoh GET Request GET https://devone.aplikasi.web.id/one-api/mockup/godicomupreq/godicomupreq/get_uprequests?startDate=2025-04-22&endDate=2025-04-22&status=0 ``` 2. Untuk setiap order: - Mengambil file DICOM dari PACS berdasarkan StudyInstanceUID. - Mengunggah file DICOM ke Google Healthcare API melalui Go OHIF Proxy. - Memperbarui status order di API BISONE. 3. Membersihkan file sementara setelah proses selesai. ## Development ### Prasyarat - Python 3.9 atau lebih baru. - Virtual environment (opsional, tetapi disarankan). ### Langkah-langkah 1. Clone repository ini: ```bash git clone cd pydicom-google-uploader ``` 2. Buat virtual environment dan aktifkan: ```bash python3 -m venv venv source venv/bin/activate # Untuk Linux/Mac venv\Scripts\activate # Untuk Windows ``` 3. Install dependencies: ```bash pip install -r requirements.txt ``` 4. Konfigurasi file `config.py` sesuai dengan kebutuhan Anda, seperti: - `PACS_HOST`, `PACS_PORT`, `PACS_AE_TITLE`, dan `LOCAL_AE_TITLE` untuk konfigurasi PACS. - `PROXY_URL` untuk URL Go OHIF Proxy. - `API_URL` untuk endpoint API BISONE. 5. Jalankan aplikasi: ```bash python main.py ``` 6. Untuk pengembangan, Anda dapat menggunakan file `test.http` untuk menguji endpoint HTTP. ### Catatan - Pastikan Anda memiliki akses ke PACS dan API BISONE yang dikonfigurasi. - Gunakan log file (`server.log`) untuk memantau proses dan debugging jika terjadi kesalahan.