Kapsam ve yönetim sayfaları
WISDOMERA / WTRANSFER

Wtransfer Yönetim Sayfaları Kılavuzu

Veritabanı haritası, sunucu, katman ve katman parametresi yönetim sayfalarının uçtan uca yapılandırma rehberi.

Kapsam

Bu kılavuz Wtransfer yönetim sayfasındaki parametrelerin kullanım ilişkilerini kapsar. Örnek tablo, kolon, domain ve SQL değerleri temsilîdir; üretimde hedef şemaya göre doğrulanmalıdır.

1. Veritabanı Haritası Yönetim Sayfası Entegrasyonun genel haritasını oluşturun.
2. Sunucu Yönetim Sayfası Node ve fiziksel veritabanlarını bağlayın.
3. Katman Yönetim Sayfası Tabloyu ve katman ağacını modelleyin.
4. Katman Parametresi Yönetim Sayfası Kolon, SQL ve seçenek eşleşmelerini tanımlayın.
Yönetim sayfası hakkında

Veritabanı haritası, hedef bir veritabanına entegrasyon yapmak amacıyla oluşturulur. Oluşturulan veritabanı haritası ilişkili sunucular, katmanlar ve katman ilişkili parametreler kaydedilir. Veritabanı haritası wanalyzer uygulamasında wtransfer modunda veri hazırlama sürecinde seçilebilir. Bir ya da daha çok veritabanı haritası seçimi wanalyzer tarafında yapılabilir. Aynı katman ve parametrik mimaride dizayn edilmiş veritabanı haritaları aynı wanalyzer projesinde kullanılabilir. Veritabanı haritası dizayn edilirken, AiAsistant kulanılabilmektedir. Böylece hedeflenen veritabanı entegrasyonu daha kolay yapılabilmektedir. Sistemde hazır veritabanı haritaları bulunmaktadır. Örneğin hastane veritabanı haritası WisdomEra tarafından geliştirilmiş bir veritabanı haritasıdır. Bu veritabanı haritası direkt olarak hedef hastane bilgi yönetim sistemi veritabanına entegre edilerek kullanılabilir. Bu veritabanı haritası kullanıldığında katmanlar, parametreler değiştirilemez. Çünkü standardize olarak dizayn edilmiştir. Bu standart veritabanı haritası ilişkili onbinlerce algoritma dizayn edilerek kullanıcı hizmetine açılmıştır. Yani entegre edildiğinde hazır algoritmaların seçilerek direkt kurulması halinde algoritmalar çalışmaya başlamaktadır. Hazır veritabanı haritası kopyalanarak hedeflenen bir yeni veritabanı haritası kullanıcı tarafından kendisine özel de dizayn edilebilmektedir .

Entegrasyon akışını görüntüle
durum
durum select

Aktif durumda kullanıcının wanalyzer ekranlarında aktif mapi seçmesini sağlar.

Seçenekler ve kullanım amaçları
0 — pasif
Veritabanı haritasını seçim ve kullanım dışı bırakır.
1 — aktif
Veritabanı haritasını Wanalyzer ekranlarında seçilebilir ve kullanılabilir hâle getirir.
Örnek: 1 — aktif
haritalama adı
haritalama adı text

Haritayı ifade eden genel bir addır.

Örnek: Hastane HBYS Haritası
tablo ilişkileri
tablo ilişkileri textarea

Tablolar arasındaki kolon ilişkilerini kurmak için kullanılır.Örneğin Hasta tablosundaki Id değerinin Başvuru tablosundaki HastaId değerine eşit olduğunun belirtilmesi. Tablolar arasındaki ilişkisel bilgi katmanlar arasındaki parent child ilişkisinin kurulmasında kullanılabilmektedir. Dolayısıyla burada tablolar arasındaki genel ilişkisel bilgi tutulmaktadır.

Örnek: Patient.Id = Encounter.PatientId
katman sunucu yolları
katman sunucu yolları textarea

Farklı iki sunucu grubundan, ortak bir sorgu üretilmek istendiğinde bu alan kullnılmaktadır. Örneğin hastane veritabanındaki hasta tablosunu başka bir sunucu olan mobil veritabanındaki kullanıcılar tablosuyla bağlayarak sorgu üretilmesini sağlar. Bu tarz sorgulama kurgularında where sorgusunda parametreler arasında "and" kullanılmalıdır. Sistem her iki veritabanında ana kural sorgusu yaparak en az veri içeren sunucu tarafından hedef kitlesini çıkarır, ardından kolonlara ait veriler hazırlanır.

Genellikle aynı sunucu içinden ana sorgu oluşturmak daha mantıklıdır. Daha nadir durumlarda özellikle iki veritabanını ortak bir sunucuda birleştirilememesi durumunda kullanılır.

Örnek: HBYS.Patient.Id = Mobile.User.PatientId
uygulama erişim bilgisi
uygulama erişim bilgisi list_parameter

Wanalyzerden wtransfer' e istem atması için belirtilen urldir. Bu parametre doldurulmadığında wisdomera platformunun kurulu olduğu sistemdeki wtransfer hedef uygulama olarak baz alınır. Tanımlı ise hedef url tarafına istek gönderilir. Bu aslında dış sistemde bulunan bir uzak wtransfer bağlantısında kullanılabilir. Örnek: wtransfer1.xyz.com, wtransfer2.xyz.com, wtransfer3.xyz.com. 3 tane wtransfer sunucusu olmuş oldu. Müsait olan hangisi ise ona bağlanabilir durumu için kullanılıyor. Zorunlu değil.

Örnek: wtransfer1.xyz.com
domain
domain text

Wtransfer domain bilgisi ip bazlı port ile birlikte veya direkt tanımlanmış ve yönlendirilmiş bir domain var ise ilgili domaine istem gönderilmesini sağlar. Örnek: http://10.101.101.25:8487

Örnek: http://10.101.101.25:8487
ürün kodu
ürün kodu text

Wisdomera tarafından belirlenir. Manuel olarak düzenlenemez. Veritabanı haritalarının wtransfer tarafından otomatik güncellenmesinde eşleştirilmek için kullanılır. Ürün kodu dolu olan veritabanı haritalarında düzenleme yapılamaz. Ama parametrelerin ve katmanların hedef veritabanına bağlantı ayar bölgeleri, sql bilgileri, tablo ve kolon bilgisi bölümleri düzenlenebilir.

Örnek: HospitalPatient
Uygulama örneği

Uygulama örneği: hastane entegrasyon haritası

  1. Haritalama adını Hastane HBYS Haritası , durumu aktif seçin.
  2. Hasta–Başvuru ilişkisini Hasta.Id = Basvuru.HastaId olarak tablo ilişkilerine ekleyin.
  3. Uzak Wtransfer kullanılacaksa uygulama erişim listesine yalnız gerçek domaini ekleyin.
Yönetim sayfası hakkında

Veritabanı haritası ilişkili sunucu kaydı burada yapılır. Sunucuların çeşitli nodları olabilir. Nodlar da bir sunucu veri modeli içinde liste halinde eklenir. Url bilgisi, ip bilgisi port bilgisi gibi çeşitli bilgiler tanımlanarak hedef sunucuya erişim ile ilgili bilgiler kaydedilr. Ayrıca sunucuları gruplandırma kurguları da mevcuttur. Benzer özellikteki sunucular gruplanarak sorgu gönderildiğinde ortak gruptaki sunucularda veri sorgulamaları yapılabilmektedir. Örneğin sunucu 1 ve sunucu 2 aynı sunucu grubunda ise aynı sorgu her iki sunucuda sorgulanabilmektedir.

durum
durum select

Aktif olarak dizayn edilen sunucular sorgulamada kullanılır. Pasif olanlar kullanılmaz. Sunucu lisans adedi kontrol edilirken aktif olan sunucular hesaplanır. Örneğin 5 hastane sunucu lisansı olan bir müşteri 5 tane aktif 3 tane pasif sunucusu kayıtlı olabilir.

Seçenekler ve kullanım amaçları
0 — pasif
Sunucuyu sorgulama ve aktif sunucu lisans hesabı dışında bırakır.
1 — aktif
Sunucuyu sorgulamalarda kullanılabilir hâle getirir ve aktif sunucu lisans hesabına dahil eder.
Örnek: 1 — aktif
tipi
tipi select

Wtransfer uygulaması çeşitli veritabanı sunucularına bağlanabilir. Bu veritabanı sunucularına bağlanırken gerekli entegrasyon modülleri dizayn edilmiş olanlardan burada seçim yapılır. Örneğin veritabanı sunucusu mssql ise mssql olarak seçilir.

Seçenekler ve kullanım amaçları
0 — mssql
Sunucu bağlantısı ve sorguları için Microsoft SQL Server entegrasyonunu kullanır.
Örnek: MSSQL
adı
adı text

Sunucunun adını ifade eder. Genellikle ip değeri ve sunucuyu ifade eden x hastanesi gibi bir ek bilgi ile kaydedilebilir.

Örnek: İstanbul Hastanesi MSSQL
kodu
kodu text

Wtransfer uygulamasında aynı sorgu eklenen çoklu sunuculara gerçekleştirilebilmektedir. Örneğin cinsiyeti erkek ve x tanısı olan hastaların hasta id değerlerini getirmeyi planlayalım. İki ayrı hastane olduğu zaman aynı hasta id değerleri gelme ihtimali bulunmaktadır. Parametre ayarlarında prefix evet olarak belirtildiği zaman bu alandaki kod değeri "_" ile bağlanarak sorgu sonucuna eklenir."Xyz_123" gibi. Code burada Xyz olmaktadır.

Örnek: IST → sonuç kimliği IST_123
grubu
grubu text

Wtransfer tarafına sorgu gönderildiğinde ana tekil satırın katman adı da, yani ana katman , gönderilir. Ana katman id değeri sunucularda sorgu henüz başlamadan wtransfer tarafında bilinmiş olur. Veritabanı haritası katman ayarlarında sunucu grubu seçimi yapılır. Böylece ana katmanın hangi sunucu grubuna bağlandığı ve bu sunucu grubunun hangi sunucu listesi olduğunu bu alan sayesinde sistem belirlemiş olur. Veritabanı haritası çok sunuculu ve içerik yapısı farklı olan sunucular içerdiğinde bu gruplama kurgusu özellikle faydalı olmaktadır.

Örneğin Hasta katmanı hbys sunucu grubuna eşleştirilmiş olsun. Sorgumuzdaki ana katman da Hasta katmanı olsun. Haritamız içerisinde 5 tane hbys 1 tanede mobil sunucu grubu olsun. Bu durumda sorgumuz 5 adet hbys sorgusunu tamamlayacaktır. Yani mobil veritabanında sorgu yapmayacaktır.

Örnek: hbys
not
not text

Veritabanı haritası ile ilgili kullanıcının kendisine oluşturduğu notu içerebilir.

Örnek: Birincil üretim sunucu grubu
kod grubu
kod grubu text

Genel bilgi ve gruplama amacı taşımaktadır. Sistemde aktif bir görevi bulunmamaktadır. Çeşitli sunucu kodlarını ortak bir grup altında tutmak istendiğinde kullanılabilir. Örneğin a,b,c kodundaki hastaneler X; d,e,f kodundaki hastaneler ise Y kod grubu olabilir. X ve Y bilgisi sorgulamada kullanılmamaktadır.

Örnek: Klinik
sunucu nodları
sunucu nodları list_parameter

Bir sunucunun replikaları olabilmektedir. Yani bu sunucunun kopyaları anlamına gelmektedir. Ana sunucu güncellendiğinde diğer sunucu nodlarınada güncel veriler aktarılır. Bazen sunucu nodlarında erişim problemleri, bakım süreçleri gerçekleştirilebilir. Bu nedenle erişim yönetimi buradaki sunucu nodeları baz alınarak yapılır.

Örnek: HBYS-NODE-01, HBYS-NODE-02
sunucu nod durumu
sunucu nod durumu select

Bağlantı kurulabilecek bir sunucu nodu ise aktif olarak belirtilir. Pasif durumda sistem sunucuya bağlanmayı denemez.

Seçenekler ve kullanım amaçları
0 — pasif
İlgili sunucu noduna bağlantı kurulmasını engeller.
1 — aktif
İlgili sunucu nodunu bağlantı kurulabilecek nodlar arasına alır.
Örnek: 1 — aktif
sunucu nod adı
sunucu nod adı text

Oluşturulan nodun adını belirtir. Sunucu nodunu en iyi ifade eden kullanıcıya anlaşılmasını sağlayan herhangi bir ad olabilir. Örneğin x hastanesi gibi.

Örnek: HBYS İstanbul Hastanesi
sunucu bağlantı sırası
sunucu bağlantı sırası text

Oluşturulan nodların bağlantı kurarken baz alacağı bağlantı sırasını belirtir. Örneğin ana sunucular yerine replika sunucuları öncelikli sıraya alınabilir. Gerektiğinde sistem ana sunucuya en son bağlanacak şekilde sıraya konur.

Örnek: 1 (öncelikli replika)
sunucu ip
sunucu ip text

Bağlantının kurulacağı ip değeridir. Domain değeri veya ip değeri bağlantı için dolu olması beklenir. Domain tanımlanırsa öncelikli domain kullanılır.

Örnek: 10.20.30.40
sunucu domain
sunucu domain text

Bağlantının kurulacağı domain değeridir. Domain değeri veya ip değeri bağlantı için dolu olması beklenir. Domain tanımlanırsa öncelikli domain kullanılır.

Örnek: sql01.hospital.example.com
sunucu kullanıcı adı
sunucu kullanıcı adı text

Sunucuya bağlantı kurarken kullanıcının ilgili server için kullandığı kullanıcı adı bilgisini içerir.

Örnek: wisdomera
sunucu şifre
sunucu şifre text

Sunucuya bağlantı kurarken kullanıcının ilgili server için kullandığı şifre bilgisini içerir.

Örnek: ••••••••••••
sunucu port
sunucu port text

Sunucunun bulunduğu port numarasıdır. Zorunlu değildir. Eklenmişse sistem kullanır. Domain ya da ip değeri ile birlikte kullanılabilir.

Örnek: 1433
sunucu notu
sunucu notu text

Sunucu hakkında genel bilgi içeren not alanıdır.

Örnek: Salt okunur raporlama düğümü
sunucu içi veritabanları
sunucu içi veritabanları list_parameter

Bir veritabanı sunucusunda birden fazla veritabanı olabilmektedir. Sorgulamalarda kullanılacak olan veritabanları burada belirtilir. En temel olarak dbo veritabanı olabileceği gibi, HBYS, LAB gibi ek veritabanları da birbirinden ayrılabilmektedir.

Örnek: dbo, HBYS, LAB
sunucu içi veritabanı grubu
sunucu içi veritabanı grubu text

Veritabanı grubu, veritabanı adını gruplamak için kullanılan alandır. Direkt veritabanı adı olması gerekmez. Çok sunuculu veritabanı haritalarında sunucular içerisindeki aynı yapıdaki veritabanlarının adları değişebilmektedir.

Örneğin sunucu1 içindeki hastane veritabanının adı hbys_xyz iken, sunucu2 veritabanındaki hastane veritabanı adı hbys_abc olabilmektedir. Bu veritabanılarının yapısı aynı olduğu için bunları ortak bir grup adıyla bu alan sayesinde gruplandırabiliyoruz. Bu örnekteki grubumuzun adı hbys olabilir.

Yapısı aynı derken tablolar ve içerisinde bulunan kolonların yapısının aynı olmasını kastediyoruz. Veritabanı grup adı burada belirtildikten sonra harita katmanları ve harita katman parametrelerinde çeşitli alanlarda bu veri tabanı grubu kullanılır. Direkt veritabanı adı parametrelerde ya da katman ayarlarında kullanılmaz. Böylece parametrelerin hangi veritabanı grubuna bağlı olduğunu eşleştirerek sorgulamalar gerçekleştirilir.

Örnek: HBYS, LAB, dbo
sunucu içi veritabanı adı
sunucu içi veritabanı adı text

Veritabanı sunucusunda oluşturulmuş veritabanlarının tam olarak adına eşittir. Harita katman ve parametrelerinde tanımlı veritabanı grubu ile bu veritabanı adı eşleştirilerek gerçek sorgular üretilir.

Örneğin bir katman parametresinde tanımlı veritabanı grubu hbys olsun. 5 sunuculu bir veritabanı haritasında, veritabanı adları da her bir sunucuda hbys_1, hbys_2, hbys_3, hbys_4, hbys_5 şeklinde olabilir. Gerçek sorguların üretilebilmesi için hbys_1 şeklinde ifade edilmiş olan veritabanı adına ihtiyaç bulunmaktadır. Hbys değeri tüm sunucularda bu veritabanları adlarına eşleştirildiğinde, sorgu sırasında sunucularda veritabanı adı kolayca eşleştirilmiş olacaktır. Birinci sunucuda sorgu çalıştırılırken, hbys değerinin karşılığının hbys_1 olduğu anlaşılarak sorgu buna göre düzenlenir. Tek sunuculu bir ortamda veritabanı adı ve grubu aynı olabilir. Zaten gruplama ihtiyacı bulunmamaktadır.

Örnek: HBYS_IST
Uygulama örneği

Uygulama örneği: iki hastaneli HBYS grubu

  1. İstanbul ve Ankara sunucularına hbys sunucu grubunu verin.
  2. Her sunucuda aktif bir node tanımlayın; domain varsa IP’den önce kullanılır.
  3. Mantıksal veritabanı grubunu iki sunucuda da HBYS , gerçek adları sırasıyla HBYS_IST ve HBYS_ANK yapın.
  4. Böylece aynı katman ve parametre sorgusu iki fiziksel veritabanı adına doğru çevrilir.

Yönetim sayfası hakkında

Veritabanı haritası oluşturulduktan sonra öncelikle sunucular eklenir. Ardından veri katmanları oluşturulur. Sonra da veri katmanları ilişkili parametreler kaydedilir. Veri katmanı, hedef veritabanında hangi tabloya bağlanılacağını, hangi kolonun primer kolon olduğunu, katmanlar arasındaki parent-child yani ilişkisel sürecin nasıl kurgulanacağı gibi bilgileri tutar. Katmanlar bir nevi tablolar gibi düşünülebilir. Ama direkt tablo olarak düşünülmemelidir. Çünkü bir katmanda birden fazla tablodan veriler alınarak paremetrelere yazılabilir. Katman aslında bir arada kullanmak istediğimiz aynı ya da farklı tablolardaki verileri kolayca birleştirmemizi sağlayan bir veri modelidir.

Sorgu yönlendirme akışı

Wtransfer tarafına sorgu gönderildiğinde ana tekil satır, yani ana katman bilgisi de iletilir. Ana katman kimliği sorgu başlamadan önce Wtransfer tarafından bilinir. Veritabanı haritasındaki katman ayarı sunucu grubunu belirler; sistem bu gruptan ilgili sunucu listesini çözümler ve sorguyu doğru hedefe yönlendirir.

1. Ana katman Ana katman kimliği istekle birlikte gönderilir.
2. Katman ayarı Sunucu grubu parametresiyle katmana bağlı sunucu grubu okunur.
3. Sunucu listesi Sunucu grubu ilişkili kullanılabilir sunucular alınır.
4. Sorgu hedefi Sorgular sunucularda dönülerek kalındığı noktadan devam edecek şekilde ilerler.
durum
durum select

Katman durumu aktif ise sorgu yapılabilir.

Seçenekler ve kullanım amaçları
0 — pasif
Katmanı sorgulama dışında bırakır.
1 — aktif
Katmanın sorgularda kullanılmasına izin verir.
Örnek: 1 — aktif
katman adı
katman adı text

Katman adı değeridir. Boşluksuz ingilizce karakterler kullanılarak dizayn edilmelidir. Tüm katmanlar içinde katman adı ilgili veritabanı haritasında tekil olmalıdır. Çünkü aslında farklı veritabanı haritalarında ortak sorgu üretirken katman adı değeri kullanılır. Örneğin 1 nolu veritabanı haritasında Hasta katmanı varsa ve 2 nolu veritabanı haritasında da Hasta adlı bir katman varsa bu durumda her iki veritabanı haritasından aynı sorgu ilerletilerek ortak wanalyzer projesinde dataset üretilebilir.

Örnek: patient_visit
ana tablo adı
ana tablo adı text

Katmanlar çeşitli tablolardan verilerin toplandığı veri birimleridir. Her katmanın satırlar için tekil id değerini de üretebileceği bir ana tabloya ihtiyacı bulunmaktadır.

Örneğin hastaların başvuru verileri, başvuru adlı bir tablodan getirilebilir. Başvuru tablosundaki belirlenmiş kolonlar alınabilir. Tüm kolonların alınması gerekmez. Hatta başvuru katmanındaki bir parametre örneğin randevu tipi, randevu adlı başka bir tablodan alınarak başvuru katmanındaki parametreye yazılabilir.

Buradaki veri katman yapısı çeşitli tablolardaki verileri birleştirme davranışı ile çalışmaktadır. Ana tablonun buradaki rolü ise, hem tekil satır verisini oluşturmak, hem de katman ağacında tanımlanan üst - alt katman ilişkilerinde belirleyici olmaktır.

Burada seçilen ana tablo aynı zamanda veritabanı haritası genel ayarlarındaki katman ağacı ayarlarındaki tablo ilişkilerinde kullanılan tablolardan birisi olması gerekmektedir.

Örnek: [Hasta].[Basvuru]
client id prefix
client id prefix select

Katmandan veri alındığında verinin primer teki id değeri de alınmaktadır. Client id aslında hedef veritabanındaki bu katman için kullanılacak primer tekil id değeri anlamına gelmektedir. Primer kolon id değerinin başına prefix olarak sunucu ayarlarında belirtilen sunucu kodu parametresi alt tire ile eklenmesi isteniyorsa evet olarak belirtilir.

Birden fazla veritabanı sunuculu sorgu yapılıyorsa, farklı sunucularda aynı primer id olabileceğinden prefix evet olarak kullanmak mantıklı olacaktır. Örneğin x hastanesinde 123 id değerinde bir başvuru varken, aynı şekilde y hastanesinde de 123 id değerli başvuru olabillir. Her ikisini ayırtetmek için x_123, y_123 şeklinde sistem verileri getirir.

Seçenekler ve kullanım amaçları
0 — hayır
Client id değerini sunucu kodu eklemeden kullanır.
1 — evet
Farklı sunuculardaki aynı id değerlerini ayırt etmek için client id başına sunucu kodunu ekler.
Örnek: 1-evet
client id tablo adı
client id tablo adı text

Client id yani katman için primer tekil id değeri için kullanılacak tablo adıdır. Ana tablo ile aynı olarak kullanılır.

Örnek: Hasta
client id sorgu sql
client id sorgu sql text

Client id yani katman için primer tekil id değeri direkt bir kolon değeri olabileceği gibi, bir sql yardımıyla da üretilebilir. Çünkü bazen tablolarda direkt primer kolon id dizayn edilmemiş olabilir. Bu durumlarda nadiren de olsa kullanılır.

Örneğin birden fazla kolonu concat edip birleştirerek primer tekil id değeri üretilebilir. CONCAT( [HBYS].[Order].[Ilac].[OrderId], '_', [HBYS].[Order].[Ilac].[UrunId])

Örnek: CONCAT( [HBYS].[Order].[Ilac].[OrderId], '_', [HBYS].[Order].[Ilac].[UrunId])
hakkında
hakkında text

Kullanıcıya katman hakkında bilgiler içeren genel notları içerebilir.

Örnek: Hasta demografik ve iletişim bilgileri
katman ağacı
katman ağacı list_parameter

Katmanın üst alt ilişkili katman listesini barındırır. Böylece bu katmanın diğer katmanlarla olan ilişkisi kurulmuş olur. Listede son eleman bu katmandır. Öncekiler üst katmanları ifade ederler. Örneğin tanı katmanı, en üst ağaçtan başlanacak şekilde diğer katmanlar belirtildikten sonra eklenir.

Örnek: Hasta > Basvuru > Tani
katman primer kolon adı
katman primer kolon adı list_parameter

Katman primer kolon değeri genellikle client id değeri ile aynı olmaktadır. Primer kolon değeri liste halinde kullanılmaktadır. Genellikle tabloda bir adet primer kolon olur. Fakat bazen birden fazla kolon kullanılarak satır tekilleşebilir. Bu durumda liste halinde seçilebilir. Örneğin Id kolonu primer kolon olarak direkt belirlenebilir. Ama bazen de x_id ve y_id birlikte olunca tablodaki satır tekil olabilir. Bu durumda her ikisi de seçilmelidir.

Örnek: Id
primer kolon adı
primer kolon adı text

Primer kolon değeri burada seçilir.

Örnek: Id
primer kolon adları birleştirme karakteri
primer kolon adları birleştirme karakteri text

Primer kolonlar birden fazla ise bunları birleştirmek için özel bir karakter seçilebilir. Genellikle alt tire _ birleştirmek için kullanılır.

Örnek: _
sunucu grubu
sunucu grubu text

Katmanın sunucu listesindeki hangi grupta bulunduğu burada seçilir. Tabi öncelikle sunucuların oluşturulmuş ve sunucuların içinde sunucu grupları eklenmiş olmalıdır. Bu katmandan sorgu oluturulduğunda hangi sunucularda bu sorgunun yapılabileceği bu parametre ile yönetilmektedir.

Örneğin; sunucu listesinde 20 sunucu olduğunu düşünelim. Burada hbys seçtiğimizde, 20 sunucudan 15 tanesinde hbys sunucu grubu olarak belirtilmişse, bu durumda bu katmandan sorgu yapıldığında sadece 15 sunucuda sorgu döngüsü devam edecektir.

Örnek: HBYS
veritabanı grubu
veritabanı grubu text

Sunucularda birden fazla veritabanı olabilmektedir. Sunucular harita altında tanımlanırken veritabanı grupları da oluşturulmaktadır. Sunucularda tanımlanan veritabanı gruplarından bu parametrede seçim yapılır. Katmanın ana tablosunun bulunduğu veritabanı grubu seçilir.

Örneğin; hasta genel bilgileri hbys veritabanında iken, laboratuar bilgileri LAB veritabanında olabilir. Dolayısıyla, bu katman ile ilgili sorgunun hedef sunucu grubunda hangi veritabanı grubunda gerçekleştirilmesi gerektiği buradan anlaşılır.

Örnek: HBYS
tüm veritabanı birimlerinde tekil mi
tüm veritabanı birimlerinde tekil mi select

Wanalyzer tarafından veri sorgulandığında, aynı id değerli verinin birden fazla sunucudan verileri alındıktan sonra, tek satır olması isteniyorsa bu durumda evet olarak belirtilir. Tabi bu durumda prefix durumu hayır şeklinde olmalıdır. Çünkü katmana ait satırın tekil id değeri aslında tüm diğer sunucularda da aynı olması gerekir. Bu merkezi id kavramlarında kullanılabilmektedir.

Örneğin; 10 hastaneden veri alındığında tc no üzerinden tekil olduğunu ve bu tc no değerinin primer id olarak kullanıldığını düşünelim. Bu durumda sistem farklı hastanelerdeki verileri tc no sayesinde tek satırda birleştirir. Wanalyzer datasetlerinde tek satırda tüm hastanelerdeki veriler görünür. X laboratuar testi sonuçları normalde farklı hastane sunucularında kayıtlı iken, x laboratuar testi sonucu Wanalyzer datasetinde tek bir satırda kolon hücresinde kullanılabilir olarak eklenir. Tabi bu tanımlama yapıldığında projenin tekilleştirme çalışması olduğundan bir miktar yavaşlık gözlenebilir.

Seçenekler ve kullanım amaçları
0 — hayır
Aynı id değerini her veritabanı biriminde ayrı kayıt olarak değerlendirir.
1 — evet
Aynı id değerli kayıtları tüm veritabanı birimleri genelinde tekilleştirerek birleştirir.
Örnek: 1 — evet
offset kolonu
offset kolonu list_parameter

Primer kolon değeri ile genellikle aynıdır. Sorgular yönetilirken sorgunun kaldığı satır noktası bu değer ile yönetilir. Diğer bir deyişle offset kolonu olarak da kullanılır. Kalınan noktadan devam etme kurgusu bu kolon ile işletilir. Birden fazla kolon da bazen tekilliği ve offset sürecinin yönetilmesini primer kolonda olduğu gibi gerektirebilir. Bu durumda liste halinde offset kolonları tekilliği sağlayacak şekilde eklenir

Örnek: 1 — Id
offset kolon adı
offset kolon adı text

Offset kolon adı seçilir.

Örnek: Id
katman ek where sorgusu
katman ek where sorgusu text

Katman sorgusunda mutlak bir filtre oluşturulmak istendiğinde kullanılır.

Örneğin bir başvuru katmanında durumu iptal olanları hiç bir zaman almak istemiyorsak, [HBYS].[Hasta].[Basvuru].[State] IN ('0') şeklinde belirtebiliriz. Aslında bu where sorgusuna ek olarak eklenerek sorgu üretilir.

Örnek: [HBYS].[Hasta].[Basvuru].[State] IN ('0')
Uygulama örneği

Uygulama örneği: Başvuru katmanı

  1. Katman adını HastaBasvuru yazın.
  2. Ana tabloda [Hasta].[Basvuru] seçin.
  3. Primer kolon Id
  4. Offset kolonu yine Id olabilir.
  5. Hasta üst katmansa katman ağacında Hasta → Başvuru sırasını kurun.
  6. İptal kayıtları dışlamak için ek where alanına yalnız doğrulanmış SQL koşulunu yazın.


Katman Parametresi Yönetim sayfası hakkında

Veritabanı haritasına katman oluşturduktan sonra, katmanda ortak satırda görmek istenilen parametreler dizayn edilir. Parametre ayarlarında hangi tablodan verinin geleceği, tablodaki hangi kolon kullanılacağı, ya da direkt kolon yerine seçilen bir sql modelinin de kullanılabileceği çok çeşitli veri alma yöntemleri bulunmaktadır. Seçenekli parametrelerde de statik seçenekler belirlenebildiği gibi, veritabanından ilgili seçeneğin label değei alınacak şekilde kurgular da yapılabilmektedir.

durum
durum select

Aktif parametreler sorgu oluşturulabilmektedir.

Seçenekler ve kullanım amaçları
0 — pasif
Parametreyi sorgu üretimi ve sonuçlara dahil etme sürecinin dışında bırakır.
1 — aktif
Parametrenin sorgularda ve sonuçlarda kullanılmasına izin verir.
Örnek: 1 — aktif
adı
adı text

Parametrenin adı değeridir. Boşluksuz ingilizce karakterler kullanılarak dizayn edilmelidir. Bir wanalyzer projesinde birden fazla veritabanı haritası kullanıldığında aynı katman adlı katmanlarda aynı adlı parametreler aynı sorgu çıktısı üretmiş olacaktır.

Örnek: Cinsiyet
prefix
prefix select

Birden fazla sunuculu sorgu uygun olduğunda, farklı sunucu olduğunu ifade eden prefix değeri sorgudan gelen parametrelerin başına eklenebilir.

Örneğin istanbul hastanesinde hastane kodu IST, Ankara hastanesinde ANK olarak varsayalım. IST kodlu sunucuda IST_123, ANK kodlu sunucuda ANK_123 şeklinde veri getirilir. Parametrenin tekil sunulmak istendiğinde kullanılabilmektedir.

Seçenekler ve kullanım amaçları
0 — hayır
Parametre değerini sunucu kodu eklemeden kullanır.
1 — evet
Çok sunuculu sorgularda aynı değerleri ayırt etmek için değerin başına sunucu kodunu ekler.
Örnek: IST_123
tablo adı
tablo adı text

Parametre içeriği bir tablonun bir kolonu olacaksa burada tablo seçimi yapılır. Parametre verisi direkt ana tablodan alınacaksa ana tablo değeri seçilebilir. Bu tablo adı, katmanın ana tablosu olmak zorunda değildir. Ana tablo dışında bir tablodan veri getirilecekse, ana tablo ile burada belirtilen tablo arasında join ilişkisi de kurulması gerekmektedir. Join sql parametresinde bu join kurgusu oluşturulur.

Örneğin hasta katmanı [Hasta] tablosu olarak belirlensin. Hasta id ilişkili [hastaizinler] tablosundan sms iletişim izni parametresini alarak hasta katmanında bir parametreye eklemeyi planlayalım. Bu durumda tablo adı [hastaizinler] ve [hastaizinler] tablosundaki smsizni kolonu da kolon adı parametresine yazılacaktır. Ama hasta tablosundaki id ile [hastaizinler] tablosundaki HastaId de join edilmelidir. Join sql parametresine de bu şekilde bir join kurgusu oluşturulmalıdır. LEFT JOIN [HBYS].[Hasta].[hastaizinler] WITH (NOLOCK) ON [HBYS].[Hasta].[hastaizinler].[State] = 1 AND [HBYS].[Hasta].[Hasta].[Id] = [HBYS].[Hasta].[hastaizinler].[HastaId]. Böylece hasta tablosu ana satırındaki hasta id alındıktan sonra bu id değeri ilişkili izin tablosundan ilgili hastanın sms izni durumu da alınabilecektir.

Örnek: [GenelSema].[Hasta]
kolon adı
kolon adı text

Parametre içeriği bir tablonun bir kolonu olacaksa kolon adı burada seçilir.

Örnek: [CinsiyetId]
katman ana tarih parametresi
katman ana tarih parametresi select

Bu parametre katmanın tarihsel parametresi ise bu durumda evet olarak belirtilir.

Örneğin laboratuar katmanı dizayn edildiğinde, laboratuar parametrelerine ait sonuçlarına ait bir de tarihsel parametre belirlenir. Laboratuar tarihini ifade edecek şekilde bir tarihsel parametre de katmanın geneli için seçilmesi için evet olarak seçilir. Bu tüm katmanda bir adet parametre olmalıdır.

Seçenekler ve kullanım amaçları
0 — hayır
Parametreyi katmanın ana tarih parametresi olarak kullanmaz.
1 — evet
Parametreyi katmanın zaman bilgisini temsil eden tek ana tarih parametresi olarak belirler.
Örnek: 1 — evet
içerik json metni formatında mı ?
json anahtarı text

Veritabanından alınan veri içeriği obje formatında bir json ise bu durumda json içindeki key değeri burada belirtilir. Böylece veri alındıktan sonra ilgili key değerine karşılık gelen veri alınır.

Örneğin veritabanından bu formatta bir hücre verisi gelebilir: {'pain': 'yes' , 'treatment_note': 'xxxx yyyy'}. json key burada pain veya treatment_note olabilir.

Örnek: treatment_note
json anahtarı
json anahtarı text

Veritabanından alınan veri içeriği obje formatında bir json ise bu durumda json içindeki key değeri burada belirtilir. Böylece veri alındıktan sonra ilgili key değerine karşılık gelen veri alınır.

Örneğin veritabanından bu formatta bir hücre verisi gelebilir: {'pain': 'yes' , 'treatment_note': 'xxxx yyyy'}. json key burada pain veya treatment_note olabilir.

Örnek: treatment_note
json alan adı
json alan adı text

Veritabanı hücre içeriği json olduğunda ve içerik tipi format7 formatında olduğun içerisindeki key bölümünü oluşturan değer burada belirtilir. format7: [{"children":{"' + json_field_name + '":[{"values":["xxxxx"]}]}

Örnek: children
json kolon içerik formatı
json kolon içerik formatı select

Veritabanı hücre içeriği json olduğunda direkt belirlenmiş sık kullanılan bir json içerik formatı olduğunda ilgili veri key bölgesini almak için format seçimi yapılabilir. Bu json formatları ile hedef içerik uyuşuyorsa formatlardan seçim yapılarak ilerlenebilir. Format seçimi yapıldığında aynı zamanda json field name de bu formata uygun olarak belirlenmelidir.

format_2: [{"values":[xxx]}]

format3: [{"values":[{"value":"xxx"

format4: [{"values":[xxx]}]

format5: [{"values":["xxx"]}]

format6: [{"values":[{"value":"xxx"

format7: [{"children":{"' + json_field_name + '":[{"values":["xxx"]}]}

Seçenekler ve kullanım amaçları
0 — format 2
Hücre içeriğini format 2 şemasına göre ayrıştırır.
1 — format 3
Hücre içeriğini format 3 şemasına göre ayrıştırır.
2 — format 4
Hücre içeriğini format 4 şemasına göre ayrıştırır.
3 — format 5
Hücre içeriğini format 5 şemasına göre ayrıştırır.
4 — format 6
Hücre içeriğini format 6 şemasına göre ayrıştırır.
5 — format 7
Hücre içeriğini json field name ile birlikte format 7 şemasına göre ayrıştırır.
Örnek: format_7
sunucu grubu
sunucu grubu text

Sunucu grubu, parametrenin içinde bulunduğu katmana ait sunucu grubu olduğunda herhangi bir tanımlama yapmaya gerek olmamaktadır.  H edef sunucuda sorgu sırasında, bir parametrenin sunucu grubu farklı ise, bu durumda veritabanı haritasındaki belirtilen sunucu grubunu içeren tüm sunucularda dönülerek, hedeflenen veriler sorgulanarak veri listesine eklenir.

Örneğin katmana ait sunucu grubu hbys olsun. Hbys sunucularında dönerken bu parametrede hbys dışında bir sunucu grubu olarak -mobil- seçildiyse, o zaman veriler hedeflenen diğer -mobil- sunucu grubu tanımlı olan sunucularda sorgulanır. Genellikle az kullanılan bir kurgudur. Başka bir sunucu grubuna bağlanılacak şekilde dizayn edildiyse, tablo, kolon adı ya da sql alanları hedef sunucu gruplarındaki tablo yapıları baz alınarak dizayn edilmelidir.

Örnek: Mobil
select sorgu metni
select sorgu metni text

Katman parametresi genellikle bir tablonun kolonu olarak seçilir. Bazen direkt bir tablonun kolonu olmayabilir. Case oluşturma ya da çeşitli kurgular yaparak sql üreterek parametreyi alma şeklinde de veriler alınabilmektedir. Bu durumda tablo ve kolon adı bölümleri boş bırakılır ve burada select sql oluşturulur. Bu select sql değeri Sql yazarken SELECT .... FROM arasındaki bölüme yazılacak metni içermelidir.

Örneğin bu şekilde bir select sql oluşturularak Hastane tablosundaki Kod bilgisi alınabilir. (SELECT [HBYS].[dbo].[Hastane].[Kod] FROM [HBYS].[dbo].[Hastane] WITH (NOLOCK) WHERE [HBYS].[dbo].[Hastane].[Status] = 1). Bu sql metni SELECT ve From arasına eklenerek sorgu yapılır.

Örnek: (SELECT [HBYS].[dbo].[Hastane].[Kod] FROM [HBYS].[dbo].[Hastane] WITH (NOLOCK) WHERE [HBYS].[dbo].[Hastane].[Status] = 1)
where sorgusu
where sorgusu text

Select sql metni üretildiğinde where sorgusunda da aynı parametrede sorgu yapılabilmesi için aynı sql bilgisi de buraya genellikle eklenmektedir. Çünkü WHERE bloğunda select ve from arasında alınan değer kullanılarak sorguda kullanılır.

Örneğin (SELECT [HBYS].[dbo].[Hastane].[Kodu] FROM [HBYS].[dbo].[Hastane] WITH (NOLOCK) WHERE [HBYS].[dbo].[Hastane].[Status] = 1) şeklinde. Örnekte istanbul hastanesi ve ankara hastanesi kodu kullanılarak bir where sorgusu oluşturulmuştur.

Örnek: WHERE (SELECT [HBYS].[dbo].[Hastane].[Kodu] FROM [HBYS].[dbo].[Hastane] WITH (NOLOCK) WHERE [HBYS].[dbo].[Hastane].[Status] = 1) in ('IST', 'ANK')
veritabanı kolon tipi
veritabanı kolon tipi select

Veritabanındaki kolonun tipi burada seçilir. Yoksa boş bırakılabilr.

Seçenekler ve kullanım amaçları
0 — smalldatetime
Kolonu MSSQL smalldatetime tarih-saat tipi olarak işler.
1 — datetime
Kolonu MSSQL datetime tarih-saat tipi olarak işler.
2 — int
Kolonu tamsayı tipi olarak işler.
3 — bit
Kolonu doğru/yanlış değeri taşıyan bit tipi olarak işler.
4 — tinyint
Kolonu küçük aralıklı tamsayı tipi olarak işler.
5 — varchar
Kolonu Unicode olmayan değişken uzunluklu metin tipi olarak işler.
6 — nvarchar
Kolonu Unicode değişken uzunluklu metin tipi olarak işler.
7 — money
Kolonu parasal değer tipi olarak işler.
8 — date
Kolonu saat bilgisi içermeyen tarih tipi olarak işler.
9 — smallint
Kolonu smallint tamsayı tipi olarak işler.
Örnek: datetime
parametre tipi
parametre tipi select

Veritabanındaki tipinden bağımsız olarak WisdomEra sisteminde de parametre tipi mevcuttur. Kategorik parametreler select olarak seçilir. Diğer parametrelerden de içerik ile uygun olan seçilir.

Seçenekler ve kullanım amaçları
0 — select
Kategorik veriyi seçenekler arasından seçilebilir biçimde sunar.
1 — integer
Parametreyi tamsayı olarak işler.
2 — float
Parametreyi ondalıklı sayı olarak işler.
3 — text
Parametreyi tek satırlık metin olarak işler.
4 — textarea
Parametreyi uzun veya çok satırlı metin olarak işler.
5 — datetime
Parametreyi tarih ve saat değeri olarak işler.
Örnek: date
sunucu veritabanı grubu
sunucu veritabanı grubu text

Parametre verisi sunucudaki hangi veritabanı grubundan bu parametrede belirtilir. Örneğin sunucuda dbo, HBYS, LAB adında veritabanları olabilir. Parametre LAB veritabanı içinde ise burada LAB olarak seçilir. Veritabanı grubu sunucudaki veritabanının direkt adı olmak zorunda değildir. Veritabanı grupları sunucu ayarlarında üretilerek burada seçim yapılır. Özellikle çoklu benzer sunucu yapılarında aynı veritabanı farklı isimlerle ifade edildiğinde ortak bir grup adı üretilerek kullanılmaktadır. Örneğin HBYS_1 ilk sunucuda olsun. İkinci sunucuda da HBYS_2 olduğunda her iki veritabanı aynı tablo ve kolon içeriğinde ise o zaman HBYS adıyla gruplandırılmaktadır. Böylece sunucular döngüyle sorgulandığında veritabanı grubundan veritabanı adı bilgisi alınarak sorgular üretilir.

Örnek: HBYS_MAIN
sunucu id
sunucu id text

Normalde sorgu çalıştırıldığında, katmana ait sunucuda sorgulama döngüsüne devam eder. Fakat bu parametreye gelindiğinde döngüdeki aktif sunucuda değil de direkt başka bir sunucudan parametre değeri alınacaksa bu durumda belirtilir. Genellikle belirtilmez. Çok nadir kullanılan bir kurgudur. Örneğin bir bilginin başka bir sunucudan alınması gerektiğinde kullanılabilmektedir.

Örnek: HBYS-NODE-01
bit kolonu doğru seçeneği
bit kolonu doğru seçeneği select

bit formatındaki yani True False formatındaki kolona ait veri bazen tersini ifade edecek şekilde dizayn edilmiş olabilir. Örneğin şikayetinin olmaması durumu True olarak dizayn edilmiş olabilir. Şikayetinin olması şeklinde parametre kurgulanıyorsa aslında veritabanındaki False değeri doğru değer olmuş oluyor. Bu durumda False değerini bu parametrede seçerek parametre için doğru kabul edilen değeri belirlemiş oluyoruz.

Seçenekler ve kullanım amaçları
0 — false
Veritabanındaki false değerini parametrenin olumlu/doğru seçeneği kabul eder.
1 — true
Veritabanındaki true değerini parametrenin olumlu/doğru seçeneği kabul eder.
Örnek: 1
join sql
join sql textarea

Ana tablo ilişkili olarak başka bir tablodan veri alınması planlandığında burada join kurgusu oluşturulur. Örneğni ana tablo hasta iken, hastaizinler tablosundan veri alınmak istendiğinde, hasta.id = hastaisinler.hastaid kurgusuyla bir join sql dizayn edilerek sorgu oluşturulduğunda hastaizinler tablosundaki bir smsizni parametersine ait değer alınabilir. Örnek kullanım: LEFT JOIN [HBYS].[Hasta].[HastaIzinler] WITH (NOLOCK) ON [HBYS].[Hasta].[HastaIzinler].[State] = 1 AND [HBYS].[Hasta].[Hasta].[Id] = [HBYS].[Hasta].[HastaIzinler].[HastaId]

Örnek: LEFT JOIN [HBYS].[GeneralSchema].[Cinsiyet] ON ...
seçenek tipi
seçenek tipi select

Seçenekli parametrelerde, veritabanından alınan kategorik değerin kullanıcıya gösterilecek etikete nasıl dönüştürüleceğini belirler. Örneğin 1 değerinin Kadın etiketiyle eşleştirilmesi bu yöntemlerden biriyle yapılır.

Etiket çözümleme yöntemleri

1. Parametre seçeneklerini kullan

Değer ve etiketleri seçenek listesinde sabit olarak tanımlayın. Ek sorgu çalışmaz; sık değişmeyen listeler için uygundur. Diğer seçenek sorgusu alanları boş bırakılır.

  • Gerekli: seçenek listesi manuel olarak seçenek listesi alanına eklenmelidir.
  • Sunucu ve tablo ayarları kullanılmaz
  • Etiket doğrudan sabit listeden okunur
  • Sabit ve küçük listeler için önerilir

2. Sorgu ile seçenek başlığını al

Değeri ve etiketi aynı SQL sorgusunda alın. Basit lookup için Hasta.CinsiyetId ile Cinsiyet.Id alanlarını birleştirip Cinsiyet.Name değerini label olarak seçin. Yalnız aktif satır gerekiyorsa State = 1 koşulu ekleyin. Doktor adı gibi birden fazla kolondan oluşan etiketlerde CONCAT ifadesini seçenek başlık select sorgusunda kullanın.

  • Gerekli: seçenek tablo adı
  • Gerekli: seçenek değer kolonu
  • Başlık kolonu veya başlık select sorgusundan biri doldurulur
  • İsteğe bağlı: seçenek join koşulu
                          
                            SELECT
                            
Patient.GenderId,
Gender.Name AS label FROM Patient LEFT JOIN Gender ON Gender.Id = Patient.GenderId WHERE Patient.Id = '12345'

3. Parametre sorgusu sonrası

Etiket aynı sorguda birleştirilemiyorsa önce parametre değerini alın, ardından farklı sunucu veya veritabanındaki lookup kaynağına ayrı sorgu gönderin. Bu yöntem ek sorgu maliyeti oluşturduğu için yalnız kaynaklar aynı sorguda birleştirilemediğinde kullanılmalıdır.

  • Gerekli: seçenek sunucu grubu ve sunucu kimliği
  • Gerekli: seçenek tablosu, değer kolonu ve başlık kolonu
  • İsteğe bağlı: farklı seçenek veritabanı grubu
  • İsteğe bağlı: ek where koşulu

4. Veritabanı eşleşmesini kullan

Standart seçenekleri seçenek listesinde tanımlayın ve kaynak veritabanındaki değerleri bu seçeneklerle eşleştirin. WisdomEra standart haritalarında algoritmaların sabit değerlerle çalışmasını sağlar; örneğin Kadın = 1 ve Erkek = 2 standardı korunabilir.

  • Gerekli: seçenek listesi
  • Gerekli: seçeneklerin veritabanı eşleşmeleri
  • Diğer seçenek sorgusu alanları boş bırakılır
  • Standart haritalar için önerilir
Seçenekler ve kullanım amaçları
0 — parametre seçeneklerini kullan
Etiketi sabit seçenek listesinden alır.
1 — sorgu ile seçenek başlığını al
Değer ve etiketi aynı sorguda alır.
2 — parametre sorgusu sonrası
Etiketi ayrı bir sorguyla çözümler.
3 — veritabanı eşleşmesini kullan
Kaynak değeri standart etikete dönüştürür.
Örnek: 3 — veritabanı eşleşmesini kullan
seçenek sunucu veritabanı grubu
seçenek sunucu veritabanı grubu text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Seçenek değeri farklı bir veritabanına bağlanıp alınacaksa bu durumda veritabanı grubu belirtilir. Veritabanı grubu belirtilmediğinde parametrenin veritabanı grubu hedef veritabanı olarak baz alınır. Örneğin parametrenin veritabanı grubu HBYS iken, bu parametrenin seçenek değerleri LOOKUP adındaki başka bir veritabanından alınıyor olabilir.

Örnek: LookupDb
seçenek sunucu id
seçenek sunucu id text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Seçeneklerin değerleri başka bir sunucudan alınacaksa kullanılmaktadır.

Örnek: 3
seçenek değer kolonu
seçenek değer kolonu text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Seçeneğin value değeridir. Diğer bir deyişle seçeneğin tekil id değeridir.

Örnek: [Id]
seçenek tablo adı
seçenek tablo adı text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Seçeneğin hangi tabloda bulunduğu belirtilir.

Örnek: [GeneralSchema].[Cinsiyet]
seçenek sunucu grubu
seçenek sunucu grubu text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Seçeneklerin değerleri başka bir sunucudan alınacaksa kullanılmaktadır.

Örnek: LookupServer
seçenek ek where sorgusu
seçenek ek where sorgusu text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Seçenek tipi 'parametre sorgusu sonra' modunda ise bu parametre gerekiyorsa doldurulur. Where sorgusu ile etiket değeri alınacak tablodaki state gibi aktif olan bir satır alınacaksa burada tanımlanabilir. Zorunlu değildir.

Örnek: [GenelSema].[Cinsiyet].[Status] = 1
seçenek sunucu adı
seçenek sunucu adı text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Seçenekler başka bir sunucudan alınırken kullanılabilir. Zorunlu değildir. Sunucu adını ifade etmek için genel bilgi amaçlı kullanılabilir.

Örnek: Lookup Sunucusu
seçenek join
seçenek join text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Zorunlu değildir. Seçenek tipi 'parametre ile sorgula' modunda ise, parametrenin elde edilen değeri ile hedef lookup tablosuna join oluşturularak etiketi alınmaktadır. Bazen ek join gerekebilmektedir. Bu durumda kullanılır.

Örnek: LEFT JOIN Translation ON Translation.OptionId = GenderOption.Id
seçenek başlık kolonu
seçenek başlık kolonu text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Seçeneğin etiket değerinin alınacağı kolonu ifade eder. En sık seçenek tablo adı ve seçenek başlık kolonu eklenecek şekidle seçeneklerin etiket değerleri alınmaktadır.

Örnek: [Name]
seçenek başlık select sorgusu
seçenek başlık select sorgusu text

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Tablodaki standart bir kolon yerine birden fazla kolon seçenek etiketi olarak kullanıldığında burada select ... from aralığındaki sorguya eklenecek sorgu metni burada belirtilir.

Örnek: CONCAT([Adi], ' ', [Soyadi])
seçenek listesi
seçenek listesi textarea

Seçenekli yani select tipinde parametrelerde kullanılmaktadır. Seçenek liste yönetim tablosunda eklenerek ilerlenir. Veritabanı eşleştirme modunda olan seçenek tipinde ise veritabanı eşleştirmesi de yapılmalıdır.

Örnek: 1|Kadın;2|Erkek;3|Belirtilmemiş
seçenek listesi sql
seçenek listesi sql text

Seçenek listesi tipi parametre sorgusu ile birlikte tipinde olduğunda, veritabanı haritasındaki sunuculardan seçenek listesi katman parametresinde güncellenmesi gerekir. Wtransfer otomatik olarak sunuculara bağlanarak parametrenin seçeneklerini günceller. Böylece yeni oluşturulmuş seçenekler varsa bunlar parametre seçeneklerinde olduğundan wanalyzer sorgu kuralı oluşturma bölümlerinde görüntülenerek kullanılabilir. Veri sorgusu oluşturulurken kullanılmamaktadır. Tanımlı olmak zorunda değildir. Tanımlı ise otomatik olarak parametre seçenek listeleri güncellenir. Sorgu oluşturulurken, seçeneğin id değeri ' value ' olarak, etiketi de ' label ' olarak as modunda tanımlanmalıdır.

Örneğin, hastane veritabanlarında laboratuar katmanında test listesine yeni test eklendiğinde bu sql sorgusu ile yeni testler alınarak parametrenin seçenekleri listesine eklenir. Böylece wanalyzer sorgu oluşturulurken parametrenin seçeneklerinde bu test değeri de görünmeye başlar.

Örnek: SELECT Code as 'value', Name as 'label' FROM GenderOption WHERE IsActive = 1
Uygulama örneği

Uygulama örneği: Cinsiyet parametresi

  1. gender parametresini select tipinde oluşturun;
  2. kaynak tablo [GeneralSchema].[Hasta] ,
  3. kolon [CinsiyetId] olsun.
  4. Sabit seçeneklerde “parametre seçeneklerini kullan”,
  5. Aynı sorguda lookup JOIN kurulabiliyorsa “sorgu ile seçenek başlığını al”
  6. Farklı sunucu gerekiyorsa “parametre sorgusu sonrası”;
  7. standardize haritada DB karşılıkları tutuluyorsa “veritabanı eşleşmesini kullan” yöntemini seçin.

                      // bu sql kurguları arka planda çalışmaktadır.
                      
SELECT
H.CinsiyetId,
C.Name AS label
FROM [HBYS].[GeneralSchema].[Hasta] H
LEFT JOIN [HBYS].[GeneralSchema].[Cinsiyet] C ON C.Id = H.CinsiyetId
WHERE H.Id = '12345'
Yönetim sayfaları arası örnek akış

Uçtan uca örnek akış

Adım Yönetim sayfası Kontrol
1 Veritabanı Haritası Yönetim Sayfası Aktif harita, tekil ad ve gerekiyorsa uzak Wtransfer domaini
2 Sunucu Yönetim Sayfası Aktif node, IP/domain, bağlantı sırası, mantıksal grup ve gerçek DB adı
3 Katman Yönetim Sayfası Sunucu/veritabanı grubu, ana tablo, primer/offset kolon ve katman ağacı
4 Katman Parametresi Yönetim Sayfası Tablo+kolon veya select SQL; select tipinde doğru seçenek yöntemi
Kaydetmeden önce: Gizli alanlarda eski değer kalmadığını, SQL ifadelerinin hedef veritabanında doğrulandığını, parola bilgilerinin dokümana veya AI sohbetine yazılmadığını ve aktif kullanılmayan parametrelerin ekranda bulunmadığını kontrol edin.
Hazır Db Map Kur

Hazır veritabanı haritası kurulumu

WisdomEra tarafından sistem kurulumu ile sunulan veritabanı haritalarının eşleştirilerek kullanılacağı süreçleri kapsar. Veritabanı haritası, kullanıcının seçtiği dilde kurulur. Kurulum modu iki şekilde belirlenebilir.

Otomatik ürün güncelleme

WisdomEra tarafından yayımlanan güncellemelerle yeni katmanlar, parametreler ve seçenekler gelebilir. Bu mod, standart veri entegrasyon modelinin otomatik güncel tutulması için uygundur. Katman ve parametre yapıları kullanıcı tarafından değiştirilemez.

Manuel yönetim

Harita kurulduktan sonra tüm düzenlemeler kullanıcı tarafından yapılabilir; yeni katman ve parametreler eklenebilir. Bu modda WisdomEra güncellemeleri haritaya otomatik olarak uygulanmaz.

Veritabanı harita ayarlarını oluştur

Canlı konfigürasyonu oluşturma

Bu buton; sunucu eklemeleri, katman ayarları ve parametre ayarları temel alınarak hedef konfigürasyonu canlıda kullanılabilecek biçime dönüştürür.

Sunucu, katman ve parametre çalışmalarını tamamla
Veritabanı harita ayarlarını oluştur
Güncel haritayı kullan
Önemli: Bu işlem tetiklenene kadar yapılan değişiklikler aktif moda geçmez. Böylece devam eden çalışmalar, çalışan konfigürasyonu bozmaz.

Çalışmalar tamamlandıktan sonra butona tıklanarak yeni konfigürasyon oluşturulur ve veritabanı haritası güncel biçimiyle kullanıma alınır.

Seçenekleri güncelle

Parametre seçeneklerini güncelleme

Bu buton, veritabanı haritasındaki seçenekli parametrelerden seçenek kaynağı parametre sorgusu ile olanların sunucularda yeni üretilmiş etiketlerini günceller.

Seçenekli parametreleri belirle
Yeni etiketleri sunucularda sorgula
Parametre seçeneklerini yenile
Bu işlem normalde arka planda otomatik olarak yürütülür. Zamanlanmış çalışmayı beklemek istemeyen kullanıcı, güncellemeyi bu butonla doğrudan tetikleyebilir.
Bu sunucu ayarlarını yapılandırma için kullan

Örnek yapılandırma sunucusunu seçme

Veritabanı haritasında veritabanı gruplarını belirleme, tablo seçme ve kolon seçme işlemlerinin örnek bir sunucu üzerinden yürütülmesi gerekir. Bu nedenle harita oluşturulduktan sonra, veritabanı, tablo ve kolon yapılarında seçim yapabilmek için önce bir sunucu eklenir.

Sunucu ekle
Yapılandırma sunucusunu seç
Veritabanı, tablo ve kolonları seç
Gerekirse sunucuyu değiştir

Bu butona tıklandığında ekrandaki veritabanı, tablo ve kolon seçimleri ilgili sunucuyu örnek alır. Katman ayarlarında başka bir veritabanı sunucusunun örnek alınması gerekiyorsa ilgili sunucu seçilir ve butona yeniden tıklanır.

Wtransfer sorgusu oluşturma ekranı

Katman ve parametre ayarlarını test etme

Bu ekran, oluşturulan katman ve parametre ayarlarını test etmek için kullanılır. Önce yapılandırmada kullanılacak sunucu seçilir. Seçilen sunucu üzerinde ana kural ve kolon kuralları, belirtilen limit ile sorgulanabilir.

Yapılandırma sunucusunu seç
Ana kuralı ve kolon kurallarını uygula
Belirlenen limit ile sorgula
Üretilen SQL sorgularını incele
Üretilen SQL sorguları görüntülenip kontrol edilerek katman ve parametre ayarlarının doğru yapılıp yapılmadığı kolayca doğrulanabilir.