Skip to main content

landlaeknir

Directorate of Health (landlæknir) — ~30 Power BI dashboards: mortality, medication, healthcare, infectious disease; Talnabrunnur PDFs.

Quellinformationen

Repository
jokull/icelandic-data
Letzte Quellaktivität
10. September 2026 um 15:02
Erkannte Sprache von SKILL.md
Englisch
Sterne
54
Forks
4

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
landlaeknir
description
Directorate of Health (landlæknir) — ~30 Power BI dashboards: mortality, medication, healthcare, infectious disease; Talnabrunnur PDFs.
# Landlæknir — Directorate of Health (Embætti landlæknis) **Requires:** Tier 2 (browser) — Power BI dashboards need Chromium: `uv run playwright install chromium`. Health statistics for Iceland: mortality, medication use, healthcare services, workforce, infectious disease surveillance, and public health indicators. Primary portal is **Mælaborð embættis landlæknis** (~30 Power BI dashboards); secondary is **Talnabrunnur**, a PDF newsletter series (2007–present). Listed by the Hagtalnanefnd report (March 2026) as one of four other European-statistics producers for Iceland (alongside Seðlabanki, Ríkislögreglustjóri, Samgöngustofa). Produces European health statistics under regulation (EC) No 1338/2008. ## Landing pages | Portal | URL | Format | |--------|-----|--------| | Mælaborð (dashboard index) | `https://island.is/maelabord` | HTML index → Power BI embeds | | Talnabrunnur (newsletter archive) | `https://island.is/talnabrunnur` | PDF index, 2007–present | | Tölfræði og rannsóknir (hub) | `https://island.is/tolfraedi-og-rannsoknir` | HTML | Note: `landlaeknir.is/*` URLs now 301-redirect to `island.is/*`. Use the `island.is` canonical form. ## Mælaborð catalog (~30 dashboards, all Power BI) All share tenant ID `4d762ac0-6205-42ce-b964-c3b8958fd4a9`. Embed URL form: `https://app.powerbi.com/view?r=<base64-encoded {"k":report_key,"t":tenant,"c":8}>` ### Lýðheilsa (Public Health) | Name | Report key | Subject | |------|-----------|---------| | Lýðheilsuvaktin | `e96fb72e-64c7-40b9-b413-9880b6d3ebb6` | Monitoring of selected health determinants | | Lýðheilsuvísar | `b844ee2b-a5ac-47e3-8c32-fd4c9260a7b3` | Public health indicators by region | | Reykingar | `8a8c91a6-8baa-4a92-91f7-c8bbb09a61cf` | Smoking habits by gender and age | ### Lyfjanotkun (Medication Usage) | Name | Report key | Subject | |------|-----------|---------| | Lyfjanotkun | `91dbfdc1-b502-412d-b5b9-ed9195d13cc5` | All drug prescriptions by ATC, gender, age | | ADHD-lyfja | `5964b5b1-e090-4295-876a-16d7818f5d89` | ADHD medication | | Þunglyndislyfja | `da30ebd3-fdb3-4f61-85b2-c0eaf2475816` | Antidepressants | | Ópíóíða | `7de4f8d0-1d91-4e36-9ada-d708069663be` | Opioids | | Svefnlyfja og slævandi lyfja | `4c04de98-4ba9-499e-9de2-28e1169ca81f` | Sleep & sedatives | | Sýklalyfja | `8ab229cd-6dc2-41b5-b472-b2e9bd62dcdf` | Antibiotics (outpatient) | ### Dánarorsakir (Mortality) | Name | Report key | Subject | |------|-----------|---------| | Mortis | `9762f31f-75d5-44a0-84f4-2748ada887a5` | Mortality by cause, gender, age | | Umframdánartíðni | `8434975c-221d-4cf8-be41-b3a018a341c8` | Excess mortality by period | | Sjálfsvíg | `7099a77d-3bcb-4ecc-b3ad-555816b6d199` | Suicide by gender and age | | Lyfjatengd andlát | `4b1b3b1f-627a-4b65-9088-35a5be7a0d80` | Drug-related deaths | ### Heilbrigðisstarfsfólk (Healthcare Workforce) | Name | Report key | Subject | |------|-----------|---------| | Mannafli í heilbrigðisþjónustu | `100a2e7c-8e70-4f4d-8931-3a18f7743b54` | Workforce counts, specialty | ### Heilbrigðisþjónusta (Healthcare Services) | Name | Report key | Subject | |------|-----------|---------| | Lykilvísar heilbrigðisþjónustu | `3c7aff7a-d011-49c0-999b-42e8572b333d` | Key indicators + Nordic comparison | | Starfsemi sjúkrahúsa | `d397920c-ceeb-461e-8e5a-31637e0dfe2e` | Hospital admissions, length of stay | | Samskipti við heilsugæslu | `aaa2dbb1-509c-4440-a487-9f9b17f74d04` | Primary care contacts | | Skimun fyrir krabbameini | `695fcc55-c9cf-48f9-8dea-05114188eacd` | Cancer screening participation | | Bið eftir skurðaðgerðum | `de0dd7d1-f6e8-4952-9dad-12f6d011338a` | Surgery waitlists | | Liðskiptaaðgerðir | `66d4f15b-d403-41fb-9f46-11643f02f9ee` | Joint replacement procedures | | Bið eftir hjúkrunarrými | `f78159f5-1187-49eb-9b21-c3240b96659c` | Nursing-home waitlists | | Gæði þjónustu á hjúkrunarheimilum | `7280e4c3-e418-45e7-8109-c52c9da328f7` | InterRAI quality indicators | | Tannheilsa barna | `9b56cbba-0997-47cb-819d-c4ad88c09083` | Children's dental health | | Alvarleg atvik | `288bcc93-e451-4227-855e-f517c45d8523` | Serious healthcare incidents | | Kvartanir | `6437ece5-4086-430e-9a6c-25e92c3f0cfd` | Patient complaints | | Rekstur heilbrigðisþjónustu | `2b14022e-6e9a-4f31-a2e2-1ba08b7b9775` | Service operation notifications | | DRG mælaborð | `7da1376f-51a7-4129-83dd-47e1d68ad45b` | Diagnosis-related groups (hospital costs) | | ACG mælaborð | `f95fc235-5913-45a9-bd1a-c052c3f465b1` | Adjusted Clinical Groups (disease burden) | ### Sóttvarnir (Infectious Disease Control) | Name | Report key | Subject | |------|-----------|---------| | Árlegur fjöldi smitsjúkdóma | `cd829644-4051-4a71-9571-e0ed60157d3b` | Annual notifiable disease counts | | Lekandi, klamydía og sárasótt | `53f7eba1-f7bf-42dd-acad-9b4fa068cbd2` | STI diagnoses | | Öndunarfærasýkingar | `f829b4c8-63dd-4cd3-9e37-1b1101e8e02d` | COVID-19, influenza, RSV surveillance | | Veirugreiningar | `656ffb3f-8a7f-4746-b921-4f6e364754ce` | Lab viral diagnostics | | Þátttaka í bólusetningum barna | `608e169f-867c-4b00-9224-925e92b6a247` | Child vaccination uptake | ## Embed-URL reconstruction ```python import base64, json TENANT = "4d762ac0-6205-42ce-b964-c3b8958fd4a9" def embed_url(report_key: str) -> str: payload = {"k": report_key, "t": TENANT, "c": 8} token = base64.b64encode(json.dumps(payload, separators=(",", ":")).encode()).decode().rstrip("=") return f"https://app.powerbi.com/view?r={token}" ``` ## Extraction method Same Playwright-intercept pattern as [ferdamalastofa](../ferdamalastofa/SKILL.md), [samgongustofa](../samgongustofa/SKILL.md), and [maelabord_landbunadarins](../maelabord-landbunadarins/SKILL.md): ```python import asyncio from playwright.async_api import async_playwright async def scrape_report(url: str) -> list[dict]: async with async_playwright() as p: browser = await p.chromium.launch(headless=True) page = await browser.new_page() results = [] async def on_response(r): if "querydata" in r.url.lower() or "executeQueries" in r.url.lower(): if r.status == 200: try: results.append(await r.json()) except Exception: pass page.on("response", on_response) await page.goto(url, wait_until="networkidle", timeout=60000) await asyncio.sleep(10) await browser.close() return results ``` These are public `/view?r=...` URLs — no auth or embed-token refresh needed. ## Talnabrunnur (newsletter archive) PDF index at `https://island.is/talnabrunnur`. Each issue is one PDF, 2007–present, usually covering one or two topics in detail. No API. Useful as **context** for dashboards (methodology, definitions, caveats) rather than as a data source. ## Script Usage ```bash # Enumerate all dashboards (prints the catalog) uv run python scripts/landlaeknir.py list # Scrape one dashboard by slug (saves Power BI query responses to data/raw/landlaeknir/) uv run python scripts/landlaeknir.py fetch --slug mortis uv run python scripts/landlaeknir.py fetch --slug syklalyfja # Scrape all dashboards (slow — ~30 × ~15s each) uv run python scripts/landlaeknir.py fetch --all ``` ## Data Files | Path | Format | Description | |------|--------|-------------| | `data/raw/landlaeknir/{slug}.json` | JSON | Raw Power BI `executeQueries` responses for one dashboard | | `data/processed/landlaeknir_catalog.csv` | CSV | Catalog of slugs, names, report keys, categories (from `list`) | ## Caveats 1. **Power BI structure is volatile.** Query response shape can change without notice. Do not hard-code column indices — inspect the `descriptor.Select` array per response. 2. **Suppression on small counts.** Dánarorsakir, Sjálfsvíg, Lyfjatengd andlát suppress cells where N is below a privacy threshold (typically ≤4 people). Treat missing cells as "suppressed", not zero. 3. **Excess mortality uses a rolling baseline.** The Umframdánartíðni baseline changes as new years shift in. Snapshot the response JSON, not just the delta, to preserve comparability. 4. **Nordic-comparison tables lag.** Lykilvísar heilbrigðisþjónustu compares against NOMESCO data which updates annually with a ~2-year lag. 5. **Antibiotic data excludes inpatients.** Sýklalyfja covers outpatient prescriptions only. Hospital antibiotic use is in a separate (non-public) dataset. 6. **Overlaps with Hagstofa for mortality.** Hagstofa publishes cause-of-death and life-expectancy series from the same underlying dánarmeinaskrá. Mortis has higher temporal granularity; Hagstofa has cleaner methodology docs. 7. **URL 301 redirect.** `www.landlaeknir.is/*` → `island.is/*`. Use the latter directly. 8. **Talnabrunnur is PDFs only** — no structured data, no API. 9. **Encoding.** Power BI responses are UTF-8 throughout (Icelandic chars þ, ð, æ, ö, í, ó, ú in dimension labels and ATC drug names). Write JSON with `ensure_ascii=False` and read with `encoding="utf-8"`. ## Complementary sources | Source | Overlap | |--------|---------| | [hagstofan](../hagstofan/SKILL.md) | Cause of death (HEI02000), life expectancy, health status survey | | [loftgaedi](../loftgaedi/SKILL.md) | Air-quality → respiratory health link | | Eurostat (external) | Regulation 1338/2008 health stats (Landlæknir submits these) | | OECD Health Statistics (external) | Nordic/OECD benchmarks used on Lykilvísar |
Auf GitHub ansehen