Precision Healthcare Solutions
CLINICAL OFFICE MPAGE SUITE DEVELOPER REPORTS DESIGNER shopping_cart mail
SALES CONTACT US
Getting StartedCerner SetupDeveloper PC SetupGitHub Project TemplatesFull Page DeploymentWorkflow ComponentsComponents & DirectivesButtonConfirm DialogDate Range PickerDrop-DownEmbedded WorkflowIconInputLogOptional TitlePatient SearchPrevent ScrollRadio ButtonsRemaining Screen SpaceResize ObserverScroll BarSelectTabbed MenuTableTreeModels & ServicesAddressAllergyCerner FunctionsCode ValueConfigCustom Custom Data DMInfoDiagnosisDialogEncounterLicenseMPageOrganizationPersonPersonnelPhoneProblemReferenceUtility

Cerner Setup

CCL Script Import

All Clinical Office: MPage Suite products (Developer, Reports and Designer) collect information from Cerner through our base CCL script repository. Some products such as MPage Reports and MPage Designer may require additional scripts found in product specific repositories.

Our CCL repository has been packaged to make installation as simple as possible. The CCL repository contains many runtime CCL scripts that have been combined into a single installation file called 1co5_mpage.prg. In addition to the base runtime script, several template scripts are also included in the repository to help you get started with your custom CCL scripts.

  1. Your first step is to download the CCL scripts from the https://github.com/clinicaloffice/clinical-office-mpage-suite-ccl-5 GitHub repository.
  2. Import and compile 1co5_mpage.prg in your Cerner environment with DiscernVisualDeveloper. The remaining CCL scripts are for reference only, and their usage is described in the documentation for the services or components that require their use.
  3. From a back-end CCL session, execute the following command. This will create the Clinical Office custom table CUST_CO_REFERENCE.
    1co5_custom_tables:group1 "C" go
    If you are working in a multi-node Cerner domain such as a production domain, open back-end CCL sessions in every node except the first node you issued the last command in and run the following statement to update the reference to your new table.
    1co5_custom_tables:group1 "O" go
    Some clients may be a little concerned with the creation of a custom table. This process is completely normal and well documented by Oracle Cerner at https://wiki.cerner.com/display/public/1101discernHP/SELECT+INTO+TABLE+Table_Name+Using+Discern+Explorer
  4. Cycle servers 58, 79, 178 and 179.

Clinical Office: MPage Developer Setup and Configuration

To simplify the installation of your custom MPages, we have developed a management MPage that can be added to DA2 or run through discernoutputviewertester.exe.

The CCL GitHub repository (or zip file) contains a sub-folder called clinical-office-mpage-setup. This folder contains a compiled MPage responsible for MPage Developer configuration. Copy this folder to I:\Winintel\Static_Content\custom_mpage_content and refresh the custom_mpage_content directory from the MPages Static Content Management Page.

You can determine the address of the manager page with the following CCL code:

select manager_url = build(info_char,"/manager")
from dm_info where info_domain = "INS" and info_name = "CONTENT_SERVICE_URL"
with maxrec=1

It is recommended that you add 1co5_mpage_setup to an administrator folder on DA2, however it can be run ad-hoc from discernoutputviewertester.exe. Unfortunately, support for DiscernVisualDeveloper is not yet available as DiscernVisualDeveloper still runs output through Internet Explorer.

The setup MPage performs writes to the DM_INFO table when adding Cerner Workflow component links. For this reason, ensure that you have assigned a server with write capabilities to your report through the properties setting in DA2.

To run this MPage, execute 1co5_mpage_setup:group1, and you will be redirected to the MPage. For now, you will just see a menu bar.

A brief description of each menu item is shown below. Extensive details are available in specific task documentation (e.g. setting up workflow components).

Menu Item Description
Component Summary Links a Bedrock defined MPage component to the URL of the MPage code.
Service Directory Lists the location of the Discern Web Services install useful for setting up an Angular proxy or if running your MPage outside Cerner.
Manager Launches the Cerner MPages Static Content Management Page allowing you the ability to quickly refresh content on the JVM.
MPages Web Service Launches the Cerner Discern MPages web page. You typically won't need to use this, however, it is helpful for troubleshooting connection issues.

CCL Script Revision History

Scripts are released, the GitHub repository and zip file will be updated. Each update will be listed in the revision history shown below.
Description Revision Date
Initial Release November 2, 2025

Cerner Workflow MPage Component Support

You can create Cerner workflow MPages with MPage Developer. This involves making two small modifications to I:\Winintel\Static_Content\custom_mpage_content\custom-components\css\custom-components.css and I:\Winintel\Static_Content\custom_mpage_content\custom-components\js\custom-components.js.

Note: These changes only need to be performed once per Cerner domain.

In the custom-components.css file, add the following code at the very top of the script. This will include the Material Icons font used in MPage Developer.

@font-face {
	font-family: 'Material Icons';
	font-style: normal;
	font-weight: 400;
	src: url(materialicons.woff2) format('woff2');
}

Copy the file named materialicons.woff2 into the same folder as the custom-components.css file. You can find materialicons.woff2 in the CCL scripts GitHub repository/Zip file.

Add the following code to custom-components.js to add MPage Developer support.

Note: If you are running a previous version of Clinical Office: MPage Developer, remove the existing MS Edge setup before adding this code as it uses the same name space. This code will work with the new components as well as older Edge components using Clinical Office version 4.
// **************************************************
// Begin Clinical Office: MPage Developer Integration
// **************************************************
MPage.namespace("clinical_office.mpage_component");

clinical_office.mpage_component = function () {};
clinical_office.mpage_component.prototype = new MPage.Component();
clinical_office.mpage_component.prototype.constructor = MPage.Component;
clinical_office.mpage_component.prototype.base = MPage.Component.prototype;
clinical_office.mpage_component.prototype.init = function () {
    var component = this;
    var compId = component.getComponentUid();
    component.cclProgram = "1co5_mpage_component:group1";
    component.cclParams = [this.getProperty('headerTitle')];
};

clinical_office.mpage_component.prototype.render = function () {
    var component = this;
    var compId = component.getComponentUid();
    var target = component.getTarget();

    if (this.data.response != undefined) {
        if (this.data.response.successInd == 1) {
            var cComponentUrl = this.data.response.url + '/' + this.data.response.component + '.js';

            const script = document.createElement('script');
            script.src = this.data.response.url + '/' + this.data.response.component + '.js';
            script.async = true;

            document.head.appendChild(script); // Append the script to the head
            target.innerHTML += '<' + this.data.response.component + ' title="' +
                this.getProperty('headerTitle') + '" path="' +
                this.data.response.url + '"></' + this.data.response.component + '>';
        } else {
            target.innerHTML = '<h2 style="color: red, font-weight: bold">' +
                this.getProperty('headerTitle') + ' has not been properly defined.</h2>';
        }
    }
};
// ************************************************
// End Clinical Office: MPage Developer Integration
// ************************************************

Once you have made the changes, ensure everything is saved and close any applications or windows that have the I:\Winintel\Static_Content\custom_mpage_content\custom-components folder open.

Launch the Clinical Office: MPage Developer Setup and Configuration MPage you added to DA2. Click the Manager button from the menu and locate custom_mpage_content on the management page. Click the Refresh button to move your changes to the JVM.

<< Prev: Getting Started
Next: Developer PC Setup >>
Copyright © 2026 Precision Healthcare Solutions