NABIDH Integration Guide for Dubai Healthcare Providers: A Developer's Reference
A practical technical guide to implementing NABIDH Health Information Exchange compliance for Dubai healthcare providers — FHIR R4 profiles, DHA submission requirements, clinical document mapping, and production integration architecture.
The Dubai Health Authority's NABIDH (National Backbone for Integrated Dubai Health) platform is mandatory for every healthcare provider licensed in Dubai. Since its launch, NABIDH has become the central data infrastructure for Dubai's healthcare system — enabling the sharing of patient clinical records across the emirate's fragmented provider landscape.
For healthcare technology developers and IT teams at Dubai facilities, NABIDH integration is not optional and the technical requirements are specific. This guide provides a practical reference for the FHIR R4 implementation required for NABIDH compliance, based on direct integration work with Dubai healthcare providers.
What NABIDH Is and What It Requires
NABIDH is a Health Information Exchange (HIE) — a platform that aggregates clinical data from Dubai-licensed providers and makes it accessible to authorised clinicians across the network. When a patient presents at a new Dubai clinic, the treating physician can query NABIDH to retrieve that patient's clinical history from other NABIDH-connected providers.
For this to work, every connected provider must submit clinical data in a standardised format. DHA has mandated FHIR R4 as that format, with specific FHIR profiles that define which resource types are required, which elements within those resources are mandatory, and which code systems to use.
The mandatory submission categories vary by facility type:
For hospitals:
- Patient registration (Patient resource)
- Encounter data for every visit (Encounter resource)
- Clinical diagnoses (Condition resource)
- Procedures performed (Procedure resource)
- Medications prescribed (MedicationRequest resource)
- Allergies and adverse reactions (AllergyIntolerance resource)
- Laboratory results (Observation resource)
- Discharge summaries (DocumentReference resource)
For clinics and single-specialty providers: A subset of the above, focused on diagnoses, medications, allergies, and encounter records.
DHA publishes the technical specification and FHIR profiles on their developer portal (available to licensed facilities). The specification is updated periodically; the current version should be obtained directly from DHA rather than relying on cached copies.
NABIDH FHIR Profile Overview
NABIDH uses FHIR R4 with DHA-specific profiles that constrain the base FHIR resources. Key differences from international US Core profiles:
Patient Resource
The NABIDH Patient profile requires:
- Emirates ID as the primary identifier —
system: "https://www.nabidh.ae/fhir/sid/emirates-id",value: [15-digit Emirates ID number] - Passport number for expatriate patients without Emirates ID
- Arabic name in addition to English — NABIDH requires the
textandfamily/givenelements in Arabic for UAE national patients - Nationality using the NABIDH nationality value set
- Active flag must be set
{
"resourceType": "Patient",
"identifier": [
{
"system": "https://www.nabidh.ae/fhir/sid/emirates-id",
"value": "784-1985-1234567-8"
},
{
"system": "https://your-facility.ae/fhir/sid/mrn",
"value": "MRN-12345"
}
],
"active": true,
"name": [
{
"use": "official",
"family": "Al-Rashidi",
"given": ["Ahmed", "Mohammed"]
},
{
"use": "nickname",
"text": "أحمد محمد الراشدي"
}
],
"birthDate": "1985-07-14",
"gender": "male",
"extension": [
{
"url": "https://www.nabidh.ae/fhir/StructureDefinition/nationality",
"valueCodeableConcept": {
"coding": [
{
"system": "urn:iso:std:iso:3166",
"code": "AE"
}
]
}
}
]
}Encounter Resource
NABIDH Encounter submissions require:
- Encounter class using the
http://terminology.hl7.org/CodeSystem/v3-ActCodesystem (AMB for ambulatory, IMP for inpatient, EMER for emergency) - Service provider reference to the DHA-registered facility
- Period — start and end datetime (required for completed encounters)
- Reason codes using ICD-10 or SNOMED CT
- Hospitalization details for inpatient encounters — admit source, discharge disposition
Condition Resource
Diagnoses in NABIDH use ICD-10 codes. The NABIDH profile requires:
- Clinical status — active, resolved, inactive
- Verification status — confirmed, provisional, differential (provisional diagnoses marked
verificationStatus: provisional) - Code — ICD-10-CM or ICD-10-WHO code using the system
http://hl7.org/fhir/sid/icd-10 - Subject — reference to the Patient resource
- Encounter — reference to the encounter this diagnosis is associated with
The UAE uses ICD-10 (WHO edition) for some facilities and ICD-10-CM (US edition) for others. Confirm which code system your DHA licence specifies.
Observation Resource (Lab Results)
Laboratory results require LOINC codes for the test type. The NABIDH Observation profile requires:
- Status — final, preliminary, cancelled, entered-in-error
- Category —
laboratoryusinghttp://terminology.hl7.org/CodeSystem/observation-category - Code — LOINC code for the specific test
- Subject — Patient reference
- Effective datetime — when the specimen was collected or test performed
- ValueQuantity for numeric results, with unit from UCUM (Unified Code for Units of Measure)
Local lab codes without LOINC mappings must be mapped before submission. See the LOINC Mapping Service section below.
Clinical Document Submission (DocumentReference)
Discharge summaries and referral letters are submitted as FHIR DocumentReference resources. The document itself is encoded as base64 in the content.attachment.data element or referenced by URL.
NABIDH accepts:
- CDA (Clinical Document Architecture) documents encoded as base64 XML
- PDF documents for narrative clinical notes
- Structured FHIR documents (FHIR Document Bundles)
For most implementations, PDF discharge summaries are the pragmatic choice — they can be generated from existing clinical systems without a full CDA implementation.
{
"resourceType": "DocumentReference",
"status": "current",
"type": {
"coding": [
{
"system": "http://loinc.org",
"code": "18842-5",
"display": "Discharge Summary"
}
]
},
"subject": {
"reference": "Patient/[nabidh-patient-id]"
},
"date": "2025-11-15T10:30:00+04:00",
"content": [
{
"attachment": {
"contentType": "application/pdf",
"data": "[base64-encoded-pdf]",
"title": "Discharge Summary - Ahmed Al-Rashidi - 2025-11-15"
}
}
],
"context": {
"encounter": [
{ "reference": "Encounter/[encounter-id]" }
],
"period": {
"start": "2025-11-10",
"end": "2025-11-15"
}
}
}Integration Architecture
A production NABIDH integration has several layers:
Data Extraction Layer
Extract clinical data from your EMR via its available API — whether that is Epic FHIR R4, a custom EMR's REST API, an HL7 v2 interface, or direct database access (for legacy systems without modern APIs).
The extraction must capture: patient demographics, encounter metadata, diagnoses, procedures, medications, allergies, and laboratory results within the required submission timeframe.
Transformation Layer
Transform extracted clinical data to NABIDH-compliant FHIR R4 resources. This includes:
- Patient identifier mapping — map your internal MRN to the Emirates ID (requires the Emirates ID to be captured during patient registration)
- ICD-10 code validation — validate that all diagnosis codes are valid ICD-10 codes; local billing codes must be mapped to ICD-10
- LOINC mapping — map local lab codes to LOINC; build a ConceptMap resource or a lookup table
- Medication code mapping — map to RxNorm or the DHA drug formulary code system
- NABIDH profile conformance — validate against the NABIDH FHIR profiles before submission
Submission Layer
Submit transformed FHIR resources to NABIDH. The submission pattern is:
- Bundle transactions — submit related resources (Patient + Encounter + Conditions) as a FHIR transaction Bundle
- Patient matching — check if the patient already exists in NABIDH before creating a new Patient resource (use $match or search by Emirates ID)
- Idempotency — use conditional creates (
If-None-Existheader) to prevent duplicate resource creation - Error handling — NABIDH returns FHIR OperationOutcome resources for validation failures; parse and log these for remediation
Authentication
NABIDH uses OAuth 2.0 client credentials flow for system-to-system authentication. Obtain client credentials from DHA during the integration onboarding process.
public class NabidthAuthService
{
private readonly HttpClient _httpClient;
private readonly string _tokenEndpoint;
private readonly string _clientId;
private readonly string _clientSecret;
public async Task<string> GetAccessTokenAsync()
{
var response = await _httpClient.PostAsync(_tokenEndpoint,
new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("grant_type", "client_credentials"),
new KeyValuePair<string, string>("client_id", _clientId),
new KeyValuePair<string, string>("client_secret", _clientSecret),
new KeyValuePair<string, string>("scope", "nabidh/read nabidh/write")
}));
var tokenResponse = await response.Content.ReadFromJsonAsync<OAuthTokenResponse>();
return tokenResponse?.AccessToken ?? throw new InvalidOperationException("Token request failed");
}
}Monitoring and Audit
NABIDH compliance requires evidence of successful data submission. Your integration must maintain:
- Submission logs — every resource submission logged with timestamp, resource type, NABIDH resource ID (from the Location header), and HTTP status
- Rejection logs — every NABIDH validation failure logged with the full OperationOutcome response
- Daily submission summaries — counts of successful and failed submissions by resource type and facility
DHA auditors typically ask for submission rate reports during compliance reviews. Prepare these reports automatically, not manually.
LOINC Mapping for Dubai Laboratories
Dubai-licensed laboratories are the primary source of laboratory Observation submissions. Many Dubai lab systems use local internal codes rather than LOINC. The mapping approach:
- Request the lab's test catalog with their internal codes
- Map to LOINC using the Regenstrief LOINC database (freely available at loinc.org) and the LOINC mapping tools
- Validate mappings with clinical laboratory staff — the "right" LOINC code for a test depends on the method, specimen type, and measurement condition
- Build a ConceptMap in your integration middleware to transform lab codes at submission time
- Handle unmappable codes — some very local or custom tests may not have LOINC equivalents; contact DHA for guidance on these
Arabic Data Handling
NABIDH requires Arabic names for UAE national patients. Handling Arabic data in a .NET application requires:
- Database collation — use
Arabic_100_CI_AIcollation for fields containing Arabic text in SQL Server - String handling — Arabic is a right-to-left language; .NET's
stringtype handles Unicode including Arabic correctly, but UI components need RTL support - Encoding — FHIR JSON uses UTF-8; Arabic characters encode correctly in UTF-8 without any special handling
- Transliteration — the DHA may require a specific transliteration standard for Arabic names in English fields; confirm with DHA
Common NABIDH Integration Errors
From production experience, these are the most frequent rejection causes from NABIDH:
1. Missing Emirates ID Patient resources submitted without a valid Emirates ID are rejected. If your patient registration process does not reliably capture Emirates IDs, this is a workflow problem that must be solved before technical integration begins.
2. Invalid ICD-10 codes NABIDH validates ICD-10 codes against the official code set. Codes with incorrect format, historical codes that have been retired, or local billing codes are rejected. Validate all diagnosis codes before submission.
3. Encounter period missing end datetime
NABIDH requires period.end for completed encounters. Many EMRs do not populate discharge datetime consistently; verify your extraction logic captures discharge datetime correctly.
4. Duplicate patient creation Submitting a new Patient resource for a patient who already exists in NABIDH creates duplicate records. Always check for an existing patient (search by Emirates ID) before creating a new one.
5. Medication coding issues DHA has a specific drug formulary and expects medications to reference it. Mapping your EMR's drug catalog to DHA's formulary codes is time-consuming but required.
Testing and Validation
DHA provides a NABIDH test environment (sandbox) for integration testing. Before requesting sandbox access:
- Implement FHIR profile validation locally using the official FHIR validator or the Firely SDK's profile validation capabilities
- Test every resource type against your test patient scenarios
- Test error handling by intentionally submitting invalid resources and verifying your code correctly handles OperationOutcome responses
- Test patient matching — submit the same patient twice and verify conditional create prevents duplication
After sandbox validation, submit a production access request to DHA with evidence of successful testing.
Data Residency Requirements
All UAE patient data must remain within UAE boundaries. Use Azure UAE North (hosted in Dubai data centres) for all cloud infrastructure. Azure UAE North provides all services needed for NABIDH integration: App Service, Functions, SQL Database, Key Vault, API Management, and Service Bus.
Configure Azure Key Vault for all secret storage — NABIDH client credentials, connection strings, and encryption keys must not be stored in application configuration files or code repositories.
Timeline Expectations
A complete NABIDH integration for a single-site healthcare facility typically takes:
- Weeks 1–2: DHA onboarding, specification review, and gap assessment
- Weeks 3–4: Data model mapping and terminology analysis (ICD-10 gaps, LOINC mapping)
- Weeks 5–8: Integration development — extraction, transformation, submission layers
- Weeks 9–10: DHA sandbox testing and error remediation
- Week 11: Internal clinical validation (are the submitted records clinically accurate?)
- Week 12: DHA production access approval and go-live preparation
- Week 13–14: Phased production go-live with intensive monitoring
For multi-site organisations or facilities with legacy EMR systems, add 4–8 weeks. The DHA review and approval process introduces timeline variability that is largely outside your control.
Summary
NABIDH integration requires:
- Understanding of DHA's specific FHIR R4 profiles (not just base FHIR)
- Rigorous patient identity management centred on Emirates ID
- Clinical terminology mapping — ICD-10, LOINC, and DHA drug formulary
- Resilient submission pipeline with monitoring and audit logging
- Azure UAE North infrastructure for data residency compliance
The compliance requirement is real, the technical requirements are specific, and the DHA audit process is substantive. Starting the integration process 4–6 months before a compliance deadline is advisable.
For technical guidance on your NABIDH integration, book a free consultation.