Health and Social Care Data Platform for a Finnish Wellbeing Services County
Designed and built a clickable data platform console for a bilingual Finnish wellbeing services county: nightly pipelines that pseudonymise patient, lab, imaging, social care and finance data, leadership dashboards built only from aggregates, and a research request desk that ties every project to its data permit.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Platform home, leadership overview, pipelines with run details, the research request desk and a request detail with 7 tabs, from permit and data specification to outputs and messages.
25 nightly pipelines across ingest, pseudonymise, model and marts, drawn against the 06:00 freshness deadline. When an ingest fails, the steps that depend on it are skipped and shown as such.
Care guarantee waits, primary care T3, bed occupancy, 30-day readmissions and patients waiting for further care placement, each with its target, trend and 13 months of history, from aggregated marts only.
14 research data requests across all 10 statuses, with Findata and county permits, plus 12 source systems, 25 pipelines, 7 quality issues and 13 staff users.
When Harjuvaara was formed in 2023 it inherited the reporting of eleven former municipalities and a hospital district, each with its own spreadsheets, its own idea of a waiting time and its own way of counting a bed day. Leadership got three different readmission figures in the same week, analysts joined row-level extracts with personal identity codes on laptops the data protection officer could not audit, and research requests arrived by email and took months.
Kaivo gives the county one pseudonymised copy of its health and social care data with no direct identifiers in the analytics zone, one set of metric definitions with named owners, access that depends on the purpose of use, and a single audited route for research data in and results out.
Harjuvaara runs two hospitals, 14 health centres and its own social care for about 210,000 residents. Its data is special category personal data, and Finnish law decides who may use it, for which purpose, under which permit and in what environment.
Under the Act on the Secondary Use of Health and Social Data, the county may generally use its own data for its own knowledge management, while research, development and innovation generally need a data permit. The product has to know the purpose behind every access and every project.
Findata grants permits when data comes from several controllers, private providers or Kanta; when only the county's own data is used, the county as controller may in some cases decide the permit itself. Project access must stay inside the permitted data, purpose and validity.
Under GDPR, pseudonymised data is still personal data. Only aggregates that pass disclosure control count as anonymous, so permitted data stays in a secure processing environment and every query, export request and key operation must be logged.
Waiting times, bed days and readmissions were counted differently across the old organisations, and the care guarantee limits in the Health Care Act have changed more than once. Leadership needs one definition per measure, with an owner and dated rule versions.
Mapped 12 roles, from data platform engineers, data stewards and key custodians to output checkers and researchers, and 39 screens across the staff console and a researcher portal. Designed the data model for sources, pipelines, an OMOP CDM v5.4 conformed layer, a bilingual catalogue, versioned metrics, quality rules, pseudonym domains and keys, purposes of use, access grants, permits, workspaces and output requests, and wrote down the rules it follows: the Secondary Use Act, Findata permits, GDPR, client data logging, the care guarantee and the coming EHDS.
Built 5 key screens on a production dashboard kit: the platform home with source status, role-based work lists and items needing attention, the leadership overview with filters and a definition behind every figure, pipelines with last night's load window and re-run or pause actions, the request desk with status counts and a new request sheet, and the request detail whose actions move a request along on local state.
Feeds from Lifecare, Apotti or Uranus patient records, social care records, the laboratory system, Sectra RIS/PACS and SAP S/4HANA into Snowflake or Azure Databricks in the EU, with Airflow and dbt, HSM-held pseudonymisation keys, Entra ID for staff and Suomi.fi identification for researchers. Plus the remaining screens: catalogue, quality, pseudonymisation and two-custodian key management, access reviews, the secure workspace, output checking, the append-only audit log and the researcher portal, in Finnish and Swedish.
The top bar shows the environment, the pseudonymised zone and the purpose the user is working under, with a switcher limited to the purposes they hold a grant for, such as knowledge management, statistics or one permitted research project.
Dashboards read only aggregated marts and carry a freshness line, a target and a metric definition. Known quality issues appear as data notes beside the figures they affect, such as a missing discharge date that may understate a readmission rate.
Home shows how many sources loaded inside their window, and failed or late feeds go straight to Needs attention. In pipelines, a failed run states its error and its last 7 nights, the steps that depend on it show as skipped, and it can be re-run from the failed step.
Each request shows its permitting body, permit reference and validity, and a progress rail from submission to closure. Workspace members need strong identification and signed user terms before access, and requests for row-level export are rejected with the reason.

Designed and built a clickable patient data hub for a US health system running Epic, Oracle Health, athenahealth and eClinicalWorks: a live monitor for every HL7 v2, FHIR and HIE feed, one matched enterprise patient with a provenance-tagged record, and a duplicates queue where a person decides every uncertain match.

Designed and built a clickable consent platform for a four-campus Belgian hospital network: one record per patient for eHealth sharing, hub publication, research, biobank and newsletter consent, kept in step with the national eHealth record, with access log review for the DPO and a sync console for the hubs and the metahub.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab