USG is an open-source desktop application for managing patients, ultrasound orders, structured examination reports and attached medical images. It is intended for physicians, medical offices and small clinics.
The application can work with a local SQLite database or a MariaDB database. An optional, explicitly configured synchronization workflow can replicate local records to MariaDB. USG does not require a cloud service for normal local operation.
Official website: https://debalex77.github.io/USG/
- patient records and ultrasound examination history;
- ultrasound orders and structured ultrasound reports;
- dedicated views for orders and reports, with filtering and preview;
- examination sections for internal organs, urinary system, prostate, gynecology, breast, thyroid, pregnancy and lymph nodes;
- image and video attachments;
- customizable print templates and PDF export through LimeReport;
- sending order, report and image attachments by e-mail;
- patient appointment scheduling with multiple investigations;
- statistical, medical and pricing reports;
- SQLite and MariaDB support;
- optional UUID-based background synchronization to MariaDB;
- Romanian, English and Russian user interfaces.
Version 4.2.9 adds optional SQLCipher support for local main and image databases, while standard SQLite remains the default. It also adds a separate Linux demo-package builder with automatic demo-profile configuration and database integrity checks. SQLCipher keys are supplied at runtime and are not stored in the profile. This release does not introduce a new database-schema migration.
Reorganized application, organization and user settings into dedicated database tables, services and runtime contexts. Added four-level informed-consent generation and report options for additional investigations and print parameters.
Version 4.1.2 adds organization websites, the corresponding database migration and detailed update progress.
Version 4.1.1 fixes price-list printing on SQLite and MariaDB and corrects the A4 landscape order layout, including the central separator.
Version 4.1.0 includes the patient-schema migration, revised SQLite/MariaDB
compatibility, UUID synchronization, the new OrderView and ReportView,
appointment improvements, safer application settings and logging, and fixes
for report validation, printing, PDF export and e-mail preparation.
LimeReport was updated from 1.7.14 to 1.7.23 and is built for Qt 6.9.3. The
exact upstream revision and the USG-specific shutdown patch are documented in
third_party/LIMEREPORT.md.
See resources/RELEASES.md for the complete release
history.
Before upgrading an existing installation, back up the main database, the image database and the application configuration. A shared database should be migrated by a single client, without running old and new USG versions at the same time.
Linux release artifacts may include:
- a Qt Installer Framework
.runinstaller; - a Debian
.debpackage; - a portable
.AppImage.
Download published binaries only from the project's GitHub Releases page and verify the provided SHA-256 checksum before installation.
Production packages never contain database copies, test databases or user configuration files. The separately built demo installer is the only exception: it contains explicitly prepared, anonymized demo databases and creates its own demo profile.
The AppImage runtime normally uses FUSE 2. On Debian 13, install the compatible runtime library with:
sudo apt install libfuse2t64
chmod +x USG_v4.2.9-x86_64.AppImage
./USG_v4.2.9-x86_64.AppImageIf FUSE cannot be installed, use the AppImage runtime's extraction fallback:
./USG_v4.2.9-x86_64.AppImage --appimage-extract-and-runThe fallback extracts the package temporarily and is therefore slower to start. It does not require FUSE.
The supported reference configuration for version 4.2.9 is:
| Component | Version / requirement |
|---|---|
| Qt | 6.9.3 |
| C++ | C++20 |
| Build system | qmake |
| LimeReport | 1.7.23, pinned revision and USG patch |
| OpenSSL | 3.5.9 LTS (private packaged runtime) |
| Database | SQLite or MariaDB |
USG intentionally uses qmake; CMake files are not provided.
Prepare LimeReport and the required third-party libraries as described in
third_party/LIMEREPORT.md, then run:
git clone https://github.com/debalex77/USG.git
cd USG
mkdir -p build/Desktop_Qt_6_9_3-Release
cd build/Desktop_Qt_6_9_3-Release
/path/to/Qt/6.9.3/gcc_64/bin/qmake ../../USG.pro CONFIG+=release
make -j2The Linux packaging workflow is implemented in
build_scripts/build_new. It requires
CQtDeployer, Qt Installer Framework and AppImageTool in addition to the build
dependencies.
Patient databases, images, configuration files, passwords and logs can contain confidential information. Do not attach real production data to bug reports. Reproduce database problems using an anonymized copy and remove personal, medical and authentication data before sharing it.
USG is licensed under the GNU General Public License, version 3 or any later
version. See LICENSE.txt.
Third-party icon and image provenance is documented in
third_party/THIRD_PARTY_ICONS.md.
LimeReport licensing, source correspondence and the local patch are documented
in third_party/LIMEREPORT.md.
Please report reproducible problems through GitHub Issues. Include the USG version, operating system, database engine and relevant anonymized log lines. Do not publish patient data or credentials.

