SlideShare a Scribd company logo
1 of 20
OpenMRS Reference Application

          Getting started
     Design Forum, Dec 5, 2012
Why “Reference Application”?
• There is no such thing as the OpenMRS
  application.
• There should be many applications built on
  the OpenMRS API.
• As OpenMRS, we will build one “reference
  application”
  – an example for others (and a reusable one)
  – not a solution to all problems
Guidelines
• Satisfy the 80% use case. Custom needs will
  require custom development.
• Consistent design and user experience
• Prefer less functionality, released faster, with
  good and consistent UX
• Borrow the best modules from implementations
• Build configurable functionality, via modules
  – Can build other applications by reconfiguring the
    building blocks of the Reference Application
• Separate versioning and releases from the API
Build on the UI Framework
            Specific Goals                            module, for rapid development
                                                      and reusable widgets


• First release in the first half of 2013
    – Can run alongside the OpenMRS webapp
    – No requirement to support all existing functionality
    – Existing implementations don’t need to switch yet

• Built for real-time use, also supporting retrospective entry
• Role-based workflows, with specific real-world roles pre-configured.
    – Possible initial target:
      Registration clerk, Clinician, Data clerk, Analyst, System Administrator
• Support for multiple locations, and hierarchies

• Good global navigation and application framework
• A few really good widgets. (So we can copy these patterns for
  years.)
How do we make it happen?
• Create a “Reference Application” module,
  patterned after PIH’sMirebalais module
  – (Do this now)
  – Contain no functionality of its own
  – Configures other modules, provides CSS, etc
• Set up CI/CD, also patterned after PIH-Mirebalais
  – (Do this with our first line of code)
  – Builds and tests after every commit
  – Always have a latest live demo
How do we make it happen? (2)
• Decide what workflows to include in release 1
• Start doing BA and UX analysis on the 80% use
  cases for those workflows
  – (Need UX expertise)
• Some initial low-FTE sprints to set up the
  framework and get good examples in place
  – (Do this soon)
• High-FTE sprints to implement lots of
  functionality following the good examples
What might this look like?
• Following are mockups, screens, and ideas
  from various sources, showing the direction I
  want to go in our first release.
• We should have lots of healthy debate about
  this going forwards, and this should including
  implementers, users, and UX advisors
Already implemented in

        Multiple Locations           the EMR module.



• When you log in, choose
  a location
   – Assuming more than one
     configured
• Pages aware of “session
  location”
• Lets us support:
   – facilities with sub-locations
   – multiple facilities sharing a
     medical record
       • Out of scope: a new
         security model
Already implemented in the

                   Apps                    App Framework module.



• No monolithic application
• Instead: targeted Apps, each with limited
  workflow-specific functionality
• Roles only see certain Apps (via privileges)
   – New homepage will be “your available apps”

• Build some key Apps as part of a core process;
  expect the community to write (many) more
• Example: “Vitals Station” with a locked-down
  workflow to:
   – 1. Find checked-in patient; 2. Record vitals; (repeat)
Home Screen: Your Apps
                    “Widgets” too!
Hopefully we can borrow

      Registration Clerk                        Mirebalais registration UI and
                                                AMPATH-led registration API


• Support for a “Front Desk Clerk” role that can:
   – Create patients
   – Check in patients for visits
   – (bonus) Schedule appointments
      • If the sprints on this module go well. :-)
• Use this to implement a key UI paradigm
   – Repetitive, high-volume tasks; work fast, don’t think
     much; follow a strict workflow
   – Optimized all-keyboard UI
• Reuse this paradigm for other workflows
Big, friendly fields,
optimized for repetitive,
answer-every-question
flows




                            In general, I think we should
                            spend some time on cool extras,
                            for the wow factor.
Hopefully we borrow some

            Data Clerk                 of this from Mirebalais




• Support for the historic “Retrospective Data
  Entry” workflows
  – Find a patient
  – Fill out forms
  – Edit demographics, relationships
• An “administrative” patient screen, focused on
  data entry, not clinical details
• Use this to implement a “friendly”, not-too-
  dense UI paradigm
“Administrative” patient screen




               Ignore the specifics of this mockup, but note
               that it tries to be sparse and non-confusing
We’ll need reusable widgets like “recently-viewed patients” and specific ones like “my stats”




           Support something very much
           like our current form entry tab
Have to implement this

                 Clinician                         completely from scratch




• Information-rich displays of clinical data.
• Details configurable per-implementation
  – Someday, per-user
• Another UI paradigm:
  – dashboard-of-widgets
  – dense data
     • I don’t personally like this, but clinicians seem to...
Clinician
Hopefully we’re sprinting

                   Analyst                    on this irrespective of the
                                              Reference Application


• We have powerful-but-complex underlying
  technologies, e.g. Reporting, Calculation, Data
  Integrity modules
• Paradigm: new UIs that expose partial
  functionality, with better UX
• For example:
   –   Cohort Search (i.e. Cohort Builder replacement)
   –   Data Set Builder (i.e. Data Export replacement)
   –   Run reports
   –   Out of scope: user-friendly UI for building reports
Global Navigation Ideas
Actions
• On a patient page (and perhaps others),
  there may be tens or hundreds of “actions”
  you can take.
   – An action is basically a label and a URL
   – Includes things like filling out forms, opening
     the order-entry tool, etc.
• We should actually build these into the UI
• Have a reusable widget that lists them, with
  searching
   – With keyboard navigation for advanced users

More Related Content

What's hot

Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmComsysto Reply GmbH
 
Streaming to a New Jakarta EE
Streaming to a New Jakarta EEStreaming to a New Jakarta EE
Streaming to a New Jakarta EEJ On The Beach
 
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Arun Gupta
 
Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015Strannik_2013
 
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUGARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUGMarkus Eisele
 
SharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - VirtualisationSharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - VirtualisationAlan Richards
 
Cloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft AzureCloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft AzureParticular Software
 
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!Continuent
 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGeertjan Wielenga
 
Ibm websphere server administration training
Ibm websphere  server administration trainingIbm websphere  server administration training
Ibm websphere server administration trainingFuturePoint Technologies
 
Building solutions with microsoft virtualisation
Building solutions with microsoft virtualisationBuilding solutions with microsoft virtualisation
Building solutions with microsoft virtualisationRonnie Isherwood
 
Hexagonal architecture for java applications
Hexagonal architecture for java applicationsHexagonal architecture for java applications
Hexagonal architecture for java applicationsFabricio Epaminondas
 
Даурен Муса “IBM WebSphere - expensive but effective”
Даурен Муса “IBM WebSphere - expensive but effective” Даурен Муса “IBM WebSphere - expensive but effective”
Даурен Муса “IBM WebSphere - expensive but effective” Anna Shymchenko
 
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha
 
Five Keys for Performance Management of Oracle Forms and E-Business Suite
Five Keys for Performance Management of Oracle Forms and E-Business SuiteFive Keys for Performance Management of Oracle Forms and E-Business Suite
Five Keys for Performance Management of Oracle Forms and E-Business SuiteCorrelsense
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the DatabaseMichaela Murray
 
Discussion About Microservices Architecture
Discussion About Microservices ArchitectureDiscussion About Microservices Architecture
Discussion About Microservices ArchitectureRalph Osmond Rimorin
 

What's hot (20)

Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly Swarm
 
Streaming to a New Jakarta EE
Streaming to a New Jakarta EEStreaming to a New Jakarta EE
Streaming to a New Jakarta EE
 
Netbeans+platform+maven
Netbeans+platform+mavenNetbeans+platform+maven
Netbeans+platform+maven
 
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
 
Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015Spring Boot. Boot up your development. JEEConf 2015
Spring Boot. Boot up your development. JEEConf 2015
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUGARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
ARCHITECTING LARGE ENTERPRISE JAVA PROJECTS - vJUG
 
SharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - VirtualisationSharePoint Europe Conference 2011 - Virtualisation
SharePoint Europe Conference 2011 - Virtualisation
 
Cloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft AzureCloud Messaging with NServiceBus and Microsoft Azure
Cloud Messaging with NServiceBus and Microsoft Azure
 
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans Platform
 
Ibm websphere server administration training
Ibm websphere  server administration trainingIbm websphere  server administration training
Ibm websphere server administration training
 
Building solutions with microsoft virtualisation
Building solutions with microsoft virtualisationBuilding solutions with microsoft virtualisation
Building solutions with microsoft virtualisation
 
Hexagonal architecture for java applications
Hexagonal architecture for java applicationsHexagonal architecture for java applications
Hexagonal architecture for java applications
 
Даурен Муса “IBM WebSphere - expensive but effective”
Даурен Муса “IBM WebSphere - expensive but effective” Даурен Муса “IBM WebSphere - expensive but effective”
Даурен Муса “IBM WebSphere - expensive but effective”
 
HTC Global Services
HTC Global ServicesHTC Global Services
HTC Global Services
 
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
 
Five Keys for Performance Management of Oracle Forms and E-Business Suite
Five Keys for Performance Management of Oracle Forms and E-Business SuiteFive Keys for Performance Management of Oracle Forms and E-Business Suite
Five Keys for Performance Management of Oracle Forms and E-Business Suite
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the Database
 
Discussion About Microservices Architecture
Discussion About Microservices ArchitectureDiscussion About Microservices Architecture
Discussion About Microservices Architecture
 

Viewers also liked

Openmrs Use Examples PPT
Openmrs Use Examples PPTOpenmrs Use Examples PPT
Openmrs Use Examples PPTdjazayeri
 
OpenMRS Concept Management Tutorial
OpenMRS Concept Management TutorialOpenMRS Concept Management Tutorial
OpenMRS Concept Management Tutoriallnball
 
What Is Open M R S
What Is  Open M R SWhat Is  Open M R S
What Is Open M R Shamishfraser
 
Openmrs Use Examples PDF
Openmrs Use Examples PDFOpenmrs Use Examples PDF
Openmrs Use Examples PDFdjazayeri
 
Visits in OpenMRS 1.9
Visits in OpenMRS 1.9Visits in OpenMRS 1.9
Visits in OpenMRS 1.9djazayeri
 
OpenMRS: htmlforms
OpenMRS: htmlformsOpenMRS: htmlforms
OpenMRS: htmlformslnball
 
OpenMRS Presentation
OpenMRS PresentationOpenMRS Presentation
OpenMRS PresentationAnnieLGCI
 
OpenMRS Lightning Talk: Pleebo Health Center
OpenMRS Lightning Talk:  Pleebo Health CenterOpenMRS Lightning Talk:  Pleebo Health Center
OpenMRS Lightning Talk: Pleebo Health Centerlnball
 
OpenMRS Transformation
OpenMRS TransformationOpenMRS Transformation
OpenMRS TransformationBurke Mamlin
 
AngularJS and REST - #omrs15 tutorial
AngularJS and REST - #omrs15 tutorialAngularJS and REST - #omrs15 tutorial
AngularJS and REST - #omrs15 tutorialSaptarshi Purkayastha
 
Creative design/marketing: make a presentation slide on OpenMRS
Creative design/marketing: make a presentation slide on OpenMRSCreative design/marketing: make a presentation slide on OpenMRS
Creative design/marketing: make a presentation slide on OpenMRSuzanysa
 
Partners In Health and Medical Informatics overview (brief)
Partners In Health and Medical Informatics overview (brief)Partners In Health and Medical Informatics overview (brief)
Partners In Health and Medical Informatics overview (brief)lnball
 
Bahmni - an open source hospital system
Bahmni - an open source hospital systemBahmni - an open source hospital system
Bahmni - an open source hospital systemGurpreet Luthra
 
Darius Open Mrs Examples
Darius Open Mrs ExamplesDarius Open Mrs Examples
Darius Open Mrs Exampleshamishfraser
 
FOSS Asia 2016 - OpenMRS networks for networks
FOSS Asia 2016 - OpenMRS networks for networksFOSS Asia 2016 - OpenMRS networks for networks
FOSS Asia 2016 - OpenMRS networks for networksSaptarshi Purkayastha
 
OpenMRS Meeting Boston, Introduction
OpenMRS Meeting Boston, IntroductionOpenMRS Meeting Boston, Introduction
OpenMRS Meeting Boston, Introductionhamishfraser
 

Viewers also liked (20)

Study of OpenMRS
Study of OpenMRSStudy of OpenMRS
Study of OpenMRS
 
Openmrs Use Examples PPT
Openmrs Use Examples PPTOpenmrs Use Examples PPT
Openmrs Use Examples PPT
 
OpenMRS Concept Management Tutorial
OpenMRS Concept Management TutorialOpenMRS Concept Management Tutorial
OpenMRS Concept Management Tutorial
 
OpenMRS presentation
OpenMRS presentationOpenMRS presentation
OpenMRS presentation
 
What Is Open M R S
What Is  Open M R SWhat Is  Open M R S
What Is Open M R S
 
Openmrs Use Examples PDF
Openmrs Use Examples PDFOpenmrs Use Examples PDF
Openmrs Use Examples PDF
 
Visits in OpenMRS 1.9
Visits in OpenMRS 1.9Visits in OpenMRS 1.9
Visits in OpenMRS 1.9
 
OpenMRS: htmlforms
OpenMRS: htmlformsOpenMRS: htmlforms
OpenMRS: htmlforms
 
OpenMRS Presentation
OpenMRS PresentationOpenMRS Presentation
OpenMRS Presentation
 
The open mrs hl7query module
The open mrs hl7query moduleThe open mrs hl7query module
The open mrs hl7query module
 
OpenMRS Lightning Talk: Pleebo Health Center
OpenMRS Lightning Talk:  Pleebo Health CenterOpenMRS Lightning Talk:  Pleebo Health Center
OpenMRS Lightning Talk: Pleebo Health Center
 
OpenMRS Transformation
OpenMRS TransformationOpenMRS Transformation
OpenMRS Transformation
 
AngularJS and REST - #omrs15 tutorial
AngularJS and REST - #omrs15 tutorialAngularJS and REST - #omrs15 tutorial
AngularJS and REST - #omrs15 tutorial
 
Creative design/marketing: make a presentation slide on OpenMRS
Creative design/marketing: make a presentation slide on OpenMRSCreative design/marketing: make a presentation slide on OpenMRS
Creative design/marketing: make a presentation slide on OpenMRS
 
Partners In Health and Medical Informatics overview (brief)
Partners In Health and Medical Informatics overview (brief)Partners In Health and Medical Informatics overview (brief)
Partners In Health and Medical Informatics overview (brief)
 
Inability to Say NO
Inability to Say NOInability to Say NO
Inability to Say NO
 
Bahmni - an open source hospital system
Bahmni - an open source hospital systemBahmni - an open source hospital system
Bahmni - an open source hospital system
 
Darius Open Mrs Examples
Darius Open Mrs ExamplesDarius Open Mrs Examples
Darius Open Mrs Examples
 
FOSS Asia 2016 - OpenMRS networks for networks
FOSS Asia 2016 - OpenMRS networks for networksFOSS Asia 2016 - OpenMRS networks for networks
FOSS Asia 2016 - OpenMRS networks for networks
 
OpenMRS Meeting Boston, Introduction
OpenMRS Meeting Boston, IntroductionOpenMRS Meeting Boston, Introduction
OpenMRS Meeting Boston, Introduction
 

Similar to OpenMRS Reference Application, Getting Started

Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous deliveryMarcel de Vries
 
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...BI Brainz
 
Tips for Beginning Cognos Report Studio Authors: Demonstration of Techniques
Tips for Beginning Cognos Report Studio Authors: Demonstration of TechniquesTips for Beginning Cognos Report Studio Authors: Demonstration of Techniques
Tips for Beginning Cognos Report Studio Authors: Demonstration of TechniquesSenturus
 
Ruby on Rails & Version Control
Ruby on Rails & Version ControlRuby on Rails & Version Control
Ruby on Rails & Version ControlYash Mittal
 
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesKeeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesTyto Software
 
Professionalizing the Front-end
Professionalizing the Front-endProfessionalizing the Front-end
Professionalizing the Front-endJordi Anguela
 
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...confluent
 
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...confluent
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?Eduard Tomàs
 
DevOps: Automate all the things
DevOps: Automate all the thingsDevOps: Automate all the things
DevOps: Automate all the thingsMat Mannion
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesBrian Petrini
 
SERVICENOW PPT BY PAVANKUMAR
SERVICENOW PPT BY PAVANKUMARSERVICENOW PPT BY PAVANKUMAR
SERVICENOW PPT BY PAVANKUMARPavan Kumar
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blenderedm00se
 
20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development PlatformHarezmi IT Solutions
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesTeamstudio
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive uiPaul van Zyl
 
API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellAPI-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellKeith McFarlane
 
Get More Out of Your PeopleSoft Applications Using Tools that You May Not Eve...
Get More Out of Your PeopleSoft Applications Using Tools that You May Not Eve...Get More Out of Your PeopleSoft Applications Using Tools that You May Not Eve...
Get More Out of Your PeopleSoft Applications Using Tools that You May Not Eve...Smart ERP Solutions, Inc.
 

Similar to OpenMRS Reference Application, Getting Started (20)

Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous delivery
 
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
An In-Depth Look at Pinpointing and Addressing Sources of Performance Problem...
 
Tips for Beginning Cognos Report Studio Authors: Demonstration of Techniques
Tips for Beginning Cognos Report Studio Authors: Demonstration of TechniquesTips for Beginning Cognos Report Studio Authors: Demonstration of Techniques
Tips for Beginning Cognos Report Studio Authors: Demonstration of Techniques
 
Ruby on Rails & Version Control
Ruby on Rails & Version ControlRuby on Rails & Version Control
Ruby on Rails & Version Control
 
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesKeeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
 
Professionalizing the Front-end
Professionalizing the Front-endProfessionalizing the Front-end
Professionalizing the Front-end
 
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
Building Information Systems using Event Modeling (Bobby Calderwood, Evident ...
 
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
Designing and Implementing Information Systems with Event Modeling, Bobby Cal...
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
DevOps: Automate all the things
DevOps: Automate all the thingsDevOps: Automate all the things
DevOps: Automate all the things
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top Practices
 
SERVICENOW PPT BY PAVANKUMAR
SERVICENOW PPT BY PAVANKUMARSERVICENOW PPT BY PAVANKUMAR
SERVICENOW PPT BY PAVANKUMAR
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blender
 
20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
 
API-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project WinterfellAPI-driven Legacy Migration: Results from Project Winterfell
API-driven Legacy Migration: Results from Project Winterfell
 
Get More Out of Your PeopleSoft Applications Using Tools that You May Not Eve...
Get More Out of Your PeopleSoft Applications Using Tools that You May Not Eve...Get More Out of Your PeopleSoft Applications Using Tools that You May Not Eve...
Get More Out of Your PeopleSoft Applications Using Tools that You May Not Eve...
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

OpenMRS Reference Application, Getting Started

  • 1. OpenMRS Reference Application Getting started Design Forum, Dec 5, 2012
  • 2. Why “Reference Application”? • There is no such thing as the OpenMRS application. • There should be many applications built on the OpenMRS API. • As OpenMRS, we will build one “reference application” – an example for others (and a reusable one) – not a solution to all problems
  • 3. Guidelines • Satisfy the 80% use case. Custom needs will require custom development. • Consistent design and user experience • Prefer less functionality, released faster, with good and consistent UX • Borrow the best modules from implementations • Build configurable functionality, via modules – Can build other applications by reconfiguring the building blocks of the Reference Application • Separate versioning and releases from the API
  • 4. Build on the UI Framework Specific Goals module, for rapid development and reusable widgets • First release in the first half of 2013 – Can run alongside the OpenMRS webapp – No requirement to support all existing functionality – Existing implementations don’t need to switch yet • Built for real-time use, also supporting retrospective entry • Role-based workflows, with specific real-world roles pre-configured. – Possible initial target: Registration clerk, Clinician, Data clerk, Analyst, System Administrator • Support for multiple locations, and hierarchies • Good global navigation and application framework • A few really good widgets. (So we can copy these patterns for years.)
  • 5. How do we make it happen? • Create a “Reference Application” module, patterned after PIH’sMirebalais module – (Do this now) – Contain no functionality of its own – Configures other modules, provides CSS, etc • Set up CI/CD, also patterned after PIH-Mirebalais – (Do this with our first line of code) – Builds and tests after every commit – Always have a latest live demo
  • 6. How do we make it happen? (2) • Decide what workflows to include in release 1 • Start doing BA and UX analysis on the 80% use cases for those workflows – (Need UX expertise) • Some initial low-FTE sprints to set up the framework and get good examples in place – (Do this soon) • High-FTE sprints to implement lots of functionality following the good examples
  • 7. What might this look like? • Following are mockups, screens, and ideas from various sources, showing the direction I want to go in our first release. • We should have lots of healthy debate about this going forwards, and this should including implementers, users, and UX advisors
  • 8. Already implemented in Multiple Locations the EMR module. • When you log in, choose a location – Assuming more than one configured • Pages aware of “session location” • Lets us support: – facilities with sub-locations – multiple facilities sharing a medical record • Out of scope: a new security model
  • 9. Already implemented in the Apps App Framework module. • No monolithic application • Instead: targeted Apps, each with limited workflow-specific functionality • Roles only see certain Apps (via privileges) – New homepage will be “your available apps” • Build some key Apps as part of a core process; expect the community to write (many) more • Example: “Vitals Station” with a locked-down workflow to: – 1. Find checked-in patient; 2. Record vitals; (repeat)
  • 10. Home Screen: Your Apps “Widgets” too!
  • 11. Hopefully we can borrow Registration Clerk Mirebalais registration UI and AMPATH-led registration API • Support for a “Front Desk Clerk” role that can: – Create patients – Check in patients for visits – (bonus) Schedule appointments • If the sprints on this module go well. :-) • Use this to implement a key UI paradigm – Repetitive, high-volume tasks; work fast, don’t think much; follow a strict workflow – Optimized all-keyboard UI • Reuse this paradigm for other workflows
  • 12. Big, friendly fields, optimized for repetitive, answer-every-question flows In general, I think we should spend some time on cool extras, for the wow factor.
  • 13. Hopefully we borrow some Data Clerk of this from Mirebalais • Support for the historic “Retrospective Data Entry” workflows – Find a patient – Fill out forms – Edit demographics, relationships • An “administrative” patient screen, focused on data entry, not clinical details • Use this to implement a “friendly”, not-too- dense UI paradigm
  • 14. “Administrative” patient screen Ignore the specifics of this mockup, but note that it tries to be sparse and non-confusing
  • 15. We’ll need reusable widgets like “recently-viewed patients” and specific ones like “my stats” Support something very much like our current form entry tab
  • 16. Have to implement this Clinician completely from scratch • Information-rich displays of clinical data. • Details configurable per-implementation – Someday, per-user • Another UI paradigm: – dashboard-of-widgets – dense data • I don’t personally like this, but clinicians seem to...
  • 18. Hopefully we’re sprinting Analyst on this irrespective of the Reference Application • We have powerful-but-complex underlying technologies, e.g. Reporting, Calculation, Data Integrity modules • Paradigm: new UIs that expose partial functionality, with better UX • For example: – Cohort Search (i.e. Cohort Builder replacement) – Data Set Builder (i.e. Data Export replacement) – Run reports – Out of scope: user-friendly UI for building reports
  • 20. Actions • On a patient page (and perhaps others), there may be tens or hundreds of “actions” you can take. – An action is basically a label and a URL – Includes things like filling out forms, opening the order-entry tool, etc. • We should actually build these into the UI • Have a reusable widget that lists them, with searching – With keyboard navigation for advanced users