5 SDC Form Engines That Handle Multi-Step Telehealth Intake Cleanly

Multi-step telehealth intake is one of the harder things to get right with SDC. The patient fills out demographics on a phone, abandons the form, comes back two hours later on a laptop, and finishes the clinical history section before the appointment starts. The renderer has to preserve partial state, the engine has to keep enableWhen logic consistent across steps, and the response has to extract cleanly once submitted. Five SDC engines hold up under this workload. For broader context, see more on FHIR integration choices.

The FHIR form builders for medical software vendors reference guide covers the broader form-builder selection picture.

The 5 SDC Engines for Multi-Step Telehealth Intake

  1. LHC-Forms. Strong SDC coverage including item-population from prior responses, which is the feature that makes resumable multi-step intake work. Default choice for vendors with engineering ownership.
  1. Formbox. FHIR-first SDC engine with first-class partial-response state and clean extraction into Observations once the patient submits the final step.
  1. Open Health Hub Forms. Managed product with a built-in resume-from-where-you-left flow and clinically tuned step rendering.
  1. MedplumForms. The Medplum form layer with React-native rendering that suits telehealth vendors shipping native mobile apps; partial-state preservation through Medplum subscriptions.
  1. Smile Digital Health SDC. Bundled with the Smile platform, with the partial-state story leaning on Smile's broader resource versioning.

What Makes Multi-Step Intake Hard

Three operational factors separate engines that handle multi-step intake cleanly from the rest.

The first is partial-response persistence. The patient submits page 1 demographics; the engine has to write a draft QuestionnaireResponse, return a session token, and accept the next page when the patient returns. Engines that treat partial state as out of scope force the vendor to layer a session store on top, which is the work the vendor was trying to avoid by buying an SDC engine.

The second is conditional logic consistency across steps. enableWhen rules that gate questions on previous answers have to evaluate consistently whether the patient is mid-step or resuming. Subtle bugs here show up as questions that appear or disappear unexpectedly when the patient comes back. The top SDC form builders for patient intake software walkthrough covers the products with the strongest conditional-logic stories.

The third is final-submission extraction. Once the patient submits the last step, the response has to extract into the clinical store as one coherent QuestionnaireResponse. Engines that store each step as a separate response leave the vendor team writing a merge step that breaks whenever a step gets reordered.

How Telehealth Vendors Should Choose

Telehealth vendors with dedicated engineering tend to land on LHC-Forms or Medplum, both of which give full control over the resume-and-extract pipeline. Vendors that want a managed multi-step intake product gravitate to Open Health Hub for the built-in flow. FHIR-first vendors that need clean Observation extraction from day one increasingly pick Formbox.

For vendors evaluating the broader form-tools landscape for patient-facing modules, the top FHIR form tools for EMR vendors adding patient-facing modules walkthrough covers the products that hold up under heavy patient-facing traffic. The defensible multi-step intake choice is the one whose partial-state behavior the vendor team can explain end to end without checking the documentation.

Telehealth intake that holds up at scale always traces back to an engine whose partial-state and extraction story the vendor team owns end to end. Engines that hide that complexity behind a feature flag look fine until the first production incident makes the team trace what happened across two days of patient sessions.

Engines that handle the full intake life cycle, including session expiration and revisit, almost always shipped that behavior in response to a real customer incident rather than as a planned feature, and that origin story shows up in how clean the implementation actually is in production.

Sources