Fig. 1: Two screens from a health record system
Fig. 2: Property grid for the Sample icon
Fig. 3: The developer toolbox
Fig. 4: Health record with lab results and patient services
Fig. 5: Order medicine
Fig. 6: Give medicine - nurse task
The Uvis tool allows IT-interested users to develop screens that visualize and interact with data from existing databases. "Programming" the screens is done with formulas similar to spreadsheet formulas. The screens can make up a stand-alone system or an extension of an existing application. Uvis can combine visualizations with data shown in traditional ways. The end-user can interact with clicking, typing, dragging, etc. We implemented the tool and used it to develop an electronic health record system (EHR) with advanced data visualization: Visualization of health records (pdf, 2015) Visualization with formulas (pdf, 2013)
The Lifeline screen was developed in 8 hours by a person who knew Uvis well and knew the relational database behind. We made it early 2012 as the first functional prototype of a health record system.
The Bronchia screen was designed two months later by a heart surgeon, who often made bronchoscopy. He wanted a diagram of the bronchia where he could indicate where he took samples, how the samples were taken and what the later lab results showed. He can enter this data by clicking on the diagram to create a sample icon, and on the "icon buttons" at the right to make the icon indicate which kind of sample. He can enter traditional text about the sample in the text boxes. This screen was developed in 6 hours.
Developing with Uvis is basically the same as with many other tools: The developer drags a visual component to the screen and a property grid pops up, showing properties of the component, such as top, left and color. Figure 2 shows the properties for the Sample icon from Figure 1. The novelty is that the properties can be complex formulas that compute top, color, etc. from properties in other components and from data base contents.
The Rows property specifies how many component instances to create. In the example, Rows is a query to the database. It says that Uvis has to retrieve rows from the Bronchial table. It must be rows with a patient ID matching the patient ID of this patient (Param). Uvis will then create a Sample icon for each of these rows. The icon position, shape and color depend on data in the row. In Figure 1 there are 4 samples. The Top property of a Sample icon computes its value as the "y" field in the database row (Me.y) relative to the top position of the diagram (icon1!Top).
The entire Lifeline screen has 7 components with a rows property, one that generates all the diagnosis boxes, one for all the diagnosis names at the left, etc. The screen shows in 0.7 seconds on a standard PC. It draws on a public table of 22,000 possible diagnoses and a public table of 5,000 types of medicine.
The property grid is part of the Uvis toolbox, shown in Figure 3. As a developer, you can see part of the datamodel, part of the file directory, etc. You can also give the system under test a simulated date-time, which is convenient when you test systems that have date-time fields in the test database. The system you develop may comprise several screens (Forms). They are not inside the toolbox, but directly on the computer screen. You can put the toolbox in a "corner" of the screen.
In 2014 our health record database included all kinds of medical information: 17,000 kinds of lab tests, 17,000 kinds of clinical activities (including X-ray pictures, etc.), tables of clinical users and organizations. The table of medicine types is now supplemented with a table of 13,000 drugs with trade names. Patient-specific data is covered by 10 tables. One thing we don't try to cover is billing and accounting. In total the system comprises 26 tables, including simple tables such as a list of urgency codes.
Figure 4 shows a lifeline that covers all medical data for a patient, including lab tests and other kinds of service. Services with numerical results are automatically shown as a simple line graph, other services as boxes. Some services can be shown in a special way when you click their box. The bronchial screen above is an example of a "special way". New special presentations can be added on a departmental basis. There are screens for ordering medicine (Figure 5) and giving medicine (Figure 6), ordering services, etc. In total around 20 screens, all made with Uvis formulas.
In 2011 we had an operational prototype of the entire system, and we had tested that IT-interested end-users could use it for development. We had shown Uvis to several suppliers of health record systems and to some software houses. They could see the potential, but their present focus was expanding their products with web and mobile user interfaces. It wasn’t obvious how Uvis could be ported to these platforms. Some of the companies said that if the system had been for the web or a mobile platform, they would use it right away.
We hope that someone takes up Uvis or the ideas, implement them on the web, and use them in real products.
Uvis Reference Card. Print on both sides and fold: Download (pdf)
2013: Soren Lauesen: Customizable Data Visualization with Uvis. Example: Electronic Health Record. 10 pages: Download (pdf)
2013: Soren Lauesen, Mohammad A. Kuhail, Kostas Pandazos, Shangjin Xu, and Mads B. Andersen: Uvis - Visualization and interaction with a drag-drop-formula tool, 16 pages: Download (pdf)
2012: Soren Lauesen, Mohammad A. Kuhail, Kostas Pandazos, Shangjin Xu and Mads B. Andersen: Extending applications with visualization, 9 pages: Download (pdf)
2012: Soren Lauesen, Mohammad A. Kuhail, Kostas Pandazos, Shangjin Xu and Mads B. Andersen: A drag-drop-formula tool for custom visualization, 10 pages: Download (pdf)
2009: Soren Lauesen: VisTool (later: Uvis) for data visualization, 18 pages. This is the original document that described the principle and visions behind the tool.: Download (pdf)
2009: Soren Lauesen: Requirements specification for VisTool (later: Uvis) - a development tool for complex data visualization, 51 pages. This is the original requirements specification for the tool: Download (pdf).
2012: Mohammad A. Kuhail: Custom Formula-Based Visualizations for Savvy Designers, 147 pages: Download (pdf)
2012: Shangjin Xu: VisTool - A user interface and visualization development system, 132 pages: Download (pdf)
2016: Kostas Pantazos and Soren Lauesen: End-User Development of Visualizations, 10 pages. Journal of Imaging Science and Technology, 60(1): 010408-1-010408-10, 2016: Download (pdf)
2016: Kostas Pantazos, Soren Lauesen and Soren Lippert: Preserving medical correctness, readability and consistency in de-identified health records, 13 pages, Health Informatics Journal, DOI: 10.1177/1460458216647760: Download (pdf)
2013: Kostas Pantazos, Mohammad A. Kuhail, Soren Lauesen, Shangjin Xu: Uvis Studio - An Integrated Development Environment for Visualization. In Proc. of Visualization and Data Analysis, page 15-30, 2013: Download (pdf)
2013: Mohammad A. Kuhail, Kostas Pantazos, Soren Lauesen: The Inspector: A Cognitive Artefact for Visual Mapping. Proceedings of IVAPP 2013.
2012: Kostas Pantazos, Soren Lauesen: Constructing Visualizations with InfoVis Tools - An Evaluation from a User Perspective. In Proc. of GRAPP/IVAPP, page 731-736, 2012: Download (pdf)
2012: Mohammad A. Kuhail, Soren Lauesen: Customizable Visualizations with Formula-linked Building Blocks. In GRAPP/IVAPP, pages 768-771, 2012.
2012: Mohammad A. Kuhail, Kostas Pandazo, Soren Lauesen: Customizable Time-Oriented Visualizations. In ISVC (2), pages 668-677, 2012.
2012: Mohammad A. Kuhail, Soren Lauesen, Kostas Pantazos, Shangjin Xu: Usability Analysis of Custom Visualization Tools. In SIGRAD 2012 proceedings, pages 19-28.
2011: Kostas Pantazos, Soren Lauesen & Soren Lippert (2011): De-identifying an EHR database - Anonymity, Correctness and Readability of the Medical Record. Proceedings of MIE2011: Download (pdf)
2011: Kostas Pantazos: Engaging Clinicians in the Visualization Design Process - Is It Possible?: In Proc. Workshop on Visual Analytics in Healthcare (VAHC) in conjunction with IEEE VisWeek, page 40-43, 2011: Download (pdf)