> ## Documentation Index
> Fetch the complete documentation index at: https://hmis-docs.derrickmugabwa.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Local verification

> Confirm the local application, background processes, and optional integration stack are working.

Run these checks before opening a pull request or promoting a commit to staging.

## Application checks

<Steps>
  <Step title="Check application health">
    Open `/up` on the local HMIS origin. A healthy application returns HTTP `200`.

    ```powershell theme={null}
    Invoke-WebRequest http://127.0.0.1:8000/up -UseBasicParsing
    ```

    Use `http://localhost:8080/up` for Docker Desktop.
  </Step>

  <Step title="Check migrations and the scheduler">
    ```powershell theme={null}
    php artisan migrate:status
    php artisan schedule:list
    ```

    The schedule must include `op-visits:close-expired` at `00:01`.
  </Step>

  <Step title="Run automated tests">
    Run the smallest affected test set first, followed by the full project suite when preparing a release.

    ```powershell theme={null}
    php artisan test --compact
    ```
  </Step>

  <Step title="Build frontend assets">
    ```powershell theme={null}
    npm run build
    ```
  </Step>

  <Step title="Exercise authentication">
    Sign in, select a branch, open the dashboard, sign out, and confirm that a user without the required role cannot access the administration panel.
  </Step>
</Steps>

## Docker service checks

```powershell theme={null}
docker compose -f docker-compose.yml -f docker-compose.local.yml ps
docker compose logs --tail=100 app queue scheduler postgres
docker compose exec app php artisan queue:failed
```

All required containers must be running, the application health check must pass, and the logs must contain no repeating database, permission, queue, or scheduler errors.

## Optional integration checks

<Tabs>
  <Tab title="Laboratory">
    Complete the acceptance cases in [Testing and validation](/laboratory-integration/testing-and-validation), including duplicate delivery, unknown barcode, ASTM, and HL7/MLLP handling.
  </Tab>

  <Tab title="Radiology">
    Complete [End-to-end testing](/radiology-integration/end-to-end-testing), including worklist lookup, DICOM store, study event relay, and viewer launch.
  </Tab>
</Tabs>

## Evidence to retain

* Commit identifier
* Test command and result
* Migration status
* Frontend build result
* Sanitized integration evidence when relevant
* Known warnings or deviations

<Check>
  The commit is ready for staging when automated checks pass, the health endpoint returns `200`, authentication works, and all affected workflows have retained acceptance evidence.
</Check>
