The Greasemonkey Firefox Add-On for Altering Display of Data in a Web-Based Electronic Medical Record

Allison McCoy
Allison McCoyAssistant Professor at Tulane University School of Public Health and Tropical Medicine
The Greasemonkey Firefox Add-On for Altering Display of Data
in a Web-Based Electronic Medical Record
Allison B. McCoy,             PhD 1
                        and Josh F. Peterson, MD,                        MPH2
1 School of Biomedical Informatics, The University of Texas Health Science Center at Houston, Houston, TX
2 Departments of Medicine and Biomedical Informatics, Vanderbilt University Medical Center, Nashville, TN


                                                                                    Greasemonkey Implementation Architecture
 Objective                                                                                                                                                                       Validation
 To describe the use of the Greasemonkey Firefox Add-on                                                                                                                          We implemented the Greasemonkey script during a
 to alter data display in a web-based electronic medical                                                                                                                         randomized controlled trial to evaluate pharmacy
 record (EMR), hiding intervention status notes from                                                                                                                             surveillance for adverse drug events, where custom notes
 blinded reviewers during a randomized controlled trial.                                                                                                                         existed only for intervention group patients. The script
                                                                                                                                                                                 successfully maintained blinding during outcomes
                                                                                                      //   ==UserScript==                                                        assessment by four reviewers throughout the study.
                                                                                                      //   @name           Hide Notes
Greasemonkey                                                                                          //   @namespace      http://dbmi.mc.vanderbilt.edu/
                                                                                                      //   @include        https://*.mc.vanderbilt.edu/cgi-bin/sp/*
                                                                                                      //   ==/UserScript==
Greasemonkey is a free, open-source extension for the
Mozilla Firefox web browser. Greasemonkey users can                                                   unsafeWindow.hideAKINotes = function() {                                   Discussion
                                                                                                            var s = document.getElementsByTagName('span');
install site-specific scripts, written in JavaScript, that                                                  for (i = 0; i < s.length; i++) {                                     Many locally-developed and commercial EMRs are web-
                                                                  Original Web Page Display                    if (s[i].getAttribute('styp') == 'Pharmacy Recommendation') {
manipulate site contents through the Document Object                                                              s[i].style.display="none";                                     based, and displays could be augmented using techniques
Model interface when a page loads. This method allows                                                             s[i].previousSibling.style.display="none";
                                                                                                               }                                                                 that we applied for reviewer blinding. Other applications
investigators to alter web-based displays without changing                                                  }                                                                    might include interface customization for individual user
                                                                                                      }
server-side code.                                                                                                                                                                preferences or experimental design evaluation.
                                                                                                      var chart = document.getElementById('PC2');
                                                                                                      if (chart != null) {                                                       For those systems not supported in Firefox, alternate
                                                                                                         chart.addEventListener('load', function() {
                                                                                                            var s = chart.contentDocument.getElementsByTagName('span');          software provides similar functionality for Internet Explorer,
Setting                                                                                                     for (i = 0; i < s.length; i++) {                                     Safari, and other browsers. The software must be installed
                                                                                                               if (s[i].getAttribute('styp') == 'Pharmacy Recommendation') {
Vanderbilt University Medical Center utilizes a locally-       Greasemonkey adds user specified                   s[i].style.display="none";                                     on each browser to be accessed by the user. Some
developed, web-based EMR, in which providers write and            JavaScript to the web page.                     s[i].previousSibling.style.display="none";
                                                                                                                                                                                 knowledge of uniquely identifying element attributes or
                                                                                                               }
view various patient notes. Developers can create custom                                                                                                                         inner HTML for content to be manipulated is necessary for
                                                                                                                if (s[i].getAttribute('class') == 'Tab') {
note types, such as those generated by pharmacists                                                                 var oc = s[i].getAttribute('oc').replace(/"/g, "'");          developers to create the user script.
                                                                                                                   s[i].setAttribute('oc', oc + '; hideAKINotes();');
through an electronic medication safety surveillance tool.                                                      }
                                                                                                              }
                                                                                                           } , false);
                                                                                                      }
                                                                                                                                                                                 Conclusion
Script Description
                                                                                                                                                                                 The Greasemonkey Firefox Add-on effectively maintained
We developed a Greasemonkey script to locate and hide                                                                             User Script                                    blinding during a randomized controlled trial. Investigators
surveillance notes. The script first identifies HTML
                                                                                                                                                                                 utilizing web-based EMRs could employ similar methods to
elements with a surveillance notes type attribute. Next, the
                                                                                                                                                                                 ensure reviewer blinding during chart reviews or
script sets the element’s style display property to ‘none’,
                                                                                                                                                                                 manipulate user interfaces for other research objectives.
hiding the element. An event listener ensures repeats the
search and remove function if the chart is refreshed.              Altered Web Page Display
                                                                                                                                                                               The authors were funded by grants T15LM007450 and R01LM00965.
1 of 1

Recommended

Java session17 by
Java session17Java session17
Java session17Niit Care
403 views43 slides
aprendizaje by
aprendizajeaprendizaje
aprendizajeIUPSM
59 views4 slides
Master PLE, cocinando nuestro aprendizaje by
Master PLE, cocinando nuestro aprendizajeMaster PLE, cocinando nuestro aprendizaje
Master PLE, cocinando nuestro aprendizajeFernández Gorka
1.5K views115 slides
BlackBerry DevCon 2011 - PhoneGap and WebWorks by
BlackBerry DevCon 2011 - PhoneGap and WebWorksBlackBerry DevCon 2011 - PhoneGap and WebWorks
BlackBerry DevCon 2011 - PhoneGap and WebWorksmwbrooks
987 views43 slides
Front End performance as a Continuous Integration - Part1 by
Front End performance as a Continuous Integration - Part1Front End performance as a Continuous Integration - Part1
Front End performance as a Continuous Integration - Part1Tarence DSouza
809 views16 slides

More Related Content

Similar to The Greasemonkey Firefox Add-On for Altering Display of Data in a Web-Based Electronic Medical Record

Cross browser testing using BrowserStack by
Cross browser testing using BrowserStack Cross browser testing using BrowserStack
Cross browser testing using BrowserStack RapidValue
2.6K views13 slides
XPages Blast - ILUG 2010 by
XPages Blast - ILUG 2010XPages Blast - ILUG 2010
XPages Blast - ILUG 2010Tim Clark
2.1K views42 slides
Testing your application on Google App Engine by
Testing your application on Google App EngineTesting your application on Google App Engine
Testing your application on Google App EngineInphina Technologies
2K views23 slides
Testing Your Application On Google App Engine by
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App EngineIndicThreads
210 views23 slides
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald by
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevaldbuildacloud
1.3K views24 slides
Protractor framework architecture with example by
Protractor framework architecture with exampleProtractor framework architecture with example
Protractor framework architecture with exampleshadabgilani
208 views21 slides

Similar to The Greasemonkey Firefox Add-On for Altering Display of Data in a Web-Based Electronic Medical Record(20)

Cross browser testing using BrowserStack by RapidValue
Cross browser testing using BrowserStack Cross browser testing using BrowserStack
Cross browser testing using BrowserStack
RapidValue2.6K views
XPages Blast - ILUG 2010 by Tim Clark
XPages Blast - ILUG 2010XPages Blast - ILUG 2010
XPages Blast - ILUG 2010
Tim Clark2.1K views
Testing Your Application On Google App Engine by IndicThreads
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App Engine
IndicThreads210 views
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald by buildacloud
Cloud Application Blueprints with Apache Brooklyn by Alex HenevaldCloud Application Blueprints with Apache Brooklyn by Alex Henevald
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
buildacloud1.3K views
Protractor framework architecture with example by shadabgilani
Protractor framework architecture with exampleProtractor framework architecture with example
Protractor framework architecture with example
shadabgilani208 views
WebAPIs & Apps - Mozilla London by Robert Nyman
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London
Robert Nyman30.7K views
Web UI test automation instruments by Artem Nagornyi
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
Artem Nagornyi10K views
Build Secure Cloud-Hosted Apps for SharePoint 2013 by Danny Jessee
Build Secure Cloud-Hosted Apps for SharePoint 2013Build Secure Cloud-Hosted Apps for SharePoint 2013
Build Secure Cloud-Hosted Apps for SharePoint 2013
Danny Jessee24.2K views
Bshield osdi2006 by losalamos
Bshield osdi2006Bshield osdi2006
Bshield osdi2006
losalamos778 views
Dhct config report by San Man
Dhct config reportDhct config report
Dhct config report
San Man1.2K views
Arquillian & Citrus by christophd
Arquillian & CitrusArquillian & Citrus
Arquillian & Citrus
christophd1.9K views
Kraken Front-Trends by PayPal
Kraken Front-TrendsKraken Front-Trends
Kraken Front-Trends
PayPal2.6K views
QTP Interview Questions and answers by Rita Singh
QTP Interview Questions and answersQTP Interview Questions and answers
QTP Interview Questions and answers
Rita Singh529 views
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS by NAVER D2
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
NAVER D24.4K views
Xamarin Test Cloud - from zero to hero in automated ui testing by Geert van der Cruijsen
Xamarin Test Cloud - from zero to hero in automated ui testingXamarin Test Cloud - from zero to hero in automated ui testing
Xamarin Test Cloud - from zero to hero in automated ui testing
Web APIs & Apps - Mozilla by Robert Nyman
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
Robert Nyman17.6K views

More from Allison McCoy

Clinicians Satisfaction Before and After Transition from a Basic to a Compreh... by
Clinicians Satisfaction Before and After Transition from a Basic to a Compreh...Clinicians Satisfaction Before and After Transition from a Basic to a Compreh...
Clinicians Satisfaction Before and After Transition from a Basic to a Compreh...Allison McCoy
222 views1 slide
Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview... by
Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview...Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview...
Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview...Allison McCoy
277 views1 slide
Clinician Satisfaction Before and After Transition from a Basic to a Comprehe... by
Clinician Satisfaction Before and After Transition from a Basic to a Comprehe...Clinician Satisfaction Before and After Transition from a Basic to a Comprehe...
Clinician Satisfaction Before and After Transition from a Basic to a Comprehe...Allison McCoy
300 views26 slides
Evaluation of Clinical Decision Support Alerts for Medications Contraindicate... by
Evaluation of Clinical Decision Support Alerts for Medications Contraindicate...Evaluation of Clinical Decision Support Alerts for Medications Contraindicate...
Evaluation of Clinical Decision Support Alerts for Medications Contraindicate...Allison McCoy
190 views1 slide
Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn... by
Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn...Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn...
Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn...Allison McCoy
401 views1 slide
Improving Lab Order, Verification, and Follow-up Processes at UT Physicians by
Improving Lab Order, Verification, and Follow-up Processes at UT PhysiciansImproving Lab Order, Verification, and Follow-up Processes at UT Physicians
Improving Lab Order, Verification, and Follow-up Processes at UT PhysiciansAllison McCoy
219 views1 slide

More from Allison McCoy(11)

Clinicians Satisfaction Before and After Transition from a Basic to a Compreh... by Allison McCoy
Clinicians Satisfaction Before and After Transition from a Basic to a Compreh...Clinicians Satisfaction Before and After Transition from a Basic to a Compreh...
Clinicians Satisfaction Before and After Transition from a Basic to a Compreh...
Allison McCoy222 views
Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview... by Allison McCoy
Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview...Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview...
Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview...
Allison McCoy277 views
Clinician Satisfaction Before and After Transition from a Basic to a Comprehe... by Allison McCoy
Clinician Satisfaction Before and After Transition from a Basic to a Comprehe...Clinician Satisfaction Before and After Transition from a Basic to a Comprehe...
Clinician Satisfaction Before and After Transition from a Basic to a Comprehe...
Allison McCoy300 views
Evaluation of Clinical Decision Support Alerts for Medications Contraindicate... by Allison McCoy
Evaluation of Clinical Decision Support Alerts for Medications Contraindicate...Evaluation of Clinical Decision Support Alerts for Medications Contraindicate...
Evaluation of Clinical Decision Support Alerts for Medications Contraindicate...
Allison McCoy190 views
Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn... by Allison McCoy
Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn...Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn...
Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn...
Allison McCoy401 views
Improving Lab Order, Verification, and Follow-up Processes at UT Physicians by Allison McCoy
Improving Lab Order, Verification, and Follow-up Processes at UT PhysiciansImproving Lab Order, Verification, and Follow-up Processes at UT Physicians
Improving Lab Order, Verification, and Follow-up Processes at UT Physicians
Allison McCoy219 views
Use of the Crowdsourcing Methodology to Generate a Problem-Laboratory Test Kn... by Allison McCoy
Use of the Crowdsourcing Methodology to Generate a Problem-Laboratory Test Kn...Use of the Crowdsourcing Methodology to Generate a Problem-Laboratory Test Kn...
Use of the Crowdsourcing Methodology to Generate a Problem-Laboratory Test Kn...
Allison McCoy645 views
A Prototype Knowledge Base and SMART App to Facilitate Organization of Patien... by Allison McCoy
A Prototype Knowledge Base and SMART App to Facilitate Organization of Patien...A Prototype Knowledge Base and SMART App to Facilitate Organization of Patien...
A Prototype Knowledge Base and SMART App to Facilitate Organization of Patien...
Allison McCoy436 views
Automated Inference of Patient Problems from Medications using NDF-RT and the... by Allison McCoy
Automated Inference of Patient Problems from Medications using NDF-RT and the...Automated Inference of Patient Problems from Medications using NDF-RT and the...
Automated Inference of Patient Problems from Medications using NDF-RT and the...
Allison McCoy389 views
A System to Improve Medication Safety in the Setting of Acute Kidney Injury by Allison McCoy
A System to Improve Medication Safety in the Setting of Acute Kidney InjuryA System to Improve Medication Safety in the Setting of Acute Kidney Injury
A System to Improve Medication Safety in the Setting of Acute Kidney Injury
Allison McCoy208 views
Real-Time Surveillance for Rapid Correction of Clinical Decision Support Fail... by Allison McCoy
Real-Time Surveillance for Rapid Correction of Clinical Decision Support Fail...Real-Time Surveillance for Rapid Correction of Clinical Decision Support Fail...
Real-Time Surveillance for Rapid Correction of Clinical Decision Support Fail...
Allison McCoy387 views

Recently uploaded

What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueShapeBlue
263 views23 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
170 views29 slides
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
54 views69 slides
Cencora Executive Symposium by
Cencora Executive SymposiumCencora Executive Symposium
Cencora Executive Symposiummarketingcommunicati21
159 views14 slides
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TShapeBlue
152 views34 slides
NTGapps NTG LowCode Platform by
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform Mustafa Kuğu
423 views30 slides

Recently uploaded(20)

What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue263 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc170 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker54 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue152 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu423 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue194 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue166 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue139 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue238 views
Initiating and Advancing Your Strategic GIS Governance Strategy by Safe Software
Initiating and Advancing Your Strategic GIS Governance StrategyInitiating and Advancing Your Strategic GIS Governance Strategy
Initiating and Advancing Your Strategic GIS Governance Strategy
Safe Software176 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue186 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue159 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue130 views
State of the Union - Rohit Yadav - Apache CloudStack by ShapeBlue
State of the Union - Rohit Yadav - Apache CloudStackState of the Union - Rohit Yadav - Apache CloudStack
State of the Union - Rohit Yadav - Apache CloudStack
ShapeBlue297 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue106 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue221 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue145 views

The Greasemonkey Firefox Add-On for Altering Display of Data in a Web-Based Electronic Medical Record

  • 1. The Greasemonkey Firefox Add-On for Altering Display of Data in a Web-Based Electronic Medical Record Allison B. McCoy, PhD 1 and Josh F. Peterson, MD, MPH2 1 School of Biomedical Informatics, The University of Texas Health Science Center at Houston, Houston, TX 2 Departments of Medicine and Biomedical Informatics, Vanderbilt University Medical Center, Nashville, TN Greasemonkey Implementation Architecture Objective Validation To describe the use of the Greasemonkey Firefox Add-on We implemented the Greasemonkey script during a to alter data display in a web-based electronic medical randomized controlled trial to evaluate pharmacy record (EMR), hiding intervention status notes from surveillance for adverse drug events, where custom notes blinded reviewers during a randomized controlled trial. existed only for intervention group patients. The script successfully maintained blinding during outcomes // ==UserScript== assessment by four reviewers throughout the study. // @name Hide Notes Greasemonkey // @namespace http://dbmi.mc.vanderbilt.edu/ // @include https://*.mc.vanderbilt.edu/cgi-bin/sp/* // ==/UserScript== Greasemonkey is a free, open-source extension for the Mozilla Firefox web browser. Greasemonkey users can unsafeWindow.hideAKINotes = function() { Discussion var s = document.getElementsByTagName('span'); install site-specific scripts, written in JavaScript, that for (i = 0; i < s.length; i++) { Many locally-developed and commercial EMRs are web- Original Web Page Display if (s[i].getAttribute('styp') == 'Pharmacy Recommendation') { manipulate site contents through the Document Object s[i].style.display="none"; based, and displays could be augmented using techniques Model interface when a page loads. This method allows s[i].previousSibling.style.display="none"; } that we applied for reviewer blinding. Other applications investigators to alter web-based displays without changing } might include interface customization for individual user } server-side code. preferences or experimental design evaluation. var chart = document.getElementById('PC2'); if (chart != null) { For those systems not supported in Firefox, alternate chart.addEventListener('load', function() { var s = chart.contentDocument.getElementsByTagName('span'); software provides similar functionality for Internet Explorer, Setting for (i = 0; i < s.length; i++) { Safari, and other browsers. The software must be installed if (s[i].getAttribute('styp') == 'Pharmacy Recommendation') { Vanderbilt University Medical Center utilizes a locally- Greasemonkey adds user specified s[i].style.display="none"; on each browser to be accessed by the user. Some developed, web-based EMR, in which providers write and JavaScript to the web page. s[i].previousSibling.style.display="none"; knowledge of uniquely identifying element attributes or } view various patient notes. Developers can create custom inner HTML for content to be manipulated is necessary for if (s[i].getAttribute('class') == 'Tab') { note types, such as those generated by pharmacists var oc = s[i].getAttribute('oc').replace(/"/g, "'"); developers to create the user script. s[i].setAttribute('oc', oc + '; hideAKINotes();'); through an electronic medication safety surveillance tool. } } } , false); } Conclusion Script Description The Greasemonkey Firefox Add-on effectively maintained We developed a Greasemonkey script to locate and hide User Script blinding during a randomized controlled trial. Investigators surveillance notes. The script first identifies HTML utilizing web-based EMRs could employ similar methods to elements with a surveillance notes type attribute. Next, the ensure reviewer blinding during chart reviews or script sets the element’s style display property to ‘none’, manipulate user interfaces for other research objectives. hiding the element. An event listener ensures repeats the search and remove function if the chart is refreshed. Altered Web Page Display The authors were funded by grants T15LM007450 and R01LM00965.