Kompetenzen

Die Arbeit von factis research ruht auf drei wichtigen Pfeilern: hohe technologische Kompetenz, detaillierte Kentnisse der Anwenderdomäne und ein agiler Entwicklungsprozess.

Technologien

Unser breites Wissen in allen Bereichen der Softwareentwicklung ist die Grundlage für erfolgreiche Arbeit. Schwerpunkte unserer technischen Expertise liegen in den Gebieten Programmiersprachen, Betriebssysteme, Netzwerke und Datenbanken. In unserer täglichen Arbeit setzen wir Technologien ein, die es uns erlauben robuste, performante und fehlerfreie Software in kurzer Zeit zu realisieren. Dabei legen wir ein besonderes Augenmerk auf offene Standards und Open Source Lösungen.

Haskell

Der Synchronisationsserver unseres Produkts Checkpad MED ist in der funktionalen Programmiersprache Haskell geschrieben, da Haskell hohe Typsicherheit sowie sehr gute Unterstützung zur Realisierung nebenläufiger Programme bietet.

Scala / DICOM / HL7

Ebenfalls im Rahmen von Checkpad MED benutzen wir die funktional und objekt-orientierte Sprache Scala um Daten aus verschiedenen Krankenhaussystemen abzugreifen und aufzubereiten. Scala eignet sich hier besonders gut, da die Sprache zum einen hohe Ausdruckskraft und Typsicherheit bietet, zum anderen aber auch die nahtlose Integration von Java Komponenten ermöglicht, was den Einsatz externer Java Bibliotheken zur Realisierung von DICOM oder HL7 Schnittstellen möglich macht.

Objective-C / iOS

Die iPad Anwendung für Checkpad MED ist selbstverständlich in Objective-C geschrieben.

Java / J2ME / Android / Symbian / Series 40 / Blackberry

Die Handyanwendung unseres Produkts factis ist mit Java und J2ME realisiert, da diese Platform einen hohen Grad an Portabilität bietet. So läuft factis fast unverändert auf Android, Symbian, Series 40 und Blackberry.

Python / PostgreSQL / XML / XSLT / Apache

Das Webfrontend für factis ist als Pipeline realisiert, welche die Daten aus einer PostgreSQL Datenbank holt und über XML und XSLT in eine Webseite transformiert. Als Middleware setzen wir dazu ein selbstentwickeltes Python Framework ein, welches auf einem Apache Webserver aufsetzt.

Linux

Als Betriebssysteme für unsere Server setzen wir die Linux Distributionen Ubuntu Server sowie Gentoo ein, da Linux quelloffenheit mit Skalierbarkeit und Anpassbarkeit vereint.

Domänenwissen

Nur mit technischer Kompetenz lässt sich noch keine gute Software entwickeln. Dazu bedarf es auch viel Wissen und ein gutes Gespür, welche Probleme mit der Software gelöst werden sollen und wie die Arbeitsabläufe in der Anwendungsdomäne sind. Wir haben daher über viele Jahre hinweg Erfahrungen und umfangsreiches Wissen im Gesundheitswesen gesammelt. Unsere Schwerpunkte sind hierbei Prozess- und Qualitätsmanagement im Krankenhaus und in der Pflege, also dort wo unsere beiden Hauptprodukte factis und Checkpad MED angesiedelt sind.

Entwicklungsprozess

Gute Software kann nur dann entstehen, wenn die Entwickler sich mit der Software identifizieren und Spaß daran haben, die Software zu entwerfen, zu entwickeln und zu testen. Daher ist bei uns jeder Entwickler in alle Schritte der Produktentwicklung bzw. eines Projekts eingebunden und kann seine eigene Vorschläge einbringen und umsetzen. Als Vorgehensmodell bei der Entwicklung setzen wir vor allem auf die Scrum Methodik, da wir damit den sich häufig schnell ändernden Anforderungen gerecht werden können und wir ganz allgemein die Werte der agilen Softwareentwicklung teilen:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan