factis research develops software products for the health care and social services market. We also contribute to various open source projects. Last not least, we write for the blog Funktionale Programmierung and are co-organizers of the BOB conference.

Checkpad MED

Checkpad MED is an electronic health record for the iPad. It provides doctors mobile access to all relevant medical information such as images, letters, surgery reports, and patient data. The Checkpad MED product consists of an iPad application and several server components for data synchronization and import. The design and development of Checkpad MED is joint effort of factis research and Lohmann & Birkner Health Care Consulting GmbH.

Open Source Projects

factis research puts an emphasis on open standards and open source solutions. Hence, we publish many of our internal projects as open source software.


HTF (Haskell Test Framework) is a test framework that allows the definition of unit tests, QuickCheck properties, and shell-based tests in a uniform and convenient way. HTF uses a custom preprocessor that collects test definitions automatically. Furthermore, the preprocessor allows HTF to report failing test cases with exact file name and line number information. The source code is available, a blog article documents the main features of HTF.


Dockercook builds and manages multiple docker images to speed up deployment. The software is available from github.


Roundtrip allows the definition of bidirectional (de-)serialization specifications. The specification is succinct, bidirectional, and supports extensibility with respect to the output format (e.g. plain text, XML, HL7, or HTTP). Further, the programmer retains full control over the serialization format and the shape of the data types being serialized.

There are implementations of roundtrip for Haskell and Scala. The Haskell version consists of three packages: roundtrip (Hackage, github), roundtrip-string (Hackage, github) und roundtrip-xml (Hackage, github). The Scala version is still under development and only avaible in source form.


xmlgen is a Haskell library for high-performance XML generation. Its source code is available on github, see this blog article for further documentation.


DPM (Darcs Patch Manager) is a tool that simplifies working with the revision control system darcs. It is most effective when used in an environment where developers do not push their patches directly to the main repository but where patches undergo a reviewing process before they are actually applied. To simplify patch reviewing, DPM also provides an integration for the reviewing tool rietveld. Source code is available,