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
AdataOrta ölçekli özel hastane
Akgün YazılımKamu + özel hastane (en geniş Türkiye yaygınlığı)
AritmosÖzel + bazı üniversite hastaneleri
CompuGroup (CGM)Uluslararası — Türkiye'de Acıbadem dahil bazı zincirler
DoctorsoftBağımsız klinikler + küçük özel hastane
FonetOrta-büyük özel hastane
KarmedBölgesel özel hastane
ProbelÜniversite + bazı özel hastane zincirleri
SisoftBü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.

ŞirketKonumlanma
Acıbadem Sağlık SigortaAcıbadem grubu zinciri ile entegre
Allianz SigortaPazar liderlerinden — Pot-ALL gerçek-zamanlı API'siyle Türkiye'deki tek bilinen real-time örnek
Anadolu SigortaTürkiye İş Bankası grubu
AXA SigortaUluslararası
AksigortaSabancı grubu
Ergo SigortaMunich Re Türkiye operasyonu
Generali Sigortaİtalyan grup
HDI SigortaTalanx grubu
Mapfre Sigortaİspanyol grup
Türkiye SigortaDevlet 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. 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. 2

    Doktor önerisi

    Dahiliye uzmanı iki kalem önerir: 901550 Tam kan sayımı (70 TL), 902340 EKG 12 kanallı (120 TL).

  3. 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. 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. 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. 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. 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. 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. 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 decision

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