サイトアイコン Embarcadero RAD Studio, Delphi, & C++Builder Blogs

あなたの歯磨きがどんなに下手かをドキュメント化するDelphiアプリ

hero image 2

Enterprise Article Showcaseには、いくつかの注目すべき投稿がありました。Delphi / C++Builder / RAD Studioが、私たちの生活に関わるさまざまな業界で密かに活躍している事実には、常に驚かされます。今回の、Anouar Hamza Cherif氏の投稿は、歯の状態の可視化とその記録に不可欠な歯周チャート作成を容易にする歯科医/研究医向けのマルチプラットフォームアプリ開発に関する経験談です。

では、肩の力を抜いて。痛くはないですよ… 😁

歯周チャートとは

歯周チャート作成は、歯科において、より正確には歯周病の実践研究の分野において、歯肉および歯周の健康状態や疾患を評価監視するための重要なプロセスです。病変の深さ、組織の喪失など、各歯のさまざまな歯肉パラメータを測定するための歯周プロービングを行ったのち、記録された数値を解釈して疾患分類を定義し、歯周チャートを作成します[1]。

歯周チャート作成に適したツール

歯周チャート作成アプリがあれば、デスクトップでもモバイルでも、患者記録の整理や分析の際に、その場で実データを収集できるなど、研究者のタスクが容易になります。

この目的を実現する理想的なアプリ、あるいは私たちのチームが求める機能コンセプトは次のようになります。

すべての検査において、歯周プロービング値を保存しそれを可視化するチャートを作成する作業は、一連のプロセスを包括的サポートするアプリがなかったため、手作業で行う必要があり、大変な労力がかかっていました。利用可能な唯一のソリューションは月額料金の有料サービスで、記録をホストし、歯周チャートの描画をサポートするものでした。また、保存機能やホスティング機能のない、単に入力値に従ってその場でグラフを描画するだけのWebサイトもありました。

このような状況下で、私のタスクは、歯周チャートの作成を容易にするため、Delphiを用いてマルチプラットフォームアプリ(デスクトップおよびモバイル)を開発することになったのです。

Delphiを選択した理由

Object Pascal は、簡単なパラダイムの学習の容易な言語であり、私は2011年から使用しています。Delphi IDEには、容易に利用できるようにするさまざまな機能と利点があります。最も注目すべきポイントを、以下に示します。

これらの理由から、このプロジェクトの開発にDelphiを選択したのは、当然の帰結でした。

歯周チャートアプリの特徴

本記事執筆時点で、当社の歯周チャートアプリは、WindowsとAndroidで動作し(Delphi FMXフレームワークを活用)、1つのデバイス上のローカル環境で作業をすることも、多数のユーザーが接続するネットワーク環境で作業することも可能です。実際、データ処理とグラフ作成のコードは、このDelphiによるクライアントアプリに完全に含まれていますが、ネットワークサーバー側は、MySQLデータベースに接続してユーザーデータと患者の記録を保存するPHPアプリケーションによって構成されます。

クライアントアプリは、以下のような機能を提供します。

歯周チャートの出力結果

アプリに表示される歯周プロービングデータの出力結果を、以下に示します。

開発に使用したコンポーネント

このプロジェクトでは、Delphi FMXフレームワークに加えて、以下の機能を使用しています。

データが表すもの

歯周病チャートは、プロービング検査で歯科医によって収集された値に従い、すべての歯についての現在の歯周病の状態、程度、患者の口内で最も感染しているゾーンの位置を表します。

コードの働き

歯周チャートテンプレート(ブランク)はアプリバイナリ内でコンパイルされ、各プローブサイトはTPathオブジェクトであるチャートを作成するための参照として、ピクセル座標によってマークされます。

歯科医が検出した歯周プロービング値は、新しい検査記録としてアプリに入力されます。次に、アプリロジックはこれらの値をプロービング座標上で計算し、ブランクの参照座標と組み合わせてpathdata文字列を書き込みます。これは、プロービング深度、組織損失などなど特定のパラメータに従って、頬面と舌面の両方で上口と下口におけるさまざまなTPathDataオブジェクトを作成するために使用されます。

これらのTPathDataオブジェクトは、(塗りつぶし領域を描画するTCanvas.FillPath関数とオープン線を描画する関数TCanvas.DrawPath 関数で使用される)キャンバスオブジェクトでの描画セッションによって、ブランクテンプレート上に描画されます。

最終的に更新されたビットマップ(結果として表示される歯周チャート)が、ユーザーに表示され、ユーザーはそれを画像ファイルにエクスポートできます。

そして最後に、歯科医はプローブ値をレコードとして外部ファイルやサーバー上のデータベースに保存でき、この検査結果を検証できるようになります。

このDelphiプロジェクトの将来計画

近い将来、このプロジェクトは、より多くの機能を備えるべく開発を継続していく予定です。また、このアプリを他のEHRや歯科診療管理ソフトウェアと統合したり、サーバー機能を強化して、より多くの歯科医に利用してもらい、他の機関とも連携することで、研究ネットワークの拡大を図るなど、新しい領域への展開を模索しているところです。

参考文献

[1] Wolf HF, Rateitschak EM, Rateitschak KH, Hassell TM. Color Atlas of Dental Medicine: Periodontology, 2005. Thieme.

この記事は、Enterprise Article Showcaseへ投稿されたものです。RAD Studio、Delphi、C++Builderと関連技術を用いて構築した開発プロジェクトの成功事例をお持ちの方は、ぜひご連絡ください。詳細はこちらをご覧ください。

モバイルバージョンを終了