The visit went perfectly. Why are you still not paid for it?
For the licensed clinic whose revenue event is a claim the payer accepted, not a patient who walked out.
CLINXClinic management for the UAE, on Odoo · 21 modules on Odoo 19 Community
A clinic in this country does not get paid when the patient leaves. It gets paid when a claim is accepted, remitted and reconciled inside a cycle that has dates in it, and when the coding, the diagnosis, the licence and the VAT on every line survive a payer who is looking for a reason. CLINX is twenty-one modules on Odoo 19 Community built around that cycle, and around the two regulators either side of it.
The distinction that matters
What a sixty-dollar hospital addon has to do with this
It does most of what you will see in a demo. Patients, appointments, a queue, vitals, a note, a prescription, an invoice — the generic hospital addons on the store already have all of it, several of them are competent, and they are cheap. If that is the whole requirement, buy one of those and we will tell you so.
What none of them does is get a UAE clinic paid. The revenue event here is a claim accepted by the Post Office and remitted inside DHA Standard Notification 03/2019 — submitted by the fifteenth of the month after the service month, resubmitted within twenty-one days of the remittance advice, and never resubmitted a third time. Those are dates and counts, and a system that keeps them in a manual is a system where somebody is watching a calendar.
The second thing is that the regulator is not a constant. DHA in Dubai, DoH in Abu Dhabi and MOHAP in the Northern Emirates differ in code lists, in XML enumerations, in endpoints and in deadlines — the same activity-type number means different things in two of them. Anything that hardcodes one emirate's rules is a product that works until your second branch opens. In CLINX the regulator is a record, and a rule change is a data load.
The third is VAT, and this one costs real money quietly. Healthcare in the UAE is zero-rated when it is preventive or basic treatment by a licensed provider, standard-rated when it is cosmetic or elective, and standard-rated again to a non-resident. Zero-rated preserves your input VAT recovery; exempt destroys it. A system that resolves VAT per customer or per invoice instead of per line will be wrong on the mixed visit, which is most visits, and the loss never appears as an error.
How it runs
The chain, from a booking to a reconciled remittance
One record follows the patient from the phone call to the payment, because every break in that chain is a place a payer can decline a line and nobody can say why it was ever charged.
- 1The booking: a clinician of that facility, in a room that is free, with the double-booking guard on the slot rather than in the receptionist's head.
- 2Arrival, queue and the two timers that matter — how long they waited and how long the consultation took — captured because they happened, not typed in afterwards.
- 3Vitals and triage, with the ranges checked as they are entered: a blood pressure recorded the wrong way round is refused at the keyboard rather than discovered in a report.
- 4The note, the problem list, the principal diagnosis and the secondaries, allergies and alerts carried on the patient rather than remembered by whoever saw them last.
- 5The procedure or the prescription, and the consent for anything that needs one — signed, timestamped and not signable twice.
- 6Dispensing under Tatmeen: the pack read from its DataMatrix, its GTIN, serial, batch and expiry taken from the barcode rather than from a form, and a dispensed pack that cannot afterwards be edited.
- 7Coding: ICD-10-CM, CPT, HCPCS, CDT, the Dubai Drug Code — every code validated against the date of the visit, not against today, because the drug code list is republished about twice a week and a deactivated code is an unpayable claim.
- 8Eligibility and pre-authorisation against the payer, the plan and the policy rule, so the co-pay and the deductible are computed before the patient is at the desk arguing about them.
- 9VAT resolved line by line — the zero-rated treatment and the standard-rated cosmetic work on the same invoice, correctly, on the same visit.
- 10The invoice split into the patient's share and the payer's share as two documents that agree, because the patient pays today and the payer pays in forty-five days.
- 11The claim built as eClaim XML with the dates rendered the way the Post Office wants them, the disposition flag taken from the facility's environment rather than from a default, and the claim refused if it has no principal diagnosis or no activity on it.
- 12Submission before the fifteenth, with the deadline read in Dubai time rather than in UTC — a difference of four hours that decides whether a claim is late.
- 13The remittance advice parsed back in, denials rolled up onto the claim they denied, and a denial workbench that is a screen rather than a spreadsheet.
- 14Resubmission inside twenty-one days, of the right type, and never a third time — the counter is enforced, not advised.
- 15The penalty ledger, both directions: the 0.03% a day you owe on a late submission, and the 0.03% a day the payer owes you on a late remittance. Almost nobody bills the second one. It is a real receivable and it goes on the reconciliation statement.
- 16The health information exchange — NABIDH, Malaffi or Riayati — fed the HL7 messages the visit produced, with the minimum data set checked for completeness before the visit is allowed to close, because connection is a licence-renewal gate and not an integration project.
The refusals
The eight things it refuses to do
Every refusal below is a state transition the code declines and a named test proves it declines. The suite carries more than two thousand eight hundred of them.
RefusesCoding a visit with a code that was withdrawn before it
The Dubai Drug Code is republished roughly twice a week, with codes deactivated in it. A claim carrying one is unpayable, and you find out weeks later in a remittance advice. Validation is against the service date, never against today.
RefusesA third resubmission
The cycle allows two, inclusive of the reconciliation resubmission. A third is not a claim with a problem, it is money already gone — and a system that lets you send it is a system that lets you believe otherwise for another three weeks.
RefusesFiling a Dubai facility's claim to Abu Dhabi
One clinic group, two emirates, two regulators, two sets of enumerations. A claim filed to the wrong Post Office is rejected on arrival, and by the time it comes back the fifteenth may have passed.
RefusesA claim with no principal diagnosis on it
Secondaries alone will not do. This is the single most common structural rejection there is, and catching it at build time costs nothing while catching it at the payer costs a cycle.
RefusesRewriting a clinical record, including under automation
The retention obligation is twenty-five years for the record and five for the access log. A correction is a new document that references the original and carries a reason. The guard survives sudo, which is the only version of it that means anything.
RefusesA sick-leave certificate beyond the clinician's grade
A general practitioner may certify five days, a specialist fourteen, a consultant thirty — and no clinician may raise their own ceiling. The certificate also needs a real face-to-face visit behind it, so it cannot be issued against a booking the patient never attended.
RefusesEditing a pack that has already been dispensed
Under Tatmeen the pack is serialised to the individual box and the dispensing event has already left the building. Editing it afterwards makes your record and the federal register disagree, and the register is the one that is right.
RefusesSending a withheld patient's data to the exchange
Consent and the VIP flag are checked when the message is built, not when it is sent — the message refuses to exist rather than sitting in a queue waiting for somebody to notice. A privacy failure that reached the wire is not recoverable by an apology.
Honest limits
What it deliberately does not do
It is not a hospital system. No inpatient admission, no bed management, no operating-theatre scheduling, no ward round. It is built for the licensed clinic and the polyclinic group, and the things a hospital needs that a clinic does not were dropped from the design on purpose rather than left half-built.
It ships no medical codes. CPT, HCPCS and ICD-10-CM are licensed to your clinic through the regulator, and that licence does not extend to a vendor shipping them inside a system. CLINX ships the schema, the importer and the validation rules; you load the code sets from your own regulator download. Any vendor who hands you the codes in the package has a legal problem, and after you install it, so do you.
It cannot be hosted outside the UAE. Federal Law 2/2019 prohibits storing or processing UAE health data abroad without express regulator approval, so the standard cloud regions are not an option for the production database. This belongs in the proposal, not in a discovery call after signature.
It is not a quality management system, a laboratory system or a radiology system. It holds the operational and financial side and talks to the rest; a vendor who tells you one product is all four is describing a roadmap.
It does not carry e-invoices to the network itself. PINT AE is a five-corner Peppol model that runs through an accredited service provider, so CLINX produces the structured payload and integrates the provider. Building the transport ourselves would be work we could not accredit.
Questions
What buyers ask us first
Who is running it?
A clinic in Sharjah, live. They have not agreed to be named here and we will not name them until they do — which is the same answer you should want us to give a prospect who asks about you.
Does it need Odoo Enterprise?
No. Not one of the twenty-one modules depends on an Enterprise addon, and that was a decision rather than an accident. Where Enterprise would have been the natural home for something — consent signature, appointment booking, the dashboard — CLINX carries its own. It is the only one of our suites with no Enterprise dependency at all.
We have branches in more than one emirate.
That is the case the product was designed around. The regulator is a record, not a constant: DHA, DoH, MOHAP and DHCC each carry their own code lists, activity-type enumerations, denial codes, endpoints and claim rules, and the facility points at one of them. A rule change is a data load. And a facility licensed in one emirate is refused when it tries to file into another.
Where does it have to be hosted?
In the UAE. Federal Law 2/2019 on the use of ICT in health fields prohibits storing or processing UAE health data outside the country without express regulator approval, so the usual European and American cloud regions are not available for the production database. Any vendor who has not raised this with you before quoting has not read it.
How do we know it works?
More than two thousand eight hundred automated tests, and a release gate that packages the addons and installs them from those packages onto an Arabic database created that minute, finishing with zero warnings and zero failures. The suite is gated on Arabic rather than English because that is the database our customers actually run.
What should we make any vendor prove on their own demo?
Four things, live. Show me a claim refused at build time for a code that was withdrawn before the visit date. Show me one invoice with a zero-rated treatment and a standard-rated cosmetic line on it, both right. Show me the money a payer owes us for paying late, as a receivable and not as a complaint. And show me what happens on the third resubmission. Most demos stop at the first.
How we put it in
Written around this
Built for
CLINX
See it on your own numbers
A walkthrough on a database seeded with a real caseload, not a slideshow. Bring one rejected claim, one package you sell, and one doctor whose share nobody can agree on, and we will show you where each of them lands.
Monday to Friday, 9:00 AM – 6:00 PM (GST)
Prefer we call you?
Leave your WhatsApp number and we will reach out.
