Problems & solutions · Mobile App

EMS ePCR Software Problems: The 5 That Cost Real Money, and How to Avoid Them

EMS Epcr Software product interface illustration showing common problems and fixes.
The short answer

The most expensive failure in EMS software is an electronic patient care record that validates at the end of the chart, in schema language, on a device that quietly assumed a network. The medic gets an error naming an element number at 03:40 in the bay, saves the chart incomplete because the next call drops, and it sits. Four days later quality assurance bounces it, the biller cannot drop the claim without a signature, and on a service running 20,000 transports a year a few hundred charts age past their timely filing window. That is zero revenue on transports you already paid to run, and it stays invisible until somebody reconciles two systems by hand.

Why does offline capability keep getting scoped as a sync feature?

On a demo it looks like a checkbox. In the field it is the architecture, and getting it wrong is the biggest scope failure in this category. A medic has to open a prefilled chart in a rural dead zone or a hospital basement, complete it, capture a patient and crew signature, lock it, and have all of that survive until the tablet finds a network again. A developer who builds the chart as a form posting to an interface and adds a local cache in month four has built something that will lose work.

Run the scenario that breaks it before you sign anything. Two tablets in the same truck, one incident, both crew members editing, neither with signal. Naive synchronisation produces either a duplicate record or a silent overwrite, and the version that gets overwritten is always the one with the airway times somebody typed while the other medic was driving.

The pattern that works is append only event capture on the device, deterministic merge on synchronisation, and an explicit exception queue for conflicts a machine should not resolve alone. Chart identity comes from the dispatch incident rather than being generated on the tablet, so both devices target the same record. The signature binds a specific sequence of events, so a chart signed on scene cannot be quietly mutated afterwards. Make any developer walk through the two device case out loud. If the answer is that it syncs automatically, they have not built for the field.

What goes wrong when you migrate charts and open claims out of ESO or ImageTrend?

There are three layers and only the first is easy. Closed charts with settled claims move as records and mostly need to be readable for the retention period your state and your counsel set. Open charts are harder: the ones still in quality assurance correction, the ones waiting on a signature, the ones whose claim has been submitted but not adjudicated. Those have a live workflow attached, and a workflow does not export.

The export has a shape you should plan around. You typically get a coded export you can query and a set of rendered documents that are the legal artifact, and you need both. Attachments are where migrations fail: monitor files, rhythm strips, refusal forms and scanned signatures often sit outside the structured export. Ask for a sample early and inspect it against a chart you know well.

Do not attempt a cutover weekend. There is no weekend on which an ambulance service stops running calls. New incidents go into the new system from a chosen date, charts already open finish where they started, and both stay live until the last open claim closes. Give crews one unambiguous rule about which system a call lives in, because ambiguity produces a call recorded in neither.

Why do CAD feeds and monitor imports break after launch?

Computer aided dispatch feeds rarely fail loudly. The dispatch centre upgrades, adds a unit designator format, renames a call type, and your prefill starts producing charts with a blank complaint or the wrong unit. Nobody raises a ticket, because the medic simply retypes it, and retyping is exactly the value you paid to remove. Within a month crews stop trusting the prefill entirely.

Treat every inbound dispatch message as untrusted. Validate it, quarantine failures into a queue somebody actually looks at, and alert on the absence of traffic. A feed that has sent nothing for two hours on a day shift is a louder signal than one sending malformed messages.

Monitor imports break for a different reason: device clocks. LIFEPAK and ZOLL fleets export different file structures, firmware updates change layouts, and device clocks drift. Matching a monitor file to a chart on a time window alone, against a device four minutes out of sync, attaches the wrong rhythm strip to the wrong patient, which is a clinical and legal problem rather than a data problem. Match on device serial plus a tolerant time window, require a human to confirm when more than one candidate fits, and make clock synchronisation part of your routine fleet check with the offset logged. Budget each additional monitor vendor as its own workstream, both to build and to maintain.

What happens when state submission and billing documentation are not covered?

State submission is not a report you generate at the end. It is a set of constraints that has to be true of every chart, and the constraints move. If a developer encodes the national schema and your state's custom elements into application code, every state change becomes a software release on someone else's roadmap. Hold the element profile, the conditional trees and the state additions as data with effective dates. Confirm submission and certification mechanics with your state office early, because they shape the phase plan more than any feature does.

Billing documentation fails in the opposite direction: it is checkable and nobody checks it at the right moment. The biller needs a crew and patient signature, a valid destination, a narrative that supports the billed level of service, and for scheduled non emergency transports a physician certification statement. Every one of those can be verified while the crew is still standing in the emergency department. If they are verified eight weeks later by a denial, the person who could have fixed the problem in sixty seconds never hears about it. Put the checks in front of the crew signature, name the specific missing item in plain language rather than citing a field, and push denial patterns back to crews as a short list of fixable behaviours rather than a report.

The third gap is access control. Charts are protected health information, so you need role based access, an audit log of who opened which record, and an answer to the uncomfortable case of crews reading charts for calls they did not run.

Should you build custom or configure what you already own?

If you run under roughly ten units, or you are a volunteer or combination service without dedicated technology staff, stay where you are. ESO EHR and ImageTrend Elite are mature, certified against the national schema, and cost a fraction of what a build costs to run. Several states operate a shared instance at low or no cost, and if yours does, take it. A build at that scale is an act of pride that will consume your operations chief for a year.

Before commissioning anything, put a competent person inside the product you already own for two weeks. A meaningful share of what gets reported as a limitation is unmaintained configuration: a form profile set at implementation and never revisited, so medics scroll past neonatal and wildland elements no call type of yours can produce. Trimming that profile and rebuilding the reports that broke when the last analyst left is configuration, not a project. If it fixes the complaint you have saved a year.

Build when two or more of these hold. Per unit licensing has passed roughly $150,000 a year and grows with your fleet. Your medical director cannot get your own cardiac arrest data out without raising a ticket. You run a genuinely mixed model across 911, interfacility, community paramedicine and event standby, and the product handles one of those well. Or you have a dispatch system or a monitor fleet the vendor will not prioritise, which is a queue position you cannot buy your way out of.

How do hidden costs get into the quote?

Monitor vendors get counted as one line. They are not. Each pairing is its own parser, its own test fixtures and its own maintenance every time firmware changes underneath you. Get your fleet named in scope with model and firmware beside each entry, and expect the older units to cost more than the new ones.

Dispatch integration is the second. Against a major vendor with a documented interface it is fast. Against a regional system where you are handed a database view and a phone number it is slow, and the delay is rarely technical. Name the vendor and the method in the statement of work.

State submission maintenance is the third, and it is ongoing rather than one off. Treat it as an annual line, not a project task. Fourth is billing: a full module roughly doubles the build, and exporting to the partner you already use is almost always the better phase one decision. Fifth is the field itself. Mounting, daylight readable screens, glove friendly touch targets and battery life decide whether a system gets used or worked around, and a new device fleet is a capital line no developer quotes.

What separates a build that works from one that fails here?

The builds that work ship one thing first: the offline chart on the medic's tablet, covering your top twenty call types, with plain language validation as they type, dispatch prefill and a crew signature. Nothing else. The ones that fail try to replace records, quality assurance, billing and state submission together, and spend a year building toward a launch date that keeps moving while the service runs on the old system anyway.

Adoption is decided by one number, and it is chart completion time on a routine medical call. Under about seven minutes the complaints stop inside two weeks. Above fifteen, no feature work rescues it. Measure your current figure by call type before the project starts, because a cardiac arrest chart and a lift assist are not the same job.

Put two working medics in the design sessions, not only the quality assurance officer. Their incentives differ: one wants a complete record, the other wants to go home. A form designed only by the first produces the abandoned chart you started with.

Use a model for one job. Reading the free text narrative against the coded fields and flagging contradictions, such as a stroke alert described in prose with no last known well time, is useful while the medic can still fix it. Generating the narrative is not, because this document is a legal record and a billing source.

Settle ownership in writing before kickoff: the repository, the cloud accounts, the database and the right to hire a different firm on any given Monday. At Digital Heroes the client owns the code from the first commit. Given that escaping data lock is the entire argument for building, a developer who hedges on that point has missed what you are buying.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. The median annual wage for U.S. software developers was $133,080 in May 2024, and employment is projected to grow 15% from 2024 to 2034 - a core input to any in-house build-vs-buy TCO model. Source: U.S. Bureau of Labor Statistics (2024) →
  2. Per Sensor Tower's State of Mobile 2026, worldwide consumers spent about $85 billion on apps in 2025 (up 21% YoY), and for the first time non-game apps surpassed games in consumer spending; generative-AI in-app purchase revenue more than tripled to top $5 billion. Source: Sensor Tower (via TechCrunch) (2026) →
  3. The right combination of digital transformation actions can unlock as much as US$1.25 trillion in additional market capitalization across Fortune 500 companies, while the wrong combinations put more than US$1.5 trillion at risk; companies with all three core factors (strategy, aligned technology, and change capability) saw a 5% market-value lift relative to peers. Source: Deloitte (2023) →
  4. An EY survey found one in five U.S. payrolls contains errors, each costing an average of $291 to remediate, with a typical 1,000-employee organization spending roughly 29 workweeks per year fixing common payroll errors. Source: EY (Ernst & Young) (2022) →
Tanvi S. · QA Lead · Shopify · Delhi

Tanvi leads QA on Shopify projects at Digital Heroes, testing storefronts the way real shoppers use them: odd cart combinations, discount stacking, tax and shipping edge cases, checkout on poor connections. Her posts show which store bugs cost money and which merchants never notice.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How do we test offline sync before we trust it with a live chart?
Build a scripted field trial rather than a lab test. Put two tablets on one incident, edit both with aircraft mode on, reconnect them in different orders, and confirm the merged chart contains every entry with correct attribution. Then repeat with a signature applied on one device before the other reconnects. Run the same set on a device that has been offline for a full shift, because battery cycles and background process termination are what actually break local storage. Ask to see the exception queue, since a build with no exception queue is silently choosing a winner.
How long do we need to keep charts we migrate off the old system?
Retention is set by your state and by the advice of your own counsel, and it is usually long enough that the answer shapes the migration rather than following it. Plan to keep both the coded export, which is what you can query, and the rendered document, which is the artifact you produce when an attorney or an auditor asks. Confirm before cutover that attachments such as rhythm strips, refusal forms and scanned signatures are inside the export, because those are the items most often missing.
Our dispatch centre is a separate agency. Does that change the integration?
Yes, mostly on schedule and support rather than on engineering. You do not control their upgrade calendar, so a change on their side can degrade your prefill without anyone telling you. Get a named technical contact in writing, ask to be notified before releases, and design the feed to fail visibly: quarantine unmatched messages into a queue and alert when expected traffic stops. Also agree who is responsible when the feed is wrong, because ambiguity there turns a fifteen minute fix into a fortnight.
Can we start with one cardiac monitor vendor and add the other later?
Yes, and it is usually the right sequencing. Start with whichever vendor covers the most units, ship it, then add the second as its own workstream with its own test fixtures. What you should not do is design as though there will only ever be one, because the parsing, the device identity and the time matching all need to sit behind a common interface. Retrofitting a second vendor into a single vendor design usually means touching the whole import path.
Should we build billing or export to the partner we already use?
Export first, in almost every case. A full billing module roughly doubles the size of the project and adds a compliance surface you do not currently carry. The value you are chasing is not the billing engine, it is catching the missing signature, the unsupported level of service and the absent physician certification statement before the crew leaves the hospital. You can capture all of that in the chart and still hand the claim to your existing partner.
How do we keep the chart usable for a medic wearing gloves in daylight?
Treat it as a requirement with acceptance criteria, not as visual polish. Large touch targets, high contrast that survives on a sunlit dashboard, minimal free typing, and hardware button behaviour that does not lose the current screen. Test on the actual mount, in the actual truck, at midday and at night, with gloves on. If the honest conclusion is that your current tablets cannot do it, that is a capital purchase and it belongs in the business case rather than in a change request halfway through the build.
What happens to prior year state submissions if the element set changes?
Archive them as filed and leave them alone. A submission accepted under the element set in force at the time remains defensible under that set, and recomputing it under today's rules produces a number you cannot explain. The design decision that makes this possible is holding the element profile, conditional trees and state additions as versioned data with effective dates, so a chart is always validated against the rules that applied on the date of the call.
How long should we run the old ePCR alongside the new one?
Four to six weeks is typical, and the driver is your open claim tail rather than the software. New incidents go into the new system from a chosen date, charts already open finish where they started, and you retire the old one when the last open claim closes. The operational cost of that period is real, since it means duplicated entry and supervisor attention, and it belongs in your budget even though no developer quotes it.
Can custom software connect to the tools we already use, like QuickBooks, Stripe, and Google Workspace?
Yes, and connecting your existing tools is one of the main reasons to build custom: mainstream platforms like QuickBooks, Stripe, Shopify, and Google Workspace all publish documented APIs. Budget 1 to 3 weeks of work per integration depending on API quality and how much data flows in both directions. Ask any vendor whether they have integrated with your specific tools before, because quirks like QuickBooks' OAuth token handling and API rate limits get learned on someone's project, and it should not be yours.
What tech stack should I ask for so I am not locked into one vendor?
Ask for a mainstream stack: Flutter or React Native for the app, or Swift and Kotlin if you go native, with a backend on widely hired technology like Node.js and PostgreSQL. Stack choice matters less for features than for who can maintain the code later, and every option above has a deep hiring pool. Refuse agency-proprietary frameworks and platforms only that vendor understands, since they turn every future change into a captive negotiation.
Does it matter which tech stack the agency wants to use?
Yes, but not in the way most buyers expect: the goal is boring, popular technology such as React, Node.js or Python, and PostgreSQL, because any future team can maintain it and hiring a replacement developer takes days, not months. The red flag is an agency-proprietary framework or an unusual language, which welds you to that one vendor no matter what your contract says about code ownership. A useful test: could you find three freelancers fluent in this stack within a week? If not, push back.
What does app maintenance actually include after launch?
Four things: adapting to the major iOS and Android versions Apple and Google ship every year, updating third-party libraries before they break or go insecure, monitoring and fixing crashes, and keeping up with changing store policies. New features are not maintenance; they belong in a separate roadmap budget. An app that gets none of this usually starts visibly misbehaving within a year or two as operating system changes pile up.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
Why do agencies charge for a discovery phase instead of quoting for free?
Because an accurate quote requires real work: mapping your workflows, finding the edge cases, and writing a specification, which typically takes 1 to 3 weeks and costs $2,000 to $10,000 at Digital Heroes depending on system complexity. You leave discovery owning a written spec and a fixed price you can take to any vendor, so the money is not locked into one agency. Free estimates are guesses, and the guess usually becomes your budget overrun six months later.
What is a discovery phase and is it worth paying for?
Discovery is a short paid phase, usually one to three weeks, where the agency turns your idea into wireframes, a technical plan, and a firm estimate. It is worth paying for on anything nontrivial because it surfaces scope problems while they cost hundreds instead of tens of thousands. It also produces a portable asset: a good discovery document lets you take the project to any competent team, which keeps your agency honest on price.
How many people should be working on my software project?
Three to five for a typical focused build: a project lead, one or two engineers, a designer, and part-time QA, which is the standard shape across 2,000+ Digital Heroes projects. Larger platforms justify 6 to 10, but a ten-person team on a small first version usually signals bill padding rather than horsepower. What predicts success is whether a senior engineer is writing your code daily, not the headcount on the proposal.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
How do I vet a software development agency before signing a contract?
Ask to speak with two past clients whose projects resemble yours in size and industry, and ask exactly who will write your code, since some agencies sell senior faces and deliver junior or subcontracted hands. Demand a written specification with acceptance criteria before any fixed price, and check that their portfolio links to products that are actually live. An instant quote given without questions about your workflows is the clearest warning sign there is.
Can I move my users and data off a no-code platform into a custom app?
Your data can move, but your users' passwords cannot. Platforms like Bubble let you export records through CSV files or their API, but password hashes never leave the platform, so a migration needs a password reset or email login flow for every existing user. Plan the export before you hit the platform's pricing or capacity ceilings, because migrating under pressure is how data gets lost.
Who can build a custom mobile app system?

Digital Heroes builds custom mobile app systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other mobile app companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?