Cerner CCL (Cerner Command Language)は、Cerner Corporation の第 4 世代のプログラミング言語で、Cerner Discern Explorerで表現されます。[ 1 ] CCL は構造化クエリ言語(SQL) をモデルにしています。すべての Cerner Millennium 医療情報技術ソフトウェアは、CCL/Discern Explorer を使用してCerner Millennium データベースからの選択、挿入、更新、削除を行い、プログラマが Oracle データベースからデータを取得して、ユーザーが表示したいように表示できるようにします。レコード構造やサブルーチンなどの機能により、ユーザーはデータベースからデータを取得し、一時的な構造に格納して操作したり、必要に応じてサブルーチンを使用してコードの特定の部分を実行したりできます。
Complete for CCL (Cerner Command Language) は、Cerner Corporation によって提供されています。
Discern Explorer は、アドホック クエリ、レポート、およびプログラムの作成、実行、分析に使用できる複数のアプリケーションを提供します。これらのアプリケーションにより、プログラムの構築やレポートの設計に必要なスキルセットに柔軟性がもたらされます。Discern Explorer プログラムは、VisualExplorer.exe (VE)、DiscernVisualDeveloper.exe (DVDev)、オペレーティングシステムのコマンドライン エディタ、またはその他のテキスト エディタを使用して作成できます。ExplorerMenu.exe (EM) は、Discern Explorer プログラムをオンデマンドで実行するために使用されます。ExplorerAnalyzer.exe (EA) を使用すると、 RDBMSクエリで使用されるシステム リソースを分析できます。
CCLのHello Worldの例:
echo("Hello World!") を呼び出す gohelloworld2 go プログラムを削除 プログラム helloworld2 を作成します echo("Hello World!") を呼び出す 終わりへhelloworld3 プログラムを削除 プログラム helloworld3 を作成します ペイント call TEXT(1,1, "Hello World!") 終わりへ
プログラム JCMCLASS1A をドロップする プログラム JCMCLASS1A を作成します CREATE CLASS c_pat c_pat クラスは、人口統計メンバーと このクラスを操作するために必要なメソッド。 クラスは、名前空間で示されるメンバーとメソッドを持つオプションのセクションで構成されています。 初期化;クラスコンストラクタ 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 ;プライベートクラスインスタンスメンバ DECLARE _::instance_name = vc レコード _::rec1( 1 資格 2 birth_dt_tm = dq8 2レース = c2 2 宗教 = c2 2年 = i4 2ヶ月 = i4 2日 = i4 ) DECLARE _::set_month(year=i4,month=i4,day=i4) = null call echo(build("class::pvar2="",class::pvar2)) サブルーチン _::set_month(年,月,日) SET _::rec1->year = year SET _::rec1->month = month SET _::rec1->day = day 終了;サブルーチン 終了;クラスコンストラクタ FINAL ;クラスデストラクタ echo(build("final c_pat class instance section:",instance_name)) を呼び出す 終了;クラスデストラクタ コピー=1 終了 GO プログラム JCMCLASS1 をドロップする プログラム JCMCLASS1 を作成します jcmclass1a を実行する;クラス定義をロードする declare c1::i_patient1 = null with class(c_pat) ;クラスc_patから最初のインスタンスを宣言します declare c1::i_patient2 = null with class(c_pat) ;クラスc_patから2番目のインスタンスを宣言します echo(">>>クラス変数") を呼び出す c1::i_patient1.instance_name = "c1::i_patient1" を設定します。 c1::i_patient2.instance_name = "c1::i_patient2" を設定します。 echo(">>>クラスレコードメンバー" を呼び出す c1::i_patient1.rec1->birth_dt_tm = cnvtdatetime("01-JAN-2012 08:30.00") を設定します。 c1::i_patient2.rec1->birth_dt_tm = cnvtdatetime("01-FEB-2013 10:30.00") を設定します。 echo(">>>クラス関数"を呼び出す 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("instance_name="",c1::i_patient2.instance_name)) echorecord(c1::i_patient1.rec1) を呼び出す echorecord(c1::i_patient2.rec1) を呼び出す if ($1=1) call trace(38) endif ;クラス情報を表示する(class(<class_instance>,<class_info_id>[,<mode>])を使用) declare class_info=vc declare cid = i4 cid = 1 に設定します while (cid > 0) class_info = class(c1::i_patient1,cid,1) を設定します。 if (class_info=" ") set cid = 0 else call echo(class_info) set cid=cid+1 endif endwhile cid = 1 に設定します while (cid > 0) class_info = class(c1::i_patient1,cid,3) を設定します。 if (class_info=" ") set cid = 0 else call echo(class_info) set cid=cid+1 endif endwhile set curalias r1 c1::i_patient1.rec1->qual set r1->race="AB" dummyt から nl を選択 詳細 call echo(build("report="",c1::i_patient1.instance_name)) echo(r1->race) を呼び出す カウンターなし call echo(build(">>>>>>>>>>>c1::i_patient1=",c1::i_patient1)) フリーセット c1::i_patient1 フリーセット c1::i_patient2 if ($1=2) call trace(38) endif 終了 GO