特集
» 2021年05月18日 05時00分 公開

日本初の治療用アプリ開発陣が語る、「移り変わることが前提」な開発とは?見えてくる日本行政のシステムへの向き合い方

CureAppは2020年12月、開発した治療用アプリが日本で初めて保険収載され、同時に処方、販売を開始した。CureAppの開発陣に、治療用アプリの開発と、治療用アプリならではの事情について話を聞いた。

[松林沙来,@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 2014年に薬機法が改正され、医療機器として利用できるアプリケーションの開発、販売体制が整いつつある。医療機器として認められた「治療用アプリ」は、睡眠時間を計測したり、運動量や食事量を記録したりして健康管理の手助けをするいわゆる「ヘルスケアアプリ」とは異なり、医療保険が適用される。

 2020年12月にCureAppの「CureApp SC ニコチン依存症治療アプリ及びCOチェッカー」(以下、ニコチン依存症治療アプリ)が治療用アプリとして日本で初めて保険収載され、同月処方、販売が開始された。処方時には保険点数2540点(2万5400円:管理料140点、材料加算2400点)が算定される(※)ため、アプリストアで販売されるものと比べ高価だ。

(※)患者(3割負担)の自己負担額は7500円程度

ニコチン依存症治療アプリは、医師用のアプリと患者用のアプリ、呼気中の一酸化炭素濃度を記録する機器「COチェッカー」の3つで構成されている(出典:CureApp資料)

 CureAppの創業者でありCDO(最高開発責任者)兼医師の鈴木 晋氏と、同社技術部長としてエンジニアをまとめる中村 哲氏に、ニコチン依存症治療アプリの開発について話を聞いた。

医師から見たアプリ開発 「本質的には1種類の言語だけ覚えていれば全部実現できる世界があっていい」

――開発に使われている技術を教えてください。

中村氏 アプリを大きく分けると、患者が使うモバイルアプリと、医師が使うフロントエンドのブラウザで開くソフトウェアとサーバの3つとなります。どれもTypeScript、JavaScriptで実装しています。具体的には、モバイルアプリ部分はReact Nativeを使っています。医師向けのWebの画面は、Reactです。

――どういった理由でこれらを採用されたのでしょうか。

CureAppの鈴木 晋氏

鈴木氏 創業当時、私と弊社代表の佐竹の2人でJavaScriptを使い治療用アプリの原型を開発しました。それを踏襲する形で今もJavaScriptで実装しています。なぜJavaScriptを採用したのかというと、覚える言語の種類が少なくてよいというのが一番の理由です。

 創業当時の2014年は、サーバは「Ruby」、フロントエンドは「JavaScript」、アプリはiPhoneのiOSですと「Objective-C」もしくは「Swift」、そしてAndroidは当時「Java」で書かないといけない状況でしたので、最低でも4言語くらいを使うのが主流だったように思います。私がアプリ開発を始めようとしたとき、アプリ、システム全体を作るのにたくさんの言語を学ばなければならないというのに衝撃を受けました。

――1つの言語で開発の大部分をカバーしたいと思われていたのですね。

鈴木氏 プログラミング言語というのは、言語ごとに得意不得意はあっても同じようなことを方言で表現するものだと思っています。僕は、本質的には1種類の言語だけ覚えていれば全部実現できる世界があっていいと思うタイプです。

――TypeScriptやReact Nativeは更新が多く変化の激しい分野というイメージがあるのですが、どのようにしてキャッチアップされているのでしょうか。

中村氏 おっしゃる通り、TypeScriptという言語や、React Nativeというライブラリは日々新しいバージョンが出てくるので、それに追従するのは決して簡単なことではありません。他の企業の方から苦労している話をよく聞きます。弊社ではTypeScriptにとても入れ込んでいるので、社内にノウハウがたまりやすいと思います。社内にReact Nativeに詳しい人や、新しいバージョンの情報を仕入れる人が集まっていて、エンジニア同士で教え合ったり、社内の別のプロジェクトチームと情報交換したりして技術的なノウハウを交換しています。

新しい技術の採用、移行――治療用アプリならではの事情とは

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。