Home Automation of Educational Tasks for Academic Radiology
Post
Cancel

Automation of Educational Tasks for Academic Radiology

Rationale and Objectives

The process of education involves a variety of repetitious tasks. We believe that appropriate computer tools can automate many of these chores, and allow both educators and their students to devote a lot more of their time to actual teaching and learning. This paper details tools that we have used to automate a broad range of academic radiology-specific tasks on Mac OS X, iOS, and Windows platforms. Some of the tools we describe here require little expertise or time to use; others require some basic knowledge of computer programming.

Materials and Methods

We used TextExpander (Mac, iOS) and AutoHotKey (Win) for automated generation of text files, such as resident performance reviews and radiology interpretations. Custom statistical calculations were performed using TextExpander and the Python programming language. A workflow for automated note-taking was developed using Evernote (Mac, iOS, Win) and Hazel (Mac). Automated resident procedure logging was accomplished using Editorial (iOS) and Python. We created three variants of a teaching session logger using Drafts (iOS) and Pythonista (iOS). Editorial and Drafts were used to create flashcards for knowledge review. We developed a mobile reference management system for iOS using Editorial. We used the Workflow app (iOS) to automatically generate a text message reminder for daily conferences. Finally, we developed two separate automated workflows—one with Evernote (Mac, iOS, Win) and one with Python (Mac, Win)—that generate simple automated teaching file collections.

Results

We have beta-tested these workflows, techniques, and scripts on several of our fellow radiologists. All of them expressed enthusiasm for these tools and were able to use one or more of them to automate their own educational activities.

Conclusions

Appropriate computer tools can automate many educational tasks, and thereby allow both educators and their students to devote a lot more of their time to actual teaching and learning.

Introduction

Academic life and real life abound with a large number of dull and repetitious tasks. We believe that many of these tasks should be handed over to one’s computer. This paper details a number of specific tasks that we have automated in our radiological lives, as well as the tools we have used to accomplish this.

Some tasks are quick and easy to automate. Others require a lot of time and programming skills. Thus, one of the very first decisions one needs to make is whether a given task is worth automating. The following diagrams from the xkcd website summarize this issue nicely ( Fig 1 ).

Figure 1, Theory vs reality in automation (figure used with permission from xkcd.com ).

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Simple Automation Tools

Get Radiology Tree app to read full this article<

Simple Text Macros

Get Radiology Tree app to read full this article<

Signature Files

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Atticus Finch, M.D. Professor, Department of Radiology Enormous State University

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Expense Report Template

Get Radiology Tree app to read full this article<

Figure 2, TextExpander macro for recording expenses.

Figure 3, TextExpander expense template generated by the macro above.

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Atticus Finch Expenses Expense type: RSNA Event: categorical course Date: December 2015 Amount: $250 Date Submitted: 2015–08–15

Get Radiology Tree app to read full this article<

Resident Performance Review Template

Get Radiology Tree app to read full this article<

Figure 4, TextExpander macro for recording resident performance.

Figure 5, TextExpander resident performance template generated by the macro above.

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Resident Performance Review Resident name: Scout Finch Rotation: Musculoskeletal Educational attitude: excellent—has read major text—now reviewing latest MSK literature Work ethic: awesome—comes early, stays late—reads the skeletal surveys Technical skills: $excellent—arthrograms and biopsies done efficiently with minimal fluoro time Report generation: $extremely efficient—generates 60–70 draft dictations per day Date Submitted: 2015–10–06

Get Radiology Tree app to read full this article<

Report Generation

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Automated Note-taking with Evernote and Hazel

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Figure 6, Screenshot from an online musculoskeletal case conference that was auto-tagged by Evernote's optical character reader function. (Color version of the figure is available online).

Figure 7, Screenshot of a handwritten note from Evernote, retrieved by searching for the words “Evernote” and “character.” (Color version of the figure is available online).

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Figure 8, Hazel filter designed to remove unwanted screenshots. (Color version of the figure is available online).

Get Radiology Tree app to read full this article<

Scripting with Python or Ruby

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Procedure Logging

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Figure 9, Screen capture of “Procedure” pick list in the Editorial iOS app.

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Logging Teaching Sessions

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Workflow 1 with Drafts4—Timestamp Only

Get Radiology Tree app to read full this article<

Steps ( Figs 10 and 11 )

Get Radiology Tree app to read full this article<

Figure 10, In the Drafts 4 application, type appropriate comments about one's teaching session—in this case, the duration of the session and the type of session. One then touches the icon in the upper right (arrow). (Color version of the figure is available online).

Figure 11, In the next screen of the Drafts4 app, select one of the logging workflows. (Color version of the figure is available online).

Get Radiology Tree app to read full this article<

Workflow 2 with Drafts 4—Timestamp + GPS Coordinates

Get Radiology Tree app to read full this article<

Workflow 3 with Drafts4 and Pythonista—Timestamp + Reverse GPS Lookup

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Table 1

A Sample Teaching Session Log From Workflow 3 Using Reverse Geocoding to Obtain Physical Addresses \*

Date and Time Address City Comments Site 2015–08–24–13–03–10 1504 Taub Loop Houston 60 min resident didactic lecture Ben Taub Hospital 2015–08–25–19–15–08 1515 Holcombe Boulevard Houston 60 min grand rounds MD Anderson Cancer Center 2015–08–27–09–04–50 2002 Holcombe Boulevard Houston 60 min medical student lecture Michael DeBakey VAMC 2015–08–28–13–05–24 6621 Fannin Street Houston 60 min resident noon conference Texas Children’s Hospital 2015–08–30–18–33–03 1959 Pacific Blvd NE Seattle 60 min grand rounds University of Washington Medical Center

From these physical addresses, it is easy to sort the teaching sites retrospectively and append site names, as shown in the fifth column.

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Flashcard Generation with Editorial and Drafts

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Figure 12, A Python script converts the human-readable test above into this somewhat cumbersome form used by Flashcards Deluxe.

Figure 13, Flashcards Deluxe study card generated from the previous text by Drafts. (Color version of the figure is available online).

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Mobile Reference Management

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Figure 14, Screen capture of citation management workflow in Editorial iOS app.

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Download an Entire Issue of PDF Files From a Journal

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Custom Statistical Calculations

Get Radiology Tree app to read full this article<

Figure 15, TextExpander code to grab sensitivity and specificity values from the Mac Clipboard and send them on to a Python script. Note that the content selector at the top of the box has been set to the “Shell Script” setting.

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Workflow App

Get Radiology Tree app to read full this article<

Figure 16, Screen capture: menu of workflows in Workflow app. (Color version of the figure is available online).

Figure 17, This screenshot of the Workflow app shows the simple steps we use to scrape the daily conference schedule from our departmental website. (Color version of the figure is available online).

Figure 18, A screenshot of the text message generated by the Workflow showing the conference schedule for 8/18/2015. (Color version of the figure is available online).

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Automated Teaching File Collection

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Simple Teaching File Workflow 1

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Figure 19, A listing of cases created for an Evernote teaching file. (Color version of the figure is available online).

Figure 20, This case from an Evernote teaching file contains a short audio recording describing the findings.

Get Radiology Tree app to read full this article<

Simple Teaching File Workflow 2

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Conclusions

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix

Supplementary material

Get Radiology Tree app to read full this article<

Appendix S1

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S2

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S3

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S4

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S5

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S6

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S7

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S8

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S9

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S10

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S11

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S12

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

Appendix S13

Get Radiology Tree app to read full this article<

Get Radiology Tree app to read full this article<

References

  • 1. Munroe R.: xkcd, Cartoon 1319. Available at: http://imgs.xkcd.com/comics/automation.png Accessed August 18, 2014

  • 2. Wikipedia contributors : Gift economy. Wikipedia, The Free Encyclopedia; December 31; 16:52 UTC; Available at: http://en.wikipedia.org/w/index.php?title=Gift_economy&oldid=640401162 Accessed August 18, 2015

  • 3. AutoHotkey : Fast scriptable desktop automation with hotkeys. Available at: http://www.autohotkey.com Accessed August 18, 2015

  • 4. Smile Software : TextExpander. Available at: http://smilesoftware.com/TextExpander/index.html Accessed August 18, 2015

  • 5. Wikipedia contributors : AutoHotkey. Wikipedia, The Free Encyclopedia; January 8; 09:53 UTC; Available at: http://en.wikipedia.org/w/index.php?title=AutoHotkey&oldid=641556441 Accessed August 18, 2015

  • 6. Hazel : Automated organization for your Mac. Available at: http://www.noodlesoft.com/hazel.php Accessed August 18, 2015

  • 7. File Juggler. Available at: http://www.filejuggler.com Accessed August 18, 2015

  • 8. Python Software Foundation : Python. Available at: http://www.python.org Accessed August 18, 2015

  • 9. StackOverflow : Scripting language vs programming language. Available at: http://stackoverflow.com/questions/17253545/scripting-language-vs-programming-language Accessed August 18, 2015

  • 10. Ruby programming language: help and documentation. Available at: http://ruby-doc.org Accessed August 18, 2015

  • 11. Editorial: desktop-class plain text productivity on iOS. Available at: http://omz-software.com/editorial/ Accessed on August 18, 2015

  • 12. MultiMarkdown. Available at: http://fletcherpenney.net/multimarkdown/ Accessed August 18, 2015

  • 13. Lewis P.: Promotion resources: teaching portfolio template. Association of Clinician Educators in Radiology; Available at: https://www.aur.org/Secondary-Alliances.aspx?id=514 Accessed on September 1, 2015

  • 14. Drafts app. Available at: http://agiletortoise.com/drafts/ Accessed August 18, 2015

  • 15. Pythonista. Available at: https://itunes.apple.com/us/app/pythonista/id528579881?mt=8 Accessed on September 1, 2015

  • 16. Pruzan T., Mortimer F.L.: The clumsiest people in Europe: or, Mrs. Mortimer’s bad-tempered guide to the Victorian world, Favell Lee Mortimer, foreword by Todd Pruzan. 2006 ed.; 5; Available at: http://books.google.com/books?id=B_AC9ae6lzkC&pg=PA5&dq=favell+mortimer+flashcards Accessed on August 22, 2015

  • 17. Flashcards deluxe. Available at: http://flashcardsdeluxe.com/Flashcards/ Accessed August 18, 2015

  • 18. Papers. Available at: http://www.papersapp.com Accessed August 18, 2015

  • 19. re—regular expression operations. Python Software Foundation; Available at: https://docs.python.org/2/library/re.html Accessed on August 18, 2015

  • 20. Requests: HTTP for Humans. Available at: http://requests.readthedocs.org/en/latest/ Accessed on August 18, 2015

  • 21. Beautiful soup. Available at: http://www.crummy.com/software/BeautifulSoup/ Accessed on August 18, 2015

  • 22. Python Software Foundation : time—time access and conversions. Available at: https://docs.python.org/2/library/time.html Accessed on August 18, 2015

  • 23. Shiab N.: On the ethics of web scraping and data journalism. Global Investigative Journalism Network; August 12; Available at: http://gijn.org/2015/08/12/on-the-ethics-of-web-scraping-and-data-journalism/ Accessed on August 18, 2015

  • 24. Angwin J., Stecklow S.: “Scrapers” dig deep for data on web. The Wall Street Journal ; October 12; Available at: http://www.wsj.com/articles/SB10001424052748703358504575544381288117888 Accessed on August 18, 2015

  • 25. Gurney J.W.: Determining the likelihood of malignancy in solitary pulmonary nodules with Bayesian analysis. Part I. Theory. Radiology 1993; 186: pp. 405-413.

  • 26. Gurney J.W., Lyddon D.M., McKay J.A.: Determining the likelihood of malignancy in solitary pulmonary nodules with Bayesian analysis. Part II. Application. Radiology 1993; 186: pp. 415-422.

  • 27. Kass R., Raftery A.: Bayes factors. J Am Stat Assoc 1995; 90: pp. 773-795.

  • 28. Glas A.S., Lijmer J.G., Prins M.H., et. al.: The diagnostic odds ratio: a single indicator of test performance. J Clin Epidemiol 2003; 56: pp. 1129-1135.

  • 29. Python Software Foundation : math—mathematical functions. Available at: https://docs.python.org/2/library/math.html?highlight=math#module-math Accessed August 18, 2015

  • 30. Python Software Foundation : sys—system-specific parameters and functions. Available at: https://docs.python.org/2/library/sys.html?highlight=sys#module-sys Accessed August 18, 2015

  • 31. Workflow: powerful automation made simple. Available at: https://workflow.is Accessed August 18, 2015

  • 32. Medical Imaging Resource Center (MIRC) Teaching File System (TFS). Available at: https://www.rsna.org/tfs.aspx Accessed on August 18, 2015

  • 33. McKesson study share. Available at: http://www.mckesson.com/ Accessed August 18, 2015

  • 34. Wikipedia contributors : Portable network graphics. Wikipedia, The Free Encyclopedia; August 13; 23:27 UTC; Available at: https://en.wikipedia.org/w/index.php?title=Portable_Network_Graphics&oldid=675983234 Accessed August 18, 2015

  • 35. Python Software Foundation : sys—miscellaneous operating system interfaces. Available at: https://docs.python.org/2/library/os.html?highlight=os#module-os Accessed August 18, 2015

  • 36. Python Software Foundation : datetime—basic date and time types. Available at: https://docs.python.org/2/library/datetime.html?highlight=datetime#module-datetime Accessed August 18, 2015

  • 37. Python Software Foundation : pydicom—pure python package for DICOM medical file reading and writing. Available at: https://pypi.python.org/pypi/pydicom/ Accessed August 18, 2015

  • 38. Python Software Foundation : matplotlib—system-specific parameters and functions. Available at: https://docs.python.org/2/library/sys.html?highlight=sys#module-sys Accessed August 18, 2015

  • 39. Enthought canopy: easy python deployment plus integrated analysis environment for scientific computing, data analysis and engineering. Available at: https://store.enthought.com/downloads/#default Accessed August 18, 2015

  • 40. Anaconda: completely free enterprise-ready Python distribution for large-scale data processing, predictive analytics, and scientific computing. Available at: https://store.continuum.io/cshop/anaconda/ Accessed August 18, 2015

  • 41. WinPython: the easiest way to run Python, Spyder with SciPy and friends on any Windows PC, without installing anything!. Available at: http://winpython.sourceforge.net Accessed August 28, 2015

  • 42. Wikipedia contributors : Matplotlib. Wikipedia, The Free Encyclopedia; August 8; 06:14 UTC; Available at: https://en.wikipedia.org/w/index.php?title=Matplotlib&oldid=675097381 Accessed August 18, 2015

This post is licensed under CC BY 4.0 by the author.