// the find
jefrisibarani/tobasa-cpp
Tobasa C++ Library - Web Server, SQL Abstraction, Laboratory Information System (LIS)
Tobasa is a modular C++ framework for building web-service applications, covering HTTP/WebSocket transport, SQL abstraction over SQLite/MySQL/Postgres/MSSQL, and — unusually — LIS protocol support (LIS2-A2/ASTM and HL7) for laboratory instrument integration. It's aimed at developers building backend services in C++, particularly in medical/clinical settings where HL7 and ASTM instrument communication is required alongside a REST API. The combination in one framework is rare.
The LIS module is the standout: ASTM/LIS2-A2 and HL7 support with TCP and serial transport in the same codebase as an HTTP server is something you almost never find in open source C++. The SQL abstraction layer targets four backends (SQLite, MySQL, Postgres, MSSQL via ODBC/ADO) with connection pooling and migration support — pragmatic for small teams that can't commit to one DB vendor. The modular CMake layout means you can link only what you need rather than pulling in the whole stack. The bundled example app_server is a real application with auth, ACLs, sessions, and WebSocket, so you can see how the pieces actually compose rather than guessing from toy examples.
One star and one fork after what looks like years of development signals essentially no community — you will be on your own for bugs, platform quirks, and missing features. The README points to Visual Studio 2017 and GCC 9.4 as tested environments; it's unclear how well this builds on anything modern (MSVC 2022, GCC 13+, Clang). There are no tests visible in the directory tree beyond hand-rolled JSON fixture files, so correctness of the SQL layer and HL7 parser is entirely on trust. Documentation is thin: each submodule has its own README but there is no API reference, and the HL7/ASTM parsing coverage (which instruments, which message types) is undocumented — critical if you're integrating real analyzers.