LOINC review — clinician guide¶
This page is for clinicians and superusers who approve how lab test names map to LOINC codes. It is not where medical assistants review lab values on the chart — that stays in Elation.
For roles and responsibilities, see Who does what.
Tip: Click any screenshot to open it full size and zoom.
What this screen does¶
When the fax system reads a lab report, it tries to pick a LOINC code for each test row.
| System result | What happens |
|---|---|
| Mapped (confident) | The code can be filed to the chart automatically. |
| Abstain (not confident) | A review case opens here for you to pick the right LOINC. |
| Wrong mapped code (someone flagged it) | A disputed case opens here to correct the code. |
Your Submit decision saves your choice on that case. Publish active registry applies all saved approvals so future faxes can use them.
Important: Fixing a value in Elation does not teach the mapper. Only LOINC review → Publish updates the mapping list.
Before you start¶
- Bookmark the staff site (do not bookmark internal Cloud Run URLs):
- https://fax-staff-gate.dhruv-5ef.workers.dev
- Sign in with the clinic fax-app password (shared out of band — not your Elation password).
- Open LOINC review from the top navigation (or go to
/loinc-reviewafter login). - Use this tool during clinic hours when the app is available. After hours the staff site may show a closed page.
You will see test names and mapping facts only — no patient names, MRNs, or chart fields on this screen.
Screen overview¶

| Area | Purpose |
|---|---|
| Status line | Shows whether the mapper is loaded and which mapping registry version is active. |
| Refresh cases | Reloads the case list. |
| New correction | Opens a form when a mapped code on the chart was wrong (see Wrong mapped code). |
| Publish dry-run | Tests publish without saving (optional; for operators). |
| Publish active registry | Applies saved approvals to the live mapping list (do this when a batch is ready). |
| Cases (left) | List of tests waiting for review. |
| Case detail (right) | Facts, system output, and the form to submit your decision. |
Step 1 — Open the case list¶

Use the filters at the top of the case list:
| Filter | When to use it |
|---|---|
| Open | Default — tests the system could not map confidently. |
| Needs attention | Cases that failed validation or need a second look after publish. |
| Disputed | Someone reported a wrong mapped code. |
| All | Every case, including closed ones. |
Each row shows the test name (as read from the fax) and status abstain when the system is unsure.
Click a row to open it on the right.
Step 2 — Read the case detail¶

Case detail table¶
Check that the extracted facts match the lab report:
| Field | Meaning |
|---|---|
| Name | Test name from the fax (this becomes the mapping alias). |
| Value | Result value (e.g. Negative, 97). |
| Unit | Unit of measure, if present. |
| Specimen / Specimen code | What was analyzed (e.g. serum), if known. |
| Collection | How the sample was collected (e.g. blood, venous), if shown on the report. |
| Method | Assay method, if extracted. |
| Source lab | Sending laboratory name, when available. |
| Job / Row | Internal IDs for support — you do not need to edit these. |
If OCR misread the name, unit, or specimen, you can fix them in the form below (optional fields) or choose Correct OCR facts and recheck.
Mapper (technical)¶

This is the system’s internal result: status, confidence, and why it abstained. You do not need to edit this block. Use it only to see why the case opened.
Candidates (suggestions only)¶

The system lists LOINC codes it considered. They are often wrong — especially for screens, immunology, and similarly named tests.
- Click a candidate to copy its LOINC code into the form below.
- You are not required to pick from this list.
- Always confirm the code against the lab report and your clinical judgment.
Step 3 — Search for the correct LOINC¶

- In Query, type part of the test name or a LOINC code (e.g.
glucoseor42254-3). - Pick a result from the dropdown — it fills Selected LOINC.
Use the pinned LOINC release the clinic deploys with (currently 2.82). If unsure, search by the test’s official LOINC name (e.g. “Nuclear Ab presence serum immunofluorescence” for ANA screen by IFA).
Step 4 — Fill in the decision form¶

| Field | What to enter |
|---|---|
| Decision | Usually Approve — works at all laboratories. Use this laboratory only only when the same name means something different at one lab. |
| Selected LOINC | The LOINC code you approve (required for approvals). |
| Mapping scope | Fills automatically: universal_template for “all laboratories”, source_evidence for one lab only. |
| Corrected unit | Only if the fax unit was wrong but the LOINC choice depends on it. |
| Corrected specimen text | Original wording from the report (audit only). |
| Analytical specimen code | Standard code for what was tested (e.g. serum, urine). Use when the report clearly indicates it. |
| Collection specimen code | How blood/urine was collected (e.g. blood_venous). Optional; use when the report states it. |
| Reviewer ID | Your short ID (e.g. tro-1) — same each time. |
| Reviewer name | Your name. |
| Rationale | Required. One or two sentences: why this LOINC is correct for this test name. |
Click Submit decision. A green message at the top confirms it saved.
Repeat for each case you want to approve in this session.
Step 5 — Publish (when the batch is ready)¶
After one or more Submit decision actions:
- Click Publish active registry (or Publish dry-run first if an operator asked you to).
- Wait for the message at the top. Success looks like
okwith a registry version. - Re-extract or wait for the next fax — mapping improvements apply to new parses, not rows already processed.
| Publish message | Meaning |
|---|---|
| Published with a version | Approvals are live for the mapper. |
| no_change=true | The mapping list already contained those aliases and LOINC codes; nothing new to write. |
| Replay / reopened | An approval did not pass automated safety checks; the case moved to Needs attention. Fix or reopen and try again. |
Only clinicians or designated superusers should click Publish. Medical assistants normally do not use this screen for daily work.
If something goes wrong¶

Messages appear in the bar below the action buttons.
| Message | What to do |
|---|---|
| Reopen before submitting | You already submitted this case. Click Reopen, then edit and submit again. |
| Conflicting active registry | That test name is already mapped to a different LOINC in the registry. You cannot overwrite it here — contact an operator. |
| Decision failed / not eligible | Often wrong LOINC for the test type, or missing rationale. Read the full message and adjust. |
| Revision mismatch | Someone else changed the case. Click Refresh cases and open it again. |
Reopen — Clears a saved decision so you can submit a new one.
Withdraw approval — Removes your approval and sends the case back for attention.
Wrong mapped code (not abstain)¶
If the system did assign a LOINC but it was clinically wrong on the chart:
- From Extraction, click Wrong code on that lab row, or
- Click New correction / Report a wrong mapped code on this page.
Fill in the test name, the wrong LOINC (if known), and why it is wrong. A disputed case opens. Approve the correct LOINC and Publish as usual.
Quick checklist (one case)¶
- [ ] Open LOINC review and click Refresh cases
- [ ] Select an Open (or Disputed) case
- [ ] Confirm Name, Value, Unit, and Specimen match the fax
- [ ] Search and pick the correct LOINC (do not trust candidates blindly)
- [ ] Choose Approve — works at all laboratories (unless lab-specific)
- [ ] Enter Reviewer ID, Reviewer name, and Rationale
- [ ] Click Submit decision
- [ ] When several cases are done, click Publish active registry
Privacy¶
- Do not paste patient names, MRNs, dates of birth, or fax numbers into rationale text or chat.
- This UI is for mapping facts and opaque job IDs only.
More detail (technical staff)¶
- Who does what — MA vs clinician workflows
- Clinician-governed learning — registry contract (sibling package)
- Cloud Run deploy — operators only