Cerner CCL (Cerner Command Language) es el lenguaje de programación de cuarta generación de Cerner Corporation , que se expresa en Cerner Discern Explorer . [ 1 ] CCL está basado en el lenguaje de consulta estructurado (SQL). Todo el software de tecnología de la información sanitaria Cerner Millennium utiliza CCL/Discern Explorer para seleccionar, insertar, actualizar y eliminar datos de una base de datos Cerner Millennium y permite a un programador obtener datos de una base de datos Oracle y mostrarlos como el usuario desea verlos. Con características como la estructura de registros y las subrutinas, permite a un usuario obtener datos de una base de datos y manipularlos almacenándolos en una estructura temporal; ejecutar una sección particular del código, si es necesario, utilizando una subrutina.
Cerner Corporation ofrece la funcionalidad Complete para CCL (Cerner Command Language) .
Discern Explorer ofrece varias aplicaciones para crear, ejecutar y analizar consultas, informes y programas ad hoc. Estas aplicaciones brindan flexibilidad en las habilidades necesarias para desarrollar programas y diseñar informes. Los programas de Discern Explorer se pueden escribir con VisualExplorer.exe (VE), DiscernVisualDeveloper.exe (DVDev), un editor de línea de comandos del sistema operativo o cualquier otro editor de texto . ExplorerMenu.exe (EM) se utiliza para ejecutar programas de Discern Explorer bajo demanda. ExplorerAnalyzer.exe (EA) permite a los usuarios analizar los recursos del sistema utilizados por las consultas de RDBMS .
Ejemplos de CCL "Hola Mundo":
- Ejemplo 1
llamar eco("¡Hola Mundo!") ir- Ejemplo 2
soltar el programa helloworld2 ir crear programa holamundo2 llamar echo("¡Hola Mundo!") fin ir- Ejemplo 3
Programa de lanzamiento helloworld3 ir crear programa helloworld3 PINTAR llamar TEXT(1,1, "¡Hola mundo!") fin ir
- Ejemplo 4 de clase
ABANDONAR EL PROGRAMA JCMCLASS1A IR CREAR PROGRAMA JCMCLASS1A CREAR CLASE c_pat ;La clase c_pat es un tipo de clase de ejemplo que encapsula los miembros demográficos, así como los ;métodos necesarios para operar en esta clase. ;La clase consta de secciones opcionales con miembros y métodos denotados con un espacio de nombres inicialización; constructor de la clase llamar echo("inicializar sección de clase c_pat") DECLARE _::pvar1 = vc WITH CONSTANT("pvar1 test") ;miembro de instancia de clase (predeterminado si se omite el espacio de nombres) DECLARE class::pvar2 = vc WITH NOCONSTANT("pvar2 test") ;miembro de clase compartido entre instancias DECLARE _::pvar3 = vc WITH CONSTANT("pvar3 test") DECLARE private::pvar4 = i4 ;miembro de instancia de clase privada DECLARE _::instance_name = vc REGISTRO _::rec1( 1 cual 2 birth_dt_tm = dq8 2 razas = c2 2 religión = c2 2 años = i4 2 meses = i4 2 días = i4 ) DECLARE _::set_month(year=i4,month=i4,day=i4) = null llamar echo(build("class::pvar2=",class::pvar2)) SUBRUTINA _::establecer_mes(año,mes,día) ESTABLECER _::rec1->año = año ESTABLECER _::rec1->mes = mes ESTABLECER _::rec1->día = día FIN; subrutina FIN; constructor de clase FINAL; destructor de clase llamar echo(build("sección de instancia de clase c_pat final:",instance_name)) FIN; destructor de clase CON copia=1 FIN IR ABANDONAR EL PROGRAMA JCMCLASS1 IR CREAR PROGRAMA JCMCLASS1 ejecutar jcmclass1a ;cargar definición de clase declare c1::i_patient1 = null with class(c_pat) ;declarar la primera instancia de la clase c_pat declare c1::i_patient2 = null with class(c_pat) ;declarar segunda instancia de la clase c_pat llamar echo(">>>variable de clase") establecer c1::i_patient1.instance_name = "c1::i_patient1" establecer c1::i_patient2.instance_name = "c1::i_patient2" llamar echo(">>>miembro del registro de clase") establecer c1::i_patient1.rec1->birth_dt_tm = cnvtdatetime("01-ENE-2012 08:30.00") establecer c1::i_patient2.rec1->birth_dt_tm = cnvtdatetime("01-FEB-2013 10:30.00") llamar echo(">>>función de clase") llamar a c1::i_patient1.set_month(2012,10,16) llamar a c1::i_patient2.set_month(2012,06,10) llamar echo(build("instance_name=",c1::i_patient1.instance_name)) llamar echo(build("instance_name=",c1::i_patient2.instance_name)) llamar echorecord(c1::i_patient1.rec1) llamar echorecord(c1::i_patient2.rec1) si ($1=1) llamar a trace(38) fin si ;mostrar información de la clase usando class(<class_instance>,<class_info_id>[,<mode>]) declarar class_info=vc declarar cid = i4 establecer cid = 1 mientras (cid > 0) establecer class_info = class(c1::i_patient1,cid,1) if (class_info=" ") set cid = 0 else call echo(class_info) set cid=cid+1 endif fin mientras establecer cid = 1 mientras (cid > 0) establecer class_info = class(c1::i_patient1,cid,3) if (class_info=" ") set cid = 0 else call echo(class_info) set cid=cid+1 endif fin mientras establecer curalias r1 c1::i_patient1.rec1->qual establecer r1->race="AB" seleccionar en nl desde dummyt detalle llamar echo(build("report=",c1::i_patient1.instance_name)) llamar echo(r1->race) sin contador llamar echo(build(">>>>>>>>>>>c1::i_patient1=",c1::i_patient1)) conjunto libre c1::i_paciente1 conjunto libre c1::i_paciente2 si ($1=2) llamar a trace(38) fin si FIN IRReferencias
- Lenguajes de programación de cuarta generación