• Article
  • 医療系学生はプログラミングを学ぶべきか

    posted at 2018年11月20日

    医療系の学生はプログラミングを勉強するべきなのだろうか? プログラミングを勉強することで何ができるようになるのか?

     

    こういった疑問を持つ方もいらっしゃるのではないだろうか。

     

    2020年からは小学校でプログラミングが必修になり、社会的な関心も高まっている。

     

    そんな中で、プログラミングに関心はあるけれども、プログラミングに対する具体的なイメージがわかないと感じる人は多いかもしれない。

     

    そこで本記事では、

    • プログラミングとは何か
    • プログラミングスキルはすべての医療系学生に必要か
    • 医療系学生にとってプログラミングはどんな場面に使えるのか、何が実現できるのか

    の3点に関して僕の考えを書いていこうと思う。

     

     

    そもそもプログラミングとはどのようなものか

    コンピュータは機械語を用いるため、人間が直接「動け!」とか「治れ!」とか声をかけたところで何も理解してくれない。

     

    そこで人間はコンピュータへ自分の命令を伝えるために「プログラム」という命令書を作成する。

     

    そしてこの「プログラム」を作る行為のことをプログラミングという。

     

    「プログラム」は人間語と機械語の架け橋であり、人間語で書かれた命令を機械語に翻訳してコンピュータを動作させる役割がある。

     

     

    プログラミングをするための人間語には様々なものがあり、これを「プログラミング言語」という。

     

    C言語やPythonという言葉を聞いたことがあるかもしれないが、これらがプログラミング言語の例だ。

     

    プログラミング言語にはそれぞれの特徴があり、用途や目的による使い分けがある。

     

     

    プログラミングスキルはすべての医療系学生に必要か

    「全員には必要ない」というのが僕の見解だ。

     

    私たちが将来使う医療機器や電子カルテシステムはすべてプログラムで動いているし、そもそも世の中のあらゆるマシンはプログラムで動いているのだ。

     

    しかし私たちはそれらを使う時にプログラムの存在を意識することはないし、意識しなくて良いことは素晴らしいことである。

     

    プログラムを調整するのはプログラマーの仕事であり、医療者の仕事ではないだろう。(プログラミングと医業のどちらも仕事にしてしまうスーパーな方はいらっしゃいますが笑)

     

    マシンの動作に不満があったとしても、基本的には自分でプログラミングする必要はなく、専門業者の方に依頼すればよいのである。

     

     

    医療系学生にとってプログラミングはどんな場面に使えるのか、何が実現できるのか

    多くの場面では医療者自身がプログラミングスキルを持つ必要はないが、これを持っていると仕事の幅が広がるのは間違いない。

     

    医療の場面でプログラミングスキルが役立つ場面は以下の3つである。

     

    • ビッグデータを扱う医学研究をする場合
    • 本格的なWebでの発信をする場合
    • 医療に関わる新たなソフトウェアの開発に携わる場合

     

    これら3つについて、詳しく書いていく。

     

     

    ビッグデータを扱う医学研究をする場合

    ビッグデータとは文字通り「でっかいデータ」という意味だ。

     

    どのくらいでかいかというと、漠然とエクセルじゃ太刀打ちできないくらいだと考えれば良いと思う。

     

    僕が現在携わっているゲノム解析もビッグデータ解析の一つである。

     

    研究でよく使われるマウスゲノムは25億塩基対ほどの長さがあり、そのゲノム情報を記録したファイルは凄まじい行数になる。

     

    例えば僕の現在扱っているファイルは1つにつき15億行くらいあった。

     

    エクセルでは100万行ほどしか扱えないので、これでは全く太刀打ちができない。

     

    こういったデータから有益な情報を得るためには、プログラミングは不可欠なのである。

     

    データ処理を得意とするプログラム言語の例として、PythonやRが挙げられる。

     

     

    本格的なWebでの発信をする場合

    このブログのようにサイト運営をして発信したいとなったら、プログラミングを知っておいたほうが良い。

     

    具体的にはHTML,CSS,JavaScriptなどのフロントエンド言語とPHP, Rubyなどのバックエンド言語の知識が必要である。(HTML,CSSをプログラミングというと専門の方に怒られる可能性があるが、本記事では余り気にしないことにする)

     

    手軽なブログであれば、はてなブログのような無料サービスで十分だが、フォントやデザインをはじめ好きな機能を充実させたいとなったら、どうしてもこれらが必要になってくるのである。

     

     

    医療に関わる新たなソフトウェアを開発に携わる場合

    近年では人工知能(AI)という言葉がよく聞かれるようになった。

     

    医療の領域では、AIが皮膚科医レベルで皮膚がんの画像診断をできるようになったという論文がNature誌に投稿されて話題になっている。

     

    その他にも様々な診断AIが開発されており、今後その数はさらに増えていくことが予想される。

     

    しかしどのようなものにAIが使えるのかを判断するには、ある程度AI(ディープラーニング)のプログラミング経験が必要だ。

     

    実際に働いてみないと分からない医療現場の問題点をAIが解決できるかどうか判断できるのは、医療とプログラミングの両方に精通した人だけである。

     

    実際のプログラミングは専門の方がやるとしても、「ここにAIが使えるのではないか」という着想に限っては、プログラミングに精通した医療者にしかできない。

     

    そういった意味で、医療に関わる新たなソフトウェア開発に挑戦したいという人は、必ずプログラミングを学習すべきだと思う。

     

     

    最後に

    近年のコンピュータ性能の向上やインターネットの発達で、より大きなデータが扱われるようになったり、より賢くより高速な処理が可能になっている。

     

    これらの技術革新を医療の分野でも活用していくべきなのは医療現場の改善を進めていく上で当然だし、何よりも患者さんの利益になることは間違いない。

     

    またAI(ディープラーニング)の発明は、ソフトウェアの観点でも医療に新たな可能性を生み出しつつある。

     

    それと同時に、AI技術の発達は医療者の仕事をガラリと変える可能性や、AIを過信した人間が大きな過ちを起こす危険性を秘めている。

     

    医療者全員がプログラミングスキルを持つ必要はないが、諸刃の剣を持つこの新技術の発展を前に、医療とITの両方に精通する人材は不可欠である。

     

    少しでも興味があるのならば、是非プログラミングに挑戦してみると良いと思う。