Integration

The Integration area of BridgeERP HMS is where the hospital connects to the wider health ecosystem — national reporting systems, partner laboratories and imaging providers, referral facilities, and modern app developers. It bundles the suite’s support for the major healthcare interoperability standards (FHIR R4, HL7 v2.x and DHIS2) alongside record-matching, terminology and offline-sync tooling, so that data captured once at the point of care can flow to every system that needs it without re-keying.

What this area covers

Interoperability in BridgeERP HMS is delivered by a family of cooperating modules. Each standard has its own configuration tree, its own data logs and its own operator role, but they all live under one menu so an integration engineer can manage everything from a single place. The headline capabilities are:

  • FHIR R4 / R5 — a built-in FHIR server that publishes patients, encounters, observations, medications, allergies, conditions and immunizations as standards-compliant resources, plus client endpoints to push to or pull from external FHIR servers. See FHIR Interoperability.
  • HL7 v2.x — an MLLP / HTTP bridge that exchanges ADT, ORM and ORU messages with laboratory analysers, radiology systems and legacy hospital systems. See HL7 Bridge.
  • DHIS2 — aggregate health-information reporting to national HMIS platforms (KHIS, DATIM/PEPFAR and similar), mapping clinical activity to data elements, org-units and reporting periods. See DHIS2 Reporting.
  • Public website & REST API — the patient-facing hospital website and the JSON endpoints that feed it, including online booking and the patient portal. See Website & REST API.

Where to find it

Everything described here lives under HMS Core → Integration. The principal sub-trees are:

MenuOpens
HMS Core → Integration → FHIR InteroperabilityFHIR endpoints, resource types, mapping rules, resource instances, bundles, subscriptions, registered SMART apps and ValueSet bindings.
HMS Core → Integration → HL7 BridgeHL7 endpoints (channels), message types, mapping and routing rules, subscriptions, and the operations logs (Messages, ACK Log, Segment Logs).
HMS Core → Integration → DHIS2DHIS2 instances, field mappings, data elements, data sets, data values, org-units and sync runs.
HMS Core → Integration → EMPIEnterprise master patient index — match rules, candidates, review queue, merge / unmerge log and cross-facility links.
HMS Core → Integration → TerminologyCode systems, value sets, UCUM units, concept crosswalks and the bulk SNOMED import wizard.
HMS Core → Integration → PACS / RadiologyPACS servers, modalities, modality worklist, studies, series, instances and imaging reports.
HMS Core → Integration → HMS IntegrationsBridges to the platform’s own apps: CRM pipeline for new patients, calendar sync, care-plan projects, documents, helpdesk, live chat, e-sign and CSAT surveys.
HMS Core → Integration → HMS PWA Offline and PWA Sync v2Offline data capture for field teams and the conflict-resolving sync engine that reconciles it.

Standards & profiles supported

StandardVersion(s)Role of the suite
FHIRR4 (4.0.1) and R5Acts as a FHIR server publishing a CapabilityStatement, and as a client to external servers.
HL7 v2.x2.3 through 2.9 (default 2.5)Sends and receives pipe-delimited (ER7) messages over MLLP/TCP, file hot-folder, HTTP POST, REST or SFTP.
DHIS2API 39/40/41Pushes aggregate data values to and pulls from national HMIS instances.
SMART-on-FHIROAuth 2.0 basedRegisters third-party apps that read FHIR data with scoped tokens.
TerminologiesSNOMED CT, ICD, LOINC, UCUMConcept storage and crosswalks bind local codes to standard value sets.

External entrypoints at a glance

Each standard exposes a small, fixed set of network entrypoints that partner systems connect to. These are the verified base paths served by the suite; the host and port are your own deployment’s public URL.

StandardEntrypoint (path)MethodPurpose
FHIR/fhir/r4/metadataGETCapabilityStatement — what this server supports; the first call a client makes.
FHIR/fhir/r4/<Resource>GET / POSTRead or search a resource type (Patient, Encounter, Observation, MedicationRequest, AllergyIntolerance, Condition, Immunization).
HL7 v2/hl7/inboundPOSTAccepts an inbound ER7 message and returns an ACK; used by partners that send over HTTP rather than MLLP.
HL7 v2/hl7/healthGETLiveness probe for the HL7 bridge, for uptime monitors and load balancers.
Website / REST/storefront/api/siteGETRoot site-context call; entry to the full public JSON API documented on the API page.

Before you start

Interoperability work touches live patient data, so prepare the groundwork first:

  1. Confirm facilities are configured. Endpoints in every channel are stamped with a partner facility, so your own hms.facility records must exist before you create endpoints.
  2. Agree the data contract with the partner. For each connection note the direction (do you publish, consume or both?), the resource or message types in scope, and the authentication method the partner expects.
  3. Load terminology where codes are exchanged. If a partner sends coded results, import the relevant code systems under Terminology so incoming codes resolve to concepts.
  4. Assign the right roles. Decide who is a read-only viewer, who configures endpoints and who administers each standard (see below).

Roles & access

Each standard ships a three-tier role ladder so you can separate “look” from “configure” from “administer”:

StandardViewerOperator / IntegratorAdministrator
FHIRFHIR Viewer (read-only)FHIR Integrator (configure mappings & endpoints)FHIR Administrator (full)
HL7HL7 ViewerHL7 OperatorHL7 Administrator
DHIS2DHIS2 ViewerDHIS2 OperatorDHIS2 Administrator

Each higher tier implies the one below it, so an Administrator can also do everything an Operator and Viewer can.

Tips & troubleshooting

Tip — Start every new connection as a read-only or sandbox link. FHIR endpoints and DHIS2 instances both carry a Test / Sandbox style option so you can prove reachability and auth before any production data flows.
Note — Each standard keeps its own log: FHIR resource instances and bundles, HL7 messages and ACK logs, DHIS2 sync runs. When a partner queries a transmission, these logs are your audit trail.
Warning — Inbound FHIR and HL7 entrypoints are reachable without a user session by design so external systems can post to them. Keep them behind a reverse proxy with IP allow-listing or mutual TLS in production.

Capture once, report everywhere

The design principle behind this area is that clinical staff should record information once, at the point of care, and never re-key it for an external system. A registration captured at reception can be published as a FHIR Patient, announced to a partner over HL7 as an ADT message, and counted toward a national DHIS2 return — all from the same underlying record. The job of the integration engineer is therefore mostly configuration: define the endpoints, map the fields, choose the codes, and let the suite move the data. When you add a new connection, decide first which of these three roles it plays so you open the right sub-tree:

  • Share a clinical record with another care provider → use FHIR (or HL7 for older systems).
  • Exchange orders and results with a laboratory or imaging device → use the HL7 Bridge.
  • Report aggregate figures to a ministry or programme → use DHIS2.

Connections that bridge to the platform’s own apps — CRM, calendar, documents, helpdesk and so on — are grouped separately under HMS Integrations and need no external credentials.

Common issues & fixes

SymptomLikely causeFix
Partner reports HTTP 401 / 403 on a FHIR callEndpoint auth mode does not match what the partner sends.Open the FHIR endpoint and confirm the Auth Type (None, Basic, Bearer Token, OAuth 2.0 or SMART-on-FHIR) and the matching Auth Config.
HL7 messages arrive but are rejected with AE / ARThe message type is not in the channel’s supported list, or a mapping rule failed.Check the ACK Log for the reason, then add the message type to the endpoint and review the mapping rules.
DHIS2 sync run ends as Partial or FailedSome data values were ignored or errored on the server.Open the Sync Run and read Values Ignored / Error and the error message; usually a missing org-unit or data-element mapping.
Public website shows no dataRecords are not published.Confirm the source records have Website Published set; the API only returns published content.
Was this page helpful?