Cerner CCL - Cerner CCL

Cerner CCL (Cerner buyruq tili) bo'ladi Cerner To'rtinchi avlod korporatsiyasi dasturlash tili, bu Cernerda ifodalangan Explorer-ni ajratib oling yechim.[1] CCL-dan keyin naqshlangan Tuzilmaviy so'rovlar tili (SQL). Cerner Millennium sog'liqni saqlash bo'yicha barcha texnologik echimlar Cerner Millennium ma'lumotlar bazasini tanlash, kiritish, yangilash va o'chirish uchun CCL / Discern Explorer-dan foydalanadi. CCL dasturchiga Oracle ma'lumotlar bazasidan ma'lumotlarni olish va ularni foydalanuvchi ko'rishni xohlagan tarzda namoyish qilish imkoniyatini beradi. Yozuvlar tuzilmasi va subproutines kabi xususiyatlar yordamida ma'lumotlar bazasidan ma'lumotlarni olish va ularni vaqtincha tuzilishda saqlash orqali boshqarishimiz mumkin; agar kerak bo'lsa subroutine yordamida kodning ma'lum bir qismini bajaring.

Bajarildi uchun CCL (Cerner Command Language) tomonidan taqdim etilgan Cerner Korporatsiya.

Discern Explorer maxsus so'rovlar, hisobotlar va dasturlarni yaratish, bajarish va tahlil qilish uchun ishlatilishi mumkin bo'lgan bir nechta dasturlarni taqdim etadi. Ushbu dasturlar dasturlarni tuzish va hisobotlarni loyihalashtirish uchun zarur bo'lgan mahorat to'plamida moslashuvchanlikni ta'minlaydi. Discern Explorer dasturlari VisualExplorer.exe (VE), DiscernVisualDeveloper.exe (DVDev), operatsion tizim buyruq qatori muharriri yoki boshqa har qanday matn muharriri yordamida yozilishi mumkin. ExplorerMenu.exe (EM) Discern Explorer dasturlarini talabga binoan bajarish uchun ishlatiladi. ExplorerAnalyzer.exe (EA) o'z foydalanuvchilariga foydalanadigan tizim resurslarini tahlil qilishga imkon beradi RDBMS so'rovlar.


CCL Hello World misollari:

1-misol
echo ("Salom Dunyo!") ga qo'ng'iroq qiling
2-misol
tomchi dastur helloworld2 gocreate helloworld2 chaqiriq echo ("Salom Dunyo!") tugatish
3-misol
tomchi dastur helloworld3 gocreate dasturi helloworld3 PAINT call TEXT (1,1, "Hello World!") end go
Misol 4 sinf namunasi
 DROP PROGRAM JCMCLASS1A GO CREATE PROGRAM JCMCLASS1A CREATE CLASS c_pat; c_pat klassi demografik a'zolarni va shu sinfda ishlash uchun zarur bo'lgan usullarni o'z ichiga olgan; ; Sinf a'zosi bo'lgan ixtiyoriy bo'limlardan va nom maydoni bilan belgilangan usullardan iborat; sinf konstruktorining chaqirig'i echo ("init c_pat class section") DECLARE _ :: pvar1 = vc WITH CONSTANT ("pvar1 test"); class instant member (default) agar nom maydoni bo'shatilgan bo'lsa) DECLARE class :: pvar2 = vc WITH NOCONSTANT ("pvar2 test"); sinf a'zolari misollar bo'yicha bo'lishgan DECLARE _ :: pvar3 = vc WITH CONSTANT ("pvar3 test") DECLARE private :: pvar4 = i4; xususiy sinf instansiya a'zosi DECLARE _ :: instance_name = vc RECORD _ :: rec1 (1 malakali 2 tug'ilgan_dt_tm = dq8 2 irqi = c2 2 din = c2 2 yil = i4 2 oy = i4 2 kun = i4) DECLARE _ :: set_month (yil = i4, month = i4, day = i4) = null chaqiriq echo (build ("class :: pvar2 =", class :: pvar2)) SUBROUTINE _ :: set_month (yil, oy, kun) SET _ :: rec1-> yil = yil SET _ :: rec1-> oy = oy SET _ :: rec1-> kun = kun END; pastki dastur ine END; sinf konstruktori FINAL; sinf destruktori chaqiriq echo (build ("final c_pat class instally section:", instance_name)) END; class destructor WITH copy = 1 END GO DROP PROGRAM JCMCLASS1 GO CREATE PROGRAM JCMCLASS1 execute jcmclass1a; load class definition e'lon c1 :: i_patient1 = null sinf bilan (c_pat); birinchi instansiyani c_pat sinfidan e'lon qiling c1 :: i_patient2 = null sinf bilan (c_pat); ikkinchi darajani c_pat dan chaqiring echo (">>> sinf o'zgaruvchisi") c1 ni o'rnating :: i_patient1.instance_name = "c1 :: i_patient1" set c1 :: i_patient2.instance_name = "c1 :: i_patient2" call echo (">>> class record member") set c1 :: i_patient1.rec1-> birth_dt_tm = cnvtdatetime ("01-JAN-2012 08: 30.00") set c1 :: i_patient2.rec1-> birth_dt_tm = cnvtdatetime ("01-FEB-2013 10: 30.00") call echo (">>> class function") call c1: : i_patient1.set_month (2012,10,16) chaqirish c1 :: i_patient2.set_month (2012,06,10) chaqirish echo (build ("instance_name =", c1 :: i_patient1.instance_name)) echo (build ("inst) ance_name = ", c1 :: i_patient2.instance_name)) echorecord-ga qo'ng'iroq qiling (c1 :: i_patient1.rec1) echorecord-ga qo'ng'iroq qiling (c1 :: i_patient2.rec1), agar ($ 1 = 1) trace (38) endif chaqirsa; sinf ma'lumotlarini ko'rsatish (,  [, ]) class_info = vc e'lon cid = i4 set cid = 1 while (cid> 0) set class_info = class (c1 :: i_patient1, cid, 1) if (class_info) = "") set cid = 0 else call echo (class_info) set cid = cid + 1 endif end set set cid = 1 while (cid> 0) set class_info = class (c1 :: i_patient1, cid, 3) if (class_info = "") set cid = 0 else call echo (class_info) set cid = cid + 1 endif end while set curalias r1 c1 :: i_patient1.rec1-> qual set r1-> race = "AB" dummyt dan nl-ga tanlang batafsil qo'ng'iroq echo (build ("report =", c1 :: i_patient1.instance_name)) nocounter call echo bilan echo (r1-> race) chaqiring (build (">>>>>>>>>>> c1 :: i_patient1 =", c1 :: i_patient1)) free set c1 :: i_patient1 free set c1 :: i_patient2 if ($ 1 = 2) call trace (38) endif END GO

Adabiyotlar

  1. ^ Cernerning DVDev, CCL va Layout Builder-dan foydalangan holda hisobot va so'rovlarni yaratish: Visual Developer Release 2008.01-ni ko'ring.. CreateSpace mustaqil nashr platformasi (2010 yil 27 aprel). 2010 yil 27 aprel. 388 bet. ISBN  145281368X.