<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">An MLOps Solution Framework for Transitioning Machine Learning Models into eHealth Systems</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Andrea</forename><surname>Basile</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Dept. of Computer Science</orgName>
								<orgName type="institution">University of Bari</orgName>
								<address>
									<addrLine>Via Edoardo Orabona 4</addrLine>
									<postCode>70125</postCode>
									<settlement>Bari BA</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Fabio</forename><surname>Calefato</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Dept. of Computer Science</orgName>
								<orgName type="institution">University of Bari</orgName>
								<address>
									<addrLine>Via Edoardo Orabona 4</addrLine>
									<postCode>70125</postCode>
									<settlement>Bari BA</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Filippo</forename><surname>Lanubile</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Dept. of Computer Science</orgName>
								<orgName type="institution">University of Bari</orgName>
								<address>
									<addrLine>Via Edoardo Orabona 4</addrLine>
									<postCode>70125</postCode>
									<settlement>Bari BA</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Giulio</forename><surname>Mallardi</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Dept. of Computer Science</orgName>
								<orgName type="institution">University of Bari</orgName>
								<address>
									<addrLine>Via Edoardo Orabona 4</addrLine>
									<postCode>70125</postCode>
									<settlement>Bari BA</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Luigi</forename><surname>Quaranta</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Dept. of Computer Science</orgName>
								<orgName type="institution">University of Bari</orgName>
								<address>
									<addrLine>Via Edoardo Orabona 4</addrLine>
									<postCode>70125</postCode>
									<settlement>Bari BA</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">An MLOps Solution Framework for Transitioning Machine Learning Models into eHealth Systems</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">109616B6ED9C5D3BD82888466074A03B</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T16:57+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>ML pipeline reproducibility</term>
					<term>ML model deployment</term>
					<term>ML-enabled component</term>
					<term>ML for healthcare</term>
					<term>health informatics</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Over the past few years, there has been a growing experimentation of machine learning (ML)-based technologies in the healthcare domain. However, most related initiatives struggle to progress beyond the prototypical research stage and transition to clinical use. Although this problem affects the adoption of ML across all industries, it is largely exacerbated in the highly regulated medical domain. Lately, MLOps has emerged as a new discipline encompassing practices and tools to streamline the development and maintenance of ML-enabled systems. Rooted in software engineering and inspired by DevOps, it places great emphasis on the automation of ML pipelines and model lifecycle. In this paper, we present an MLOps-based solution framework designed to streamline the transition of experimental ML models to production-ready components for eHealth systems. Our approach is designed to support the reliable integration and clinical deployment of ML-enabled tools that can assist healthcare professionals. The solution framework is being developed and validated in the context of "DARE -Digital Lifelong Prevention", an Italian research project aimed at leveraging the potential of data to improve health promotion and prevention throughout the life course.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>The integration of data-driven artificial intelligence (AI) into eHealth systems has recently emerged as a promising avenue to enhance healthcare delivery and improve patient outcomes <ref type="bibr" target="#b0">[1]</ref>. Consequently, in the last few years, there has been a growing experimentation of healthcare solutions based on machine learning (ML) and deep learning (DL). These data-driven AI techniques have already shown remarkable capabilities in key areas of medicine, from diagnostics to treatment <ref type="bibr" target="#b1">[2]</ref>.</p><p>However, most research initiatives struggle to progress beyond the prototypical research stage and transition to clinical use. On the one hand, the primary focus of research teams is typically on optimizing the model building process and advancing the state of the art in terms of model performance. On the other hand, moving beyond experimentation, towards the clinical application of machine learning, poses significant challenges. These include ensuring the end-to-end reproducibility and traceability of ML pipelines, verifying the quality of all involved artifacts, and making ML-enabled components Ital-IA 2024: 4th National Conference on Artificial Intelligence, organized by CINI, May 29-30, 2024, Naples, Italy * Corresponding author. Envelope andrea.basile@uniba.it (A. Basile); fabio.calefato@uniba.it (F. Calefato); filippo.lanubile@uniba.it (F. Lanubile); giulio.mallardi@uniba.it (G. Mallardi); luigi.quaranta@uniba.it (L. Quaranta) Orcid 0009-0007-2381-4575 (A. Basile); 0000-0003-2654-1588 (F. Calefato); 0000-0003-3373-7589 (F. Lanubile); 0000-0001-5847-117X (G. Mallardi); 0000-0002-9221-0739 (L. Quaranta) interoperable. As a result -after the dissemination of scientific findings -ML models typically remain confined within laboratories and never find practical application. This precludes a broader societal impact of ML research in the medical domain, representing a significant dispersion of valuable resources and potential.</p><p>To address the key challenges hindering the practical application of ML in the healthcare domain, we propose a solution framework that integrates a set of best practices and a selection of software tools for their implementation. The solution framework is based on MLOps (short for 'Machine Learning Operations'), an emerging discipline in the area of AI engineering. Inspired by DevOps, MLOps places great emphasis on the automation of ML pipelines and the lifecycle of machine learning models.</p><p>Our solution framework is designed to support the end-to-end process for building and maintaining MLenabled components to be integrated into eHealth systems. On the one hand, it aims to improve the practices adopted by data scientists in the laboratory. To this aim, it comprises tools to organize the requirements of an ML project, ensure the reproducibility and traceability of ML experiments, and verify the quality of code, data, and models. On the other hand, it assists the transition of ML models to production environments. To this aim, it supports activities such as model API development, model containerization, deployment, and monitoring. In all phases, it leverages workflow automation tools to make the process reproducible and reduce the margin for human error.</p><p>The solution framework described in this paper has been developed as part of "DARE -Digital Lifelong Pre-vention, " an Italian research project aimed at leveraging the potential of data to improve health promotion and prevention throughout the life course. We are currently in the process of validating the benefits of the solution framework through a few case studies, both within and outside DARE. In the future, we plan to further extend the scope of our proposal, by leveraging automation to support further aspects of ML projects. For instance, we envision the automated creation of documentation and validation reports needed to comply with healthcare regulations and certify the resulting ML-enabled systems as medical devices.</p><p>The remainder of this paper is organized as follows. In Section 2, we provide a definition of MLOps and report about existing MLOps experimentation in the healthcare domain. In Section 3, we introduce the DARE research project. In Section 4, we provide details about the practices and tools included in our solution framework. In Section 5, we outline future research directions and in Section 6 we conclude the paper.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Background</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">MLOps definition</head><p>MLOps is an umbrella term that encompasses a set of practices and tools to streamline the creation and maintenance of ML-enabled systems. It primarily aims to automate ML pipelines and workflows, facilitating the deployment of models into production environments. The ultimate objective of MLOps is to implement the continuous integration and deployment of models (CI/CD), mirroring and extending the DevOps approach used in conventional software systems.</p><p>Kreuzberger et al. provide a comprehensive definition of MLOps, which they define as "a paradigm, including aspects like best practices, sets of concepts, as well as a development culture when it comes to the end-to-end conceptualization, implementation, monitoring, deployment, and scalability of machine learning products" <ref type="bibr" target="#b2">[3]</ref>.</p><p>With its growing popularity, MLOps is emerging as a distinct discipline in the area of AI engineering. This is evidenced by the recent addition of courses on this topic at some universities <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b4">5]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">MLOps in healthcare</head><p>The application of data-driven AI in healthcare faces several challenges, ranging from regulatory compliance and data privacy concerns to the interoperability of systems and the integration of AI-driven insights into clinical decision-making processes. Additionally, the high-stakes nature of healthcare demands rigorous validation, monitoring, and interpretability of machine learning mod-els to ensure patient safety and trust among healthcare providers.</p><p>To address these challenges, an increasing number of researchers are exploring the use of MLOps to integrate ML models into eHealth systems. In <ref type="bibr" target="#b5">[6]</ref>, Granlund et al. introduce a certified medical software for the risk assessment of joint replacement interventions, exploring the use of MLOps in a highly regulated context. A similar effort is reported by Stirbu et al., who present an approach that leverages pull requests as design controls and applies it to integrate ML models in certified medical systems <ref type="bibr" target="#b6">[7]</ref>.</p><p>Lombardo et al. leverage a digital twin technology to provide Location Based Services (LBS) with intelligent functionalities <ref type="bibr" target="#b7">[8]</ref>. In doing so, they leverage MLOps to facilitate model evolution and adaptation to changes in the physical world.</p><p>To address a similar problem, Toivakka et al. propose an efficient software delivery model, based on De-vOps, which ensures compliance with medical device standards <ref type="bibr" target="#b8">[9]</ref>. Specifically, they align medical device software regulatory requirements from standards IEC 62304 and IEC 82304-1 into the software delivery pipeline.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">DARE Project</head><p>The DARE project is a wide-ranging initiative funded by the Italian Ministry of University and Research. It has fostered the development of a distributed knowledge community dedicated to digital preventive healthcare research. This community encompasses a network of around 250 researchers from universities, hospitals, healthcare companies, and other organizations.</p><p>The primary goal of the project is to produce the knowledge and multidisciplinary solutions necessary to establish Italy as a leading country in digital prevention. Specifically, the project aims to promote preventive actions enabled by digital technologies and big data to improve the readiness and accuracy of key public health tasks such as forecasting, surveillance, early diagnosis, and response to acute and chronic diseases, including comorbidities. A peculiarity of the project is the adoption of a 'life-course' perspective to address health-related conditions in general.</p><p>Ultimately, DARE aims to leverage digital technologies to bridge social and geographic disparities in access to integrated health services, benefiting the most vulnerable segments of the population.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">MLOps Solution Framework</head><p>To support the transition of prototypical ML-based solutions developed within DARE to production-grade eHealth systems, we have proposed a solution framework based on state-of-the-art MLOps practices and tools. Our framework has a general-purpose design and is meant to support the development and maintenance of a variety of ML-based eHealth software. However, it can be easily customized to support specific research initiatives within DARE and beyond.</p><p>In the following paragraphs, we describe the main ideas behind the solution framework. Specifically, we report on the MLOps practices encompassed by the framework, as well as the tools that we recommend for their practical implementation.</p><p>Several MLOps tools have been developed so far. Most of them are commercial solutions, typically integrated into end-to-end MLOps or cloud-computing platforms. Open-source options are available as well, and some of the commercial tools -typically provided as Softwareas-a-Service (SaaS) -are based on an open-source core which can be independently deployed on-premises. In our solution framework, we recommend adopting open source software whenever possible. Not only is it typically more cost-effective, but it also offers independence from cloud infrastructures, enabling on-premises deployments. This is particularly important in the healthcare domain, in which hospitals and other research institutions need to comply with stringent patient data management requirements, which typically cannot leave the institution's computing facilities. In such cases, our MLOps solution framework can be fully deployed on-premises.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">Scoping the ML Problem</head><p>When planning to build an ML-enabled system or component, the initial challenge is properly defining the underlying machine learning problem, if one exists. Indeed, while machine learning offers optimal solutions for a wide range of problems, it is always crucial to assess whether using it is sensible and feasible for the specific problem at hand, considering factors like availability of labeled data and computing resources.</p><p>Inspired by the Business Model Canvas, the Machine Learning Canvas by Goku Mohandas <ref type="bibr" target="#b9">[10]</ref> can serve as a useful template to facilitate this decision-making process. It encourages thinking on both product and system design aspects, clarifying the motivation, key objectives, feasibility, and high-level strategy for building the proposed ML-enabled solution.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">Ensuring the Reproducibility and Traceability of ML Pipelines</head><p>Once the basic requirements for the desired product have been specified, data engineers and data scientists can start working together to build the ML models that will power the final product. In doing so, they should take care of defining a reproducible and traceable pipeline.</p><p>Reproducibility is a key requirement for ML pipelines. It is essential not only for achieving consistent model performance across production and lab environments but also for enabling the recovery and timely retraining of deployed models. Nonetheless, the inherent nondeterministic nature of most ML and DL techniques, coupled with the complexity of ML pipelines, makes attaining reproducibility in practice a significant challenge.</p><p>Similarly, ensuring the full traceability of model building processes is of paramount importance. Healthcare is a safety-critical domain in which decisions can have life-altering consequences. Thus, for models aimed at supporting healthcare professionals in decision-making activities it is essential to be able to trace back any unexpected behavior to the model training process, enabling root cause analysis. This ensures the transparency and accountability of the overall system. Moreover, traceability helps in meeting healthcare regulations.</p><p>As a first step towards ensuring the reproducibility and traceability of ML pipelines, we propose the use of git as a version control system (VCS) for code artifacts and of DVC<ref type="foot" target="#foot_0">1</ref> as a specialized VCS for data and models. By adopting these tools in conjunction, it is always possible to understand which specific version of a dataset and of a training script were used to build a particular version of a machine learning model.</p><p>A further step towards ensuring the full traceability of the training process is adopting an experiment tracking solution. In this regard, we recommend using MLflow, <ref type="foot" target="#foot_1">2</ref>a popular open-source platform featuring a dedicated experiment tracking module (MLflow Tracking). With MLflow, data scientists can track all relevant details of an ML experiment, including the training algorithm, the hyperparameters, the dataset version, and the selected features. Similarly, the metrics selected for model evaluation can be logged into MLflow, together with any experimental output. The outcomes of experimental runs can then be visually compared in a dashboard offered through a web application. Once the best run has been determined, the resulting model can be registered in a model registry within the dedicated MLflow module (MLflow Registry). If used consistently to register models and update their status, the model registry becomes the centralized store of production-grade models and related metadata -i.e., if a deployed model is pulled from a model registry, it is easy to trace back the particular experimental run that produced it.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3.">Fostering Quality Assurance of ML Artifacts</head><p>A major criticism raised by software engineers towards data scientists concerns the poor code quality of experimental ML artifacts, particularly computational notebooks <ref type="bibr" target="#b10">[11,</ref><ref type="bibr" target="#b11">12]</ref>. Integrating data science tools with static analyzers and testing utilities could significantly improve code quality. In this regard, our framework promotes the adoption of pytest<ref type="foot" target="#foot_2">3</ref> as a testing framework and ruff <ref type="foot" target="#foot_3">4</ref> as a static analyzer for Python scripts. Moreover, in projects that include computational notebooks, we recommend the use of Pynblint,<ref type="foot" target="#foot_4">5</ref> i.e., a specialized linting solution for Jupyter Notebook documents.</p><p>Nonetheless, the quality of ML-enabled systems extends beyond code and is largely determined by the quality of data and models. It is widely acknowledged that model performance can be substantially impacted by the quality of training data, which often fails to meet ideal standards in real-world scenarios. Addressing data quality issues, such as biases, noise, and scarcity, is crucial to developing reliable and effective ML-enabled systems. To this aim, our solution framework provides for the use of Deepchecks,<ref type="foot" target="#foot_5">6</ref> a commercial tool with an open-source core. Deepchecks can be used to test training data for outliers and other anomalies; moreover, it reveals issues like the leakage of test data in training datasets.</p><p>In addition to assessing performance metrics, the quality of models can be further evaluated using dedicated testing approaches. Where applicable, our solution framework recommends the development of behavioral model tests. Originally proposed by Ribeiro et al. <ref type="bibr" target="#b12">[13]</ref>, these tests are designed to ensure specific model capabilities. For instance, in the case of an NLP model, data scientists might want to verify that the model can handle negations appropriately. These tests can be implemented using the same testing framework employed for verifying code correctness (in our framework, pytest).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.4.">Developing APIs for ML Components</head><p>To enable seamless integration of models into larger systems, they are typically encapsulated within dedicated APIs. Specifically, given the widespread adoption of microservices and serverless architectures, which predominantly rely on the HTTP protocol for inter-component communication, a common pattern is to expose ML models through web APIs, using either REST or RPC approaches. By wrapping models with standardized web APIs, they can be more easily consumed and orchestrated within distributed architectures, facilitating their deployment and scalability.</p><p>With respect to this, our solution framework endorses FastAPI,<ref type="foot" target="#foot_6">7</ref> a specialized Python framework for developing OpenAPI-compliant web APIs. By leveraging FastAPI, data scientists can efficiently build standardized and welldocumented APIs for their ML models, benefiting from its high performance capabilities and first-class support for asynchronous code.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.5.">ML Component Delivery</head><p>In addition to exposing API endpoints, models must be packaged in a portable way and automatically deployed to production environments. To accomplish this, our MLOps solution framework embraces Infrastructure as Code (IaC), a well-established DevOps methodology. The typical approach involves packaging ML models, along with their web API components, into software containers leveraging IaC techniques. In our solution framework, we advocate for the use of Docker, <ref type="foot" target="#foot_7">8</ref> which has established itself as the de facto standard containerization technology during the last decade. Using Docker, ML models can be shipped as immutable and portable software packages that are consistently reproducible across different deployment environments. This containerized approach aligns with modern cloud-native architectures.</p><p>Deployed models need to be properly documented. As a standardized format to consistently document the delivered machine learning components, model cards can be adopted to report essential model attributes. Model cards are simple Markdown documents describing the model, its intended uses and potential limitations, including biases and ethical considerations, the training parameters and experimental information, the datasets used for training, and the model evaluation results. This type of documentation was first proposed by Mitchell et al. in <ref type="bibr" target="#b13">[14]</ref> and gained popularity through its adoption by Hugging Face,<ref type="foot" target="#foot_8">9</ref> a prominent AI community and machine learning hub. Beyond model cards, Hugging Face users typically document the datasets used with Dataset Cards, which outline basic details about the data as well as information on how to use the data responsibly (e.g., potential biases within the dataset). Dataset cards help users understand the contents of the dataset and provide context for how it should be used.</p><p>A further step towards the end-to-end automation of ML pipelines is adopting CI/CD (Continuous Integration/-Continuous Deployment) solutions for the automated deployment of containerized ML components. Automating this step of the workflow offers two key benefits: expediting the deployment of model updates and minimizing human errors through consistent, rigorous quality assurance checks before deployment. Several CI/CD tools with similar capabilities are currently available. To reduce friction in adopting this practice, our framework recommends leveraging the CI/CD service integrated with the chosen code hosting platform for sharing Git repositories, such as GitHub Actions <ref type="foot" target="#foot_9">10</ref> for GitHub or Git-Lab CI/CD <ref type="foot" target="#foot_10">11</ref> for GitLab. A notable advantage of GitLab CI/CD is the ability to deploy the entire code hosting platform on-premises, which can be beneficial for institutions with policies prohibiting external code hosting.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.6.">ML Component Monitoring</head><p>To ensure the continued availability and performance of deployed ML-enabled components, continuous monitoring is essential. A comprehensive monitoring system should track both the resource utilization of ML components and the performance of the underlying ML models themselves, as model performance often degrades over time. Establishing robust monitoring practices maintains a crucial feedback loop, enabling ML engineers to promptly identify and replace underperforming models as needed.</p><p>A wide range of solutions can be leveraged for this purpose, ranging from general-purpose monitoring tools like Prometheus, <ref type="foot" target="#foot_11">12</ref> Grafana, <ref type="foot" target="#foot_12">13</ref> and the ELK stack <ref type="foot" target="#foot_13">14</ref> to specialized software specifically designed for monitoring ML systems, such as the monitoring module of Deepchecks. Within our solution framework, we favor the adoption of the popular open-source stack of Prometheus and Grafana. Their general-purpose nature allows for setting up custom monitoring services that holistically track the overall health of ML components, encompassing resource utilization metrics as well as ML model performance indicators. Moreover, being open-source, both Prometheus and Grafana can be seamlessly deployed on-premises using their official Docker containers, aligning with our framework's emphasis on open solutions and on-prem deployability for healthcare use cases.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Future Work</head><p>While the proposed MLOps framework lays a robust foundation for deploying machine learning models in healthcare, there are still additional issues that require careful consideration. In particular, the complexity of security and regulatory requirements in the healthcare sector poses significant challenges that need to be thoroughly addressed. Accordingly, our future work will prioritize enhancing the security of the MLOps framework. Robust authentication, authorization, and encryption protocols will safeguard patient data and ensure system integrity through API security.</p><p>In addition, we aim to explore automated report generation as a means to facilitate compliance with regulatory bodies and enable efficient auditing processes. By leveraging CI/CD workflows to generate comprehensive reports and documentation, we expect to streamline compliance efforts, thereby facilitating the certification of ML models and ML-enabled eHealth systems as medical devices.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Conclusion</head><p>The approach presented in this paper represents a comprehensive and robust framework for the development, deployment, and monitoring of ML models within eHealth systems. By leveraging industry-standard practices and tools, it addresses the critical aspects of reproducibility, traceability, and quality assurance throughout the entire machine learning lifecycle.</p><p>The approach prioritizes a structured foundation for coding, emphasizing clear problem statements, data sources, and evaluation metrics. It integrates version control and experiment tracking for reproducibility and collaboration. Rigorous quality assurance is applied to data and models, ensuring integrity and ethical considerations. MLOps practices streamline deployment for efficient model deployment. Continuous monitoring detects issues early, fostering reliability and trust in developed models.</p><p>Ultimately, this comprehensive and methodical approach provides a solid foundation for healthcare organizations to harness the full potential of artificial intelligence while upholding responsible AI principles. It empowers stakeholders to develop and deploy machine learning models that are not only accurate and performant but also interpretable, ethical, and maintainable over time, driving innovation and positive impact across various domains and industries.</p></div>			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://dvc.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">https://mlflow.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">https://docs.pytest.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">https://docs.astral.sh/ruff/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4">https://github.com/collab-uniba/pynblint</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_5">https://deepchecks.com</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_6">https://fastapi.tiangolo.com</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="8" xml:id="foot_7">https://www.docker.com</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="9" xml:id="foot_8">https://huggingface.co</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="10" xml:id="foot_9">https://github.com/features/actions</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="11" xml:id="foot_10">https://docs.gitlab.com/ee/ci/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="12" xml:id="foot_11">https://prometheus.io</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="13" xml:id="foot_12">https://grafana.com</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="14" xml:id="foot_13">https://www.elastic.co/elastic-stack</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>This study has been realized with the co-financing of the Ministry of University and Research in the framework of PNC "DARE -Digital lifelong prevention project" (PNC0000002 -CUP B53C22006450001). The views and opinions expressed are solely those of the authors and do not necessarily reflect those of the European Union, nor can the European Union be held responsible for them.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">High-performance medicine: the convergence of human and artificial intelligence</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">J</forename><surname>Topol</surname></persName>
		</author>
		<idno type="DOI">10.1038/s41591-018-0300-7</idno>
	</analytic>
	<monogr>
		<title level="j">Nature Medicine</title>
		<imprint>
			<biblScope unit="volume">25</biblScope>
			<biblScope unit="page" from="44" to="56" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Chapter 2 -the rise of artificial intelligence in healthcare applications</title>
		<author>
			<persName><forename type="first">A</forename><surname>Bohr</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Memarzadeh</surname></persName>
		</author>
		<idno type="DOI">10.1016/B978-0-12-818438-7.00002-2</idno>
	</analytic>
	<monogr>
		<title level="m">Artificial Intelligence in Healthcare</title>
				<editor>
			<persName><forename type="first">A</forename><surname>Bohr</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">K</forename><surname>Memarzadeh</surname></persName>
		</editor>
		<imprint>
			<publisher>Academic Press</publisher>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="25" to="60" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Machine learning operations (mlops): Overview, definition, and architecture</title>
		<author>
			<persName><forename type="first">D</forename><surname>Kreuzberger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Kühl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Hirschl</surname></persName>
		</author>
		<idno type="DOI">10.1109/ACCESS.2023.3262138</idno>
	</analytic>
	<monogr>
		<title level="j">IEEE Access</title>
		<imprint>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="page" from="31866" to="31879" />
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Teaching MLOps in Higher Education through Project-Based Learning</title>
		<author>
			<persName><forename type="first">F</forename><surname>Lanubile</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Martínez-Fernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Quaranta</surname></persName>
		</author>
		<idno type="DOI">10.1109/ICSE-SEET58685.2023.00015</idno>
	</analytic>
	<monogr>
		<title level="m">IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET), IEEE</title>
				<imprint>
			<date type="published" when="2023">2023. 2023</date>
			<biblScope unit="page" from="95" to="100" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Training future ML engineers: A project-based course on MLOps</title>
		<author>
			<persName><forename type="first">F</forename><surname>Lanubile</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Martínez-Fernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Quaranta</surname></persName>
		</author>
		<idno type="DOI">10.1109/MS.2023.3310768</idno>
	</analytic>
	<monogr>
		<title level="j">IEEE Software</title>
		<imprint>
			<biblScope unit="page" from="1" to="9" />
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Towards Regulatory-Compliant MLOps: Oravizio&apos;s Journey from a Machine Learning Experiment to a Deployed Certified Medical Product</title>
		<author>
			<persName><forename type="first">T</forename><surname>Granlund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Stirbu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Mikkonen</surname></persName>
		</author>
		<idno type="DOI">10.1007/s42979-021-00726-1</idno>
	</analytic>
	<monogr>
		<title level="j">SN Computer Science</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page">342</biblScope>
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Continuous design control for machine learning in certified medical systems</title>
		<author>
			<persName><forename type="first">V</forename><surname>Stirbu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Granlund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Mikkonen</surname></persName>
		</author>
		<idno type="DOI">10.1007/s11219-022-09601-5</idno>
	</analytic>
	<monogr>
		<title level="j">Software Quality Journal</title>
		<imprint>
			<biblScope unit="volume">31</biblScope>
			<biblScope unit="page" from="307" to="333" />
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Digital Twin for Continual Learning in Location Based Services</title>
		<author>
			<persName><forename type="first">G</forename><surname>Lombardo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Picone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mamei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mordonini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Poggi</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.engappai.2023.107203</idno>
	</analytic>
	<monogr>
		<title level="j">Engineering Applications of Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">127</biblScope>
			<biblScope unit="page">107203</biblScope>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Towards regops: A devops pipeline for medical device software</title>
		<author>
			<persName><forename type="first">H</forename><surname>Toivakka</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Granlund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Poranen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Zhang</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-030-91452-3_20</idno>
	</analytic>
	<monogr>
		<title level="m">International Conference on Product-Focused Software Process Improvement</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="290" to="306" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<author>
			<persName><forename type="first">G</forename><surname>Mohandas</surname></persName>
		</author>
		<ptr target="https://madewithml.com/" />
		<title level="m">Machine learning systems design</title>
				<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">A large-scale study about quality and reproducibility of jupyter notebooks</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A F</forename><surname>Pimentel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Murta</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Braganholo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Freire</surname></persName>
		</author>
		<idno type="DOI">10.1109/MSR.2019.00077</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 16th International Conference on Mining Software Repositories, MSR &apos;19</title>
				<meeting>the 16th International Conference on Mining Software Repositories, MSR &apos;19</meeting>
		<imprint>
			<publisher>IEEE Press</publisher>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="507" to="517" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Better code, better sharing: on the need of analyzing jupyter notebooks</title>
		<author>
			<persName><forename type="first">J</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Zeller</surname></persName>
		</author>
		<idno type="DOI">10.1145/3377816.3381724</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: New Ideas and Emerging Results, ICSE-NIER &apos;20</title>
				<meeting>the ACM/IEEE 42nd International Conference on Software Engineering: New Ideas and Emerging Results, ICSE-NIER &apos;20<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="53" to="56" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Beyond accuracy: Behavioral testing of NLP models with CheckList</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">T</forename><surname>Ribeiro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Wu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Guestrin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Singh</surname></persName>
		</author>
		<idno type="DOI">10.18653/v1/2020.acl-main.442</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, Association for Computational Linguistics</title>
				<editor>
			<persName><forename type="first">D</forename><surname>Jurafsky</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Chai</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">N</forename><surname>Schluter</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Tetreault</surname></persName>
		</editor>
		<meeting>the 58th Annual Meeting of the Association for Computational Linguistics, Association for Computational Linguistics</meeting>
		<imprint>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="4902" to="4912" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Model Cards for Model Reporting</title>
		<author>
			<persName><forename type="first">M</forename><surname>Mitchell</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Wu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Zaldivar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Barnes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Vasserman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Hutchinson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Spitzer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">D</forename><surname>Raji</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Gebru</surname></persName>
		</author>
		<idno type="DOI">10.1145/3287560.3287596</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Conference on Fairness, Accountability, and Transparency</title>
				<meeting>the Conference on Fairness, Accountability, and Transparency</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="220" to="229" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
