A Passion Avenue For Science
Introduction
Traditionally, medical professionals have relied on two-dimensional (2D) imaging techniques like X-rays and MRIs to diagnose and monitor patient conditions. These tools provide valuable insights, yet may be inaccessible. Hence, it may be more challenging to track changes easily over time. This limitation can hinder comprehensive understanding, and hence treatment planning and patient education.
Recent advancements in 3D modeling technology offer a transformative approach to healthcare. By creating realistic, three dimensional visualizations of the human body, 3D models allow for a more accessible, intuitive, and in-depth analysis of medical data.
Database Schema Relational databases store data in tabular form, with interconnected rows and columns. As seen above, each table focuses on a specific topic. For example, the patients and doctors that are stored in the application. Rows hold individual records, and columns define details about those records. The columns can be seen above, (e.g., Patient’s first and last name, as well as Doctor’s names). Here, the tables are connected to each other, in which data of visits have the doctors and patients involved, and all history is tracked in the logger table.
This project integrates 3D modeling technology into a user-friendly medical database specifically designed for medical professionals and patients. It utilizes 3D models generated from LiDAR scanning technology, with the use of KIRI engine. The application allows for the upload and visualization of 3D models alongside patient data and medical history, fostering a more comprehensive understanding of a patient's condition for both doctors and patients.
By enabling patients to actively track the progress of their treatment through interactive 3D visualizations, this application has the potential to increase accessibility and change approaches to healthcare.
Database Relation
Relational Database Structure
Relational databases store data in tabular form, with interconnected rows and columns. As seen above, each table focuses on a specific topic. For example, the patients and doctors that are stored in the application. Rows hold individual records, and columns define details about those records. The columns can be seen above, (e.g., Patient’s first and last name, as well as Doctor’s names). Here, the tables are connected to each other, in which data of visits have the doctors and patients involved, and all history is tracked in the logger table.
Database Schema
A database schema acts as a blueprint for data organization. It defines what data is stored, how it's organized (tables, columns, data types), and how it connects (relationships between tables). This application used Prisma to assist with this process, allowing for efficiency and better understanding. As seen above, the tables Visit and Logger are being modeled. These tables are seen in the relational database structure; the database schema makes up the relational database structure. It defines the columns (e.g. visit-name and date), as well as the relations (e.g. @relation(fields: patientId…).
Firebase Storage
Firebase storage is used to store the files needed to render the 3D object. To access these files, the BE has a link retrieving the files. Data is stored on Firebase storage instead of the database due to the structure of the database. Postgres is an SQL database, with a tabular format, chosen for its relational structure. These files, Obj, MTL, and PNG, are unable to be stored in the tabular database. Having the files stored in the cloud instead of the database allows for the data to be retrieved through a link, which Postgres can store. Hence, the connection to Firebase and the retrieving link is important for rendering the 3D object.
LiDAR and KIRI Engine
LiDAR stands for Light Detecting and Ranging, where a laser light is transmitted from a device and reflected onto objects in the scene. The reflected light is detected, which measures the distance from the device to the object. With the ability to measure distance, objects can be scanned and 3D-rendered digitally. LiDAR technology has been increasingly accessible, now available in Apple devices released since 2020. KIRI engine is a software that generates 3D models from 2D images. With the addition of LiDAR scanning to the KIRI engine, models have become more precise, even with a device as small and accessible as a phone. The 3D model is rendered through 3 files: Obj, MTL, and PNG, which are stored in this database and later rendered in ThreeJS. The files are scanned in the KIRI Engine app and uploaded into the FE.
Software Used
HTML & CSS : used for building the front end.
ThreeJS : Javascript libraby API used for animating 3D objects.
Typescript : language for back-end.
KIRI engine : LiDAR scanning, used for making 3D objects.
PostgreSQL : relational database language.
Prisma : used as cloud storage for storing links of 3D objects.
Node.JS : environment for back-end.
Conclusion, Application and Future Outlook
With the framework of an application showing 3D objects as well as data from a database, many more things can be explored. 3D encyclopedias, inventory systems, and modeling of manufactured parts are just a few directions of many in which this framework can bring. Alongside that, I would like to streamline the process of creating 3D objects. Currently, as sophisticated as LiDAR scanning is, there are many ways in which it could be improved – automating the process or overall finding more accurate methods to do so.
In this work, Josephine and her mentor decided to create a 3D modeling technology to enhance medical data visualization and assist medical professionals in diagnosing and monitoring patient conditions.
Medical Database with 3D Objects Modelling of Patients
2023