Problems & solutions · Custom Software

Medical Device Complaint Handling Software Problems: The 5 That Burn the Reporting Clock, and How to Avoid Them

Medical Device Complaint Handling Software code editor and API illustration showing common problems and fixes.
The short answer

The failure that costs most is an awareness date that records when somebody opened the complaint file rather than when the manufacturer became aware. A distributor takes a call on Friday, emails your regional service inbox on Monday, a coordinator handles it competently as a repair, and eleven days later a specialist opens a complaint. Your system says day zero. The regulator says the clock started when a party acting on your behalf became aware. That difference is the gap between a report inside 15 days and a late report you cannot explain, and in an inspection the finding is rarely that you reached the wrong conclusion. It is that you cannot show how or when you reached it.

Why does complaint intake get scoped as a form nobody opens?

Because on a process map it looks like one. In practice complaints arrive as service tickets, distributor emails, sales representative phone calls, returned goods authorisations, clinical support conversations and occasionally a public post. Every one of those channels has an owner and a system, and not one of those owners thinks of themselves as complaint intake. The service coordinator sees a repair. The commercial team sees a relationship problem. Both handle it well, inside the wrong process, while the clock runs.

A build that puts a complaint form inside the quality system and trains people to open it changes nothing, because the person who first hears about the event is not sitting in the quality system and never will be. What works is thin capture inside the tools people already use. A service ticket carrying certain fault codes proposes a complaint automatically and asks the coordinator one question. A distributor portal submission creates the complaint directly, stamped with the date of their awareness rather than yours. An inbound mailbox is monitored rather than checked.

Then make triage same day rather than same fortnight. Extraction on inbound distributor emails, complaint forms and photographs, which routinely arrive in several languages, drafts the structured fields for a specialist to confirm on the day the message lands. That is not automation of the decision. It is getting the record created while the clock still has room in it, which is the whole game.

What goes wrong with awareness dates and legacy complaint data?

Two things, and both are about a field that looks trivial.

The awareness date has to be immutable. If it is a created timestamp it is wrong by construction. If it is an editable field it will be edited, sometimes for good reasons and sometimes under pressure, and an editable date on a record an investigator reads first is an exposure rather than a convenience. The design that survives is an awareness date captured at every intake path, protected from silent change, with corrections recorded as versioned amendments carrying a reason and an author. When a distributor tells you in week three that they actually heard about it two weeks earlier, that amendment is the honest record and it needs to look like one.

Legacy data is the second problem. Migrating years of complaints out of a previous system or a set of spreadsheets means importing records where awareness was never captured separately, failure descriptions are free text, and the reportability rationale is a paragraph somebody typed. Do not synthesise what was not recorded. Import legacy complaints with their original fields intact, flag them as pre-migration, and hold them in a form you can search and produce rather than one that pretends to a structure it never had. Complaint records are retained for the life of the device, so this is a decision you live with for a long time.

Why do service, distributor and regulator submission integrations break after launch?

Each one breaks differently and each one is predictable.

The service system integration breaks by going quiet. A fault code list is updated, a new service workflow is introduced, a region adopts a different ticket type, and complaints stop being proposed from a slice of the estate. Nothing errors. Build a coverage view showing service tickets by category with and without a linked complaint, reviewed monthly by a named person, because the only way to catch silent narrowing is to look for it deliberately.

The distributor portal breaks on usability rather than technology. A distributor in a dozen countries submitting four reports a year will not learn an interface. If the form is long, or only in English, or requires a login they have forgotten, the report arrives as an email instead and your protected awareness date arrives with it. Language support and brevity are engineering requirements here, not niceties.

Regulator submissions break on format and transport. Each authority has its own format, its own channel and its own test cycle, and formats change on the regulator's schedule rather than yours. Store every submission exactly as sent, with the acknowledgement attached, so that a transport failure is visible as a missing acknowledgement rather than assumed to be a success. Then track follow up and final report obligations as scheduled tasks, because the quietest failure in this whole process is not the initial report. It is the final report nobody diarised.

What happens when coded classification and trend review are not covered?

Trend reporting is an obligation, not an analytics ambition. You are expected to detect a significant increase in the frequency or severity of events, including non serious ones, and to act on it. If complaint descriptions are free text and failure modes are typed by whoever handled the case, you cannot trend anything, and the pattern will be pointed out to you by a competent authority instead.

The fix is coded classification enforced at three points: the reported problem, the investigated device problem and the patient consequence, using controlled vocabularies aligned to the coding your submissions require. That is unpopular with specialists who find dropdowns slower than typing, which is why it fails when it is added later and works when it is designed in. Where a language model does honest work here is proposing codes from a free text narrative for a human to confirm, which raises consistency without pretending to make the call.

Then build the signal review record, because detection without a documented conclusion is not a control. A threshold crossing produces a review with a named owner and a written conclusion, including when the conclusion is no action. An undocumented decision not to escalate is indistinguishable, months later, from not having noticed. The same applies to the link between a complaint and the risk file: when a failure mode occurs at a rate the risk analysis did not anticipate, that connection should already exist rather than being rebuilt during an audit.

Should you build custom or configure what you already own?

If you sell one device family into one or two markets and handle fewer than about a hundred complaints a year, do not build. Configure Veeva Vault QMS or ETQ Reliance and put the money into post market clinical follow up, where it will do more good. AssurX, Sparta Systems TrackWise and MasterControl are all serious products with real complaint handling capability, and configuration will cost less than a build at that scale.

Most manufacturers should keep a commercial platform for document control and CAPA regardless of what else they do. Those parts are well served, rebuilding them wins nothing, and a quality organisation already trained on one will not thank you for a replacement.

Build the intake, decisioning and investigation layer around it when two or more of these are true. Your intake genuinely happens in service, distributor and commercial systems and the delay between first contact and complaint file creation is measured in days. You sell into enough markets that reportability decisioning has become a matrix your configured workflow cannot express. Your portfolio spans device types with incompatible failure taxonomies, such as implants alongside software as a medical device and capital equipment. You have been asked in an audit to reproduce a reportability rationale and could not do it cleanly. Or your trending is not real because the underlying data is free text and everybody knows it.

How do hidden costs get into the quote?

Five drivers, and each is a question worth asking before a contract exists.

  • Market count. Each regulator's format and transport is a separate integration with its own test cycle. Quoting submissions as one line item means somebody has assumed one market and will discover the others.
  • Portfolio breadth. A single device family with one failure taxonomy is a different project from a portfolio spanning implants, software and capital equipment, because the vocabularies and the investigation workflows differ genuinely rather than cosmetically.
  • Distributor network. A portal a dozen countries will actually use needs language support and an interface simple enough for someone submitting four reports a year, which is real design work rather than a form.
  • Validation. This is a quality system record holder, so the expectation that your documented processes and your evidence agree raises the testing and documentation burden well above a typical business application.
  • Decision tree agreement. The commonest delay is not engineering. It is that regulatory affairs, quality and clinical have not written down the reportability logic, and the build cannot encode a rule those three are still debating.

In Digital Heroes delivery experience a first release covering multi channel intake with protected awareness dates, device identity resolution, a versioned reportability decision record and multi market clock management runs $80,000 to $170,000 over 14 to 20 weeks, with the full platform at $220,000 to $500,000 across 8 to 16 months.

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

Ask a candidate developer what the awareness date is and how they would protect it. Someone who has worked in this domain knows the clock starts at manufacturer awareness, including awareness through parties acting on your behalf, and will describe an immutable field with versioned amendment before you finish the question. Someone who treats it as a created timestamp does not understand what the system is for.

Ask how the reportability decision tree gets changed and how an old decision is reproduced. If tree changes are code, your regulatory affairs team is now dependent on a release cycle every time a competent authority expresses a view on a failure mode. If old decisions cannot be replayed against the tree that applied at the time, your audit answer is a shrug. The right design records the tree version used, every question answered, who answered it and the determination per market, and documents a decision not to report with exactly the rigour of a decision to report, because the not reported file is the one an investigator reads first.

Ask who owns the controlled vocabularies and when codes are applied. Free text at intake with codes added later by a different person is how trending dies, quietly, while the reports still look fine.

And settle ownership of the code, the infrastructure accounts and the right to hire another firm in writing before kickoff. Complaint records are retained for the life of the device and are the first thing an investigator asks for. Access to them cannot depend on an active subscription or a vendor's willingness to cooperate.

Research & sources

The evidence behind this guide

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

  1. Deloitte's research found that digitally advanced small businesses experienced revenue growth nearly 4x as high as the prior year, were about 3x as likely to have exported, were nearly 3x as likely to have created new jobs, and were more than 3x as likely to have seen more sales inquiries in the last year. Source: Deloitte (research summarized by Google) (2017) →
  2. Companies in the top quartile of McKinsey's Developer Velocity Index had 2014-18 revenue growth four to five times faster than bottom-quartile peers, showing that software-building capability is a driver of business performance, not just a support function. Source: McKinsey & Company (2020) →
  3. In the Flexera 2025 State of ITAM report, respondents reported roughly 33% of SaaS spend is wasted, underscoring how paying for off-the-shelf seats and tiers that go unused erodes the supposed cost advantage of generic SaaS. Source: Flexera (2025) →
  4. PMI's Pulse of the Profession research found organizations waste an average of roughly 9.9% of every dollar invested in projects due to poor performance - equivalent to about $1 million wasted every 20 seconds collectively worldwide. Source: Project Management Institute (PMI) (2018) →
Hudson R. · Project Manager · APAC · Sydney

Hudson coordinates APAC projects at Digital Heroes: running stand ups, tracking tickets, chasing decisions and keeping clients informed without burying them in detail. Much of delivery is simply making sure the right question reaches the right person quickly. His posts show what a well run project feels like from inside.

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

FAQ

Frequently asked questions

A distributor sat on a report for a week. What date do we record?
The date the distributor became aware, because awareness through a party acting on your behalf is generally treated as manufacturer awareness, and the clock does not restart when the email reaches you. The system should let a distributor portal submission carry their own awareness date, and should allow later correction only as a versioned amendment with a reason and an author. Confirm how your specific distribution agreements affect this with regulatory counsel, since the arrangements vary.
Our complaints start life as service tickets. How do we stop losing days?
By proposing the complaint from inside the service system rather than expecting a coordinator to open a second application. Certain fault codes, return reasons or ticket categories should raise a candidate complaint automatically and ask the coordinator one question, with the awareness date taken from the ticket. Then run a monthly coverage view of service tickets by category with and without a linked complaint, because this integration fails silently when a fault code list changes rather than throwing an error.
How do we reproduce a reportability decision made two years ago?
By recording the decision tree version used, every question answered, who answered it and the resulting determination per market, at the time the decision was made. Trees change when you add a device family, enter a market or receive a competent authority's view on a failure mode, so a current tree cannot explain a past decision. Decisions not to report need the same rigour as decisions to report, since the not reported file is usually the first one an investigator asks to see.
What deadlines does one event actually create?
Often several at once, because each market assesses the same event against its own rules. In the United States, 21 CFR Part 803 sets a 30 calendar day report for most reportable events and a five working day report where remedial action is needed to prevent an unreasonable risk of substantial harm. Under the European Medical Device Regulation, serious incidents are reported no later than 15 days, with 10 days for death or unanticipated serious deterioration and 2 days for a serious public health threat. Other markets set their own.
Why does our trending never find anything before the regulator does?
Almost always because the underlying data is free text. If failure modes are typed by whoever handled the case, there is nothing to count, and a chart built on that data is decoration. Coded classification at the reported problem, the investigated device problem and the patient consequence, using controlled vocabularies, is what makes trending real. Adding codes later, applied by a different person from the one who took the complaint, produces consistency poor enough that the trend is still invisible.
Should we replace TrackWise or Vault QMS entirely?
Usually not. Keeping a commercial platform for document control and CAPA and building the intake, decisioning and investigation layer around it is the cheaper and safer path for most manufacturers, and it avoids retraining a quality organisation on a replacement for parts that already work. The build earns its place where those platforms cannot reach: intake happening in service and distributor systems, reportability as a multi market matrix, and investigation workflows that differ by device type.
How should returned device analysis connect to the complaint?
As a structured workflow attached to the complaint, tracking the physical unit from return authorisation through receipt, decontamination, examination, testing and disposition, with findings recorded against a controlled failure mode list rather than written as prose. Device identity should resolve at intake so manufacturing and service history is already attached. Investigations that close without the unit being returned must record that explicitly, since an unreturned device is a common and legitimate limitation that has to be stated rather than left blank.
What is the most commonly missed obligation after the initial report?
The follow up and final report. Initial submissions get attention because they carry a visible deadline and a named owner; the follow up obligation arrives weeks later when the investigation concludes and the original urgency has passed. Track them as scheduled tasks generated from the submission itself, and store every submission exactly as sent with its acknowledgement attached, so a missing acknowledgement is visible as an open item rather than assumed to be a successful transmission.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
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.
If we build for 20 users now, will the software cope with 500 later?
It should, without a rewrite, if it was built on a standard cloud stack; going from 20 to 500 users is mostly a hosting configuration change costing hundreds a month, not a second project. What actually breaks under growth is sloppier work: database queries never indexed for volume and features designed assuming one office's worth of data. Before signing, ask the vendor what happens to the system at ten times today's data, and listen for a specific answer.
What is the biggest mistake first-time software buyers make?
Choosing the lowest quote without asking why it is the lowest. A bid 40% under the field usually gets there by skipping tests, documentation, and code review, which are invisible in a demo and brutal to pay for later; every stalled project Digital Heroes has been asked to rescue tells some version of that story. The second mistake is signing without a written scope, which reliably turns the winning cheap quote into 1.5x to 2x the price by launch.
If an agency builds my software, who actually owns the code?
You should own everything, assigned in writing: the contract transfers full IP to you on final payment, the code lives in your GitHub organization, and hosting runs in cloud accounts you control. The red flag is a proposal that mentions the agency's proprietary platform or framework, which usually means you are renting, not buying. Digital Heroes structures every build this way precisely so a client can fire us and lose nothing but the relationship.
How do we get years of data out of our old system and into the new one?
Treat migration as a planned sub-project: a field-mapping document, at least one dry run on a copy of your data, then a cutover with the old system kept read-only for 30 days as a safety net. On Digital Heroes projects it consumes 10 to 15% of the budget when the old system has an export, and more when data must be pulled out screen by screen. Ask any vendor to walk you through their last migration before you sign.
What questions should I ask a development agency on the first call?
Ask who exactly will build it, what happens when scope changes mid-project, what their maintenance terms are after launch, and what they will need from you every week. Then ask them to describe a project that went wrong and what they changed afterward; teams that have shipped at real volume have war stories, and teams claiming a perfect record are hiding something. The scope-change answer matters most: a disciplined shop describes a written change-order process, not a vague promise to be flexible.
Will custom software work with the tools we already use, like QuickBooks and Stripe?
Yes, and this is one of custom software's genuine advantages: QuickBooks, Stripe, Shopify, and most mainstream business tools publish documented APIs built for exactly this. Expect each standard integration to add one to two weeks of build time, and be suspicious of any quote that lists five integrations without asking what data flows in which direction. The hard cases are legacy systems with no API, which is a question to raise in discovery, not in week nine.
We run everything on Airtable and spreadsheets. When is it time to go custom?
The switch usually makes sense when you hit one of two walls: Airtable's record caps (125,000 records per base on the Business plan) or logic the tool cannot express, like multi-step approvals with conditional pricing. There is also a simple cost signal: 25 people on Business at roughly $45 per seat per month is about $13,500 a year, forever, for a tool you are already fighting. Custom is worth it when the workflow is core to how you make money; for peripheral processes, staying on Airtable is the right call.
Should I ask for a fixed price or pay the agency hourly?
Fixed price for the first version, hourly or retainer for what comes after launch. A fixed-scope, fixed-price V1 puts the estimation risk on the agency, which is exactly where you want it while trust is unproven; hourly billing on an unscoped greenfield build is a blank check. After launch, flip it, because maintenance and small features arrive unpredictably and fixed-pricing every ticket wastes everyone's time.
What does a $50,000 custom software budget actually buy?
One core workflow done properly: 10 to 15 screens, two or three user roles, a couple of integrations, an admin panel, and automated tests, delivered in roughly 12 to 14 weeks. What it does not buy is that workflow plus a mobile app plus AI features plus five more integrations. The discipline of picking the one workflow that matters is what separates $50,000 projects that ship from $50,000 projects that stall at 70% complete.
Who can build a custom software system?

Digital Heroes builds custom software 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 software 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?