C#nedir?com Homepage
Forum Home Forum Home > XML ve Web Servisleri > Web Servisleri
  New Posts New Posts RSS Feed - C# ile Medula Web Servisi kullanımı
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

C# ile Medula Web Servisi kullanımı

 Post Reply Post Reply
   

Author
Message
MedulaSupporter View Drop Down
Newbie
Newbie


Joined: 13 Mart 2010
Status: Offline
Points: 8
Post Options Post Options   Thanks (1) Thanks(1)   Quote MedulaSupporter Quote  Post ReplyReply Direct Link To This Post Topic: C# ile Medula Web Servisi kullanımı
    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.
Back to Top
Jackson View Drop Down
Senior Member
Senior Member

Üyeliği sınırsız süreyle durduruldu!

Joined: 11 Ocak 2007
Status: Offline
Points: 776
Post Options Post Options   Thanks (0) Thanks(0)   Quote Jackson Quote  Post ReplyReply Direct Link To This Post Posted: 13 Mart 2010 at 16:14
özel mesaj attım isterseniz görüşebiliriz.
Back to Top
ecanli View Drop Down
Newbie
Newbie


Joined: 15 Mart 2010
Status: Offline
Points: 1
Post Options Post Options   Thanks (0) Thanks(0)   Quote ecanli Quote  Post ReplyReply Direct Link To This Post 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...
Back to Top
lagrange View Drop Down
Groupie
Groupie


Joined: 05 Şubat 2006
Status: Offline
Points: 42
Post Options Post Options   Thanks (0) Thanks(0)   Quote lagrange Quote  Post ReplyReply Direct Link To This Post 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.

Edited by lagrange - 09 Nisan 2010 at 21:20
Back to Top
MedulaSupporter View Drop Down
Newbie
Newbie


Joined: 13 Mart 2010
Status: Offline
Points: 8
Post Options Post Options   Thanks (0) Thanks(0)   Quote MedulaSupporter Quote  Post ReplyReply Direct Link To This Post 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";



Edited by MedulaSupporter - 06 Mayıs 2010 at 12:40
Back to Top
Jackson View Drop Down
Senior Member
Senior Member

Üyeliği sınırsız süreyle durduruldu!

Joined: 11 Ocak 2007
Status: Offline
Points: 776
Post Options Post Options   Thanks (0) Thanks(0)   Quote Jackson Quote  Post ReplyReply Direct Link To This Post 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
Back to Top
CELAL37 View Drop Down
Newbie
Newbie


Joined: 13 Mayıs 2010
Status: Offline
Points: 1
Post Options Post Options   Thanks (0) Thanks(0)   Quote CELAL37 Quote  Post ReplyReply Direct Link To This Post 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
Back to Top
prizmax View Drop Down
Newbie
Newbie


Joined: 15 Haziran 2010
Status: Offline
Points: 10
Post Options Post Options   Thanks (0) Thanks(0)   Quote prizmax Quote  Post ReplyReply Direct Link To This Post 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..



Edited by PcMaKeR - 22 Haziran 2010 at 17:11
Back to Top
prizmax View Drop Down
Newbie
Newbie


Joined: 15 Haziran 2010
Status: Offline
Points: 10
Post Options Post Options   Thanks (0) Thanks(0)   Quote prizmax Quote  Post ReplyReply Direct Link To This Post 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ı.

 


Edited by prizmax - 15 Haziran 2010 at 18:52
Back to Top
prizmax View Drop Down
Newbie
Newbie


Joined: 15 Haziran 2010
Status: Offline
Points: 10
Post Options Post Options   Thanks (0) Thanks(0)   Quote prizmax Quote  Post ReplyReply Direct Link To This Post 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.. 

Edited by prizmax - 02 Temmuz 2010 at 22:11
Back to Top
MedulaSupporter View Drop Down
Newbie
Newbie


Joined: 13 Mart 2010
Status: Offline
Points: 8
Post Options Post Options   Thanks (0) Thanks(0)   Quote MedulaSupporter Quote  Post ReplyReply Direct Link To This Post 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.
Back to Top
Jackson View Drop Down
Senior Member
Senior Member

Üyeliği sınırsız süreyle durduruldu!

Joined: 11 Ocak 2007
Status: Offline
Points: 776
Post Options Post Options   Thanks (0) Thanks(0)   Quote Jackson Quote  Post ReplyReply Direct Link To This Post 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...


Edited by Jackson - 27 Temmuz 2010 at 09:14
Back to Top
omercyprus View Drop Down
Newbie
Newbie


Joined: 23 Aralık 2011
Location: Turkey
Status: Offline
Points: 2
Post Options Post Options   Thanks (0) Thanks(0)   Quote omercyprus Quote  Post ReplyReply Direct Link To This Post 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 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
Back to Top
327561 View Drop Down
Newbie
Newbie


Joined: 08 Temmuz 2012
Status: Offline
Points: 2
Post Options Post Options   Thanks (0) Thanks(0)   Quote 327561 Quote  Post ReplyReply Direct Link To This Post 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.

Edited by PcMaKeR - 08 Temmuz 2012 at 21:21
Back to Top
PcMaKeR View Drop Down
Moderator Group
Moderator Group


Joined: 22 Haziran 2009
Status: Offline
Points: 4516
Post Options Post Options   Thanks (0) Thanks(0)   Quote PcMaKeR Quote  Post ReplyReply Direct Link To This Post 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...
Back to Top
327561 View Drop Down
Newbie
Newbie


Joined: 08 Temmuz 2012
Status: Offline
Points: 2
Post Options Post Options   Thanks (0) Thanks(0)   Quote 327561 Quote  Post ReplyReply Direct Link To This Post 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ı



Edited by 327561 - 13 Temmuz 2012 at 19:00
Back to Top
gokhantiknaz View Drop Down
Groupie
Groupie


Joined: 22 Mayıs 2010
Location: Turkey
Status: Offline
Points: 51
Post Options Post Options   Thanks (0) Thanks(0)   Quote gokhantiknaz Quote  Post ReplyReply Direct Link To This Post 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?
Back to Top
gokhantiknaz View Drop Down
Groupie
Groupie


Joined: 22 Mayıs 2010
Location: Turkey
Status: Offline
Points: 51
Post Options Post Options   Thanks (0) Thanks(0)   Quote gokhantiknaz Quote  Post ReplyReply Direct Link To This Post Posted: 04 Temmuz 2013 at 10:35
Anladığım kadarıyla yok.
Back to Top
XMLaddicted View Drop Down
Newbie
Newbie


Joined: 21 Eylül 2013
Status: Offline
Points: 1
Post Options Post Options   Thanks (0) Thanks(0)   Quote XMLaddicted Quote  Post ReplyReply Direct Link To This Post 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
Back to Top
tunc View Drop Down
Newbie
Newbie


Joined: 24 Aralık 2017
Status: Offline
Points: 2
Post Options Post Options   Thanks (0) Thanks(0)   Quote tunc Quote  Post ReplyReply Direct Link To This Post 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?
Back to Top
sseymen View Drop Down
Newbie
Newbie


Joined: 29 Ocak 2018
Location: Bursa
Status: Offline
Points: 1
Post Options Post Options   Thanks (0) Thanks(0)   Quote sseymen Quote  Post ReplyReply Direct Link To This Post 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ı ? 
Back to Top
 Post Reply Post Reply
  Share Topic   
   


Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 11.01
Copyright ©2001-2014 Web Wiz Ltd.