SağlıkNET - AHBS

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
PhilaDelphi
Üye
Mesajlar: 4
Kayıt: 14 Tem 2008 09:11

SağlıkNET - AHBS

Mesaj gönderen PhilaDelphi »

Selam..

AHBS ile bağlatı kurmaya çalışıyorum.

Delphi 2007 kullanıyorum.. WSDLIMP 2.3 versiyon ile sagliknet'in wsdl web servistelerini pas'a çevirip projeme ekleyebildim.

Sonrasında HTTPPRI component'ile XML hazırlımaya çalışıyorum ama sağlıknet'in dökümanlarından pek bir şey anlamadım..

Import işlemi sonrasını için yardımcı olabilirseniz çok sevinirim..

bir sürü id kodları var neyi nerede kullanacağız veya nasıl göndereceğiz? vs vs.. örnek olursa çok sevinirim.
PhilaDelphi
Üye
Mesajlar: 4
Kayıt: 14 Tem 2008 09:11

Re: SağlıkNET - AHBS

Mesaj gönderen PhilaDelphi »

1 - Yapanlar bilirler.. XML son satırda nasıl bir işlem yürüteceğim..
2- id.extension neye göre belirleyeceğiz?




netHasta := MCCI_IN000001TR01.Create;
netHasta.id := id8.Create;
netHasta.id.root := '2.16.840.1.113883.3.129.2.1.2';
netHasta.id.extension := '02e5074f-84b2-4f3b-ac31-ca8c58830ec1';
netHasta.creationTime := creationTime.Create;
netHasta.creationTime.Value := MyDateTime;
netHasta.responseModeCode := responseModeCode3.Create;
netHasta.responseModeCode.code := 'Q';
netHasta.interactionId := interactionId.Create;
netHasta.interactionId.root := '2.16.840.1.113883.3.129.2.1.1';
netHasta.interactionId.extension := 'MCCI_IN000001TR01';
netHasta.processingCode := CS2.Create;
netHasta.processingCode.code := 'T'; // P
netHasta.processingModeCode := processingModeCode5.Create;
netHasta.processingModeCode.code := 'T';
netHasta.acceptAckCode := acceptAckCode5.Create;
netHasta.acceptAckCode.code := 'AL';

netHasta.receiver := MCCI_IN000001TR01_Receiver.Create;
netHasta.receiver.typeCode := RCV;
netHasta.receiver.device := MCCI_IN000001TR01_Device2.Create;
netHasta.receiver.device.classCode := 'DEV';
netHasta.receiver.device.determinerCode := 'INSTANCE';
netHasta.receiver.device.id := id7.Create;
netHasta.receiver.device.id.root := '2.16.840.1.113883.3.129.1.1.5';
netHasta.receiver.device.id.extension := 'USBS';

NetHasta.sender := MCCI_IN000001TR01_Sender.Create;
NetHasta.sender.typeCode := SND;
NetHasta.sender.device := MCCI_IN000001TR01_Device.Create;
NetHasta.sender.device.classCode := 'DEV';
NetHasta.sender.device.determinerCode := 'INSTANCE';
NetHasta.sender.device.id := id6.Create;
NetHasta.sender.device.id.root := '2.16.840.1.113883.3.129.1.1.5';
NetHasta.sender.device.id.extension := 'myapp';

NetHasta.controlActEvent := MCCI_IN000001TR01_ControlActEvent.Create;
NetHasta.controlActEvent.ClassCode := 'CACT';
NetHasta.controlActEvent.MoodCode := 'EVN';
NetHasta.controlActEvent.Subject := MCCI_IN000001TR01_Subject.Create;

NetHasta.controlActEvent.Subject.typeCode := 'SUBJ';
NetHasta.controlActEvent.Subject.patientAdmission := POCD_MT000001TR01_PatientAdmission.Create;
NetHasta.controlActEvent.Subject.patientAdmission.classCode := 'DOCCLIN';
NetHasta.controlActEvent.Subject.patientAdmission.moodCode := 'EVN';

NetHasta.controlActEvent.subject.patientAdmission.id := id4.Create;
NetHasta.controlActEvent.subject.patientAdmission.id.root := '2.16.840.1.113883.3.129.2.1.3';
NetHasta.controlActEvent.subject.patientAdmission.id.extension := '49C65FCD-46E9-4035-917C-1B6D2F7AE0BD';
NetHasta.controlActEvent.subject.patientAdmission.code := code.Create;
NetHasta.controlActEvent.subject.patientAdmission.code.code := VATANDAS;

NetHasta.controlActEvent.subject.patientAdmission.code.codeSystem := '2.16.840.1.113883.3.129.2.2.1';
NetHasta.controlActEvent.subject.patientAdmission.code.codeSystemName := 'Dokuman Tipi';
NetHasta.controlActEvent.subject.patientAdmission.code.codeSystemVersion := '1.0';
NetHasta.controlActEvent.subject.patientAdmission.code.displayName := Vatandaş_Yabancı_Kayıt_MSVS;
NetHasta.controlActEvent.subject.patientAdmission.effectiveTime := EffectiveTime.Create;
NetHasta.controlActEvent.subject.patientAdmission.effectiveTime.value := MyDateTime;
NetHasta.controlActEvent.subject.patientAdmission.confidentialityCode := ConfidentialityCode.Create;

NetHasta.controlActEvent.subject.patientAdmission.confidentialityCode.code :='1';
NetHasta.controlActEvent.subject.patientAdmission.confidentialityCode.codeSystem :='2.16.840.1.113883.3.129.1.2.77';
NetHasta.controlActEvent.subject.patientAdmission.confidentialityCode.codeSystemName := 'Gizlilik';
NetHasta.controlActEvent.subject.patientAdmission.confidentialityCode.displayName := 'Normal';
NetHasta.controlActEvent.subject.patientAdmission.confidentialityCode.codeSystemVersion := '1.0';

NetHasta.controlActEvent.subject.patientAdmission.languageCode := LanguageCode.Create;
NetHasta.controlActEvent.subject.patientAdmission.languageCode.code := 'tr-TR';
NetHasta.controlActEvent.subject.patientAdmission.versionNumber := VersionNumber.Create;
NetHasta.controlActEvent.subject.patientAdmission.versionNumber.value := 1;

NetHasta.controlActEvent.subject.patientAdmission.recordTarget := POCD_MT000001TR01_RecordTarget.Create;
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.typeCode := 'RCT';
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.contextControlCode := 'OP';
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole := POCD_MT000001TR01_PatientRole.Create;
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole.id := id5.Create;

NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole.id.root := '2.16.840.1.113883.3.129.1.1.1';
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole.id.extension := '012345678901'; // Hasta TC No

NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole.Patient := POCD_MT000001TR01_Patient.Create;
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole.Patient.determinerCode := 'INSTANCE';
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole.Patient.classCode := 'PSN';
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole.Patient.name_ := name_.Create;
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole.Patient.name_.family := en_family.Create;
NetHasta.controlActEvent.subject.patientAdmission.recordTarget.patientRole.Patient.name_.family := ???
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: SağlıkNET - AHBS

Mesaj gönderen Battosai »

Bu sağlıkNet olayında iyi para var heral zira herkes soruyor ama genelde tatmin edici cevap yok...Gerçi sitesinde geliştiriciler için yardım olması lazım ama ne kadar yeterli bilmem zira ilgilenmiyorum...Ayrıca böyle bir sistemi Microsoft'a emanet ettiği için yetkilileri kutlamak lazım !!! :twisted: Avrupa,Asya Microsoft'dan kurtulmaya çalışır bizimkiler böyle önemli bir projeyi Microsoft teknolojisine emanet eder...Hani Pardus'a geçicekti sistemler...Böyle giderse yalan olur Pardusi işi kamu kurumlarında....
Soruna cevap veremedim emme bişeyler yazayım dedim yeni topic açmak istemedim bu konu hakkında....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: SağlıkNET - AHBS

Mesaj gönderen aslangeri »

s.a.
http://groups.google.com/group/borland. ... 8f4f78882#
yukardaki linkte TSMLData yerine Widestring kullanın bi problem olmaz demişler sanırım.
aşağıdaki linkte ise daha karışık bi yöntem yapmışlar ama ne kadar alakalı bilmiyorum. Sanırım eleman TXMLData sınıfını yeniden yazmış.
http://groups.google.co.uk/group/borlan ... b0ca30c2a0
linkler ingilizce. arkadaşlardan türkçe açıklamalı mealini istiyoruz :mrgreen:
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
PhilaDelphi
Üye
Mesajlar: 4
Kayıt: 14 Tem 2008 09:11

Re: SağlıkNET - AHBS

Mesaj gönderen PhilaDelphi »

Merhaba

//en_given = TXMLData; { "urn:hl7-org:v3"[GblCplxMxd] }
en_given = type WideString;

Olarak çevirdim. XML çıktıda problem görünmüyor ama TXMLData olarak bir çok değişken var. C# ve Java için çözüm var ama Delphi için bulamadım..

XMLNode ile çözülmesi gerekiyor ama daha geniş zamanda bakacağım..

AHBS sistemini delphi ile tam olarak yapabilen var mı? (aktarım işini)
erdugen
Üye
Mesajlar: 3
Kayıt: 25 May 2009 04:59

Re: SağlıkNET - AHBS

Mesaj gönderen erdugen »

Sağlık net sistemini delphi 10 ile gelen rtti özelliğini kullanarak bitirmek üzereyim fakat bu TXMLDATA tipine veri yazamıyorum...
konuyla ilgisi olan arkadaşlar yardımcı olabilirse memnun olurum...
Kullanıcı avatarı
comfort
Üye
Mesajlar: 214
Kayıt: 28 Ara 2004 06:37
Konum: İzmir
İletişim:

Re: SağlıkNET - AHBS

Mesaj gönderen comfort »

Battosai yazdı:Bu sağlıkNet olayında iyi para var heral zira herkes soruyor ama genelde tatmin edici cevap yok...Gerçi sitesinde geliştiriciler için yardım olması lazım ama ne kadar yeterli bilmem zira ilgilenmiyorum...Ayrıca böyle bir sistemi Microsoft'a emanet ettiği için yetkilileri kutlamak lazım !!! :twisted: Avrupa,Asya Microsoft'dan kurtulmaya çalışır bizimkiler böyle önemli bir projeyi Microsoft teknolojisine emanet eder...Hani Pardus'a geçicekti sistemler...Böyle giderse yalan olur Pardusi işi kamu kurumlarında....
Soruna cevap veremedim emme bişeyler yazayım dedim yeni topic açmak istemedim bu konu hakkında....
Para olduğundan değil. HBYS firmaları sağlık.NET sistemini yazılımlarına entegre etmek zorundalar. Bunu yapamadıkları takdirde hiçbir ihaleye girmiyorlar. Zaten Türkiyede S.net sistemini delphi de yazan çok az kişi var ve yazılması çok olduğu için ortalıkta birçok soru dönüyor ama cevap alabilen çıkmıyor. Biz c# ile 2 ayda baştan sona geliştirdik. Tüm verisetleri sağlıklı olarak gidiyor.

Ayrıca sistem microsofta emanet değil bildiğim kadarıyla. Tamamen java da hazırlanmış. Amma yanlış biliyor olabilirim.
Cevapla