<!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>BJA: British Journal of Anaesthesia 100 (2008) 195-202.
[9] J. Marynissen</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.1007/11524564\_3</article-id>
      <title-group>
        <article-title>Healthcare⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Simone Caruso</string-name>
          <email>simone.caruso@edu.unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Healthcare, Answer Set Programming, Logic Programming, Controlled Natural Language</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Genoa</institution>
          ,
          <addr-line>Genova</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2005</year>
      </pub-date>
      <volume>3596</volume>
      <fpage>195</fpage>
      <lpage>202</lpage>
      <abstract>
        <p>In the Digital Health domain, there are many scheduling problems that are important to solve to improve the quality of the medical cares ofered and patients' satisfaction. Following this need, we want to contribute to the resolution of these problems. Especially, in recent years, the AI language Answer Set Programming (ASP) has been successfully applied in scheduling problems such as the ones we want to solve, proving to be an eficient solution. However, despite the success of ASP, solutions of this type are not easy to implement and to be accepted by people without a background in logic programming, making it dificult to use and deploy in real-world contexts. Hence, the aim is also to define a specification language, i.e. a controlled natural language (CNL), and to develop a tool called CNL2ASP that allows to convert such language into AI languages and, in particular, into ASP as first target language.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction and problem description</title>
      <p>
        In this section, two healthcare problems are first presented: The Pre-Operative Assessment
Clinic (PAC) scheduling problem and The Scheduling Periodic Treatments problem, after which
it is presented the problem of converting a CNL into ASP. Complex combinatorial problems,
involving optimizations, such as the two mentioned, in fact, are usually the target applications
of AI languages such as ASP, that has proven to be a suitable and eficient solution for many
healthcare problems. The Pre-Operative Assessment Clinic scheduling problem is the task of
assigning patients to a day, in which the patient will be examined and prepared to a surgical
operation, taking into account, e.g. patients with diferent priority levels, due dates, and
operators availability. This is the phase in which the patients enter the facility to perform
laboratory tests, radiological and cardiological examination, counseling for anesthesiological
suitability for surgery, and any other examination that the medical specialists deem appropriate
for the definition of the pre-intervention diagnostic pathway. This phase of the surgical pathway
is very important, because it ensures a proper preparation of patients to their surgical operation
allowing them to stay at home until the morning of the surgery, instead of being admitted to
the hospital one or two days before the scheduled operation; moreover, this allows to reduce
waiting time between the exams, thus increasing patients’ satisfaction [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and to avoid the
cancellation of the surgery [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>Instead, the problem of scheduling periodic treatments consists of planning a care path over
a period of several weeks, in which patients have to perform diferent treatments respecting
a certain periodicity. This problem is very recurrent in healthcare as periodic appointments
are often required: this is the case, for example, of rehabilitation or planning a cycle of drug
therapies. A typical use case is that, after a medical examination, the patient comes with a
precise list of treatments, e.g. 10 sessions of physiotherapy followed up by 10 minutes of
cardio training, and asks for the scheduling of a certain number of appointments based on their
availability and on the availability of the care facility. Thus, an optimal solution to this problem
assigns the patients’ appointments in their desired days of the week, as close as possible from a
given target week, i.e. the week prescribed by the doctor and minimizes waiting time between
treatments, if more than one is requested in the same day, while the operators’ working time is
daily maximized and weekly balanced among the available operators.</p>
      <p>Moreover, we want to address these scheduling problems by creating reliable systems that
can be applied in real-world scenarios. In particular for problems in healthcare the solution
must, certainly, ensure optimized scheduling but, being indeed applications used in real-world
contexts, it is very important to be able to deal with unforeseen issues. This is the case, for
example, of the rescheduling problem, where a new schedule assignment must be found with as
few changes as possible but, obviously, still respecting all the constraints of the problem.</p>
      <p>Despite the success of ASP in solving complex combinatorial problems, its usage is not
straightforward for people without mathematical or logical backgrounds. The idea of CNL2ASP
is to define a specification language and develop a tool that converts such language into ASP.
This tool would lead to diferent advantages as CNL specifications are easy to read and write,
even by users without mathematical and logical backgrounds, but also defining problems in CNL
specifications should be easier and faster than encoding knowledge in a formal KR language
like ASP and this can be used as a starting point for further optimization made by ASP experts.</p>
    </sec>
    <sec id="sec-3">
      <title>2. Overview of the state of the art and contribution</title>
      <sec id="sec-3-1">
        <title>2.1. Overview of the state of the art</title>
        <p>
          In this section it is presented the state of the art of the problems presented before. As already
mentioned, ASP has been successfully used for solving hard combinatorial and application
scheduling problems in several research areas. In the Healthcare domain, the first solved problem
was the problem of scheduling nurses working in hospital units [
          <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
          ]. Then, the problem of
assigning operating rooms to patients [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] was considered. More recent problems include the
Chemotherapy Treatment Scheduling problem [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], and the Rehabilitation Scheduling Problem
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], which assigns patients to operators in rehabilitation sessions.
        </p>
        <p>
          Regarding the PAC problem, [8] used two simulation models to analyse the dificulties of
planning in the context of PAC and to determine the resources needed to reduce waiting times
and long access times. The authors of [
          <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
          ] studied the importance of implementing the PAC
problem and the positive results obtained by having less waiting time between the exams and
for the visit to the hospital. In particular, while diferent clinics follow diferent guidelines,
implementing PAC has proved to be an important tool to avoid the cancellation of surgeries
and to significantly reduce the risk associated with the surgery. Despite the importance of
this problem, none of the works above mentioned proposes an actual scheduling of the PAC
with real requirements, making a practical system able to solve the PAC scheduling problems.
Instead, in our work we propose a practical solution to this problem.
        </p>
        <p>For the scheduling of periodic treatments, in [9] a review of the literature on
multiappointment scheduling problems in hospitals, i.e. problems in which patients need
appointments for diferent resources, is presented and shows how research interest in these problems
has grown only in recent years.</p>
        <p>Problems similar to the one we dealt with and presented before can be found only in particular
use cases such as rehabilitation, chemotherapy [10] and radiotherapy [11]; however, there is
not a general solution for these problems as the one we aim for. We faced, in fact, a problem
lfexible and able to adapt to diferent contexts where diferent appointments, involving diferent
operators and resources, are required with a certain frequency and in a time horizon of several
weeks.</p>
        <p>Finally, for the CNL2ASP problem, in the following it is presented an overview of the main
CNLs proposed in the area of logic programming. One of the first attempts of encoding expressed
in a CNL as logic programs was presented by Attempto CNL [12], whose idea was to convert
sentences expressed in a CNL as Prolog clauses. More recently, [13] defined the language
PENGASP, a CNL that is automatically converted into ASP. Albeit some aspects of PENGASP’s
grammar rules are present in the grammar of our CNL, the latter is geared more towards
the formal definition of combinatorial problems in a natural-feeling and unambiguous way
that is also reliably predictable in its translation to ASP, choosing words that would stand out
easily during reading and with an easily deducible meaning from the given context; this meant
sacrificing some of the naturalness of PENG ASP.</p>
      </sec>
      <sec id="sec-3-2">
        <title>2.2. Contribution</title>
        <p>For the PAC scheduling problem, we dealt with the scheduling and rescheduling problem [14].
Then, we developed a web application in order to make the solution we provided accessible
to users with no or low knowledge of ASP, allowing hospital operators to interact with our
solution and understand the results through a graphical interface. In figure 1, an example of
the schedule that we want to compute, by assigning the starting times (x-axis) to each patient
(y-axis) in a particular day. As can be seen in figure 1, in this case the scheduler is able to assign
all patients optimally; indeed, all patients have no waiting time among the exams and thus the
time spent in the hospital is reduced to the minimum.</p>
        <p>For the scheduling periodic treatments [15] problem, we developed a solution and conducted
a preliminary experimental analysis. Despite the complexity of the encoding realized, involving
several rules and optimization criteria and levels, we achieved good results.</p>
        <p>In the work on CNL2ASP, we have reached a good state, where diferent propositions and
constructs are supported that allow diferent problems to be represented. For this purpose, we
have tested the CNL we made to encode diferent problems coming from diferent domains. In
particular, we encoded a scheduling problem in healthcare domain, one in the robotics domain
and diferent problems related to graphs such as the graph coloring shown in figure 2. Moreover,
the tool is open source and publicly available at https://github.com/dodaro/cnl2asp.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Ongoing and future work</title>
      <p>As mentioned, one of the goals is to contribute to the resolution of scheduling problems,
in particular the two presented before. The results obtained present good performance for
the realized solutions, however, a possible idea to improve performance is to decompose the
scheduling problems [16]. Improving performance as much as possible is very important since,
in a real context, the operator and the patient, who has to schedule a new appointment, cannot be
asked to wait too long. It is, therefore, required that a solution is computed in the shortest time
possible. For example, in the scheduling periodic treatments problem, we have a target week to
start from and as the highest priority optimization criterion we have to depart from this as little
as possible. One could, therefore, decompose the problem into N (where N is the total number
of weeks considered) sub-problems in which we start from the target week and gradually move
away from it. This would probably decrease the time spent in the grounding phase, that is the
phase where all possible assignments that meet the constraints of the problem are computed,
because, instead of having a possible schedule over N weeks, we have N sub-problems that can
also be solved in parallel. Then, one could still decompose these sub-problems into two other
sub-problems, in which, in the first it is assigned a time and day to the patient’s treatments
and, then, in the second sub-problem it is assigned the necessary resources. This, again, to
reduce grounding. Each assignment or rather choice rule in terms of ASP, in fact, complicates
the search of the solution as we add new possible combinations. Finally, the goal is to extend
the CNL to support a language as close as possible to a natural language, so that it is easier
for less experienced users to use. Other possible extension that we would like to support is,
certainly, a conversion from ASP into CNL so that it is possible to have greater readability of
models also encoded directly in ASP. Then, an other feature can be to support other languages
on either sides. One could support other controlled natural languages, e.g. SBVR, in addition to
our developed CNL and, on the other side, other logic programming languages in addition to
ASP, the latter feature would also favor the possibility of having comparisons between diferent
AI languages (which is a problem that often arises in this field of research and making these
comparisons is not always simple and fair, since one may be an expert in one language but not
in another). Moreover, an interesting application could be to do high-level explainability. It is,
indeed, necessary for the success of ASP, but in general for any system, to be able to explain the
reasons behind a decision taken, e.g. why one solution is better than another, why something
is or is not part of a solution. Taking advantage of the readability of the CNL, one could, in
fact, give explanations of the solutions computed by the solvers, which at the moment are
rather dificult to explain, especially, to the less experienced users in AI languages, bringing an
important step in the usage of ASP.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Harnett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Correll</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hurwitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hepner</surname>
          </string-name>
          ,
          <article-title>Improving Eficiency and Patient Satisfaction in a Tertiary Teaching Hospital Preoperative Clinic</article-title>
          ,
          <source>Anesthesiology</source>
          <volume>112</volume>
          (
          <year>2010</year>
          )
          <fpage>66</fpage>
          -
          <lpage>72</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ferschl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Sweitzer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Huo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Glick</surname>
          </string-name>
          ,
          <source>Preoperative Clinic Visits Reduce Operating Room Cancellations and Delays, Anesthesiology</source>
          <volume>103</volume>
          (
          <year>2005</year>
          )
          <fpage>855</fpage>
          -
          <lpage>859</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <article-title>Nurse scheduling via answer set programming</article-title>
          ,
          <source>in: LPNMR</source>
          , volume
          <volume>10377</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2017</year>
          , pp.
          <fpage>301</fpage>
          -
          <lpage>307</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alviano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <article-title>Nurse (re)scheduling via answer set programming</article-title>
          ,
          <source>Intelligenza Artificiale</source>
          <volume>12</volume>
          (
          <year>2018</year>
          )
          <fpage>109</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          , G. Galatà,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Porro</surname>
          </string-name>
          ,
          <article-title>An ASP-based framework for operating room scheduling</article-title>
          ,
          <source>Intelligenza Artificiale</source>
          <volume>13</volume>
          (
          <year>2019</year>
          )
          <fpage>63</fpage>
          -
          <lpage>77</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Galatà</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Grioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mochi</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Porro</surname>
          </string-name>
          ,
          <article-title>An ASP-based solution to the chemotherapy treatment scheduling problem</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>21</volume>
          (
          <year>2021</year>
          )
          <fpage>835</fpage>
          -
          <lpage>851</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cardellini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Galatà</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Giardini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Porro, A two-phase ASP encoding for solving rehabilitation scheduling</article-title>
          , in: S. Moschoyiannis,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vanthienen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Soylu</surname>
          </string-name>
          , D. Roman (Eds.),
          <source>Proceedings of the 5th International Joint Conference on Rules and Reasoning (RuleML+RR 2021)</source>
          , volume
          <volume>12851</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2021</year>
          , pp.
          <fpage>111</fpage>
          -
          <lpage>125</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>