İş Sağlığı ve Güvenliği Bilgi Yönetim Sistemi (İBYS) web servis güncellemesi

Çalışma ve Sosyal Güvenlik Bakanlığı tarafından İş Sağlığı ve Güvenliği Bilgi Yönetim Sistemi (İBYS) web servis güncellemesi yapıldı.

İBYS WEB SERVİS BİLGİLERİ

WEB SERVİS SONUÇ KODLARI

Sonuç Kodu

Kod Açıklaması

200

İşlem Başarılı

204

İşlem Başarısız

210

Zorunlu alanlarda hata var! Lütfen ilgili DVO yu yeniden kontrol ediniz.

211

Sorgu numarası hatalıdır! bu servisi sadece yeni kayıtlar için kullanılabilirsiniz!

212

uzmanKimlikNo + " kimlik numaralı İG Uzmanı ile " + calisanKimlikNo + " kimlik numaralı calişan arasında  işyeri bazında bir bağ bulunamadı!

213

uzmanKimlikNo + " kimlik numaralı İSG Profesyoneli bulunamadı

214

İmzalı içerik ile gönderilen değerler aynı değildir!

215

İsg prof TC kimlik no ile e imza sahibi aynı kişi değildir!

401

firma kodu ve parola ile aktif bir firma bulunamadı!

1111

Sistem Hatası

2222

SQL Exception

WEB SERVİS VERİ GÖNDERİMİ

1. Aşağıdaki xml dökümanı oluşturulur. Oluşturulan xml tek bir satır olmalıdır. Formatlanmasına gerek yoktur.

Document doc = docBuilder.newDocument();             Element rootElement = doc.createElement("EgitimDVO");             doc.appendChild(rootElement);               Element egitimBildirim = doc.createElement("egitimBildirim");             rootElement.appendChild(egitimBildirim);               Element belgeTipi = doc.createElement("belgeTipi");             belgeTipi.appendChild(doc.createTextNode(egitim.getBelgeTipi().toString()));             egitimBildirim.appendChild(belgeTipi);               Element isgProfTckNo = doc.createElement("isgProfTckNo");             isgProfTckNo.appendChild(doc.createTextNode(egitim.getIsgProfTckNo().toString()));             egitimBildirim.appendChild(isgProfTckNo);               Element calisanTckNo = doc.createElement("calisanTckNo");             calisanTckNo.appendChild(doc.createTextNode(egitim.getCalisanTckNo().toString()));             egitimBildirim.appendChild(calisanTckNo);               Element egitimKoduId = doc.createElement("egitimKoduId");             egitimKoduId.appendChild(doc.createTextNode(egitim.getEgitimKoduId().toString()));             egitimBildirim.appendChild(egitimKoduId);               Element egitimSuresi = doc.createElement("egitimSuresi");             egitimSuresi.appendChild(doc.createTextNode(String.valueOf(egitim.getEgitimSuresi())));             egitimBildirim.appendChild(egitimSuresi);               Element egitimTarihi = doc.createElement("egitimTarihi");             egitimTarihi.appendChild(doc.createTextNode(egitim.getEgitimTarihi().toString()));             egitimBildirim.appendChild(egitimTarihi);               Element egitimYer = doc.createElement("egitimYer");             egitimYer.appendChild(doc.createTextNode(String.valueOf(egitim.getEgitimYer())));             egitimBildirim.appendChild(egitimYer);               Element egitimTur = doc.createElement("egitimTur");             egitimTur.appendChild(doc.createTextNode(String.valueOf(egitim.getEgitimTur())));             egitimBildirim.appendChild(egitimTur);               Element sgkTescilNo = doc.createElement("sgkTescilNo");             sgkTescilNo.appendChild(doc.createTextNode(egitim.getSgkTescilNo()));             egitimBildirim.appendChild(sgkTescilNo);               Element egiticiTckNo = doc.createElement("egiticiTckNo");             egiticiTckNo.appendChild(doc.createTextNode(egitim.getEgiticiTckNo().toString()));             egitimBildirim.appendChild(egiticiTckNo);         String generateEdilenIcerik = “”;       //Generate edilen tek satırlık xml         String gelenIcerikDiggest = digest("SHA-256", generateEdilenIcerik);         /*         Imzalama Islemi burada yapilacak! Asagida tanimlanan imzalanmisIcerik imzali deger olmali.               */         String imzalanmisIcerik=””; //imzalanmis deger;         // Eger byte[] tipinde cikti varsa bu satır gereksiz         byte[] imzalanmisIcerikByte=imzalanmisIcerikString.getBytes();        //imzalanmisIcerikString i Base64.encode ediyoruz ve servis objesine setliyoruz.         String imzaliDeger=Base64.encode(imzalanmisIcerikByte);         egitim.setImzaliDeger(imzaliDeger);       public static String digest(String alg, String input) throws UnsupportedEncodingException {     try {         MessageDigest md = MessageDigest.getInstance(alg);         // direk "SHA-256" da verilebilinir.         byte[] buffer = input.getBytes(StandardCharsets.UTF_8);    //direk “UTF-8” de verilebilinir.         md.update(buffer);         byte[] digest = md.digest();         return bytesToHex(digest);     } catch (NoSuchAlgorithmException e) {         e.printStackTrace();         return e.getMessage();     } }         private static String bytesToHex(byte[] digest) {     StringBuilder sb = new StringBuilder();     for (int i = 0; i < digest.length; i++) {         sb.append(Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1));     }     return sb.toString(); }
  1. Oluşturulan xml için sha256 Mdiggest algoritması ile hash i alınır ve imzalanır. Daha sonra imzalı içerik Base64 ile encode edilerek servise gönderilir.
  2. Xml içerisindeki isgProf ile imza sahibinin TC kimlik numarası aynı olmalıdır.

Eğitim DVO

Alan

Açıklama

    String firmaKodu;

Bakanlık tarafından firmaya verilen kod

    Long sorguNo;

firmanın oluşturduğu ve eşsiz bir numaradır.

    Long belgeTipi;

1:işyeri hekimi 2: iş güvenliği uzmanı 3:Diğer sağlık personeli

    Long isgProfTckNo;

    Long calisanTckNo;

    Long egitimKoduId;

    double egitimSuresi;

    String egitimTarihi;

dd-MM-yyyy formatında

    int egitimYer;

0: işyeri dışında 1: işyerinde

    int egitimTur;

0: uzaktan 1: yüzyüze

    String sgkTescilNo;

boşluksuz ve aralıksız 26 hane olacak şekilde.

    Long isyeriId;

Boş Gönderilecek

    Long egiticiTckNo;

Profesyonel Yetkilimi DVO

Alan

Açıklama

   int isProfesyonel;

0: profesyonel 1: hekim

   String isyeriSgkNo;

   Long isgProfTc;

   Long sorguNo;

firmanın oluşturduğu ve eşsiz bir numaradır.

Eğitim Bildirim Sorgu DVO

Alan

Açıklama

    long sorguNo;

firmanın oluşturduğu ve eşsiz bir numaradır.

    long isgProfTckNo;

    long calisanTckNo;

    String baslangicTarihi;

    String bitisTarihi;

Sağlık Aktüel - www.saglikaktuel.com

YASAL UYARI: Yayınlanan köşe yazısı/haberin tüm hakları Sağlık Aktüel’e (www.saglikaktuel.com) aittir. www.saglikaktuel.com biçiminde aktif bağlantı kurulabilir, açık kaynak gösterilmek kaydıyla içerik kullanılabilir. Açık kaynak göstermeden yapılan alıntılar için yasal işlem uygulanacaktır.

Manşetler

DUYURU-4