KoopaML, a Machine Learning platform for medical data analysis

Machine Learning allows facing complex tasks related to data analysis with big datasets. This Artificial Intelligence branch allows not technical contexts to get benefits related to data processing and analysis. In particular, in medicine, medical professionals are increasingly interested in Machine Learning to identify patterns in clinical cases and make predictions regarding health issues. However, many do not have the necessary programming or technological skills to perform these tasks. Many different tools focus on developing Machine Learning pipelines, from libraries for developers and data scientists to visual tools for experts or platforms to learn. However, we have identified some requirements in the medical context that raise the need to create a customized platform adapted to end-user found in this context. This work describes the design process and the first version of KoopaML, an ML platform to bridge the data science gaps of physicians while automatizing Machine Learning pipelines. The platform is focused on enhanced interactivity to improve the engagement of physicians while still providing all the benefits derived from the introduction of Machine Learning pipelines in medical departments, as well as integrated ongoing training during the use of the tool’s features.


Introduction
Machine Learning (ML) applications are continuously growing in different fields. The application of ML algorithms enables the possibility of providing support to automate the undertaking of complex tasks.
Moreover, datasets are constantly being generated through several sources, providing enough data to apply these kinds of algorithms. However, the application of ML is not trivial; it is necessary to rely on data science and programming skills to select the proper algorithm and preprocess the datasets accordingly.
This discipline has permeated many areas, one of those is medicine, with applications in a wide range of fields, from diagnosis and prediction of risk factors to drug development (Nature Materials, 2019;Spruit & Lytras, 2018); although the accuracy of the results is directly linked to the quality of the data provided (Rajkomar et al., 2019). The health context involves several tasks, including diagnosis, classification, disease detection, segmentation, assessment of organ functions, etc. (González Izard et al., 2020;Izard et al., 2018;Litjens et al., 2017), that can be partly automated and enhanced through artificial intelligence support.
More and more medical professionals want to learn about Machine Learning, train their first ML model, or expand their knowledge and skills on preparing or processing their data for training. However, applying ML is not an easy task without technical knowledge. If we focus on health domain, using datasets and ML algorithms in a sensitive task. It could be dangerous that medical professionals do not understand how to use a model or how to analyze the data.
Given the benefits that can be derived from the application of ML in the medical domain, it is crucial to democratize knowledge regarding algorithms and pipelines, as it could enable non-expert users to support their decision-making processes with Artificial Intelligence (AI).
In this study, we present KoopaML, an ML platform to assist non-expert users in the definition and application of ML pipelines. The main challenge of this platform is to provide a proper user interface to ease the understanding of the outcomes and processes involved in ML pipelines. For these reasons, we followed a user-centered design approach to capture requirements and needs from a variety of users profiles, including AI experts and non-experts. This paper extends the work presented initially at the International Conference VII Iberoamerican Conference on Human-Computer Interaction (García-Holgado et al., 2021).
The rest of the paper is structured as follows. Section 2 outlines related applications and works to assist users in ML and data science tasks. Section 3 describes the ML platform proposal. Section 4 details the user study carried out to validate the conceptual application. Section 5 summarizes the focus group results and presents the first version of the application. Section 6 provides technical details about the development and deployment. Finally, section 7 presents the conclusions derived from this work.

Related works
Several tools are already developed for supporting ML processes. We can organize them into the following categories: • Tools that require programming skills (for developers and data scientists). • Tools that do not require programming skills. This category is also divided into two subcategories: o Tools for target experts and non-specialized users. o Tools for educational purpose. First, tools for developers and data scientists provide libraries for creating ML applications. For example, TensorFlow, which is an ML system that operates at large scale and in heterogeneous environments (Abadi et al., 2016), helps researchers push the state-of-the-art in ML and developers quickly build and deploy ML-powered applications. Moreover, Kubeflow (Bisong, 2019b) is dedicated to deploying ML workflows in Kubernetes, an open source orchestrator for deploying containerized applications (Burns et al., 2017). This toolkit started as a simpler way to run TensorFlow jobs on Kubernetes, but it has become a framework for running end-to-end ML pipelines.
Another example is Apache Mahout, a library for scalable ML on distributed dataflow systems (Anil et al., 2020). Also, Apache has Spark MLlib, a library for Apache Spark (Zaharia et al., 2016) with "fast and scalable implementations of standard learning algorithms for common learning settings including classification, regression, collaborative filtering, clustering, and dimensionality reduction" . In this category, we can also include libraries for Python such as PyTorch, Scikit-learn, or Keras.io, and cloud services such as Google Colab, which is a serverless Jupyter notebook environment (Bisong, 2019a).
Second, there are applications for target experts and at the same time provide tools for non-specialist users. Several applications provide visual environments that support the visual definition of ML models.
For example, Weka, a collection of ML algorithms for data mining tasks. It has four environments: Simple CLI, a simple interface based on commands; Explorer, to explore the dataset; Experimenter, systematic comparison of a run of Weka's predictive algorithms on a collection of datasets; and Knowledge Flow, a visual interface that enables users to specify a data stream by graphically connecting components representing data sources, preprocessing tools, learning algorithms, evaluation methods, and visualization tools Hall et al., 2009).
RapidMiner Studio provides tools for building ML workflows in a comprehensive data science platform. It has the Visual Workflow Designer tools to create ML workflows, and each step is documented for complete transparency. This part of the tool allows connecting the data source, automated in-database processing, data visualization as well as the Model Validation process (Bjaoui et al., 2020).
SPSS by IBM includes a product for supporting visual data science and ML. The main work area in SPSS Modeler is the stream canvas, an interface to build ML streams connecting nodes (McCormick & Salcedo, 2017).
Another example is the KNIME Analytics Platform. It provides tools for creating visual workflows for data analytics with a graphical interface without the need for coding. KNIME is a modular environment, which enables easy visual assembly and interactive execution of a data pipeline (Berthold et al., 2009).
On the other hand, the ML has started to introduce in primary and secondary education. This has prompted the development of tools to help non-expert users, such as children, to perform simple ML processes using a visual interface. In particular, two tools are noteworthy. LearningML , which is a tool to foster computational thinking skills through practical AI Projects, and Machine Learning for Kids (https://machinelearningforkids.co.uk). Both tools are based on a simple pipeline used to train models and integration with other tools to use the trained model. In particular, both are integrated with Scratch, a visual programming language based on blocks developed by the Media Lab of the Massachusetts Institute of Technology.
There are plenty of powerful applications focused on easing the application of ML algorithms as well as educational tools to understand these complex workflows. However, our application context asks for a customized tool with specific requirements related to the health sector and more emphasis on providing an educational experience to those unskilled users while using the platform. The following sections will outline these requirements and our approach to address the needs regarding the automatization of ML pipelines in this domain.

The problem
The health sector is taking advantage of AI algorithms to enhance the decision-making processes and support complex common activities such as image segmentation, disease detection, identification of risk factors, etc (González Izard et al., 2020;Izard et al., 2018;Litjens et al., 2017). However, it is important to rely on robust data science skills to benefit from these algorithms. In fact, in the health sector, it is necessary to rely both on data science skills as well as on domain knowledge to get the most out of the application of AI pipelines in the health sector and to avoid biases (C. Weyerer & F. Langer, 2019;Ferrer et al., 2021;Hoffman, 2021;Wachter et al., 2021).
Having both data science skills and domain knowledge is very powerful, but it is also challenging, as physicians are not usually (deeply) trained in data science, and data scientists might not be specialized in specific domains. For these reasons, it is necessary to support them to acquire these skills and fill the domain knowledge gaps, which are usually addressed by having multidisciplinary teams.
However, bringing AI and data science concepts closer to physicians would be more efficient, as they would be less dependent on data scientists (Miller, 2019). The presented tool lays its foundations on this specific issue: to support domain experts to fill data science gaps while automatizing ML pipelines.
Section 2 proved that there are already plenty of tools that address the automatization of AI and data science pipelines, but the necessity of adapting them to the user needs identifying in the medical sector asks for a customized tool. Although these tools are mostly generic and powerful, we want to focus on enhanced interactivity to improve the engagement of physicians while still providing all the benefits derived from the introduction of ML pipelines in medical departments, as well as an integrated ongoing training during the use of the tool's features.
On the other hand, the necessity of developing KoopaML was also motivated by the specific requirements of AI team from the cardiology department of the University Hospital of Salamanca, as they have developed different ML pipelines they wanted to make reusable and accessible to other teams (Sampedro-Gómez et al., 2020).
Moreover, by developing this customized platform, we can also focus on the integration of these services with other developed applications for the cardiology department of the University Hospital of Salamanca, such as the CARTIER-IA platform (García-Peñalvo, Vázquez-Ingelmo, et al., 2021;Vázquez-Ingelmo et al., 2021), fostering the creation of a robust technological ecosystem (García-Holgado & García-Peñalvo, 2017, 2019).

User needs
The development of the tool follows a user-center approach. The first step was defining the audience to develop a solution appropriate to users' needs, objectives and situations. Therefore, it is essential to understand the users that make up the target audience. We have used Alan Cooper's Persona method (Cooper, 1999) for identifying and defining the primary and secondary users. We followed the 10-step guide by Lene Nielsen (Nielsen, 2003(Nielsen, , 2004(Nielsen, , 2013a(Nielsen, , 2013b): 1. Collect data about who the users are, how many, what they will do with the system. 2. Form a hypothesis. To identify the differences among the users. 3. Ensure everyone accepts the hypothesis. 4. Establish a number of personas. 5. Construct and describe your personas. 6. Prepare situations for your personas to identify needs and situations.
The users' analysis was conducted in collaboration with the cardiology department of the University Hospital of Salamanca. In particular, we have a meeting to discuss about their needs. After the meeting, we proposed a set of user profiles and domain experts provided feedback. Based on the analysis of the users, the Persona technique was applied to be able to deepen our understanding of the users' needs. The users have been categorized into two target groups. The main user group is physicians. They have knowledge or interest in AI/ML and have data. Moreover, they do not have enough knowledge of programming or using AI algorithms. These users are also characterized by a wide age range and different levels of digital competence, which also influence the user needs.
The main target group was divided into several User Persona representing the whole group due to the wide age range and the many different personalities. For each User Persona the following information was collected: • Body, including name, age, and picture.
• Psyche, to indicate whether the person is introvert or extrovert. • Background from the point of view of occupation.
• Emotions and attitudes about technology, relationships, and information. • Personal characteristics. The secondary user group is students and ML experts. Medical students neither do they have knowledge of programming, but they are mostly young, and it is supposed that they have more experience with digital tools. Regarding ML experts, they have knowledge of AI/ML as well as programming skills; however, they are not domain experts. We defined two User Persona, one to represent students and one to represent ML experts: The needs of physicians and medical students are mainly focused on: • Get a tool to apply AI/ML in medical datasets without technical expertise and with limited knowledge of ML. • Visualize and analyze medical data.
• Learn about data analysis and its usefulness and benefits in medicine. • Learn about ML algorithms in a practical way.
• Be able to use an ML application that allows detailed data visualization and helps in interpreting the data.
On the other hand, the needs of ML experts lie in facilitating the integration of algorithms in ML pipelines. Furthermore, we also identify customization as a need. They need to modify the parameters and heuristics of an ML algorithm and learn from the results of their tests.

Main scenarios
User scenarios are stories about people and their activities (Carroll, 2000). In particular, for each User Persona, their main need and the scenario where each one would occur have been identified (Table 1). Through this analysis, we identified the main scenarios. We have identified five scenarios that cover the goals and questions to be achieved through the tool. The scenarios are mainly focused on supplying the needs of the physicians, the main user group. A physician who often deals with a large amount of information that he wants to be able to organize, analyze and visualize.

Aarón
Learn about data analysis and its usefulness and benefits in medicine.
A physician who wants to learn new techniques and tools to help him in his profession.

Sheila
Be able to use an ML application that allows detailed data visualization and helps in interpreting the data.
A physician who attaches great importance to the visualization and interpretation of data.

Leticia
Learn about ML algorithms in a practical way.
A resident intern who has observed her mentor using image recognition with ML at work and wonders whether it might be better to use a different algorithm and when it is more appropriate to use one or the other.

Laura
Learn the basics and operation of ML to understand the theory that she is studying quickly.
Fifth-year medical student studying ML applied to medicine.

Juan
Be able to customize the parameters and heuristics of an ML application and learn from the results of his tests.
An ML expert who wants to be able to customize the parameters and heuristics of a machine learning application.
First scenario is the pipelines definition. The platform interface will allow the definition of ML pipelines through graphical elements and interactions to materialize the tasks defined using a programming approach such as those developed using SciLuigi (https://github.com/pharmbio/sciluigi), a wrapper for Spotify's Luigi library (https://github.com/spotify/luigi), the Python module to build complex pipelines of batch jobs. Users will be able to customize the pipeline and access the intermediate results, as well as save configurations for sharing or later use.
The second scenario covers the algorithm training. Users of the platform will be able to train various algorithms by providing some input data. The platform will allow the user to choose the type of algorithm and configure the parameters associated with it. It is proposed that the algorithm and parameter selection process will be guided by a series of heuristics based on existing literature (although it is also proposed that expert users can add or modify these heuristics) depending on the scheme, the problem to be solved and the volume of data entered.
The third scenario is focused on visualization and interpretation of the results. Various metrics and results will be obtained after training is completed depending on the algorithm or ML model used. These results can be ROC curve plots, cut-off points with specificity/sensitivity values, variable importance, etc. The platform will assist users in interpreting these results through visualizations, annotations, and explanations.
The next identified scenario will support the data checking and visualization. Users will also be able to check and visualize the input data to explore it. Moreover, the platform will provide feedback regarding the potential problems of the dataset and the feasibility of using different algorithms on the input data.
Finally, the last scenario is related to the use of heuristics. This scenario addresses two objectives, one focused on medical students without ML knowledge and the other for ML experts. First, using heuristics through a rule-based recommender will be a functionality to use the platform as a didactic tool. The feature will provide a guided process during the definition of pipelines, selection, and training of algorithms, interpretation of the results, etc., to provide an educational component in the platform itself for those users who are not experts in AI or programming. This recommender system will help to reduce incorrect use of the algorithm, for example, when the user has a dataset that cannot use with a particular algorithm regarding the distribution of the data or the size.
Secondly, the heuristics are also for ML expert users, who may be physicians, data scientists, or developers. Particularly, we have identified customization as the main need for ML experts. For this reason, the platform will allow the modification of heuristics. The basic heuristics will be based on existing literature (Buitinck et al., 2013;Scikit-Learn, 2020), but expert users will be able to modify them through XML documents or a graphical interface, being able to store several versions of the heuristics used in the platform.

Concept validation
The test phase was focused on validating the application to make sure it works well for the primary and secondary users, physicians, and ML experts. In particular, we focused on identifying the design requirements through a focus group with real users.
The concept validation included the development of a high-fidelity prototype (Pernice, 2016) using Adobe XD together a remote focus group (Krueger & Casey, 2014) with final users testing the digital prototype remotely and answering questions related to usability to identify problems and discover new requirements.

The prototype
KoopaML aims to assist non-expert users in the definition and application of ML pipelines. The platform will also support the integration with other developed tools.
There are three types of user roles to represent the main target groups. First, "regular user" represents users without advanced knowledge of ML. Usually, physicians and students have this role when they register on the platform. Regular users can use the main functionality of the application. The second user role is "expert", which represents users with advanced knowledge of ML. The expert role has access to the regular user's functionality and can manage the application's heuristics. Finally, the admin role has permissions to perform all the tasks available in the platform, in addition to managing user accounts (validation, creation, deletion, and modification).
The tool is divided into different screens that bring together all the functionality (Figure 1). We can organize the functionality into three groups: the public pages for anonymous users, the functionality related to creating and managing projects, and the functionality to manage users. First, the homepage provides information about the platform and user access. The platform is fully private, so access is protected by user registration and login. In addition, the user sign-in involves a validation process, so users apply for a new account and administrators must approve it.
The next set of functionality focuses on project management within the platform. A project represents an ML pipeline with one or more data inputs and one or more outputs. Users (both regular and experts) will create ML projects. The platform allows saving the projects in a personal area (Figure 2), so users can reuse the ML pipelines as many times as needed. However, the datasets and the results are not saved in the platform; only the pipeline and the configuration of each node inside the pipeline are saved. This decision was made to avoid problems managing sensitivity medical information. The responsibility of uploading non anonymous medical data fall in the users, although in medical context, and in cardiology, the medical software provides datasets already pseudoanonimized. Users can also download projects to have a copy or send them to another user using any other media (email, shared folder, etc.). Users can upload those projects to their accounts through their personal area using an URL to a shared space or a zip file located in the computer. Most of the functionality is in the project editor ( Figure  3). The editor allows creating a new pipeline or editing an existing one. This interface is divided into three main parts. First, a top bar provides access to the personal area and user account. It also has a button to reset the project.
Second, a toolbar containing all the nodes that can be added to the pipeline grouped by categories: data, data preparation, data processing, visualization, ML algorithms, and evaluation. The design is conceived to be able to add new nodes over time. The data preparation and data processing nodes will ensure the data is in the correct format to be used in the tool. In particular, the first version of the tool will support CSV files due to it is the format provided by the medical tools used in the cardiology department.
Moreover, the toolbar provides tools for joining nodes, configuring, executing, and saving the project. The toolbar has two views, a simplified view for expert users and regular users with enough experience using the platform and a detailed view showing the name of all nodes and categories.
The last and principal part of the project editor is the workspace, a blank area to build the pipeline connecting different nodes (Figure 3). Each node has inputs and outputs; it produces an output, a set of results, which are the input to the next node. A node can be connected with several nodes, for example, a visualization node to get a visual analysis of the intermediate results and a node to apply an algorithm to that dataset. The nodes also have different visual marks to provide useful information: • A warning mark in those cases in which there is missing information, a problem in the execution of the node or a recommendation to improve the configuration of the node. • A result mark to indicate that this node produces as output a set of intermediate results that can be retrieved when the pipeline is executed. • A suggestion mark provides additional information and supports regular users without ML knowledge.
Furthermore, the functionality associated with project management is completed with an interface to manage the heuristics. This tool is accessible only for expert users and administrations through the personal area. Experts can modify the parameters and heuristics of an ML algorithm and learn from the results of their tests. It is possible to create new heuristics, delete and modify existing heuristics, except for the base heuristic.

The focus group
The focus group is a qualitative technique that involves a group of participants discussing a topic directed by the researcher. Through a focus group, we can learn about users' attitudes, beliefs, desires, and reactions to concepts (Cope, 2020). It provides valuable assistance to the specification of the interaction and visual design concept of the product under consideration (Kuhn, 2000).
The objective of the focus group is to identify the design requirements and test the digital prototype. The focus group was organized fully online to facilitate user participation and to meet the social distancing measures established by the COVID-19 health crisis (Fardoun et al., 2020;García-Peñalvo et al., 2020;García-Peñalvo, Corell, et al., 2021). We used Zoom as a communication tool because it not only supports grid view, but also allows remote control. During the focus group we gave remote control to some participants to perform some tasks within the digital prototype in Adobe XD.
The participants in the focus group represented the User Persona previously identified: • CE1: A cardiologist with some knowledge of ML.
• CE2: A cardiologist and researcher involved in ML projects. • CE3: A cardiologist with a positive attitude towards ML. • DE1: A physics and data scientist.
• DE2: An industrial engineer and data scientist.
• DE3: A software engineer and data scientist.
• S1: A computer science student working on an ML project related to cardiology.
The focus group was in Spanish, it took 60 minutes, and it was moderated by three women researchers related to software engineering and human-computer interaction. The discussion was divided into two phases. A first phase in which we introduced the platform and explained the user access and roles; and a second phase in which participants answered different questions related to the main parts of the digital prototype (the personal area and the workspace).
There were common questions for each screen: • Can you identify briefly what can be done on this screen? • Can you describe it?
• What is your opinion regarding the visual aesthetics of the screen?
After these questions, the moderators shared some specific questions for each part. First, some questions focused on the personal area ( Figure 2): • How would you delete a project? • How would you download a project? • How would you create a project?
Second, questions focused on the workspace of a new project: • How would you start an ML pipeline?
• Do you know how to continue the workflow from this first node? • How would you modify a previous/already created project?
Later, we showed a workspace with an ML pipeline example (Figure 3): • Could you describe what you see on this screen? • How would you get the results once you have the ML pipeline defined? • How would you explore the results of the ML pipeline?
Finally, some general questions: • Have you been able to see how to navigate between screens? • What positive aspects of the platform have caught your attention? • What negative aspects of the platform have caught your attention? • What tasks would you like to perform with the platform?
Some questions also involved the interaction of a volunteer with the digital prototype using the remote-control tool provided by Zoom.

Results
The analysis of the focus group was focused on identifying positive and negative aspects across the different screens. Moreover, we identified a set of suggestions.

Positive comments
The ML experts (DE1, DE2, DE3) and cardiologists (CE1, CE2, CE3) have similar opinions about the workspace. Both indicate that it is an intuitive interface (CE3), notably the first step for uploading data to begin a pipeline (CE2, DE3) and the interaction to add nodes into the pipeline (CE2). Furthermore, CE1 highlights the general order of steps suggested by the category organization in the toolbar. All user groups have underlined the tools to facilitate the use of the platform for users with basic knowledge of ML, such as the tooltips (DE3) and the information about errors and recommendations associated to a pipeline (CE2).
Likewise, domain and ML experts emphasize the design. CE1 indicates that the look & feel is good, and DE3 likes the appearance with a few well-organized buttons and plenty of white space to get started.
Cardiologists pay more attention to pipeline execution. CE1 and CE2 comment on the option of executing each node step by step and seeing results from the initial stages without waiting to get the final results of the pipeline.
On the other hand, ML experts pay more attention to flexibility. The platform allows creating pipelines with few (or many nodes) connecting them in any order (DE1, DE3). Moreover, DE2 remarks that the platform allows adding different ML models and visualizing many interim results.
Finally, the participants highlighted several general positive aspects of the digital prototype. Both ML experts and cardiologists emphasized the interface design, navigation, and simplicity of the tool. Moreover, the ML experts point out that the tool is quite scalable.

Negative comments
Regarding the negative aspects, we have identified the following: • The way the toolbar is expanded is not intuitive. (DE1).
• The "save data" category of nodes confuses their function. (CE1, DE1, DE3). • Not fully self-explanatory. It is unclear how to proceed to create and join nodes the first time you use the tool if you have not used a similar tool before. Invites you to follow a trial-and-error strategy. (CE1). • It is not clear which tasks are in progress and which have been completed during the pipeline execution. (DE3).

Suggestions
Throughout the focus group, the participants suggested several improvements to reduce the identified negative aspects: • Support new users with the platform indicating which are the first elements of an ML pipeline (DE3) and a set of guidelines or instructions to start the definition of the pipeline (DE3). According to CE1, it would be useful as an example (initial simulation) showing how the platform works. • Improve the toolbar with tooltips (CE1) and use the expanded view as default (CE2). • Provide a set of short video tutorials on using the tool, illustrating basic operation and more concrete things (CE1, DE3). • Restrict the options for defining the pipeline to beginners and allow total flexibility for experts (DE3). For example, a default pipeline structure for people with basic ML skills, so they can start a project with two clicks and learn how to do it (DE2). • Changing the name of the subcategory "save data" to "download or export data" (DE3). • Add a visual help to know how to join the nodes within the pipeline (CE1). • Enable execution not only from the toolbar, but also using the right mouse button because this is a common interaction with this type of tool (DE3). • Include an execution mark to indicate whether the node's execution within the pipeline was successful or there was a problem (DE1).

First version
The feedback received during the focus group was used to solve the negative comments and introduce the suggested improvements in a second version of the digital prototype. This new version was validated by the domain and ML experts involved in the focus group. This second validation was done via email. The validated prototype was used to develop the first version of the platform. The main improvements have been the following: • When a user starts a new project, a list of video tutorials is displayed, showing from first steps to more advanced tips on the functionality of the tool (Figure 4). • The menu bar is expanded when a user starts a new project (Figure 4). • Tooltips indicating the name of each category when the menu is collapsed. • During the execution of a pipeline, indicate which tasks have been completed and which are still in progress ( Figure 5). • In the first version implementation, the nodes become squares to clearly see the joints and the input and output parameters of the nodes ( Figure 6). • Removal of the join node option in the side menu; the joins are made by clicking on the inputs or outputs of the nodes and drawing a line, so this option was useless in the menu. • The heuristic codification is represented through a flowchart (Figure 7). This codification will be based on pseudocode to represent the variables and the connections between them. Moreover, heuristics can be updated, so the flowchart associated will show the changes and the system will change the recommendations based on the updated heuristic.

Deployment
The application was developed using Django, a Python web development framework that allows applications to be scalable thanks to its loosely coupled philosophy [7], due to each component of the application architecture is independent of other components, which facilitates its modification. Regarding the interface, we used Bootstrap combined with jQuery. The development has also integrated a set of libraries. First, Rete.js has been integrated to create and modify the nodes that make up the pipelines. Rete.js is a modular JavaScript framework oriented to visual programming.
The FlowChart.js library has also been used for the flowchart representation of the heuristics defined in the application. This allows users with the role of administrator or expert to code heuristics in a language similar to pseudocode and graphically visualize them. For the coding of the base heuristic, the Scikit-learn decision tree was used (Scikit-Learn, 2020).
On the other hand, we have used Pandas, a Python data analysis library. In particular, we applied Pandas for data analysis and manipulation tool.
Finally, we also integrated Scikit-learn, an ML library for Python. This library contains already implemented algorithms for Machine Learning and statistical modeling, including classification, regression, clustering and dimensionality reduction.
We deployed the application on a server with Ubuntu 18.04 LTS. In particular, we used the Gunicorn server, a Web Server Gateway Interface (WSGI) HTTP server to deploy the application together with the Nginx proxy server, a virtual environment and a database based on MongoDB 4.4.6 Community Edition (Figure 8).

Conclusion
The health sector produces many datasets with useful information to support decision-making processes and complex common activities. However, physicians are not deeply trained in data science, although they have the domain knowledge. On the other hand, ML experts are not usually experts in the domain. This work describes the design process of KoopaML, an ML platform to bridge the data science gaps of physicians while automatizing ML pipelines.
There are different tools focused on developing ML pipelines, such as RapidMiner, KNIME Analytics Platform, or SPSS Modeler. However, we have identified some requirements in the medical context that raise the need to create a customized platform adapted to end-user found in this context: physicians with a lack of ML and programming skills that are interested in taking advantage of the application of these algorithms.
One of the novel features of KoopaML that differentiates it from other tools is the flexibility regarding the definition of heuristics. Thanks to the heuristics module, AI experts can tune recommendations and adapt them to different scenarios or audiences.
In addition, the development of a customized tool opens the path for the integration of other already developed tools for the cardiology department at the University Hospital of Salamanca. By implementing communication mechanisms, it is possible to connect different platforms to foster the creation of a technological ecosystem with data science features specifically adapted to the medical context requirements. Further research might explore the integration of DICOM images into the pipelines to apply deep learning. Moreover, the interactive modification of heuristics could serve to make dynamic and automatic suggestions to users on which algorithm to use depending on the input data, task to be performed, etc.
The focus group session provided a considerable amount of data concerning usability functions and their validation by domain and ML experts. It has provided information to understand users' current situation and needs, getting the perspective of multiple users discussing the same requirement and functionality. On the other hand, we have collected the reactions to the digital prototype.
The focus group results have served as an input to develop a new version of the digital prototype to solve the main detected problems and improve it, including some suggestions. The second version was validated by the participants in the focus group and was the basis for developing the first version of the platform.