/hbys_laboratuvar_sonuc

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 yazılmış bir araçtır.

Primary LanguageHTMLMIT LicenseMIT

HBYS e-Sonuc

Hastane Laboratuvar Sonuç Alma Sistemi - Sonuç Görüntüleyici

Probel HBYS 🏥

Prolabsonuc 🚑

🇬🇧 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.

Logo

İ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ında data.json dosyasına kaydeder. PDF'den HTML'ye dönüşüm için pdf2htmlEX 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.

Örnek HBYS Laboratuvar Sonuç linkleri:


Screenshots

Login Login Login

⭐ PDF to JSON Data Conversion Script - generate.py

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

Requirements:

  • chardet: Character encoding detection library
  • pdf2htmlEX: PDF to HTML conversion tool in exe folder

Usage:

  1. Place your PDF files in the pdf folder.
  2. Run the script to process the PDF files and generate JSON data.

The script performs the following steps:

  1. Converts PDF files to HTML format using pdf2htmlEX.
  2. Extracts data from the generated HTML files.
  3. Cleans and processes the extracted data.
  4. Saves the cleaned data as a JSON file named data.json.

⭐ JSON to Line Chart Visualization Script - display.py

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

Requirements:

  • matplotlib: comprehensive library for creating static, animated, and interactive visualizations in Python

Usage:

  1. Run the generate.py with already downloaded PDF files in pdf directory and have the data.json file.
  2. Run the script to visualize the data in the data.json file.
  3. Use the combobox or arrow buttons to navigate between different data.

📋 Gereksinimler (Requirements)

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 in exe 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

💾 Sonuçların İndirilmesi (Downloading Results)

  1. HBYS Laboratuvar Sonuçları sistemine giriş yapılır Login
  2. Laboratuvar Sonuçları sekmesine geçilir, Rapor Al butonuna tıklanır Laboratuvar Sonuçları
  3. Açılan pencerede indirme butonuna tıklanarak dosya pdf klasörüne indirilir Download

Tüm laboratuvar sonuçları tek tek pdf klasörüne indirilmelidir.

💉 Kullanım (Usage)

Ö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örde data.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 bile data.json dosyasındaki veriler korunur, asla silinmezler, eğer yeni bir pdf dosyası pdf klasörüne eklendiyse, o dosyadaki yeni veriler data.json dosyasına eklenir. Tüm veriler yeniden oluşturulmak isteniyorsa, data.json dosyası silinmeli ve sonrasında generate.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şle display.py, data.json dosyasına ihtiyaç duymaktadır.
python generate.py
python display.py

🐛 Known Issues

  • generate.py - pdf : data without old value cannot be parsed because of the regexp in extract_lines_with_specified_format function.

💊 Future Improvements

  • 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.

⛄ Author

Eray Öztürk (@diffstorm)

😍 Credits

pdf2htmlEX PDF to HTML renderer by Lu Wang

🚔 LICENSE

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.