PLATZH1RSCHopenEHR & clinical data tooling
— and a few side quests

Scroll

00 / About

Hi, I'm Chris

Web division lead at Cistec AG, based in Zürich.

Most of my work sits between a health data standard and the people who have to implement it: SDKs, desktop tools and reference systems that make openEHR approachable instead of intimidating. The projects here are built in the open, and usually written about afterwards.

When I'm not doing that, I'm on the mats — which is how one of the projects below came to exist.

01 / Open source

oehrpy

openEHR, the Pythonic way

A Python SDK for openEHR. Type-safe Reference Model classes, template builders, an async EHRBase client and a fluent AQL query builder — so nobody has to hand-assemble deeply nested composition JSON ever again.

  • 134 Pydantic models covering openEHR RM 1.1.0
  • OPT parser and code generator
  • FLAT format support for EHRBase 2.26+
  • AQL query builder with a fluent API

Python 3.10+ · Pydantic v2 · async/await

02 / Open source

openEHR Explorer

Browse, query and inspect any openEHR CDR — no curl required.

A cross-platform desktop client for openEHR Clinical Data Repositories. Connect to any CDR, walk through EHRs and compositions, run AQL against them, and watch every HTTP request the app makes while you do it.

  • Template-aware composition viewer: pretty, raw JSON and FLAT
  • AQL runner with three-layer autocomplete and CSV export
  • Web Template browser with OPT XML inspection
  • macOS, Windows and Linux — Homebrew and Scoop included

Tauri · Rust · Vue 3 · TypeScript · Apache-2.0

03 / Open source

Open CIS

A minimal clinical information system on openEHR.

A small but complete CIS built on openEHR and EHRBase, developed in the open as a learning platform — and documented step by step in an article series as it grows.

  • Patient management UI
  • FastAPI + Pydantic REST API, Swagger and ReDoc
  • EHRBase as the clinical data repository
  • Docker Compose setup with a live staging environment

Vue 3 · FastAPI · EHRBase · PostgreSQL · Docker

04 / Product

BJJ Video Analyzer

Analyze techniques, explore positions, improve your game.

AI-assisted video analysis for Brazilian Jiu-Jitsu. Upload a roll and get transcription, frame analysis and pose detection, backed by a searchable library of positions, phases and mechanics.

  • Pose detection and technique identification
  • Technique library with Japanese terminology and pronunciation
  • Share videos and analyse them with training partners
  • MCP integration for Claude, Cursor and VS Code

Free trial · no signup required

05 / Side quest

Pacman Canvas

An old classic, re-written in HTML5.

The reason this site has been pixel green since 2012. A full Pac-Man in HTML5 canvas — ghost AI with scatter and chase modes, ten levels, highscores, swipe controls — and still the most-forked thing I have ever written.

  • Ghost AI with scatter/chase modes and pathfinding
  • Ten levels, power-ups and beast mode
  • Keyboard, touch and swipe controls
  • 351 stars and 553 forks on GitHub

JavaScript · HTML5 Canvas · Node/Express · SQLite

06 / Writing

Writing

Notes from building things.

I write up what I learn while building — openEHR and clinical data modelling, GraphQL federation, and the gap between a specification and a working system.

  • Building Open CIS

    Six parts on building a minimal clinical information system on openEHR: the clinical modelling stack, template formats, architecture decisions and the SDK landscape.

    122b345

  • Path to GraphQL Supergraph

    Three parts so far on the road to a federated supergraph: the current state, usage reporting with GraphQL Hive, and moving from Hive to WunderGraph Cosmo.

    123

  • All articles

    Everything else on Medium — @platzh1rsch.

07 / Contact

Get in touch

Happy to talk openEHR, tooling or jiu-jitsu.