🇬🇧 Hospital E-Result Data Monitoring and Reporting Application for Turkish Probel HBYS e-hospital systems
🇹🇷 Probel tarafından tasarlanmış HBYS hastane laboratuvar sonuç alma (e-sonuç) sistemleri tarafından üretilen pdf dosyalarını analiz ederek test sonuçlarını ayıklamak ve görüntülemek amacıyla Python dilinde programlama egzersizi amacıyla yazılmış bir araçtır. Tüm Probel HBYS hastane sonuç alma sistemlerinin ürettiği tahlil sonuçlarıyla uyumlu çalışmaktadır.
İki scriptten oluşan bu uygulama, tahlil sonuçlarını grafik olarak gösterir. Bunun için öncelikle tüm pdf dosyaları sistemden indirilerek pdf
klasörüne kopyalanmalıdır, sonra scriptler sırasıyla çalıştırılır.
- 🏥
generate.py
: PDF dosyalarını işler, onlardan yapılandırılmış verileri çıkarır ve verileri JSON formatındadata.json
dosyasına kaydeder. PDF'den HTML'ye dönüşüm içinpdf2htmlEX
aracını kullanır ve çeşitli veri çıkarma ve temizleme işlemleri gerçekleştirir. - 📉
display.py
:data.json
dosyasındaki sonuç bilgilerini grafiksel olarak tarihe göre sıralanmış şekilde görüntüler.
- DOKUZ EYLÜL ÜNİVERSİTESİ HASTANESİ
- İZMİR EŞREFPAŞA HASTANESİ
- ÖZEL EGEUMUT HASTANESİ
- MANİSA CELAL BAYAR ÜNİVERSİTESİ HAFSA SULTAN HASTANESİ
- S.B.Ü İSTANBUL EĞİTİM VE ARAŞTIRMA HASTANESİ
- PAMUKKALE ÜNİVERSİTESİ HASTANELERİ
- DİYARBAKIR DİCLE ÜNİVERSİTESİ HASTANESİ
This script processes PDF files, extracts structured data from them, and saves the data in a JSON format.
The PDF files should be downloaded in the pdf
folder from any of Turkish Probel
hospital system
- chardet: Character encoding detection library
- pdf2htmlEX: PDF to HTML conversion tool in
exe
folder
- Place your PDF files in the
pdf
folder. - Run the script to process the PDF files and generate JSON data.
- Converts PDF files to HTML format using pdf2htmlEX.
- Extracts data from the generated HTML files.
- Cleans and processes the extracted data.
- Saves the cleaned data as a JSON file named
data.json
.
This script visualizes special JSON data generated by the generate.py
script using line charts.
The data consists of blood-test results or similar tests in a well-known Turkish Probel
hospital system
- matplotlib: comprehensive library for creating static, animated, and interactive visualizations in Python
- Run the
generate.py
with already downloaded PDF files inpdf
directory and have thedata.json
file. - Run the script to visualize the data in the
data.json
file. - Use the combobox or arrow buttons to navigate between different data.
Cloning the repository:
git clone https://github.com/diffstorm/hbys_laboratuvar_sonuc.git
Before running the script, ensure you have the following requirements installed:
- Python 3.x
- Libraries listed in
requirements.txt
pdf2htmlEX
tool inexe
folder (from pdf2htmlEX GitHub)
🇬🇧 To install the necessary libraries, use:
🇹🇷 Gerekli kütüphanelerin kurulumu için aşağıdaki komut çalıştırılmalıdır:
pip install -r requirements.txt
- HBYS Laboratuvar Sonuçları sistemine giriş yapılır
- Laboratuvar Sonuçları sekmesine geçilir, Rapor Al butonuna tıklanır
- Açılan pencerede indirme butonuna tıklanarak dosya
pdf
klasörüne indirilir
Tüm laboratuvar sonuçları tek tek pdf
klasörüne indirilmelidir.
Öncelikle HBYS laboratuvar sonuç sisteminden tahlil sonuçları pdf
klasörüne indirilmelidir.
Sonrasında aşağıdaki gibi scriptler sırasıyla çalıştırılmalıdır.
generate.py
çalıştırıldıktan sonra, aynı klasördedata.json
dosyası oluşturulacaktır, bu dosya tahlil sonuçlarını saklamak için kullanılır.generate.py
tekrar tekrar çalıştırılsa biledata.json
dosyasındaki veriler korunur, asla silinmezler, eğer yeni bir pdf dosyasıpdf
klasörüne eklendiyse, o dosyadaki yeni verilerdata.json
dosyasına eklenir. Tüm veriler yeniden oluşturulmak isteniyorsa,data.json
dosyası silinmeli ve sonrasındagenerate.py
çalıştırılmalıdır.display.py
ise,data.json
dosyası oluşturulduktan sonra, verileri grafik şeklinde görüntülemek için kullanılır. Bir başka deyişledisplay.py
,data.json
dosyasına ihtiyaç duymaktadır.
python generate.py
python display.py
generate.py
- pdf : data without old value cannot be parsed because of the regexp in extract_lines_with_specified_format function.
display.py
- Show Last 6 months, 3 months...display.py
- Show important event dates in the chart as vertical lines with text on them, have them in events.json with date and text.display.py
- Zoom in out, select area in the chart- Add CSV support, have csv directory and check both pdf and csv and process the existing files.
Eray Öztürk (@diffstorm)
pdf2htmlEX PDF to HTML renderer by Lu Wang
This project is licensed under the MIT License - see the LICENSE file for details.
This README.md file provides users with detailed information about how to use the HBYS e-Sonuc tool and its features. Users can also find detailed explanation about getting the data from HBYS e-sonuc system. Don't forget to include the necessary license information in your project.