based application does not have to retrieve as many
attributes (for example it does not have the
timestamp of creation or last update of the object)
and it does not order the results before returning
them, while by default TICE-GenericEntity orders
the results by timestamp of creation since it always
returns them paginated because of salability
requirements.
4.2 Form Generation
The purpose of these tests is to compare the average
time needed by TICE-GenericEntity to generate and
return an insertion form against the time needed for
a normal application to return the same form already
created. In other words, our solution will interpret
the configuration of an insertion view in order to
generate it while the ORM application will simply
return the same form (pre-created) as static content.
Figure 5 shows the results of the tests performed.
Figure 5: Comparison of the average time it takes to return
an insertion form.
In these tests the creation of the form is roughly
10 times slower than presenting a static form. Once
again this result was surprisingly positive given the
nature of the comparison. In fact, it was clear that
the solution that had to dynamically generate the
form would be slower and it is perfectly acceptable
for it to be 10 times slower since there are
mechanisms to mitigate this difference. Using cache
in both applications the results were, naturally,
identical.
5 DISCUSSION & CONCLUSIONS
As shown, despite its dynamism and flexibility our
solution does not display a great overhead when
compared with a traditional approach. Naturally, the
generation of views is slower than the simple return
of static content, but it is a relatively insignificant
overhead when taking into account factors such as
network latency. It is also import to state that the
applications comprising our solution are stateless so
it is simple to apply a load balancing pattern to scale
the system. Moreover, the tests revealed that using
cache mechanisms to mitigate the extra resource
usage is extremely effective.
In summary this paper presents a module that
enables the configuration of a PHR supporting
informal care services in a way that presents major
benefits for the entire TICE-Healthy initiative. With
this component powering the PHR it is possible to
modify the repository’s data structure without
redeploy and it is easy to make changes to the data
viewer and business logic with minimal coding.
In the future we will explore non-relational
alternatives for storing data that may prove to be
more flexible and perform better. Specifically,
migrating the system to such a data store might free
us from the limitations of having pre-created
columns. However, several concerns will have to be
addressed first, such as the security mechanisms
provided, the ability to execute ad-hoc queries and
the support for transactions.
ACKNOWLEDGEMENTS
The TICE.Healthy project is co-financed by the
European Community Fund through COMPETE -
Programa Operacional Factores de Competitividade.
REFERENCES
Gilchrist, J., Frize, M., Ennett, C. M. & Bariciak, E., 2011.
“Performance Evaluation of Various Storage Formats
for Clinical Data Repositories,” IEEE Transactions on
Instrumentation and Measurement, vol. 60, no. 10, pp.
3244–3252, viewed 5 March, 2012,
<http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumb
er=5738684>.
Krause, J., Langhirt, C., Sterff, A., Pehlke, B. & Doring,
M., 2010. SharePoint 2010 as a Development
Platform, Apress; 1 edition, p. 800, viewed 24
November, 2011, <http://www.amazon.com/
SharePoint-Development-Platform-Experts-Sharepoint
/dp/1430227060/ref=cm_cr_pr_product_top>.
Xie, L., Yu, C., Liu, L. & Yao, Z., 2010. “XML-based
Personal Health Record system,” 2010 3rd
International Conference on Biomedical Engineering
and Informatics, IEEE, pp. 2536–2540, viewed 24
October, 2011, <http://ieeexplore.ieee.org/xpl/
freeabs_all.jsp?arnumber=5639706>.
TICE-Healthy-ADynamicExtensiblePersonalHealthRecord
351