Arbeidspuls/README.en.md
2026-05-28 07:34:50 +00:00

351 lines
9.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Arbeidspuls
[Les denne README-en på norsk](README.md)
**Arbeidspuls** is a lightweight, privacy-friendly web app for self-reporting work ability, function, energy, symptoms and strain over time.
It is designed for practical situations where a person needs to document actual function in a work setting, such as work trials, gradual return-to-work processes, long-term illness, fatigue or other conditions that affect short-term and long-term capacity.
Arbeidspuls is quick to use from a phone, while still giving advisors a structured way to review trends, report details, follow-ups and notes.
> Arbeidspuls is a tool for structured self-reporting and review. It does not replace medical assessment, occupational health evaluation or formal decisions.
---
## Why host Arbeidspuls?
Arbeidspuls is suitable for organizations or professionals who need a simple, low-friction way to collect work-function self-reports without operating a heavy case management system or central database.
It is especially relevant for:
- work-fitness evaluations
- work trials
- gradual return-to-work processes
- documenting function, strain and recovery
- advisors, case workers or professionals reviewing reports
- environments where data minimization and local storage matter
Arbeidspuls is built as a static web app/PWA. It can normally be hosted as ordinary static files.
It normally does not require:
- a server database
- login
- a backend API
- a production Node process
- central storage of sensitive reports
The user owns their data locally in the browser and actively shares it by exporting a JSON file.
---
## Key features
- quick self-reporting from a phone
- 15 scales for core function areas
- optional details for workplace, work time, task type, limitations and accommodations
- follow-up after a work session to capture delayed worsening/recovery
- overview with time-based trend graph
- local JSON import/export
- advisor view for reviewing exported reports
- advisor notes per user, report and follow-up
- fullscreen graph analysis for advisors
- local report integrity checks
- Norwegian and English user interface
- installable as a PWA/WebApp on phones and tablets
---
## Screenshots
Screenshots are located in [`screenshots/`](screenshots/).
### Register report
![Register report](screenshots/User%20-%20Report.png)
The user can save a report with only a few taps. Core fields use quick 15 choices, while optional details can be opened when needed.
### Follow-up
![Follow-up](screenshots/User%20-%20Follow-up.png)
Follow-up is used after a work session, for example later the same day, the next day or later. This is useful when symptoms or fatigue appear after a delay.
### Overview and trend
![Overview and trend](screenshots/User%20-%20Overview.png)
The overview shows reports, follow-ups, total score, category scores and trend over time. The graph uses the actual time distance between reports.
### Report details
![Report details](screenshots/User%20-%20Report%20Review.png)
The user can open a report to review details and optionally delete local reports.
### Privacy and data management
![Privacy and data management](screenshots/User%20-%20Privacy%20Information.png)
The privacy page explains local storage, export/import, sharing with an advisor and deletion of local data.
### Advisor review
![Advisor review](screenshots/Guide%20-%20Main%20View.png)
The advisor view lets an advisor import JSON files from users, view reports, read details, add notes and compare development over time.
### Fullscreen graph analysis
![Fullscreen graph analysis](screenshots/Guide%20-%20Graph%20Inspection.png)
In advisor mode, the graph can be opened in fullscreen for more precise review, time filtering and inspection of individual data points.
---
## For users
### Open the service
Go to:
```text
https://arbeidspuls.rolfsvaag.no
```
Arbeidspuls works on phones, tablets and desktop computers. It is phone-first, so reporting should be quick and low effort.
### Install it as an app on a phone or tablet
Arbeidspuls can be installed as a PWA/WebApp.
On Android/Chrome:
1. open Arbeidspuls in Chrome
2. open the browser menu
3. choose **Install app** or **Add to Home screen**
On iPhone/iPad/Safari:
1. open Arbeidspuls in Safari
2. tap the share button
3. choose **Add to Home Screen**
After this, Arbeidspuls can be opened like a normal app from the home screen.
### Save a report
Choose **Register**, fill in the core fields and press **Save report**.
The core fields are:
- current work ability
- energy level
- mental clarity / concentration
- symptom burden
- effort / strain
- whether you can continue, need a break, need an easier task or want to stop
Optional details can be used if you want to add more context, such as workplace, work time, physical/mental energy, task type, limitations, what helped and a short comment.
### Save a follow-up
Choose **Follow-up** to record how you are doing after a work session.
This can be used to document:
- whether you are worse than before the work session
- delayed symptoms
- recovery
- a short comment
Follow-up is especially useful if the reaction comes after the work session itself.
### View overview
Choose **Overview** to see previous reports, follow-ups and the trend graph.
The overview shows, among other things:
- total score
- work ability
- energy
- mental clarity
- symptoms
- strain
- follow-ups linked to reports
### Export data to an advisor
If an advisor or another person needs to review your reports:
1. go to **Privacy**
2. choose **Export JSON**
3. send the JSON file to the advisor, for example by email or another agreed channel
The JSON file may contain sensitive health and function-related information. Only share it with people who should have access.
### Import earlier data
If you have changed devices, changed browser or lost local data, you can import a previously exported JSON file from **Privacy**.
---
## For advisors
Advisor mode is available at:
```text
https://arbeidspuls.rolfsvaag.no/veileder
```
or:
```text
https://arbeidspuls.rolfsvaag.no/evaluator
```
### Import reports
1. Ask the user to export JSON from **Privacy**
2. Open advisor mode
3. Choose the JSON file
4. Give the user a name or internal identifier
The data is stored locally in the advisor's browser. Arbeidspuls does not send the reports to a central server.
### Review reports
Advisors can:
- view a trend graph for the selected user
- filter by time period
- open fullscreen graph analysis
- read report details
- read follow-ups
- view total score and category scores
- write a general note for the user
- write notes per report
- write notes per follow-up
- export/import advisor backup
### Score and function level
Arbeidspuls shows total score and category scores as internal function indicators.
Scores are intended for overview and trend support, not as a medical conclusion.
Advisor mode uses score bands such as:
- **Exceptionally high function level**
- **Expected function level**
- **Moderately reduced function**
- **Significantly reduced function**
- **Very low function**
75% roughly corresponds to an expected/good reported function level, while 100% corresponds to an exceptionally high function level.
### Integrity checks
Reports may contain local integrity metadata. If a report is missing verification or appears to have been changed, a warning is shown in advisor mode.
This is a technical check. It is not a legal guarantee and does not prove the medical truth of a report.
---
## Privacy and local storage
Arbeidspuls stores data locally in the browser on the device being used.
This means:
- reports are not automatically sent to a server
- the standard app uses no central database
- data remains on the user's device/browser
- clearing browser data may delete reports
- changing device or browser requires export/import
The user must export JSON to share data with an advisor or move data to another device.
---
## Technical overview
Arbeidspuls is a static React/Vite app with local browser storage.
Typical production build:
```bash
npm ci
npm run build
```
The contents of `dist/` are then hosted as static files.
For an SPA, the web server should fall back to `index.html`, for example in Nginx:
```nginx
location / {
try_files $uri $uri/ /index.html;
}
```
### Technology
- React
- TypeScript
- Vite
- PWA manifest
- service worker
- local browser storage
- JSON import/export
- local advisor view
- Norwegian/English UI
### Production
Arbeidspuls normally only requires static hosting. Running a Node server in production is not required.
---
## Development
Install dependencies:
```bash
npm ci
```
Run the development server:
```bash
npm run dev
```
Build production files:
```bash
npm run build
```
Run tests:
```bash
npm test
```
---
## Important note
Arbeidspuls is a tool for structured self-reporting and review. It should not be used as the sole basis for medical, legal or employment-related decisions.
Total score and category scores are internal function indicators for overview and trends. They are not medically validated test results.
---
## License
See [`LICENSE`](LICENSE).