Skip to content

METS-Programme/openmrs-module-ugandaemr-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

560 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

UgandaEMR Sync Module

License OpenMRS Version

Overview

The UgandaEMR Sync Module provides comprehensive data sharing and health information exchange (HIE) capabilities for OpenMRS installations. It enables seamless interoperability between facility-level EMR systems and external health information systems using FHIR (Fast Healthcare Interoperability Resources) standards.

Key Capabilities

  • FHIR-based Data Exchange: HL7 FHIR R4 standard for healthcare data interoperability
  • Multi-system Integration: Connect with DHIS2, central servers, lab systems, and other HIEs
  • National DWH: Advanced disease surveillance and reporting capabilities
  • Resource-based Sync: Flexible FHIR resource synchronization profiles
  • Bi-directional Communication: Send data to and receive data from external systems
  • Secure & Reliable: Enterprise-grade security with circuit breaker patterns and retry mechanisms

πŸ“š Documentation

Complete documentation is available in the docs/ folder.

Essential Reading

Configuration & Usage

Development

  • Development - Developer guide and contribution
  • Security - Security considerations and best practices
  • CHANGELOG - Version history and changes

Quick Links

What You Need Where to Look
"I'm new here" Home
"Get me started fast" Getting Started
"API documentation" API Reference
"I want to contribute" Development
"What's new?" CHANGELOG
"Something's broken" Troubleshooting

Quick Start

# 1. Download the latest OAM file
wget https://github.com/METS-Programme/openmrs-module-ugandaemr-sync/releases/download/v2.0.5/openmrs-module-ugandaemr-sync-2.0.5.oam

# 2. Upload via OpenMRS Admin UI
# Navigate to: Administration β†’ Manage Modules β†’ Add Module
# Select the downloaded OAM file and click "Upload"

# 3. Configure global properties
# Navigate to: Administration β†’ Advanced Settings β†’ Global Properties
ugandaemrsync.healthCenterSyncId = YOUR_FACILITY_ID
ugandaemrsync.protocol = https

# 4. Create your first FHIR profile
curl -X POST \
  https://your-openmrs/openmrs/ws/rest/v1/syncfhirprofile \
  -H 'Content-Type: application/json' \
  -u admin:Admin123 \
  -d '{
    "name": "Patient Data Sync",
    "description": "Sync patient demographics and encounters",
    "resourceTypes": "Patient,Encounter,Observation",
    "profileEnabled": true,
    "url": "https://central-server.health.gov/fhir",
    "urlUserName": "facility-id",
    "urlPassword": "api-key"
  }'

For detailed installation instructions, see the Getting Started guide.

Features

πŸ”₯ Key Features

  • FHIR Profile Management: Resource-based and case-based profiles with flexible scheduling
  • Data Exchange Capabilities: Push/pull data to central servers, DHIS2, lab systems
  • Advanced Scheduling: Anti-blocking protection with priority-based execution
  • Security & Compliance: Role-based access control, audit logging, HIPAA-compliant
  • Developer-Friendly: REST APIs, extensive documentation, community support

For complete feature list, see the module overview.

Installation

Prerequisites

  • OpenMRS Platform 2.7.0 or higher
  • Administrator access to OpenMRS
  • MySQL 5.7+ or PostgreSQL 9.6+
  • Java 8 or higher

Quick Install

  1. Download the latest OAM file from releases
  2. Upload via OpenMRS Admin UI (Administration β†’ Manage Modules β†’ Add Module)
  3. Configure global properties
  4. Set up scheduled tasks

For detailed installation instructions, see the Getting Started guide.

Usage Examples

Sync Patient Data to Central Server

curl -X POST \
  https://your-openmrs/openmrs/ws/rest/v1/syncfhirprofile \
  -H 'Content-Type: application/json' \
  -u admin:Admin123 \
  -d '{
    "name": "Central Server Sync",
    "resourceTypes": "Patient,Encounter,Observation",
    "profileEnabled": true,
    "url": "https://central-server.health.gov/fhir",
    "urlUserName": "your-facility-id",
    "urlPassword": "your-api-key",
    "syncLimit": 1000
  }'

HIV Case Surveillance

curl -X POST \
  https://your-openmrs/openmrs/ws/rest/v1/syncfhirprofile \
  -H 'Content-Type: application/json' \
  -u admin:Admin123 \
  -d '{
    "name": "HIV Case Surveillance",
    "isCaseBasedProfile": true,
    "caseBasedPrimaryResourceType": "Condition",
    "resourceTypes": "Patient,Condition,Observation,Encounter",
    "profileEnabled": true,
    "scheduleEnabled": true,
    "fixedRateInterval": 3600000,
    "executionPriority": 1
  }'

For more usage examples, see the Getting Started guide.

Support

Documentation

Community

Contributing

We welcome contributions! Please see the Development Guide for details on how to contribute to this project.

License

This project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.

Version Information

  • Current Version: 2.0.6-SNAPSHOT
  • Minimum OpenMRS Version: 2.7.0
  • FHIR Version: R4
  • Maintainer: METS Programme

For complete documentation, visit the docs/ folder.

About

This Module syncs data to a REST Server in a central location as specified.

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages