rheophile.ca ← all posts

One HTML file compared with a web application: sample intake without the long IT approval process

2026-07-14

A web application can collect sample requests or show clients the results of their analyses. Such an application is easier to build now than at any time before. The code was never the difficult part. The difficult part is to make IT approve any type of systems development: a server, a login, a database. At a public research organisation, IT does not give that approval easily. For that reason, good tools stay in the approval queue and no person uses them.

Thus the step from a PDF form or an Excel form to a web application looks large. But there is an intermediate step: an HTML file. It costs nothing. It is not necessary to ask a person for permission to run it.

The intermediate step

Almost all computers have a modern web browser. You can open an HTML file as a file: double-click it. Then its code and its data have no contact with the internet. There is no server and no connection, and there is nothing to serve that IT must approve. But in that sandbox you have real tools: JavaScript, the Web Crypto API of the browser, and a full SQLite database. A PDF or an Excel sheet can do much less.

The most important function is this: the file can compose the data that you enter into a QR-code label that a scanner can read. When the lab scans the QR code, the lab receives the request as structured data. Transcription is not necessary. When a lab request arrives as a document, a person must type it into the system again. The QR code removes that cost fully.

A QR code for an example request
This QR code holds one complete request for two samples and multiple tests. The lab scans the QR code or pastes the same string (the two inputs are identical). Then the data is in the system, and no person types it. ⬇ Download this QR code

Excel does a part of this. An Excel workbook holds structured data and moves as a file. But people continue to send it by email and to enter the data again. The QR code removes that last manual step.

The file that the client fills

Here is an example: JuΓ‘rez Research Centre. The Centre has environmental and geoanalytical labs with ISO/IEC 17025 accreditation. These labs receive work through documents. A client opens this HTML file to make a request. An installation and an account are not necessary. The client uses only a browser.

The screen of the HTML file where the client selects a form type
Open the file, then select a form type. Each form type matches one of the real intake forms of the Centre.
The filled request form in the HTML file
The filled form. The file checks the necessary fields and the formats while you type. The invoice block and the report block can each hold multiple contacts. Each sample has a multiselect list of test panels from the services schedule of the Centre. Thus one screen shows several tests for each sample.

One filled form, three outputs

After you fill the form one time, the file exports the request in three formats. The PDF and the Excel workbook are for people. The QR code (above) is for the machine.

The PDF export of an example request
PDF export β€” a clean form that is ready to print. It opens in any browser. Acrobat is not necessary. ⬇ Download this PDF
The Excel export of an example request
Excel export β€” a real .xlsx workbook (the sheets Request and Samples). One sample can have multiple tests. ⬇ Download this Excel file

How the file operates

The cryptography uses only the Web Crypto API of the browser. It uses no libraries. The algorithms are in the approved set of CSE (AES-256-GCM, PBKDF2-SHA-256, ECDH/ECDSA on P-256, SHA-256).

Why approval is easier for a downloadable file

Here is the argument again in plain words. When an organisation serves a web application, all of the institutional governance applies:

This takes months, not days.

When an organisation posts an index.html as a download, the act is fully different. The file is on a page. The user clicks it and opens it in the browser that the user already has. These items are not there:

It is the same as when you give a person a PDF. The file is a tool that a person runs, not a system that the institution operates. That is the difference between "interesting demo" and "in use next week."

Approval path of a web application and path of an HTML file A served web application has a server, a login, and a database. Institutional governance applies to it, and the approval takes months. A user downloads an HTML file and opens it in the browser. The file can be in use next week. Served web application Server, login, database Institutional governance IT security / threat-risk assessment Privacy review Data residency and retention questions Vendor onboarding and procurement Continuous operations and liability Months, not days Downloaded HTML file User downloads the file User opens it in the browser In use next week No software to install No server to assess No data leaves the device No account No vendor operates a system
Figure 1. Institutional governance applies to a served web application. A downloaded HTML file has no server to assess.

When you use real custody records, governance continues to apply. This text is not legal advice. But it is much easier to start with a file than with a web application, because there is no system to set up.

A first step, without a server, to a real web application

The file can be more than a form for one request. The user can keep a local history file: export the encrypted database, then import it before the next session. With the history file, the same downloadable file does the work that people usually set up a web application to do:

All of this operates with no web server. The history stays in a file that the user controls.

The file is also a clean prototype. Possibly, the Centre will decide to build a hosted client portal with real accounts, a shared dashboard, and cross-request analytics. Then this file is the point to start from: the same data model, the same forms, the same exports, all already validated end-to-end. Start with a download. Change to a web application only if, and when, the value justifies the approval process.

How to use the files

Client (the requester):

  1. Open the client file.
  2. Select a form.
  3. Fill the form. The file checks the formats while you type.
  4. Add the samples and select their test panels.
  5. Export the request as a PDF, an Excel workbook, or a QR code.
  6. If you want to save requests and use profiles again, sign in with a PIN. This step is optional.

Lab (intake):

  1. Open the lab file.
  2. Scan the QR code of the request, or paste the string.

The request then shows on a kanban board. The board has columns by sample type, and you can filter by client. Each request moves through these stages: Received β†’ Prep β†’ Analysis β†’ Reported β†’ Complete.

You can export the data to Excel or JSON. To transfer all the data, export the full encrypted database. Two stations can each export, and then merge the exports with no conflicts.

Flow of a request from the client file to the lab The client opens the client file and fills the form. The file exports the request as a PDF, an Excel workbook, or a QR code. The lab scans the QR code with the lab file. Then the request shows on the kanban board and moves through five stages: Received, Prep, Analysis, Reported, Complete. Client opens the client file Client fills the form File exports the request PDF for people Excel for people QR code for the machine Lab scans the QR code with the lab file Request shows on the kanban board The request moves through these stages Received Prep Analysis Reported Complete
Figure 2. The client file exports a QR code. The lab scans the QR code, and the request shows on the kanban board.

The code

The code is open source. It has two Vite/TypeScript applications (client and lab). Each application builds to one self-contained HTML file. The code also includes the offline chain-of-custody and crypto core:

github.com/rheophile10/sample-forms

Where to start

Do not start with the senior executives. Start with the person who already moved the sample intake toward digital tools: the owner of the Geoanalytical "Request for Laboratory Services" form. This is a person who moves a form from PDF to Excel on personal initiative. A person with that attitude will adopt the next step. Give this person the client file, configured for the real form that this person owns. A trial costs nothing and uses no institutional system.

Note from the author: I built the tool and verified it end-to-end before I wrote one word of this post. The sequence was: form β†’ QR β†’ lab kanban β†’ sealed report β†’ decrypt β†’ visualise.