medula kodları

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kamuran48
Üye
Mesajlar: 284
Kayıt: 29 Eyl 2003 09:27
Konum: muğla

medula kodları

Mesaj gönderen kamuran48 »

selam,
Sağlık Kurumlarına medula diye bir sistem geldi.fatura filan ordan kesiliyor ve provizyonda ordan alınıyor vs.Herkes bu kodları birbirinden saklıyor.vermemek için bin türlü bahane öne sürüyor. Deltas bu kodlar üzerinde çalışmış ben sadece ödeme bilgisi kaydetme işleminde bir kaç küçük düzeltme yaptım.yani kodların tamamı Deltas arkadaşımızdan alınmadır. test servisi denemelerimizin hepsinden olumlu cevap aldık.diğer arkadaşlarımızda yararlasın diye forumada yazalım dedik.kodları tamamen deneme için hazırlanmış haliyle gönderiyorum.eksiklikler vardır ama deminde dediğim gibi tüm servisler çalışıyor.kolay gelsin.


test servislerini eklemek için delphi açıkken new>other>webservises>wdsl importer i semeniz lazım.

provizyon için

Kod: Tümünü seç

procedure TForm3.Button1Click(Sender: TObject);
var
  servis  : Provizyonislemleri;
  giris   : ProvizyonGirisDVO;
  sonuc   : ProvizyonCevapDVO;

begin
            HTTPRIO1.HTTPWebNode.UserName := '43000418000' ;
            HTTPRIO1.HTTPWebNode.Password := '43000418000' ;
    servis:=Getprovizyonislemleri(False,'',HTTPRIO1);
    try

       giris:=ProvizyonGirisDVO.Create;
       with giris do
       begin
    devredilenKurum:= '3';
    hastaKarneNo:= '111111216';
    hastaSosyalGuvNo:='1111111111126';
    hastaTCKimlikNo:= '49000719000';
    provizyonTarihi:= '16.06.2007';
    provizyonTipi:= 'N';
    saglikTesisKodu:= strtoint('10085');
    sigortaliTuru:= '2';
    takipNo:='';
    takipTuru:='1';
    yakinlikKodu:= '';

       end;

    sonuc:=servis.hastakabul(giris);

          with sonuc, Memo1.Lines do
    begin
      Append('sonuc kodu: ' +sonuckodu);
      Append('donuc mesajı: '+sonucmesaji);
      Append('takip no: '+takipno);
      Append('ad: ' +hastabilgileri.ad);
      Append('ad: ' +hastabilgileri.soyad);
      Append('ad: ' +hastabilgileri.cinsiyet);
      Append('ad: ' +hastabilgileri.dogumtarihi);
      Append('ad: ' +hastabilgileri.karneno);
      Append('ad: ' +hastabilgileri.sosyalguvenlikno);
      Append('ad: ' +hastabilgileri.tckimlikno);
      Append('ad: ' +hastabilgileri.yakinlikkodu);
      end;
      except
      On E:Exception do
      begin
           raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle sorgu yapılamıyor...');
      end;

       end;
       sonuc.Free;
      giris.Free;
       end;
takip okumak için

Kod: Tümünü seç

procedure TForm3.Button2Click(Sender: TObject);
var
  servis  : Provizyonislemleri;
  giris   : takipokugirisDVO;
  sonuc   : takipdvo;

begin
            HTTPRIO1.HTTPWebNode.UserName := '43000418000' ;
            HTTPRIO1.HTTPWebNode.Password := '43000418000' ;
    servis:=Getprovizyonislemleri(False,'',HTTPRIO1);
    try

       giris:=takipokuGirisDVO.Create;
       with giris do
       begin

    saglikTesisKodu:= strtoint('10085');
    takipNo:=edit4.Text;


       end;

    sonuc:=servis.takipoku(giris);

          with sonuc, Memo2.Lines do
    begin
       Append('sonuc kodu: ' +gidecegiTesisTuru);
        Append('ad: ' +hastabilgileri.ad);
      Append('ad: ' +hastabilgileri.soyad);
      Append('ad: ' +hastabilgileri.cinsiyet);
      Append('ad: ' +hastabilgileri.dogumtarihi);
      Append('ad: ' +hastabilgileri.karneno);
      Append('ad: ' +hastabilgileri.sosyalguvenlikno);
      Append('ad: ' +hastabilgileri.tckimlikno);
      Append('ad: ' +hastabilgileri.yakinlikkodu);
    Append('sonuc kodu: ' +kayitTarihi);
    Append('sonuc kodu: ' +sevkEdenDrTescil);
   Append('sonuc kodu1: ' +inttostr(sevkEdenTesis));
    Append('sonuc kodu: ' +sevkEdilenBransKodu);
    Append('sonuc kodu: ' +sevkEdilisTarihi);
    Append('sonuc kodu: ' +sonucKodu);
    Append('sonuc kodu: ' +sonucMesaji);
    Append('sonuc kodu: ' +takipDurumu);
    Append('sonuc kodu: ' +takipNo);
    Append('sonuc kodu: ' +takipTarihi);
    Append('sonuc kodu: ' +takipTuru);
    Append('sonuc kodu: ' +inttostr(tesisKodu));
      end;
      except
      On E:Exception do 
      begin
           raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle sorgu yapılamıyor...'); 
      end;

       end;
       sonuc.Free;
      giris.Free;
       end;
takip silmek için

Kod: Tümünü seç

var
  servis  : Provizyonislemleri;
  giris   : takipsilGirisDVO;
  sonuc   : takipsilCevapDVO;

begin
            HTTPRIO1.HTTPWebNode.UserName := '43000418000' ;
            HTTPRIO1.HTTPWebNode.Password := '43000418000' ;
    servis:=Getprovizyonislemleri(False,'',HTTPRIO1);
    try

       giris:=takipsilGirisDVO.Create;
       with giris do
       begin
    saglikTesisKodu:= strtoint('10085');
    takipNo:=edit5.Text;

       end;

    sonuc:=servis.takipsil(giris);

          with sonuc, Memo3.Lines do
    begin
      Append('sonuc kodu: ' +sonuckodu);
      Append('donuc mesajı: '+sonucmesaji);
      Append('takip no: '+takipno);

      end;
      except
      On E:Exception do
      begin
           raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle sorgu yapılamıyor...');
      end;

       end;
       sonuc.Free;
      giris.Free;
       end;
sistem dışı sevk

Kod: Tümünü seç

procedure TForm3.Button4Click(Sender: TObject);
var
  servis  : Provizyonislemleri;
  giris   : sistemdisisevkGirisDVO;
  sonuc   : sistemdisisevkCevapDVO;

begin
            HTTPRIO1.HTTPWebNode.UserName := '43000418000' ;
            HTTPRIO1.HTTPWebNode.Password := '43000418000' ;
    servis:=Getprovizyonislemleri(False,'',HTTPRIO1);
    try

       giris:=sistemdisisevkGirisDVO.Create;
       with giris do
       begin
    devredilenKurum:= '3';
    hastaKarneNo:= '111111216';
    hastaSosyalGuvNo:='1111111111126';
    hastaTCKimlikNo:= '49000719000';
    //provizyonTarihi:= '16.06.2007';
    provizyonTipi:= 'N';
    saglikTesisKodu:= strtoint('10085');
    sigortaliTuru:= '2';
    yakinlikKodu:= '';
      sevkTuru:= ' ';
     muayeneAcilisTarihi:= ' ';
     sevkEdenDrTescilNo:= ' ';
    sevkEdenTesisKodu:= ' ';
    sevkEdilenBransKodu:= ' ';
    sevkKabulTarihi:= ' ';
     yakinlikKodu:= ' ';
       end;

    sonuc:=servis.takipNumarasiOlmayanSevkiKabul(giris);

          with sonuc, Memo4.Lines do
    begin
      Append('sonuc kodu: ' +sonuckodu);
      Append('donuc mesajı: '+sonucmesaji);
      Append('takip no: '+takipno);
      Append('ad: ' +hastabilgileri.ad);
      Append('ad: ' +hastabilgileri.soyad);
      Append('ad: ' +hastabilgileri.cinsiyet);
      Append('ad: ' +hastabilgileri.dogumtarihi);
      Append('ad: ' +hastabilgileri.karneno);
      Append('ad: ' +hastabilgileri.sosyalguvenlikno);
      Append('ad: ' +hastabilgileri.tckimlikno);
      Append('ad: ' +hastabilgileri.yakinlikkodu);
      end;
      except
      On E:Exception do
      begin
           raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle sorgu yapılamıyor...');
      end;

       end;
       sonuc.Free;
      giris.Free;
       end;
ödeme bilgisi kayıt

Kod: Tümünü seç

var
servis  :odemebilgisiislemleri;
giris:OdemeSorguGirisDVO;
sonuc:OdemeSorguCevapDVO;
islemfiyat:islemfiyatbilgisidvo;
tani_elemanlari:TaniBilgisiDVO;
ftanilar:array of TaniBilgisiDVo;
muayene:muayenebilgisidvo;
fmuayene:array of muayenebilgisidvo;
ilac:ilacbilgisidvo;
filac:array of ilacbilgisidvo;
FTanilar1        : ArrayOf_tns2_nillable_TaniBilgisiDVO;
i,dongusayisi:integer;

begin
HTTPRIO1.HTTPWebNode.UserName := '43000418000' ;
HTTPRIO1.HTTPWebNode.Password := '43000418000' ;
servis:=GetOdemeBilgisiIslemleri(False,'',HTTPRIO1);
    try
     dongusayisi:=1;

        giris:=OdemeSorguGirisDVO.Create;
        sonuc:=OdemeSorguCevapDVO.Create;
      giris.takipNo:=edit1.Text;
      giris.saglikTesisKodu:= strtoint('10085');
      giris.branskodu:='1000';
      giris.tedavituru:='A';
      giris.sorguturu:='0';
      giris.protokolno:='L014357';
      giris.hastacikistarihi:='01.07.2007';
      giris.taburcukodu:='1';
      giris.aciklama:='bu denemedir';
      giris.istisnaiDurum:='1'; 
  SetLength(ftanilar1,dongusayisi);
  giris.tanilar:=ftanilar1;
    for i:=0 to dongusayisi-1 do
      begin
        giris.tanilar[i]:=TaniBilgisiDVO.Create;
        giris.tanilar[i].birincilTani :='E';
        giris.tanilar[i].taniKodu:='A00.1';
        giris.tanilar[i].hizmetSunucuRefNo:='3';
        giris.tanilar[i].taniTipi:='2';

        //tani_elemanlari:=TaniBilgisiDVO.Create;
        //tani_elemanlari.birincilTani :='E';
        //tani_elemanlari.taniKodu:='A00.2';
        //tani_elemanlari.hizmetSunucuRefNo:='3';
        //tani_elemanlari.taniTipi:='2';
        //ftanilar[i]:=tani_elemanlari;
       end;

     //****************//
     //for  i:=0  to  Length(ftanilar)-1 do
   //begin
   //Memo2.Lines.Add(ftanilar1[i].hizmetSunucuRefNo);
   //Memo2.Lines.Add(ftanilar[i].birincilTani);
   //Memo2.Lines.Add(ftanilar[i].taniKodu);
   //Memo2.Lines.Add(ftanilar[i].taniTipi);
//end;
//*******sil******//



muayene:=muayenebilgisidvo.create;
muayene.butKodu:='520030';
muayene.drTescilNo:='24000932000';
muayene.muayeneTarihi:='01.07.2007';
muayene.hizmetSunucuRefNo:='1524';
giris.muayeneBilgisi:=muayene;


    SetLength(filac,dongusayisi);
    for i:=0 to dongusayisi-1 do
      begin
ilac:=ilacbilgisidvo.create;
ilac.aciklama:='deneme var';
ilac.adet:=2;
ilac.ilacTuru:='2';
ilac.islemTarihi:='01.07.2007';
ilac.tutar:=strtofloat('25');
filac[i]:=ilac;
  end;


     sonuc:=servis.odemebilgisikaydet(giris);
         islemfiyat:=islemfiyatbilgisidvo.Create;
          with sonuc, Memo1.Lines do
    begin
      Append('sonuc kodu: ' +sonuckodu);
      Append('donuc mesajı: '+sonucmesaji);
      Append('takip no: '+durum);
      Append('ad: ' +floattostr(toplamtutar));
        end;

      for  i:=0  to  Length(sonuc.hataliKayitlar)-1 do
   begin
   memo4.Lines.Add(sonuc.hatalikayitlar[i].islemButKodu);
   memo4.Lines.Add(sonuc.hatalikayitlar[i].hataKodu);
   memo4.Lines.Add(sonuc.hatalikayitlar[i].hataMesaji);
   memo4.Lines.Add(sonuc.hatalikayitlar[i].hizmetSunucuRefNo);
   memo4.Lines.Add(sonuc.hatalikayitlar[i].islemSiraNo);
 
           end;

     for  i:=0  to  Length(sonuc.islemBilgileri)-1 do
   begin
   memo2.Lines.Add(floattostr(sonuc.islembilgileri[i].tutar));
   memo2.Lines.Add(sonuc.islembilgileri[i].hizmetsunucurefno);
   memo2.Lines.Add(sonuc.islembilgileri[i].islemsirano);
   memo2.Lines.Add(sonuc.islembilgileri[i].islembutkodu);
           end;


      except
      On E:Exception do
      begin
           raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle sorgu yapılamıyor...');
      end;

       end;
       sonuc.Free;
      giris.Free;
       end;
ödeme sorgu

Kod: Tümünü seç

procedure TForm2.Button2Click(Sender: TObject);
var
servis  :odemebilgisiislemleri;
giris:OdemeSorguokuGirisDVO;
sonuc:OdemeSorguokuCevapDVO;

i,dongusayisi:integer;

begin
HTTPRIO1.HTTPWebNode.UserName := '43000418000' ;
HTTPRIO1.HTTPWebNode.Password := '43000418000' ;
servis:=GetOdemeBilgisiIslemleri(False,'',HTTPRIO1);
    try
        giris:=OdemeSorguokuGirisDVO.Create;
        sonuc:=OdemeSorguokuCevapDVO.Create;

      giris.takipNo:=edit2.Text;
      giris.saglikTesisKodu:= strtoint('10085');


     sonuc:=servis.odemebilgisioku(giris);

          with sonuc, Memo3.Lines do
    begin
      Append('sonuc kodu: ' +sonuckodu);
      Append('donuc mesajı: '+sonucmesaji);
      Append('takip no: '+durumkodu);
      Append('ad: ' +toplamtutar);
        end;
    // for  i:=0  to  Length(sonuc.islemBilgileri)-1 do
   //begin
   //memo2.Lines.Add(floattostr(sonuc.islembilgileri[i].tutar));
   //memo2.Lines.Add(sonuc.islembilgileri[i].hizmetsunucurefno);
   //memo2.Lines.Add(sonuc.islembilgileri[i].islemsirano);
   //memo2.Lines.Add(sonuc.islembilgileri[i].islembutkodu);
     //      end;
      except
      On E:Exception do
      begin
           raise Exception.Create(E.Message+#13+'Oluşan hata nedeniyle sorgu yapılamıyor...');
      end;

       end;
       sonuc.Free;
      giris.Free;
       end;
kiriko
Üye
Mesajlar: 11
Kayıt: 06 Tem 2007 02:27

Odeme bilgisi kayıt

Mesaj gönderen kiriko »

Kamuran kardes ellerine saglik , keske 1 hafta once foruma baksaymisim diyesim geldi, bende bir kismini yazip bitirdim
ama c00 odeme bilgisi kayitta bir sıkıntım var..
bu asamalarda nelere dıkkat etmem gerekiyor ..
yani tani kodlari
odeme bilgisi kaydettikten sonra : Fatura Teyit No = alabilmek için ne yapmalıyım . yada yaptıgım odeme bilgisi kaydını cagırdıgımda hiç bişi donmuyorsa .
yardımlarınız için şimdiden tesekkur ederim.
kamuran48
Üye
Mesajlar: 284
Kayıt: 29 Eyl 2003 09:27
Konum: muğla

Mesaj gönderen kamuran48 »

selam,
sorduğun soruların cevapları örneklerde var.kodları dene.olmazsa görüşürüz.kolay gelsin.c00 da en önemli olay bence array kullanımı.oda örneklerde var. kolay gelsin.
kiriko
Üye
Mesajlar: 11
Kayıt: 06 Tem 2007 02:27

Medula

Mesaj gönderen kiriko »

c00 ın kodlarını yazdım test ettım coktan
bana odeme bılgısı kayıt cevabı donuyor ama problem odeme bılgısı sorgularken baslıyor .
kamuran48
Üye
Mesajlar: 284
Kayıt: 29 Eyl 2003 09:27
Konum: muğla

Mesaj gönderen kamuran48 »

hocam gönderdiğim koddaki ödeme sorgu servisi çalışıyor.sadece tutarlar dönmüyor.o gerçek ortamda da henüz dönmüyor.sonradan devreye alınacakmış.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: medula kodları

Mesaj gönderen ALUCARD »

medula sorgulama yaparken bir kaç gündür ektedi dosyda ki hatayı alamıyorum.

delphi 7 ile sql server 2008 kullanıyorum.

bi yardım ederseniz çok sevinirim hastane yönetimi ile başım belaya girmek üzere sistem hiç bi yerde çalışmıyor.. :cry:

Resim

bu şekilde sorunsuz çalışıyordum ne oldu anlamadım.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: medula kodları

Mesaj gönderen ALUCARD »

Hata Mesajı yazdı:Sunucuyla bağlantı kurulamadı - URL:http://medula.sgk.gov.tr:9089/medulaws/services/HastaKabulIslemleri - SOAPAction:""

Sorunu Çözdüm arkadaşlar nedendir bilmiyorum port numarası farklı gelmiş

onu tekrar eski haline alınca sistem çalıştı

ama dünden beri ne sıkıntı çektim
Allah'tan hafta sonuydu
yoksa :oops: :(
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: medula kodları

Mesaj gönderen ALUCARD »

provizyon sorgularken aşağıdaki hatayı alıyorum.
normal çalışıyordu yeni klavuz yayınlanınca bu hatayı vermeye başladı
klavuzu okudum okudum bi daha okudum ama bulamadım
acaba nerde yanlışlık yapıyorum.

delphi 7 kullanıyorum

Resim
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: medula kodları

Mesaj gönderen ALUCARD »

sahur oldu ama sorunu çözdüm
import ettiğim wsdl nin içinde ki defUrl parametresini aşağıdaki gibi düzenleyince sorun halloldu

Kod: Tümünü seç

defURL  = 'https://medula.sgk.gov.tr/medulaws/services/HastaKabulIslemleri';
eski hali

Kod: Tümünü seç

defURL  = 'http://medula.sgk.gov.tr:80/medulaws/services/HastaKabulIslemleri';
herkese hayırlı sahurlar :bravo:
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Cevapla