Nasıl çalışır
Telefon trafiği yerine bir HTTP çağrısı.
HBYS isteği yollar, Medonay kuralları işler, sigorta tarafı eş zamanlı bilgilenir. Sahnedeki her oyuncu ve teknik adım aşağıda.
Bugün ne oluyor
Özel hastane provizyonu hala büyük oranda telefon trafiği üzerinden yürür. Hasta vezne önünde, personel kuyrukta sigorta operatörü bekler.
Mevcut akış
Hastane personeli sigortayı arar, poliçeyi sözlü okur, doktor kalemlerini tek tek aktarır. Beklenen süre tipik olarak 5-25 dakika.
Gerçek maliyet
Hasta deneyiminde sürtünme, marka algısında kayıp; orta ölçekli hastanede 4-6 tam zamanlı personel sadece bu süreçte; sözlü iletim hatasından kaynaklı aylık kalem bazlı sapmalar.
Medonay sonrası
Tek bir senkron API çağrısı, sub-second karar, otomatik audit kaydı, sigortaya HMAC imzalı async webhook. Telefon yerine milisaniye.
HBYS — Hastane Bilgi Yönetim Sistemi
HBYS, hastanenin idari, finansal ve klinik tüm operasyonlarını tek çatı altında tutan yazılımdır. Hasta kayıt, poliklinik, laboratuvar (LIS), radyoloji (RIS), eczane, fatura ve provizyon modüllerini içerir.
Türkiye'de hiçbir HBYS sağlayıcısı kamuya açık REST dokümantasyonu yayınlamaz. Entegrasyon her zaman NDA + PDF dokümantasyon + VPN test ortamı üzerinden ilerler. Bu yapısal engel Medonay'ın adapter pattern seçimini zorunlu kıldı.
| Sağlayıcı | Tipik Müşteri Profili |
|---|---|
| Adata | Orta ölçekli özel hastane |
| Akgün Yazılım | Kamu + özel hastane (en geniş Türkiye yaygınlığı) |
| Aritmos | Özel + bazı üniversite hastaneleri |
| CompuGroup (CGM) | Uluslararası — Türkiye'de Acıbadem dahil bazı zincirler |
| Doctorsoft | Bağımsız klinikler + küçük özel hastane |
| Fonet | Orta-büyük özel hastane |
| Karmed | Bölgesel özel hastane |
| Probel | Üniversite + bazı özel hastane zincirleri |
| Sisoft | Büyük özel hastane zinciri (en yüksek API olgunluğu) |
Özel sağlık sigortası provizyonu
Provizyon = sigorta şirketinin, hizmet verilmeden önce o hizmetin kapsamda olduğunu ve hangi oranda karşılanacağını teyit etmesidir. Poliçe + kapsam + bekleme süresi + yıllık limit + plan kuralları sıralı olarak değerlendirilir.
Allianz'ın Pot-ALL entegrasyonu, Türkiye'de kamuya referans verilen tek gerçek-zamanlı provizyon REST API örneğidir. Geri kalan tüm şirketler bugün SOAP/XML, kapalı portal veya çağrı merkezi üzerinden çalışır. Real-time API bugünün boşluğudur.
| Şirket | Konumlanma |
|---|---|
| Acıbadem Sağlık Sigorta | Acıbadem grubu zinciri ile entegre |
| Allianz Sigorta | Pazar liderlerinden — Pot-ALL gerçek-zamanlı API'siyle Türkiye'deki tek bilinen real-time örnek |
| Anadolu Sigorta | Türkiye İş Bankası grubu |
| AXA Sigorta | Uluslararası |
| Aksigorta | Sabancı grubu |
| Ergo Sigorta | Munich Re Türkiye operasyonu |
| Generali Sigorta | İtalyan grup |
| HDI Sigorta | Talanx grubu |
| Mapfre Sigorta | İspanyol grup |
| Türkiye Sigorta | Devlet bankaları çatı kuruluşu |
Bugün Medonay nerede duruyor
Kod tabanında 1 mock + 1 Sisoft HBYS adapter (FHIR R4 şekilli) ve sigorta tarafında sadece mock adapter mevcut. Adapter pattern sayesinde yeni bir sağlayıcı eklemek tek dosya + tek DB satırıdır; motor (AdjudicationEngine) hiç değişmez. İlk gerçek partnerla birlikte adapter takvimi açıktır.
Senaryo: 38 yaş Ahmet Bey, tahlil + EKG
Tek bir hasta için sahnedeki 9 adım. Süre hedefi: hastane senkron yanıtı 1 saniyenin altında alır.
- 1
Polikliniğe kayıt
Resepsiyon Ahmet Bey'in T.C. kimliğini girer; HBYS Allianz Tamamlayıcı Sağlık Sigortası bağlı olduğunu bilir.
- 2
Doktor önerisi
Dahiliye uzmanı iki kalem önerir: 901550 Tam kan sayımı (70 TL), 902340 EKG 12 kanallı (120 TL).
- 3
HBYS'den Medonay'a istek
Sisoft HBYS POST /v1/provision/request çağırır. Header'da X-API-Key, body'de hastanın poliçe bilgileri ve iki kalem. Payload hastanenin kendi şeklinde.
- 4
Adapter normalize eder
SisoftAdapter.NormalizeRequest çağrılır. Ham TC kimlik bu sınırda SHA-256 ile hash'lenir; servis katmanı asla plaintext görmez.
- 5
Çapraz sigorta poliçe çözünürlüğü
Hastane payload'unda 'patient.provider_code' varsa sadece o sigortaya sorulur (hint hızlı yolu). Yoksa Medonay aktif tüm sigortalara paralel sorar. Birden fazla sigorta 'evet, hastam' derse — örn. hasta Medicana'da Doğa, Acıbadem'de Acıbadem sigortalı — Medonay seçim yapmaz; 409 POLICY_SELECTION_REQUIRED + aday listesi döner. Hastane operatörü hastaya hangi sigortayı kullanmak istediğini sorar ve aynı 'hbys_request_id' ile 'provider_code' alanını doldurarak tekrar gönderir; orijinal istek 'awaiting_selection' durumundan 'decided'a geçer. Bu tasarım, hasta seçimini sisteme havale etmez; mali konuda algoritmik tahmin yok.
- 6
Adjudication motoru karar verir
Her kalem için: kategori kapsamda mı? Poliçe aktif mi? Kapsam araması, bekleme süresi, plan kuralları (DSL), per-item / sub-limit / annual limit kontrolü. Sırayla ve deterministik.
- 7
Persist + sync yanıt
provision_decisions + items + outbound_webhook_deliveries tek transaction'da yazılır. HBYS'e JSON dönülür; tipik 300-800 ms.
- 8
Async sigorta bildirimi
Worker pool kuyruktaki webhook'u alır, sigortanın URL'ine HMAC-SHA256 imzalı POST gönderir. Başarısız → 60s, 5dk, 30dk, 2sa, 12sa backoff. Sonunda dead_letter.
- 9
Hastane karar belgesini yazdırır
Personel ekranında ✅ Onaylandı görür: hangi kalem hangi oranda, hasta katkısı ne kadar. Vezne hastayı çağırır.
Teknik mimari — kuş bakışı
Yüksek seviyeli akış ve sistemi ölçeklenebilir tutan beş temel ilke.
Hospital HBYS (Sisoft / Fonet / ...)
│ POST /v1/provision/request (X-API-Key)
▼
Medonay Go API (Cloud Run)
│ HospitalSystemAdapter.NormalizeRequest()
│ InsuranceProviderAdapter.LookupPolicy()
│ AdjudicationEngine.Decide()
│ Tx { provision_decisions + items + outbound queue }
▼
◀── HTTP 200 ─── ProvisionDecision (< 1 sn)
│
│ worker.Pool ─► POST <insurer_callback_url> (HMAC sign)
▼ │
▼
Insurer back-end
│ POST /v1/webhooks/insurer/<code>/<event>
▼
Inbound dispatcher → reverse / annotate decisionAdapter pattern
Her HBYS ve her sigorta için ayrı bir adapter dosyası. Yeni partner = 1 dosya + 1 DB satırı + 1 registry girişi. Motor kodu hiç değişmez.
Pure adjudication engine
Aynı (request, policy) → aynı karar. Motor içinde time.Now() okunmaz, DB yazılmaz, dış HTTP çağrısı yapılmaz. engine_version her kararla stamp'lenir; geçmiş bir karar aynı sürümle yeniden üretilir.
Çapraz sigorta poliçe çözünürlüğü
Hastane hangi sigortada olduğunu bilmek zorunda değil; Medonay aktif tüm sigortalara paralel sorar. Aynı anda birden fazla geçerli poliçe varsa (örn. iş yeri grup + bireysel ek; ya da Doğa Medicana'da, Acıbadem-Acıbadem'de) Medonay sessizce seçim yapmaz — 409 POLICY_SELECTION_REQUIRED ile aday listesini döner, operatör hastaya sorar, aynı istek kimliğiyle hint dolu olarak yeniden gönderir. Operatör payload'a sigorta kodunu doğrudan yazarsa tek-atış 'hint' yolu çalışır. Mali konuda algoritmik tahmin yapmayız.
Audit & rule_trace
Her durum değiştirici çağrı audit_log satırı yazar (append-only, regulator-facing). Her karar rule_trace JSONB içinde hangi kuralın hangi sırayla çalıştığını saklar.
Güvenlik baseline
TC kimlik no SHA-256 + pepper, JWT (panel) + X-API-Key (HBYS), multi-tenant org_id scoping, HMAC webhook imzaları, bcrypt cost 12, custom HTTP server timeout'ları + custom HTTP client.
Ölçeklenebilirlik zarfı
Cloud Run cpu=1 memory=1Gi concurrency=80 max-instances=20. DB pool 10/instance → 200 max bağlantı. Hedef p95 < 1 sn; gerçek upstream adapter latency'sine bağlı.
Konuşmaya hazır mısınız?
Hastane veya sigorta tarafından, mevcut entegrasyon durumunuzu dinleyip adapter takvimi çıkaralım.