top of page

When Custom Development Makes Sense in Charm: A Systems Architect’s Checklist

  • Bryan Dennstedt
  • Mar 27
  • 10 min read

TL;DR:


The article provides a comprehensive checklist for healthcare clinics considering custom development in Charm, an electronic health record system. It guides users to distinguish between workflow issues and software limitations, shares conditions favorable for custom development, and warns against common pitfalls. Guidelines for controlled execution of custom projects are also presented.


When Custom Development Makes Sense in Charm: A Systems Architect’s Checklist


By Bryan Dennstedt


Poorly configured EHR workflows do not fail loudly. They leak time. They generate rework. They burn staff out quietly in the background while everyone blames “healthcare” or “the front desk” instead of the actual culprit: bad systems architecture.


Charm is flexible enough to be a powerful core for your clinic, but it is also flexible enough to let you dig a very expensive hole with custom work you did not actually need.


This post is a checklist you can use to decide, with technical and operational clarity, when custom development in Charm makes sense, and when you should walk away.


The core question driving everything here:


When is it strategically justified to invest in custom development in Charm, instead of pushing harder on configuration, training, and workflow redesign?


Use this as a decision tool before you sign a development proposal, approve a scope, or ask your team to “just build” something.


1. First filter: Is this actually a workflow problem, not a software problem?


Most clinics jump straight to “we need a custom feature” when they hit friction. In my experience, 60–80 percent of those requests are really workflow design failures, not system limitations.


Before considering custom development, validate all three of these:


1.1 Process clarity


If you asked 3 different staff members how this task is supposed to get done today, would you get the same answer?

  • If the answers differ, you have a process problem, not a software gap.

  • If there is no documented standard workflow, any custom development will get built on sand.


Checkpoint: You should have a written, current-state workflow for the process, including:

  • Who owns each step

  • Where it happens in Charm

  • What data is captured and when


If you do not have that, pause custom development. Map the workflow first.


1.2 Configuration exhaustion


Charm’s built-in configuration is deeper than many teams realize. I repeatedly see clinics asking for custom work that is already available if configured correctly.


Before going custom, confirm you have fully explored:

  • Custom templates and encounter workflows

  • Task queues and worklists

  • Custom fields and tags

  • Automations, reminders, and notifications

  • Role-based access controls

  • Integrated labs, pharmacies, and patient portal features


Checkpoint: If you cannot clearly list what you have already tried in Charm’s standard configuration, you are not ready to justify custom work.


1.3 Training and adoption


Even well-designed workflows break if:

  • Staff were never trained in the updated process.

  • There is no simple reference (cheat sheet, quick SOP) at the point of use.

  • Old habits from previous systems are still driving behavior.


Checkpoint: If the problem disappears when a power user does the work correctly, this is not a custom dev issue yet. This is a training and adoption problem.


2. The custom development green light: 5 qualifying criteria


If you have a clear process, have pushed configuration hard, and training is not the bottleneck, then you can evaluate custom development with these five criteria.


Custom development in Charm makes sense when at least three of these are solidly true, and at least one of them is measured in dollars or time.


2.1 High-value, high-frequency workflow


The workflow you want to improve should be:

  • Used daily or weekly by multiple staff roles.

  • Tied directly to revenue, compliance, or patient throughput.


Good fit examples:

  • Intake processes that every patient touches.

  • Charge capture that impacts every encounter.

  • Referral workflows that feed core service lines.


Weak fit examples:

  • A one-off report you run twice a year.

  • A rarely used internal form that annoys one provider.


Question to ask: If we perfect this workflow, does it noticeably change our day, every day?


If not, custom development is usually overkill.


2.2 Clear, measurable pain


If you cannot put numbers to the pain, you will not be able to prove ROI on the solution.


You should be able to quantify at least one of these:

  • Staff time: How many minutes per instance? How many instances per week?

  • Error rate: How often does this process fail or need rework?

  • Revenue leakage: How much is lost or delayed because the process is flawed?

  • Compliance risk: What would an auditor or regulator care about here?


Example framing:

  • “Front desk spends 6 minutes per new patient retyping demographic data from digital intake into Charm, about 25 times per day.”

  • “Billing is manually chasing missing modifiers on about 15 percent of encounters.”


Checkpoint: If your description of the pain is mostly emotional or anecdotal, pause. Get real numbers first.


2.3 Stable workflow, not in active flux


Custom development only pays off when the underlying workflow is relatively stable.


Ask:

  • Has this workflow changed significantly in the last 6 months?

  • Are there upcoming changes to your services, payers, or compliance rules that will reshape it?

  • Is leadership aligned on how this process should work for at least the next year?


If the answer is “we are still figuring this out,” custom development is premature. You are trying to etch something into software that is still clay.


Good target: Workflows you know you will still be running, fundamentally the same, one year from now.


2.4 Data integrity and audit impact


Some workflows are not just annoying; they are integrity and audit traps.


Custom development becomes much more attractive when:

  • Data must be precise, consistent, and link back to source actions.

  • You need a reliable audit trail between patient activity, orders, and billing.

  • You face real regulatory scrutiny: lab integration, controlled substances, high‑risk procedures, state registries.


Examples where custom work often makes sense:

  • Building consistent, automated mappings between clinical documentation and billing codes.

  • Automating data movement to reduce double entry between Charm and another system of record.

  • Structuring patient-reported data so it is queryable and audit-ready, instead of living in free-text form fields.


If an auditor asked you tomorrow how you know your numbers are correct in this area, and your honest answer is “we hope staff follow the process,” that is a strong indicator that smart custom work may be justified.


2.5 High coordination cost across roles


Some workflows fail not because they are complex individually, but because they cross too many roles and handoffs.


Clues you are here:

  • You hear “I thought billing would handle that” or “I assumed the provider signed it” regularly.

  • Tasks bounce between queues with no clear owner.

  • Important steps live in email, sticky notes, or someone’s memory.


Custom development can help by:

  • Generating structured tasks at predictable points.

  • Enforcing status transitions and ownership.

  • Automatically routing information based on rules instead of memory.


If the workflow touches 3 or more roles, and miscommunication has real cost, you are in territory where disciplined custom work is often a good investment.


3. The ROI lens: Prove it on paper before you write any code


Good architecture is not just elegant; it is financially honest.


Before committing to custom development in Charm, walk through this simple ROI model on paper.


3.1 Time savings math


Example:

  • 4 minutes saved per new patient intake.

  • 150 new intakes per week.

  • Front desk fully loaded rate: 28 per hour.


4 minutes × 150 = 600 minutes, or 10 hours per week. 10 hours × 28 = 280 per week, or roughly 1,100 per month.


Now compare that to the estimated development cost and ongoing maintenance.


3.2 Error and rework reduction


Errors cost more than the time to fix them. They ripple:

  • Claim denials and delayed cash flow.

  • Provider time spent correcting documentation.

  • Patient dissatisfaction and rework.


Even if you cannot fully dollarize this, you should at least estimate:

  • How much rework time is eliminated.

  • How many claims or tasks no longer need manual cleanup.

  • How much faster a clean encounter gets to a paid claim.


3.3 Risk and compliance value


Risk mitigation is harder to price, but not impossible to reason about.


Ask:

  • What is the realistic downside if we continue the current way?

  • How many charts, orders, or claims are in scope?

  • Would this be a material issue if examined by a payer or regulator?


Custom development that builds a traceable, repeatable process where today there is improvisation has value beyond staff convenience.


3.4 Recovery period


You want at least one of these statements to be true:

  • The solution will pay for itself in 6 to 12 months through time savings alone.

  • Or, it prevents a risk event (audit failure, major revenue leakage) that would cost significantly more than the build.


If neither statement is credible on paper, you are probably pushing too fast toward custom work.


4. Charm-specific signals that custom development is justified


Some patterns in Charm show up repeatedly where custom work is a rational decision, not a technical indulgence.


4.1 Repeated double entry between Charm and another system


Patterns:

  • Staff manually copying data from Charm into a billing, marketing, or analytics tool.

  • Exporting and importing CSV files weekly as a standard step.

  • Maintaining parallel contact or schedule data across systems.


If this happens daily or weekly at any volume, it is a strong candidate for:

  • API-based integrations.

  • Automated data synchronization.

  • Custom utilities that pre-structure data for export or reporting.


The key distinction: If human beings are acting as a data bus between Charm and another system, and that bus is routinely busy, automation and custom development are likely worth exploring.


4.2 Highly specialized clinical documentation that drives revenue


Some clinics have service lines where revenue depends on very precise documentation patterns: procedure bundles, protocol-driven care, or specific pay-for-performance models.


Charm’s templates and encounter workflows are strong, but you might still need:

  • Custom form behavior.

  • Logic to surface required fields based on earlier answers.

  • Automated translation of documentation patterns into billing artifacts.


Custom development here is not about cosmetic preferences. It is about:

  • Reducing missed elements that cause underbilling.

  • Shortening provider documentation time without losing detail.

  • Making it possible to report on protocol adherence directly from structured data.


4.3 Scaling volume without scaling headcount


If your visit volume is growing and your plan is not to keep hiring proportionally, something has to absorb the difference.


Look for things like:

  • Staff saying “we could never handle 20 percent more volume without adding another person.”

  • Teams staying late purely for repetitive system work, not patient care.

  • Work that already follows a consistent rule set, but is still executed by hand.


Custom automation inside or around Charm can be justified when:

  • Work volume is going up.

  • The workflow is rule-driven.

  • You want throughput without linear staffing.


If you are not planning to grow, the justification has to come more from error reduction, risk management, or staff burnout prevention.


5. Situations where custom development in Charm is usually a bad idea


Equally important is knowing when to walk away from custom work, even if it feels enticing.


5.1 Fixing interpersonal or leadership problems with code


If the real issue is:

  • Two departments that do not agree on who owns which step.

  • Providers ignoring agreed workflows.

  • Leadership unable to make decisions about priorities.


Software will not fix this. Custom development will only give you a more expensive version of the same dysfunction.


Resolve ownership and accountability first. Then see what gaps remain.


5.2 Building for edge cases and personal preferences


Be very skeptical if:

  • Only one provider or one small sub-group wants the feature.

  • The use case shows up in less than 5 percent of encounters.

  • The main argument is “this is how I used to do it elsewhere.”


Customization for vanity workflows and low-volume exceptions rarely pays off. Charm’s standard flexibility can usually support them with templates and configuration without jumping to engineering.


5.3 Chasing perfect convenience at the expense of maintainability


Every custom piece you add has to be:

  • Maintained through Charm updates.

  • Tested when regulations or codes change.

  • Supported when staff turn over.


If you hear “it would be nice if Charm could also…” and the pain is minor, you are in danger of building a permanent maintenance burden for short-term convenience.


5.4 Trying to replace an entire specialized external system


Charm should be your clinical and operational core, but it is not always your everything.


If you are asking Charm to:

  • Fully replicate a mature analytics platform.

  • Become a full-service marketing automation tool.

  • Replace a robust revenue cycle management suite with custom scripts.


You are likely underestimating long-term complexity and cost.


Custom work is strongest at clean, well-defined seams: For example, automating reliable messaging between Charm and a dedicated system, rather than reinventing that system inside Charm.


6. A practical pre-development checklist you can use tomorrow


Before you ask anyone to spec a custom project, walk through this short checklist in writing.


If you cannot confidently check most of these boxes, delay or redesign before you develop.


6.1 Problem definition

  • We have a clear, written description of the current workflow.

  • We know which roles touch this workflow and in what order.

  • We have measured the time, error, or financial impact of the current approach.


6.2 Configuration and training

  • We have fully explored Charm’s built-in features relevant to this issue.

  • We have tried at least one process or template change before requesting custom work.

  • We have trained staff on the current best-known process, and the pain persists.


6.3 Strategic fit

  • The workflow is high frequency and/or high value to the clinic.

  • The workflow is expected to remain substantially the same for at least 12 months.

  • Leadership agrees this workflow is worth investing in over other priorities.


6.4 ROI and risk

  • We have a simple calculation showing estimated time and cost savings.

  • We understand the compliance or audit benefits, if any.

  • We know how we will measure success 3 to 6 months after go-live.


6.5 Lifecycle responsibility

  • Someone is clearly responsible for owning this workflow long term.

  • We have a plan for testing and updating custom components when Charm or regulations change.

  • We have decided what happens if this custom piece breaks during a busy clinic day.


If you cannot check these boxes, the issue is not ripe for custom development yet. It is still a design, configuration, or leadership problem.


7. How to move forward in a controlled way


If you walk through this checklist and custom development in Charm still makes sense, approach it with the same discipline you would apply to a new service line.


Identify the smallest slice of the workflow that, if improved, delivers obvious value quickly.


Try to simulate the intended behavior with templates, tasks, and simple automation. This often reveals edge cases early and reduces rework in code.


For example:

  • Reduction in minutes per encounter.

  • Decrease in rework tasks.

  • Increase in clean claims rate.


Involve the people who are most critical or most burdened by the current process. If they cannot run the new workflow reliably, you are not ready for full deployment.


Decide ahead of time:

  • What happens if the custom solution misbehaves during clinic hours.

  • How staff revert to the prior process if needed.


Custom development in Charm can absolutely transform how your clinic operates. It can remove entire categories of manual work, tighten your audit trail, and let your staff focus on care instead of keystrokes.


But the EHR does not fix operations by itself. It simply reflects them, more or less efficiently.


Use custom development when it amplifies a well-designed, stable workflow that already works at a small scale but cannot grow without help. Avoid it when you are still arguing about process, still guessing at impact, or still hoping software will solve human misalignment.


When you treat Charm like a core system of record and an automation backbone, not an endless canvas for custom wishes, you get what you actually need: reliable, scalable, audit-ready operations that make financial sense.


Comments


bottom of page