POP-PL: A patient-oriented prescription programming language

Spencer P. Florence*, Burke Fetscher, Matthew Flatt, William H. Temps, Vincent St Amour, Tina Kiguradze, Dennis P West, Charlotte Niznik, Paul R. Yarnold, Robert Findler, Steven M Belknap

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

1 Scopus citations


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.

Original languageEnglish (US)
Article numberA10
JournalACM Transactions on Programming Languages and Systems
Issue number3
StatePublished - Aug 2018


  • DSL design
  • Empirical evaluation
  • Medical prescriptions
  • Medical programming languages

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'POP-PL: A patient-oriented prescription programming language'. Together they form a unique fingerprint.

Cite this