Genel Yapı

Sağlık Net Adaptörü Web Servisleri, genel web servis standartlarına uyan web servisleridir. Servisler içerisinde Ulusal Sağlık Veri Sözlüğü'nde bulunan alanlar yer almaktadır. Sağlık Net Web Servisleri ile Sağlık Net Adaptörü Web Servisleri arasındaki önemli farklar,

- Adaptör Web Servislerinin USVS tabanlı olması,

- Adaptör Web Servislerinin kullanici adi bilgisini Soap Header içerisinde değil mesaj bodysi içerisinde alması,

- Anlık olarak işlem durumunu görüntüleyebilecek Web Uygulaması olmasıdır.

Sağlık Net Adaptörü Web Servislerine, http://ws.sagliknetadaptoru.com adresinden ulaşılabilir. Sağlık Net Adaptörü Web Servislerinin kullanım modeli, internette olan yazılımın kullanım haklarının kullanıcılara verilmesidir. Bu kullanım hakları ile, gönderdiğiniz mesajlar, Adaptör tarafından Sağlık Net e iletilecek ve bu hizmet ücretsiz verilecektir.

 

Sağlık Net Web Servisleri ile Sağlık Net Adaptörü Web Servisleri Farkı

Web Servisleri sözkonusu olduğunda, tüketici olan veya kullanıcı olan tarafı en çok ilgilendiren kısım, bu web serv

islerinin interfaceleri olan, karşılıklı anlaşma metni olarak da tanımlanabilen wsdl dosyalarıdır.


Kabaca değinilecek olursa, Xml formatı ile ilgili olarak çalışmalar başladığında, xmlin en büyük avantajı olan sınırsız esnekliğin aynı zamanda en büyük dezavantajı olacağı farkedilerek, karşılıklı kullanılmak üzere bir xml dosyası formatı tanımlama dili (XSD) oluşturuldu. Bu dil, herbir kullanım için farklı şekilde, o kullanım için geçerli olacak xml formatının şeklini tanımlamakta kullanıldı. Bu şekilde kullanımı devam etmektedir.

Xml tabanlı olarak çalışan web servisleri için bu problem daha da ciddi idi, artık birbirlerinden bağımsız iki farklı sistemin mesajlaşma yapılarını birbirlerine açmak sözkonusu idi. Xml formatı tercih edilince tabii ki xsd düşünüldü ve wsdl yapısı içerisine xsd yerleştirildi.

Buradan hareketle, wsdl dosyaları, bir web servisin nasıl mesaj beklediğini gösteren kontratıdır. Bu kontrattaki şarta uyan taraflar bu wsdlın sahibi web servisleri ile haberleşebilirler.

Sağlık Net Web Servisleri ile sağlık Net Adaptörü Web Servislerinin wsdlları birbirlerinden çok farklıdır. Wsdl okuması güç olduğu için xml dosyalarından örnek vermek daha doğru olacaktır. Aşağıda, Sağlık Net Adaptörü Web Servislerinin kabul ettiği formatta Muayene Gönderim Şeması mevcuttur.

Dikkat edileceği gibi, bu mesaj içerisinde usvs ye yabancı bir başlık yoktur. Bu sayede, hem iletişime sağlanan efor azalır, hem yanlışlar daha oluşmadan ortadan kalkmış olurlar.

Yukarıdaki mesaj, aynı zamanda wsdl tanımında da bu şekilde istendiğinden, herhangi bir programlama dili ile wsdldan kod oluşturma seçeneğini seçtiğinizde, oluşan objeler, ControlActEvent gibi tuhaf objeler değil, MudahaleBilgisi gibi usvs içerisinde belirtilen objeler olacaktır.

Benzer bir mesaj için HL7 v3 karşılığı aşağıdaki gibidir.

Not: Mesaj, büyüklük gösterme amaçlı olarak küçük fontla yazılmıştır, mesajı incelemek isterseniz lütfen aşağıdaki kısmı kopyalıp bilgisayarınızda herhangi bir doküman ileyiciye kopyalayıp fontu büyütünüz.

 

Sağlık Net Adaptör Web Servisi'nin yaptığı şeylerden birisi, üstteki mesaj şeklindeki mesajları alıp, alttaki mesaja çevirmektir. Sağlık Net'in istediği mesaj verisinin tümü Adaptör Web Servisi formatı ile toplanmaktadır. Aradaki tek fark, Sağlık Net servislerinin hl7 cda e uyabilmek için eklediği ekstra alanlar veya yapılması gereken çevrimlerdir.

Bu işlemler her seferinde aynı olduğu için, Sağlık Net Adaptörü bu işlemleri yaparak Sağlık Net tarafına iletmektedir.

 

 

 

Çalışma Şekli

Sağlık Net Adaptörü Web Servisleri, dışarıdan doğru xml yapısıyla çağırılır. Web Servisler, bu xml dosyasını alarak ilk önce Mesaj veritabanına yazarlar. Daha sonra, Sağlık Net Adaptörü Web Servisi, bu mesajı ulusal Sağlık veri Sözlüğü objelerine çevirir ve bu objeleri Usvs dönüştürücüsüne gönderir.

Usvs dönüştürücüsü, gönderilen veri sözlüğü objelerini, hl7 objelerine çevirebilen bir mekanizmadır. Bu mekanizma içerisine giren veri sözlüğü objeleri HL7 v3 Objelerine dönüştürülür. Daha sonra bu hl7 objeleri, adaptör web servisleri tarafından hl7 XML ne çevirilirerek Sağlık Net çağrısı yapılacak hale gelir.

Bu aşamalar içerisinde herhangi bir noktada hata oluşursa, Sağlık Net Adaptörü exception fırlatır. Bu fırlatılan exception, SOAP mekanizması içerisinde fault mesajına dönüşerek kullanıcıya iletilir.

Oluşturulan HL7 XML i ile çağrı yapılırken, bu çağrı ile ilgili bilgiler gene Mesaj Veritabanına yazılır.

Sağlık Net Serverlarına çağrı yapıldıktan sonra, bu çağrının cevabı beklenir. Eğer çağrı hatalı sonuçlanmış ise (mesaj uygun değil, serverlara ulaşılamadı, timeout vb.) adaptör exception fırlatır ve exception fault olarak tarafınıza döner. Eğer fault mesajı gelmez ise Adaptör çağrısı başarılı olmuştur. Gelen cevap gene Mesaj Veritabanına yazılır.

Mesaj veritabanı Web Uygulaması tarafından kullanıldığından, bu işlemler sürerken Web Uygulaması ndan ilşlemler ile ilgili bilgi almak mümkündür.

Süreç kabaca numaralandırılırsa,

1. Sağlık Net Adaptörü Web Servisleri dışarıdan çağırılarak içerisine beklediği formatta mesaj gelir.

2. Gelen mesaj Web Uygulamasında kullanılmak üzere mesaj veritabanına kaydedilir.

3. Mesaj objeye çevirilir.

4. Objeler HL7 Dönüştürücüye gönderilir. Her bir veriseti için ayrı bir hl7 dönüştürücü vardır.

5. HL7 Dönüştürücü usvs objelerini hl7 v3 objelerine çevirir.

6. oluşturulan hl7v3 objelerinden hl7 v3 xmlleri üretilir.

7. üretilen xmller mesaj veritabanına kaydedilir.

8. sağlık Net çağrısı yapılır.

9. Sonuç dönerse sonuç, hata oluşursa hata mesaj veritabanına kaydedilir.

10. İşlem sonucu kullanıcıya geri döner.

Tabii burada bahsedilen süreç sadece kaydetme veya işleme sürecidir. Bunun sonrasında bir de sorgulama süreci mevcuttur. Sağlık Net Adaptörü Veritabanı kullanıcıları, bu işlemi aynı web servisin Sorgula isimli metodundan yapar. Hl7 eşleniğine göre kullanımı çok daha basit olan bu sorgulama fonksiyonu sayesinde işlem sonuçları alınır.

 

 

Kullanım

Kullanım ile ilgili bilgileri Kullanım kısmından alabilirsiniz.