<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Ital-IA</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>MLOps Solution Framework for Transitioning Machine Learning Models into eHealth Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrea Basile</string-name>
          <email>andrea.basile@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Calefato</string-name>
          <email>fabio.calefato@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Filippo Lanubile</string-name>
          <email>filippo.lanubile@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giulio Mallardi</string-name>
          <email>giulio.mallardi@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luigi Quaranta</string-name>
          <email>luigi.quaranta@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Computer Science, University of Bari</institution>
          ,
          <addr-line>Via Edoardo Orabona 4, 70125 Bari BA</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>adopted by data scientists in the laboratory. To this aim</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>of ML experiments, and verify the quality of code</institution>
          ,
          <addr-line>data</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>pline in the area of AI engineering. Inspired by DevOps</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>4</volume>
      <fpage>29</fpage>
      <lpage>30</lpage>
      <abstract>
        <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 afects 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>
      </abstract>
      <kwd-group>
        <kwd>ML pipeline reproducibility</kwd>
        <kwd>ML model deployment</kwd>
        <kwd>ML-enabled component</kwd>
        <kwd>ML for healthcare</kwd>
        <kwd>health informatics</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR</p>
      <p>ceur-ws.org
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>
    </sec>
    <sec id="sec-2">
      <title>The solution framework described in this paper has</title>
      <p>© 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License been developed as part of “DARE – Digital Lifelong
PreAttribution 4.0 International (CC BY 4.0).</p>
      <sec id="sec-2-1">
        <title>1. Introduction</title>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>The integration of data-driven artificial intelligence (AI)</title>
      <p>
        into eHealth systems has recently emerged as a
promising avenue to enhance healthcare delivery and improve
patient outcomes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Consequently, in the last few years,
there has been a growing experimentation of healthcare
from diagnostics to treatment [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </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
nEvelop-O
(L. Quaranta)
(L. Quaranta)
volved artifacts, and making ML-enabled components
ability of ML pipelines, verifying the quality of all in- it comprises tools to organize the requirements of an
2. Background
vention,” an Italian research project aimed at leveraging els to ensure patient safety and trust among healthcare
the potential of data to improve health promotion and providers.
prevention throughout the life course. We are currently To address these challenges, an increasing number of
in the process of validating the benefits of the solution researchers are exploring the use of MLOps to integrate
framework through a few case studies, both within and ML models into eHealth systems. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], Granlund et al.
outside DARE. In the future, we plan to further extend introduce a certified medical software for the risk
assessthe scope of our proposal, by leveraging automation to ment of joint replacement interventions, exploring the
support further aspects of ML projects. For instance, we use of MLOps in a highly regulated context. A similar
efenvision the automated creation of documentation and fort is reported by Stirbu et al., who present an approach
validation reports needed to comply with healthcare reg- that leverages pull requests as design controls and applies
ulations and certify the resulting ML-enabled systems as it to integrate ML models in certified medical systems [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
medical devices. Lombardo et al. leverage a digital twin technology to
      </p>
      <p>
        The remainder of this paper is organized as follows. In provide Location Based Services (LBS) with intelligent
Section 2, we provide a definition of MLOps and report functionalities [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In doing so, they leverage MLOps to
about existing MLOps experimentation in the healthcare facilitate model evolution and adaptation to changes in
domain. In Section 3, we introduce the DARE research the physical world.
project. In Section 4, we provide details about the prac- To address a similar problem, Toivakka et al.
protices and tools included in our solution framework. In pose an eficient software delivery model, based on
DeSection 5, we outline future research directions and in vOps, which ensures compliance with medical device
Section 6 we conclude the paper. standards [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Specifically, they align medical device
software regulatory requirements from standards IEC 62304
and IEC 82304-1 into the software delivery pipeline.
      </p>
      <sec id="sec-3-1">
        <title>2.1. MLOps definition</title>
        <sec id="sec-3-1-1">
          <title>3. DARE Project</title>
          <p>MLOps is an umbrella term that encompasses a set of The DARE project is a wide-ranging initiative funded
practices and tools to streamline the creation and main- by the Italian Ministry of University and Research. It
tenance of ML-enabled systems. It primarily aims to has fostered the development of a distributed
knowlautomate ML pipelines and workflows, facilitating the edge community dedicated to digital preventive
healthdeployment of models into production environments. care research. This community encompasses a network
The ultimate objective of MLOps is to implement the con- of around 250 researchers from universities, hospitals,
tinuous integration and deployment of models (CI/CD), healthcare companies, and other organizations.
mirroring and extending the DevOps approach used in The primary goal of the project is to produce the
conventional software systems. knowledge and multidisciplinary solutions necessary to</p>
          <p>
            Kreuzberger et al. provide a comprehensive definition establish Italy as a leading country in digital
prevenof MLOps, which they define as “a paradigm, including tion. Specifically, the project aims to promote preventive
aspects like best practices, sets of concepts, as well as a actions enabled by digital technologies and big data to
development culture when it comes to the end-to-end con- improve the readiness and accuracy of key public health
ceptualization, implementation, monitoring, deployment, tasks such as forecasting, surveillance, early diagnosis,
and scalability of machine learning products” [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. and response to acute and chronic diseases, including
co
          </p>
          <p>
            With its growing popularity, MLOps is emerging as a morbidities. A peculiarity of the project is the adoption
distinct discipline in the area of AI engineering. This is of a ‘life-course’ perspective to address health-related
evidenced by the recent addition of courses on this topic conditions in general.
at some universities [
            <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
            ]. Ultimately, DARE aims to leverage digital technologies
to bridge social and geographic disparities in access to
2.2. MLOps in healthcare integrated health services, benefiting the most vulnerable
segments of the population.
          </p>
          <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 4. MLOps Solution Framework
and the integration of AI-driven insights into clinical
decision-making processes. Additionally, the high-stakes To support the transition of prototypical ML-based
sonature of healthcare demands rigorous validation, mon- lutions developed within DARE to production-grade
itoring, and interpretability of machine learning mod- 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 Reproducibility is a key requirement for ML pipelines.
support the development and maintenance of a variety It is essential not only for achieving consistent model
of ML-based eHealth software. However, it can be easily performance across production and lab environments
customized to support specific research initiatives within but also for enabling the recovery and timely retraining
DARE and beyond. of deployed models. Nonetheless, the inherent
nondeter</p>
          <p>In the following paragraphs, we describe the main ministic nature of most ML and DL techniques, coupled
ideas behind the solution framework. Specifically, we with the complexity of ML pipelines, makes attaining
report on the MLOps practices encompassed by the frame- reproducibility in practice a significant challenge.
work, as well as the tools that we recommend for their Similarly, ensuring the full traceability of model
buildpractical implementation. ing processes is of paramount importance. Healthcare</p>
          <p>Several MLOps tools have been developed so far. Most is a safety-critical domain in which decisions can have
of them are commercial solutions, typically integrated life-altering consequences. Thus, for models aimed at
into end-to-end MLOps or cloud-computing platforms. supporting healthcare professionals in decision-making
Open-source options are available as well, and some of activities it is essential to be able to trace back any
unexthe commercial tools – typically provided as Software- pected behavior to the model training process, enabling
as-a-Service (SaaS) – are based on an open-source core root cause analysis. This ensures the transparency and
which can be independently deployed on-premises. In accountability of the overall system. Moreover,
traceabilour solution framework, we recommend adopting open ity helps in meeting healthcare regulations.
source software whenever possible. Not only is it typi- As a first step towards ensuring the reproducibility
cally more cost-efective, but it also ofers independence and traceability of ML pipelines, we propose the use of
from cloud infrastructures, enabling on-premises deploy- git as a version control system (VCS) for code artifacts
ments. This is particularly important in the healthcare do- and of DVC1 as a specialized VCS for data and models. By
main, in which hospitals and other research institutions adopting these tools in conjunction, it is always possible
need to comply with stringent patient data management to understand which specific version of a dataset and of
requirements, which typically cannot leave the institu- a training script were used to build a particular version
tion’s computing facilities. In such cases, our MLOps of a machine learning model.
solution framework can be fully deployed on-premises. A further step towards ensuring the full traceability of
the training process is adopting an experiment tracking
4.1. Scoping the ML Problem solution. In this regard, we recommend using MLflow, 2
a popular open-source platform featuring a dedicated
When planning to build an ML-enabled system or com- experiment tracking module (MLflow Tracking). With
ponent, the initial challenge is properly defining the un- MLflow, data scientists can track all relevant details of an
derlying machine learning problem, if one exists. Indeed, ML experiment, including the training algorithm, the
hywhile machine learning ofers optimal solutions for a perparameters, the dataset version, and the selected
feawide range of problems, it is always crucial to assess tures. Similarly, the metrics selected for model evaluation
whether using it is sensible and feasible for the specific can be logged into MLflow, together with any
experimenproblem at hand, considering factors like availability of tal output. The outcomes of experimental runs can then
labeled data and computing resources. be visually compared in a dashboard ofered through a</p>
          <p>
            Inspired by the Business Model Canvas, the Machine web application. Once the best run has been determined,
Learning Canvas by Goku Mohandas [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] can serve as the resulting model can be registered in a model registry
a useful template to facilitate this decision-making pro- within the dedicated MLflow module (MLflow Registry).
cess. It encourages thinking on both product and system If used consistently to register models and update their
design aspects, clarifying the motivation, key objectives, status, the model registry becomes the centralized store
feasibility, and high-level strategy for building the pro- of production-grade models and related metadata – i.e.,
posed ML-enabled solution. if a deployed model is pulled from a model registry, it is
easy to trace back the particular experimental run that
produced it.
          </p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>4.2. Ensuring the Reproducibility and</title>
      </sec>
      <sec id="sec-3-3">
        <title>Traceability of ML Pipelines</title>
        <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>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>1https://dvc.org 2https://mlflow.org</title>
      <sec id="sec-4-1">
        <title>4.3. Fostering Quality Assurance of ML</title>
      </sec>
      <sec id="sec-4-2">
        <title>Artifacts</title>
        <p>within distributed architectures, facilitating their
deployment and scalability.</p>
        <p>With respect to this, our solution framework endorses
FastAPI,7 a specialized Python framework for developing
OpenAPI-compliant web APIs. By leveraging FastAPI,
data scientists can eficiently build standardized and
welldocumented APIs for their ML models, benefiting from
its high performance capabilities and first-class support
for asynchronous code.</p>
        <p>
          A major criticism raised by software engineers towards
data scientists concerns the poor code quality of
experimental ML artifacts, particularly computational
notebooks [
          <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
          ]. Integrating data science tools with static
analyzers and testing utilities could significantly improve
code quality. In this regard, our framework promotes the
adoption of pytest3 as a testing framework and ruf 4 as a
static analyzer for Python scripts. Moreover, in projects
that include computational notebooks, we recommend 4.5. ML Component Delivery
the use of Pynblint,5 i.e., a specialized linting solution for In addition to exposing API endpoints, models must be
Jupyter Notebook documents. packaged in a portable way and automatically deployed
        </p>
        <p>Nonetheless, the quality of ML-enabled systems ex- to production environments. To accomplish this, our
tends beyond code and is largely determined by the qual- MLOps solution framework embraces Infrastructure as
ity of data and models. It is widely acknowledged that Code (IaC), a well-established DevOps methodology. The
model performance can be substantially impacted by the typical approach involves packaging ML models, along
quality of training data, which often fails to meet ideal with their web API components, into software containers
standards in real-world scenarios. Addressing data qual- leveraging IaC techniques. In our solution framework,
ity issues, such as biases, noise, and scarcity, is crucial we advocate for the use of Docker,8 which has established
to developing reliable and efective ML-enabled systems. itself as the de facto standard containerization
technolTo this aim, our solution framework provides for the use ogy during the last decade. Using Docker, ML models
of Deepchecks,6 a commercial tool with an open-source can be shipped as immutable and portable software
packcore. Deepchecks can be used to test training data for ages that are consistently reproducible across diferent
outliers and other anomalies; moreover, it reveals issues deployment environments. This containerized approach
like the leakage of test data in training datasets. aligns with modern cloud-native architectures.</p>
        <p>
          In addition to assessing performance metrics, the Deployed models need to be properly documented. As
quality of models can be further evaluated using dedi- a standardized format to consistently document the
decated testing approaches. Where applicable, our solution livered machine learning components, model cards can
framework recommends the development of behavioral be adopted to report essential model attributes. Model
model tests. Originally proposed by Ribeiro et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], cards are simple Markdown documents describing the
these tests are designed to ensure specific model capa- model, its intended uses and potential limitations,
inbilities. For instance, in the case of an NLP model, data cluding biases and ethical considerations, the training
scientists might want to verify that the model can handle parameters and experimental information, the datasets
negations appropriately. These tests can be implemented used for training, and the model evaluation results. This
using the same testing framework employed for verifying type of documentation was first proposed by Mitchell
code correctness (in our framework, pytest). et al. in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] and gained popularity through its adoption
by Hugging Face,9 a prominent AI community and
ma4.4. Developing APIs for ML Components chine learning hub. Beyond model cards, Hugging Face
users typically document the datasets used with Dataset
To enable seamless integration of models into larger sys- Cards, which outline basic details about the data as well
tems, they are typically encapsulated within dedicated as information on how to use the data responsibly (e.g.,
APIs. Specifically, given the widespread adoption of mi- potential biases within the dataset). Dataset cards help
croservices and serverless architectures, which predomi- users understand the contents of the dataset and provide
nantly rely on the HTTP protocol for inter-component context for how it should be used.
communication, a common pattern is to expose ML mod- A further step towards the end-to-end automation of
els through web APIs, using either REST or RPC ap- ML pipelines is adopting CI/CD (Continuous
Integration/proaches. By wrapping models with standardized web Continuous Deployment) solutions for the automated
deAPIs, they can be more easily consumed and orchestrated ployment of containerized ML components. Automating
this step of the workflow ofers two key benefits:
expediting the deployment of model updates and minimizing
3https://docs.pytest.org
4https://docs.astral.sh/ruff/
5https://github.com/collab-uniba/pynblint
6https://deepchecks.com
7https://fastapi.tiangolo.com
8https://www.docker.com
9https://huggingface.co
human errors through consistent, rigorous quality as- Accordingly, our future work will prioritize enhancing
surance checks before deployment. Several CI/CD tools the security of the MLOps framework. Robust
authentiwith similar capabilities are currently available. To re- cation, authorization, and encryption protocols will
safeduce friction in adopting this practice, our framework guard patient data and ensure system integrity through
recommends leveraging the CI/CD service integrated API security.
with the chosen code hosting platform for sharing Git In addition, we aim to explore automated report
generrepositories, such as GitHub Actions10 for GitHub or Git- ation as a means to facilitate compliance with regulatory
Lab CI/CD11 for GitLab. A notable advantage of GitLab bodies and enable eficient auditing processes. By
leveragCI/CD is the ability to deploy the entire code hosting ing CI/CD workflows to generate comprehensive reports
platform on-premises, which can be beneficial for insti- and documentation, we expect to streamline compliance
tutions with policies prohibiting external code hosting. eforts, thereby facilitating the certification of ML models
and ML-enabled eHealth systems as medical devices.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>4.6. ML Component Monitoring</title>
        <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,12 Grafana,13 and the ELK stack14 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 oficial Docker containers, aligning with our
framework’s emphasis on open solutions and on-prem
deployability for healthcare use cases.</p>
        <sec id="sec-4-3-1">
          <title>5. Future Work</title>
          <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.
10https://github.com/features/actions
11https://docs.gitlab.com/ee/ci/
12https://prometheus.io
13https://grafana.com
14https://www.elastic.co/elastic-stack</p>
        </sec>
        <sec id="sec-4-3-2">
          <title>6. Conclusion</title>
          <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
eficient 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>
        </sec>
        <sec id="sec-4-3-3">
          <title>Acknowledgments</title>
          <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>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>E. J.</given-names>
            <surname>Topol</surname>
          </string-name>
          ,
          <article-title>High-performance medicine: the convergence of human and artificial intelligence</article-title>
          ,
          <source>Nature Medicine</source>
          <volume>25</volume>
          (
          <year>2019</year>
          )
          <fpage>44</fpage>
          -
          <lpage>56</lpage>
          . doi:
          <volume>10</volume>
          .1038/ s41591-018-0300-7.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bohr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Memarzadeh</surname>
          </string-name>
          ,
          <article-title>Chapter 2 - the rise of artificial intelligence in healthcare applications</article-title>
          , in: A.
          <string-name>
            <surname>Bohr</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          Memarzadeh (Eds.),
          <source>Artificial Intelligence in Healthcare</source>
          , Academic Press,
          <year>2020</year>
          , pp.
          <fpage>25</fpage>
          -
          <lpage>60</lpage>
          . doi:
          <volume>10</volume>
          .1016/ B978-0
          <source>-12-818438-7</source>
          .
          <fpage>00002</fpage>
          -
          <lpage>2</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Kreuzberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Kühl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hirschl</surname>
          </string-name>
          ,
          <article-title>Machine learning operations (mlops): Overview, definition, and architecture</article-title>
          ,
          <source>IEEE Access 11</source>
          (
          <year>2023</year>
          )
          <fpage>31866</fpage>
          -
          <lpage>31879</lpage>
          . doi:
          <volume>10</volume>
          .1109/ACCESS.
          <year>2023</year>
          .
          <volume>3262138</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Lanubile</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Martínez-Fernández</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Quaranta</surname>
          </string-name>
          ,
          <article-title>Teaching MLOps in Higher Education through Project-Based Learning</article-title>
          , in: 2023 IEEE/ACM 45th International Conference on Software Engineering:
          <article-title>Software Engineering Education and Training (ICSE-SEET)</article-title>
          , IEEE,
          <year>2023</year>
          , pp.
          <fpage>95</fpage>
          -
          <lpage>100</lpage>
          . doi:
          <volume>10</volume>
          .1109/ ICSE-SEET58685.
          <year>2023</year>
          .
          <volume>00015</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F.</given-names>
            <surname>Lanubile</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Martínez-Fernández</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Quaranta</surname>
          </string-name>
          ,
          <article-title>Training future ML engineers: A project-based course on MLOps</article-title>
          , IEEE Software (
          <year>2023</year>
          )
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          . doi:
          <volume>10</volume>
          .1109/MS.
          <year>2023</year>
          .
          <volume>3310768</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Granlund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Stirbu</surname>
          </string-name>
          , T. Mikkonen, Towards
          <string-name>
            <surname>Regulatory-Compliant</surname>
            <given-names>MLOps</given-names>
          </string-name>
          :
          <article-title>Oravizio's Journey from a Machine Learning Experiment to a Deployed Certified Medical Product</article-title>
          ,
          <source>SN Computer Science</source>
          <volume>2</volume>
          (
          <year>2021</year>
          )
          <article-title>342</article-title>
          . doi:
          <volume>10</volume>
          .1007/s42979-021-00726-1.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>V.</given-names>
            <surname>Stirbu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Granlund</surname>
          </string-name>
          , T. Mikkonen,
          <article-title>Continuous design control for machine learning in certified medical systems</article-title>
          ,
          <source>Software Quality Journal</source>
          <volume>31</volume>
          (
          <year>2023</year>
          )
          <fpage>307</fpage>
          -
          <lpage>333</lpage>
          . doi:
          <volume>10</volume>
          .1007/s11219-022-09601-5.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G.</given-names>
            <surname>Lombardo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Picone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mamei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mordonini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <source>Digital Twin for Continual Learning in Location Based Services, Engineering Applications of Artificial Intelligence</source>
          <volume>127</volume>
          (
          <year>2024</year>
          )
          <article-title>107203</article-title>
          . doi:
          <volume>10</volume>
          . 1016/j.engappai.
          <year>2023</year>
          .
          <volume>107203</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>H.</given-names>
            <surname>Toivakka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Granlund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Poranen</surname>
          </string-name>
          ,
          <string-name>
            <surname>Z. Zhang,</surname>
          </string-name>
          <article-title>Towards regops: A devops pipeline for medical device software</article-title>
          ,
          <source>in: International Conference on Product-Focused Software Process Improvement</source>
          , Springer,
          <year>2021</year>
          , pp.
          <fpage>290</fpage>
          -
          <lpage>306</lpage>
          . doi:
          <volume>10</volume>
          .1007/ 978-3-
          <fpage>030</fpage>
          -91452-3_
          <fpage>20</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>G.</given-names>
            <surname>Mohandas</surname>
          </string-name>
          ,
          <article-title>Machine learning systems design</article-title>
          , https://madewithml.com/,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J. a. F.</given-names>
            <surname>Pimentel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Murta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Braganholo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Freire</surname>
          </string-name>
          ,
          <article-title>A large-scale study about quality and reproducibility of jupyter notebooks</article-title>
          ,
          <source>in: Proceedings of the 16th International Conference on Mining Software Repositories, MSR '19</source>
          , IEEE Press,
          <year>2019</year>
          , p.
          <fpage>507</fpage>
          -
          <lpage>517</lpage>
          . doi:
          <volume>10</volume>
          .1109/MSR.
          <year>2019</year>
          .
          <volume>00077</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zeller</surname>
          </string-name>
          ,
          <article-title>Better code, better sharing: on the need of analyzing jupyter notebooks</article-title>
          ,
          <source>in: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: New Ideas and Emerging Results</source>
          , ICSE-NIER '
          <fpage>20</fpage>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2020</year>
          , p.
          <fpage>53</fpage>
          -
          <lpage>56</lpage>
          . doi:
          <volume>10</volume>
          .1145/3377816.3381724.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M. T.</given-names>
            <surname>Ribeiro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Guestrin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <article-title>Beyond accuracy: Behavioral testing of NLP models with CheckList</article-title>
          , in: D.
          <string-name>
            <surname>Jurafsky</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Chai</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Schluter</surname>
          </string-name>
          , J. Tetreault (Eds.),
          <article-title>Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, Association for Computational Linguistics</article-title>
          , Online,
          <year>2020</year>
          , pp.
          <fpage>4902</fpage>
          -
          <lpage>4912</lpage>
          . doi:
          <volume>10</volume>
          .18653/ v1/
          <year>2020</year>
          .acl-main.
          <volume>442</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mitchell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zaldivar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Barnes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Vasserman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hutchinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Spitzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. D.</given-names>
            <surname>Raji</surname>
          </string-name>
          , T. Gebru,
          <article-title>Model Cards for Model Reporting</article-title>
          ,
          <source>in: Proceedings of the Conference on Fairness, Accountability, and Transparency</source>
          , ACM,
          <year>2019</year>
          , pp.
          <fpage>220</fpage>
          -
          <lpage>229</lpage>
          . doi:
          <volume>10</volume>
          .1145/3287560.3287596.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>