Sağlık Teknolojisi

e-Nabız Entegrasyonu Ne Kadar Sürer, Ne Kadara Mal Olur?

24 Sep 2026
13 dakika okuma
İninia Teknoloji

Bir e-Nabız entegrasyonunda kod yazma işi projenin en kısa parçasıdır. Sağlık Bakanlığı'nın SYS servisine veri gönderen bir hattın geliştirilmesi, kapsamı dar tutulduğunda 18-28 adam-günlük bir iştir; ininia'nın kullandığı 300-400 USD/adam-gün bandıyla bu 5.400 - 11.200 USD aralığına denk gelir. Takvimi belirleyen ise geliştirme değil, Kayıt Tescil Sistemi (KTS) süreci: ıslak imzalı üst yazı, gizlilik sözleşmesi, ISO belgeleri ve uygunluk testleri. Bu iki sayıyı ayrı ayrı planlamayan her bütçe şaşar.

Bu yazı, e-Nabız Entegrasyonu: Teknik Rehber yazımızın devamıdır. O yazı "nasıl bağlanılır"ı anlatıyor; bu yazı "ne kadar sürer, kaç para eder, nerede tıkanır" sorusunu cevaplıyor.

Önce Doğru Soruyu Sorun: İki Farklı Proje Var

"e-Nabız entegrasyonu" tek bir iş değil. Fiyat sorduğunuzda karşınızdaki ekip hangisini anladıysa o rakamı söyler, siz de elmayla armudu karşılaştırırsınız.

Proje tipi Ne yapar Tescil gerekir mi
A. Veri gönderen taraf
(SBYS / HBYS / LBYS)
Sağlık tesisinde üretilen klinik veriyi XML paketleri hâlinde SYS web servisine gönderir. Evet. Yazılım üreticisi KTS'ye kayıtlı, yazılım tescilli olmalı.
B. Vatandaş tarafı
(mobil uygulama, tele-tıp)
Kişinin kendi rızasıyla kendi kaydına erişen uygulama. Farklı bir izin akışı; SYS gönderim tescili ile aynı şey değildir.

Bu yazı A tipini fiyatlıyor, çünkü kurumsal bütçe sorularının büyük çoğunluğu oradan geliyor. B tipi için teknik rehber yazımıza bakın.

Takvimi Kod Değil, KTS Belirliyor

Sağlık Bakanlığı'nın yayımladığı Kayıt Tescil Sistemi Kayıt Aşamaları Kılavuzu, yeni kayıt yaptıracak bir yazılım üreticisi için sekiz adımlı bir yol haritası tanımlıyor. Adımların hiçbiri "API anahtarını panelden al" değil:

  1. Yetki Belgesi (EK-1): e-devlet şifresi olan bir personel, süreci yürütmek üzere resmen görevlendirilir.
  2. Başvuru üst yazısı (EK-2) ve ekleri hazırlanır.
  3. Üst yazı Genel Evrak Birimi'ne elden veya posta ile teslim edilir, tarih ve sayı alınır.
  4. Belgeleri tam olan üreticinin yetkilisiyle Gizlilik Sözleşmesi (EK-3) imzalanır; kts.saglik.gov.tr üzerinde pasif kayıt açılır.
  5. Yazılım, veri gönderme ve sağlık bilişim standartlarına uygunluk testlerine tabi tutulur. Test için üreticiye "yazılım erişim test kodu" verilir.
  6. Testleri geçen üreticiye gerçek ortam için "yazılım erişim kodu" teslim edilir.
  7. TS ISO/IEC 27001 belgesi, kayıt için gerekli belgelerle birlikte teslim edilir.
  8. Kayıtlı üreticiler Bakanlığın sayfasında ilan edilir.

Kılavuz ayrıca TS ISO/IEC 15504 (SPICE) için 01.07.2017, TS ISO/IEC 15408 (Ortak Kriterler) için 01.01.2019 son tarihlerini veriyor. Bu tarihler geçti. Yani bugün bu belgeler artık "yakında zorunlu olacak" değil, zorunlu statüde; eksik olan üretici yetki belgesi alamıyor. Portaldan alınan yetki belgesinin geçerlilik süresi de sadece 15 gün, dolayısıyla ihale takviminizi belgeyi alma tarihine göre ayarlamanız gerekiyor.

03.07.2026 değişikliği: süre artık sabit değil

Sağlık Bilgi Yönetim Sistemleri Hakkında Yönetmelik (RG 31934, 25.08.2022), 3 Temmuz 2026 tarihli ve 33299 sayılı Resmî Gazete ile değiştirildi. İki madde doğrudan planınızı etkiliyor:

  • Kayıt ve akreditasyonu düzenleyen 6'ncı maddedeki "bir yıl süre verilir" ifadesi kaldırıldı; yerine "gereken süre Genel Müdürlük tarafından ilan edilir" geldi. Uyum süresi artık mevzuattan okunamıyor, duyurudan takip ediliyor.
  • Kaydı silinen üreticinin yeniden kayıt başvurusu, silme tarihinden itibaren bir yıl işleme alınmıyor. Bu, tescili bir "bir kere hallettik" kalemi olmaktan çıkarıp süreklilik gerektiren bir yükümlülüğe dönüştürüyor.

Pratik sonuç: sözleşmenizde "entegrasyon X ayda teslim edilir" yazıyorsa, o cümlenin altına "tescil sürecindeki kurum kaynaklı bekleme süreleri teslim süresine dâhil değildir" maddesini koyun. Koymazsanız kendi kontrolünüzde olmayan bir takvimi taahhüt etmiş olursunuz.

KTS Kapsamı Sandığınızdan Geniş

Kılavuz, kayıt altına alınacak yazılımları tek tek sayıyor ve liste hastane yazılımının çok ötesine geçiyor: HBYS, AHBS, LBYS, PACS, DHBS, MHBS, KDS, KMBYS, DYBS, ATBS, DVYS, İYBS, İİBYS, İTS, OBS, TPS. Yani "biz sadece laboratuvar yazılımı yapıyoruz" ya da "bizimki bir karar destek ürünü" demek kapsam dışında kalmanızı sağlamıyor.

Uygunluk testleri de yazılım tipine göre değişiyor. Kılavuzun verdiği örnekler:

Yazılım tipi Test edilen başlıklar
HBYSSağlık.Net Online veri gönderim durumu, minimum veri (VEM) oluşturma, ICD-O standardına göre gönderim, MKYS entegrasyonu, MHRS entegrasyonu, ekranların örneklem yoluyla kontrolü
AHBSSağlık.Net Online veri gönderim durumu, ekran kontrolü
LBYSSağlık.Net Online veri gönderim durumu, laboratuvar veri modeli (VEM), LOINC standardına göre gönderim, ekran kontrolü
PACSTeletıp ve teleradyoloji sistemine entegrasyon, PACS veri modeli, ekran kontrolü
KDS / iş zekâsıEkranların örneklem yoluyla kontrolü

Bu tablo bütçe açısından önemli çünkü testlerin bir kısmı sizin geliştirmenizi değil, ürünün başka sistemlerle entegre olmasını ölçüyor. LBYS yapıyorsanız LOINC eşleme çalışması, HBYS yapıyorsanız MKYS ve MHRS entegrasyonları ayrı iş kalemleridir ve e-Nabız gönderim hattına dâhil değildir. Tescile girmeden önce bunların hazır olması gerekir.

Üreticisi yurt dışında olan bir yazılımı temsil ediyorsanız kılavuz bir belge daha istiyor: apostil tasdikli distribütörlük sözleşmesi. Bu belgenin temini tek başına haftalar alabilir; takvime ayrı bir kalem olarak yazın.

Geliştirme Tarafında Gerçekten Ne Yapılıyor?

SYS servisinin sözleşmesi neredeyse boştur. WSDL tek bir operasyon tanımlar, SYSSendMessage, ve bu operasyon string alıp string döner. Yani kod üreticisi size tip güvenliği sağlamaz; bütün iş, doğru XML paketini kurmakta ve dönen kodu doğru yorumlamaktadır.

Endpoint : https://sys.sagliknet.saglik.gov.tr/SYS/SYSWS.svc
WSDL     : https://sys.sagliknet.saglik.gov.tr/SYS/SYSWS.svc?wsdl
Binding  : BasicHttpBinding_ISYSWS  (WCF, SOAP 1.1)
Operation: SYSSendMessage   // string in, string out

e-Nabız rehberi, sistemde "6 farklı kategoride 118 adet aktif veri paketi" bulunduğunu ve hemen ardından "Aktif paket sayısı değişiklik göstermektedir" uyarısını yapıyor. Rehberin kendi menüsünde 101'den 907'ye kadar numaralı paketler listeleniyor. Bu sayı sizin işinizin büyüklüğü değildir. Tipik bir poliklinik + laboratuvar akışı için gerçekten dokunacağınız paketler şunlardır:

Paket Adı Neden ilk turda
101Hasta KayıtSYSTakipNo burada üretilir; diğer her paket buna bağlanır.
102Hizmet/İlaç/Malzeme Bilgisi KayıtFaturalama ve SUT tarafıyla temas eden ilk pakettir.
103Muayene Bilgisi KayıtTanı ve muayene verisi; klinik içeriğin çekirdeği.
105Laboratuvar Sonuç KayıtLIS entegrasyonu varsa hacmin çoğu buradan gelir.
106Çıkış Bilgisi KayıtBaşvuruyu kapatır; eksikse kayıt yarım kalır.
200Veri Paketi SilmeDüzeltme akışınız yoksa üretimde eliniz kolunuz bağlanır.
402 / 404SYS Takip No / Hastane Referans No SorgulamaMutabakat ve tekrar gönderim mantığınızın temeli.

Paket numaralarını ve zorunlu alan listesini koda gömmeyin. Rehberin kendi uyarısı bunu yapmamanız gerektiğini söylüyor; paket tanımlarını sürümlenmiş bir konfigürasyon tablosunda tutun, kod tarafında yalnızca şema doğrulaması ve gönderim mantığı olsun.

Gönderim katmanı ne kadar kod? Bu kadar.

Aşağıdaki PHP 8 örneği, gönderim katmanının iskeletini gösteriyor. İşin zor kısmının nerede olmadığını görmek için faydalı: SoapClient çağrısı üç satır, geri kalan her şey sonuç kodunun yorumlanması.

<?php
// PHP 8.4 · ext-soap gerekli. XML paketi ayrıca üretilip $paketXml'e konur.

$client = new SoapClient(
    'https://sys.sagliknet.saglik.gov.tr/SYS/SYSWS.svc?wsdl',
    ['soap_version' => SOAP_1_1, 'trace' => true, 'connection_timeout' => 30]
);

$yanit = $client->SYSSendMessage(['input' => $paketXml]);
$ham   = $yanit->SYSSendMessageResult;   // string döner, tipli nesne değil

// Ham istek/yanıtı MUTLAKA saklayın; sorun anında tek kanıtınız budur.
$log->kaydet($client->__getLastRequest(), $ham);

$kod = sysSonucKodunuCikar($ham);        // yanıt XML'inden sonuç kodu

match (true) {
    $kod === 'S0000'                      => $kuyruk->basarili(),
    in_array($kod, ['E0001','E0005','E0006','E0097','E1006'], true)
                                          => $kuyruk->yenidenDene(gecikme: 'ustel'),
    $kod === 'E0020'                      => $kuyruk->beklet(saniye: 60), // dk'da 3 hata limiti
    $kod === 'E2033'                      => $kuyruk->mevcutTakipNoyuEslestir($ham),
    $kod === 'E2025'                      => $kuyruk->paketiBol(),
    default                               => $kuyruk->oluMektup($kod, $ham),
};

Bu iskeletteki tek "akıllı" parça match bloğudur ve içindeki her dal, rehberdeki gerçek bir sonuç koduna karşılık gelir. Kalıcı hatayı (şema hatası, geçersiz kod) yeniden denemeye sokarsanız E0020 limitine çarparsınız; geçici hatayı ölü mektup kuyruğuna atarsanız veri kaybedersiniz. Ayrımı doğru yapmak, kod yazmaktan daha uzun sürer.

Test kodu ile gerçek ortam kodu iki ayrı şeydir

KTS kılavuzu bu ikisini açıkça ayırıyor. Gizlilik sözleşmesi imzalanan üreticiye önce "yazılım erişim test kodu" verilir ve uygunluk testleri bu kodla yapılır. Testleri geçen üreticiye ancak sonra, gerçek ortamda veri gönderebilmesi için "yazılım erişim kodu" teslim edilir. Kılavuz kodun muhafazasından üretici yetkilisini sorumlu tutuyor.

Buradan çıkan mimari kural: ortam seçimini if ($production) ile değil, konfigürasyondan okunan bir profille yapın. Test ve gerçek ortam kimlik bilgileri farklı olduğu için yanlış ortam seçiminin belirtisi E9004 olur ve bu kod size "yanlış ortamdasın" demez, sadece "kullanıcı adı veya şifre yanlış" der.

Adam-Gün Dökümü ve Fiyat Bandı

Aşağıdaki tablo, ininia'nın proje tahmin motorunda kullandığı kalibrasyon kurallarıyla hesaplanmıştır: kıdemli ve AI destekli bir ekip varsayımı, test için geliştirme toplamının %8-10'u, proje yönetimi ve teknik liderlik için ayrı ayrı %6-8'i, DevOps için sabit 3-6 gün, ve overhead toplamının hiçbir koşulda %25'i aşmaması kuralı.

Kalem Dar kapsam Geniş kapsam
SOAP istemcisi, kimlik bilgisi yönetimi, kuyruk35
Paket üretimi ve XML şema doğrulaması (5-8 paket)610
Kod listesi senkronizasyonu ve sürümleme24
Sonuç kodu yorumlama, yeniden deneme, ölü mektup kuyruğu34
Gözlemlenebilirlik: ham istek/yanıt saklama, başarı oranı metriği23
Geliştirme ara toplamı1626
Test + PM + teknik liderlik + DevOps (overhead, tavan %25)46
Toplam adam-gün2032
300 - 400 USD/adam-gün ile6.000 - 8.000 USD9.600 - 12.800 USD

Bu tablo bir teklif değil, bir kontrol listesidir. Aldığınız teklifte "gözlemlenebilirlik" ve "kod listesi senkronizasyonu" satırları yoksa, o iş daha sonra ikinci bir faturayla karşınıza gelir. Kendi kapsamınız için hızlı bir bant görmek isterseniz proje fiyat hesaplama aracını kullanabilirsiniz.

Burası Kırılıyor: Sonuç Kodlarının Söylemediği Şeyler

e-Nabız rehberinin Sonuç Kodları tablosu, entegrasyonun gerçek maliyetinin nerede biriktiğini açık ediyor. Başarı tek koddur: S0000. Geri kalan her şey, sizin mimarinizin tasarlanmasını gerektiren bir durumdur.

Kod Mesaj Mimarinize yansıması
E2025XML boyutu 10 MB limitinin üzerindeToplu gönderim yapan bir gün sonu işinde paket bölme stratejisi zorunludur. Sonradan eklemek pahalıdır.
E0020SysTakipNo başına hatalı istek limit aşımı. Limit: dakikada 3 istekNaif bir "hata aldık, hemen tekrar dene" döngüsü sizi kilitler. Üstel geri çekilme ve takip numarası bazlı sayaç gerekir.
E1009KABUL_ZAMANI 01.01.2019 öncesi olan kayıtlar için işlem yapılamazGeçmiş veri taşıma planınızın üst sınırı budur. Eski arşivi göndermeyi bütçelemeyin.
E2033Bu HASTANE_REFERANS_NUMARASI ile daha önce alınmış bir SYSTakipNo varServis idempotent değil, ama çakışmada size kullanılabilir numarayı döndürüyor. Bunu hata değil, eşleştirme sinyali olarak işleyin.
E2011Temel paketler 200 ile silinemez101, 102, 105, 106, 108, 201, 203, 268, 409, 502 ve 700 için düzeltme akışınız "sil ve yeniden gönder" olamaz.
E1014Aşı bilgisi içeren hasta kaydı silinemez207 numaralı aşı veri setinde silme ve güncelleme kapalıdır. Yanlış aşı kaydı kalıcıdır; giriş tarafında doğrulayın.
E8000SGK Bildirim kontrolü başarısız700 numaralı paket SGK tarafına dokunur. Yani Bakanlık hattınız, MEDULA verinizin doğruluğuna bağımlı hâle gelir.
E9004Kullanıcı adı veya şifre yanlışTest ve gerçek ortam kimlik bilgileri ayrıdır. Ortam seçimini koda değil konfigürasyona bağlayın.

Bu listeye bakarak şunu söyleyebiliriz: e-Nabız entegrasyonunda pahalı olan şey mutlu yol değil, hata yolu. Gönderim kodunu bir günde yazarsınız. Dakikada üç hatayla kilitlenen bir servise karşı dayanıklı bir kuyruk, sürümlenmiş kod tabloları ve silinemeyen paketler için düzeltme stratejisi kurmak, işin geri kalanıdır.

Ölçmediğiniz tek metrik: gönderim başarı oranı

Sahada en sık görülen arıza, entegrasyonun sessizce bozulmasıdır. Servis 200 OK döner, SOAP zarfı geçerlidir, ama gövdedeki sonuç kodu E1007'dir ve kimse bakmıyordur. Aylar sonra kurum "veri gönderimi eksik" uyarısı alır. Bunu engellemenin yolu, gönderim başarı oranını birinci sınıf bir metrik olarak izlemek ve kod bazında dağılımını günlük raporlamaktır. Bu, tablodaki "gözlemlenebilirlik" satırının neden pazarlık konusu olmadığını açıklar.

Kendiniz mi Yazmalısınız, Tescilli Bir SBYS Üzerinden mi Gitmelisiniz?

Karar kuralı basit: hedefiniz ürün satmak mı, yoksa tek bir kurumun veri yükümlülüğünü kapatmak mı?

Durumunuz Öneri
Birden çok sağlık tesisine satacağınız bir yazılım geliştiriyorsunuzKTS tescilini kendiniz alın. ISO 27001 ve SPICE/Ortak Kriterler yatırımını baştan planlayın; bunlar entegrasyon bütçesinden ayrı kalemlerdir.
Tek bir hastane için yardımcı bir modül yazıyorsunuzKurumun mevcut tescilli HBYS'si üzerinden gönderin. Kendi tescilinizi almak bu kapsam için orantısız.
Vatandaşa dönük bir mobil uygulama yapıyorsunuzSYS gönderim tescili sizin probleminiz değil. Farklı bir izin ve rıza akışına bakıyorsunuz.
Mevcut HBYS'niz var ama gönderim sürekli hata veriyorYeni entegrasyon değil, teşhis işi alın. Çoğu vakada sorun sürümü geçmiş kod listeleri ya da kuyruğu olmayan gönderim mimarisidir.

Sağlık tarafındaki tescil, HBYS mimarisi ve SKRS kod yönetimi konularını ayrıntılı ele aldığımız yazı: HBYS Nedir? Mimari, USS Entegrasyonu ve SBYS Tescili. Faturalama ayağı için ise MEDULA Entegrasyonu: SGK Web Servisleri yazımıza bakın; E8000 kodunun neden sizi ilgilendirdiğini orada göreceksiniz.

Teklif Alırken Sözleşmeye Koyacağınız Dört Madde

  1. Tescil beklemesi teslim süresine dâhil değildir. Kurum kaynaklı bekleme süreleri ayrı izlenir ve gecikme cezasına konu edilmez.
  2. Kapsam, paket numaralarıyla yazılır. "e-Nabız entegrasyonu" değil, "101, 102, 103, 105, 106, 200, 402 paketleri" denir. Sonradan eklenen her paket değişiklik talebidir.
  3. Kod listeleri sürümlenerek senkronize edilir. Sabit kodlanmış SKRS değerleri kabul edilmez.
  4. Gönderim başarı oranı teslim kriteridir. Kabul testinde "kod çalışıyor" değil, "son 7 günde S0000 oranı %X'in üzerinde" ölçülür.

Bu dördü sözleşmede varsa, e-Nabız entegrasyonu tahmin edilebilir bir iştir. Yoksa, kimsenin sorumluluğunu üstlenmediği bir kurum yazışması sürecine dönüşür.

Sırada Ne Var

Kendi kapsamınızı netleştirmek için sıradaki adım şu: rehberdeki paket listesini açın, hastanenizin (ya da müşterinizin) gerçekten ürettiği veri türlerini bu listeyle eşleştirin ve elinizde kalan paket sayısını sayın. Beş paketin altındaysanız yukarıdaki dar kapsam bandındasınız. On paketi geçtiyseniz geniş kapsam bandına geçtiniz ve muhtemelen laboratuvar veya radyoloji tarafı işin içine girdi.

Bu eşleştirmeyi birlikte yapmamızı isterseniz sağlık ve medikal yazılım sayfamıza ya da doğrudan iletişim sayfasına bakabilirsiniz.

Bu yazıdaki teknik ayrıntılar 25 Eylül 2026 tarihinde birincil kaynaklardan doğrulanmıştır: servis sözleşmesi sys.sagliknet.saglik.gov.tr/SYS/SYSWS.svc?wsdl, sonuç kodları ve veri paketi listesi rehber.enabiz.gov.tr, tescil adımları Sağlık Bakanlığı "Kayıt Tescil Sistemi Kayıt Aşamaları Kılavuzu" (2016), mevzuat ise 25.08.2022 tarihli 31934 sayılı Resmî Gazete'de yayımlanan Sağlık Bilgi Yönetim Sistemleri Hakkında Yönetmelik ve 03.07.2026 tarihli 33299 sayılı değişiklik. Adam-gün ve birim fiyat aralıkları ininia'nın kendi tahmin modelindeki değerlerdir (300-400 USD/adam-gün, overhead tavanı %25) ve bağlayıcı teklif değildir. Mevzuat ile servis sözleşmeleri değişebilir; üretime çıkmadan önce güncel kılavuzu teyit edin.

Bu konuda bir yazılım projesi mi planlıyorsunuz?

Projenizi birlikte analiz edip teknik yol haritasını çıkarabiliriz. Ücretsiz keşif görüşmesi için hemen yazın.

İlgili Hizmetlerimiz

İninia Teknoloji

İstanbul Teknik Üniversitesi ARI Teknokent'te kurulu Ininia Teknoloji, 12+ yıllık deneyimle AR/VR, yapay zeka ve mobil uygulama alanlarında yenilikçi çözümler sunmaktadır.

Projeniz için profesyonel destek mi arıyorsunuz?

12+ yıllık deneyimimizle dijital dönüşümünüzü hızlandıralım.

Ücretsiz Görüşme Talep Et