Neovim and .NET

Just before I went on summer vacation, I spent the last week writing .NET code in Neovim. In the 0.5 release of Neovim they’ve added native support for the Language Server Protocol (LSP), which means that you can get go-to-definition, find-references, completion, and other neat features directly in Neovim. I’m not a big fan of big clunky IDEs such as Visual Studio, so returning to vim as my daily driver has been on my wish list ever since I started at my current job.

Bachelor Students 2021

This spring I’ve been fortunate to advise two student groups in computer science at UiT The Arctic University of Norway in Bodø. There’s already a news post in Norwegian about this year’s students on the DIPS website (in Norwegian), but I wanted to go into a bit more detail on what they worked on. Last year I had a group of four students, who worked on machine learning with electronic health record data at DIPS.

Synthetic Patient Data

When we’re developing software systems, it’s useful to fill them with data to illustrate and test how they work. For example, to show that the online store we are developing works as expected, we fill it up with products that we can purchase. Likewise, when we’re developing electronic health record (EHR) systems, it’s useful to fill them up with patient data. While we can use real products to fill online stores, we cannot fill the EHR system we are developing with real patient data.

Personal ECGs with the Withings Move ECG

Last week I got hold of the Withings Move ECG, an analog smart watch that can record electrocardiograms (ECGs). While recording ECGs has been available on the Apple Watches, Withings is the only company that has easily opened up the raw ECG data through their API. There are rumors that Apple will allow 3rd party developers to read the raw ECG data in iOS 14. Withings on the other hand has included raw ECG data in their API since October 2019.

.NET Core tools and Github Actions

TL;DR .NET Core tools are a great way of developing small platform-independent command line tools with C# and .NET. Github Actions are really great for automating the whole process of building, and publishing these tools. Introduction Recently I have been switching a lot between Powershell on Windows and bash in Ubuntu in WSL to get some of our openEHR components in .NET running on Linux. Since I was switching back and forth between the different shells, there were times when I wished I had access to the same tools in both shells.

Open-sourcing openEHR packages

This spring I have adviced a group of four bachelor students in computer science from UiT campus Bodø. The team has worked on machine learning on openEHR data, and as a result have produced a lot of great software. Two of the packages the team has developed on are openehR and openehpy. These are packages for retrieving data from an openEHR server through its openEHR REST API. Both packages get data from an openEHR REST API, and you can use the pacakges to get data from any system that implements the API.

Analyzing COVID-19 data at DIPS

A couple of weeks ago I published a post on how we enable data science at DIPS, which told the story on how we can get data from our openEHR server in the R programming language. To make things even more interesting, this post will show how we can get screening symptoms from COVID-19 patients registered in our openEHR Server in DIPS Arena. With this data we can create reports with R Markdown, beautiful Shiny dashboards, and open up for researchers to explore and analyze the data in their own environment.


In Bodø I help organize local the coding club. Because of the covid-19 situation we are hosting the club on Discord, rather than in person at the public library in Bodø. This afternoon the participants were working fairly idependent, so I had some time to sit down some more with p5.js. p5.js is a great Javascript library for creating visual content in the web browser, e.g. animations, games, art etc. In short a p5.

Enabling Data Science in DIPS

At DIPS we are currently productionizing our new electronic health record (EHR) system, DIPS Arena. With DIPS Arena we have made the move to store structured clinical data with openEHR. openEHR is an open technology for e-health systems that help different vendors to build interoperable systems for healthcare. In other words, it helps define the different clinical concepts, e.g. blood pressures, body temperatures etc, how we can represent them, and how we can retrieve them from systems that implement an openEHR API.

Soltimer Påsken 2020

Meteorologene på twitter skrev en tweet om hvor mange soltimer det hadde vært i påska. Av bildet kan det se ut som om solene er skalert opp og ned basert på antall soltimer. Selv om Oslo har nesten 7 ganger så mange soltimer som Tromsø, virker det ikke som om at størrelsen på solene reflekterer dette. Her er et eksempel på hvordan man kunne lagd en lignende visualisering i R