In this post, I discuss the things we are considering as we develop an open source proposal. Our decision process is more complex than most other OS companies since we have put over two decades of work building an architecture and wide range of diverse applications that incorporate a patented disruptive technology. I welcome your feedback.
In order to clarify our current mind-set, I've included a brief description of our existing source code modules, data library modules, and spreadsheet models that comprise our software applications. I also describe the basic components of our asynchronous, publisher-subscriber, node-to-node architecture.
Source Code ModulesAll code modules in our applications are written in currently Excel Visual Basic for Applications (VBA), and some also include Visual Basic (VB) routines. These macro modules, along with Excel Active-X user forms, can be converted to .Net without great difficulty (if desired). Following are the functions these modules provide.
Data Source Access
- SQL queries
- XML parsing
- X12 parsing
- HTML parsing
- Other document parsing
- Data transformation
- Consumption of database-generated reports
- Retrieval of documents via hyperlinks
- Access to web sites.
Node-Based Workflow FunctionalityOverview: As described below, our nodes use the CP Split™ technology to separate content from presentation in spreadsheet models. By first sending a report-template file to a subscriber, the data can then be sent in a delimited text file (or an SMS text message, etc.) independent of formulas and graphics. Even greater value is obtained when using a series of nodes to ship data from one person to the next, with each person contributing and using what they can.
The nodes use macro-driven spreadsheet template files. These templates execute specific publisher and subscriber node functions based on the particular models being used for data access/input, processing, delivery, and presentation (reporting). Following describes the basic functionality of the nodes' spreadsheet template models.
Basic Publisher Node FunctionalityThe Publisher Node Template Files (Pub TF):
- Create Content Files, which contain the content (data and information) elements used to generate reports. These files are unique in that they include information conveying the location of each element within predefined formations (patterns) in a spreadsheet used to generate reports (the "destination spreadsheet"). The Publisher Node's Template File (Pub TF) creates these Content Files by first obtaining, transforming, validating, integrating, and analyzing content elements from all required sources. It then conveys the location of the content in the destination spreadsheet by adding metadata or by arranging the content elements in a particular manner.
- Transmit Subscriber Node Template Files (Sub TF), which are described below, to authorized Subscriber Nodes. This is done for new Subscriber Nodes, and when a Sub TF is modified. In addition, Publisher Nodes transmit the Content Files corresponding to each Sub TF, whenever new content or modified is added. This file transmission process is currently done automatically via macros by sending encrypted e-mail attachments through MS Outlook.
- Generate Pub TFs and Sub TFs: Components of a wizard guiding development of template files currently exist.
Basic Subscriber Node FunctionalityThe Subscriber Node Template Files (Sub TFs):
- Consume the Content Files sent from Publisher Nodes by extracting them from the e-mail attachments they receive
- Present interactive, asynchronous, desktop reports, defined by models in the Sub TF, through a Viewer, which applies formatting instruction to the data and information extracted from one or more Content Files.
Rules/AlgorithmsThe Pub TFs and Sub TFs contain rules (algorithms) that execute logic and computational processes. They are used in conjunction with spreadsheet formulas to provide decision support, alerts, warnings, role-based views, etc.
APIsEnables connectivity with other applications.
Data Library & Content ModulesThese modules contain no programming code.
Master Data Index
- Hierarchical evergreen list of assessment items defining data entered manually and obtained from other sources
- Uses a Dewey Decimal type Indexing system
- Included branching logic to speed manual data entry.
- Original text
- Links to web-based materials
- Incorporation of third party materials.
Types of Content
- Health risk appraisals
- Signs and symptomology (physiological & psychological)
- Life problem assessment
- Emotional health & psychological wellbeing
- Treatment-specific information
- Wellness information
- Mind-body connection
- Demographics and personal history
- Problem management guide
- Decision support and educational materials.
Personal Health Profiler™ Application (the PROFILER)The PROFILER contains spreadsheet models consisting of data sets and rules/algorithms that are used to:
- Associate signs/symptoms with medication side-effects and adverse drug interactions
- Support sick-care diagnosis and treatment decision
- Support well-care health appraisal and intervention decisions
- Assess treatment progress and outcomes
- Assess deviations from evidence-based protocols
- Present role-based views for:
Other Spreadsheet ModelsEvery application has its own spreadsheet model. The next section briefly describes our other applications in healthcare and other industries.
Applications Currently AvailableWe currently have both healthcare and non-healthcare products and prototypes as described below.
The PROFILERThe Personal Health Profiler comes in different versions, which are tailored to the needs of all:
Other Healthcare Applications
- CarePathWays Plus™ (CPW+™)—A clinical pathways application that self-adjusts to diagnostic criteria and provides sophisticated outcomes and variance analyses to drive continuous quality improvement
- CCR+™—A continuity of care record with advanced decision-support for information sharing and care coordination between primary care physicians and specialists working with the same patient
- Care Order Management System™ (COMS™)—Facilitates the establishment, delivery and evaluation of plans-of-care in the trauma center and manages facility resources (including staff, beds, equipment and materials) to help assure patients' receive the care they need
- LifeChart™ tracks and displays concisely, on a pictorial timeline, the relationship between treatments delivered (medications and procedures), patient health status trends (changes in physical and mental health), and influential life events/stressors
- Personalized treatment guidelines/plans based on assessment/diagnostic data
- Care management & advocacy system for helping discharged patients with chronic & severe mental illness receive the services and benefits for which they are entitled.
Non-Healthcare ApplicationsInclude diverse software for education, oil exploration, financial services, space exploration, wholesale/retail.
Our Proposed Offer to the OS CommunityBeing there are multiple applications, code modules, content modules and template models, we are considering a stepwise process in which we start by making the basic/core components open source under a suitable OS license (yet to be determined). Then, depending on the response of the OS community, I would consider expanding our offering. Here's what I would like to provide initially, which, of course, may change based on the feedback we receive:
- Since one of our top goals is to offer an exceptionally cost-efficient way to exchange health information in both poor nations that lack a robust communication architecture, as well as more built-up countries, we would offer the source code for our node-to-node (i.e., application-to-application) architecture, which includes our underlying CP Split™ technology patent and e-mail based file sharing.
- Since the clinician version of the PROFILER is more closely related to the OS work being done on EMR/EHRs, we would offer its source code under the same OS license we chose for the Nodes.
Our Request of the OS Community
Source Code DevelopmentI believe there would be real benefit in collaborating to expand and improve the source code of the PROFILER and Node-to-Node architecture. This includes:
- Browser-enabling all functionality
- Improving and expanding the Excel Visual Basic code for asynchronous desktop use
- Establishing connectivity with all EMR/EHR and PHR databases.
Content Modification and Development
- Translate the content modules into other languages
- Create new content, and modify existing content, through collaboration with:
- Clinicians of all types
- Research scientist.
Models DevelopmentShare, use, evaluate and continually improve the spreadsheet template models.
Go to next post