Cloud Computing Based Systems for HealthcareView this Special Issue
Research Article | Open Access
Usalpharma: A Cloud-Based Architecture to Support Quality Assurance Training Processes in Health Area Using Virtual Worlds
This paper discusses how cloud-based architectures can extend and enhance the functionality of the training environments based on virtual worlds and how, from this cloud perspective, we can provide support to analysis of training processes in the area of health, specifically in the field of training processes in quality assurance for pharmaceutical laboratories, presenting a tool for data retrieval and analysis that allows facing the knowledge discovery in the happenings inside the virtual worlds.
Virtual worlds and serious games are now a resource increasingly accepted to train skills and acquire knowledge in various areas, involving both formal learning, especially in universities taking into account new technological-based pedagogical approaches , and informal learning, more oriented towards workplace training and personal skills development . But how are they able to successfully face the interaction of thousands of users expecting to complete these tasks? This is because of their infrastructure and architecture. Virtual worlds and 3D serious games are currently impossible to maintain by the use of classical server structures, as the user interaction within them is changing and does not respond to traditional usage patterns and resource requests. Virtual worlds and online 3D games had a radical change from the acceptance and use of the concepts related to cloud computing and cloud-based architectures, where resources are allocated and released dynamically, so they give a changing service, agreeing with the type of interaction and load they have. For example, Second Life (SL) typically has design of one or more (physical or virtual) servers to support one region or island, but this allocation varies with the interaction of the various elements within the virtual ground, so that if the region has a use peak other servers with free resources can support the tasks and improve overall response against these workloads [3–8]. Definitely, virtual worlds and 3D serious games currently base their success on flexible architectures that support many tasks in a transparent and dynamic way. Building on this, this paper tries to extend these concepts to a different use in the virtual worlds, such as support of the interaction analysis, in this case focusing on supporting cases of students training processes in the field of the health sciences.
The current generation of 3D virtual worlds began to develop about ten years ago. SL was the first to achieve popularity and a high degree of development . Since 2008 many other virtual worlds have emerged with which SL has been sharing its leadership. But currently, SL is still the most widely used virtual world for healthcare and higher education activities [10, 11]. All the content in SL has been generated by the users. They can even create their own objects and spaces using software provided by SL .
Several authors have explored SL [6, 12, 13] and found a wide range of healthcare-related activities. SL has been used for health education, community outreach, training healthcare providers, and market and promotes health services and simulations purposes. Reference sites in healthcare are Healthinfo Island, Imperial College London, Virtual Hallucinations, or Second Health London [14–17].
Virtual worlds such as SL provide unique opportunities to simulate real life scenarios and immerse the user in an environment that can be tailored to meet specific educational requirements. In these immersive learning environments, learners and teachers can interact from anywhere in the real world . SL has been used to train healthcare professionals in virtual problem solving and communication, in addition to other conventional preclinical teaching methods, prior to student treating patients in the clinical setting [19, 20]. Several experiences have been developed in SL where students could safely practice communication and assessment skills with simulated patients , developing clinical diagnosis and decision-making skills [22, 23], training procedures [24, 25], assessment of competencies [10, 26, 27], and interacting with 3D physiological models [28, 29]. Also SL has been successfully used as a resource for health education  and for continuing education for practitioners [11, 31–33] and even has been used in real therapy sessions [34, 35].
On Usalpharma island from SL, property of the Department of Pharmacy and Pharmaceutical Technology from the University of Salamanca, we have been carrying out activities to develop professional skills in undergraduate and postgraduate students of pharmacy since 2010 . These activities take place in various facilities such as a community pharmacy or a laboratory for drugs quality control. Pharmacists must be the health professionals responsible for providing patient care that ensures optimal medication therapy outcomes . For this purpose, the future pharmacist should be formed in many different areas such as drug design, drug manufacturing, dispensing, or treatment monitoring. In the community pharmacy of our island, students can perform role playing activities to train metodologies of pharmaceutical care that involves the identification, resolution, and prevention of potential drug related problems [38, 39]. There are also spaces on the island for meetings and presentation of papers .
The other key facility is Usalpharma Lab. This laboratory simulates the installations, equipment, documentation, and tools like a real quality control laboratory of the pharmaceutical industry that fulfill regulations to such effects . This kind of installations in the real world is very costly and unusual in universities. Usalpharma Lab has been used for training of pharmacy postgraduates in quality assurance. Highly positive results were obtained as regards both the achievement of the educational goals and student satisfaction . To carry out these practices, both avatars of teachers and students meet in the virtual laboratory. The teacher guides and evaluates the student during the activity. But it would be ideal that the student could access the laboratory whenever he wanted using it as a tool for self-training. Data generated through the student activity could be used by the teacher to control and evaluate their activities, without having to be present at the same time . These data could provide information of great relevance for the design of new practical activities as well as the evaluation and monitoring of the correct implementation of them.
The aim of this study is to deploy a cloud architecture that supports the needs described in a virtual world, including the mechanisms of data recovery and analysis of data for proper evaluation of the practices developed inside. This will be catalyzed in this paper by the development of a case study with a tool destined to get data and analyze the insights retrieved from the virtual world.
The paper is organized as follows: one section for proposal of cloud architecture, another section for components and workflows of the cloud system, one section about a study case where we use the cloud proposal, and finally the conclusions.
2. Cloud Architecture
As discussed in the Introduction, this paper aims to articulate a cloud architecture taking advantage of data and information generated within a virtual world like SL, so starting from what happens within the virtual world we can extract and analyze information, getting to discover knowledge that serves to gain insight of what happens or provide support in decision-making processes. This way we may tackle the isolation and lack of interoperability issues that virtual worlds in general and SL in particular present; these virtual worlds usually have a structure of cloud servers, and they generally do not allow integrating them into third party software components as shown in this paper.
For example, SL or other private virtual worlds do not provide APIs or explicit methods for interaction and exchange of information with other software platforms; they only provide in-world APIs to connect with web services or retrieve information from external websites.
For this reason, the software architecture we describe should attach or wrap the private cloud architecture from virtual world, getting by this way a unique and unambiguous process for data generation, storage and analysis.
In order to define a cloud architecture to solve problems such as those discussed above, it is necessary to consider a possible definition of the context of cloud computing.
Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services .
Taking this contextualization of the problem, when a cloud architecture is defined, it is essential to design the system so that it is flexible enough to adapt itself to any data center or server farm, regardless of location, organization, technology, or number of machines . In this paper, the hardware part is not discussed, due to the fact that our cloud architecture proposal is intended to have the possibility of being deployed on any current cloud product provided by enterprises like Amazon, Google, Heroku [46–48], and so forth.
Based on the experience gained during years in the field of computing and software engineering, it is possible to base the solution design patterns and software quality factors. Our proposed architecture is based on a layer structure. The layered architecture makes each layer given different responsibilities available within the group , thereby forming a modular cloud system.
From these concepts we propose a modular cloud that is composed by software services (in line with SaaS concepts) . Particularly, we extend the concept of software as a service (Saas), to a wider platform, obtaining concepts as CaaS (cloud as a service) or PaaS (cloud platform as a service), so each module or part of the cloud can be a cloud service or cloud architecture itself and contribute together with the other parts to achieve the common goal. As abstraction of this set of clouds within a single cloud, in the description of cloud modules, we talk about service layers or layers: inside these layers, we could find clouds as a service or software modules as a service.
The integration of this cloud of clouds with the Virtual World is designed thereby due to the location of SL in their own private and closed cloud of servers and resources [51, 52]. It is necessary to propose an architecture capable of interacting with it minimally, using this locked environment to generate the best final outcome for analyst, so, through minimum data output from SL private cloud, our Usalpharma cloud is able to maximize the final outcome and analysis capabilities. The process to maximize the outcomes with a minimal income is supported by the cloud layers, and they are responsible for the support of the whole quality assurance training process in health area. With this solution, we also try to manage the service level management in order to address dependability  in the privative and close approach that SL presents.
The layers for cloud architecture (named “Usalpharma Cloud Architecture,” Figure 1) are the following.(i)Data Collection Layer. This layer of the cloud architecture is intended for retrieval and processing (prior to the storage) of the raw data which arrives from the users platform; in this case it arrives from the SL virtual world which actually is another private cloud of servers and software components.(ii)Data Persistence Layer. This layer organizes and stores information persistently. It is the key layer of the architecture, on which depends the proper functioning of the cloud system. It needs to be flexible enough to accept the storage of heterogeneous data coming from the virtual world. This layer must also provide a sufficiently powerful (without bottlenecks) system so that any layer of the cloud architecture can refer simultaneously with others without affecting performance.(iii)Analysis Layer. This layer is responsible for performing tasks more complex or costly in time analysis. It communicates with the persistent data layer and launches processes and algorithms to discover relationships in the data and analyze the behavior and interaction of users of virtual world.(iv)Data Provider Layer. This layer is responsible for processing data requests coming from users and analysts or other 3rd party services that can be connected to our cloud. It manages interaction with the persistence layer by any data request.
3. Workflows and Components
In order to achieve a correct collaboration between software layers, or cloud modules, we need to establish which components may be the components of cloud architecture and which workflows can exist between them.
Below the components and workflows of the cloud architecture are detailed briefly, emphasizing the specific part of how the cloud environment could be built.
Components(i)Web layer to collect data: the data collector layer is intended to be built based on web services, so through API requests (URI request, etc.) the data could be aggregated to cloud environment.(ii)Database servers or cloud database to give a persistence layer and ensure access to every component in cloud architecture: this component is the central part of the cloud architecture and is used by all other components. It must guarantee the correct interaction and usage load by other components and ensure the integrity and proper preservation of the data. At present there are many database servers and storage software, each having different features, one or the other of which can be recommended depending on the technical requirements of the system. In the case of a cloud as the one proposed architecture, there are three key features that must be met; the system must ensure data persistence storage of heterogeneous data, the correct system scalability, and load balancing. Support for heterogeneous data is because the information coming from the virtual world can be of different types and vary over time depending on the events and interactions that are collected, so that the right support heterogeneous data (not only in storage but features such as indexing, search, retrieval, etc.) will ensure the full support to the training processes in the health area. The features of scalability and load balancing in data persistence layer ensure that the data growth and aggregation over time are performed correctly, thus allowing the data persistence layer is capable of supporting each once more data load and adapt to the demands of use in both the present and the future .(iii)Web layer to provide information: this component should provide data on demand to the analyst or third party service. It must be able to properly access the system data persistence and above all to provide the data analyst with the way required by this want. Therefore, this component must have a specific API or software methods by which the analyst or software can define the data and the presentation that he or she needs.(iv)Software services or cloud services to analyze data storage at database: this component is one of the most complex cloud architectures. In it lie the logic of analysis and therefore much of the usefulness of cloud architecture and the logic support of the training process that takes place in the virtual world. Within this component many algorithms and logical processes of data analysis can be found. Depending on the objectives the analysis must support different collections of methods so that they can be applied separately or together. Due to the complexity of these tasks (cost in time, CPU cycles, etc.), the executions can not be raised on demand and must be performed automatically, saving the results in the data persistence layer, so they can be picked up later by analysts or when software processes require them.
Workflows (represented in the activity diagram of Figure 2)(a)Workflow for data collection is as follows.(i)User interacts with the virtual world, using the 3D scene and the theoretical concepts behind this training method.(ii)From virtual world (SL) to data collector layer: we use a data model for interconnection between virtual world and data collector layer based on RDF specification . The data model has a structure subject + verb + predicate (user + action + object and interaction data such as time). This data model allows the achievement of some goals, such as having a simple data model or having formal semantics and provable inference (e.g., for implementation of semantic analytics in the cloud) or even the possibility of using an extensible URI-based vocabulary (in the same way of part of RDF goals described in W3C specification). Requests are made via HttpRequest, containing in the URI the data as explained previously.(iii)Data collector to persistence layer: this communication is made with the concrete API of the data persistence layer technology. The collector component composes the data with the exact method and sends it to database layer.(b)Workflow for scheduled analytics tasks is as follows.(i)Analytics layer executes batch actions in order to get new knowledge from data storage in databases. For this purpose, it retrieves information from database, using the software methods according to storage technology. Later it executes the analytics tasks, by applying algorithms of data mining, statistical methods, Map/Reduce strategies [56, 57], and so forth.(ii)Finally, the results of the analysis tasks are stored in the persistence layer, so that they are recoverable by analysts.(c)Workflow for analysts is as follows.(i)User/software service requires data for analysis sending HttpRequests to data provider layer. This request may contain heterogeneous information about users involved in the interaction, objects, actions, date and time, and so forth. The request may also contain information about the format of the data returned from the request. This allows them to filter and get results in a more accurate way.(ii)Data provider layer uses the data petition to compose a new petition for data persistence layer, which will return the data requested.(iii)Finally, the data retrieved are sent to user or software in the way they require in the HttpRequest made at the beginning of the workflow.
4. Case Study
The case study presented here is based on the application of the cloud architecture described above to the case of a training process in quality assurance carried out by using a 3D environment as a virtual world like SL. Using data generated by user interaction, we propose the application of the system for collecting and analyzing data to help understand the process of training of pharmacy postgraduate students in quality assurance questions.
Our training scenario in this health area, Usalpharma Lab, is a pharmaceutical research and development (R&D) laboratory constructed in accordance with the quality standards demanded in the pharmaceutical industry. This kind of laboratories must meet current Good Laboratory Practice (GLP) norms. GLP refers to the set of regulations, operative procedures, and practices established by certain agencies, which are considered to be essential to ensure the quality and integrity of the data generated in different types of research or lines of study .
The layout of the laboratory is shown in Figure 3. According to this layout, the access to the laboratory is a special airlock system (SAS) that leads to the main laboratory area. Around the main area are different rooms such as document archives, storage, and production of purified and ultrapurified water. In sum it has much of the equipment and materials found in a real laboratory of this kind.
This laboratory has been built for training postgraduate students in quality assurance. Different scenarios are simulated in the installation in order to test the students auditing techniques knowledge. The students should follow a checklist with different items to audit, and they should identify regulation deviations alluding to the specific regulations aspect and should establish a classification of such deficiencies, depending on their criticality. Until now, all of the regulation deviations must be reflected in an audit report with a final decision about the adaptation level of the laboratory to the GLP regulation. Our goal is to use the cloud platform to improve the insight of the auditing process made by students, in order to allow these students to perform the activity without the teacher and anytime. For this reason, we propose a set of control points that will help us meet the audit system followed by them (Table 1).
Applying the cloud architecture, the teachers evaluation system could comprise both the audit report made by the student and all the interactive activity carried out for him into the platform. The report should reflect the student’s assessment of the regulation compliance and the information arising by the cloud system allowing the teacher to establish the traceability of the student activity into the laboratory. So, combining the report and the cloud data, the teacher can control and evaluate the activity in a total way (Table 2).
In order to perform a proof of concept of the proposed cloud architecture, we have implemented part of it, providing a minimal system that collects data from the virtual world, performs basic analysis that allows achieving the goals proposed to obtain knowledge about interaction, and provides a system for search and retrieval of data from analysts and teachers.
To develop the proof of concept, we have made use of three main technologies: LSL (Linden Scripting Language) , Django Web Framework , and MongoDB . We use LSL to send data from virtual world (from the SL private cloud); this communication is made in only one way and is made by only one request; this is so, to avoid the latency in virtual world. Latency is the enemy of games or virtual worlds, and the information transmitted from the virtual world to cloud architecture must fit into a single packet wherever possible .
We use Django Web Framework to develop several web applications and services, which allows articulating the different components of the cloud system. Finally, we use MongoDB database to perform the data persistence layer, because this database meets the premises of support heterogeneous data, correct scalability, and load balancing  that we discussed in the section of Workflows and Components.
Once we implemented (and deployed) the proof of concept with these technologies, we performed a series of tests and pilots with users, so that they could test the proper operation of this minimal system built.
The tests were carried out for 5 postgraduate students in pharmacy, so that they perform the audit training process (Figure 4), but without having to deliver the final report on the defects or regulation deviations.
To verify proper collection and use of analysis tasks we implemented a small web tool (Figure 5) to search and retrieve results data stored in the cloud architecture (through communication with the provider data layer).
As seen in Figure 5, we could perform various types of search, filtering by user or by object, and we can select if we want to read the checkpoints achieved by the user. For example, if you run a search for a user to check their interaction with the 3D environment (without considering the evaluation of checkpoints), we can get a result as shown in Figure 6. The results include the user, the interaction performed, the object that receives the interaction, and the date and time when the action was performed.
If we select the checkpoints information in search results, we can get results quite similar to Figure 7. These results include the number and percentage of checkpoints achieved by the user and which of them (clustered by types of items to audit) the user did not complete.
In light of the results, we can say that, through this cloud architecture for recovery and analysis of data, we can get a lot of detailed information about student activity within the virtual world, which otherwise is almost impossible to obtain in virtual worlds like SL. This solves a problem observed in this type of practice in a Virtual World : the teacher should be virtually present during the entire activity. Moreover, it is very difficult to review what are doing all students in the laboratory at same time. Therefore, applying this or other system to support the detailed control of user interaction, can be capital to organize activities such as this, even increasingly complex training and allowing to obtain better results.
Throughout this paper we have specified a complete cloud architecture, starting from abstract design to workflows and components and getting to perform a proof of concept applied to a real case training audit quality assurance in the field of health care.
We consider that this cloud architecture allows carrying out the activity without the teacher’s presence during the students practice. This is important to open new possibilities in training field. In addition it is possible to control and evaluate the students in a more efficient and complete way than the evaluation made in past time; this can improve the processes of training and reach more satisfactory results by the students.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Many thanks are due to all members of Usalpharma Team, especially to Hinojal Zazo and José Manuel Armenteros del Olmo for their collaboration in the tool development. Also, special thanks are due to Felicidad García Sánchez for the fantastic design of Figure 1, Usalpharma Cloud Architecture. Finally, the authors would like to thank the Ministry of Science and Innovation of the Spanish Government for funding the project under Identification no. TIN2010-21695-C02-01 and the Regional Council of Education of Junta de Castilla y León (Spain) through the Projects GR47 and MPLE (ref. SA294A12-2).
- A. J. Berlanga, F. J. G. Peñalvo, and P. B. Sloep, “Towards eLearning 2.0 University,” Interactive Learning Environments, vol. 18, no. 3, pp. 199–201, 2010.
- F. J. García-Peñalvo, R. Colomo-Palacios, and M. D. Lytras, “Informal learning in work environments: training with the Social Web in the workplace,” Behaviour & Information Technology, vol. 31, no. 8, pp. 753–755, 2012.
- D. Maggiorini and L. A. Ripamonti, “Cloud computing to support the evolution of massive multiplayer online games,” Communications in Computer and Information Science, vol. 220, no. 2, pp. 101–110, 2011.
- J. Waldo, “Scaling in games and virtual worlds,” Communications of the ACM, vol. 51, no. 8, pp. 38–44, 2008.
- K. Andreas, T. Tsiatsos, T. Terzidou, and A. Pomportsis, “Fostering collaborative learning in Second Life: metaphors and affordances,” Computers and Education, vol. 55, no. 2, pp. 603–615, 2010.
- M. N. K. Boulos, L. Hetherington, and S. Wheeler, “Second Life: an overview of the potential of 3-D virtual worlds in medical and health education,” Health Information and Libraries Journal, vol. 24, no. 4, pp. 233–245, 2007.
- S. C. Baker, R. K. Wentz, and M. M. Woods, “Using virtual worlds in education: second life as an educational tool,” Teaching of Psychology, vol. 36, no. 1, pp. 59–64, 2009.
- P. R. Messinger, E. Stroulia, K. Lyons et al., “Virtual worlds—past, present, and future: new directions in social computing,” Decision Support Systems, vol. 47, no. 3, pp. 204–228, 2009.
- 2013, Second Life, http://secondlife.com.
- V. Patel, R. Aggarwal, D. Cohen, D. Taylor, and A. Darzi, “Implementation of an interactive virtual-world simulation for structured surgeon assessment of clinical scenarios,” Journal of the American College of Surgeons, vol. 217, no. 2, pp. 270–279, 2013.
- E. Melús-Palazón, C. Bartolomé-Moreno, C. Palacín-Arbués, A. Lafuente-Lafuente et al., “Experience with using second life for medical education in a family and community medicine education unit,” BMC Medical Education, vol. 12, no. 1, pp. 1–1, 2012.
- L. Beard, K. Wilson, D. Morra, and J. Keelan, “A survey of health-related activities on second life,” Journal of Medical Internet Research, vol. 11, no. 2, article e17, 2009.
- K. M. N. Boulos, R. Ramloll, R. Jones, and S. Toth-Cohen, “Web 3D for public, environmental and occupational health: early examples from second life,” International journal of environmental research and public health, vol. 5, no. 4, pp. 290–317, 2008.
- 2013, Healthinfo Island, http://maps.secondlife.com/secondlife/Healthinfo%20Island/128/127/23/.
- Imperial Collage London, http://maps.secondlife.com/secondlife/Imperial%20College%20London/149/85/26/.
- Virtual Hallucinations, http://maps.secondlife.com/secondlife/Sedig/26/45/21.
- Second Health London, http://maps.secondlife.com/secondlife/Second%20Health%20London/121/211/23/.
- D. R. Danforth, M. Procter, R. Chen, M. Johnson, and R. Heller, “Development of virtual patient simulations for medical education,” Journal For Virtual Worlds Research, vol. 2, no. 2, pp. 1–1, 2009.
- A. Lee and Z. L. Berge, “Second life in healthcare education: virtual environment's potential to improve patient safety,” Knowledge Management & E-Learning: An International Journal, vol. 3, no. 1, pp. 1–7, 2011.
- J. Phillips and Z. L. Berge, “Second life for dental education,” Journal of Dental Education, vol. 73, no. 11, pp. 1260–1264, 2009.
- L. I. Kidd, S. J. Knisley, and K. I. Morgan, “Effectiveness of a second life simulation as a teaching strategy for undergraduate mental health nursing students,” Journal of Psychosocial Nursing and Mental Health Services, vol. 50, no. 7, pp. 28–37, 2012.
- E. Conradi, S. Kavia, D. Burden et al., “Virtual patients in a virtual world: training paramedic students for practice,” Medical Teacher, vol. 31, no. 8, pp. 713–720, 2009.
- Game-based learning for Virtual Patients—Multi patients, http://www.youtube.com/watch?v=VhQ8MjdRq4.
- Medical training in Second Life, http://live.wsj.com/video/medical-training-in-second-life/9F96D4FB-AFF3-4D08-8F3F-E437AF63B974.html#!9F96D4FB-AFF3-4D08-8F3F-E437AF63B974.
- S. Kirk, Pharmacy Enters Second Life, The British Journal of Clinical Pharmacy, 2009.
- J. Schwaab, N. Kman, R. Nagel et al., “Using second life virtual simulation environment for mock oral emergency medicine examination,” Academic Emergency Medicine, vol. 18, no. 5, pp. 559–562, 2011.
- B. Zevin, R. Aggarwal, and T. P. Grantcharov, “Surgical simulation in 2013: why is it still not the standard in surgical training?” Journal of the American College of Surgeons, vol. 218, no. 2, pp. 294–301, 2013.
- A. Richardson, M. Hazzard, S. D. Challman, A. M. Morgenstein, and J. K. Brueckner, “A “Second Life” for gross anatomy: applications for multiuser virtual environments in teaching the anatomical sciences,” Anatomical Sciences Education, vol. 4, no. 1, pp. 39–43, 2011.
- Genome Island, http://maps.secondlife.com/secondlife/Genome/118/144/52.
- V. Hall, S. Conboy-Hill, and D. Taylor, “Using virtual reality to provide health care information to people with intellectual disabilities: acceptability, usability, and potential utility,” Journal of Medical Internet Research, vol. 13, no. 4, article e91, 2011.
- J. Wiecha, R. Heyden, E. Sternthal, and M. Merialdi, “Learning in a virtual world: experience with using Second Life for medical education,” Journal of Medical Internet Research, vol. 12, no. 1, p. e1, 2010.
- L. Billingsley, K. Rice, M. Bennett, and S. Thibeau, “Using a multiuser virtual environment to facilitate nursing journal clubs,” Clinical Nurse Specialist, vol. 27, no. 3, pp. 146–154, 2013.
- Cigna Virtual Worlds, http://www.youtube.com/watch?hl=en-GB&gl=GB&v=4KRKxv6E8pA.
- E. K. Yuen, J. D. Herbert, E. M. Forman, E. M. Goetter, R. Comer, and J.-C. Bradley, “Treatment of social anxiety disorder using online virtual environments in second life,” Behavior Therapy, vol. 44, no. 1, pp. 51–61, 2013.
- A. Gorini, A. Gaggioli, C. Vigna, and G. Riva, “A second life for eHealth: prospects for the use of 3-D virtual worlds in clinical psychology,” Journal of Medical Internet Research, vol. 10, no. 3, article e21, 2008.
- Usalpharma, http://www.youtube.com/watch?v=KhJXSzyPamc.
- Joint Commission of Pharmacy Practitioners, Future Vision of Pharmacy Practice, http://amcp.org/Tertiary.aspx?id=8463.
- A. Martín-Suárez, D. Sánchez, M. J. F. Izard, and E. Clavijo, “Aprendizaje del ejercicio profesional de la Atención Farmacéutica en un mundo virtual,” Teoría De La Educación En La Sociedad De La Información TESI, vol. 12, no. 4, pp. 71–87, 2011.
- A. Martín-Suárez, E. Clavijo, D. Sánchez, M. J. García, and A. Domínguez-Gil, Learning in A virtual World: Drug Dispensing practices in Second Life, New Orleans, Louisiana, 2011.
- G. C. Millán, Z. A. Castañeda, M. J. de Jesús Valle, J. M. Lanao, F. G. López, J. S. Pérez-Blanco et al., Utilización De Una PLataforma Virtual 3D Para La PresEntación De Trabajos En El Grado De Farmacia, Alicante, Spain, 2013.
- M. C. Martín, J. S. Pérez-Blanco, H. Zazo, A. J. del Olmo, C. J. Benito, and A. Martín-Suárez, Auditing Training Practice To Postgraduate Pharmacy Students in A Virtual World, Anakara, Turkey, 2013.
- M. C. Martín, J. S. Pérez-Blanco, A. J. del Olmo, H. Zazo, D. Sánchez, C. J. Benito et al., Satisfacción De Los Estudiantes De Postgrado Con Una Práctica De second Life, 2012.
- C. J. Benito, R. Therón, E. Pizarro, and F. J. García-Peñalvo, “Knowledge discovery in virtual worlds usage data: approaching web mining concepts to 3D virtual environments,” in Proceedings 4th International Workshop on Knowledge Discovery, Knowledge Management and Decision Support, pp. 1–11, July 2013.
- M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski et al., “Above the clouds: a berkeley view of cloud computing. Dept electrical eng and comput sciences,” Tech. Rep., University of California, Berkeley, Calif, USA, 2009.
- M. Armbrust, A. Fox, R. Griffith et al., “A view of cloud computing,” Communications of the ACM, vol. 53, no. 4, pp. 50–58, 2010.
- Amazon Web Services (AWS), http://aws.amazon.com/.
- Engine Platform as a Service, https://developers.google.com/appengine/.
- Heroku, Cloud Application Plaftorm, https://www.heroku.com/.
- F. Buschmann and K. Henney, Pattern-Oriented Software Architecture-A System of Patterns, John Wiley and Sons, 1996.
- P. M. Papazoglou, “Service-oriented computing: concepts, characteristics and directions,” in Proceedings of the 4th International Conference on, pp. 1–4, September 2003.
- M. Varvello, S. Ferrari, E. Biersack, and C. Diot, “Exploring second life,” IEEE/ACM Transactions on Networking, vol. 19, no. 1, pp. 80–91, 2011.
- P. Mell and T. Grance, “The NIST definition of cloud computing (Draft),” NIST Special Publication, vol. 800, no. 145, p. 7, 2011.
- V. Stantchev and M. Malek, “Addressing dependability throughout the SOA life cycle,” IEEE Transactions on Services Computing, vol. 4, no. 2, pp. 85–95, 2011.
- J.-D. Cryans, A. April, and A. Abran, “Criteria to compare cloud computing with current database technology,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 5338, pp. 114–126, 2008.
- G. Klyne, J. J. Carrol, and B. McBride, Resource Description Framework (RDF): Concepts and Abstract Syntax, W3C Recommendation, 2004.
- H.-C. Yang, A. Dasdan, R.-L. Hsiao, and D. S. Parker, “Map-reduce-merge: simplified relational data processing on large clusters,” in Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD '07), pp. 1029–1040, June 2007.
- R. McCreadie, C. Macdonald, and I. Ounis, “MapReduce indexing strategies: studying scalability and efficiency,” Information Processing and Management, vol. 48, no. 5, pp. 873–888, 2012.
- Organisation for Economic Co-operation and Development. OECD principles of good laboratory practice (as revised in 1997), Paris, OECD, 2008.
- Linden Scripting Language, http://wiki.secondlife.com/wiki/LSL_Portal/.
- Django Web Framework, https://www.djangoproject.com/.
- D. B. Mongo, 2013, NoSQL & Big Data Database, http://www.mongodb.com/.
Copyright © 2014 Francisco J. García-Peñalvo et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.