Problems & solutions · Custom Software

Anti-Doping Case Management Software Problems: The 5 That Cost You Cases, and How to Avoid Them

Anti Doping Compliance Software software overview illustration showing common problems and fixes.
The short answer

The most expensive failure in anti-doping software is a chain of custody record that can be edited. If a custody entry can be corrected without leaving a trace, opposing counsel will say so at the hearing, and they will be right to. At that point the analytical result stops being the argument and the record keeping becomes the argument, which is a fight you can lose while being entirely correct on the science. The cost is a violation abandoned or reduced, the testing spend behind it written off, and a precedent that every future respondent's lawyer will cite back to you.

Why does chain of custody get scoped as an editable log so often?

Because every developer has built an activity log before, and an activity log is a table you write rows into. It looks like the same thing. It is not, and the difference only becomes visible two years later in a hearing room.

An operational log exists so staff can see what happened. A custody record exists so a third party can be satisfied that nothing else happened. That second purpose imposes requirements the first does not: entries written once, corrections recorded as new entries that supersede rather than overwrite, the sequence hashed so alteration is detectable, and a rendering a non technical panel can read without a database administrator present. An audit table an administrator can update fails all four, and the failure is invisible during acceptance testing because the data looks identical.

The other half is capture discipline in the field. Kit codes and sample codes should be scanned rather than typed, because a transposed digit is exactly the kind of error that ends a case, and timestamps should come from a source the collector cannot set. Integrity and temperature observations attach to the specific custody event with any photograph, not to a folder somebody will later have to associate by filename.

Test this before you accept the system. Ask for the complete custody sequence for one sample code, produced as a document, and read it as if you were the panel. If you cannot tell from that document who held the sample, when, and whether anything was changed afterwards, the record is not evidence yet.

What goes wrong when you migrate the test plan and case history?

The test distribution plan is almost always a spreadsheet built by one analyst, and it is the hardest thing in this domain to migrate, because what you need to move is not the numbers. It is the reasoning.

A plan holds risk weightings for physiological demands, competition calendar, historical findings, performance progression and intelligence, and in the spreadsheet those weightings are implicit in formulas and in decisions the analyst made without recording them. Import the allocations and you get a system that says which athletes were tested without being able to say why, which is precisely the question a programme review or an athlete's counsel will ask. Budget real time to write the model down and get it approved before anyone builds it. In our experience that documentation exercise, not the engineering, is what sets the schedule on these projects.

Why do offline field capture and reporting exchange break after launch?

Two integrations decide whether an anti-doping build survives contact with reality, and neither is the one people worry about during procurement.

The first is the device in the field. A no advance notice mission at a residential address at six in the morning is precisely where connectivity fails, and the failure modes are ugly: a form half completed when the app is killed by the operating system, a signature captured and lost, a mission recorded twice because sync created a duplicate after the officer retried. The fixes are specific. Identifiers must be generated on the device so a retry cannot create a second mission. Local storage must survive the app closing and the phone restarting. Sync state must be visible so the officer knows what has reached the server before leaving the building. And the timestamp on a custody event must be captured at the moment of the event, not at the moment of sync. Test this by taking a device into a stairwell and killing the app mid form.

The second is data exchange with the mandated global system. This is a specification exercise against a calendar you do not control, and the failure after launch is silent rather than loud: a submission rejected for a field validation change, queued, and never retried, so your operational system believes something was reported that was not. Treat every outbound submission as unconfirmed until an acknowledgement returns, keep failures in a visible queue rather than a log, and reconcile counts between systems on a schedule. Laboratory interfaces have the same shape, since each accredited laboratory delivers results in its own format and a format change is not announced to you in advance.

What happens when intelligence and exemption confidentiality are not covered?

This is the gap that damages people rather than cases. Programmes increasingly act on information: a whistleblower, a customs referral, a pattern in longitudinal data, a tip from another organisation. Some of that material is attributable to a person at real risk. If it sits in the same case management inbox as general work, protected only by user roles an administrator can change on a Friday afternoon, you do not have source protection. You have an intention.

Separation has to be structural. Intelligence records belong in their own store with independent access control, a controlled path by which intelligence informs the test distribution plan without exposing the source, and permanent access logging showing who opened what. That logging protects your staff as much as the source, because the alternative when something leaks is an investigation with no evidence in either direction.

Therapeutic use exemptions are the mirror image of the same problem. They contain medical records, they are decided by a panel that must be independent of the testing operation, and they must be retrievable at the exact moment a laboratory reports a finding for that substance. A shared drive of documents fails on all three counts, and it fails quietly until the day it matters. The other frequently uncovered gap is separation of duties inside the case itself: the person who collected the sample must not be the person who reviews the resulting missed test, and the system should enforce that rather than trusting a coordinator to remember it during a busy quarter.

Should you build custom or configure what you already own?

If your programme tests a few dozen athletes a year, works mostly in competition, and uses an external service provider for collections, do not build. Operate inside the mandated system with well kept procedures and spend the money on more tests. More tests is a better anti-doping programme than better software, and we would say that to anyone who asked.

Be clear about what the mandated system is and is not. It is the system of record for whereabouts filings, results and results management data exchange, and nothing replaces it. It was not designed to plan your test distribution against a risk model you own, to schedule and pay your collection personnel, to hold intelligence with structural separation, or to assemble an evidence bundle for a hearing. Those gaps are where programmes reach for spreadsheets, and those are the gaps a build should close. Anyone proposing to replace the system of record has misunderstood the domain.

Build when two or more of these are true. You plan and justify your own test distribution rather than executing someone else's. You manage collection personnel directly, with accreditation, conflicts and payment to control. You handle results management through to hearing and have had a case turn on documentation rather than science. You receive intelligence and have no structural separation between that material and general case handling. Or you operate across sports and jurisdictions where the rules genuinely differ and one process cannot express both.

How do hidden costs get into an anti-doping software quote?

Jurisdiction count is the largest multiplier and the one most often missing. Sanction rules, privacy obligations, language requirements and notification formats differ, and each additional jurisdiction is real development rather than a locale setting. If the proposal does not name the jurisdictions in scope, the price is for one.

The athlete facing application is the third, and the item most consistently underestimated. Whereabouts filing is the most legally consequential form your athletes will ever complete on a phone, which means accessibility, multiple languages, an unambiguous confirmation of what was submitted and when, and a support burden that lands on your staff rather than your developer. It also should not be in release one, since athletes can continue filing in the mandated system while your internal workflow is fixed.

Fourth, longitudinal data handling, which is a different analytical shape from pass or fail results and needs specialist input. Fifth, officer payment, especially across borders, because contractor payment is a finance integration with its own compliance requirements. Sixth, your own people, because documenting the risk model is your analyst's time and the notification wording is your counsel's time. Neither appears in a developer's quote and both are on the critical path.

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

The successful programmes build the operations core first: the plan with its risk model made explicit, mission and officer management, offline field capture, and append only custody through to laboratory dispatch. Then they add the athlete application, exemptions and results management. The failed ones start with the athlete app because it is the visible part, and end up with a polished filing experience feeding a planning process that still lives in a spreadsheet.

Third, involve a doping control officer in weekly reviews from the start. The people who decide whether this software works are standing in a stairwell at six in the morning with cold hands, and their tolerance for a spinning icon is zero. Requirements gathered from the compliance office produce systems that fail in the field. Fourth, insist on append only storage from day one, because retrofitting immutability onto an editable table means restating history, and restated history is exactly what you are building this to avoid.

Finally, settle ownership in writing before kickoff: the repository, the hosting accounts and the right to bring in another firm. At Digital Heroes the client owns the code from the first commit. For an organisation whose independence is the product, being unable to leave a vendor is a governance problem rather than a commercial inconvenience.

Research & sources

The evidence behind this guide

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

  1. Only 22% of firms are 'future ready' having significantly transformed digitally; these companies show average revenue growth 17.3 percentage points and net margins 14.0 percentage points above their industry average. Source: MIT Center for Information Systems Research (MIT Sloan) (2022) →
  2. Senior executives report the highest average compensation among developer roles (e.g., $225K median in the US), and reported salary bands shifted downward year-over-year ($60-75K vs. $70-85K in 2023), underscoring how compensation varies sharply by role and location. Source: Stack Overflow (2024) →
  3. In a McKinsey global survey of 1,259 respondents, only about 20% said their organizations excel at decision making, and just 37% said their organizations' decisions were both high quality and high in velocity. Source: McKinsey & Company (2019) →
  4. Across ten outpatient clinics the mean no-show rate was 18.8%, and the marginal cost of no-shows reached $14.58 million per year for those clinics, at roughly $196 per missed appointment (2008 figures). Source: BMC Health Services Research / PubMed Central (Kheirkhah et al.) (2015) →
Prasun Anand · CEO & Founder · New York

Prasun founded Digital Heroes in 2017 and leads it from New York. His work sits where commercial decisions meet delivery: which projects to take on, how teams are shaped across five offices, and where a build is likely to go wrong. Readers get the view from the side that owns the outcome.

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 whether our custody record would actually hold up?
Ask for the complete custody sequence for one sample code, produced as a single document, and read it as if you were the panel. It should show who held the sample, when, at what location, against which sealed kit codes, and whether anything was subsequently changed and by whom. If you need a developer to explain it, or if an administrator could have altered an entry without leaving a trace, it is a log rather than evidence, and the difference only becomes visible when you can no longer fix it.
What is the hardest thing to migrate off spreadsheets?
The test distribution plan, because what you need to move is the reasoning rather than the numbers. The weightings for physiological demand, calendar, historical findings, performance progression and intelligence usually exist as formulas plus decisions the analyst never wrote down. Import the allocations alone and the system can say who was tested but not why, which is exactly what a programme review will ask. Documenting and approving that model is usually what sets the project schedule, not the engineering.
How should whereabouts strike positions be moved into a new system?
Individually, from source, checked by a second person, and reconciled against the rolling twelve month window before anyone relies on the result. A strike position that is wrong by one is a career level error in either direction, so this is not a data load. Closed cases can be migrated as metadata with the original documents attached. Open matters and live strike positions get the same treatment as an open file in any legal process, which is one at a time with verification.
What breaks in offline field capture?
Duplicated missions after a retry, half completed forms lost when the operating system kills the app, and timestamps recorded at sync rather than at the event. Fix all three explicitly: identifiers generated on the device so retries cannot create a second mission, local storage that survives the app closing and the phone restarting, a visible sync state so the officer knows what has reached the server, and event time captured at the moment of the event. Test it by killing the app mid form in a stairwell.
How do we know a submission to the global system actually went through?
Only by treating every outbound submission as unconfirmed until an acknowledgement returns. The dangerous failure is silent: a validation rule changes, a submission is rejected, it queues and is never retried, and your operational system shows something as reported that was not. Keep failures in a visible queue rather than a log file, and reconcile counts between systems on a schedule rather than assuming agreement. Laboratory result feeds behave the same way when a format changes without notice.
Is a role based permission model enough to protect intelligence sources?
No. Roles can be changed by an administrator, which means source protection depends on a person rather than on a structure. Intelligence needs its own store with independent access control, a controlled path by which it informs the test distribution plan without exposing the source, and permanent access logging showing who opened what. That logging protects your staff as much as the source, because when something leaks under a role based model there is no evidence in either direction.
Should the athlete whereabouts app be in the first release?
No, and putting it there is the most common sequencing mistake in this category. Athletes can continue filing in the mandated system while you fix your internal workflow, and the operations core is what removes risk. The app also carries hidden weight: accessibility, multiple languages, an unambiguous record of what was submitted and when, and a support burden that falls on your staff. Build it once the planning, mission and custody core has run for a season.
Which costs are most often missing from a quote?
Jurisdictions, laboratories and your own people. Each additional jurisdiction brings different sanction rules, privacy obligations and notification requirements, which is development rather than a locale setting, so a proposal that does not name them is priced for one. A line reading laboratory integration also covers one laboratory, and each delivers results its own way. Then there is your analyst's time documenting the risk model and your counsel's time on notification wording, neither of which appears in any developer's number.
What should I have ready before I contact a development agency?
Three things, none of them technical: a one-page description of the problem in your own words, a list of the tools and spreadsheets the new system must replace or connect to, and a must-have versus nice-to-have split of features. Add a budget range, even a wide one, because it changes the conversation from fantasy to engineering. You do not need a formal specification; producing that is what a discovery phase is for.
How do I make sure custom software is secure and compliant with rules like HIPAA?
Start with the baseline every business system should have: encryption in transit and at rest, role-based access control, and audit logs. If HIPAA applies, the hosting provider must sign a Business Associate Agreement, which AWS, Azure, and Google Cloud all offer, and access controls have to be designed in from day one, not bolted on. SOC 2 certifies a company's operating practices, not a codebase, so ask vendors what they have shipped in your regulated domain rather than which logos are on their website.
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.
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.
Couldn't I just build my app in Bubble or another no-code tool instead of hiring an agency?
For validating an idea with real users, yes, and we tell clients that honestly. The walls come later: Bubble apps cannot be exported as code to run anywhere else, performance drops on complex data operations, and usage-based pricing climbs as you grow. A meaningful share of Digital Heroes custom builds are rebuilds of no-code MVPs that proved the business worked, which is the system operating as intended: validate cheap, then build the version that scales.
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 should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
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.
How much should a small business budget for its first custom app or website?
For a focused first build, most small businesses land between $8,000 and $60,000: roughly $8,000 to $45,000 for a custom website and $25,000 to $60,000 for an internal tool or simple web app, based on Digital Heroes delivery across 2,000+ projects. Customer-facing products with payments, logins, or a mobile app start around $40,000. Quotes far below these bands usually mean a template with your logo on it, not software shaped around your workflow.
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?