Patient intake automation gets dangerous when every form follows the same path.
The safer pattern:
- extract the form
- normalize the fields
- check for critical risk signals
- route exceptions differently from normal intake
In a 10-node n8n intake workflow, the structure looks like this:
INPUT
- Google Drive watches an intake folder
- a document extraction step returns structured patient fields
NORMALIZATION
- a code node creates the patient ID
- date of birth is converted into age
- insurance is reduced into a short summary
- missing values are made explicit instead of silently ignored
EXCEPTION ROUTING
- the allergies field is checked against critical terms like penicillin, sulfa, latex, iodine, aspirin, and NSAID
- the patient record is written to a controlled table
- an IF node separates critical allergy cases from normal intake
HANDOFF
- normal intake goes to the front desk channel
- critical allergy cases go to an alert channel with the patient ID, DOB, allergy field, and reason for visit
For healthcare workflows, this should not run as a casual hosted demo. The safer setup is self-hosted n8n, restricted credentials, encrypted storage where possible, and audit logs.
The reusable lesson:
Sensitive workflows should not just extract data. They should decide which records are safe to queue and which records need immediate human attention.
Where do you usually put exception routing in intake workflows: before the database write, after logging, or only inside the notification step?