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

GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
"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
 
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
 
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
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
"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
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
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
 
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
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
"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
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
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
 

Recently uploaded (20)

GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
"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...
 
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!
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
"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
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
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
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
"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
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
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
 

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.