The Shafafiya dictionary is the authoritative rulebook for Abu Dhabi healthcare data exchange. For clinical costing it defines the XML schema, approved cost buckets, cost types and field-level validation rules that the DOH gateways enforce. A single deprecated tag, a formatting mismatch, or a reconciliation gap is enough to trigger an automatic rejection. This guide covers every layer, from the three primary XML blocks to the full cost bucket and cost type reference, so your file passes before it leaves your building.
What is the DOH Clinical Costing Dictionary?
Shafafiya (Arabic: "transparency") is the DOH's health information exchange programme for Abu Dhabi. The dictionary is its versioned data standard - a precise definition of every accepted field, code set, structural rule and value constraint. Clinical costing submissions are validated against this dictionary alongside the DOH Clinical Costing Standards V2 (2025), which govern how the underlying costs are produced and reconciled. The dictionary controls what data looks like; the standards control how it is generated.
The current active version is V2 (January 2026), reference DoH/ST/FPS/ADCC/V2/2025. It deprecates several tags and cost bucket codes from V1 (2024) and introduces stricter reconciliation requirements. Files referencing retired tags are blocked at the gateway without explanation, which is why pre-submission validation matters.
The three primary XML blocks
Every clinical costing XML file must contain exactly three top-level structural blocks. Missing or misnamed blocks cause immediate schema rejection.
| Block | Tag | Purpose | Critical fields |
|---|---|---|---|
| Submission Header | <Header> |
Identifies sender, receiver and submission context | SenderID (facility licence code), ReceiverID must equal HAAD, TransactionDate in DD/MM/YYYY HH:MM, RecordCount, DispositionFlag (PRODUCTION or PTE_SUBMIT) |
| Claim & Encounter | <Claim> / <Encounter> |
Describes the patient episode being costed | PatientID, FacilityID, encounter Type (1, 2, 3, 4, 41, 42), Start/End dates, ActivityClinicianID, Specialty, ICD-10 diagnosis, HCPCS/CPT procedure codes, CriticalCareTime, VentilationTime |
| Financial Aggregation | <Activity> |
Carries cost values per encounter | CostBucketDirect and CostBucketOverheads tags with AED values to 3 decimal places; direct + overhead sum must reconcile to encounter total |
Encounter types reference
The Type field inside each <Encounter> block must use one of the DOH-defined numeric codes. Mismatching the encounter type with procedure codes is a common submission error.
| Code | Encounter type | Notes |
|---|---|---|
1 | Outpatient | Use outpatient E&M CPT codes (99202-99215) |
2 | Emergency Department | Use ED E&M codes (99281-99285) |
3 | Inpatient | Use inpatient E&M codes (99221-99223, 99231-99233) |
4 | Day Case | Procedure completed within single calendar day without overnight stay |
41 | Emergency Day Case | Emergency admission resolved as same-day case |
42 | Emergency Inpatient | Emergency admission converted to inpatient stay |
Approved cost buckets (V2)
Cost buckets aggregate final direct cost centres into standardised reporting categories. V2 defines 16 approved codes. Using any unlisted code, including retired V1 names, causes automatic gateway rejection.
| Code | Description | Scope |
|---|---|---|
Allied | Allied Health Services | Physiotherapy, OT, dietetics, audiology, social work and other allied health professionals |
Anaesthesia | Anaesthesia Services | All anaesthesia costs including pre-op assessment and recovery room |
Dental | Dental Services | All dental chair, consumable and clinical costs |
ED | Emergency Department | ED triage, resuscitation, acute care and observation |
Home | Home Healthcare Services | Costs delivered in a patient home setting |
ICU | Intensive / Critical Care | ICU, CCU, HDU and neonatal critical care units |
Imaging | Imaging Services | Radiology, MRI, CT, ultrasound, nuclear medicine |
Laboratory | Laboratory Services | Pathology, biochemistry, microbiology and other lab services |
OP | Outpatient Clinics | All scheduled outpatient consultation costs |
OR | Operating Room | Theatre time, surgical nursing and instrument costs |
Other | Other Services | Services not captured by a more specific bucket |
Pharmacy | Pharmacy Services | Drug dispensing, clinical pharmacy and IV preparation |
Physician | Physician Services | Attending physician and specialist consultation costs |
Prosthesis | Prostheses & Implants | Patient-specific implants, human tissue items and other medical devices |
SPS | Special Procedure Suites | Endoscopy, cath lab, cardiac electrophysiology and similar suites |
Ward | Ward Services | Inpatient ward nursing, hotel and general ward costs |
The
Supplies cost bucket from V1 is not accepted in V2. Replace it with Ward (general ward consumables), OR, or Other as appropriate. Files still referencing Supplies are silently rejected at the gateway.
Cost Types (V2): Expense Account Mapping
Cost types aggregate general ledger expense accounts into standardised reporting categories. Unlike cost buckets (which identify where care was delivered), cost types identify what kind of resource was consumed. Every GL line item must map to one of the following codes.
| Code | Description | Covers |
|---|---|---|
SWNurs | Salaries & Wages: Nursing | Registered nurses, enrolled nurses, establishment-based student nurses, trainee nurses |
SWDoc | Salaries & Wages: Medical | Consultants, registrars, residents, interns and other medical officers |
SWAllied | Salaries & Wages: Allied Health | Allied health professionals and OR / procedure-room technicians |
SWNonClin | Salaries & Wages: Non-Clinical | Administrative, maintenance and clerical staff recorded in direct cost centres |
Laboratory | Laboratory Supplies | Reagents, stains, calibration products and billed lab service costs |
Imaging | Imaging Supplies | Film, contrast media and billed imaging service costs |
Pharmacy | Pharmacy: Drugs & Services | Drug purchase, production, distribution, supply, storage and clinical pharmacy |
Prosthesis | Prostheses & Implants | Patient-specific prostheses, implants and human tissue items (mapped per GL prosthesis accounts) |
MS | Medical & Surgical Supplies | Medical and surgical consumables excluding prostheses |
Hotel | Hotel Services | Cleaning, linen, laundry, patient food services and general hotel |
GS | Other Goods & Services | Rent, security, utilities and any GS not classified above |
DepAm | Depreciation & Amortisation | Depreciation of assets recorded in direct cost centres |
OHF | Overhead Facility | All overhead cost centre expenses except depreciation |
OHDep | Overhead Depreciation | Depreciation recorded in overhead cost centres, reported separately from OHF |
OHCorp | Overhead Corporate | Expenses allocated from corporate office or shared services to overhead |
Annotated XML skeleton
The minimal valid structure for a single-claim V2 file. Every field shown is required, omit any one and the file fails schema validation at the gateway.
<?xml version="1.0" encoding="utf-8"?>
<Cost.Submission>
<Header>
<SenderID>MF118</SenderID> <!-- DOH facility licence code -->
<ReceiverID>HAAD</ReceiverID> <!-- Must be exactly HAAD -->
<TransactionDate>15/05/2026 09:30</TransactionDate> <!-- DD/MM/YYYY HH:MM -->
<RecordCount>1</RecordCount> <!-- Must match Claim count -->
<DispositionFlag>PRODUCTION</DispositionFlag> <!-- or PTE_SUBMIT -->
</Header>
<Claim>
<ID>CLM-2026-00001</ID>
<ProviderID>MF118</ProviderID>
<Encounter>
<FacilityID>MF118</FacilityID>
<ID>ENC-10001</ID>
<Type>1</Type> <!-- 1=Outpatient 2=ED 3=Inpatient 4=DayCase -->
<Start>12/04/2026 10:15</Start>
<End>12/04/2026 11:30</End>
<ActivityClinicianID>GD83792</ActivityClinicianID>
<PatientID>PAT-90812</PatientID>
<Specialty>General Practitioner</Specialty>
<Activity>
<Procedure>
<Code>99213</Code> <!-- HCPCS / CPT code -->
<CostBucketDirect>
<Physician>185.500</Physician> <!-- AED to 3 decimals -->
<OP>42.250</OP>
</CostBucketDirect>
<CostBucketOverheads>
<Ward>18.000</Ward>
</CostBucketOverheads>
</Procedure>
</Activity>
</Encounter>
</Claim>
</Cost.Submission>
Reconciliation requirements
V2 tightens reconciliation controls. All of the following must hold or the file will be flagged:
- Record count match:
RecordCountin the header must exactly equal the number of<Claim>records in the file. - Three decimal precision: all AED values must be expressed to exactly three decimal places: rounding to two triggers a precision anomaly flag.
- Cost hierarchy: direct costs must be greater than or equal to overhead costs at the encounter level.
- Encounter totals: the sum of all cost bucket values within an encounter must reconcile to the encounter total.
- Annual reconciliation report: a signed report reconciling costs, encounter volumes and product volumes against source data must accompany each annual submission.
Common Rejection Reasons and How to Fix Them
| Rejection | Cause | Fix |
|---|---|---|
| Deprecated bucket tag | Using a V1 code (e.g. Supplies) not in the V2 approved list | Replace with the correct V2 code: MS, Ward, or Other |
| Schema mismatch | Missing required field, wrong tag name (case-sensitive), or incorrect nesting | Validate against the annotated skeleton above; every shown tag is mandatory |
| Financial imbalance | Direct + overhead bucket values do not reconcile to the encounter total | Re-run cost allocation and verify bucket subtotals before export |
| ReceiverID error | Value is not exactly HAAD: wrong case, trailing space, or alternate value | Set <ReceiverID>HAAD</ReceiverID> with no variation |
| Date format | TransactionDate not in DD/MM/YYYY HH:MM; missing zero-padding | Use 05/06/2026 09:30, not 5/6/2026 |
| CPT/encounter mismatch | Inpatient CPT codes submitted against encounter Type=1 (outpatient) | Match CPT range to encounter type; codes 99221-99223 are inpatient-only |
| File size exceeded | File exceeds the 5 MB DOH gateway limit | Split into multiple batches and remove redundant whitespace |
| Encoding error | File not UTF-8, or contains a UTF-8 BOM at the start | Save as UTF-8 without BOM: a BOM causes an XML parse failure at the gateway |
Validate Against the DOH Clinical Costing Dictionary
Cyscode's DOH Clinical Costing Validator encodes every V2 dictionary rule described in this guide. Upload your XML and it checks schema structure, cost bucket codes, encounter-type consistency, CPT benchmark alignment, reconciliation balance and common field errors - then returns an itemised findings list with severity levels and the exact line to fix. Everything runs in your browser; no patient or financial data is transmitted anywhere.
Check your file against the Shafafiya dictionary now.
Free · runs in browser · zero data leakage
Open the Clinical Costing Validator →For the wider regulatory context, read the Abu Dhabi Clinical Costing Road Map and the white paper Navigating the Clinical Costing Mandate in Abu Dhabi. For guidance on how costs are produced and reconciled, see DOH Clinical Costing Standards & Guidelines.