Rapporter — Dokumentation

Rapporter med nyckeltal, diagram och spårbara källor.

Rapporter — Professionella PDF-rapporter

Skapa en rapport

Portal

Rapporter skapar professionella PDF:er med nyckeltal, tabeller och diagram som du kan ladda ner, skriva ut eller dela med kollegor och beslutsfattare.

1

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.

Rapporter
SkolprofilDjupanalys av en skola
KommunöversiktAlla skolor i en kommun
HuvudmannarapportSkolor under en huvudman
TrendrapportJämför utveckling över tid
2

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.

Skolprofil
Skolenhetskod12345678
JämförelsenivåKommunsnitt
Från år2020
Till år2025
Skapa rapport
3

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.

Dina rapporter
RapportTypStatusÅtgärd
Testskolan — SkolprofilSkolprofilKlarLadda ner Dela

Fyra standardrapporter

Portal

Varje 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

Portal

Fö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.

  1. Utse rapportansvarig och sakgranskare bland organisationens behöriga användare. Ange användningsändamål och välj mottagare.
  2. 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.
  3. Spara och lämna versionen till sakgranskaren. Sakgranskaren kan begära rättelser eller godkänna exakt den förhandsvisade versionen.
  4. 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

Portal

Innan 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.

Portal

Under "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

Portal

Fö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

API
Visa API-dokumentation

Enterprise-rapporter och evidence

Portal

Enterprise-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_report och principal_dialogue_brief — nämndrapport eller rektorsdialog från signaler.
  • Koncern: group_quarterly_report och media_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

Pilot

Enterprise-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 schema

Exempel: 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-URL

Tillgängliga KPI-nycklar:

NyckelBeskrivningEnhet
meritRating9Meritvärde åk 9poäng
certifiedTeachersPercentBehöriga lärare%
studentsPerTeacherElever per lärareantal
totalPupilsAntal eleverantal
eligibleYR9Behörighet gymnasiet åk 9%
allSubjectsPassed6Godkänd alla ämnen åk 6%
allSubjectsPassed9Godkänd alla ämnen åk 9%
npSVE9Nationellt prov svenska åk 9poäng
npMA9Nationellt prov matematik åk 9poäng
npENG9Nationellt prov engelska åk 9poäng
examWithin3YearsGymnasieexamen inom 3 år%
eligibleHigherEdBehörighet till högskola%
preschoolPedagogicalHigherEducationPercentAndel med pedagogisk högskoleutbildning (förskola)%
preschoolChildrenPerFTEBarn 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:

ParameterGällerBeskrivning
reportTypeAllaObligatorisk: skolprofil, kommunoversikt, huvudmannarapport, trendrapport eller en aktiverad enterprise-mall.
schoolCodeSkolprofilSkolenhetskod (8 siffror)
municipalityCodeKommunöversiktKommunkod (4 siffror)
organizerOrgNrHuvudmannarapportOrganisationsnummer
schoolCodes[]TrendrapportLista skolenhetskoder (max 20)
municipalityCodes[]TrendrapportLista kommunkoder (max 20)
kpis[]AllaObligatorisk för trendrapport. Valfri för övriga. Max 10 st.
fromYear / toYearAllaStartår/slutår för trenddata (heltal 2000-2100)
comparisonLevelSkolprofil"municipality" (standard) eller "national"
titleTrendrapportValfri rubrik, max 200 tecken
signalIdEnterpriseRekommenderad källreferens. Signalens audience måste matcha enterprise-mallens audience.
evidenceRefs[]Enterprise APIValfritt API-spår för serverlagrad evidence. Varje ref måste innehålla customerDataId eller signalId; fri klient-evidence avvisas.
frequencySchemanweekly, monthly eller quarterly
formatEvidence-exportcsv eller chart-ready.
expiryDaysDelning1-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:

KodBetydelse
400Valideringsfel — 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
403Saknar rapporter-behörighet, enterprise-rapporter-behörighet, rapporter-tjänsten, enterprise-rapporttjänsten eller rätt paket/audience. Ogiltig share-token.
404Jobb/schema/signal/evidence hittades inte, organisation saknas, ingen delningslänk existerar
410Delningslä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.