# Record in-process checks (IPQC) (/docs/production/in-process-checks)

A patrol check measures parts while the order runs. The default roles are QC inspector (Siti Rahmah)
and Technician (Ahmad Faizal). Open **Quality > In-process**. The screen is called **In-process QC**.

```mermaid
%% title: A patrol check
flowchart LR
  A[Check due] --> B[Record patrol check]
  B -->|All readings in tolerance| C[IPQC passed, last good point set]
  B -->|A reading is out| D[Record the action taken]
  D --> E[IPQC failed, suspect range on hold]
  E --> F[QA decides: 100% inspect or scrap]
```

## How often a check is due [#how-often-a-check-is-due]

The inspection plan sets the frequency, for example "Every 2 h" or a count of pieces or shots. If the plan
says nothing, a check is due every 2 hours. On the tablet a banner counts down: "Next patrol check in
\{n\} pcs" (or shots), or "Next patrol check due \{time\} · in \{time\}". It turns to "Patrol check due now"
and then "Patrol check overdue by \{time\}".

When a check is overdue, the system escalates it once: QA and the supervisor are told "IPQC check overdue
· escalated", and the output since the last good check counts as suspect.

## Record a patrol check [#record-a-patrol-check]

<Steps>
<Step>

On the machine tablet, QC chooses **Record patrol check** on the running order. The check is e-signed,
so it needs the QC inspector's signing authority and current training. QC can also take it from the
phone. The dialog is titled "Patrol check · \{QC order\}" with the product and machine.

</Step>
<Step>

Enter every characteristic on the plan. The column **Reading** shows **OK** or **Out** as you type. To
measure several pieces, separate the readings with spaces. They are charted as one SPC subgroup.

</Step>
<Step>

Check the **Gauge used**. It starts as the gauge the inspection plan names for the characteristic; when the
plan uses more than one gauge, each reading has its own gauge field. The system checks the calibration of
every gauge used before it saves, and refuses a reading measured with a gauge other than its
characteristic's planned one.

</Step>
<Step>

If a reading is **Out**, write the **Action taken · hold, adjust or segregate**. Add photos as evidence if
needed with **+ Photo**.

</Step>
<Step>

Choose **Record patrol · e-sign** and sign.

</Step>
</Steps>

A pass sets the "IPQC passed · last good point". A fail writes "IPQC failed · suspect range contained":
the output since the last good check goes on hold for QA to decide.

<GuideStep
  title="In-process QC on the desktop"
  description="First-article records and in-process checks."
  src="/guide/in-process-checks/1.png"
  alt="In-process QC screen on desktop with first-article records and the in-process checks table"
  width={1440}
  height={1000}
  callouts={[
    { x: 25, y: 16, caption: "Open SPC." },
    { x: 50, y: 38, caption: "First-article records with attempts." },
    { x: 55, y: 72, caption: "In-process checks with result and inspector." },
  ]}
/>

<GuideStep
  title="A patrol check on the tablet"
  description="The patrol dialog on a running order."
  src="/guide/in-process-checks/2.png"
  alt="Patrol check dialog on the machine tablet with characteristics and the Record patrol e-sign button"
  width={1024}
  height={768}
  callouts={[
    { x: 50, y: 12, caption: "Patrol check title with product and machine." },
    { x: 45, y: 42, caption: "Reading per characteristic, OK or Out." },
    { x: 70, y: 88, caption: "Record patrol · e-sign." },
  ]}
/>

## Handle a failed check [#handle-a-failed-check]

After a failed check the run shows "Output since the last good check is on hold. QA decides; suspect
parts are not assumed bad or good." QA picks one:

- **100% inspect, then release**. The decision is e-signed.
- **Scrap suspect range**. The decision is e-signed, and the suspect parts move from the good count to
  the scrap count, so they never go into the finished lot.

You can also **Trace downstream** or **Raise NCR**. The run cannot be completed until QA decides: "Call the QA
manager to disposition the suspect range before you complete the run".

## Read the SPC chart [#read-the-spc-chart]

On **Quality > In-process**, choose **Open SPC**. The **Charts** tab shows X̄ and R charts of the last 25
subgroups with Cp, Cpk, Pp and Ppk. A signal outside its limit reads "Out-of-control signal". Choose
**Open reaction plan** (or **Raise reaction manually**). The **Reactions** tab lists plans for containment,
cause, action and verification. QA closes them. **Capability by lot** shows whether each order meets its
Cpk target once it has three subgroups.

## Enter a paper event [#enter-a-paper-event]

When a controlled paper traveller is used (for example during an outage), a clerk enters its events later.
To get the traveller and its copy ID, open the order and choose **Actions > Print traveller**, then
**Print**: the copy ID is issued when you print. Then open **Production > Paper transcription**.

<Steps>
<Step>

Choose **Transcribe a paper entry**. Fill in **Copy ID on the sheet** (for example
`PC-MO-2026-1127-02`), **Event** (**Acknowledge**, **Start setup**, **Finish setup**, **Start production**,
**Pause**, **Resume**, **Count** or **Finish**), **When it happened**, **Written by**, **Quantity (if
any)** and **Note**.

</Step>
<Step>

Choose **Save for verification**. The entry is **Pending verification**. Both the time it happened and
the time it was entered are kept.

</Step>
<Step>

A second person, who did not write or enter the entry, chooses **Verify** and signs it (the
confirmation shows who signs and the meaning, Verified). If the sheet does not match,
choose **Discrepancy** (**Raise discrepancy** on the record). The status becomes **Verified** or
**Discrepancy**.

</Step>
</Steps>

<GuideStep
  title="Paper transcription"
  description="Entries waiting for verification."
  src="/guide/in-process-checks/3.png"
  alt="Paper transcription screen with the entry form and a list of entries waiting for verification"
  width={1440}
  height={1000}
  callouts={[
    { x: 25, y: 20, caption: "Transcribe a paper entry." },
    { x: 55, y: 55, caption: "Entries with status." },
    { x: 88, y: 55, caption: "Verify and Discrepancy." },
  ]}
/>

## If the system refuses [#if-the-system-refuses]

Messages shared by every flow are in
[Signatures and refusals](/docs/get-started/signatures-and-refusals). In-process messages are in
[Checks and completion refusals](/docs/production/checks-and-completion-refusals#record-in-process-checks-ipqc).
Examples:

- `Enter every characteristic for the patrol check.`
- `A reading is out of tolerance. Record the action taken before saving.`
- `Verification must be by someone other than the person who wrote or entered the entry`

<NextSteps>

<NextStep href="/docs/production/scrap-and-rejects" title="Record scrap and rejects" description="Disposition parts that fail." />

<NextStep href="/docs/production/complete-and-lots" title="Complete the run and create lots" description="End the run after QA decides." />

<NextStep href="/docs/production/checks-and-completion-refusals" title="Checks and completion refusals" description="Every message and what to do." />

</NextSteps>
