forked from riaz.somc/chatbot-knowledge
OpenMRS+ Architecture Document
This commit is contained in:
parent
3d487d7153
commit
a4f0f5f981
73
openmrs.md
73
openmrs.md
@ -179,5 +179,78 @@ However, the online centralized solution is being tested in three hospitals to a
|
||||
We can view hospital-wise total patient information and billing information through the SHR dashboard. It's contain hospital-wise patient OPD registration, Emergency registration, provider-wise consultant patient data, male-female ratio, area-wise diagnosis information, laboratory test-wise billing information, department-wise collection information, Bed occupancy rate, facility-wise bed status, etc. But it's not public. Because it contains sensitive information, only an authorized user can view hospital-wise patient data.
|
||||
SHR dashboard url: http://shrdashboard.dghs.gov.bd:5985/
|
||||
|
||||
**FAQs: What is OpenMRS+ architecture??**
|
||||
|
||||
# OpenMRS+ Architecture
|
||||
|
||||
## Core Components
|
||||
|
||||
### OpenMRS+ Overview
|
||||
OpenMRS+ is composed of four services integrated using ATOM feeds. Each service publishes key state changes, and background jobs consume these feeds to sync across systems.
|
||||
|
||||
### Application and Reporting Architecture
|
||||
The architecture facilitates integration between application services:
|
||||
- **Source** publishes state changes via RSS-like ATOM feeds.
|
||||
- **Destination** services consume these feeds via background jobs.
|
||||
|
||||
#### Integration Examples:
|
||||
| Source | Destination | Source Resource | Destination Resource |
|
||||
|------------|-------------|------------------|---------------------------|
|
||||
| OpenMRS | Laboratory | Patient | Patient |
|
||||
| OpenMRS | Odoo | Patient | Customer |
|
||||
| OpenMRS | Laboratory | Lab Order | Draft Accession |
|
||||
| OpenMRS | Odoo | Orders | Quotation |
|
||||
| Laboratory | OpenMRS | Results | Encounter (lab results) |
|
||||
| OpenMRS | Laboratory | Concept | Sample types, Lab Test |
|
||||
| OpenMRS | Odoo | Concept | Drug |
|
||||
|
||||
|
||||
|
||||
## OpenMRS Architecture
|
||||
|
||||
### Technical Overview
|
||||
OpenMRS is a Java-based framework with a modular architecture that includes a core application and optional modules to extend functionality.
|
||||
|
||||
#### Key Layers:
|
||||
1. **User Interface (Presentation):** Built on Spring MVC, DWR, JSP, JavaScript, and AngularJS for newer implementations.
|
||||
2. **Service Layer:** Manages business logic using Spring AOP and Dependency Injection.
|
||||
3. **Data Access Layer:** Uses Hibernate and Liquibase to abstract and manage relational database interactions.
|
||||
|
||||
### Modular Architecture
|
||||
OpenMRS modules allow extension of core functionality without waiting for system-wide releases. These modules have similar architecture to the core and consist of UI, service, and data access layers.
|
||||
|
||||
### Authentication and Authorization
|
||||
OpenMRS enforces data confidentiality through a granulated permissions system:
|
||||
- **Privileges:** Actions like "Add Patient" or "Update Concept".
|
||||
- **Roles:** Collections of privileges, with optional inheritance.
|
||||
- **Users:** Assigned roles to determine system access.
|
||||
|
||||
## Associated Frameworks and Technology Stacks
|
||||
|
||||
### Hibernate
|
||||
- Provides object-relational mapping between database tables and domain objects.
|
||||
- Enforces lazy loading for performance optimization.
|
||||
|
||||
### Spring MVC
|
||||
- Implements the Model-View-Controller design pattern.
|
||||
- Uses annotations and JSP files for the legacy user interface.
|
||||
|
||||
### Build Management
|
||||
- **Tool:** Apache Maven.
|
||||
- **Artifacts Maintained:**
|
||||
- Releases (Maven and Ant-built).
|
||||
- Snapshots for development versions.
|
||||
- Modules and third-party libraries.
|
||||
- Maven repository: [SonaType Nexus](http://mavenrepo.openmrs.org/nexus/).
|
||||
|
||||
## Summary
|
||||
- **Core System:** Modular architecture with extensibility.
|
||||
- **Key Layers:** Presentation, Service, and Data Access.
|
||||
- **Frameworks:** Spring, Hibernate, Maven.
|
||||
- **Security:** Role-based access control for confidentiality and system security.
|
||||
|
||||
---
|
||||
For additional details, explore the OpenMRS DataModel and architecture at [OpenMRS University](https://openmrs.org).
|
||||
|
||||
**Conclusion**
|
||||
The implementation of OpenMRS+ across 100 public hospitals in Bangladesh demonstrates how tailored technological solutions can address infrastructure challenges and improve healthcare outcomes. The initiative showcases a pragmatic approach to overcoming connectivity limitations through the dual deployment modalities—on-premise servers and centralized online solutions—positioning Bangladesh as a leader in leveraging digital technology for enhanced public healthcare.
|
Loading…
Reference in New Issue
Block a user