Tolven EHR 2008 Review

From GPLMedicine

Contents

Tolven EHR 2008

History and Trademark of Tolven

The Tolven Institute in collaboration with Open Source developers around the world. Tolven is a Californian based corporation founded as Tolven Incorporated in February 2006. Tolven trademark is owned by Tolven Inc.

Tolven Websites

  • Main page [1]
  • Support Forum [2]

Demo Tolven

  • Click Here to Demo Tolven [3]

Supported Platforms

  • Windows
  • Linux

Minimum Requirements for Installation

  • CPU Processor - 1GHZ or better
  • RAM - 256 MB or more
  • Hard Drive - 40 GB or larger

Tolven Installation

  • Installation was done on a Windows XP Operating System

Tolven Installation Procedure

* Installation Guide [4]

Preparation for the New Binary Installation on Windows

  1. Install Java JDK 1.6.0_02 [5]
  2. Install PostgreSQL 8.1 [6]
  3. Install openLDAP 2.2.x [7] LINUX [8]
  4. Install JXplorer [9]
  5. Install Tolven* 1.1.0.beta2a [10]

Upgrading a previous version of the Tolven database

  • Refer to the upgrade [11] page for any required scripts to upgrade the database.

Installing Java SE Development Kit

  • Install the Java JDK if you don't have it installed already. Tolven requires version 1.6.0 or newer. The JDK location is your choice, I prefer something like this (depending on the version):
     c:\jdk1.6.0
  • This kit will also install the corresponding Java Runtime (JRE) - this is the JRE that JBoss will use. I usually accept the default location for the JRE. Tolven does not use any applets or Java-based browser plugins.
  • After installing Java, the JAVA_HOME environment variable should point to this (new) JDK. You can verify this on Windows as follows:
     Start > Control Panel > System > Advanced > Environment Variables 

Installing PostgreSQL

  • The PostgreSQL documentation describes building PostgreSQL from source but that is not needed for Tolven. The binary kit is adequate.
  • Unzip postgresql-8.2.3-1.zip (or the current version of the Windows version of postgreSQL) into a temporary location such as
     c:\download\postgres
  • Section - Service Configuration dialog - I've accepted the account name, supplied a password of postgres, and have asked for postgres to be installed as a service.
  • Section - Initialize database cluster - Make sure "Initialize Database Cluster" is checked and change the encoding to UTF-8
     Provide a password of postgres for the default database super user postgres. This means we'll have a database named postgres and a super user named postgres
     (Use this default password to avoid additional steps in the configuration process)
  • Section - Enable Procedural Languages - Leave as default
  • Section - Enable Contrib Modules - Leave as default
  • At this point, the installation should be done.
  • We need to shutdown the database and configure the security.
  • Run the PGadminIII tools program - This tool will allow you to start and stop the database server when the time comes and to look at the database contents.
     To connect to the database, provide the super user and password. I used postgres for the username and password.
  • The postgres installation is complete. We'll add some configuration shortly: digital certificates for secure communication via SSL.
  • Now that you've had a look around the empty database, we will stop the database server: Right Click ---> Stop Service

Configuring PostgreSQL

  • In a later step, the Tolven configuration Manager will add add SSL certificates to the postgres directory and add schemas to the PostgreSQL database
  • Here, you must configure postgreSQL to use SSL.
  • Use Notepad or wordpad to modify postgreSQL/8.2/data/pg_hba.conf to allow network access to the database. JDBC, even from localhost, requires network access to the database. Documentation is included in that file. The uncommented line should look something like this:
     # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
     host    postgres    postgres    127.0.0.1/32          md5 
  • You are done with the pg_hba.conf file although remember to change this file if you need to access postgreSQL from clients not on localhost.
  • Next, edit the postgreSQL/8.2/data/postgresql.conf file so that its security configuration enables SSL.
  • In the postgresql.conf file this line
     # ssl = off 
  • should be changed to
     ssl = on 
  • (remove the # and change off to on)

Installing openLDAP

  • Installing openLDAP is straightforward. We expect many Tolven installations will have an existing production LDAP.
  • Yet for this step, you will be installing openLDAP.
     It will be configured to use port 636 (ldaps) and digital certificates for mutual authentication between it and the application server.
  • Change the openLDAP installation directory to:
     c:\OpenLDAP
  • Section - Select Components - You must NOT select the option to install openLDAP as a service. By default, LDAP is installed using the unencrypted port which we will reconfigure to be encrypted.

Installing LDAP Viewer - JXplorer

Note:  This step is not required but is desirable in order to view LDAP contents
  • I've chosen to install JXplorer to:
     c:\JXplorer
  • Section - Shortcut Folder - Leave as default
  • Everything should be straightforward. Nothing needs to be changed an altered. The defaults should be fine.

Installing Tolven

  • The Tolven installer is shipped as an executable Jar file and is platform-independent and runs on both 32- and 64-bit hardware and operating systems.
  • If not already done for you, double click or run the Tolven installer from the command line:
     java -jar <download-directory>/tolven-1.1.0.beta2a.jar
  • Accept the default and press OK.
  • Several obvious dialogs are presented, including where you want to install Tolven. All defaults should be fine.
  • At the conclusion of the install, a Tolven shortcut group will be added to the Start Menu. The Tolven installation is complete.
     You should be aware that the Tolven installation will create two directories. One is the Tolven software, including the application server. The other is a configuration directory. 
     Once installed, the configuration directory will not be overwritten by subsequent installations. However, over time, many different Tolven installation directories will be created. 
     You may delete obsolete installations without affecting the Tolven configuration directory. 

Run the Tolven Configuration Manager

  • The Tolven Configuration Manager is a Swing-based GUI that is responsible for managing most system-wide configuration tasks:
   * Generating and deploying credentials needed for secure communication between each of the systems components.
   * Generating and deploying security-related files needed by the application server.
   * Testing connections to the database server, the LDAP server, and the application server.
   * Creating the database schema (but not the tables) and indexes
   * Creating and deploying general and security-related runtime properties
   * Creating the "user" that brokers JMS messages
   * Configuring password-recovery questions
   * Controlling processing queues
  • From the Tolven menu under All Programs in the Start Menu, select Configuration Manager.
  • In general, the Configuration Manager follows a two-phase setup + deploy pattern.
  • In other words, you will be given the chance to see what is going to happen to directories outside of the tolven-config directory before any changes are actually deployed to those directories (or to the database).
  • A status column will inform you if the target is currently out of date or not and if the configuration tool is unable to determine the status of the target.
     Note: For security reasons, this GUI-based tool must also be used on Linux (there is no command-line equivalent).

Tolven Config. Manager - Login

  • Tolven needs a lot of passwords that protect things such as private keys, access to the database and ldap tools, etc.
  • Rather than ask for each of these passwords each time they are needed by the Configuration Manager, they are typically stored in a secure file called a key store.
  • This entire key store is itself protected by a password.
  • When prompted, enter a group id of admin and enter the admin password which is sysadmin by default.
If you choose not to answer these questions, the Configuration Manager will ask you for individual passwords as they are needed (you will quickly find this tedious). 

Tolven Config. Manager - Credentials

Note:  At this time, the Tolven application server, openLDAP, and PosgreSQL servers should not be running. If they are, you should stop them. 
  • Go to:
     Credential Generation Tab
  • In short, this step will create a public key infrastructure so that the database, LDAP and application server can communicate with each other with mutual authenticated ssl certificates.
  • All of this will be created in a staging area under c:\tolven-config without actually changing any of the components.
  • At the completion of this step, you can peruse the credentials prior to deploying them.
  • Each group represents a server, client or some other entity and provides it with a public certificate to identify itself, public/private keys for encryption and signing and keystores for use in SSL communication, for example.
  • You must exit and restart the Configuration Manager so that it can use the credentials just created.
  • This one-time step creates a certificate authority (like a mini-Verisign) and issues certificates in order to support the following Tolven security topology.
  • While this is a real public key infrastructure, the root authority is self-signed since a real root certificate would need to be purchased from a commercial source.
  • Press the Deploy Credentials Button

Start openLDAP

 This step only needs to occur once for a tolvenLDAP server.  
  • Copy the contents of the <tolven-install>/examples/openldap directory to your openLDAP installation directory. At least one of the files (slapd.conf) will replace an existing file.
  • Create a new directory to hold the tolven LDAP data
     c:\openLDAP> md tolvendata 
  • Add the root elements into this new LDAP database
     c:\openLDAP> slapadd -f slapd.conf -l tolveninitial.ldif
  • Now it's time to start openLDAP
  • Create a desktop icon that will run openLDAP:
     Right mouse on the desktop, select New > Shortcut.
  • We want ldap to listen on the secure port (636) ldaps:// so the target should look like this:
     C:\OpenLDAP\slapd.exe -f slapd.conf -h ldaps://     
  • Once you have made the shortcut, click OK to ave the shortcut
  • Now double click the desktop shortcut to start LDAP
  • openLDAP will prompt you for the pass phrase used to protect its private key.
     I selected tolven as a pass phrase (password) during security configuration. 
  • Enter that password and after hitting enter, LDAP should be running.3
  • Once openLDAP is running, you must keep it open while running Tolven.

Starting PostgreSQL

  • At this point, you can start the database server.
  • Install it as a service so that it runs automatically on system startup. It can run without further intervention.
     (If it's already started, stop it and restart it in order to pickup the new security settings).
  • You may also want to connect to the database named postgres using that same menu.
  • Doing so will allow you to browse the database and thereby ensure that the database server is up and healthy.

Tolven Config. Manager - Configuring JBoss

  • click the JBoss Manager Tab

There are two phases:

  1. Generate files - which is normally only done once.
  2. Deploy - which is done each time a new JBoss (Tolven application server) is installed.
  • Configuration File Generation Tab - Press the Generate button located towards the lower right hand of the screen.
  • Configuration File Deployment Tab - Press the Deploy button located towards the lower right hand of the screen.

Tolven Config. Manager - Configuring Tolven EAR

Note:  This is NEW for the beta3 version of the Configuration Manager
  • The "Tolven EAR" tab is used to assemble and deploy the tolven.ear file (which is no longer pre-deployed into the application server container).
  • Click the Tolven EAR tab
  • Clicking Assemble and Deploy will take the generic base-tolven.ear file from the Tolven installation (or wherever you specify) and combine it with files appropriate to the server configuration (eg PostgreSQL vs Oracle) as well as additional customizations (what we call "ear-plugs") and then deploy the resulting tolven.ear file into the current application server deployment.

Tolven Config. Manager - LDAP Schema Setup

  • The configuration manager will create the basic LDAP elements needed by Tolven.
  • Click the LDAP Manager Tab
  • If the schemas are not up to date:
     click the Create Schemas button. 
  • Doing this again will cause no harm.

Tolven Config. Manager - Configuring DB Manager

  • Find the DB Manager Tab
  • Before running the Tolven application server for the first time:
  1. You will need to create schemas that will accept the tables created by the object-relational mapping tool inside the Tolven Application Server.
     Click the Create Schemas Button
  • Clicking this buttong again does no harm.

Start Tolven Application Server

  • Go to
     Start -> All Programs -> Tolven -> Start Tolven JBoss
  • You will now be prompted for a password that is needed to unlock various keys needed by Jboss to connect (securly) to LDAP, DB, and for message processing.
  • In the default configuration supplied by Tolven, the password is tolven.

Tolven Config. Manager - Configuring Tolven Runtime

  • Find the Tolven Runtime Tab
  • This step will configure the Tolven runtime general properties.
  • An initial set of properties will be created which you can deploy to the database.
  • Thereafter, you can change these properties when needed, even while the application server is running.
  • Click the:
     Update Properties Button
  • This is one to deploy to the database.

Tolven Config. Manager - Configuring Secuirty Properties

  • Under the:
     Tolven Runtime Tab -> Tolven Properties Tab -> Find the Secruity Properties Tab
  • This step will configure the Tolven runtime security properties.
  • An initial set of properties will be created which you can deploy to the database.
  • Thereafter, you can change these properties when needed, even while the application server is running.
  • When ready, press the:
     Update Properties Button 


Tolven Config. Manager - Configuring MDB Users

  • Go to:
     Tolven Runtime Tab -> Tolven Properties Tab -> MDB Users Tab
  • This step will configure the Tolven runtime mdbuser.
  • When ready, click the
     Create MDBUser Button 
   

Tolven Config. Manager - Configuring Password Recovery

  • Go to:
     Tolven Runtime Tab -> Tolven Properties Tab -> Password Recovery Tab
  • This step will configure the Tolven runtime password recovery service
  • Adding Security Questions using the Import Button
     Click the Import button and a file browser can be used to open a security-questions.xml. 
     An example can be found in the examples directory in the tolven installation directory. 
     The security questions can be added to this file manuall and easily loaded to the application. 
     Each security question has a purpose, and at this time there is only one purpose supported i.e. login_password_recovery.
     When questions are first imported, they have a status "Does not exist". 
     To store the questions to the database, click 'Update Questions' and the status changes to 'Exists'.
     There is a sample import file in the /examples directory of the tolven installation (not the tolven-config directory). 
     The file looks something like this:
          <questions xmlns="urn:tolven-org:question:1.0">
             <securityQuestion purpose="login_password_recovery">
               <question>Which phone number do you remember most from your childhood</question>
             </securityQuestion>
            ...
  • Adding Security Questions using the Add Button
     Click the Add button and a simple dialog opens for entering a single security question. 
     Use the 'Update Questions' button to store the question to the database.
  • Exporting Security Questions using the Export Button
    Click the Export button and a file browser can be used to save all security questions in the database to a security-questions.xml file.
  • Deleting Security Questions using the Delete Button
     Click the Delete button and all selected security questions will be deleted from the database. 
     This does not affect their usage by users who have previously chosen them, since they are stored separately, once selected by a user.

Tolven Config. Manager - Adding Index to the Databases

  • Go to :
     Tolven DB Manager -> Indexes Tab
  • In order for the database to operate properly, various indexes need to be created.
  • The Configuration Manager has a Tab called Indexes under the DB Manager tab which generates these indexes and displays the status of the Tolven indexes in the database.
  • Be sure to click both the Create Indexes and Cluster buttons, in that order.

Starting Tolven

  • In your browser, enter:
     http://localhost:8080/Tolven
  • This should redirect immediately to a secure connection which, because the server certificate is self-signed, will display a warning.
  • login
  • Since there are no users in the system, you'll want to register one.
     Select the Create Demo User link. 
  • this will skip the email activation step which avoids JavaMail and issues you might have connecting to your mail server.
  • You can then login immediately with the username and password you provided during registration.
  • Once you login, you will need to create an account.
  • Be sure to generate some test data for the new account you created by checking the checkbox on the select account page.

Tolven Installation Conclusion

Overall, I found that this installation was in the difficulty range of moderate. The problems I encountered when it came to the installation were:

  • Working with the correct version of the required components
  • Making sure the latest releases of OpenMRS were compatible with the components

In conclusion, with the help from the installation guide on the OpenMRS website, I found the installation to be pretty straightforward.

TolvenCHR.... an Overview

Tolven looks rich with many options and promising for interoperability among a group of physicians or among Clinics. Tolven provides three modules of the EHR...namely CHR(Clinician Health Record...Patient database accessible to physicians and clinics), PHR(Database for Personal Health Record for a family), Healthcare Informatics Platform(Complete Database accessible through CHR and PHR).

Main Interface

The main interface after login has only 3 tabs which are 'Activity', 'Patients', 'Administration'. Let see each of the tabs in detail. No of tabs increase depending on the status of opened options in the main tabs.

Activity

Activity tab shows all the deeds of the person who logged in. Activities listed here for eg are encounters, adding new patient, adding observations, adding new physician or nurse etc... All the activities are listed and will show details like status(completed or incomplete), Importance/preference and Due(by time). Under the sub-tab menu, it will show an option called 'Received Shares' which shows any Patient Health Record received/shared from other provider.

Patients

Patients tab is where any provider spends more time after configuring Tolven for first time. Here we can see the lists of patients registered under the user. In addition to the Inpatients and outpatients, the patients can be listed according to the disease registries(such as diabetes, hypertension, Asthma etc..) for quick referral. Option to create new patient in available here. Patient Health Record is accessible by opening an existent patient in the patient list or by creating a new one. Patient CHR contains all the information about Problems, Medications, Allergies, Results, Appointments, Encounters, Diagnoses, Reminders, Procedures, Sharing, Personal details of the patients.

Overview

This tab gives the general idea about the patient with main information like encounters, diagnoses, active medications, Observations, etc... in tables. The default view can also be changed to a Colorful Timeline View or a Calender View which presents the total scenario of the patient in a single screen shot.

Problems

All the complaints/problems that the patient had, are listed here in chronological order with status(active/ inactive). An option to add new problem is available in sub-tab menu. A search tool and a messaging tool(for feedback) are also available.

Medications

Patient's current Medications are listed here. You can order new drugs from a list of drugs here.

Allergies

Current active allergies are listed here with options to add new substance or to make one inactive.

Results

All the requests for Clinical Lab and Radiology with reports can be collected from here.

Appointments

All the appoinments scheduled for a particular patient can be seen here.Two types of appoinments(Regular Office Visit or Personal ) for the patients can be scheduled. For Office Visits, the personnel who will be assisting the patient should be mentioned.

Encounters

Encounters with physicians are updated here. We can view all the past encounters or add new encounter for the patient. Three types of encounters such as Ambulatory(Office Visit), Emergency Room Visit and Inpatient Visits can be scheduled. To schedule an Inpatient encounter, the physician who admits the patient and physician who will attend the patient after admission should also be at hand. After adding encounters here, they can be accessed when entering any observations regarding the patient.

Diagnoses

List of the Diagnoses with date, status and encounter are present here.

Observations

Observations like vital measurements are added here. Along with regular vitals, other forms like Breast Cancer Evaluation form, CALGB (Cancer and Leukemia Group B)form are also available. Graphs like Diabetes(blood glucose), Lipids and Peak flow charts are also available.

Reminders

Reminders like the tasks to be done for the patient can be found here(not working with online demo)

Plans

Present day Treatment Plan or the future Plans are accessible here.

Procedures

Chemotherapy, Surgical Procedures and Radiational Therapies for the patient are listed here. We can also add a new procedure for the patient other than the above ones.

Personal Events

Looks like the same as Appointments tab with Office Visits and Personal Events listed.

Trials

Induction Treatment Trials and Evaluation(for cancer patients) forms are present here.

Share

Most interesting feature of Tolven is Sharing the Health Record of the patient with other physician or Clinic. In this tab, the information received and information sent is present. We can limit the kind of information to be sent(such as past/active diagnoses or problems or treatments). This feature makes Tolven suitable for interoperability among the physicians cutting down the expenses for repetitions of Lab investigations and Saving time in the encounter (details about past problems).

Admin

Options for adding a new physician or a nurse to the existing Health Provider are here. But to add new Provider, you have to go to Preferences menu. Preferences menu also provides the way to configure your menus and tabs. Once you configure your options, you can choose to not view unnecessary tabs which make your desktop cluttered.

Common Clinical Tasks with Tolven

Scheduling

Scheduling Appointments with Physicians and Personal Events are possible. Appointments with Physicians would be for typical Encounters and Personal Events can be anything like lab, collecting reports etc... Appointments and all the events(encounters and problems) for a patient can be seen in a time line view.

Tracking Patient Data in Tolven

Creating a patient record

Creating patient is straight forward in Tolven CHR. Goto Patients tab --> 'new' button and enter the details.

Vitals

Vitals like Blood Pressure, Pulse, Respiratory Rate, Temparature, Weight can be accessed from the Observations menu. In addition to these BMI, Blood Glucose, Peak flow and Rash are also present. Neurological Evaluations like Glasgow Coma Scale and Cognistat are also available. The recording of the vitals can be done as a part of a particular encounter or without mentioning the encounter. But Plotting Graphs with the vitals is not available. (Graphs are only available for Blood Glucose, Lipids and peak flow)

Accessing patient record

Accessing the Patient record is very easy. Patients tab--> Select from the list or Search for part of name--> Click on the name to see all the details and data.

Billing

Billing forms are not available in the present version.

OpenMRS Security

As of what I can tell, the only security that OpenMRS demonstrates is a username/password login. For installation purposes, there isn't any login credentials besides the login to access the Tomcat Manager.