Print Page | Close Window

C# ile Medula Web Servisi kullanımı

Printed From: C#nedir?com
Category: XML ve Web Servisleri
Forum Name: Web Servisleri
Forum Description: Web Servisleri
URL: http://forum.csharpnedir.com/forum_posts.asp?TID=29352
Printed Date: 17 Temmuz 2019 at 01:37
Software Version: Web Wiz Forums 11.01 - http://www.webwizforums.com


Topic: C# ile Medula Web Servisi kullanımı
Posted By: MedulaSupporter
Subject: C# ile Medula Web Servisi kullanımı
Date Posted: 13 Mart 2010 at 15:56
Selam arkadaşlar

Sosyal Güvenlik Kurumu(SGK)'nın sağlık kurumlarından aldığı hizmet bilgilerini toplama , bu bilgileri değerlendirdikten sonra faturalandırma işlemlerini gerçekleştirme işlevlerini gören sisteminin arayüzü olan MEDULA isimli web servisinin kullanımı ile ilgili örnek bir kod aşağıda bulunmaktadır.

private void IlacAra()
        {
 
            YardimciIslemlerService ws = new YardimciIslemlerService();
            ws.Credentials = new NetworkCredential("KullaniciAdi","Sifre");
            ws.PreAuthenticate = true;           
           
            IlacAraGirisDVO ilacAra = new IlacAraGirisDVO();
            ilacAra.saglikTesisKodu = int.Parse("TesisKodu");
           
             ilacAra.ilacAdi = "Aranacakİlacınİsmi";

            try
            {
                IlacAraCevapDVO ilacCevap = ws.ilacAra(ilacAra);
          
                if (ilacCevap.ilaclar == null)
                {
                    MessageBox.Show(ilacCevap.sonucMesaji);
                    return;
                }

                List<MedulaIlacListesi> liste = new List<MedulaIlacListesi>();

                foreach (IlacListDVO item in ilacCevap.ilaclar)
                {
                    liste.Add(new MedulaIlacListesi()
                    {
                        ilacAdi = item.ilacAdi,
                        Barkod = item.barkod,
                        KullanimBirimi = item.kullanimBirimi,

                    });
                }               
            }
        }
       
         public class MedulaIlacListesi
        {
            public string ilacAdi { get; set; }

            public string Barkod { get; set; }

            public double KullanimBirimi { get; set; }
        }

Meduladaki bütün servislerde yetkilendirme için yukarıdaki mantık uygulanır.NetworkCredential sınıfından bir nesne yaratacaksınız ondan sonra da servislerdeki istediğiniz bir sınıfüzerinden verileri alabilir veya gönderebilirsiniz.
Medula sağlık sektöründe çalışan bilgi işlem personelinin yakından bildiği bir konu olup daha ayrıntılı bilgilere internetten ulaşabilirsiniz.
Web de konu ile ilgili aramalarımda çok kısıtlı -neredeyse hiç- örnek kod bulamadığım için edindiğim bilgi birikimini csharpnedir.com farkı ile sizlerle paylaşmak istedim.Sağlık bakanlığının web servisi olan SağlıkNet ile de bilgilerim arttıkça sizlere bu konuda da örnek kod sunmayı planlıyorum.
Umarım yararı olur.



Replies:
Posted By: Jackson
Date Posted: 13 Mart 2010 at 16:14
özel mesaj attım isterseniz görüşebiliriz.


Posted By: ecanli
Date Posted: 16 Mart 2010 at 10:46
Originally posted by MedulaSupporter MedulaSupporter wrote:

Selam arkadaşlar

Sosyal Güvenlik Kurumu(SGK)'nın sağlık kurumlarından aldığı hizmet bilgilerini toplama , bu bilgileri değerlendirdikten sonra faturalandırma işlemlerini gerçekleştirme işlevlerini gören sisteminin arayüzü olan MEDULA isimli web servisinin kullanımı ile ilgili örnek bir kod aşağıda bulunmaktadır.

private void IlacAra()
        {
 
            YardimciIslemlerService ws = new YardimciIslemlerService();
            ws.Credentials = new NetworkCredential("KullaniciAdi","Sifre");
            ws.PreAuthenticate = true;           

MErhabalar,
yazdığınız kodla ilgili size mesaj gönderdim bakabilirseniz çok sevinirim...


Posted By: lagrange
Date Posted: 09 Nisan 2010 at 09:30
selam,
medulanın kullandığı web servislerini nerde tanımlayacağız,
class bu ilaç aramayla ilgili yaptığın örneği paylaşabilirmisin.


Posted By: MedulaSupporter
Date Posted: 04 Mayıs 2010 at 10:03
Medula web servis adresleri http://www.sgk.gov.tr/wps/portal/ESGK/Medula
adresinden edinebilir.Web servislerinin nasıl visual studio'ya ekleneceği ile ilgili web de pek çok örnek var.Kodları yazmadan önce eklediğiniz web servisi
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
gibi
using ifadesi bildirmeyi unutmayınız.

Bu arada SağlıkNet ile ilgili olarak visual studio 2008'e WSE entegrasyonun nasıl yapılacağı hakkında bir bağlantı buldum.Yararı olması dileğiyle.

http://blogs.imeta.co.uk/jyoung/archive/2008/08/29/345.aspx

Ayrıca yeni başlayanlar için HL7 kılavuzunda SOAP mesajındaki mustUnderstand niteliğini "0" göndermek için WSSEDraftPolicyAssertion.cs isminde bir class yapmak önerilmiş.Fakat bu classı yaratmadan sorunu çözmek için başka bir yöntem ise şudur:

 MCCI_AR000001TR_ServiceWse stub = new MCCI_AR000001TR_ServiceWse();
            UsernameToken token = new UsernameToken("kullaniciadi", "sifre", PasswordOption.SendPlainText);
            //kılavuzda verilen örnek kodda aşağıdaki satır yorumlanarak en alttaki iki satır eklenmelidir.
            //stub.SetClientCredential<UsernameToken>(token);

            stub.RequestSoapContext.Security.Tokens.Add(token);
            stub.RequestSoapContext.Security.EncodedMustUnderstand = "0";



Posted By: Jackson
Date Posted: 06 Mayıs 2010 at 12:52
wse plugini çok hantal bence gereksiz evet çeşitli şekillerde vs2005'ten sonraki sürümlerdede wse'yi kullanabilmek mümkün ama wse kullanmadanda sağlıknet servislerine ilgili veri alanları eklenip gönderim yapılabiliyor


Posted By: CELAL37
Date Posted: 13 Mayıs 2010 at 17:36
MERHABA

BAHSETTİĞİNİZ BLOG DAKİ DÖKÜMANI İNCELEDİM,VS2005 DEN 2008 HATTA ŞİMDİ 2010 UYGULAMA DA GERÇEKLEŞTİREN ARKADAŞLAR VARSA HAYRINA TÜRKÇE BİR KAYNAK HAZIRLAYAMAZMI

İYİ ÇALIŞMALAR


Posted By: prizmax
Date Posted: 15 Haziran 2010 at 11:18
Originally posted by MedulaSupporter MedulaSupporter wrote:

Medula web servis adresleri http://www.sgk.gov.tr/wps/portal/ESGK/Medula
adresinden edinebilir.Web servislerinin nasıl visual studio'ya ekleneceği ile ilgili web de pek çok örnek var.Kodları yazmadan önce eklediğiniz web servisi
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
gibi
using ifadesi bildirmeyi unutmayınız.

Bu arada SağlıkNet ile ilgili olarak visual studio 2008'e WSE entegrasyonun nasıl yapılacağı hakkında bir bağlantı buldum.Yararı olması dileğiyle.

http://blogs.imeta.co.uk/jyoung/archive/2008/08/29/345.aspx

Ayrıca yeni başlayanlar için HL7 kılavuzunda SOAP mesajındaki mustUnderstand niteliğini "0" göndermek için WSSEDraftPolicyAssertion.cs isminde bir class yapmak önerilmiş.Fakat bu classı yaratmadan sorunu çözmek için başka bir yöntem ise şudur:

 MCCI_AR000001TR_ServiceWse stub = new MCCI_AR000001TR_ServiceWse();
            UsernameToken token = new UsernameToken("kullaniciadi", "sifre", PasswordOption.SendPlainText);
            //kılavuzda verilen örnek kodda aşağıdaki satır yorumlanarak en alttaki iki satır eklenmelidir.
            //stub.SetClientCredential<UsernameToken>(token);

            stub.RequestSoapContext.Security.Tokens.Add(token);
            stub.RequestSoapContext.Security.EncodedMustUnderstand = "0";



arkadaşım webte webservis konusunda sağlık netin uygulamasının eksikliklerini gideren tek senin cevabını buldum.. teşekkürler..geri dönen değeri ca veya ce almak için form oluşturdum.. web servisi kurdum.. örnek wsdl den kendi mesajımı oluşturmaya çalıştım.. fakat gönderide wse hatası veriyor.. sağlık net için bir örnek yapabilirmisin..clienti sağlık netteki gibi kuruyoruz. wse için senin önerdiğini yapıyoruz.. birde örnek verebilirmisin.birde testwebservisleri çalışıyormu? alınan şifreyi giriyorum,çalışmıyor.. webservis olarak ekleyemiyorum..



Posted By: prizmax
Date Posted: 15 Haziran 2010 at 18:43
static String firstOperation(String filePath, String UUID)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(MCCI_IN000001TR01Message));
            FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate);
            TextReader reader = new StreamReader(fs);
            MCCI_IN000001TR01Message input = (MCCI_IN000001TR01Message)serializer.Deserialize(reader);
            input.controlActEvent.subject.examination.id.extension = UUID;
            
            //MCCI_AR000001TR_ServiceWse stub = new MCCI_AR000001TR_ServiceWse();
            stub.RequestSoapContext.Security.Tokens.Add(token);
            stub.RequestSoapContext.Security.EncodedMustUnderstand = "0";

            //stub.Url = "https://testws.sagliknet.saglik.gov.tr/Muayene/MCCI_AR000001TR_Port";
            UsernameToken token = new UsernameToken("şifre", "şifre", PasswordOption.SendPlainText);
            stub.SetClientCredential(token);
            stub.SetPolicy("usernameTokenSecurity");
            MCCI_IN000002TR01Message response = stub.MCCI_AR000001TR_MCCI_IN000001TR(input);
            return response.acknowledgement.typeCode.code;
        }
        static String secondOperation(String filePath, String UUID)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(QUQI_IN000001TR01Message));
            FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate);
            TextReader reader = new StreamReader(fs);
            QUQI_IN000001TR01Message input = (QUQI_IN000001TR01Message)serializer.Deserialize(reader);
            input.controlActEvent.queryByParameter.clinicalDocumentId.value.extension = UUID;
            stub.RequestSoapContext.Security.Tokens.Add(token);
            stub.RequestSoapContext.Security.EncodedMustUnderstand = "0";

            //MCCI_AR000001TR_ServiceWse stub = new MCCI_AR000001TR_ServiceWse();
           
           // stub.Url = "https://testws.sagliknet.saglik.gov.tr/Muayene/MCCI_AR000001TR_Port";
            UsernameToken token = new UsernameToken("şifre", "şifre", PasswordOption.SendPlainText);
            stub.SetClientCredential(token);
            stub.SetPolicy("usernameTokenSecurity");
            QUQI_IN000002TR01Message response = stub.MCCI_AR000001TR_QUQI_IN000001TR(input);
            String result = response.acknowledgement.typeCode.code + ":" + response.controlActEvent.queryAck.queryResponseCode.code;
            return result;
        }

var bir yerde bir göremediğimiz ama,göremedim ben.. senin gösterdiğin yolda işe yaramadı.

 


Posted By: prizmax
Date Posted: 02 Temmuz 2010 at 22:08
jackson,öncelikle burada belirtmem gerekirki dinin değerleriyle alay etmek cahillerin,bilgisizlerin işidir.

züğürt girişimci kadar,yazdığı programı her yere satmaya kalkan uyanık geçinmeye çalışan yazılımcılarda bir sorundur.. ortak hareket etmek her zaman daha güvenlidir.. 


Posted By: MedulaSupporter
Date Posted: 20 Temmuz 2010 at 13:29
önce token'ı yarart sonra ekle , sen tam tersini yapıyorsun.Sağlıknetin portalından daha çabuk ccevaplar alabilirsin.


Posted By: Jackson
Date Posted: 26 Temmuz 2010 at 19:29
Originally posted by prizmax prizmax wrote:

jackson,öncelikle burada belirtmem gerekirki dinin değerleriyle alay etmek cahillerin,bilgisizlerin işidir.

züğürt girişimci kadar,yazdığı programı her yere satmaya kalkan uyanık geçinmeye çalışan yazılımcılarda bir sorundur.. ortak hareket etmek her zaman daha güvenlidir.. 



alay etme konusunda haklısınız ama neyle alay ettiğimi anlama konusunda kıt durumda olduğunuz aşikar bu yüzden alay konusunu tartışma gereği bile duymuyorum. ikinci olarak gayet söylediğiniz gibi yazdığım programı her yere satmaya çalışan bir programcıyım bunda yanlış olan bir şey yok yılların verdiği deneyim ,bilgi ve  birikimle  hazırladığım yazılımları bedavaya vermeyi hiç düşünmedim,  düşünmüyorumda açıkçası mümkün olduğunca kullanılabileceği her yere, herkese satmayada çaba gösteriyorum ve göstereceğimde benim gibi insanların tabiki sağdan soldan çaldıkları bilgi emek ve kodlarla hazırladıkları beş para etmez yazılımları fahiş fiyatlarla hastanelere satan kişiler içinde sorun teşkil ettiğininde farkındayım ki bu başlık altında el açan insanlar arasındada bu kişilerden mevcut ( bakın kesin konusuyorum tahmin falan değil ) , mutlaka züğürt girişimcilerde kendilerini haklı görüyorlardır onada birşey diyemem tabiki ama yazılımcı forumunda yazılımcıların en önemli sıkıntılarından birine yapmış olduğum göndermeye neden bu kadar tepkili olduğunuzuda anlamanın pek mümkünatı yok, siz züğürt girişimci forumuna gidip incilerinizi orada saçın

saygılarımla...


Posted By: omercyprus
Date Posted: 23 Aralık 2011 at 15:23
Merhabalar bütün gün web servisleri kullanımı hakkında araştırma yaptım bundan önce hiç bir şey bilmiyordum web servisi ile ilgili okuduğum makalelerden biraz bilgi edindim normalde c#ile çalışıyorum bunun için ama çok farketmez genel mantık nasıl yapmam gerektiği konusunda yardımcı olabilirseniz sevinirim. vs2010da yeni proje açıp references -> add service reference -> advanced -> add web reference diyorum ve urlyi giriyorum.bi kaç uygulamayı çalıştırdım inceledim ve anladım biraz örneğin http://www.webservicex.net/globalweather.asmx?wsdl - http://www.webservicex.net/globalweather.asmx?wsdl bu urlyi eklediğim zaman bulabiliyor ve ekliyebiliyorum http olanlarda sorun olmuyo olabilir fakat şuan PTT için bir uygulama yapmam gerekiyor. https://interaktifkargo.ptt.gov.tr/topluTakipDetay/topluTakipDetay?WSDL bu urlyi girdiğim zaman güvenlik hatası vs veriyor.

hata :
There was an error downloading 'https://interaktifkargo.ptt.gov.tr/topluTakipDetay/topluTakipDetay?WSDL'.
The underlying connection was closed: An unexpected error occurred on a send.
Received an unexpected EOF or 0 bytes from the transport stream.
There was an error downloading 'https://interakt

yardımcı olabilicek varsa çok sevinirim.

-------------
omercyprus


Posted By: 327561
Date Posted: 08 Temmuz 2012 at 20:44
Merhaba arkadaşlar sağlıknet konusunda bende yeniyim. Ancak sağlıknet Gate programından bahsediyorlar. bu programı kullanan varmı aranızda 

//Reklama giriyor linki kaldırdım.


Posted By: PcMaKeR
Date Posted: 08 Temmuz 2012 at 21:22
Sayısal nickler de gördüm ya bu saatten sonra ben şaşırmam arkadaş... Link özellikle girilmiş isim özellikle seçilmiş kaldırdım linki.

Reklama gerek yok arkadaşım...

-------------
http://pcmaker.net/ - programlama - pcmaker.net


Posted By: 327561
Date Posted: 13 Temmuz 2012 at 18:44
c# dilinde çok iyi değilim ama yukarıdaki örneklerde denemeler yapiyorum.
visual studio da UsernameToken token = new UsernameToken(

kismindaki usernameToken kisimlarinin altini ciziyor. tanımıyor. Acaba bunu tanıtmak için ne yapmam gerekli. (visual studio 2008 kullaniyorum)

yukarıda anlatılan wse paketini de kurdum ama işe yaramadı



Posted By: gokhantiknaz
Date Posted: 03 Temmuz 2013 at 17:53
Eski bir konu fakat bir sorum olacak. Son düzenlemelerde MEdula kalkıp yerine ITS son güncellemesi geldi. Bu konuda bilgisi olan varmı acabA?


Posted By: gokhantiknaz
Date Posted: 04 Temmuz 2013 at 10:35
Anladığım kadarıyla yok.


Posted By: XMLaddicted
Date Posted: 21 Eylül 2013 at 14:24
Selamlar,
verdiğiniz bu sitede nereden görebiliyoruz servisleri,
zannedersem şifre ve kullanıcı adı istiyor bunları nerden talep ediyoruz, bilgi verirmisiniz lütfen

-------------
Her XMl bir XML


Posted By: tunc
Date Posted: 24 Aralık 2017 at 17:06
.net Core 1.1 yazmaya çalışıyorum. Ve fault:env diye bir hata alıyorum. Kullanıcı adı ve şifreyi yazamıyorum. test servisini bile kullanamıyorum. yardımcı olabilir misiniz?


Posted By: sseymen
Date Posted: 29 Ocak 2018 at 16:08
Merhaba;
Its ile web servis yapmak istiyoruz. Yazılım dili olarak Php kullanıyorum. Bununla ilgili php dökümanı olan var mı ? 



Print Page | Close Window

Forum Software by Web Wiz Forums® version 11.01 - http://www.webwizforums.com
Copyright ©2001-2014 Web Wiz Ltd. - http://www.webwiz.co.uk