一句话:设计并评估面向患者的处方编程语言 POP-PL,使部分医疗处方可被形式化表达并由临床医生理解修改。
医疗处方通常以自然语言混合语、流程图或电子病历结构化数据表达,缺乏形式化编程语言,导致表达力受限、处方难理解、难调试、难复用,并增加致命医疗差错风险。本文设计并实现面向患者的处方编程语言 POP-PL:它基于程序与人类能力互补的理念,将部分低层次警觉任务自动化,让临床医生专注于抽象思考、关怀与沟通。作者用该语言试写处方,并通过临床医生能否理解与正确修改 POP-PL 程序来评估可用性。结果表明,部分医疗处方可用形式化领域特定语言表达,且医疗专业人员能够理解并正确修改 POP-PL 程序;文中还讨论了改进方向。
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 domain-specific 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.
DOI 原文 ·
@article{paperbot319,
title = {POP-PL},
author = {Spencer P. Florence and Burke Fetscher and Matthew Flatt and William H. Temps and Vincent St-Amour and Tina Kiguradze and Dennis P. West and Charlotte Niznik and Paul R. Yarnold and Robert Bruce Findler and Steven M. Belknap},
journal = {ACM Transactions on Programming Languages and Systems},
volume = {40},
number = {3},
year = {2018},
doi = {10.1145/3210256}
}