CP Split™ refers to the unique way our disruptive technology splits content from presentation to simplify, speed and secure information transmission and reporting. We discuss how this technology works to support an interoperable architecture that saves money, time and hassle, while promoting collaborative knowledge-building and decision-making.

December 29, 2006

7. How to CP Split Create Content Configurations

In this post, I discuss CP Split "Content Configurations," which are elements of data and information (content elements) that have been structured in configurations by the Content File Production (CFP) Grid of a node's Publisher Template. One or more of these configurations are transported in a Content File and rendered through the Content File Consumption (CFC) Grid of a node's Subscriber/Presenter Template. Content Configurations are unique to the CP Split technology and are fundamental to its operation.

Creating Content Configurations via the CFP Grid

The image below is an example of a Content Configuration in a Publisher's CFP Grid spreadsheet, which contains Basic Hematology Diff/Morph blood test data. After obtaining the content by querying the original data source, macro routines placed the content elements in their predefined cells.

Grid Framework. The location of each content element in a Content Configuration depends on the CFP Grid's “framework,” which provides a blueprint for the structuring the Content Configurations based on a report's data model. Best practice rules for defining such a framework include the following:

For reports containing charts, the data for the charts should be placed in contiguous cells that have corresponding labels located in the left column and in the row(s) at the top of each column containing data.

If the array contains multiple dates, place them in contiguous cells in ascending or descending time-series order.

Place content sharing the same "domain" of information into contiguous cell ranges. In the image above, the individual lab tests comprising the DIFF/MORPH panel are grouped together in rows 5-18 (with the reference ranges in rows 2-3) and the footnotes are grouped together in rows 21-24.

Use macros to make the cell ranges "dynamic," so they will expand and contract automatically as new content is added or deleted. In the current example, the Content Configuration should be able to expand to the right by adding data into additional contiguous columns of blood test data across time. Note that rows can also be added if, for example, new footnotes are added or new tests were added to the DIFF/MORPH panel.

If the report using the Content Configuration is to have user-interactive views, then operations such as sorting and filtering require a portion of at least one row or column should contain data providing the criteria for executing such functions. In the current example, the lab tests can be sorted alphabetically or filtered using the contents of row, and sorted and filtered by date & time using the contents of columns A & B.

When creating complex or multiple arrays in a single CFP Grid, the cells may be color coded and have notations attached to help visually identify their semantic relationships, which can be done with a few mouse clicks.

Macros and Cell Functions. Macro modules and cell functions are used to place the content elements into the proper cells, which create Content Configuration that are consistent with the defined framework.

Intermediate Grids & Third-Party Applications. Note that there may be intermediate spreadsheet grids. These grids that may work in conjunction with third-party products to process the content elements before storing the results in the CFP Grid. This may include the use of statistical/analytic/data mining tools, inferential logic tools, and text mining and manipulation tools.

Intermediate grids may, for example:

Have a pivot tables that computes aggregate data by multiple dimensions (as per OLAP views). The resulting aggregate data values and their labels can then be placed in a Content Configuration through the CFP Grid to enable rapid data slicing & dicing and interactive digital dashboard reports that are fully operational even when offline.

Exchange data with a statistical package via an API connection and receive from them statistical values that are placed into the Content Configuration(s).

Place hyperlinks, text from concept extraction tools, proofs from a Prolog-based applications, etc. into the Content Configuration.

Temporarily store data obtained from multiple Content Files and other sources, which are later combined into Content Configuration for composite reports.

Be used to store lists that populate menus in forms, hold data that signal the execution of specific macro functions when certain conditions are met.

Hold data input via forms temporarily, before placing them in a Content Configuration.

Placing Content Configurations into a Content File

Once the CFP Grid's cells are populated with content, a macro places the Content Configurations into a Content File. The image below shows a Content File in comma delimited value (CSV) format with the Content Configuration from the blood test example. In it, a comma separates each column and a line break (not visible) separates each row. [Note that since Microsoft Excel was used, the dates and times were automatically converted to their date & time value equivalents.]

While there are many different ways to convey Content Configurations in a Content File, converting an exact replica of the configurations in CSV format, as done here, is the most efficient.

Note even though the labels ("DIFF/MORPH:", "Ref. Range", "Date", "Time", "Polys", "Bands", etc.) have been added to the Content File above, it is not necessary to include them since the labels already appear in the Subscriber/Presenter Template as discussed below.

Consuming Content Configurations via the CFC Grid

The image below is a Subscriber's CFC Grid spreadsheet before it is populated with the Content Configurations. Note the cell locations of the CFC Grid match the CFP Grid exactly, although the Content Configurations may be placed anywhere in the CFC Grid.

The graphic below shows the CFC Grid spreadsheet after macros in the Subscriber/Presenter Template populated it with the Content Configurations from the Content File it received.

Presenting the Reports

It's now time for the Subscriber/Presenter Template's presentation functions to generate reports by rendering the Content Configurations now stored in the CFC Grid spreadsheet. This is done by accessing content elements from the cells of the CFC Grid and formatting them for viewing and printing. This presentation process is executed via macros and cell functions, which may operate with third-party products via APIs for other visualizations, as well as using chart sheets and formatted spreadsheets.

For example, the image below shows a section of a spreadsheet used to display the blood test results. It contains the formatted labels for the report -- created by merging certain cells, adding color to certain cells, as well as selecting fonts and alignment options -- but has not yet been populated with the Content Configuration values residing in the CFC Grid. Note that it also has two Active-X "Graph" buttons, which generate charts.

The image below shows the same spreadsheet after a macro located the content elements from the Content Configuration, based on their cell positions in the CFC Grid, and placed the values in the proper cells.

Notice that the certain cells have been colored dark blue and red to indicate values above and below the reference range. These colors were added automatically at run time via the "conditional formatting" functions of the spreadsheet cells, which associate specific colors with value outside the reference ranges.

And this final graphic (below) visualizes the Lymph data over time in a chart, which was done by pre-configuring a chart sheet to access and format a data series in rows 1, 2 and 5 of the CFC Grid spreadsheet.

I had missed the comment posted earlier this year by sanjenjole, so I'm replying now.

The data presentation desscribed in this post refers to how the CP Split method uses spreadsheet templates and CSV file to exchange data files and generate reports from those data. The underlying code DOES support absolute paths, parent directories, subfolders, etc. when retreiving the data and template files. Such paths are also supported when quering the orginal data sources.