Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Hackathon Dates: - | Location: Argyle Grand Hotel, Nairobi, Kenya

...

“Good ideas may not want to be free, but they do want to connect, fuse, recombine. They want to reinvent themselves by crossing conceptual borders. They want to complete each other as much as they want to compete.” ― Steven Johnson

Expand
titleIntro & Background

The Annual OpenMRS Conference Hackathons, a place where innovation meets rigorous engineering practices! Is usually an opportunity for community members, teams and architects to engage and get their “hands-in” or “on” OpenMRS and related projects, working on exciting and high priority tasks and challenges, as well as having an opportunity to propose low hanging fruit use cases for groups to work on. It has been a place where we can grow existing skills, learn new skills, and build relationships with others in the community.

Expand
titleObjectives

We look forward to the attendees (that is you, the participant) bringing their technical strengths to the table and bringing their challenges and use cases to engage with others in the field. These sessions are focused at providing the space for the architects, the analysts, the developers, the system integrators, and the implementers within the community to meet and discuss how to solve active problems and develop innovative solutions. We are expecting a combination of the following to emerge:

  • Focused technical discussions around how best to engage with fundamental aspects and architecture of OpenMRS.

  • Bringing your technical questions and projects/code to persons with expertise in these areas and engaging with them and others on how best to architect and develop solution(s).

  • Resolving high priority issues and tackling new features on the OpenMRS roadmap.

  • Bring your development skills to the table and try to help others working on various challenges.

...

At this year’s OMRS24 Hackathon, as part of our commitment to excellence, we're introducing a new requirement: If there's coding involved, there should be tests! 🤩

If there's coding involved, there should be tests!

As we implement the "Tests Required on all PRs" policy, every team working on engineering tasks will be expected to write tests as they develop their solutions. To support this initiative, expert coaches will be on hand to guide you through the process. But that’s not all—teams with the best test coverage will be eligible for a special award. We’ll be looking for:

  • Comprehensive Coverage: How well does your test suite cover the codebase?

  • Diversity of Tests: Are you using a variety of test types to ensure robustness?

  • Quality: How effective and well-structured are your tests?

This is more than just a hackathon; it’s a chance to improve your coding practices and showcase your testing prowess!

Teams with the best test coverage will be eligible for a special award

Objectives

We are looking forward to the attendees (that is you, the participant) bringing their technical strengths to the table and bringing their challenges and use cases to engage with others in the field. These sessions are focused at providing the space for the architects, the analysts, the developers, the system integrators, and the implementers within the community to meet and discuss how to solve active problems and develop innovative solutions. We are expecting a combination of the following to emerge:

  • Focused technical discussions around how best to engage with fundamental aspects and architecture of OpenMRS.

  • Bringing your technical questions and projects/code to persons with expertise in these areas and engaging with them and others on how best to architect and develop solution(s).

  • Resolving high priority issues and tackling new features on the OpenMRS roadmap.

  • Bring your development skills to the table and try to help others working on various challenges.

Current Challenges

Please add in any challenges that you might want to pose to the attendees or smaller high priority issues/bugs raised by the community and/or from the core OpenMRS roadmap to be tackled at the Hackathon.

Info

NOTE: If you're proposing a topic because you're looking for help on an issue (as opposed to offering yourself up to work on the issue), please fill in the 'Support Needed'  column with the type of expertise or help you'd require.

Title

Description

Support Needed

Notes

and

/ Slides/ Links

Ambassador

Mozambique Priority Use Case

High priority roadmap features/issues related to the application of OpenMRS and its distributions in Mozambique.

So of the topics that are currently relevant include:

  • Extending Atom feed sync between Bahmni and OpenERP (does not exist at the moment)

  • Sync2 extensions to support centralisation 

  • Initializer Module extensions

  • Data Migration

    • Sync2 alternative

    • Pentaho Data Integration

Jembi Health Systems

Nathan Floor

Laura Vignoli

Extending Bahmni Integration with DHIS2

Work on support for Bahmni integration with DHIS2

See here for more info: 

https://github.com/Possiblehealth/dhis2-integration

File sharing: https://drive.google.com/open?id=1exwLBimmUZ9bPSMEgUkWqut1o2_mHbTO

Reporsitory to work on:

/ Proposed By

O3 Bug Bash

Hack away on some tricky bugs & Design QA tickets!

Includes: 

  • Test Writing: Learn how to write tests that will be required on all PRs as of Sept

  1. List of tickets HERE

    1. Label with: omrs24bugbash

  2. August: Improvement to testing framework (how a good PR with test coverage should look - Jayasanka Weerasinghe Dennis Kigen)

  3. Docs: More guidance on how to do mocking

  4. Docs: Recipe showing full example/story of how one would test as they build something

Ian Bacher& Veronica Muthee

O3 Form Engine Test coverage

  • The React Form Engine is a mission-critical component of the EMR.

  • Need more test coverage for this! 

List of tickets HERE

Jayasanka, Samuel Male

Form Builder

  • The form builder currently supports making a fully fledged form in the JSON schema editor but needs some additional work to add support for it on the interactive builder.

  • Needs more test coverage!

List of tickets HERE

Nethmi Rodrigo

Feature area: Order Basket

Make sure everything’s properly aligned from data model through to frontend; walk through all the flows; check for any safety concerns. 

  1. Prep for this with Global Support Team in advance

  2. Burke’s support and user testing

Dennis Kigen

Graphical reports

Out of the box graphical reports for the various services offered at the facility. The could include trends against time and pie charts e.g Outpatient/Inpatient dashboards

  1. OpenMRS core support to provide the data to populate these charts

  2. Design support to design the layout of these charts

Pius Kariuki- IntelliSOFT

SMART Guidelines

David Mukungi-IntelliSOFT

Import Export Service

  1. An admin service to seed databases for instance new installations with SQL data.

  2. The export service to backup information selected from a checklist, this might include but not limited to: address information, patient data,  concept dictionary and user roles.

We believe that implementing this solution will significantly streamline the data backup process and enhance security measures to protect against data loss.

Design support. We have already started working on those features but we would like some design support to help improve the experience on these workflows.

Pius Kariuki

Michael Ndula- IntelliSOFT

Currently, OpenMRS does not support auto-population

On the React Forms

Picture an instance where you have already filled your date of birth, gender and HIV status in a separate form and now you need to fill a few more forms. 

Currently OpenMRS doesn’t support auto population of observations from different encounter types so you will have to keep filling these details over and over again (docs)

https://github.com/

lauravignoli

openmrs/

dhis2-integration

How to install maven in centos 6: https://tecadmin.net/install-apache-maven-on-centos/

  • Add configuration to validate data sent, for example data element x is mandatory

  • Add configuration for scheduling where the period can be selected

  • Add a view of the activity logs

  • Add Day as a period

Jembi Health Systems

Nathan Floor

Laura Vignoli

Learning about SPA / Microfrontends

There will be some people from the Microfrontends Squad at the hackathon to help people get started with Microfrontends and Single-SPA, the technologies behind the new OpenMRS front-end initiative.

Please note that we will expect some familiarity with Javascript and React. If either of these technologies is new to you, please see the following tutorials (they cover the minimum that participants will be expected to understand).

Javascript on CodeAcademy

React Tutorial

If you already have a good grip on both of those technologies, you can get a head start by doing The Single-SPA Tutorial and browsing around the OpenMRS Microfrontends Wiki.

Brandon Istenes

OpenMRS and FHIR

There has been some recent work on the FHIR module and a working group set up looking at OpenMRS and FHIR. This session will focus on the use of FHIR in the OpenMRS community and look for opportunities to extend support for FHIR. This will likely include some focus on the WHO CDS topic below.

Jan Flowers

OpenMRS/Bahmni Data Exchange and Interoperability with openIMIS

There is ongoing work  for interfacing with various tools and workflows (OpenMRS Bahmni, DHIS2), leveraging the OpenHIM and other HIE components:

  • Beneficiary enrollment

    • Check enrollment status

    • Check beneficiary balance

  • Claim submission

    • Track status of claim

    • Resubmit rejected claim

  • Indicator Reporting

  • Interactions with other HIE components e.g. Product Registry, Terminology Services

  • Slides:

    WHO-ITU - Module 4 - OpenHIE and OpenHIM - 2019

    OpenHIM Mapping Mediator Specification

    openIMIS Workflows

    OpenHIM Mapping Mediator: https://github.com/jembi/openhim-mediator-mapping

    OpenHIM Mediator Tutorials: https://github.com/jembi/openhim-mediator-tutorial

    Slides: openIMIS @ OMRS19 Hackathon

    Daniel Futerman

    WHO Clinical Decision Support

    The World Health Organization (WHO) Computable Care Guidelines working group has been working on Clinical Decision Support using FHIR/CQL and have set up a simplified reference implementation to make it easier for POS applications to interact with this. The aim of this session is to support practical investigations into how Bahmni and OpenMRS could engage/interface with this.

    Slides:

    WHO Computable Guidelines

    Slides: WHO CCG @ OMRS19 Hackathon

    Daniel Futerman

    openmrs-ngx-formentry/blob/main/projects/ngx-formentry/src/form-entry/services/historical-encounter-data.service.ts#L5

    Jira Legacy
    serverSystem Jira
    serverIddd5f38d5-f8f4-3f41-9551-b59f4841491c
    keyO3-2762

    Michael Ndula- IntelliSOFT

    Validation of the Ampath forms

    Validating the forms to only appear after a certain condition is met or depending on the Patient’s age/gender e.g Pediatric form should not appear for Adults and Adults and adolescent form should not appear for Children

    1. Know how to validate Encounters Types.

    Michael Ndula- IntelliSOFT

    Data Exchange between O3 facilities?

    New Triage form

    How might we improve the interface of a Triage form to better support providers in that role? Could we do this without creating hard-coded form elements but expand a generic set of patterns that could also be reused in other forms / contexts?

    Paul Adams

    System use and data quality monitoring report

    Can we provide an out-of-the box report that enables implementers to determine if the EMR is being used effectively, and if the data meets basic quality standards.  

    Knowledge of data model, ideas for mapping indicators, and building SQL queries to be used for exports or ETLs.

    Proposed list of indicators that should be broadly useful across implementations to be provided.

    Debbie Munson PIH

    Integration of OpenMRS RefApp with Kenya National Health Terminology Service

    1. The Open Concept Lab module prepends “api.” to the subscription URL. Our subscription URL is -> https://knhts.health.go.ke/knhts-api/orgs/MOH-KENYA/collections/CHC/

    The Open Concept Lab module prepends the URL to be “https://api.knhts.health.go.ke/knhts-api/orgs/MOH-KENYA/collections/CHC/”. — Is this by design? It is easy to change but was there a reason behind this?

    1. Our reverse proxy settings at present, has a trailing “/“ in the subscription URL. The module automatically strips this trailing “/“ and fetching concepts fails. Can this be changed to avoid URL manipulation in any way and use the URL as is configured?

    Kevin Ngari & Amos Laboso

    University of Nairobi

    ICD 11

    Make it easier to subscribe to ICD 11 and integrate into your OpenMRS dictionary.

    Antony Ojwang/Samuel Lubwama

    Stock management Bugbash

    Finding bugs in stock module and fixing them

    Jaba/Makombe/Donald Kibet

    Auto-generated TypeScript REST client using Swagger

    Since we already have swagger docs for OpenMRS REST resources, we should be able to use swagger-codegen to generate typescript client and data types for our frontend to consume. This should also give us incentive to improve the swagger docs for other server endpoints (FHIR REST resources, Spring controllers)

    • knowledge of Swagger docs

    • knowledge of server-side resources and endpoints to improve typings

    • knowledge of server-side and client-side build / publish process.

    Write-up

    Chi Bong Ho