Rapporter — Dokumentation
Rapporter med nyckeltal, diagram och spårbara källor.
Rapporter — Professionella PDF-rapporter
Skapa en rapport
PortalRapporter skapar professionella PDF:er med nyckeltal, tabeller och diagram som du kan ladda ner, skriva ut eller dela med kollegor och beslutsfattare.
Välj rapporttyp
Gå till Rapporter i menyn. Välj en standardrapport eller en organisationsmall som ingår i ert avtal.
Exempel – illustration, inga uppgifter sparas här.
Fyll i detaljer
Ange vilken skola eller kommun rapporten ska handla om, samt valfria inställningar som jämförelsenivå och tidsperiod.
Exempel – illustration, inga uppgifter sparas här.
Ladda ner och dela
När rapporten är klar kan du ladda ner PDF-underlaget. Nämndrapport och rektorsdialog går vidare till kundgranskning före publicering; övriga rapporttyper kan delas via en tidsbegränsad länk.
Exempel – illustration, inga uppgifter sparas här.
| Rapport | Typ | Status | Åtgärd |
|---|---|---|---|
| Testskolan — Skolprofil | Skolprofil | Klar |
Fyra standardrapporter
PortalVarje rapporttyp är utformad för ett specifikt syfte:
- Skolprofil — en djupanalys av en enskild skola. Innehåller 6 nyckeltalskort, en jämförelsetabell mot kommunsnitt eller rikssnitt, och 4 trenddiagram som visar utvecklingen över tid.
- Kommunöversikt — visar alla skolor i en kommun i en tabell rankade efter meritvärde. Inkluderar kommunens samlade nyckeltal och ett stapeldiagram med topp 15 skolor.
- Huvudmannarapport — sammanställer alla skolor under en huvudman, grupperade per kommun. Visar aggregerade nyckeltal: antal skolor, totalt elevantal, genomsnittligt meritvärde och behörighet.
- Trendrapport — jämför utvecklingen över tid för upp till 20 skolor eller kommuner. Varje valt nyckeltal visas som ett eget linjediagram med alla enheter som separata linjer.
Rapporter för organisationen
Vilka rapporter du kan skapa beror på organisationens avtal och dina behörigheter. För kommuner finns nämndrapport och rektorsdialog. Andra mallar stödjer journalistiskt arbete, koncernuppföljning och tillsynsdialog.
Rapporterna bygger på kontrollerade källor. Underlaget redovisar metod, källor och begränsningar. Där det erbjuds kan du hämta källuppgifterna som CSV.
Om källuppgifterna saknas eller är för gamla behöver underlaget uppdateras innan rapporten kan skapas eller delas.
Granska och publicera kommunens rapporter
PortalFör nämndrapport och rektorsdialog öppnar du Granska och publicera när rapporten har genererats. Originalutkastet i PDF är underlag för arbetet. Den sparade granskningsversionen kan förhandsvisas och hämtas som HTML. Välj Hämta PDF – version … för att hämta samma versionsbundna innehåll som PDF. Originalutkastets PDF uppdateras inte när du ändrar granskningsversionen.
- Utse rapportansvarig och sakgranskare bland organisationens behöriga användare. Ange användningsändamål och välj mottagare.
- Komplettera kundens sammanfattning och lokala analys. I nämndrapportens övriga avsnitt kan du skriva Kommentar i rapporten. Texten visas som Kommunens kommentar när du sparar en ny version. Sakgranskaren kan välja kommunens kommentar som berörd uppgift och begära rättelse eller utelämning av just den texten. Om kommentaren eller hela avsnittet utesluts visas inte kommentaren. Källuppgifterna är frysta; ett faktabyte kräver källrättelse och ett nytt rapportjobb.
- Spara och lämna versionen till sakgranskaren. Sakgranskaren kan begära rättelser eller godkänna exakt den förhandsvisade versionen.
- Rapportansvarig publicerar den godkända versionen. Förvalt är åtkomst för valda mottagare i portalen. En öppen delningslänk kräver ett uttryckligt val av offentlig publicering. Länken gäller en bestämd version och kan återkallas utan att versionshistoriken tas bort.
Granskare och mottagare behöver rapportbehörighet för organisationens kommunrapporter. Externa mottagare bjuds inte in automatiskt. Granskningsanteckning dokumenterar kontrollen och visas inte för rapportens läsare. Vid bedömningen Accepterad begränsning eller Utesluten byter fältet namn till Motivering som visas i rapporten: den texten följer med slutdokumentet. Kontrollera därför textens innehåll när du ändrar bedömningen.
Om innehåll, ansvariga, ändamål eller mottagarkrets ändras behövs en ny version och ett nytt godkännande. En publicerad version skrivs aldrig över. Versionshistoriken visar tidigare dokument och deras godkännande- och publiceringskvitton. Om någon annan har ändrat rapporten under arbetet måste du läsa in aktuell version innan du fortsätter.
Vad rapporten omfattar
Organisationens särskilda rapportmallar erbjuds inom avtalade pilotupplägg. Rapporttexten följer mallar och bygger på angivna källor; den innehåller inga AI-genererade slutsatser eller rekommendationer.
Rapporterna innehåller inte individdata som elevnamn eller personnummer och ersätter inte organisationens egna verksamhetssystem.
Anpassa din rapport
PortalInnan du skapar rapporten kan du anpassa den:
- Jämförelsenivå (Skolprofil) — välj om skolans resultat ska jämföras med kommunsnittet eller rikssnittet
- Tidsperiod — ange startår och slutår för att begränsa vilka år som visas i trenddiagram
- Nyckeltal (Trendrapport) — välj minst ett och högst tio nyckeltal som passar de skolor eller kommuner du jämför. Ett tomt urval kan inte användas för att skapa trendrapporten.
- Rubrik (Trendrapport) — ange en egen titel som visas på rapportens framsida
Schemalägg rapporter
Särskilda organisationsrapporter återanvänder det kontrollerade underlag som valdes när schemat skapades. Skapa ett nytt schema om du vill byta underlag eller mall. Körningen kan utebli om åtkomsten har ändrats eller underlaget behöver uppdateras.
PortalUnder "Schemalagda rapporter" kan du skapa ett schema för att få rapporter genererade automatiskt. Tre frekvenser finns:
- Varje vecka — genereras varje måndag
- Varje månad — genereras första måndagen varje månad
- Varje kvartal — genereras i januari, april, juli och oktober
En nedladdningslänk skickas till din e-post varje gång rapporten genererats. Du kan hämta rapporten igen via portalen så länge filen finns kvar och du har behörighet. Max 10 scheman per organisation.
Dela en rapport
PortalFör standardrapporter klickar du Dela bredvid den färdiga rapporten. Länken kopieras till ditt urklipp och fungerar utan inloggning i 30 dagar. Portalen har inga kontroller för att ändra denna giltighetstid eller återkalla standardrapportens delningslänk. Kontrollera därför innehåll och mottagare innan du delar.
Nämndrapport och rektorsdialog delas i stället genom Granska och publicera. Där väljer rapportansvarig mottagarkrets för den godkända versionen; en offentlig publicering kan återkallas.
Du kan hämta rapporten så länge filen finns kvar och du har behörighet. Spara en egen kopia om du behöver behålla den. En ny nedladdningslänk hämtas när du öppnar rapporten.
Teknisk referens
APIVisa API-dokumentation
Enterprise-rapporter och evidence
PortalEnterprise-mallarna är pilotstöd för journalist-, kommun- och koncernflöden. De visas bara när organisationen har reports- och enterprise-reports-tjänsterna, användaren har motsvarande behörigheter (eller är org-admin), samt rätt paket/audience.
- Journalist:
journalist_story_package— storykort, metodnot, källtabell och frågor att ställa. - Kommun:
municipality_board_reportochprincipal_dialogue_brief— nämndrapport eller rektorsdialog från signaler. - Koncern:
group_quarterly_reportochmedia_and_inspection_brief— portföljrisk, medieunderlag och tillsynsdialog.
Enterprise-rapporter måste skapas från en serverlagrad signal eller serververifierade källreferenser. Portalen skickar normalt signalId; API:et hydratiserar evidence på serversidan och avvisar fri klient-evidence.
Färdiga enterprise-jobb med verifierad evidence visar en chart-ready CSV-export via /api/pro/reports/jobs/{jobId}/evidence-export. Rapporten innehåller metod, källor, begränsningar och evidence-hash.
Enterprise-evidence måste bära sourceDataset, sourceGeneratedAt, sourceVersionTag och vid behov sourceSyncId. Saknad dataset/version/timestamp, okänd freshness-policy, framtidsdaterad timestamp eller stale/out-of-SLA evidence blockerar rapportskapande, schemaläggning, delning och CSV-export med stabila koder som missing_source_dataset, missing_source_version, missing_freshness, freshness_policy_missing, future_evidence eller stale_evidence.
Pilotstatus och avgränsning
PilotEnterprise-rapportering i v1 är avsedd för design partners. Den skarpa delen är behörighetsstyrning, källbelagd evidence, auditloggade rapportjobb och återanvänd verifierad evidence i scheman.
- Pilotstöd: signalbaserade rapporter, chart-ready evidence-export, schemaläggning från verifierad signal och pilot-readiness i enterprise-capabilities.
- Skarpt i v1: aktiv prenumeration,
reports,enterprise-reports, rätt paket/audience och serverlagrad evidence krävs innan rapporten skapas. - Utanför v1: individdata, elevnamn, personnummer, vendor-specifika skolplattformskopplingar, SSO/SCIM och kundspecifika BI-/SKA-ersättare.
- Narrativ analys: rapporttexten är mallstyrd och källbelagd; v1 skapar inga AI-genererade slutsatser eller rekommendationer.
Enterprise-scheman sparar en serververifierad evidence-snapshot när schemat skapas. Den schemalagda körningen återanvänder snapshoten, men kontrollerar fortfarande att organisationen har aktiv rapporttjänst, enterprise-rapporttjänst och rätt paket/audience. Ett schema kan bara pausas/aktiveras eller byta frekvens; skapa om schemat när signalen, mallen eller källurvalet ska bytas.
Om ett enterprise-schema hoppas över, auditloggas orsaken, till exempel inactive_subscription, missing_reports_entitlement, missing_enterprise_reports_entitlement, audience_not_entitled, missing_source_dataset, missing_source_version, missing_freshness, freshness_policy_missing, future_evidence eller stale_evidence.
Rapportfunktioner används via portalen och interna Pro-endpoints. /api/pro/reports kräver Firebase-inloggning med Authorization: Bearer <idToken> och organisationens Pro-medlemskap; rapporter använder inte API-nycklar. Den publika delningslänken är den enda rapport-endpointen utan inloggning.
Endpoints:
// Rapportjobb:
POST /api/pro/reports/jobs Skapa rapport (asynkront)
GET /api/pro/reports/jobs Lista rapporter (?limit=1-100, standard 20)
GET /api/pro/reports/jobs/{jobId} Hämta status + nedladdningslänk
GET /api/pro/reports/jobs/{jobId}/evidence-export Hämta enterprise-evidence som CSV
POST /api/pro/reports/jobs/{jobId}/archive Arkivera rapportjobb
// Delning:
POST /api/pro/reports/jobs/{jobId}/share Skapa delningslänk
DELETE /api/pro/reports/jobs/{jobId}/share Återkalla delningslänk
GET /api/pro/reports/share/{jobId} Publik nedladdning (org + token som query params)
// Schemaläggning:
POST /api/pro/reports/schedules Skapa schema
GET /api/pro/reports/schedules Lista scheman (max 20)
PATCH /api/pro/reports/schedules/{id} Uppdatera (enabled, frequency)
DELETE /api/pro/reports/schedules/{id} Ta bort schemaExempel: Skapa rapporter
// Skolprofil med rikssnitt och tidsfönster:
POST /api/pro/reports/jobs
{
"reportType": "skolprofil",
"schoolCode": "12345678",
"comparisonLevel": "national",
"kpis": ["meritRating9", "eligibleYR9", "certifiedTeachersPercent"],
"fromYear": 2020,
"toYear": 2025
}
→ 202 {
"jobId": "abc",
"status": "queued",
"reportType": "skolprofil",
"pollUrl": "/api/pro/reports/jobs/abc",
"expectedStates": ["queued", "processing", "done", "failed"],
"firstValue": { "milestone": "first_report_queued", "artifactReady": false }
}
// Trendrapport — jämför tre skolor:
POST /api/pro/reports/jobs
{
"reportType": "trendrapport",
"schoolCodes": ["12345678", "23456789", "34567890"],
"kpis": ["meritRating9", "eligibleYR9"],
"title": "Jämförelse grundskolor Lund",
"fromYear": 2019
}
→ 202 { "jobId": "def", "status": "queued", "reportType": "trendrapport" }
// Enterprise: nämndrapport från serverlagrad signal:
POST /api/pro/reports/jobs
{
"reportType": "municipality_board_report",
"signalId": "signal-demo"
}
→ 202 { "jobId": "ghi", "status": "queued", "reportType": "municipality_board_report" }
// Polla status:
GET /api/pro/reports/jobs/{jobId}
→ { "status": "done", "readyAt": "2026-03-18T09:15:42Z", "result": { "downloadUrl": "https://...", "fileName": "skolkoll-skolprofil-12345678-2026-03-18T09-15-42.pdf", "sizeBytes": 184320, "expiresAt": "2026-03-18T10:15:42Z", "firstValue": { "milestone": "first_report_ready", "artifactReady": true } } }Exempel: Schemaläggning
// Skapa schema — månadsvis kommunöversikt:
POST /api/pro/reports/schedules
{
"reportType": "kommunoversikt",
"municipalityCode": "0180",
"frequency": "monthly"
}
→ 201 { "id": "abc", "enabled": true, "frequency": "monthly", "spec": {...} }
// Skapa enterprise-schema — veckovis nämndrapport från verifierad signal:
POST /api/pro/reports/schedules
{
"reportType": "municipality_board_report",
"signalId": "signal-demo",
"frequency": "weekly"
}
→ 201 { "id": "ent", "enabled": true, "frequency": "weekly", "spec": { "evidenceVerificationMode": "live", "evidenceHash": "..." } }
// Lista alla scheman:
GET /api/pro/reports/schedules
// Pausa/byta frekvens:
PATCH /api/pro/reports/schedules/{id}
{ "enabled": false }
// Ta bort:
DELETE /api/pro/reports/schedules/{id}
→ { "ok": true }Exempel: Dela rapport
// Skapa delningslänk (30 dagar):
POST /api/pro/reports/jobs/{jobId}/share
{ "expiryDays": 30 }
→ { "shareUrl": "/api/pro/reports/share/{jobId}?org=X&token=abc...", "expiresAt": "2026-04-17T...", "expiryDays": 30 }
// Återkalla delningslänk:
DELETE /api/pro/reports/jobs/{jobId}/share
→ { "ok": true }
// Publik nedladdning (ingen autentisering):
GET /api/pro/reports/share/{jobId}?org=X&token=abc...
→ 302 redirect till signerad PDF-URLTillgängliga KPI-nycklar:
| Nyckel | Beskrivning | Enhet |
|---|---|---|
meritRating9 | Meritvärde åk 9 | poäng |
certifiedTeachersPercent | Behöriga lärare | % |
studentsPerTeacher | Elever per lärare | antal |
totalPupils | Antal elever | antal |
eligibleYR9 | Behörighet gymnasiet åk 9 | % |
allSubjectsPassed6 | Godkänd alla ämnen åk 6 | % |
allSubjectsPassed9 | Godkänd alla ämnen åk 9 | % |
npSVE9 | Nationellt prov svenska åk 9 | poäng |
npMA9 | Nationellt prov matematik åk 9 | poäng |
npENG9 | Nationellt prov engelska åk 9 | poäng |
examWithin3Years | Gymnasieexamen inom 3 år | % |
eligibleHigherEd | Behörighet till högskola | % |
preschoolPedagogicalHigherEducationPercent | Andel med pedagogisk högskoleutbildning (förskola) | % |
preschoolChildrenPerFTE | Barn per årsarbetare (förskola) | antal |
certifiedTeachersPercent och studentsPerTeacher har värden för enheter med grundskola eller gymnasieskola. En förskoleenhet utan grundskola eller gymnasieskola har i stället värden under de två förskolenycklarna. För en sådan förskoleenhet avser totalPupils inskrivna barn, och i en skolprofil ger en begärd lärarnyckel förskolans motsvarande personalmått.
Parametrar:
| Parameter | Gäller | Beskrivning |
|---|---|---|
reportType | Alla | Obligatorisk: skolprofil, kommunoversikt, huvudmannarapport, trendrapport eller en aktiverad enterprise-mall. |
schoolCode | Skolprofil | Skolenhetskod (8 siffror) |
municipalityCode | Kommunöversikt | Kommunkod (4 siffror) |
organizerOrgNr | Huvudmannarapport | Organisationsnummer |
schoolCodes[] | Trendrapport | Lista skolenhetskoder (max 20) |
municipalityCodes[] | Trendrapport | Lista kommunkoder (max 20) |
kpis[] | Alla | Obligatorisk för trendrapport. Valfri för övriga. Max 10 st. |
fromYear / toYear | Alla | Startår/slutår för trenddata (heltal 2000-2100) |
comparisonLevel | Skolprofil | "municipality" (standard) eller "national" |
title | Trendrapport | Valfri rubrik, max 200 tecken |
signalId | Enterprise | Rekommenderad källreferens. Signalens audience måste matcha enterprise-mallens audience. |
evidenceRefs[] | Enterprise API | Valfritt API-spår för serverlagrad evidence. Varje ref måste innehålla customerDataId eller signalId; fri klient-evidence avvisas. |
frequency | Scheman | weekly, monthly eller quarterly |
format | Evidence-export | csv eller chart-ready. |
expiryDays | Delning | 1-90 dagar, standard 30 |
Detaljer:
Jobbstatus: queued → processing → done | failed. Vid done inkluderas result med downloadUrl, fileName, sizeBytes, storagePath och expiresAt. Nedladdningslänken förnyas vid varje anrop (1 timmes giltighet).
Enterprise evidence: API:et sparar evidenceRefs, evidenceManifest, evidenceHash, evidenceVerifiedAt och evidenceVerificationMode i jobbets eller schemats spec. Schemalagda enterprise-körningar återanvänder redan verifierad evidence med reused_verified.
Enterprise-scheman: PATCH /api/pro/reports/schedules/{id} accepterar bara enabled och frequency. Specen är immutabel efter skapande; radera och skapa ett nytt schema för ny signalId, nya evidenceRefs[], annan mall eller annan audience.
Delning: Token genereras med 32 bytes crypto randomBytes. Publik nedladdning (GET /share/:jobId) kräver org och token som query-parametrar. Utgångna delningslänkar returnerar 410 Gone.
Felkoder:
| Kod | Betydelse |
|---|---|
400 | Valideringsfel — saknad identifierare, ogiltigt reportType, fromYear > toYear, kpis[] saknas (trendrapport), max 10 KPIs överskridet, max 20 enheter överskridet, max 10 scheman överskridet, enterprise-rapport utan signalId/evidenceRefs[], fri klient-evidence eller audience-mismatch |
403 | Saknar rapporter-behörighet, enterprise-rapporter-behörighet, rapporter-tjänsten, enterprise-rapporttjänsten eller rätt paket/audience. Ogiltig share-token. |
404 | Jobb/schema/signal/evidence hittades inte, organisation saknas, ingen delningslänk existerar |
410 | Delningslänk har gått ut eller rapportfilen har raderats |
Begränsningar:
- Max 20 enheter per trendrapport
- Max 10 KPI:er per rapport
- Max 10 scheman per organisation
- Rapportfilen kan hämtas så länge den finns kvar och åtkomsten är giltig; spara en egen kopia vid behov
- Nedladdningslänkar har 1 timmes giltighet och förnyas automatiskt
- Delningslänkar: max 90 dagars utgång, standard 30 dagar
- Benchmark-PDF:er skapas via Benchmark-export, inte via rapporternas API
- Enterprise-rapporter är mallstyrda och källbelagda; ingen AI-genererad slutsatstext ingår i v1
- Enterprise-scheman återanvänder den evidence-snapshot som verifierades när schemat skapades
Har du frågor? Mejla info@skolspegeln.se. Frågor hanteras manuellt via e-post.