Software Projects
In Development...

DataMergeR (2014) -

AmazonISBN2BibTex (2014) - is a java application that creates BibTex references from multiple ISBN numbers.
These BibTex references can then be imported into Synthesis via the Grey Literature component (Tools > Grey Literature).
These BibTex references can then be imported into Synthesis via the Grey Literature component (Tools > Grey Literature).

Publication Timeline (2014) -

Graph Database (Neo4J) (2014) -

Ontologies (2014) -
Released...

Forest Ranger (2014) - ForestRanger is an application for visualizing large amount of Forest Plots generated from cross sectional surveys (i.e. Canadian Community Health Survey - CCHS). The Forest Plot(s) report on the association between outcome and exposure variables (i.e. Stroke versus Hypertension adjusted by sex and age) broken down by survey year (i.e. 2008, 2007, 2006, 2005, etc.). For a chronic disease series of reports there could be 20 variables reported on which would correspond to approximately 400 charts. ForestRanger allows a researcher to quickly see which associations are increasing or decreasing or have the greatest Odds Ratios (OR) of the associations. The researcher can then click on the chart of interest and the larger report appears on the right hand side. ForestRanger can be used for visualizing any directory of PDFs.

HealthSim Countdown Windows 7 Gadget (2014) - is a Windows 7 Gadget for displaying the number of days left until an event occurs. This gadget could be used for showing days until conference abstracts are due, domains registrations need to happen or simply displaying days until birthdays. Up to 10 events are supported and the gadget allows for the following configurations: font, font size, color, transparency, sort by event or days left, sort ascending or descending. The Gadget can also connect to Google Calendars.

Sentence Extractor (2014) - is a project to graphically display the structure of sentences extracted from PDFs based upon keywords. The application scans a directory looking for PDFs. It then looks within each PDF for a keyword such as "prevalence", "incidence", "odds ratio", etc and extracts the sentence. The sentence is then displayed in a graphical image showing its structure. the user has the ability to save the extracted sentences as a CSV file or the individual graphical sentence structure as a PNG file.

Meta Data Repository (2011) - is a project to improve how databases are documented. Most databases are documented using a Data Dictionary which documents the schema, tables and columns in a database. The Meta Data Dictionary (MDR) expands this by allowing the content within the columns to be documented as well. This is extremely important for coded values or other data that changes frequently. The MDR also supports multiple databases such as Postgres, MySQL, Oracle, Microsoft SQLServer and Microsoft Access. The MDR also produces PDF reports at either a high table/column level or a column content level. The MDR also has the ability to refresh itself as the databases changes and evolves both in structure as well as content.

Synthesis (2011) - is the next version of KnowledgeShare; an application for systematic and scoping reviews. Synthesis Version 2 has several unique features such as duplication removal when importing abstracts from multiple databases (i.e. OvId Embase, Medline, Science Direct, etc), automatic abstract and PDF text highlighting, automated downloading, dual reviewer capabilities with automatic kappa statistics for abstract and full text review, embedded excel-style data collection form and many other features.

KnowledgeShare (2005-2007). Is a literature repository piece of software similar to EndNote or Reference Manager. What makes KnowledgeShare different is that it can extract the notes and highlighted text from a PDF associated with a reference. In addition, it allows keywords to be highlighted, not only filtered upon. KnowledgeShare also produces a bibliography that can be uploaded into the Literature Repository component of WebReports.

RMail (2011) - RMail is an application that automates the emailing of R Reports written in Sweave. RMail can send out reports by day of week, weekdays, daily, monthly and quarterly at any time of day. RMail also can keep an entire audit log of the reports sent out and can handle multiple email addresses. RMail was also submitted to the 2011 Revolutions Applications of R Business Contest (http://www.inside-r.org/howto/enter) -- Submission: (http://www.inside-r.org/howto/automated-emailing-sweave-reports-supporting-quality-improvement-healthcare).

MT4Health (2011) - is an project that combined health care statistical graphs with multi-touch technology for displaying global health care information on a country by country perspective. Open data from the World Bank and World Health Organization was used to automatically create health care statistical graphs and embed them in a multi-touch application. We utilized mt4j.org as the framework and Flickr.com for the graph repository and R 2.11 for the generation of the charts. A Dell ST220T (21") monitor was used for the testing.

WebReports V3.0 (2006-2010). Is a web-based analytics engine that combines several information management techniques to improve the reporting and analysis capabilities for implementing projects. At the core of WebReports (also known as Medical Informatics Technical Analysis System - MITAS) is a philosophy of accomplishing the task as soon as possible. For example, instead of a web-based reporting system taking months to deploy, WebReports is typically deployed in 2-3 days. Features of WebReports include:
- Dynamic High-Level Charts (pie, bar, line, scatter, radar)
- Dynamic Filters
- Dashboards
- Gantt Charts
- Integration with Google Maps
- Static Network Graphs
- Dynamic network Graphs (Space Tree, Radial Tree and Hyper Tree)
- Literature Repository
- Integration with R (www.r-project.org)
- R Code Library Repository
- PDF printing
- Automated Emailing of Reports (with day offset)
- Query on Demand for user-derived reports
- Future development ideas include: Natural Language Interface, Clinical Fact Database, Addition of AMPL for Optimization utilizing Grid Computing, Addition of Grid Computing for Weka and R

Patient-X (2003-2010). Patient-X was developed to quickly allow the transfer of data from one database to another. This program could be considered an ETL (Extraction, Transform, Load) program, however, what makes Patient-X different is its focus on speed and simplicity of use. For example, if should only take 5 minutes to configure Patient-X. Patient-X supports the following databases; Postgres, Microsoft SQLServer, Microsoft Access, Oracle, MySQL and Microsoft Excel. Patient-X also allows for excluding tables and columns, as well as, the encoding or encrypting of columns and offsetting dates if required.

HealthSim V2.0 (2004-2007). HealthSim V2.0 was patient flow software developed to aid an entire hospital. The software included the Institute for Healthcare Improvements (IHI) approach towards patient flow. Several innovations were developed including a) a dashboard with the wards geographically represented b) future flow - where wards could enter patient input and output numbers of their wards to provide a sense of their capacity in the future c) Automated Text to Speech (TTS) reports were generated to convey information in a verbal manner --much like how a unit manager would convey information to an administrator d) an integrated reporting and analytic reporting system e) automated low-bandwidth messaging using MSNDirect watches (similar to SMS). The software was installed in the Rockyview Hospital from 2004-2007 and was named as 1 of the 5 'good practices' during the Calgary Health Region's 2005 Canadian Council on Health Services Accreditation (CCHSA).

Global Surveillance and Emergency Response System (GuSERS) (2001-2005) - The GuSERS system was a project that looked at the issue of reporting in real-time from environments that had no working power or telecommunication systems. The system involved using a commercial low-bandwidth satellite two-way pager combined with a solar power tickle charger (developed) for remote communications. A web-based map (geographical information system) server was developed (in 2003) for managing and displaying the information. Initial information was also supplemented through ProMed by an automatic email parser. The GuSERS system was tested in Laos, Malawi and Zambia. Abstracts (posters) were published for this project.

Infectious Disease Emerging Simulation System (IDESS) (2006) - The IDESS system was developed to automatically create a multi-agent simulation for simulating an infectious disease outbreak from existing GIS data. The concept with IDESS was if a simulation system could be developed in a manner of hours to aid in the first few days of a crisis. The IDESS system would take existing GIS information and create a network graph from all the towns/cities intersecting with the road GIS information. The Agent based simulation would then run on top of this network graph. Results from the simulation were then saved to a database where WebReports would then be used to analyze the simulations. Several papers in Multi-Agent journals were published.

Replace with Patient-X (2010) . This project was to show the threat that a computer virus may have with manipulating or destroying photos. The program was written in C++ using the OpenCV framework and take a photo, detect the faces, and then replace the faces with another photo -- such as another face (or apply a gaussian blur to de-indentify the person). The program also had the option to try to replace all the faces or only a certain percentage of the faces. Nothing was published on this project.

VisQL (2010) . VisQL is the Visual Query Language. It uses augmented reality to query a database. The databases supported are Postgres and MySQL. How the system works is that a user can hold several cards to a webcam. The webcam will then identify the cards and superimpose a 3D model/object into the viewer. The program will then take those objects and query the database and return the result. An ecample of this is if a user showed the cards representing women and kenya. The program would show a 3D model of a woman/women and a 3D model of the country Kenya. It will also show "Women AND Kenya = 12,500,000" showing how many women are in Kenya. Nothing was published on this project.

WaitList WebCam (2008) . This program was developed to see if motion tracking could be used to track how long a person was waiting in a specific area. The program was written in C++ and used the OpenCV toolkit. The software would identify objects (persons) and record to a database the timestamp of when the object was first encountered and then the timestamp of when the object left the webcam view. A simple SQL query could then report on the duration that the object was in the webcam's view, as well as, how many objects were present at any one time. In typical Canadian fashion, the Waitlist Webcam was tested on a Tim Horton's in a line. Nothing was published on this project.
SDK/Toolkits Developed
PDF Manipulation Java SDK (2014)
- PDFToTextConverter - Converts a PDF to raw ASCII text. One issue is with headers and footers -- so some manual cleanup is required.
- PDFToImage - Takes a specific page of a PDF and converts it to a PNG image. This was used to create a collection of vintage computer magazine covers for populating a screen saver.
- PrintBookMarks - Outputs all the Bookmarks contained in a PDF.
- PDFBookmarks - Creates bookmarks based upon keywords (i.e. Introduction/Background, Methods/Methods and Materials, Results, Discussion/Conclusion.
- TableExtraction (2011) - Extracts tables from PDFs.
General:
- FTP Weather (2004) . This program accessed the National Climatic Data Center (NOAA) archives and automatically retrieved the weather data for any city or region. This data was then automatically extracted into a relational database.
- Consensus (2006) . The purpose of this program was to allow a document to be 'marked up' (high-lighted) by several different users and then to see what those users 'agreed upon' through using a percentage. For example, we could see what 75% of the users agreed upon (i.e. high-lighted). The research purpose of this program was to see if users with more experience (i.e. on-call physician vs resident vs student) indentified information differently.
- PDF Note Extraction (2005) . This program was written to extract notes and highlighted text from PDF documents. The purpose of this was to essentially pull all high-lighted text from a PDF for making summarized documents. This program was later used for the KnowledgeShare application.
- SMS Condenser (2006) . This program was written to see how much a medical abstract could be reduced by replacing words with abbreviations and acronyms as well as removing filler words. The purpose of this was to reduce the amount of data sent through SMS messaging.
- LinkedIn.com Extractor (2009) . This program was written to extract information based on keywords from the Linkin.com website and save the results in the database. The purpose of this software was to analyze the education of people working in the medical informatics field. The program needed to be abandoned as the automatic extract violated the Linkedin.com terms of use.
- ArcInfo GIS Point and Line Extractor (2004). This program would take a ERSI GIS file and create a network graph in a database by connecting all the towns/cities together by using the roads. The GIS data for towns/cities is stored as points, however, the road information is stored by vectors. This program allowed the user to defined how close, in kilometers, a road needed to be to a town in order to connect this town to the road network. This program was later used for the IDESS project.
- JSP Image Maker (2002). This program was created to aid in the creation of new types of chart types for JSP web-pages. The most important of these were for dial-gauges to be used in dashboards. These dial-gauges were used in HealthSim Version 1.0 (2003).