İçeriğe geç

Klinik Arşiv Platformu — Mobil

Ceviz Flow

Hekimlerin ve araştırmacıların hasta, vaka ve takip kayıtlarını cihazda şifreli tek bir kronolojik dosyada tuttuğu mobil klinik arşiv; fotoğraf, DICOM, 3B model, belge ve klinik not aynı vaka dosyasında bir arada durur.

Rol
Backend ve veri katmanı geliştiricisi
Dönem
Ağustos 2026 — Devam ediyor
Odak
Klinik veriyi cihazda uçtan uca şifreli tutarken arama, karşılaştırma ve çok formatlı medyayı aynı vaka dosyasında çalışır durumda tutmak.

Çözülmesi gereken neydi?

Klinik kayıt bugün dağınık yürüyor: fotoğraf hekimin kamera rulosunda ve oradan bulut yedeğinde, radyoloji görüntüsü hastane sisteminde, 3B model bilgisayarda bir klasörde, not kâğıtta. Bir vakanın tamamını görmek için üç ayrı yere bakmak, önce–sonra karşılaştırması için galeriden iki fotoğraf bulup ekran görüntüsü almak gerekiyor — ve ameliyat tarihi değiştiğinde eski tarih kayboluyor, neyin ne zaman değiştiği sonradan görülemiyor.

Ürünü bir bütün olarak kurmak.

Arşivi sunucuya değil cihaza koyduk: klinik veri özel nitelikli kişisel veri, üstelik hekim kapsama alanı olmayan bir muayenehanede de kendi kayıtlarına ulaşabilmeli — bu yüzden kayıt numaralarını sunucu değil uygulama üretiyor. Şifreleme alan bazlı değil dosya bazlı, çünkü tam metin arama indeksi de aynı veritabanı dosyasının içinde ve alan bazlı şifrelemede klinik notlar o indeksten düz metin okunabilirdi. Kimlik doğrulama kendi servisimizde kalıyor, Firestore yalnızca depo olarak kullanılıyor.

Sistemin katmanları

  1. 01

    Flutter client

    Özellik öncelikli Clean Architecture: her alan kendi data, domain ve presentation katmanını taşıyor. Ekranlar repository arayüzlerini görüyor; hangi implementasyonun bağlanacağına tek bir yer karar veriyor.

  2. 02

    Encrypted local store

    Drift üzerinden SQLite; veritabanı dosyasının tamamı SQLCipher ile şifreli, medya dosyaları ayrıca AES-GCM ile. Anahtar Keychain/Keystore'da duruyor, cihazdan çıkmıyor; arşiv varken anahtar bulunamazsa uygulama yeni anahtar üretmek yerine hata veriyor.

  3. 03

    Account service

    Dart ve Shelf ile yazılmış, Cloud Run üzerinde çalışan hesap servisi; Firestore yalnızca depo. Parola özeti Argon2id ile burada üretiliyor, saklanan şey oturum belirtecinin kendisi değil SHA-256 özeti, istemcinin Firestore erişimi tamamen kapalı.

  4. 04

    Capture contract

    Yönlendirmeli klinik çekim ekranı, görüntü işleme motoruyla arasındaki JSON sözleşmesine karşı geliştirildi: tespit güveni, açısal sapma, merkez hatası, hizalama skoru ve yönlendirme komutu. Motor henüz yazılmadı; ekran bugün mock bir kaynakla çalışıyor, motor bağlandığında yalnızca kaynak değişecek.

Öne çıkan özellikler

  • 01

    Hasta → vaka → takip hiyerarşisiyle kronolojik vaka dosyası

  • 02

    Fotoğraf, DICOM, 3B model, belge ve klinik notu aynı takip noktasında toplama

  • 03

    Branşa göre hazır takip şablonları

  • 04

    Aynı hastanın farklı dönem fotoğraflarını önce–sonra karşılaştırma

  • 05

    3B modeli uygulamanın kendi görüntüleyicisinde açma

  • 06

    Klinik notlarda ve tanılarda Türkçe tam metin arama

Bu iş için kullanılan araçlar.

  • Flutter
  • Dart
  • GetX
  • Drift
  • SQLite
  • SQLCipher
  • AES-GCM
  • Argon2id
  • Shelf
  • Cloud Run
  • Firestore
  • three.js
  • WebView
  • Keychain / Keystore
Ceviz Flow vaka dosyası, takip detayı ve hasta profili
Hasta dosyası, takip detayı ve hasta profili — kaydın hiyerarşisi tek akışta.
Ceviz Flow vaka dosyası yapısı
Takip noktaları sekmelerde; her noktanın notu, görseli, 3B modeli ve belgesi sayısıyla birlikte duruyor.
Ceviz Flow takip noktasının medya listesi
Klinik fotoğraf, BT kesiti, radyoloji raporu, cerrahi plan modeli ve klinik not aynı listede.
Ceviz Flow fotoğraf karşılaştırma, 3B görüntüleyici ve vaka oluşturma
Önce–sonra karşılaştırması, uygulama içi 3B model görüntüleyici ve şablon seçimiyle vaka oluşturma.

Ne değişti?

MVP geliştirme sürüyor. Kayıt, giriş ve oturum yönetimi canlı servise karşı çalışıyor; cihaz içi şifreli arşiv, fotoğraf çekimi ve saklama, karşılaştırma, tam metin arama, değişiklik geçmişi, 3B görüntüleyici ve takip hatırlatmaları uçtan uca çalışır durumda. DICOM dosyası arşive giriyor ancak görüntüleyicisi henüz yok; kullanıcı kendi şablonunu oluşturamıyor; anatomik yakalama motoru, bulut senkronizasyonu ve web arayüzü henüz yazılmadı.