Yeni: Gelismis dis diyagrami ve tedavi plani modulu yayinda. Ozellikleri gor
OOdadent
Surum bilgileri

Odadent guncel surumleri

Masaustu uygulamasinin en son yayinlanan surumunu ve web sitesinin yayindaki sunumunu burada gorebilirsiniz.

Masaustu Uygulama

Windows kurulum paketi

v1.23.1
# v1.23.1 — v1.23.0 Test Sonrasi Bug Fix + Onam Anamnez Genisletmesi + Mikro UI **Tarih:** 2026-05-03 ## Öne Çıkanlar - **PDF bos son sayfa bug fix:** Tum form ciktilarinda (Onam/Anamnez, Hasta Raporu, Makbuz, Recete) son sayfa bos kalip sadece footer ile gozukuyordu — duzeltildi. - **TDB 2026 fiyat listesi calisir hale geldi:** v1.23.0'de 294 kalem fiyat listesine eklenmiyordu (Vite bundle module not found). Artik dogru sekilde import edilir, eksikse her boot'ta tamamlanir. - **Onam Form'unda Q3-Q7 sorulari sisteme entegre:** Bas/boyun radyoterapi, cerrahi sonrasi kanama, diger tibbi sorun, surekli doktor, hamilelik bilgileri Hasta Form'unda Evet/Hayir + detay olarak doldurulur, Onam PDF'ine otomatik aktarilir. Hasta her seferinde elle yazmak zorunda kalmaz. - **Hasta arama Turkce karaktere duyarsiz:** "gunes" arayinca "GÜNEŞ", "ASEL GÜNEŞ" hastalari bulunur. - **Bekleyen kontroller takvim kutusunda sadece bagli olanlar:** Eskiden hasta basina TUM bekleyen kontroller her randevuda tekrarlaniyordu — artik sadece BU randevuya bagli kontroller gozukur. - **Auto-suggest kontrol modali default secim BOS:** Tedavi tamamlandiginda acilan "Onerilen Kontroller" modali artik default bos — hekim manuel sectikten sonra ekler. Eskiden 3 default kontrol (7g/30g/180g) sessizce yaratiliyordu. - **Sirali tedavi seansi tamamlama bloku kaldirildi:** Banko 4. seansi tamamlamak isterse 1-3 hala "planlanmis" olabilir (gercekte 4. seans randevusu yapilip gerceklesmis). Sistem artik engellemiyor. - **Specialty (Cerrahi/Ortodonti/Perio) sutun drag:** Bu sutunlarin baslik kismindaki drag handle ile genislik degisir, DB'ye kaydedilir. - **ESMM Mikro Grup tam UI:** Settings → E-SMM bolumunde Mikro Grup butonu + Bearer token input + auto-save before test. (Mikro adapter hala iskelet — endpoint URL ve auth contract apidestek@mikro.com.tr ile dogrulanmadan canli makbuz gonderemez.) ## Detaylar ### Kritik Bug Fixleri - **Randevular sayfasi acilmiyor:** v1.23.0'de `WeeklyCalendar.tsx`'e `useMemo` kullanildi ama import eksikti — sayfa crash ediyordu. Import eklendi. - **PDF bos son sayfa:** `drawFooter` Y degeri (`pageH - 26`) bottom margin'in (32) altinda kaliyordu, PDFKit `text()` otomatik `addPage()` yapip footer'i sonraki bos sayfaya yaziyordu. Footer renderlenirken margin gecici 0'a indirildi. - **TDB 2026 MODULE_NOT_FOUND:** `require('../data/tdb2026')` Vite main bundle'inda bulunamiyordu (Vite static analysis dynamic require'i tutmaz). Top-level `import { TDB_2026_ITEMS } from '../data/tdb2026'` ile statik import. Migration recovery agresif yapildi: her boot'ta `SELECT COUNT(*) FROM price_list_items WHERE name LIKE 'TDB:%'` ile fark kontrolu — eksikse fark kadar insert. - **PriceList visible toggle calismiyor:** `priceList:list` raw SQL sonuc better-sqlite3 + Prisma adapter'inda `COALESCE(visible,1)` BigInt donuyordu. Renderer `i.visible === 1` karsilastirmasi `BigInt(1) === Number(1)` -> `false` => toggle hep "1 (gorunur)" gonderiyordu. Handler artik `Number(r.visible)` cast eder. - **Recall sweep ambiguous SQL:** `runRecallSweep` SQL'inde `treatment_sessions JOIN treatments` sonra `MAX(completedDate)` cagriliyordu — iki tabloda da kolon var. `MAX(ts.completedDate)` qualified. - **ESMM Mikro validation reddediliyor:** `esmm:setSettings` handler'inda provider validation listesi `['nilvera', 'elogo', 'uyumsoft']` idi — `'mikro'` yoktu. Kullanici Mikro sectim deyince backend `'Gecersiz saglayici'` atip kayit etmiyor, eski `nilvera` kalip fatura kesiminde Nilvera'ya 404 gidiyordu. Liste `'mikro'` ile genisletildi. - **PlanAppointmentModal hekim default yanlis:** Modal acilinca `selectedSessions[0]?.treatment?.doctorId` ile default cekiyordu — v1.20.0'dan beri sessiyonlarin kendi `doctorId` override'i var, bu dikkate alinmiyordu. `session.doctorId ?? treatment.doctorId ?? doctors[0].id` zinciri. - **Hasta arama Turkce karaktersiz:** `toLocaleLowerCase('tr')` lowercase yapar ama diakritikleri korur (`güneş`). Yeni `normalizeTr()` helper transliterate eder (ş→s, ı→i, ğ→g, ü→u, ö→o, ç→c, kombinasyon noktali İ→i). Tam ad search da eklendi (`asel gunes` -> `ASEL GÜNEŞ`). ### UX Iyilestirmeleri - **Sirali tedavi seansi tamamlama bloku KALDIRILDI:** Banko 4. seansi tamamlamak isterse 1-3 hala "planlanmis" olabilir (gercek hayatta 4. seans randevusu yapilip gerceklesmis olabilir). Hekim kontrolunde, sistem engellemiyor. `treatmentSession:complete` ve `treatmentSession:update` her ikisinden de strict pending check kaldirildi. - **Auto-suggest kontrol modalinin default secimi BOS:** Tedavi tamamlandiginda acilan "Onerilen Kontroller" modalinde tum oneriler default secili geliyordu. Banko/hekim "Ekle" basinca implant icin 3 default kontrol (7g/30g/180g) sessizce yaratiliyordu. Artik default secim bos, "Once seciniz" butonu disabled. Hekim manuel sectikten sonra ekler. - **Bekleyen kontroller takvim kutusunda:** Eskiden hasta basina TUM bekleyen kontroller her randevu kutusunda gozukuyordu (her randevuda ayni 4-5 kontrol tekrar). Artik sadece BU randevuya **bagli** (appointmentId === apt.id) kontroller — kutu temiz. - **K:N rozet kaldirildi:** Randevu kutusunun sag ust kosesinde "🔔 K:4" amber rozet (her hastada gozukuyor, etkili degildi) kaldirildi. Body row'daki "🔔 Implant Kontrol" yeterli. - **Rozet/tooltip Turkce label:** `pendingFollowUpSummary` artik raw reason kodu (`implant_kontrol`) yerine TR label (`Implant Kontrol`). Tooltip "Kontroller: ...". - **Treatment summary description kullanir:** Eskiden takvim kutusu `t.type` (orn. `periodontoloji`) gosteriyordu. Artik `t.description` (orn. `Splint (Fiber Berkitmeli)`) — fiyat listesinden gelen tam ad. - **Specialty (Cerrahi/Ortodonti/Perio) sutun drag:** Bu sutunlarin baslik kismina drag handle (1.5px mavi cubuk) eklendi, surukle ile genislik degisir. DB'ye persist (`specialtyColumnWidths` setting key). - **SUT/TDB info banner sabit:** PriceListPage ustunde `localStorage.odadent_sut_info_dismissed` ile X butonu vardi — "her zaman gozuksun" istegi uzerine X kaldirildi. - **ESMM Mikro UI butonu:** Settings → E-SMM bolumunde `Mikro Grup` butonu + Bearer token input + amber uyari notu (apidestek@mikro.com.tr ile iletisime gec). - **ESMM Test butonu otomatik kaydeder:** Eskiden kullanici Mikro sectim deyip Save'e basmadan "Baglanti Testi" basinca DB hala `nilvera` kayitli, test Nilvera'ya gidiyordu. Test artik once `esmm:setSettings` cagirir, sonra `esmm:testConnection`. ### Onam Form Q3-Q7 Anamnez Onam formunda yer alan 5 ek soru artik hasta sisteminde **yapilandirilmis** olarak saklanir — eskiden bos cizgilerdi, hasta her seferinde elle dolduruyordu. - **Schema migration** (additive ALTER TABLE): `patient_anamnesis` tablosuna 7 kolon — `radiotherapy`, `bleedingPostSurgery`, `otherMedicalCondition` + `otherMedicalConditionDetail`, `regularDoctor` + `regularDoctorDetail`, `pregnancyMenstrualInfo`. - **Hasta Form Tibbi Bilgiler sekmesi:** "Ek Sorular (Onam Formundan)" alt-bolumu eklendi. Her soru `YesNoQuestion` komponenti (Evet/Hayir buton + opsiyonel detay input + medikal aciklama helper text). Ornek helper: "Q3 Radyoterapi — Bas/boyun bolgesine alinan radyoterapi sonrasi dis cekimi osteoradionekroz riski tasir." - **Hasta Detay AnamnesisPanel:** Q3-Q7 cevaplari amber rozet olarak gozukur ("Bas/boyun radyoterapi", "Diger tibbi sorun: meme kanseri tedavisi", "Surekli doktor: Dr. Ayse / Kardiyoloji" vb.). - **Onam PDF prefill:** Q3-Q7 satirlarinda artik `Evet` / `Hayir` / `Evet — Aciklama` otomatik basilir. ## Geriye Uyumluluk - Schema migration ALTER TABLE additive, eski kayitlar bozulmaz. - Eski client yeni server'a baglanirsa Q3-Q7 alanlarini gormez ama mevcut akislar calisir. - Yeni Q3-Q7 form alanlari nullable, `null` olarak DB'ye gider. - Sifir DB veri kaybi.
Son surumu indir

odadent.com

Web sitesi yayin surumu

v0.7.1
Yayin zamani
3 Mayıs 2026 00:29
Commit
29d6665
JSON ham cikti

Surum politikasi

  • Masaustu uygulama her yeni surumde otomatik olarak guncelleme bildirir (Ayarlar > Guncellemeyi Kontrol Et).
  • Her surum notlariyla birlikte yayinlanir, geriye donuk uyumluluk korunur.
  • Kritik guvenlik guncellemeleri yayinlandiginda iletisim adresinize bilgilendirme gonderilir.