Cerner CCL - Cerner CCL

Cerner CCL (язык команд Cerner) это Cerner Корпорация четвертого поколения язык программирования, который выражается в Cerner Различный исследователь решение.[1] CCL построен по образцу Структурированный язык запросов (SQL). Все решения Cerner Millennium в области информационных технологий здравоохранения используют CCL / Discern Explorer для выбора, вставки, обновления и удаления из базы данных Cerner Millennium. CCL позволяет программисту извлекать данные из базы данных Oracle и отображать их так, как хочет пользователь. Благодаря таким функциям, как Структура записи и подпрограммы, он позволяет нам получать данные из базы данных и манипулировать ими, сохраняя их во временной структуре; выполнить определенный раздел кода, если требуется, с помощью подпрограммы.

Полный для CCL (Cerner Command Language) предоставляется Cerner Корпорация.

Discern Explorer предоставляет несколько приложений, которые можно использовать для создания, выполнения и анализа специальных запросов, отчетов и программ. Эти приложения обеспечивают гибкость набора навыков, необходимых для создания программ и разработки отчетов. Программы Discern Explorer могут быть написаны с использованием VisualExplorer.exe (VE), DiscernVisualDeveloper.exe (DVDev), редактора командной строки операционной системы или любого другого текстового редактора. ExplorerMenu.exe (EM) используется для выполнения программ Discern Explorer по запросу. ExplorerAnalyzer.exe (EA) позволяет пользователям анализировать системные ресурсы, используемые СУБД запросы.


Примеры CCL Hello World:

Пример 1
вызовите эхо ("Hello World!") иди
Пример 2
удалить программу helloworld2 gocreate программу helloworld2 call echo ("Hello World!") end go
Пример 3
удалить программу helloworld3 gocreate программу helloworld3 PAINT call TEXT (1,1, "Hello World!") end go
Пример 4 пример класса
 DROP PROGRAM JCMCLASS1A GO CREATE PROGRAM JCMCLASS1A CREATE CLASS c_pat; Класс c_pat является примером типа класса, который инкапсулирует демографические члены, а также методы, необходимые для работы с этим классом. ; Класс состоит из необязательных разделов с членом и методами, обозначенными пространством имен init; вызов конструктора класса echo ("init c_pat class section") DECLARE _ :: pvar1 = vc WITH CONSTANT ("pvar1 test"); член экземпляра класса (по умолчанию если пространство имен опущено) DECLARE class :: pvar2 = vc WITH NOCONSTANT ("pvar2 test"); член класса, совместно используемый экземплярами DECLARE _ :: pvar3 = vc WITH CONSTANT ("pvar3 test") DECLARE private :: pvar4 = i4; private class член экземпляра DECLARE _ :: instance_name = vc RECORD _ :: rec1 (1 qual 2 Birth_dt_tm = dq8 2 race = c2 2 Relief = c2 2 year = i4 2 month = i4 2 day = i4) DECLARE _ :: set_month (year = i4, month = i4, day = i4) = null call echo (build ("class :: pvar2 =", class :: pvar2)) SUBROUTINE _ :: set_month (год, месяц, день) SET _ :: rec1-> год = год SET _ :: rec1-> месяц = ​​месяц SET _ :: rec1-> день = день END; подпрограмма ine END; конструктор класса FINAL; вызов деструктора класса echo (build ("final c_pat class instance section:", instance_name)) END; деструктор класса WITH copy = 1 END GO DROP PROGRAM JCMCLASS1 GO CREATE PROGRAM JCMCLASS1 execute jcmclass1a; объявление определения класса загрузки c1 :: i_patient1 = null с классом (c_pat); объявить первый экземпляр из класса c_pat объявить c1 :: i_patient2 = null с классом (c_pat); объявить второй экземпляр из класса c_pat call echo (">>> переменная класса") установить c1 :: i_patient1.instance_name = "c1 :: i_patient1" set c1 :: i_patient2.instance_name = "c1 :: i_patient2" call echo (">>> член записи класса") 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) call c1 :: i_patient2.set_month (2012,06,10) call echo (build ("instance_name =", c1 :: i_patient1.instance_name)) call echo (build ("inst ance_name = ", c1 :: i_patient2.instance_name)) вызов echorecord (c1 :: i_patient1.rec1) вызов echorecord (c1 :: i_patient2.rec1) if ($ 1 = 1) вызов trace (38) endif; отображение информации о классе с использованием class (,  [, ]) declare class_info = vc declare 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 while 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" выбрать в nl из фиктивного детального вызова echo (build ("report =", c1 :: i_patient1.instance_name)) вызвать echo (r1-> race) с помощью nocounter call echo (build (">>>>>>>>>>> c1 :: i_patient1 =", c1 :: i_patient1)) свободный набор c1 :: i_patient1 свободный набор c1 :: i_patient2 if ($ 1 = 2) call trace (38) endif END GO

Рекомендации

  1. ^ Создание отчетов и запросов с использованием Cerner DVDev, CCL и Layout Builder: Discern Visual Developer Release 2008.01. Платформа независимых публикаций CreateSpace (27 апреля 2010 г.). 27 апреля 2010 г. 388 стр. ISBN  145281368X.