openmrs

n8n community node for OpenMRS FHIR R4 integration. Access patient demographics, encounters, observations, diagnostic reports, conditions, and medication statements.

Package Information

Released: 4 mo ago
Downloads: 31 weekly / 303 monthly
Latest Version: 1.3.6
Author: Monfort Brian N.

Documentation

n8n-nodes-openmrs

npm
npm downloads
License: MIT

n8n community node for OpenMRS FHIR R4 API. Register patients, create encounters, search clinical records, and connect OpenMRS to DHIS2, RapidPro, and other health systems.

n8n is a fair-code licensed workflow automation platform.


Installation

Via n8n UI: Settings → Community Nodes → search n8n-nodes-openmrs → Install

Via npm:

npm install n8n-nodes-openmrs

Credentials

Field Description
Base URL Your OpenMRS instance including /openmrs (e.g. https://o3.openmrs.org/openmrs)
Username OpenMRS username
Password OpenMRS password

Demo: https://o3.openmrs.org/openmrs username admin, password Admin123


Resources & Operations

Resource Operations
Patient Create, Get, Get Many, Search by Identifier, Search by Name, Search by Phone
Encounter Create, Get, Get Many
Observation Get, Get Many
Diagnostic Report Get, Get Many
Condition Get, Get Many
Medication Statement Get, Get Many
Custom API Call Any method, any FHIR endpoint

Example: Register a Patient

{
  "resourceType": "Patient",
  "identifier": [{ "system": "http://openmrs.org/identifier", "value": "CASE-001" }],
  "name": [{ "family": "Nkurunziza", "given": ["Brian"] }],
  "gender": "male",
  "birthDate": "1995-03-15",
  "telecom": [{ "system": "phone", "value": "+250788123456" }]
}

Returns the created FHIR Patient resource including the assigned OpenMRS UUID.


Example: Create an Encounter

{
  "resourceType": "Encounter",
  "status": "finished",
  "class": { "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", "code": "AMB" },
  "subject": { "reference": "Patient/PATIENT_UUID" },
  "period": { "start": "2026-06-02T08:00:00+00:00", "end": "2026-06-02T09:00:00+00:00" }
}

Replace PATIENT_UUID with the UUID returned from Patient Create.


Compatibility

  • OpenMRS: 2.3+ with FHIR2 module enabled
  • n8n: 1.0+
  • Node.js: 22+

API Reference

POST /ws/fhir2/R4/Patient
GET  /ws/fhir2/R4/Patient/{uuid}
GET  /ws/fhir2/R4/Patient?identifier={id}
GET  /ws/fhir2/R4/Patient?name={name}
GET  /ws/fhir2/R4/Patient?telecom={phone}
POST /ws/fhir2/R4/Encounter
GET  /ws/fhir2/R4/Encounter/{uuid}
GET  /ws/fhir2/R4/Encounter?patient={uuid}&_count=50
GET  /ws/fhir2/R4/Observation?patient={uuid}&_count=50
GET  /ws/fhir2/R4/DiagnosticReport?patient={uuid}&_count=50
GET  /ws/fhir2/R4/Condition?patient={uuid}&_count=50
GET  /ws/fhir2/R4/MedicationStatement?patient={uuid}&_count=50

Resources


Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/your-feature
  3. Commit: git commit -m 'feat(openmrs): your change'
  4. Push and open a Pull Request

Support


License

MIT © 2026 Monfort Brian N. | 宁俊


Acknowledgments

Built to connect clinical systems to national health information infrastructure. Part of an open-source interoperability stack for outbreak response and healthcare orchestration across low-resource settings.

Discussion