SlideShare a Scribd company logo
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.

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
Cross browser testing using BrowserStack Cross browser testing using BrowserStack
Cross browser testing using BrowserStack
RapidValue
 
XPages Blast - ILUG 2010
XPages Blast - ILUG 2010XPages Blast - ILUG 2010
XPages Blast - ILUG 2010
Tim Clark
 
Testing Your Application On Google App Engine
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App Engine
IndicThreads
 
Testing your application on Google App Engine
Testing your application on Google App EngineTesting your application on Google App Engine
Testing your application on Google App Engine
Inphina Technologies
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
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
buildacloud
 
Protractor framework architecture with example
Protractor framework architecture with exampleProtractor framework architecture with example
Protractor framework architecture with example
shadabgilani
 
WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London
Robert Nyman
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
Artem Nagornyi
 
Build Secure Cloud-Hosted Apps for SharePoint 2013
Build Secure Cloud-Hosted Apps for SharePoint 2013Build Secure Cloud-Hosted Apps for SharePoint 2013
Build Secure Cloud-Hosted Apps for SharePoint 2013
Danny Jessee
 
Introduction to Greasemonkey
Introduction to GreasemonkeyIntroduction to Greasemonkey
Introduction to Greasemonkey
Gurpreet Singh Sachdeva
 
Bshield osdi2006
Bshield osdi2006Bshield osdi2006
Bshield osdi2006
losalamos
 
Dhct config report
Dhct config reportDhct config report
Dhct config report
San Man
 
Mean stack Magics
Mean stack MagicsMean stack Magics
Mean stack Magics
Aishura Aishu
 
Arquillian & Citrus
Arquillian & CitrusArquillian & Citrus
Arquillian & Citrus
christophd
 
Kraken Front-Trends
Kraken Front-TrendsKraken Front-Trends
Kraken Front-Trends
PayPal
 
C#on linux
C#on linuxC#on linux
C#on linux
AvarinTalks
 
QTP Interview Questions and answers
QTP Interview Questions and answersQTP Interview Questions and answers
QTP Interview Questions and answers
Rita Singh
 
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
NAVER D2
 
Xamarin Test Cloud - from zero to hero in automated ui testing
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
Geert van der Cruijsen
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
Robert Nyman
 

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
Cross browser testing using BrowserStack Cross browser testing using BrowserStack
Cross browser testing using BrowserStack
 
XPages Blast - ILUG 2010
XPages Blast - ILUG 2010XPages Blast - ILUG 2010
XPages Blast - ILUG 2010
 
Testing Your Application On Google App Engine
Testing Your Application On Google App EngineTesting Your Application On Google App Engine
Testing Your Application On Google App Engine
 
Testing your application on Google App Engine
Testing your application on Google App EngineTesting your application on Google App Engine
Testing your application on Google App Engine
 
Cloud Application Blueprints with Apache Brooklyn by Alex Henevald
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
 
Protractor framework architecture with example
Protractor framework architecture with exampleProtractor framework architecture with example
Protractor framework architecture with example
 
WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
 
Build Secure Cloud-Hosted Apps for SharePoint 2013
Build Secure Cloud-Hosted Apps for SharePoint 2013Build Secure Cloud-Hosted Apps for SharePoint 2013
Build Secure Cloud-Hosted Apps for SharePoint 2013
 
Introduction to Greasemonkey
Introduction to GreasemonkeyIntroduction to Greasemonkey
Introduction to Greasemonkey
 
Bshield osdi2006
Bshield osdi2006Bshield osdi2006
Bshield osdi2006
 
Dhct config report
Dhct config reportDhct config report
Dhct config report
 
Mean stack Magics
Mean stack MagicsMean stack Magics
Mean stack Magics
 
Arquillian & Citrus
Arquillian & CitrusArquillian & Citrus
Arquillian & Citrus
 
Kraken Front-Trends
Kraken Front-TrendsKraken Front-Trends
Kraken Front-Trends
 
C#on linux
C#on linuxC#on linux
C#on linux
 
QTP Interview Questions and answers
QTP Interview Questions and answersQTP Interview Questions and answers
QTP Interview Questions and answers
 
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
[1D1]신개념 N스크린 웹 앱 프레임워크 PARS
 
Xamarin Test Cloud - from zero to hero in automated ui testing
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
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 

More from 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...
Clinicians Satisfaction Before and After Transition from a Basic to a Compreh...
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...
Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview...
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...
Clinician Satisfaction Before and After Transition from a Basic to a Comprehe...
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...
Evaluation of Clinical Decision Support Alerts for Medications Contraindicate...
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...
Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn...
Allison McCoy
 
Improving Lab Order, Verification, and Follow-up Processes at UT Physicians
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 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...
Use of the Crowdsourcing Methodology to Generate a Problem-Laboratory Test Kn...
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...
A Prototype Knowledge Base and SMART App to Facilitate Organization of Patien...
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...
Automated Inference of Patient Problems from Medications using NDF-RT and the...
Allison McCoy
 
A System to Improve Medication Safety in the Setting of Acute Kidney Injury
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 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...
Real-Time Surveillance for Rapid Correction of Clinical Decision Support Fail...
Allison McCoy
 

More from Allison McCoy (11)

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...
Clinicians Satisfaction Before and After Transition from a Basic to a Compreh...
 
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...
Computer-Based Clinical Decision Support for Colorectal Diseases: An Overview...
 
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...
Clinician Satisfaction Before and After Transition from a Basic to a Comprehe...
 
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...
Evaluation of Clinical Decision Support Alerts for Medications Contraindicate...
 
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...
Comparative Analysis of Association Rule Mining, Crowdsourcing, and NDF-RT Kn...
 
Improving Lab Order, Verification, and Follow-up Processes at UT Physicians
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
 
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...
Use of the Crowdsourcing Methodology to Generate a Problem-Laboratory Test Kn...
 
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...
A Prototype Knowledge Base and SMART App to Facilitate Organization of Patien...
 
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...
Automated Inference of Patient Problems from Medications using NDF-RT and the...
 
A System to Improve Medication Safety in the Setting of Acute Kidney Injury
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
 
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...
Real-Time Surveillance for Rapid Correction of Clinical Decision Support Fail...
 

Recently uploaded

"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
ScyllaDB
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 

Recently uploaded (20)

"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Discover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched ContentDiscover the Unseen: Tailored Recommendation of Unwatched Content
Discover the Unseen: Tailored Recommendation of Unwatched Content
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 

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.