Upload a lab or test report and every measured value lands as its own row: parameter, result, unit, reference range, method, and whether it sits inside or outside spec. Trending a value across six months becomes a filter instead of a search through PDFs.
The app embedded on this page is the CSV Import Tool, a real Taskade Genesis build you can load rows into right now. It gets measured values into columns you can sort and threshold; it does not read the report they came from. Click "Use this app" to clone it in about ten seconds, then add the upload form, the reading step, and the per-value extraction described below.
The build converts a report into comparable numbers. A Reports Project holds one row per report and a Results Project holds one row per measured parameter, kept as connected records so a report with forty parameters is still one report. A published form takes the sample or subject reference, the report date, and a File field. The Convert File to Text step reads the report, covering the typed PDF a modern laboratory emails and the scanned page an older one posts. An Ask Agent step returns laboratory name, report number, sample reference, collection date, report date, and a list of parameters with result, unit, reference range, and method. A comparison step marks each result in range, above, or below, using the range printed on the report rather than a number you typed from memory.
The results read wherever the question sits:
- Table view for the full results grid with filters by parameter and date
- Calendar view to place reports and retests across time
- Board view to move reports through Received, Reviewed, and Actioned
- Plus List, Mind Map, Gantt, and Org Chart across the 7 project views
Automations turn an out-of-range result into action. With Taskade automations, a result outside spec notifies the responsible person immediately with the value and the range, a retest is scheduled, and a report that has not arrived by its expected date is chased. Across 100+ bidirectional integrations, Gmail pulls laboratory emails in while Slack and Google Sheets push results out. The AI agents inside the app carry 34 built-in tools with persistent memory, so an agent can summarize which parameters have drifted across the last four reports.
Get the grain right before you load anything: one row per measured parameter, connected to one report. Storing a report as a single row with forty columns feels tidier on day one and makes trending impossible on day ninety. Load your historical reports too, because a results table with three months of data answers almost nothing while one with two years answers most of what people ask. Keep the reference range as it was printed rather than as a global setting, and your comparisons stay honest even after a laboratory change or a method update.
Clone the app, invite whoever reviews results, and the reports, the values, and the thresholds are yours.
Read the reading step in Convert File to Text, the pattern in Build a Document Intake App, and the structuring options in Structured Output. Shape the results grid with Databases in Projects, browse live builds in the Community Gallery, or explore automations. Pair this with Log Safety Inspection Sheets as You Collect Them for the wider compliance record, and Digitize Paper Intake Forms at the Front Desk where results attach to an intake record.
Frequently Asked Questions
Does this interpret results clinically or technically?
No. It reads the numbers, the units, and the reference range printed on the report, and marks whether each value sits inside that range. Interpretation belongs to the qualified person reviewing it, and the original report is attached for exactly that reason.
Can it handle a report with dozens of parameters?
Yes. Ask for the parameters as a list and write them into a connected Project as one row per parameter. That grain is what makes trending possible later.
What if the reference range differs between laboratories?
Store the range as it was printed on that report rather than as a global setting. Comparisons then stay honest even when you change laboratory, and a range change is visible in the data rather than hidden in a config.
Does it read scanned reports?
Yes, image-only PDFs and photographs of pages are read off the image. Typed PDFs are read straight through as text and do not consume AI credits for the reading. See AI Credits and Models.
How are out-of-range results escalated?
With an automation on the in-range flag. The alert carries the parameter, the value, and the range, so the person receiving it does not have to open the report to know how serious it is.
Is the original report retained?
Yes. It attaches to the report row and lands in your workspace Media tab. Every extracted value can be traced to the page it came from.
Can I import historical reports too?
Yes, upload them through the same form with their real report dates. The trend view then starts from real history rather than from the day you built the app.
Can it link results back to a sample or a batch?
Yes. Keep the sample or batch reference as a field on the report and the results inherit it, so you can read every parameter for one batch or one parameter across every batch from the same data.
