Urgent Care Network Software: Fixing Queues, Wait Times and Payer Mix
Build it if you are past five sites or two EMR instances, and build the operations layer, not the chart. A focused first release, meaning a live queue across sites plus real payer mix visibility, is $60k to $130k shipping in 12 to 16 weeks. A full platform with occupational medicine, employer billing and demand forecasting runs $150k to $400k phased across 6 to 12 months. Below roughly 40,000 annual visits on a single EMR instance, keep Solv and your spreadsheet and put the money into a provider hour instead.
Why urgent care software makes or breaks a multi-site operator
Urgent care is a queue business wearing a clinic's coat. Your cost is fixed: a provider, a medical assistant, an X-ray tech and a lease that all run whether four patients or forty come through the door between 5pm and 8pm. Everything that decides your year happens inside that queue. How long door-to-door actually takes. Whether the person at the back walks out. Whether the registrar picked the right plan off the card. Whether the visit lands as a commercial claim at contract rate or a self-pay balance you will chase for nine months.
The stack running it is never one thing. Experity is the chart and the practice management system for most independent networks, or athenahealth or eClinicalWorks if you grew out of primary care, or Epic if you are hospital-owned. Solv or Clockwise.MD sits in front for save-my-spot and published wait times. Phreesia or the front desk does registration. Availity or pVerify for eligibility. Waystar, Zotec or the EMR vendor's own billing team on the back end. QGenda or When I Work for provider schedules. And then the thing that actually runs the network: a Google Sheet your regional director rebuilds every Monday from four CSV exports.
Every operator recognizes the following Tuesday. It is 5:40pm, second week of flu season. The lobby at your busiest site has 22 people in it. Clockwise is telling the internet 45 minutes. Real door-to-door is past two hours. Six people leave without being seen. Four miles away your other clinic has two patients in the lobby and an X-ray tech reading her phone. Nobody in either building can see the other building. Your EMR holds all of that data and gives you no way to act on it in the next ten minutes.
Problem: the queue is per clinic, so the network is blind
Solv and Clockwise.MD publish a wait time. They do not move demand. Both estimate off recent throughput at that one location, which means the number stays calm right up until the queue is already broken, and it knows nothing about who is on shift at the sister site or whether the next four patients are ten-minute rashes or X-ray cases. A patient sees "45 minutes" at your site, gets it wrong, and never learns the site nine minutes away was empty.
A custom operations layer starts with one arrival ledger across every location: an HL7 v2 ADT feed out of each EMR instance through an interface engine, plus your own kiosk and QR check-in events, plus the chief complaint captured at check-in mapped to an acuity and a resource tag (X-ray, lab, suture, simple). From there you compute real door-to-door in five-minute buckets per site, and then you do the one thing the off-the-shelf widget will never do: you offer the patient in position 14 a text that says Grovetown is 22 minutes and a 9 minute drive, keep your place or transfer, and the transfer actually moves their position in the shared ledger. The receiving front desk sees an inbound ETA. The sending site sees the handoff. The same engine throttles slot release on Solv and your Google Business Profile when a site goes red, so you stop selling seats you cannot serve.
Problem: payer mix arrives 45 days after you could have fixed it
You find out in the March remit run that Site 4's self-pay share went from 9 percent to 17 percent in January. By then it is a quarter of bad revenue you cannot re-bill. The cause was usually mundane: a big local employer changed carriers, or a registrar hired in December has been picking the wrong entry from a payer dropdown with hundreds of rows and four plausible BCBS options that route to different payer IDs.
Experity's dashboards show visit counts and charges. Waystar shows denials by reason code. Neither shows denials by registrar, by site-hour, or against the actual insurance card image the front desk photographed. A custom build closes that loop: extract the card at check-in with a vision model instead of template OCR, fire a real-time 270 eligibility check to Availity, return a confidence score, and hold the visit for a front desk fix while the patient is still in the building. Then ingest the 835 remits nightly and join every denial back to the visit, the registrar, the screen and the card image that started it, so CO-22 and CO-27 stop being anonymous. Load your contract rate table per payer per CPT so the 6pm number on the wall is expected net revenue per visit, not charges. Track S9088 and 99051 acceptance per payer, because several of them quietly zero those out and nobody in your organization is watching. Set a threshold alarm on self-pay share by site-week so January is a phone call, not an autopsy.
Problem: staffing is built on last year's gut, not next Thursday's arrivals
The schedule goes into QGenda six weeks out: two providers, 8am to 8pm, flat. Arrivals are not flat. They triple between 4pm and 7pm, they spike the Monday after a school in-service day, and they move with the flu curve by three weeks. QGenda and Shiftboard solve credentialing and fairness constraints. They were never built to solve demand, and your EMR hands you last year's volume in an export.
Forecasting pays here because the signal is already yours and nobody is using it. Train on three years of your own check-in timestamps by site and hour, then add weather, school calendars, holidays and one input almost every operator sleeps on: your own CLIA-waived rapid strep and flu positivity rate by site, which leads volume by days. The output must not be a chart. It should be a recommendation with money attached: add a four-hour provider block Thursday 4pm to 8pm at Site 3, projected 11 additional visits, projected patients per provider hour stays above 2.6. Then a float-pool action: text the four PRN providers credentialed at that site, first accept wins, write it back to QGenda. Then measure the forecast against reality every week so the model earns trust or gets ignored honestly.
Problem: occupational medicine, your best margin, runs on a fax machine
DOT physicals, pre-employment panels, chain-of-custody drug screens, injury care under an employer panel. No deductible argument, contracted or cash rates, and it fills the dead 9am to 2pm window. It is also the part of your business with the worst tooling. Experity has an occ med module; most operators still run employer accounts receivable out of QuickBooks and a folder of faxed authorizations, while Concentra and eScreen take the national contracts because their reporting is better.
A custom build treats the employer as a first-class entity, not a payer record: a service catalog with a per-employer rate card, purchase order and authorization capture, and an employer portal where the HR (Human Resources) manager sends an employee over, sees pass or fail on the screen and the physical without PHI they are not entitled to, and receives a monthly invoice already matched to their PO. Authorization letters from workers comp adjusters are unstructured faxes in fifty formats, which is why template OCR fails and an extraction model does not: pull the claim number, adjuster, employer and approved services, then route the injury visit to the state fee schedule instead of the cash rate. Track days-to-pay per employer, because that single number tells you which of your contracts is real.
Problem: callbacks and overreads live on a clipboard
Thursday morning a strep culture comes back positive from Quest for a Tuesday patient. That afternoon the teleradiology overread flags a fifth metatarsal fracture the PA read as a sprain. Both land in an EMR inbox belonging to a provider who is off for three days, or on a printed list at the front desk, or in a tab of the Monday spreadsheet. This is the leak that is a patient safety event and a revenue event at the same time, and the EMR inbox has no SLA and no escalation.
Build a closed-loop register instead: ORU result feeds from Quest, LabCorp and the overread group land in one work queue owned by a role, not a person, with a clock on each item. A model classifies overread discrepancy severity and drafts the patient message in your clinic's voice through Twilio; the provider approves in one tap, which keeps the human in the decision and the typing out of it. Nothing closes silently. Twenty-four hours open escalates to the site medical director, forty-eight to the regional. Every closed loop is logged with who and when, which is the artifact you hand your malpractice carrier and the report a hospital partner will ask for before they sign.
What this costs and how long it takes
These are Digital Heroes delivery bands, drawn from more than 2,000 projects, not a market survey. A focused first release, typically the shared queue plus transfer plus a real payer mix view, runs $60k to $130k and ships in 12 to 16 weeks. A full platform adding occupational medicine, the employer portal, invoicing, forecasting and the results register runs $150k to $400k phased over 6 to 12 months.
What pushes the number up in this category specifically. First, EMR interfaces: Experity mostly means HL7 feeds and nightly extracts rather than a modern API, athenahealth has real APIs with partner and per-transaction fees, Epic means a vendor services process measured in months. Each instance you inherited from an acquisition is its own integration, and the interface engine, whether NextGen Connect or Redox, is a line item plus a per-site monthly. Second, real-time reliability: a queue board that dies at 6pm on a Tuesday is worse than no queue board, so you are paying for redundancy and on-call, not a hobby deployment. Third, revenue cycle scope: reading 835s and modeling contract rates roughly doubles the data model. Fourth, occ med is effectively a second product. Fifth, HIPAA engineering: BAAs, row-level audit logging on every PHI read, environment separation, penetration test before go-live. Budget 10 to 15 percent of the build for it and stop negotiating with yourself about it.
Build versus buy: take the position
If you run one to three clinics on a single EMR instance and your actual problem is "we want online check-in and a wait time on our website", buy Solv, publish the number, and go run your clinics. Under roughly 40,000 annual visits across the network an operations layer will not pay for itself, and your regional director's spreadsheet is the correct tool.
And never rebuild the chart. Not the e-prescribing, not the interaction checking, not the controlled substance workflow, not the CLIA-waived device interfaces. Experity and athenahealth have spent fifteen years and hundreds of engineers in that swamp and you will not catch them, nor should you want to. The system of record stays where it is.
The signals it is time to build: more than five sites or past 60,000 annual visits; two or more EMR or PM instances from acquisitions with no single view across them; occupational medicine past 15 percent of visits and still living in QuickBooks; someone whose full-time job is rebuilding a report; visits walking out your door that a sister site could have taken tonight; or a payer or health system contract on the table that requires reporting your EMR simply does not produce. The build is the operations layer above the chart. That layer is where your margin actually is, and it is the exact part nobody will sell you.
How to choose a developer for urgent care software
Make them draw your data model before they quote. Patient, visit, encounter, employer, claim, authorization, result and panel are eight different things with different lifetimes and different owners. If the whiteboard says "appointments" and "users", they think this is a booking app. Ask where a workers comp injury visit for an employee of a panel employer with an adjuster authorization and a state fee schedule sits in their model. Watch whether they hesitate.
Make them prove interface experience, not the word integration. Have you shipped HL7 v2 ADT and ORU into production, through which engine, and what happened when the EMR vendor quoted a per-site monthly for the feed? Who did you deal with on the Experity or athenahealth partner side and how many weeks did it take? Anyone can say API. Very few have sat in that queue.
Treat compliance as engineering, not a PDF. BAA signed before the first line of code. Row-level audit logging on PHI reads. No production PHI in staging, enforced, not promised. Ask specifically what they do about PHI leaking into logs and error monitoring, because Sentry will happily retain a patient name forever. If the answer is "we use AWS, it is HIPAA compliant", that is the wrong answer.
Settle ownership and exit on day one. Repositories in your GitHub organization, infrastructure in your cloud accounts, secrets in your vault, and a runbook a different firm could pick up. Ask them to show you a handover they have already done. Then ask for the phone number of an operator they shipped this for, and ask that operator what broke in week three.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- The average developer spends more than 17 hours a week dealing with maintenance issues such as debugging and refactoring, and about four of those hours on 'bad code' - waste that equates to nearly $85 billion annually worldwide in opportunity cost. Source: Stripe (2018) →
- OECD research finds that digitalisation offers SMEs opportunities to improve performance, spur innovation, enhance productivity and compete more evenly with larger firms; it reports that increased use of online platforms produced significant multi-factor productivity gains in SME-heavy sectors such as hospitality and retail, while smaller firms lag in adoption due to skills, resource and financing gaps. Source: OECD (2021) →
- 88% of organizations are concerned about employee retention, and providing learning opportunities is respondents' #1 retention strategy; career progress is cited as people's top motivation to learn, yet only 36% of organizations qualify as 'career development champions.'. Source: LinkedIn Learning (2025) →
- Qualtrics research (Q3 2023 survey of ~28,400 consumers across 26 countries) estimated bad customer experiences put roughly $3.7 trillion in global revenue at risk annually, a 19% jump from the prior year's $3.1 trillion; 64% of customers say they will switch companies over poor service regardless of how much they like the product. Source: Qualtrics XM Institute (via Forbes) (2024) →
Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.
Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.