TY - JOUR
T1 - POP-PL
T2 - A patient-oriented prescription programming language
AU - Florence, Spencer P.
AU - Fetscher, Burke
AU - Flatt, Matthew
AU - Temps, William H.
AU - St Amour, Vincent
AU - Kiguradze, Tina
AU - West, Dennis P
AU - Niznik, Charlotte
AU - Yarnold, Paul R.
AU - Findler, Robert
AU - Belknap, Steven M
N1 - Funding Information:
This work is supported by the National Science Foundation. Authors’ addresses: S. P. Florence, B. Fetscher, M. Flatt, W. H. Temps, V. St-Amour, T. Kiguradze, D. P. West, C. Niznik, P. R. Yarnold, R. B. Findler, and S. M. Belknap; emails: {spencer.florence, burke.fetscher}@eecs.northwestern. edu, mflatt@cs.utah.edu, william.temps@northwestern.edu, stamourv@eecs.northwestern.edu, TinatinKiguradze2013@ u.northwestern.edu, {dwest, c-niznik}@northwestern.edu, paul@planetyarnold.com, robby@eecs.northwestern.edu, sbelknap@northwestern.edu. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from permissions@acm.org. © 2018 ACM 0164-0925/2018/07-ART10 $15.00 https://doi.org/10.1145/3210256
Publisher Copyright:
© 2018 ACM.
PY - 2018/8
Y1 - 2018/8
N2 - A medical prescription is a set of health care instructions that govern the plan of care for an individual patient, which may include orders for drug therapy, diet, clinical assessment, and laboratory testing. Clinicians have long used algorithmic thinking to describe and implement prescriptions but without the benefit of a formal programming language. Instead, medical algorithms are expressed using a natural language patois, flowcharts, or as structured data in an electronic medical record system. The lack of a prescription programming language inhibits expressiveness; results in prescriptions that are difficult to understand, hard to debug, and awkward to reuse; and increases the risk of fatal medical error. This article reports on the design and evaluation of Patient-Oriented Prescription Programming Language (POP-PL), a domain-specific programming language designed for expressing prescriptions. The language is based around the idea that programs and humans have complementary strengths that, when combined properly, can make for safer, more accurate performance of prescriptions. Use of POP-PL facilitates automation of certain low-level vigilance tasks, freeing up human cognition for abstract thinking, compassion, and human communication. We implemented this language and evaluated its design attempting to write prescriptions in the new language and evaluated its usability by assessing whether clinicians can understand and modify prescriptions written in the language. We found that some medical prescriptions can be expressed in a formal domainspecific programming language, and we determined that medical professionals can understand and correctly modify programs written in POP-PL. We also discuss opportunities for refining and further developing POP-PL.
AB - A medical prescription is a set of health care instructions that govern the plan of care for an individual patient, which may include orders for drug therapy, diet, clinical assessment, and laboratory testing. Clinicians have long used algorithmic thinking to describe and implement prescriptions but without the benefit of a formal programming language. Instead, medical algorithms are expressed using a natural language patois, flowcharts, or as structured data in an electronic medical record system. The lack of a prescription programming language inhibits expressiveness; results in prescriptions that are difficult to understand, hard to debug, and awkward to reuse; and increases the risk of fatal medical error. This article reports on the design and evaluation of Patient-Oriented Prescription Programming Language (POP-PL), a domain-specific programming language designed for expressing prescriptions. The language is based around the idea that programs and humans have complementary strengths that, when combined properly, can make for safer, more accurate performance of prescriptions. Use of POP-PL facilitates automation of certain low-level vigilance tasks, freeing up human cognition for abstract thinking, compassion, and human communication. We implemented this language and evaluated its design attempting to write prescriptions in the new language and evaluated its usability by assessing whether clinicians can understand and modify prescriptions written in the language. We found that some medical prescriptions can be expressed in a formal domainspecific programming language, and we determined that medical professionals can understand and correctly modify programs written in POP-PL. We also discuss opportunities for refining and further developing POP-PL.
KW - DSL design
KW - Empirical evaluation
KW - Medical prescriptions
KW - Medical programming languages
UR - http://www.scopus.com/inward/record.url?scp=85053415971&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85053415971&partnerID=8YFLogxK
U2 - 10.1145/3210256
DO - 10.1145/3210256
M3 - Article
AN - SCOPUS:85053415971
SN - 0164-0925
VL - 40
JO - ACM Transactions on Programming Languages and Systems
JF - ACM Transactions on Programming Languages and Systems
IS - 3
M1 - A10
ER -