<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Effects of two-way data binding on better user experience and easier development of Clinical information systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nihad Omerbegović</string-name>
          <email>nihad.omerbegovic@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nedim Omerbegović</string-name>
          <email>nedim230@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Electrical Engineering, University of Sarajevo</institution>
          ,
          <addr-line>Zmaja od Bosne bb, 71000 Sarajevo</addr-line>
          ,
          <country country="BA">Bosnia and Herzegovina</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Engineering and Information Technologies, International Burch University Sarajevo</institution>
          ,
          <addr-line>Francuske Revolucije bb, 71000 Sarajevo</addr-line>
          ,
          <country country="BA">Bosnia and Herzegovina</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>[3] Chung Chow Chan, Herman Lam, Xue-Ming Zhang, Practical Approaches to Method Validation and Essential Instrument Qualification</institution>
          ,
          <addr-line>1st Edition, Wiley</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Today healthcare organizations integrate many types of clinical information systems. These systems are used to collect, manage and report patient-related data, with a goal to increase quality of patient care and clinical research. However, end user experience with these systems, in many cases, is not satisfactory [1]. This paper describes a development method and web technology which ensures more effective manipulation of data, and easier development of applications. This method can be used in developing several web-based clinical information system types; such as EHR or LIMS.</p>
      </abstract>
      <kwd-group>
        <kwd>Clinical information systems</kwd>
        <kwd>electronic health record</kwd>
        <kwd>data search</kwd>
        <kwd>web-based clinical applications</kwd>
        <kwd>data quality</kwd>
        <kwd>user experience</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>While designing and developing clinical information systems, either from ontology aspect, database
architecture, or development environment, it is crutial to understand all relevant points – define clearly
all requirements, and list all possible interactions with other systems. LIMS, for instance, as a software
used to manage data and increase control quality in laboratories, should be automated in order to
provide maximum efficiency. On the other hand, manual data entry should be minimized, search of
data very efficient, ensuring an easy task for a lab worker. Manual or operator work will always be
required to some point - that's why we must aim to optimize this process by usage of efficient tools
and modern web technologies; such as AngularJS framework, and JavaScript.</p>
      <p>When surveyed about what the major challenges were facing in their operations, laboratories shared a
short list of common issues [2]. These included: meeting turn around times (TAT) and holding times,
missed sampling events, certification audits, unprofitable departments, lost time searching for or
checking data, and cash flow problems. These issues can be grouped in two main topics, data quality
and costs. In a laboratory, these two topics are usually linked. The aim of this paper is to show how a
process of searching for data in a typical electronic patient record can be improved. We developed a
simple demo app using AngularJS Framework – as a proven and powerfull environment [5],
JavaScript language, and standard HTML.</p>
    </sec>
    <sec id="sec-2">
      <title>2. AngularJS and „healthApp“ demo</title>
      <p>AngularJS is a full frontend MVC framework for JavaScript web applications. It was built at Google
and provides a way to quickly build large, single-page web applications. Like jQuery, it is included
into a page using the &lt;script&gt; tag, and is itself written in JavaScript.
&lt;!doctype html&gt;
&lt;html lang="en" ng-app="healthApp"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;title&gt;HealthCare App Demo for SWAT4LS 2014&lt;/title&gt;
&lt;script
src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"&gt;&lt;
/script&gt;</p>
      <p>&lt;script
src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angularroute.js"&gt;&lt;/script&gt;
Unlike jQuery, it can be used as a framework upon which an entire healthcare web application is
built. It actually includes a minimal version of jQuery by default. To show this, we developed a
healthApp demo – Patient Search module (while the same method can be easily implemented into
wide range of clinical information system requirements, where end user is involved).</p>
      <sec id="sec-2-1">
        <title>2.1. Two-way Data binding</title>
        <p>Two way data binding occurs when a model variable is bound to a HTML element that can both
change and display the value of the variable. In general, we can have more than one HTML element
bound to the same variable [6].</p>
        <p>We used the ng-model directive to bind a model variable to the HTML element that can not only
display its value, but also change it. This method can be efficiently used when we need to search data
from EHR, LIMS, or wherever there is requirement for efficient filtering of medical data. Figure 1.
explains the difference between traditional one-way data binding and new approach in development,
two-way data binding model.
In our first example, we bind the email and password model variables to a couple of HTML
elements. When the page is loaded, the value of the input elements are initialized to those of the
respective model variables and whenever the user types something in an input, the value of the
model variable is modified as well (two way).</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Data Filtering</title>
        <p>Filtering of data is very simplified: We use | filter command to define which variable will be
used as a filter parameter, while sorting is enabled by orderBy command.
healthApp Demo is an example of a SPA (single page application), where we are using Template
feature – meaning that only necessary part of HTML is rendered. Complete coding of our
patient_list.html page is provided below:
&lt;div class="container" ng-controller = "listaController"&gt;
&lt;form class="form-horizontal" role="form"&gt;
&lt;div class="form-group"&gt;
&lt;div class="col-sm-6"&gt;</p>
        <p>&lt;label&gt;Filter:&lt;/label&gt;
&lt;input type="text" class="form-control" placeholder="Filter"
ng-model="query"&gt;</p>
        <p>&lt;/div&gt;
&lt;/div&gt;
&lt;div class="form-group"&gt;
&lt;div class="col-sm-6"&gt;</p>
        <p>&lt;label&gt;Sorting:&lt;/label&gt;
&lt;select class="form-control" id="sel1" ng-model="orderPatient"&gt;
&lt;option value="name"&gt;Name&lt;/option&gt;
&lt;option value="adress"&gt;Adress&lt;/option&gt;
&lt;option value="age"&gt;Age&lt;/option&gt;
&lt;/select&gt;
&lt;/div&gt;</p>
        <p>&lt;/div&gt;&lt;/form&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;label&gt;Patient list:&lt;/label&gt;
&lt;hr/&gt;
&lt;table class="table table-striped table-bordered"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Profile&lt;/th&gt;
&lt;th&gt;Patient Name&lt;/th&gt;
&lt;th&gt;Diagnosis&lt;/th&gt;
&lt;th&gt;Therapy&lt;/th&gt;
&lt;th&gt;Adress&lt;/th&gt;
&lt;th&gt;Age&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;</p>
        <p>&lt;tr ng-repeat="p in patients | filter:query | orderBy:
orderPatient"&gt;</p>
        <p>&lt;td&gt;&lt;a href="#/index/{{p.id}}" class="thumb"&gt;&lt;img
ngsrc="{{p.avatar}}"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="#/index/{{p.id}}"&gt;{{p.name}}&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;{{p.disease}}&lt;/td&gt;
&lt;td&gt;{{p.therapy}}&lt;/td&gt;
&lt;td&gt;{{p.adress}}&lt;/td&gt;
&lt;td&gt;{{p.age}}&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Output of the Patient Search or Filter command is shown on the next figure.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Usage in practise</title>
      <p>Two-way data binding method can be efficiently used in developing Sample Tracking or Patient
Search modules of a web-based LIMS [3]. This method could be also implemented to reduce paper
work in a laboratory.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>Data interoperability and data quality are some of the main issues in modern clinical information
systems today. The main aim of our paper was to suggest developers of clinical information systems
an easier method for developing standard features like search for patients, or sorting of sample results
by using AngularJS framework two-way data binding model. Also, we intended to show how
combining of these techniques and standard web languages like HTML and JavaScript can have effect
on better end user experience and increased performance.</p>
      <p>In this paper, we showed how:</p>
    </sec>
    <sec id="sec-5">
      <title>5. Contact Us</title>
      <p>
</p>
      <p>Optimized data search and filtering can improve user experience with EMR or LIMS apps.</p>
      <p>Drastically reduced programming code lines, comparing to ordinary JavaScript and jQuery.
If you have any further questions regarding this paper, then please do not hesitate to get in touch with
us.</p>
      <p>
</p>
      <p>For all questions related to our web-based clinical and eHealth applications, your contact
person is: Mr. Nihad Omerbegović, e-mail: nihad.omerbegovic@gmail.com.</p>
      <p>For overall technical questions concerning the choice of technologies and optimization of the
LIMS databases, please contact Mr. Nedim Omerbegović, e-mail: nedim230@gmail.com.</p>
    </sec>
    <sec id="sec-6">
      <title>6. References</title>
      <p>[2] Steve Rayburn, Director of Training and Validation and Dr. Christine Paszko, Vice President of Sales and
Marketing Accelerated Technology Laboratories, Inc. West End, NC, How a LIMS Can Save
Your Laboratory Money and Enhance Data Quality
[4] How to build AngularJS phonecap app Bootstraping, https://docs.angularjs.org/tutorial/step_00
[6] Two-way data binding in AngularJS framework,
http://www.angularjshub.com/examples/basics/twowaydatabinding/
https://docs.angularjs.org/guide/databinding</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>