こんにちは、開発本部の竹内です。最近子どものプリンセスへの強い憧れに若干引いております。 さて先日、TechLunch という社内勉強会で「電子レセプト」について話しましたので、こちらでも簡単に紹介させていただきます。 レセプトとは ところで、みなさまは「レセプト」についてご存知でしょうか?私はメドレーに入社するまで知りませんでした。 レセプトとは医療機関が支払基金へ診療報酬を請求するための明細書情報のことです。 と言っても、初めて聞かれる方もいらっしゃると思いますので、医療機関におけるお金の流れとともに簡単に説明します。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) 医療機関は「診療」の対価として、被保険者等(≒ 患者)からお金を受け取るわけですが、被保険者の加入する保険や公費によってその額は変わります。負担割合が 3 割の場合、残りの 7 割を被保険者が加入する保険組合などへ請求する必要があります。 この保険組合などへの請求を取りまとめ、内容を審査しているのが支払基金と呼ばれる組織で、医療機関は月に一度、前月の患者ごとの診療点数を計算し「レセプト」として支払基金に提出することになります。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) レセプトには、請求する診療点数のほか、医療機関の情報、被保険者の情報(氏名などの基本情報、加入している保険者情報)、診療行為や傷病名に関する情報などが含まれています。 「レセプト」には紙と電子データとありますが、現在は原則として電子レセプトを提出することが求められているそうです( 電子レセプト請求に係る猶予措置及び免除措置について|社会保険診療報酬支払基金 )。 電子レセプトとレセ電ビューア 電子レセプトについての仕様は支払基金によって公開されています。今回は「 電子レセプト作成の手引き 」という資料を元に「医科」のレセプトについて調べて発表しました。 発表資料はこちら。 電子レセプトの実体は CSV 形式のシンプルなテキストファイルです(拡張子は UKE なので、UKE ファイルと呼ぶこともあるようです)。ただ、電子レセプトの仕様を把握したとしても、やはり CSV ファイルを見て内容を把握するのは至難の業です。ファイル上では診療行為や医薬品、傷病名はコードとして表現されているため、 マスタデータ を参照しなければその内容まで理解することはできないからです。 そこで登場するのが、レセ電ビューアというツールで、ORCA Project によって公開されているフリーの電子レセプトビューアです。「レセ電=電子レセプト」ですね。 ORCA Project: レセ電ビューワ 日本医師会開発・日医標準レセプトソフトウェアのサイトです www.orca.med.or.jp (※上記ページでは「レセ電ビューア」と「レセ電ビューワ」が混在していますが、本ブログでは「レセ電ビューア」で統一しています) レセ電ビューアは Windows と Ubuntu で動作し、上述した UKE ファイルを読み込み、見やすく表示してくれる便利ツールです。ここからはレセ電ビューアをインストールし、電子レセプトを読み込んで表示するところまでを紹介したいと思います。 レセ電ビューアのインストール レセ電ビューアは Windows と Ubuntu 上で動作しますので、まずは Ubuntu 環境を準備します。私は VirtualBox 上に Ubuntu 環境を用意しました。 公式のインストールマニュアル( ubuntu 環境へのレセ電ビューアインストール )に基づいて作業していきます。 # Keyring と apt-line の追加 $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # レセ電ビューアパッケージインストール $ apt-get install jma-receview $ apt-get install jma-receview-server # レセ電ビューア起動 $ jma-receview レセ電ビューアの設定 電子レセプトに含まれる診療行為などのコードに対応するマスタデータを参照するため、日レセ(jma-receipt)の DB を利用することができます。今回は DBFile 形式で DB に接続します。レセ電ビューアに付属するスクリプトを実行し、jma-receipt の DB から必要なテーブルをダンプすることができます。このファイルをレセ電ビューアに設定することで、電子レセプトの表示がよりわかりやすくなります。 # レセ電ビューアで使う DBFile を作る # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # 「2.7.4 DBFile の作成方法」 $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh 合計 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 月 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 月 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 月 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 月 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 月 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 月 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 月 18 14:57 tbl_tensu.rdb 接続設定で「DBFile」を選択し、先ほど作成した DBFile を選択します。 レセ電ビューア近影 「ファイル」から UKE ファイルを開くと、レセプトに基づいて患者基本情報、保険・公費情報、診療行為情報のほか、紙レセプトのプレビューや患者単位での電子レセプトを表示することができます。また、「編集モード」に切り替えることで患者情報や病名の編集が可能で、編集した内容でレセプトを再出力することもできるようです。 おまけ ここまで紹介してきたレセ電ビューアですが、調べてみるとどうやら Ruby で実装されているようです。これらのコードを読んでいくことで新たな地平を開くことができるかもしれません。 $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview も ruby で書かれてました(12000 行以上ある…) まとめ 今回は電子レセプトとレセ電ビューアについて、簡単に紹介しました。 わたしたちの生活とは切り離せない「医療」に関するシステムや仕様は、意外と一般公開されているものもあり、誰でも触れることができます。ただ、動作環境が制限されていたり、インターネット界隈のエンジニアがよく目にする技術とは異なるスタックで構築されていたり、それなりにハードルがあるように感じています。 これらのハードルを下げ、より多くの人が「調べてみよう」「ちょっと触ってみよう」と思うようになれば、医療に関わるシステムや仕様もよりシンプルで使いやすいものになり、ひいては各医療問題の解決・患者体験の改善につながっていくのではないかな、メドレーがつなげていきたいなと思っています。 最後はいいことを言って締めたい性分なのですが、いかがだったでしょうか。 ここまでお読みいただき、ありがとうございました。 お知らせ メドレーの開発にご興味ある方は、こちらからご連絡ください。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp 7/27 に開催されるデブサミ 2018Summer に協賛させていただきます。ぜひ遊びにいらしてください。 Developers Summit 2018 Summer ITエンジニアの祭典「Developers Summit 2018 Summer」(デブサミ2018夏)は、2018年7月27日に開催! event.shoeisha.jp
こんにちは、開発本部の竹内です。最近子どものプリンセスへの強い憧れに若干引いております。 さて先日、TechLunch という社内勉強会で「電子レセプト」について話しましたので、こちらでも簡単に紹介させていただきます。 レセプトとは ところで、みなさまは「レセプト」についてご存知でしょうか?私はメドレーに入社するまで知りませんでした。 レセプトとは医療機関が支払基金へ診療報酬を請求するための明細書情報のことです。 と言っても、初めて聞かれる方もいらっしゃると思いますので、医療機関におけるお金の流れとともに簡単に説明します。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) 医療機関は「診療」の対価として、被保険者等(≒ 患者)からお金を受け取るわけですが、被保険者の加入する保険や公費によってその額は変わります。負担割合が 3 割の場合、残りの 7 割を被保険者が加入する保険組合などへ請求する必要があります。 この保険組合などへの請求を取りまとめ、内容を審査しているのが支払基金と呼ばれる組織で、医療機関は月に一度、前月の患者ごとの診療点数を計算し「レセプト」として支払基金に提出することになります。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) レセプトには、請求する診療点数のほか、医療機関の情報、被保険者の情報(氏名などの基本情報、加入している保険者情報)、診療行為や傷病名に関する情報などが含まれています。 「レセプト」には紙と電子データとありますが、現在は原則として電子レセプトを提出することが求められているそうです( 電子レセプト請求に係る猶予措置及び免除措置について|社会保険診療報酬支払基金 )。 電子レセプトとレセ電ビューア 電子レセプトについての仕様は支払基金によって公開されています。今回は「 電子レセプト作成の手引き 」という資料を元に「医科」のレセプトについて調べて発表しました。 発表資料はこちら。 電子レセプトの実体は CSV 形式のシンプルなテキストファイルです(拡張子は UKE なので、UKE ファイルと呼ぶこともあるようです)。ただ、電子レセプトの仕様を把握したとしても、やはり CSV ファイルを見て内容を把握するのは至難の業です。ファイル上では診療行為や医薬品、傷病名はコードとして表現されているため、 マスタデータ を参照しなければその内容まで理解することはできないからです。 そこで登場するのが、レセ電ビューアというツールで、ORCA Project によって公開されているフリーの電子レセプトビューアです。「レセ電=電子レセプト」ですね。 ORCA Project: レセ電ビューワ 日本医師会開発・日医標準レセプトソフトウェアのサイトです www.orca.med.or.jp (※上記ページでは「レセ電ビューア」と「レセ電ビューワ」が混在していますが、本ブログでは「レセ電ビューア」で統一しています) レセ電ビューアは Windows と Ubuntu で動作し、上述した UKE ファイルを読み込み、見やすく表示してくれる便利ツールです。ここからはレセ電ビューアをインストールし、電子レセプトを読み込んで表示するところまでを紹介したいと思います。 レセ電ビューアのインストール レセ電ビューアは Windows と Ubuntu 上で動作しますので、まずは Ubuntu 環境を準備します。私は VirtualBox 上に Ubuntu 環境を用意しました。 公式のインストールマニュアル( ubuntu 環境へのレセ電ビューアインストール )に基づいて作業していきます。 # Keyring と apt-line の追加 $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # レセ電ビューアパッケージインストール $ apt-get install jma-receview $ apt-get install jma-receview-server # レセ電ビューア起動 $ jma-receview レセ電ビューアの設定 電子レセプトに含まれる診療行為などのコードに対応するマスタデータを参照するため、日レセ(jma-receipt)の DB を利用することができます。今回は DBFile 形式で DB に接続します。レセ電ビューアに付属するスクリプトを実行し、jma-receipt の DB から必要なテーブルをダンプすることができます。このファイルをレセ電ビューアに設定することで、電子レセプトの表示がよりわかりやすくなります。 # レセ電ビューアで使う DBFile を作る # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # 「2.7.4 DBFile の作成方法」 $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh 合計 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 月 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 月 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 月 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 月 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 月 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 月 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 月 18 14:57 tbl_tensu.rdb 接続設定で「DBFile」を選択し、先ほど作成した DBFile を選択します。 レセ電ビューア近影 「ファイル」から UKE ファイルを開くと、レセプトに基づいて患者基本情報、保険・公費情報、診療行為情報のほか、紙レセプトのプレビューや患者単位での電子レセプトを表示することができます。また、「編集モード」に切り替えることで患者情報や病名の編集が可能で、編集した内容でレセプトを再出力することもできるようです。 おまけ ここまで紹介してきたレセ電ビューアですが、調べてみるとどうやら Ruby で実装されているようです。これらのコードを読んでいくことで新たな地平を開くことができるかもしれません。 $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview も ruby で書かれてました(12000 行以上ある…) まとめ 今回は電子レセプトとレセ電ビューアについて、簡単に紹介しました。 わたしたちの生活とは切り離せない「医療」に関するシステムや仕様は、意外と一般公開されているものもあり、誰でも触れることができます。ただ、動作環境が制限されていたり、インターネット界隈のエンジニアがよく目にする技術とは異なるスタックで構築されていたり、それなりにハードルがあるように感じています。 これらのハードルを下げ、より多くの人が「調べてみよう」「ちょっと触ってみよう」と思うようになれば、医療に関わるシステムや仕様もよりシンプルで使いやすいものになり、ひいては各医療問題の解決・患者体験の改善につながっていくのではないかな、メドレーがつなげていきたいなと思っています。 最後はいいことを言って締めたい性分なのですが、いかがだったでしょうか。 ここまでお読みいただき、ありがとうございました。 お知らせ メドレーの開発にご興味ある方は、こちらからご連絡ください。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp 7/27 に開催されるデブサミ 2018Summer に協賛させていただきます。ぜひ遊びにいらしてください。 Developers Summit 2018 Summer ITエンジニアの祭典「Developers Summit 2018 Summer」(デブサミ2018夏)は、2018年7月27日に開催! event.shoeisha.jp
こんにちは、開発本部の竹内です。最近子どものプリンセスへの強い憧れに若干引いております。 さて先日、TechLunch という社内勉強会で「電子レセプト」について話しましたので、こちらでも簡単に紹介させていただきます。 レセプトとは ところで、みなさまは「レセプト」についてご存知でしょうか?私はメドレーに入社するまで知りませんでした。 レセプトとは医療機関が支払基金へ診療報酬を請求するための明細書情報のことです。 と言っても、初めて聞かれる方もいらっしゃると思いますので、医療機関におけるお金の流れとともに簡単に説明します。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) 医療機関は「診療」の対価として、被保険者等(≒ 患者)からお金を受け取るわけですが、被保険者の加入する保険や公費によってその額は変わります。負担割合が 3 割の場合、残りの 7 割を被保険者が加入する保険組合などへ請求する必要があります。 この保険組合などへの請求を取りまとめ、内容を審査しているのが支払基金と呼ばれる組織で、医療機関は月に一度、前月の患者ごとの診療点数を計算し「レセプト」として支払基金に提出することになります。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) レセプトには、請求する診療点数のほか、医療機関の情報、被保険者の情報(氏名などの基本情報、加入している保険者情報)、診療行為や傷病名に関する情報などが含まれています。 「レセプト」には紙と電子データとありますが、現在は原則として電子レセプトを提出することが求められているそうです( 電子レセプト請求に係る猶予措置及び免除措置について|社会保険診療報酬支払基金 )。 電子レセプトとレセ電ビューア 電子レセプトについての仕様は支払基金によって公開されています。今回は「 電子レセプト作成の手引き 」という資料を元に「医科」のレセプトについて調べて発表しました。 発表資料はこちら。 電子レセプトの実体は CSV 形式のシンプルなテキストファイルです(拡張子は UKE なので、UKE ファイルと呼ぶこともあるようです)。ただ、電子レセプトの仕様を把握したとしても、やはり CSV ファイルを見て内容を把握するのは至難の業です。ファイル上では診療行為や医薬品、傷病名はコードとして表現されているため、 マスタデータ を参照しなければその内容まで理解することはできないからです。 そこで登場するのが、レセ電ビューアというツールで、ORCA Project によって公開されているフリーの電子レセプトビューアです。「レセ電=電子レセプト」ですね。 ORCA Project: レセ電ビューワ 日本医師会開発・日医標準レセプトソフトウェアのサイトです www.orca.med.or.jp (※上記ページでは「レセ電ビューア」と「レセ電ビューワ」が混在していますが、本ブログでは「レセ電ビューア」で統一しています) レセ電ビューアは Windows と Ubuntu で動作し、上述した UKE ファイルを読み込み、見やすく表示してくれる便利ツールです。ここからはレセ電ビューアをインストールし、電子レセプトを読み込んで表示するところまでを紹介したいと思います。 レセ電ビューアのインストール レセ電ビューアは Windows と Ubuntu 上で動作しますので、まずは Ubuntu 環境を準備します。私は VirtualBox 上に Ubuntu 環境を用意しました。 公式のインストールマニュアル( ubuntu 環境へのレセ電ビューアインストール )に基づいて作業していきます。 # Keyring と apt-line の追加 $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # レセ電ビューアパッケージインストール $ apt-get install jma-receview $ apt-get install jma-receview-server # レセ電ビューア起動 $ jma-receview レセ電ビューアの設定 電子レセプトに含まれる診療行為などのコードに対応するマスタデータを参照するため、日レセ(jma-receipt)の DB を利用することができます。今回は DBFile 形式で DB に接続します。レセ電ビューアに付属するスクリプトを実行し、jma-receipt の DB から必要なテーブルをダンプすることができます。このファイルをレセ電ビューアに設定することで、電子レセプトの表示がよりわかりやすくなります。 # レセ電ビューアで使う DBFile を作る # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # 「2.7.4 DBFile の作成方法」 $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh 合計 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 月 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 月 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 月 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 月 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 月 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 月 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 月 18 14:57 tbl_tensu.rdb 接続設定で「DBFile」を選択し、先ほど作成した DBFile を選択します。 レセ電ビューア近影 「ファイル」から UKE ファイルを開くと、レセプトに基づいて患者基本情報、保険・公費情報、診療行為情報のほか、紙レセプトのプレビューや患者単位での電子レセプトを表示することができます。また、「編集モード」に切り替えることで患者情報や病名の編集が可能で、編集した内容でレセプトを再出力することもできるようです。 おまけ ここまで紹介してきたレセ電ビューアですが、調べてみるとどうやら Ruby で実装されているようです。これらのコードを読んでいくことで新たな地平を開くことができるかもしれません。 $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview も ruby で書かれてました(12000 行以上ある…) まとめ 今回は電子レセプトとレセ電ビューアについて、簡単に紹介しました。 わたしたちの生活とは切り離せない「医療」に関するシステムや仕様は、意外と一般公開されているものもあり、誰でも触れることができます。ただ、動作環境が制限されていたり、インターネット界隈のエンジニアがよく目にする技術とは異なるスタックで構築されていたり、それなりにハードルがあるように感じています。 これらのハードルを下げ、より多くの人が「調べてみよう」「ちょっと触ってみよう」と思うようになれば、医療に関わるシステムや仕様もよりシンプルで使いやすいものになり、ひいては各医療問題の解決・患者体験の改善につながっていくのではないかな、メドレーがつなげていきたいなと思っています。 最後はいいことを言って締めたい性分なのですが、いかがだったでしょうか。 ここまでお読みいただき、ありがとうございました。 お知らせ メドレーの開発にご興味ある方は、こちらからご連絡ください。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp 7/27 に開催されるデブサミ 2018Summer に協賛させていただきます。ぜひ遊びにいらしてください。 Developers Summit 2018 Summer ITエンジニアの祭典「Developers Summit 2018 Summer」(デブサミ2018夏)は、2018年7月27日に開催! event.shoeisha.jp
こんにちは、開発本部の竹内です。最近子どものプリンセスへの強い憧れに若干引いております。 さて先日、TechLunch という社内勉強会で「電子レセプト」について話しましたので、こちらでも簡単に紹介させていただきます。 レセプトとは ところで、みなさまは「レセプト」についてご存知でしょうか?私はメドレーに入社するまで知りませんでした。 レセプトとは医療機関が支払基金へ診療報酬を請求するための明細書情報のことです。 と言っても、初めて聞かれる方もいらっしゃると思いますので、医療機関におけるお金の流れとともに簡単に説明します。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) 医療機関は「診療」の対価として、被保険者等(≒ 患者)からお金を受け取るわけですが、被保険者の加入する保険や公費によってその額は変わります。負担割合が 3 割の場合、残りの 7 割を被保険者が加入する保険組合などへ請求する必要があります。 この保険組合などへの請求を取りまとめ、内容を審査しているのが支払基金と呼ばれる組織で、医療機関は月に一度、前月の患者ごとの診療点数を計算し「レセプト」として支払基金に提出することになります。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) レセプトには、請求する診療点数のほか、医療機関の情報、被保険者の情報(氏名などの基本情報、加入している保険者情報)、診療行為や傷病名に関する情報などが含まれています。 「レセプト」には紙と電子データとありますが、現在は原則として電子レセプトを提出することが求められているそうです( 電子レセプト請求に係る猶予措置及び免除措置について|社会保険診療報酬支払基金 )。 電子レセプトとレセ電ビューア 電子レセプトについての仕様は支払基金によって公開されています。今回は「 電子レセプト作成の手引き 」という資料を元に「医科」のレセプトについて調べて発表しました。 発表資料はこちら。 電子レセプトの実体は CSV 形式のシンプルなテキストファイルです(拡張子は UKE なので、UKE ファイルと呼ぶこともあるようです)。ただ、電子レセプトの仕様を把握したとしても、やはり CSV ファイルを見て内容を把握するのは至難の業です。ファイル上では診療行為や医薬品、傷病名はコードとして表現されているため、 マスタデータ を参照しなければその内容まで理解することはできないからです。 そこで登場するのが、レセ電ビューアというツールで、ORCA Project によって公開されているフリーの電子レセプトビューアです。「レセ電=電子レセプト」ですね。 ORCA Project: レセ電ビューワ 日本医師会開発・日医標準レセプトソフトウェアのサイトです www.orca.med.or.jp (※上記ページでは「レセ電ビューア」と「レセ電ビューワ」が混在していますが、本ブログでは「レセ電ビューア」で統一しています) レセ電ビューアは Windows と Ubuntu で動作し、上述した UKE ファイルを読み込み、見やすく表示してくれる便利ツールです。ここからはレセ電ビューアをインストールし、電子レセプトを読み込んで表示するところまでを紹介したいと思います。 レセ電ビューアのインストール レセ電ビューアは Windows と Ubuntu 上で動作しますので、まずは Ubuntu 環境を準備します。私は VirtualBox 上に Ubuntu 環境を用意しました。 公式のインストールマニュアル( ubuntu 環境へのレセ電ビューアインストール )に基づいて作業していきます。 # Keyring と apt-line の追加 $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # レセ電ビューアパッケージインストール $ apt-get install jma-receview $ apt-get install jma-receview-server # レセ電ビューア起動 $ jma-receview レセ電ビューアの設定 電子レセプトに含まれる診療行為などのコードに対応するマスタデータを参照するため、日レセ(jma-receipt)の DB を利用することができます。今回は DBFile 形式で DB に接続します。レセ電ビューアに付属するスクリプトを実行し、jma-receipt の DB から必要なテーブルをダンプすることができます。このファイルをレセ電ビューアに設定することで、電子レセプトの表示がよりわかりやすくなります。 # レセ電ビューアで使う DBFile を作る # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # 「2.7.4 DBFile の作成方法」 $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh 合計 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 月 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 月 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 月 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 月 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 月 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 月 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 月 18 14:57 tbl_tensu.rdb 接続設定で「DBFile」を選択し、先ほど作成した DBFile を選択します。 レセ電ビューア近影 「ファイル」から UKE ファイルを開くと、レセプトに基づいて患者基本情報、保険・公費情報、診療行為情報のほか、紙レセプトのプレビューや患者単位での電子レセプトを表示することができます。また、「編集モード」に切り替えることで患者情報や病名の編集が可能で、編集した内容でレセプトを再出力することもできるようです。 おまけ ここまで紹介してきたレセ電ビューアですが、調べてみるとどうやら Ruby で実装されているようです。これらのコードを読んでいくことで新たな地平を開くことができるかもしれません。 $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview も ruby で書かれてました(12000 行以上ある…) まとめ 今回は電子レセプトとレセ電ビューアについて、簡単に紹介しました。 わたしたちの生活とは切り離せない「医療」に関するシステムや仕様は、意外と一般公開されているものもあり、誰でも触れることができます。ただ、動作環境が制限されていたり、インターネット界隈のエンジニアがよく目にする技術とは異なるスタックで構築されていたり、それなりにハードルがあるように感じています。 これらのハードルを下げ、より多くの人が「調べてみよう」「ちょっと触ってみよう」と思うようになれば、医療に関わるシステムや仕様もよりシンプルで使いやすいものになり、ひいては各医療問題の解決・患者体験の改善につながっていくのではないかな、メドレーがつなげていきたいなと思っています。 最後はいいことを言って締めたい性分なのですが、いかがだったでしょうか。 ここまでお読みいただき、ありがとうございました。 お知らせ メドレーの開発にご興味ある方は、こちらからご連絡ください。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp 7/27 に開催されるデブサミ 2018Summer に協賛させていただきます。ぜひ遊びにいらしてください。 Developers Summit 2018 Summer ITエンジニアの祭典「Developers Summit 2018 Summer」(デブサミ2018夏)は、2018年7月27日に開催! event.shoeisha.jp
こんにちは、開発本部の竹内です。最近子どものプリンセスへの強い憧れに若干引いております。 さて先日、TechLunch という社内勉強会で「電子レセプト」について話しましたので、こちらでも簡単に紹介させていただきます。 レセプトとは ところで、みなさまは「レセプト」についてご存知でしょうか?私はメドレーに入社するまで知りませんでした。 レセプトとは医療機関が支払基金へ診療報酬を請求するための明細書情報のことです。 と言っても、初めて聞かれる方もいらっしゃると思いますので、医療機関におけるお金の流れとともに簡単に説明します。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) 医療機関は「診療」の対価として、被保険者等(≒ 患者)からお金を受け取るわけですが、被保険者の加入する保険や公費によってその額は変わります。負担割合が 3 割の場合、残りの 7 割を被保険者が加入する保険組合などへ請求する必要があります。 この保険組合などへの請求を取りまとめ、内容を審査しているのが支払基金と呼ばれる組織で、医療機関は月に一度、前月の患者ごとの診療点数を計算し「レセプト」として支払基金に提出することになります。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) レセプトには、請求する診療点数のほか、医療機関の情報、被保険者の情報(氏名などの基本情報、加入している保険者情報)、診療行為や傷病名に関する情報などが含まれています。 「レセプト」には紙と電子データとありますが、現在は原則として電子レセプトを提出することが求められているそうです( 電子レセプト請求に係る猶予措置及び免除措置について|社会保険診療報酬支払基金 )。 電子レセプトとレセ電ビューア 電子レセプトについての仕様は支払基金によって公開されています。今回は「 電子レセプト作成の手引き 」という資料を元に「医科」のレセプトについて調べて発表しました。 発表資料はこちら。 電子レセプトの実体は CSV 形式のシンプルなテキストファイルです(拡張子は UKE なので、UKE ファイルと呼ぶこともあるようです)。ただ、電子レセプトの仕様を把握したとしても、やはり CSV ファイルを見て内容を把握するのは至難の業です。ファイル上では診療行為や医薬品、傷病名はコードとして表現されているため、 マスタデータ を参照しなければその内容まで理解することはできないからです。 そこで登場するのが、レセ電ビューアというツールで、ORCA Project によって公開されているフリーの電子レセプトビューアです。「レセ電=電子レセプト」ですね。 ORCA Project: レセ電ビューワ 日本医師会開発・日医標準レセプトソフトウェアのサイトです www.orca.med.or.jp (※上記ページでは「レセ電ビューア」と「レセ電ビューワ」が混在していますが、本ブログでは「レセ電ビューア」で統一しています) レセ電ビューアは Windows と Ubuntu で動作し、上述した UKE ファイルを読み込み、見やすく表示してくれる便利ツールです。ここからはレセ電ビューアをインストールし、電子レセプトを読み込んで表示するところまでを紹介したいと思います。 レセ電ビューアのインストール レセ電ビューアは Windows と Ubuntu 上で動作しますので、まずは Ubuntu 環境を準備します。私は VirtualBox 上に Ubuntu 環境を用意しました。 公式のインストールマニュアル( ubuntu 環境へのレセ電ビューアインストール )に基づいて作業していきます。 # Keyring と apt-line の追加 $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # レセ電ビューアパッケージインストール $ apt-get install jma-receview $ apt-get install jma-receview-server # レセ電ビューア起動 $ jma-receview レセ電ビューアの設定 電子レセプトに含まれる診療行為などのコードに対応するマスタデータを参照するため、日レセ(jma-receipt)の DB を利用することができます。今回は DBFile 形式で DB に接続します。レセ電ビューアに付属するスクリプトを実行し、jma-receipt の DB から必要なテーブルをダンプすることができます。このファイルをレセ電ビューアに設定することで、電子レセプトの表示がよりわかりやすくなります。 # レセ電ビューアで使う DBFile を作る # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # 「2.7.4 DBFile の作成方法」 $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh 合計 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 月 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 月 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 月 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 月 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 月 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 月 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 月 18 14:57 tbl_tensu.rdb 接続設定で「DBFile」を選択し、先ほど作成した DBFile を選択します。 レセ電ビューア近影 「ファイル」から UKE ファイルを開くと、レセプトに基づいて患者基本情報、保険・公費情報、診療行為情報のほか、紙レセプトのプレビューや患者単位での電子レセプトを表示することができます。また、「編集モード」に切り替えることで患者情報や病名の編集が可能で、編集した内容でレセプトを再出力することもできるようです。 おまけ ここまで紹介してきたレセ電ビューアですが、調べてみるとどうやら Ruby で実装されているようです。これらのコードを読んでいくことで新たな地平を開くことができるかもしれません。 $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview も ruby で書かれてました(12000 行以上ある…) まとめ 今回は電子レセプトとレセ電ビューアについて、簡単に紹介しました。 わたしたちの生活とは切り離せない「医療」に関するシステムや仕様は、意外と一般公開されているものもあり、誰でも触れることができます。ただ、動作環境が制限されていたり、インターネット界隈のエンジニアがよく目にする技術とは異なるスタックで構築されていたり、それなりにハードルがあるように感じています。 これらのハードルを下げ、より多くの人が「調べてみよう」「ちょっと触ってみよう」と思うようになれば、医療に関わるシステムや仕様もよりシンプルで使いやすいものになり、ひいては各医療問題の解決・患者体験の改善につながっていくのではないかな、メドレーがつなげていきたいなと思っています。 最後はいいことを言って締めたい性分なのですが、いかがだったでしょうか。 ここまでお読みいただき、ありがとうございました。 お知らせ メドレーの開発にご興味ある方は、こちらからご連絡ください。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp 7/27 に開催されるデブサミ 2018Summer に協賛させていただきます。ぜひ遊びにいらしてください。 Developers Summit 2018 Summer ITエンジニアの祭典「Developers Summit 2018 Summer」(デブサミ2018夏)は、2018年7月27日に開催! event.shoeisha.jp
こんにちは、開発本部の竹内です。最近子どものプリンセスへの強い憧れに若干引いております。 さて先日、TechLunch という社内勉強会で「電子レセプト」について話しましたので、こちらでも簡単に紹介させていただきます。 レセプトとは ところで、みなさまは「レセプト」についてご存知でしょうか?私はメドレーに入社するまで知りませんでした。 レセプトとは医療機関が支払基金へ診療報酬を請求するための明細書情報のことです。 と言っても、初めて聞かれる方もいらっしゃると思いますので、医療機関におけるお金の流れとともに簡単に説明します。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) 医療機関は「診療」の対価として、被保険者等(≒ 患者)からお金を受け取るわけですが、被保険者の加入する保険や公費によってその額は変わります。負担割合が 3 割の場合、残りの 7 割を被保険者が加入する保険組合などへ請求する必要があります。 この保険組合などへの請求を取りまとめ、内容を審査しているのが支払基金と呼ばれる組織で、医療機関は月に一度、前月の患者ごとの診療点数を計算し「レセプト」として支払基金に提出することになります。 (支払基金ってどんなところ?|社会保険診療報酬支払基金より) レセプトには、請求する診療点数のほか、医療機関の情報、被保険者の情報(氏名などの基本情報、加入している保険者情報)、診療行為や傷病名に関する情報などが含まれています。 「レセプト」には紙と電子データとありますが、現在は原則として電子レセプトを提出することが求められているそうです( 電子レセプト請求に係る猶予措置及び免除措置について|社会保険診療報酬支払基金 )。 電子レセプトとレセ電ビューア 電子レセプトについての仕様は支払基金によって公開されています。今回は「 電子レセプト作成の手引き 」という資料を元に「医科」のレセプトについて調べて発表しました。 発表資料はこちら。 電子レセプトの実体は CSV 形式のシンプルなテキストファイルです(拡張子は UKE なので、UKE ファイルと呼ぶこともあるようです)。ただ、電子レセプトの仕様を把握したとしても、やはり CSV ファイルを見て内容を把握するのは至難の業です。ファイル上では診療行為や医薬品、傷病名はコードとして表現されているため、 マスタデータ を参照しなければその内容まで理解することはできないからです。 そこで登場するのが、レセ電ビューアというツールで、ORCA Project によって公開されているフリーの電子レセプトビューアです。「レセ電=電子レセプト」ですね。 ORCA Project: レセ電ビューワ 日本医師会開発・日医標準レセプトソフトウェアのサイトです www.orca.med.or.jp (※上記ページでは「レセ電ビューア」と「レセ電ビューワ」が混在していますが、本ブログでは「レセ電ビューア」で統一しています) レセ電ビューアは Windows と Ubuntu で動作し、上述した UKE ファイルを読み込み、見やすく表示してくれる便利ツールです。ここからはレセ電ビューアをインストールし、電子レセプトを読み込んで表示するところまでを紹介したいと思います。 レセ電ビューアのインストール レセ電ビューアは Windows と Ubuntu 上で動作しますので、まずは Ubuntu 環境を準備します。私は VirtualBox 上に Ubuntu 環境を用意しました。 公式のインストールマニュアル( ubuntu 環境へのレセ電ビューアインストール )に基づいて作業していきます。 # Keyring と apt-line の追加 $ sudo su $ wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key $ apt-key add archive.key $ wget -q -O \ /etc/apt/sources.list.d/jma-receipt-xenial50.list \ https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-xenial50.list $ apt-get update $ apt-get dist-upgrade # レセ電ビューアパッケージインストール $ apt-get install jma-receview $ apt-get install jma-receview-server # レセ電ビューア起動 $ jma-receview レセ電ビューアの設定 電子レセプトに含まれる診療行為などのコードに対応するマスタデータを参照するため、日レセ(jma-receipt)の DB を利用することができます。今回は DBFile 形式で DB に接続します。レセ電ビューアに付属するスクリプトを実行し、jma-receipt の DB から必要なテーブルをダンプすることができます。このファイルをレセ電ビューアに設定することで、電子レセプトの表示がよりわかりやすくなります。 # レセ電ビューアで使う DBFile を作る # https://ftp.orca.med.or.jp/pub/receview/manual/jma-receview.pdf # 「2.7.4 DBFile の作成方法」 $ sudo su orca $ ls -la /usr/share/jma-receview/db/ $ mkdir /var/tmp/dbfile $ cp /usr/share/jma-receview/db/make_dbfile.sh /var/tmp/dbfile/ $ cd /var/tmp/dbfile/ $ sh ./make_dbfile.sh 20170101 $ ls -lh 合計 6.9M -rwxr-xr-x 1 orca orca 2.9K 5 月 18 14:55 make_dbfile.sh -rw-r--r-- 1 orca orca 1.2M 5 月 18 14:57 tbl_byomei.rdb -rw-r--r-- 1 orca orca 89 5 月 18 14:57 tbl_dbkanri.rdb -rw-r--r-- 1 orca orca 330K 5 月 18 14:57 tbl_hknjainf.rdb -rw-r--r-- 1 orca orca 9.6K 5 月 18 14:57 tbl_labor_sio.rdb -rw-r--r-- 1 orca orca 343K 5 月 18 14:57 tbl_syskanri.rdb -rw-r--r-- 1 orca orca 5.1M 5 月 18 14:57 tbl_tensu.rdb 接続設定で「DBFile」を選択し、先ほど作成した DBFile を選択します。 レセ電ビューア近影 「ファイル」から UKE ファイルを開くと、レセプトに基づいて患者基本情報、保険・公費情報、診療行為情報のほか、紙レセプトのプレビューや患者単位での電子レセプトを表示することができます。また、「編集モード」に切り替えることで患者情報や病名の編集が可能で、編集した内容でレセプトを再出力することもできるようです。 おまけ ここまで紹介してきたレセ電ビューアですが、調べてみるとどうやら Ruby で実装されているようです。これらのコードを読んでいくことで新たな地平を開くことができるかもしれません。 $ dpkg -L jma-receview | grep ruby /usr/lib/ruby /usr/lib/ruby/2.3.0 /usr/lib/ruby/2.3.0/jma /usr/lib/ruby/2.3.0/jma/receview /usr/lib/ruby/2.3.0/jma/receview/menu.rb /usr/lib/ruby/2.3.0/jma/receview/intconv.rb /usr/lib/ruby/2.3.0/jma/receview/base.rb /usr/lib/ruby/2.3.0/jma/receview/dbfile_lib.rb /usr/lib/ruby/2.3.0/jma/receview/gui.rb /usr/lib/ruby/2.3.0/jma/receview/yearconv.rb /usr/lib/ruby/2.3.0/jma/receview/exception.rb /usr/lib/ruby/2.3.0/jma/receview/api.rb /usr/lib/ruby/2.3.0/jma/receview/config.rb /usr/lib/ruby/2.3.0/jma/receview/image.rb /usr/lib/ruby/2.3.0/jma/receview/dialog.rb /usr/lib/ruby/2.3.0/jma/receview/upstart.rb /usr/lib/ruby/2.3.0/jma/receview/dbslib.rb /usr/lib/ruby/2.3.0/jma/receview/thread.rb /usr/lib/ruby/2.3.0/jma/receview/receview.rb /usr/lib/ruby/2.3.0/jma/receview/sickname_edit.rb /usr/lib/ruby/2.3.0/jma/receview/dayconv.rb /usr/lib/ruby/2.3.0/jma/receview/isoimage.rb /usr/lib/ruby/2.3.0/jma/receview/help.rb /usr/lib/ruby/2.3.0/jma/receview/other_csv.rb /usr/lib/ruby/2.3.0/jma/receview/print.rb /usr/lib/ruby/2.3.0/jma/receview/env.rb /usr/lib/ruby/2.3.0/jma/receview/generation.rb /usr/lib/ruby/2.3.0/jma/receview/red2cairo.rb /usr/lib/ruby/2.3.0/jma/receview/strconv.rb /usr/lib/ruby/2.3.0/jma/receview/log.rb /usr/lib/ruby/2.3.0/jma/receview/hokenconv.rb /usr/lib/ruby/2.3.0/jma/receview/keybind.rb /usr/lib/ruby/2.3.0/jma/receview/version.rb /usr/lib/ruby/2.3.0/jma/receview/gtk2_fix.rb /usr/lib/ruby/2.3.0/jma/receview/preview_widget.rb /usr/lib/ruby/2.3.0/jma/receview/command.rb # /usr/bin/jma-receview も ruby で書かれてました(12000 行以上ある…) まとめ 今回は電子レセプトとレセ電ビューアについて、簡単に紹介しました。 わたしたちの生活とは切り離せない「医療」に関するシステムや仕様は、意外と一般公開されているものもあり、誰でも触れることができます。ただ、動作環境が制限されていたり、インターネット界隈のエンジニアがよく目にする技術とは異なるスタックで構築されていたり、それなりにハードルがあるように感じています。 これらのハードルを下げ、より多くの人が「調べてみよう」「ちょっと触ってみよう」と思うようになれば、医療に関わるシステムや仕様もよりシンプルで使いやすいものになり、ひいては各医療問題の解決・患者体験の改善につながっていくのではないかな、メドレーがつなげていきたいなと思っています。 最後はいいことを言って締めたい性分なのですが、いかがだったでしょうか。 ここまでお読みいただき、ありがとうございました。 お知らせ メドレーの開発にご興味ある方は、こちらからご連絡ください。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp 7/27 に開催されるデブサミ 2018Summer に協賛させていただきます。ぜひ遊びにいらしてください。 Developers Summit 2018 Summer ITエンジニアの祭典「Developers Summit 2018 Summer」(デブサミ2018夏)は、2018年7月27日に開催! event.shoeisha.jp
みなさん、こんにちは。開発本部エンジニアの平木です。こちらのブログの投稿自体はほぼ 1 年ぶりになりそうな勢いですが、みなさまお元気でしょうか? 弊社で定期的に開催してる社内勉強会 TechLunch で自分の順番が回ってきたため、どうしようか迷った末に JavaScript AST ことはじめ という発表をしたので、そのことについて書いていきます。 なぜ JavaScript AST について話そうと思ったのか 現在、弊社のエンジニアメンバーのバックグラウンドで一番多数派なのは「元サーバサイドエンジニア」です。もちろん、業務ではサーバサイド・フロントエンド・ネイティブアプリとバックグラウンドに関わらず、必要に応じて分け隔てなく開発しています。 とはいえ、ちゃんとサービス開発自体はできるとしても、やはり得意な分野以外で基本原理など含めて把握して開発できるかというと、ちょっと難しいところもあります。しかし、そういった基本原理なんかを知っていると、その言語やツールなどの理解が捗るのは確かですよね。 そんな中、弊社で開発している人間がほぼ全て恩恵を受けているはずなのに、具体的にどんな風に動いているのかが一番分かりにくいであろう Babel ひいては JavaScript AST の話をしたら、まあ興味持って話を聞いてくれるかなーということででこのテーマを選んだ次第です。 どのように伝えるか 自分は JavaScript AST についてとても詳しいわけではないのですが、以前仕事で acorn を使ってコンバータみたいなのを作ったりしていたので、それなりに興味は持っているという人間です。 ですので、どうやって紹介をしようかと悩んだ結果、ほぼ全面的に AST Explore に頼っていくというスタイルにしました。AST Explore は本当に最高ですね。前述の仕事をしていたときはこんな便利なツールはなかったんで、ひたすら AST に変換するコード書いては出来た AST を見て、それをトランスフォームさせて結果と睨めっこして試行錯誤するという毎日でした。 ということで、当日のスライドはこちらになります。 スライドで紹介したデモはそれぞれこちらになります。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回伝えたかったこと まず、AST が JavaScript の発展にとても寄与しているものだということを知ってもらいたかったため、JavaScript AST の今までの簡単な流れや、現在どのような形で使われているのかの説明をしました。(個人的に Node.js の誕生と JavaScript AST の存在が現在のフロントエンドの発展にとても重要だと思っているので) 最初のうちは聞いてる人も「何の話なんだろ…」感がありましたが、やはり実際に自分が使っているツールなどに使われているという説明をしたあとだと、聞いているメンバーも俄然興味が出てきたという雰囲気になった気がします(当社比)。 AST の文法などは自分が説明するよりは、ちゃんと資料が揃っているので必要な部分以外簡略化しました。逆にちょっと端折りすぎたきらいもありますが、興味を持ったときに何となくでも調べる道標くらいにはなるかなと考えています。 次に知ってもらいたかったのは、やろうと思えば Babel のプラグインなんかも AST で作れちゃいますよということでした。仮にいきなり「Babel プラグイン作りましょう」となったとしても正直あまりピンと来ないと思いますが、どういう原理でプロダクトが動いているのか?が分かると、 babel-handbook などを読んでも理解が進むのではないかと思います。 AST Explore のこと このように今回の発表で全面的に活躍した AST Explore ですが、TechLunch 中でも軽い説明だけで使ってしまったので、使いかたなど簡単にご紹介していきます。 AST Explore とは AST Explore は Felix Kling さんが、2014 年頃から開発しているプロダクトです。 余談ですが、Felix さんは現在 Facebook で働いていらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっていらっしゃる模様。(react-docgen は babylon を使っているようですが) ここまで書いてきた通りに、このツールは色々な言語をコピペするだけで AST をツリー形式で分かりやすく表示したり、トランスフォームさせることができたりするという AST を触るには大変便利なツールです。去年の v2.0 のアップデートにより、セーブすると gist を匿名で作ってくれてリンクが生成されるなどの便利機能が付きました。 プロジェクトの README に書いていますが、パーサだけであれば、かなりパースできるものが多く、また JavaScript / CSS / 正規表現 / Handlebars に関してはトランスフォームまでできるようになっています。 README から抜粋すると以下のような感じです。 AST Explore でパースできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実験的だったりするけどパースできるもの ES6: arrow functions, destructuring, classes, … ES7 proposals: async/await, object rest / spread, … JSX Typed JavaScript Flow and TypeScript SASS パースしたものをトランスフォームできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の使い方の簡単な解説 サイトにアクセスするとこのような画面になっているはずです。 メイン画面 JavaScript にフォーカスして解説していきますと、左ペインが AST に変換したいソースコード、右ペインが変換後の AST をツリー構造で見せています。 初期表示時に、左ペインのソースコードをクリックすると該当箇所の AST ツリーが展開してハイライトします。また右ペインをポイントするとソースコードの該当箇所がハイライトします。お互いの関係が分かりやすい仕様になっています。 本来 JavaScript AST で生成されるものは JSON オブジェクトになりますが、右ペインの上の Tree と JSON のタブを切りかえることによって AST の表示を変更することができます。 ヘッダー部分 ヘッダーに色々な機能がまとまっています。 初期表示では以下のようになっているはずです。 Snippet 俗にいうファイルメニュー。 新規作成・(gist への)セーブ・(gist の)フォーク・シェアがある JavaScript パースする言語選択 ここで AST にしたい言語を切り替える 選んだ言語によって Transform が使えなくなる acorn パーサ選択 各言語のパーサを切り替える Transform トランスフォーマ選択 選択した言語にトランスフォーマがあれば選択できるようになる こちらを選択すると 2 ペインだったのが 4 ペインになる(後述) default ソースコードなどを書くときのキーバインド選択 default / Vim / Emacs / Sublime の 4 種類がある うれしみがあります ? ヘルプ GitHub の README に飛ばされるだけです… JavaScript のトランスフォーム 先程説明したトランスフォームを選ぶと、メインの画面が 4 画面になります。 今までの ソースコード と AST ツリー は変わりませんが、下に 2 つペインが追加されます。 左下がトランスフォーマコード、右下がトランスフォームした後のソースコードとなっています。 左下のトランスフォーマを色々触っていくと左上のソースコードが変換されて、右下に表示されるという流れですね。 以下 JavaScript コードのトランスフォームする際の Tips です jscodeshift を選択すると Ctrl + Space で jscodeshift の補完が効くようになります babel-plugin-macro を選ぶとトランスフォーマのコード自体がそのまま babel-plugin として使えるようになるので、プラグイン作るときに捗るはずです まとめ 後で参加メンバーに聞いてみましたが、伝えたかったことは、ちゃんと伝わっていた様子だったので安心しました。最後の Vue.js の v1 から v2 のマイグレーションのデモは紹介した結果、JavaScript AST 便利そうという感触になったと思います。 現在弊社のプロダクトで、JavaScript AST をガッツリと使うようなプロジェクトはないのですが、Babel などは全プロダクトで使用しており、結構プラグインを多用しているところもあるので、いざというときの基礎知識として覚えておいて損はないはずです。 こういった部分の勉強も欠かさず続けていきたいと改めて思う機会にもなりました。 弊社の開発文化など気になる方は、こちらからどうぞ。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本部エンジニアの平木です。こちらのブログの投稿自体はほぼ 1 年ぶりになりそうな勢いですが、みなさまお元気でしょうか? 弊社で定期的に開催してる社内勉強会 TechLunch で自分の順番が回ってきたため、どうしようか迷った末に JavaScript AST ことはじめ という発表をしたので、そのことについて書いていきます。 なぜ JavaScript AST について話そうと思ったのか 現在、弊社のエンジニアメンバーのバックグラウンドで一番多数派なのは「元サーバサイドエンジニア」です。もちろん、業務ではサーバサイド・フロントエンド・ネイティブアプリとバックグラウンドに関わらず、必要に応じて分け隔てなく開発しています。 とはいえ、ちゃんとサービス開発自体はできるとしても、やはり得意な分野以外で基本原理など含めて把握して開発できるかというと、ちょっと難しいところもあります。しかし、そういった基本原理なんかを知っていると、その言語やツールなどの理解が捗るのは確かですよね。 そんな中、弊社で開発している人間がほぼ全て恩恵を受けているはずなのに、具体的にどんな風に動いているのかが一番分かりにくいであろう Babel ひいては JavaScript AST の話をしたら、まあ興味持って話を聞いてくれるかなーということででこのテーマを選んだ次第です。 どのように伝えるか 自分は JavaScript AST についてとても詳しいわけではないのですが、以前仕事で acorn を使ってコンバータみたいなのを作ったりしていたので、それなりに興味は持っているという人間です。 ですので、どうやって紹介をしようかと悩んだ結果、ほぼ全面的に AST Explore に頼っていくというスタイルにしました。AST Explore は本当に最高ですね。前述の仕事をしていたときはこんな便利なツールはなかったんで、ひたすら AST に変換するコード書いては出来た AST を見て、それをトランスフォームさせて結果と睨めっこして試行錯誤するという毎日でした。 ということで、当日のスライドはこちらになります。 スライドで紹介したデモはそれぞれこちらになります。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回伝えたかったこと まず、AST が JavaScript の発展にとても寄与しているものだということを知ってもらいたかったため、JavaScript AST の今までの簡単な流れや、現在どのような形で使われているのかの説明をしました。(個人的に Node.js の誕生と JavaScript AST の存在が現在のフロントエンドの発展にとても重要だと思っているので) 最初のうちは聞いてる人も「何の話なんだろ…」感がありましたが、やはり実際に自分が使っているツールなどに使われているという説明をしたあとだと、聞いているメンバーも俄然興味が出てきたという雰囲気になった気がします(当社比)。 AST の文法などは自分が説明するよりは、ちゃんと資料が揃っているので必要な部分以外簡略化しました。逆にちょっと端折りすぎたきらいもありますが、興味を持ったときに何となくでも調べる道標くらいにはなるかなと考えています。 次に知ってもらいたかったのは、やろうと思えば Babel のプラグインなんかも AST で作れちゃいますよということでした。仮にいきなり「Babel プラグイン作りましょう」となったとしても正直あまりピンと来ないと思いますが、どういう原理でプロダクトが動いているのか?が分かると、 babel-handbook などを読んでも理解が進むのではないかと思います。 AST Explore のこと このように今回の発表で全面的に活躍した AST Explore ですが、TechLunch 中でも軽い説明だけで使ってしまったので、使いかたなど簡単にご紹介していきます。 AST Explore とは AST Explore は Felix Kling さんが、2014 年頃から開発しているプロダクトです。 余談ですが、Felix さんは現在 Facebook で働いていらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっていらっしゃる模様。(react-docgen は babylon を使っているようですが) ここまで書いてきた通りに、このツールは色々な言語をコピペするだけで AST をツリー形式で分かりやすく表示したり、トランスフォームさせることができたりするという AST を触るには大変便利なツールです。去年の v2.0 のアップデートにより、セーブすると gist を匿名で作ってくれてリンクが生成されるなどの便利機能が付きました。 プロジェクトの README に書いていますが、パーサだけであれば、かなりパースできるものが多く、また JavaScript / CSS / 正規表現 / Handlebars に関してはトランスフォームまでできるようになっています。 README から抜粋すると以下のような感じです。 AST Explore でパースできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実験的だったりするけどパースできるもの ES6: arrow functions, destructuring, classes, … ES7 proposals: async/await, object rest / spread, … JSX Typed JavaScript Flow and TypeScript SASS パースしたものをトランスフォームできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の使い方の簡単な解説 サイトにアクセスするとこのような画面になっているはずです。 メイン画面 JavaScript にフォーカスして解説していきますと、左ペインが AST に変換したいソースコード、右ペインが変換後の AST をツリー構造で見せています。 初期表示時に、左ペインのソースコードをクリックすると該当箇所の AST ツリーが展開してハイライトします。また右ペインをポイントするとソースコードの該当箇所がハイライトします。お互いの関係が分かりやすい仕様になっています。 本来 JavaScript AST で生成されるものは JSON オブジェクトになりますが、右ペインの上の Tree と JSON のタブを切りかえることによって AST の表示を変更することができます。 ヘッダー部分 ヘッダーに色々な機能がまとまっています。 初期表示では以下のようになっているはずです。 Snippet 俗にいうファイルメニュー。 新規作成・(gist への)セーブ・(gist の)フォーク・シェアがある JavaScript パースする言語選択 ここで AST にしたい言語を切り替える 選んだ言語によって Transform が使えなくなる acorn パーサ選択 各言語のパーサを切り替える Transform トランスフォーマ選択 選択した言語にトランスフォーマがあれば選択できるようになる こちらを選択すると 2 ペインだったのが 4 ペインになる(後述) default ソースコードなどを書くときのキーバインド選択 default / Vim / Emacs / Sublime の 4 種類がある うれしみがあります ? ヘルプ GitHub の README に飛ばされるだけです… JavaScript のトランスフォーム 先程説明したトランスフォームを選ぶと、メインの画面が 4 画面になります。 今までの ソースコード と AST ツリー は変わりませんが、下に 2 つペインが追加されます。 左下がトランスフォーマコード、右下がトランスフォームした後のソースコードとなっています。 左下のトランスフォーマを色々触っていくと左上のソースコードが変換されて、右下に表示されるという流れですね。 以下 JavaScript コードのトランスフォームする際の Tips です jscodeshift を選択すると Ctrl + Space で jscodeshift の補完が効くようになります babel-plugin-macro を選ぶとトランスフォーマのコード自体がそのまま babel-plugin として使えるようになるので、プラグイン作るときに捗るはずです まとめ 後で参加メンバーに聞いてみましたが、伝えたかったことは、ちゃんと伝わっていた様子だったので安心しました。最後の Vue.js の v1 から v2 のマイグレーションのデモは紹介した結果、JavaScript AST 便利そうという感触になったと思います。 現在弊社のプロダクトで、JavaScript AST をガッツリと使うようなプロジェクトはないのですが、Babel などは全プロダクトで使用しており、結構プラグインを多用しているところもあるので、いざというときの基礎知識として覚えておいて損はないはずです。 こういった部分の勉強も欠かさず続けていきたいと改めて思う機会にもなりました。 弊社の開発文化など気になる方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
みなさん、こんにちは。開発本部エンジニアの平木です。こちらのブログの投稿自体はほぼ 1 年ぶりになりそうな勢いですが、みなさまお元気でしょうか? 弊社で定期的に開催してる社内勉強会 TechLunch で自分の順番が回ってきたため、どうしようか迷った末に JavaScript AST ことはじめ という発表をしたので、そのことについて書いていきます。 なぜ JavaScript AST について話そうと思ったのか 現在、弊社のエンジニアメンバーのバックグラウンドで一番多数派なのは「元サーバサイドエンジニア」です。もちろん、業務ではサーバサイド・フロントエンド・ネイティブアプリとバックグラウンドに関わらず、必要に応じて分け隔てなく開発しています。 とはいえ、ちゃんとサービス開発自体はできるとしても、やはり得意な分野以外で基本原理など含めて把握して開発できるかというと、ちょっと難しいところもあります。しかし、そういった基本原理なんかを知っていると、その言語やツールなどの理解が捗るのは確かですよね。 そんな中、弊社で開発している人間がほぼ全て恩恵を受けているはずなのに、具体的にどんな風に動いているのかが一番分かりにくいであろう Babel ひいては JavaScript AST の話をしたら、まあ興味持って話を聞いてくれるかなーということででこのテーマを選んだ次第です。 どのように伝えるか 自分は JavaScript AST についてとても詳しいわけではないのですが、以前仕事で acorn を使ってコンバータみたいなのを作ったりしていたので、それなりに興味は持っているという人間です。 ですので、どうやって紹介をしようかと悩んだ結果、ほぼ全面的に AST Explore に頼っていくというスタイルにしました。AST Explore は本当に最高ですね。前述の仕事をしていたときはこんな便利なツールはなかったんで、ひたすら AST に変換するコード書いては出来た AST を見て、それをトランスフォームさせて結果と睨めっこして試行錯誤するという毎日でした。 ということで、当日のスライドはこちらになります。 スライドで紹介したデモはそれぞれこちらになります。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回伝えたかったこと まず、AST が JavaScript の発展にとても寄与しているものだということを知ってもらいたかったため、JavaScript AST の今までの簡単な流れや、現在どのような形で使われているのかの説明をしました。(個人的に Node.js の誕生と JavaScript AST の存在が現在のフロントエンドの発展にとても重要だと思っているので) 最初のうちは聞いてる人も「何の話なんだろ…」感がありましたが、やはり実際に自分が使っているツールなどに使われているという説明をしたあとだと、聞いているメンバーも俄然興味が出てきたという雰囲気になった気がします(当社比)。 AST の文法などは自分が説明するよりは、ちゃんと資料が揃っているので必要な部分以外簡略化しました。逆にちょっと端折りすぎたきらいもありますが、興味を持ったときに何となくでも調べる道標くらいにはなるかなと考えています。 次に知ってもらいたかったのは、やろうと思えば Babel のプラグインなんかも AST で作れちゃいますよということでした。仮にいきなり「Babel プラグイン作りましょう」となったとしても正直あまりピンと来ないと思いますが、どういう原理でプロダクトが動いているのか?が分かると、 babel-handbook などを読んでも理解が進むのではないかと思います。 AST Explore のこと このように今回の発表で全面的に活躍した AST Explore ですが、TechLunch 中でも軽い説明だけで使ってしまったので、使いかたなど簡単にご紹介していきます。 AST Explore とは AST Explore は Felix Kling さんが、2014 年頃から開発しているプロダクトです。 余談ですが、Felix さんは現在 Facebook で働いていらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっていらっしゃる模様。(react-docgen は babylon を使っているようですが) ここまで書いてきた通りに、このツールは色々な言語をコピペするだけで AST をツリー形式で分かりやすく表示したり、トランスフォームさせることができたりするという AST を触るには大変便利なツールです。去年の v2.0 のアップデートにより、セーブすると gist を匿名で作ってくれてリンクが生成されるなどの便利機能が付きました。 プロジェクトの README に書いていますが、パーサだけであれば、かなりパースできるものが多く、また JavaScript / CSS / 正規表現 / Handlebars に関してはトランスフォームまでできるようになっています。 README から抜粋すると以下のような感じです。 AST Explore でパースできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実験的だったりするけどパースできるもの ES6: arrow functions, destructuring, classes, … ES7 proposals: async/await, object rest / spread, … JSX Typed JavaScript Flow and TypeScript SASS パースしたものをトランスフォームできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の使い方の簡単な解説 サイトにアクセスするとこのような画面になっているはずです。 メイン画面 JavaScript にフォーカスして解説していきますと、左ペインが AST に変換したいソースコード、右ペインが変換後の AST をツリー構造で見せています。 初期表示時に、左ペインのソースコードをクリックすると該当箇所の AST ツリーが展開してハイライトします。また右ペインをポイントするとソースコードの該当箇所がハイライトします。お互いの関係が分かりやすい仕様になっています。 本来 JavaScript AST で生成されるものは JSON オブジェクトになりますが、右ペインの上の Tree と JSON のタブを切りかえることによって AST の表示を変更することができます。 ヘッダー部分 ヘッダーに色々な機能がまとまっています。 初期表示では以下のようになっているはずです。 Snippet 俗にいうファイルメニュー。 新規作成・(gist への)セーブ・(gist の)フォーク・シェアがある JavaScript パースする言語選択 ここで AST にしたい言語を切り替える 選んだ言語によって Transform が使えなくなる acorn パーサ選択 各言語のパーサを切り替える Transform トランスフォーマ選択 選択した言語にトランスフォーマがあれば選択できるようになる こちらを選択すると 2 ペインだったのが 4 ペインになる(後述) default ソースコードなどを書くときのキーバインド選択 default / Vim / Emacs / Sublime の 4 種類がある うれしみがあります ? ヘルプ GitHub の README に飛ばされるだけです… JavaScript のトランスフォーム 先程説明したトランスフォームを選ぶと、メインの画面が 4 画面になります。 今までの ソースコード と AST ツリー は変わりませんが、下に 2 つペインが追加されます。 左下がトランスフォーマコード、右下がトランスフォームした後のソースコードとなっています。 左下のトランスフォーマを色々触っていくと左上のソースコードが変換されて、右下に表示されるという流れですね。 以下 JavaScript コードのトランスフォームする際の Tips です jscodeshift を選択すると Ctrl + Space で jscodeshift の補完が効くようになります babel-plugin-macro を選ぶとトランスフォーマのコード自体がそのまま babel-plugin として使えるようになるので、プラグイン作るときに捗るはずです まとめ 後で参加メンバーに聞いてみましたが、伝えたかったことは、ちゃんと伝わっていた様子だったので安心しました。最後の Vue.js の v1 から v2 のマイグレーションのデモは紹介した結果、JavaScript AST 便利そうという感触になったと思います。 現在弊社のプロダクトで、JavaScript AST をガッツリと使うようなプロジェクトはないのですが、Babel などは全プロダクトで使用しており、結構プラグインを多用しているところもあるので、いざというときの基礎知識として覚えておいて損はないはずです。 こういった部分の勉強も欠かさず続けていきたいと改めて思う機会にもなりました。 弊社の開発文化など気になる方は、こちらからどうぞ。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本部エンジニアの平木です。こちらのブログの投稿自体はほぼ 1 年ぶりになりそうな勢いですが、みなさまお元気でしょうか? 弊社で定期的に開催してる社内勉強会 TechLunch で自分の順番が回ってきたため、どうしようか迷った末に JavaScript AST ことはじめ という発表をしたので、そのことについて書いていきます。 なぜ JavaScript AST について話そうと思ったのか 現在、弊社のエンジニアメンバーのバックグラウンドで一番多数派なのは「元サーバサイドエンジニア」です。もちろん、業務ではサーバサイド・フロントエンド・ネイティブアプリとバックグラウンドに関わらず、必要に応じて分け隔てなく開発しています。 とはいえ、ちゃんとサービス開発自体はできるとしても、やはり得意な分野以外で基本原理など含めて把握して開発できるかというと、ちょっと難しいところもあります。しかし、そういった基本原理なんかを知っていると、その言語やツールなどの理解が捗るのは確かですよね。 そんな中、弊社で開発している人間がほぼ全て恩恵を受けているはずなのに、具体的にどんな風に動いているのかが一番分かりにくいであろう Babel ひいては JavaScript AST の話をしたら、まあ興味持って話を聞いてくれるかなーということででこのテーマを選んだ次第です。 どのように伝えるか 自分は JavaScript AST についてとても詳しいわけではないのですが、以前仕事で acorn を使ってコンバータみたいなのを作ったりしていたので、それなりに興味は持っているという人間です。 ですので、どうやって紹介をしようかと悩んだ結果、ほぼ全面的に AST Explore に頼っていくというスタイルにしました。AST Explore は本当に最高ですね。前述の仕事をしていたときはこんな便利なツールはなかったんで、ひたすら AST に変換するコード書いては出来た AST を見て、それをトランスフォームさせて結果と睨めっこして試行錯誤するという毎日でした。 ということで、当日のスライドはこちらになります。 スライドで紹介したデモはそれぞれこちらになります。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回伝えたかったこと まず、AST が JavaScript の発展にとても寄与しているものだということを知ってもらいたかったため、JavaScript AST の今までの簡単な流れや、現在どのような形で使われているのかの説明をしました。(個人的に Node.js の誕生と JavaScript AST の存在が現在のフロントエンドの発展にとても重要だと思っているので) 最初のうちは聞いてる人も「何の話なんだろ…」感がありましたが、やはり実際に自分が使っているツールなどに使われているという説明をしたあとだと、聞いているメンバーも俄然興味が出てきたという雰囲気になった気がします(当社比)。 AST の文法などは自分が説明するよりは、ちゃんと資料が揃っているので必要な部分以外簡略化しました。逆にちょっと端折りすぎたきらいもありますが、興味を持ったときに何となくでも調べる道標くらいにはなるかなと考えています。 次に知ってもらいたかったのは、やろうと思えば Babel のプラグインなんかも AST で作れちゃいますよということでした。仮にいきなり「Babel プラグイン作りましょう」となったとしても正直あまりピンと来ないと思いますが、どういう原理でプロダクトが動いているのか?が分かると、 babel-handbook などを読んでも理解が進むのではないかと思います。 AST Explore のこと このように今回の発表で全面的に活躍した AST Explore ですが、TechLunch 中でも軽い説明だけで使ってしまったので、使いかたなど簡単にご紹介していきます。 AST Explore とは AST Explore は Felix Kling さんが、2014 年頃から開発しているプロダクトです。 余談ですが、Felix さんは現在 Facebook で働いていらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっていらっしゃる模様。(react-docgen は babylon を使っているようですが) ここまで書いてきた通りに、このツールは色々な言語をコピペするだけで AST をツリー形式で分かりやすく表示したり、トランスフォームさせることができたりするという AST を触るには大変便利なツールです。去年の v2.0 のアップデートにより、セーブすると gist を匿名で作ってくれてリンクが生成されるなどの便利機能が付きました。 プロジェクトの README に書いていますが、パーサだけであれば、かなりパースできるものが多く、また JavaScript / CSS / 正規表現 / Handlebars に関してはトランスフォームまでできるようになっています。 README から抜粋すると以下のような感じです。 AST Explore でパースできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実験的だったりするけどパースできるもの ES6: arrow functions, destructuring, classes, … ES7 proposals: async/await, object rest / spread, … JSX Typed JavaScript Flow and TypeScript SASS パースしたものをトランスフォームできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の使い方の簡単な解説 サイトにアクセスするとこのような画面になっているはずです。 メイン画面 JavaScript にフォーカスして解説していきますと、左ペインが AST に変換したいソースコード、右ペインが変換後の AST をツリー構造で見せています。 初期表示時に、左ペインのソースコードをクリックすると該当箇所の AST ツリーが展開してハイライトします。また右ペインをポイントするとソースコードの該当箇所がハイライトします。お互いの関係が分かりやすい仕様になっています。 本来 JavaScript AST で生成されるものは JSON オブジェクトになりますが、右ペインの上の Tree と JSON のタブを切りかえることによって AST の表示を変更することができます。 ヘッダー部分 ヘッダーに色々な機能がまとまっています。 初期表示では以下のようになっているはずです。 Snippet 俗にいうファイルメニュー。 新規作成・(gist への)セーブ・(gist の)フォーク・シェアがある JavaScript パースする言語選択 ここで AST にしたい言語を切り替える 選んだ言語によって Transform が使えなくなる acorn パーサ選択 各言語のパーサを切り替える Transform トランスフォーマ選択 選択した言語にトランスフォーマがあれば選択できるようになる こちらを選択すると 2 ペインだったのが 4 ペインになる(後述) default ソースコードなどを書くときのキーバインド選択 default / Vim / Emacs / Sublime の 4 種類がある うれしみがあります ? ヘルプ GitHub の README に飛ばされるだけです… JavaScript のトランスフォーム 先程説明したトランスフォームを選ぶと、メインの画面が 4 画面になります。 今までの ソースコード と AST ツリー は変わりませんが、下に 2 つペインが追加されます。 左下がトランスフォーマコード、右下がトランスフォームした後のソースコードとなっています。 左下のトランスフォーマを色々触っていくと左上のソースコードが変換されて、右下に表示されるという流れですね。 以下 JavaScript コードのトランスフォームする際の Tips です jscodeshift を選択すると Ctrl + Space で jscodeshift の補完が効くようになります babel-plugin-macro を選ぶとトランスフォーマのコード自体がそのまま babel-plugin として使えるようになるので、プラグイン作るときに捗るはずです まとめ 後で参加メンバーに聞いてみましたが、伝えたかったことは、ちゃんと伝わっていた様子だったので安心しました。最後の Vue.js の v1 から v2 のマイグレーションのデモは紹介した結果、JavaScript AST 便利そうという感触になったと思います。 現在弊社のプロダクトで、JavaScript AST をガッツリと使うようなプロジェクトはないのですが、Babel などは全プロダクトで使用しており、結構プラグインを多用しているところもあるので、いざというときの基礎知識として覚えておいて損はないはずです。 こういった部分の勉強も欠かさず続けていきたいと改めて思う機会にもなりました。 弊社の開発文化など気になる方は、こちらからどうぞ。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本部エンジニアの平木です。こちらのブログの投稿自体はほぼ 1 年ぶりになりそうな勢いですが、みなさまお元気でしょうか? 弊社で定期的に開催してる社内勉強会 TechLunch で自分の順番が回ってきたため、どうしようか迷った末に JavaScript AST ことはじめ という発表をしたので、そのことについて書いていきます。 なぜ JavaScript AST について話そうと思ったのか 現在、弊社のエンジニアメンバーのバックグラウンドで一番多数派なのは「元サーバサイドエンジニア」です。もちろん、業務ではサーバサイド・フロントエンド・ネイティブアプリとバックグラウンドに関わらず、必要に応じて分け隔てなく開発しています。 とはいえ、ちゃんとサービス開発自体はできるとしても、やはり得意な分野以外で基本原理など含めて把握して開発できるかというと、ちょっと難しいところもあります。しかし、そういった基本原理なんかを知っていると、その言語やツールなどの理解が捗るのは確かですよね。 そんな中、弊社で開発している人間がほぼ全て恩恵を受けているはずなのに、具体的にどんな風に動いているのかが一番分かりにくいであろう Babel ひいては JavaScript AST の話をしたら、まあ興味持って話を聞いてくれるかなーということででこのテーマを選んだ次第です。 どのように伝えるか 自分は JavaScript AST についてとても詳しいわけではないのですが、以前仕事で acorn を使ってコンバータみたいなのを作ったりしていたので、それなりに興味は持っているという人間です。 ですので、どうやって紹介をしようかと悩んだ結果、ほぼ全面的に AST Explore に頼っていくというスタイルにしました。AST Explore は本当に最高ですね。前述の仕事をしていたときはこんな便利なツールはなかったんで、ひたすら AST に変換するコード書いては出来た AST を見て、それをトランスフォームさせて結果と睨めっこして試行錯誤するという毎日でした。 ということで、当日のスライドはこちらになります。 スライドで紹介したデモはそれぞれこちらになります。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回伝えたかったこと まず、AST が JavaScript の発展にとても寄与しているものだということを知ってもらいたかったため、JavaScript AST の今までの簡単な流れや、現在どのような形で使われているのかの説明をしました。(個人的に Node.js の誕生と JavaScript AST の存在が現在のフロントエンドの発展にとても重要だと思っているので) 最初のうちは聞いてる人も「何の話なんだろ…」感がありましたが、やはり実際に自分が使っているツールなどに使われているという説明をしたあとだと、聞いているメンバーも俄然興味が出てきたという雰囲気になった気がします(当社比)。 AST の文法などは自分が説明するよりは、ちゃんと資料が揃っているので必要な部分以外簡略化しました。逆にちょっと端折りすぎたきらいもありますが、興味を持ったときに何となくでも調べる道標くらいにはなるかなと考えています。 次に知ってもらいたかったのは、やろうと思えば Babel のプラグインなんかも AST で作れちゃいますよということでした。仮にいきなり「Babel プラグイン作りましょう」となったとしても正直あまりピンと来ないと思いますが、どういう原理でプロダクトが動いているのか?が分かると、 babel-handbook などを読んでも理解が進むのではないかと思います。 AST Explore のこと このように今回の発表で全面的に活躍した AST Explore ですが、TechLunch 中でも軽い説明だけで使ってしまったので、使いかたなど簡単にご紹介していきます。 AST Explore とは AST Explore は Felix Kling さんが、2014 年頃から開発しているプロダクトです。 余談ですが、Felix さんは現在 Facebook で働いていらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっていらっしゃる模様。(react-docgen は babylon を使っているようですが) ここまで書いてきた通りに、このツールは色々な言語をコピペするだけで AST をツリー形式で分かりやすく表示したり、トランスフォームさせることができたりするという AST を触るには大変便利なツールです。去年の v2.0 のアップデートにより、セーブすると gist を匿名で作ってくれてリンクが生成されるなどの便利機能が付きました。 プロジェクトの README に書いていますが、パーサだけであれば、かなりパースできるものが多く、また JavaScript / CSS / 正規表現 / Handlebars に関してはトランスフォームまでできるようになっています。 README から抜粋すると以下のような感じです。 AST Explore でパースできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実験的だったりするけどパースできるもの ES6: arrow functions, destructuring, classes, … ES7 proposals: async/await, object rest / spread, … JSX Typed JavaScript Flow and TypeScript SASS パースしたものをトランスフォームできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の使い方の簡単な解説 サイトにアクセスするとこのような画面になっているはずです。 メイン画面 JavaScript にフォーカスして解説していきますと、左ペインが AST に変換したいソースコード、右ペインが変換後の AST をツリー構造で見せています。 初期表示時に、左ペインのソースコードをクリックすると該当箇所の AST ツリーが展開してハイライトします。また右ペインをポイントするとソースコードの該当箇所がハイライトします。お互いの関係が分かりやすい仕様になっています。 本来 JavaScript AST で生成されるものは JSON オブジェクトになりますが、右ペインの上の Tree と JSON のタブを切りかえることによって AST の表示を変更することができます。 ヘッダー部分 ヘッダーに色々な機能がまとまっています。 初期表示では以下のようになっているはずです。 Snippet 俗にいうファイルメニュー。 新規作成・(gist への)セーブ・(gist の)フォーク・シェアがある JavaScript パースする言語選択 ここで AST にしたい言語を切り替える 選んだ言語によって Transform が使えなくなる acorn パーサ選択 各言語のパーサを切り替える Transform トランスフォーマ選択 選択した言語にトランスフォーマがあれば選択できるようになる こちらを選択すると 2 ペインだったのが 4 ペインになる(後述) default ソースコードなどを書くときのキーバインド選択 default / Vim / Emacs / Sublime の 4 種類がある うれしみがあります ? ヘルプ GitHub の README に飛ばされるだけです… JavaScript のトランスフォーム 先程説明したトランスフォームを選ぶと、メインの画面が 4 画面になります。 今までの ソースコード と AST ツリー は変わりませんが、下に 2 つペインが追加されます。 左下がトランスフォーマコード、右下がトランスフォームした後のソースコードとなっています。 左下のトランスフォーマを色々触っていくと左上のソースコードが変換されて、右下に表示されるという流れですね。 以下 JavaScript コードのトランスフォームする際の Tips です jscodeshift を選択すると Ctrl + Space で jscodeshift の補完が効くようになります babel-plugin-macro を選ぶとトランスフォーマのコード自体がそのまま babel-plugin として使えるようになるので、プラグイン作るときに捗るはずです まとめ 後で参加メンバーに聞いてみましたが、伝えたかったことは、ちゃんと伝わっていた様子だったので安心しました。最後の Vue.js の v1 から v2 のマイグレーションのデモは紹介した結果、JavaScript AST 便利そうという感触になったと思います。 現在弊社のプロダクトで、JavaScript AST をガッツリと使うようなプロジェクトはないのですが、Babel などは全プロダクトで使用しており、結構プラグインを多用しているところもあるので、いざというときの基礎知識として覚えておいて損はないはずです。 こういった部分の勉強も欠かさず続けていきたいと改めて思う機会にもなりました。 弊社の開発文化など気になる方は、こちらからどうぞ。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本部エンジニアの平木です。こちらのブログの投稿自体はほぼ 1 年ぶりになりそうな勢いですが、みなさまお元気でしょうか? 弊社で定期的に開催してる社内勉強会 TechLunch で自分の順番が回ってきたため、どうしようか迷った末に JavaScript AST ことはじめ という発表をしたので、そのことについて書いていきます。 なぜ JavaScript AST について話そうと思ったのか 現在、弊社のエンジニアメンバーのバックグラウンドで一番多数派なのは「元サーバサイドエンジニア」です。もちろん、業務ではサーバサイド・フロントエンド・ネイティブアプリとバックグラウンドに関わらず、必要に応じて分け隔てなく開発しています。 とはいえ、ちゃんとサービス開発自体はできるとしても、やはり得意な分野以外で基本原理など含めて把握して開発できるかというと、ちょっと難しいところもあります。しかし、そういった基本原理なんかを知っていると、その言語やツールなどの理解が捗るのは確かですよね。 そんな中、弊社で開発している人間がほぼ全て恩恵を受けているはずなのに、具体的にどんな風に動いているのかが一番分かりにくいであろう Babel ひいては JavaScript AST の話をしたら、まあ興味持って話を聞いてくれるかなーということででこのテーマを選んだ次第です。 どのように伝えるか 自分は JavaScript AST についてとても詳しいわけではないのですが、以前仕事で acorn を使ってコンバータみたいなのを作ったりしていたので、それなりに興味は持っているという人間です。 ですので、どうやって紹介をしようかと悩んだ結果、ほぼ全面的に AST Explore に頼っていくというスタイルにしました。AST Explore は本当に最高ですね。前述の仕事をしていたときはこんな便利なツールはなかったんで、ひたすら AST に変換するコード書いては出来た AST を見て、それをトランスフォームさせて結果と睨めっこして試行錯誤するという毎日でした。 ということで、当日のスライドはこちらになります。 スライドで紹介したデモはそれぞれこちらになります。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回伝えたかったこと まず、AST が JavaScript の発展にとても寄与しているものだということを知ってもらいたかったため、JavaScript AST の今までの簡単な流れや、現在どのような形で使われているのかの説明をしました。(個人的に Node.js の誕生と JavaScript AST の存在が現在のフロントエンドの発展にとても重要だと思っているので) 最初のうちは聞いてる人も「何の話なんだろ…」感がありましたが、やはり実際に自分が使っているツールなどに使われているという説明をしたあとだと、聞いているメンバーも俄然興味が出てきたという雰囲気になった気がします(当社比)。 AST の文法などは自分が説明するよりは、ちゃんと資料が揃っているので必要な部分以外簡略化しました。逆にちょっと端折りすぎたきらいもありますが、興味を持ったときに何となくでも調べる道標くらいにはなるかなと考えています。 次に知ってもらいたかったのは、やろうと思えば Babel のプラグインなんかも AST で作れちゃいますよということでした。仮にいきなり「Babel プラグイン作りましょう」となったとしても正直あまりピンと来ないと思いますが、どういう原理でプロダクトが動いているのか?が分かると、 babel-handbook などを読んでも理解が進むのではないかと思います。 AST Explore のこと このように今回の発表で全面的に活躍した AST Explore ですが、TechLunch 中でも軽い説明だけで使ってしまったので、使いかたなど簡単にご紹介していきます。 AST Explore とは AST Explore は Felix Kling さんが、2014 年頃から開発しているプロダクトです。 余談ですが、Felix さんは現在 Facebook で働いていらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっていらっしゃる模様。(react-docgen は babylon を使っているようですが) ここまで書いてきた通りに、このツールは色々な言語をコピペするだけで AST をツリー形式で分かりやすく表示したり、トランスフォームさせることができたりするという AST を触るには大変便利なツールです。去年の v2.0 のアップデートにより、セーブすると gist を匿名で作ってくれてリンクが生成されるなどの便利機能が付きました。 プロジェクトの README に書いていますが、パーサだけであれば、かなりパースできるものが多く、また JavaScript / CSS / 正規表現 / Handlebars に関してはトランスフォームまでできるようになっています。 README から抜粋すると以下のような感じです。 AST Explore でパースできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実験的だったりするけどパースできるもの ES6: arrow functions, destructuring, classes, … ES7 proposals: async/await, object rest / spread, … JSX Typed JavaScript Flow and TypeScript SASS パースしたものをトランスフォームできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の使い方の簡単な解説 サイトにアクセスするとこのような画面になっているはずです。 メイン画面 JavaScript にフォーカスして解説していきますと、左ペインが AST に変換したいソースコード、右ペインが変換後の AST をツリー構造で見せています。 初期表示時に、左ペインのソースコードをクリックすると該当箇所の AST ツリーが展開してハイライトします。また右ペインをポイントするとソースコードの該当箇所がハイライトします。お互いの関係が分かりやすい仕様になっています。 本来 JavaScript AST で生成されるものは JSON オブジェクトになりますが、右ペインの上の Tree と JSON のタブを切りかえることによって AST の表示を変更することができます。 ヘッダー部分 ヘッダーに色々な機能がまとまっています。 初期表示では以下のようになっているはずです。 Snippet 俗にいうファイルメニュー。 新規作成・(gist への)セーブ・(gist の)フォーク・シェアがある JavaScript パースする言語選択 ここで AST にしたい言語を切り替える 選んだ言語によって Transform が使えなくなる acorn パーサ選択 各言語のパーサを切り替える Transform トランスフォーマ選択 選択した言語にトランスフォーマがあれば選択できるようになる こちらを選択すると 2 ペインだったのが 4 ペインになる(後述) default ソースコードなどを書くときのキーバインド選択 default / Vim / Emacs / Sublime の 4 種類がある うれしみがあります ? ヘルプ GitHub の README に飛ばされるだけです… JavaScript のトランスフォーム 先程説明したトランスフォームを選ぶと、メインの画面が 4 画面になります。 今までの ソースコード と AST ツリー は変わりませんが、下に 2 つペインが追加されます。 左下がトランスフォーマコード、右下がトランスフォームした後のソースコードとなっています。 左下のトランスフォーマを色々触っていくと左上のソースコードが変換されて、右下に表示されるという流れですね。 以下 JavaScript コードのトランスフォームする際の Tips です jscodeshift を選択すると Ctrl + Space で jscodeshift の補完が効くようになります babel-plugin-macro を選ぶとトランスフォーマのコード自体がそのまま babel-plugin として使えるようになるので、プラグイン作るときに捗るはずです まとめ 後で参加メンバーに聞いてみましたが、伝えたかったことは、ちゃんと伝わっていた様子だったので安心しました。最後の Vue.js の v1 から v2 のマイグレーションのデモは紹介した結果、JavaScript AST 便利そうという感触になったと思います。 現在弊社のプロダクトで、JavaScript AST をガッツリと使うようなプロジェクトはないのですが、Babel などは全プロダクトで使用しており、結構プラグインを多用しているところもあるので、いざというときの基礎知識として覚えておいて損はないはずです。 こういった部分の勉強も欠かさず続けていきたいと改めて思う機会にもなりました。 弊社の開発文化など気になる方は、こちらからどうぞ。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本部エンジニアの平木です。こちらのブログの投稿自体はほぼ 1 年ぶりになりそうな勢いですが、みなさまお元気でしょうか? 弊社で定期的に開催してる社内勉強会 TechLunch で自分の順番が回ってきたため、どうしようか迷った末に JavaScript AST ことはじめ という発表をしたので、そのことについて書いていきます。 なぜ JavaScript AST について話そうと思ったのか 現在、弊社のエンジニアメンバーのバックグラウンドで一番多数派なのは「元サーバサイドエンジニア」です。もちろん、業務ではサーバサイド・フロントエンド・ネイティブアプリとバックグラウンドに関わらず、必要に応じて分け隔てなく開発しています。 とはいえ、ちゃんとサービス開発自体はできるとしても、やはり得意な分野以外で基本原理など含めて把握して開発できるかというと、ちょっと難しいところもあります。しかし、そういった基本原理なんかを知っていると、その言語やツールなどの理解が捗るのは確かですよね。 そんな中、弊社で開発している人間がほぼ全て恩恵を受けているはずなのに、具体的にどんな風に動いているのかが一番分かりにくいであろう Babel ひいては JavaScript AST の話をしたら、まあ興味持って話を聞いてくれるかなーということででこのテーマを選んだ次第です。 どのように伝えるか 自分は JavaScript AST についてとても詳しいわけではないのですが、以前仕事で acorn を使ってコンバータみたいなのを作ったりしていたので、それなりに興味は持っているという人間です。 ですので、どうやって紹介をしようかと悩んだ結果、ほぼ全面的に AST Explore に頼っていくというスタイルにしました。AST Explore は本当に最高ですね。前述の仕事をしていたときはこんな便利なツールはなかったんで、ひたすら AST に変換するコード書いては出来た AST を見て、それをトランスフォームさせて結果と睨めっこして試行錯誤するという毎日でした。 ということで、当日のスライドはこちらになります。 スライドで紹介したデモはそれぞれこちらになります。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回伝えたかったこと まず、AST が JavaScript の発展にとても寄与しているものだということを知ってもらいたかったため、JavaScript AST の今までの簡単な流れや、現在どのような形で使われているのかの説明をしました。(個人的に Node.js の誕生と JavaScript AST の存在が現在のフロントエンドの発展にとても重要だと思っているので) 最初のうちは聞いてる人も「何の話なんだろ…」感がありましたが、やはり実際に自分が使っているツールなどに使われているという説明をしたあとだと、聞いているメンバーも俄然興味が出てきたという雰囲気になった気がします(当社比)。 AST の文法などは自分が説明するよりは、ちゃんと資料が揃っているので必要な部分以外簡略化しました。逆にちょっと端折りすぎたきらいもありますが、興味を持ったときに何となくでも調べる道標くらいにはなるかなと考えています。 次に知ってもらいたかったのは、やろうと思えば Babel のプラグインなんかも AST で作れちゃいますよということでした。仮にいきなり「Babel プラグイン作りましょう」となったとしても正直あまりピンと来ないと思いますが、どういう原理でプロダクトが動いているのか?が分かると、 babel-handbook などを読んでも理解が進むのではないかと思います。 AST Explore のこと このように今回の発表で全面的に活躍した AST Explore ですが、TechLunch 中でも軽い説明だけで使ってしまったので、使いかたなど簡単にご紹介していきます。 AST Explore とは AST Explore は Felix Kling さんが、2014 年頃から開発しているプロダクトです。 余談ですが、Felix さんは現在 Facebook で働いていらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっていらっしゃる模様。(react-docgen は babylon を使っているようですが) ここまで書いてきた通りに、このツールは色々な言語をコピペするだけで AST をツリー形式で分かりやすく表示したり、トランスフォームさせることができたりするという AST を触るには大変便利なツールです。去年の v2.0 のアップデートにより、セーブすると gist を匿名で作ってくれてリンクが生成されるなどの便利機能が付きました。 プロジェクトの README に書いていますが、パーサだけであれば、かなりパースできるものが多く、また JavaScript / CSS / 正規表現 / Handlebars に関してはトランスフォームまでできるようになっています。 README から抜粋すると以下のような感じです。 AST Explore でパースできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実験的だったりするけどパースできるもの ES6: arrow functions, destructuring, classes, … ES7 proposals: async/await, object rest / spread, … JSX Typed JavaScript Flow and TypeScript SASS パースしたものをトランスフォームできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の使い方の簡単な解説 サイトにアクセスするとこのような画面になっているはずです。 メイン画面 JavaScript にフォーカスして解説していきますと、左ペインが AST に変換したいソースコード、右ペインが変換後の AST をツリー構造で見せています。 初期表示時に、左ペインのソースコードをクリックすると該当箇所の AST ツリーが展開してハイライトします。また右ペインをポイントするとソースコードの該当箇所がハイライトします。お互いの関係が分かりやすい仕様になっています。 本来 JavaScript AST で生成されるものは JSON オブジェクトになりますが、右ペインの上の Tree と JSON のタブを切りかえることによって AST の表示を変更することができます。 ヘッダー部分 ヘッダーに色々な機能がまとまっています。 初期表示では以下のようになっているはずです。 Snippet 俗にいうファイルメニュー。 新規作成・(gist への)セーブ・(gist の)フォーク・シェアがある JavaScript パースする言語選択 ここで AST にしたい言語を切り替える 選んだ言語によって Transform が使えなくなる acorn パーサ選択 各言語のパーサを切り替える Transform トランスフォーマ選択 選択した言語にトランスフォーマがあれば選択できるようになる こちらを選択すると 2 ペインだったのが 4 ペインになる(後述) default ソースコードなどを書くときのキーバインド選択 default / Vim / Emacs / Sublime の 4 種類がある うれしみがあります ? ヘルプ GitHub の README に飛ばされるだけです… JavaScript のトランスフォーム 先程説明したトランスフォームを選ぶと、メインの画面が 4 画面になります。 今までの ソースコード と AST ツリー は変わりませんが、下に 2 つペインが追加されます。 左下がトランスフォーマコード、右下がトランスフォームした後のソースコードとなっています。 左下のトランスフォーマを色々触っていくと左上のソースコードが変換されて、右下に表示されるという流れですね。 以下 JavaScript コードのトランスフォームする際の Tips です jscodeshift を選択すると Ctrl + Space で jscodeshift の補完が効くようになります babel-plugin-macro を選ぶとトランスフォーマのコード自体がそのまま babel-plugin として使えるようになるので、プラグイン作るときに捗るはずです まとめ 後で参加メンバーに聞いてみましたが、伝えたかったことは、ちゃんと伝わっていた様子だったので安心しました。最後の Vue.js の v1 から v2 のマイグレーションのデモは紹介した結果、JavaScript AST 便利そうという感触になったと思います。 現在弊社のプロダクトで、JavaScript AST をガッツリと使うようなプロジェクトはないのですが、Babel などは全プロダクトで使用しており、結構プラグインを多用しているところもあるので、いざというときの基礎知識として覚えておいて損はないはずです。 こういった部分の勉強も欠かさず続けていきたいと改めて思う機会にもなりました。 弊社の開発文化など気になる方は、こちらからどうぞ。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本部エンジニアの平木です。こちらのブログの投稿自体はほぼ 1 年ぶりになりそうな勢いですが、みなさまお元気でしょうか? 弊社で定期的に開催してる社内勉強会 TechLunch で自分の順番が回ってきたため、どうしようか迷った末に JavaScript AST ことはじめ という発表をしたので、そのことについて書いていきます。 なぜ JavaScript AST について話そうと思ったのか 現在、弊社のエンジニアメンバーのバックグラウンドで一番多数派なのは「元サーバサイドエンジニア」です。もちろん、業務ではサーバサイド・フロントエンド・ネイティブアプリとバックグラウンドに関わらず、必要に応じて分け隔てなく開発しています。 とはいえ、ちゃんとサービス開発自体はできるとしても、やはり得意な分野以外で基本原理など含めて把握して開発できるかというと、ちょっと難しいところもあります。しかし、そういった基本原理なんかを知っていると、その言語やツールなどの理解が捗るのは確かですよね。 そんな中、弊社で開発している人間がほぼ全て恩恵を受けているはずなのに、具体的にどんな風に動いているのかが一番分かりにくいであろう Babel ひいては JavaScript AST の話をしたら、まあ興味持って話を聞いてくれるかなーということででこのテーマを選んだ次第です。 どのように伝えるか 自分は JavaScript AST についてとても詳しいわけではないのですが、以前仕事で acorn を使ってコンバータみたいなのを作ったりしていたので、それなりに興味は持っているという人間です。 ですので、どうやって紹介をしようかと悩んだ結果、ほぼ全面的に AST Explore に頼っていくというスタイルにしました。AST Explore は本当に最高ですね。前述の仕事をしていたときはこんな便利なツールはなかったんで、ひたすら AST に変換するコード書いては出来た AST を見て、それをトランスフォームさせて結果と睨めっこして試行錯誤するという毎日でした。 ということで、当日のスライドはこちらになります。 スライドで紹介したデモはそれぞれこちらになります。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回伝えたかったこと まず、AST が JavaScript の発展にとても寄与しているものだということを知ってもらいたかったため、JavaScript AST の今までの簡単な流れや、現在どのような形で使われているのかの説明をしました。(個人的に Node.js の誕生と JavaScript AST の存在が現在のフロントエンドの発展にとても重要だと思っているので) 最初のうちは聞いてる人も「何の話なんだろ…」感がありましたが、やはり実際に自分が使っているツールなどに使われているという説明をしたあとだと、聞いているメンバーも俄然興味が出てきたという雰囲気になった気がします(当社比)。 AST の文法などは自分が説明するよりは、ちゃんと資料が揃っているので必要な部分以外簡略化しました。逆にちょっと端折りすぎたきらいもありますが、興味を持ったときに何となくでも調べる道標くらいにはなるかなと考えています。 次に知ってもらいたかったのは、やろうと思えば Babel のプラグインなんかも AST で作れちゃいますよということでした。仮にいきなり「Babel プラグイン作りましょう」となったとしても正直あまりピンと来ないと思いますが、どういう原理でプロダクトが動いているのか?が分かると、 babel-handbook などを読んでも理解が進むのではないかと思います。 AST Explore のこと このように今回の発表で全面的に活躍した AST Explore ですが、TechLunch 中でも軽い説明だけで使ってしまったので、使いかたなど簡単にご紹介していきます。 AST Explore とは AST Explore は Felix Kling さんが、2014 年頃から開発しているプロダクトです。 余談ですが、Felix さんは現在 Facebook で働いていらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっていらっしゃる模様。(react-docgen は babylon を使っているようですが) ここまで書いてきた通りに、このツールは色々な言語をコピペするだけで AST をツリー形式で分かりやすく表示したり、トランスフォームさせることができたりするという AST を触るには大変便利なツールです。去年の v2.0 のアップデートにより、セーブすると gist を匿名で作ってくれてリンクが生成されるなどの便利機能が付きました。 プロジェクトの README に書いていますが、パーサだけであれば、かなりパースできるものが多く、また JavaScript / CSS / 正規表現 / Handlebars に関してはトランスフォームまでできるようになっています。 README から抜粋すると以下のような感じです。 AST Explore でパースできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実験的だったりするけどパースできるもの ES6: arrow functions, destructuring, classes, … ES7 proposals: async/await, object rest / spread, … JSX Typed JavaScript Flow and TypeScript SASS パースしたものをトランスフォームできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の使い方の簡単な解説 サイトにアクセスするとこのような画面になっているはずです。 メイン画面 JavaScript にフォーカスして解説していきますと、左ペインが AST に変換したいソースコード、右ペインが変換後の AST をツリー構造で見せています。 初期表示時に、左ペインのソースコードをクリックすると該当箇所の AST ツリーが展開してハイライトします。また右ペインをポイントするとソースコードの該当箇所がハイライトします。お互いの関係が分かりやすい仕様になっています。 本来 JavaScript AST で生成されるものは JSON オブジェクトになりますが、右ペインの上の Tree と JSON のタブを切りかえることによって AST の表示を変更することができます。 ヘッダー部分 ヘッダーに色々な機能がまとまっています。 初期表示では以下のようになっているはずです。 Snippet 俗にいうファイルメニュー。 新規作成・(gist への)セーブ・(gist の)フォーク・シェアがある JavaScript パースする言語選択 ここで AST にしたい言語を切り替える 選んだ言語によって Transform が使えなくなる acorn パーサ選択 各言語のパーサを切り替える Transform トランスフォーマ選択 選択した言語にトランスフォーマがあれば選択できるようになる こちらを選択すると 2 ペインだったのが 4 ペインになる(後述) default ソースコードなどを書くときのキーバインド選択 default / Vim / Emacs / Sublime の 4 種類がある うれしみがあります ? ヘルプ GitHub の README に飛ばされるだけです… JavaScript のトランスフォーム 先程説明したトランスフォームを選ぶと、メインの画面が 4 画面になります。 今までの ソースコード と AST ツリー は変わりませんが、下に 2 つペインが追加されます。 左下がトランスフォーマコード、右下がトランスフォームした後のソースコードとなっています。 左下のトランスフォーマを色々触っていくと左上のソースコードが変換されて、右下に表示されるという流れですね。 以下 JavaScript コードのトランスフォームする際の Tips です jscodeshift を選択すると Ctrl + Space で jscodeshift の補完が効くようになります babel-plugin-macro を選ぶとトランスフォーマのコード自体がそのまま babel-plugin として使えるようになるので、プラグイン作るときに捗るはずです まとめ 後で参加メンバーに聞いてみましたが、伝えたかったことは、ちゃんと伝わっていた様子だったので安心しました。最後の Vue.js の v1 から v2 のマイグレーションのデモは紹介した結果、JavaScript AST 便利そうという感触になったと思います。 現在弊社のプロダクトで、JavaScript AST をガッツリと使うようなプロジェクトはないのですが、Babel などは全プロダクトで使用しており、結構プラグインを多用しているところもあるので、いざというときの基礎知識として覚えておいて損はないはずです。 こういった部分の勉強も欠かさず続けていきたいと改めて思う機会にもなりました。 弊社の開発文化など気になる方は、こちらからどうぞ。 メンバーのストーリー | 株式会社メドレー メンバーのストーリー 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
こんにちは!開発本部のエンジニア・後藤です。 メドレーは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor として協賛させていただきました( 昨年 の Ruby Sponsor に続き、2 年目の協賛です)。 イベント当日は、弊社から CTO の平山、採用・広報の阿部と深澤、エンジニアの田中、宍戸、後藤の 6 人が参加しました。今回はその様子などをレポートします。 会場の様子 RubyKaigi 2018 は 仙台国際センター での開催でした。昨年は 広島 、一昨年は 京都 ということで、これで天橋立・宮島・松島の日本三景をめぐる旅が一旦完結になりますね。 仙台国際センターは仙台駅から地下鉄東西線で 3 駅目というアクセスの良い好立地にありながら緑に囲まれた心地よい場所にありました。 メイン会場は 1000 人収容できる広い会場になっています。各セッション、この会場が埋まるぐらいの盛況ぶりでした。 世界地図&日本地図。様々な地域からの参加者がいますね!(rubyists に map メソッドをかましてますね。ブロック内容は各参加者がシールを貼って実装。) 地図の隣のスポンサーボード覧にメドレーロゴがあることを確認してパシャり。 ブースの様子 続いてブースの様子を紹介します。メドレーコーポレートカラーの赤をベースとした以下な感じの仕上がりになりました。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも用意してブースにお越しいただいた方にお配りしていました。ステッカー、うちわ、パンフレットに加えて医療らしさが伝わる絆創膏も用意しました。 ブースにはおかげさまで、たくさんの方にお越しいただきました! CTO 平山の発表 そして、初日の Lightning Talks 前のスポンサーの PR 枠にて弊社の CTO 平山が発表をしました。 発表では、「医療ヘルスケア分野の課題を解決する」というミッションのもとメドレーが 4 つの事業を行っていること、また、以前 本ブログで紹介 しました 3 本のニュースリリースを含めたこの 1 年のアップデート内容を中心に紹介させていただきました。 公演の途中での CTO 平山からメドレーのことを知っている人?との問いかけで、7・ 8 割の方が挙手をしていたのは感慨深かったです。 当日のスライドはこちらです。 現地での反応 ブース展示、PR 枠での発表を通じて以下のような嬉しい反応もいただきました! オンライン診療はもっと普及すべきですね、地方医療の課題解決にも繋がる素晴らしい取り組みだと思う。 #rubikaigi2018 #rubykaigi #メドレー — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切ってしまったけど絆創膏をノベルティで配ってるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブースでも、2 日目以降「1 日目のセッション見ましたよー」と話してくださる方も多く、メドレーとそのプロダクトについて Rubyist の皆様に知っていただくとても良い機会になっていたと思いました。 セッションの様子 エンジニアはブースでの会社紹介の合間に各自気になったセッションを聴講したりもしました。 感覚ですが mruby や型、パフォーマンス周りの話題が多かったように思います。まさに 2018 年現在の Ruby を取り巻く環境を表している感じがします。エンジニアとしてこういった技術のセッションを聞けるのは純粋に楽しいですし、日々の開発に活かせそうなネタもあったりと、とても有意義な時間を過ごせました。 初日の keynote での 1 コマ。 Matz さんの keynote にもありましたが何事も「塞翁が馬」です。毎年 Ruby は死に、そして生まれ変わります(クリスマスに)。Ruby も常に進化していることを肌で感じることのできるセッション群でした。 番外編 さて、メドレー恒例(?)のお参りですが今回は大崎八幡宮に参詣することになりました。 大崎八幡宮の社殿は国宝にも指定されており、安土桃山時代の豪華絢爛な様式の建築でとても雰囲気のある神社でした。 参拝する 3 人。 参拝する 2 人とそれを撮影する 2 人。 さいごに 昨年に引き続きメドレーの RubyKaigi 協賛は 2 度目になりました。 ブースで会社やプロダクトの説明していると「メドレー知ってます」との声を聞く機会も多く、とても嬉しい限りでした。これまで以上に Ruby、医療 ×IT を盛り上げていければという気持ちを胸に仙台を後にしました。 (新幹線から仙台の夕焼けをパシャリ) お知らせ 弊社では「医療 x IT への挑戦」に取り組みたいエンジニアのみなさんを心からお待ちしております! 興味がある方は、こちらの「話を聞いてみたい」からご連絡ください。 About 株式会社メドレー - Wantedly You can read employee interviews and the latest company's initiative of 株式会社メドレー. 急速な高齢化や医療費の高騰、医療現場の疲弊が叫ばれる中で、このままでは家計を大きく圧迫して支えきれなくなり、日本の医療は崩壊してしまいます。この状態を解消するための鍵が「医療現場におけるクラウド活用を駆使した業務効率化」です。 しかし日本では、半数以上の医療機関がいまだに紙カルテを利用しているなど、クラウド化は疎かデジタル活用も進んでいないのが現状です。私たちはテクノロジーを活用した事業やプロジェクトを通じて、医療ヘルスケア分野のデジタル活用を推進し、日本の未来を作るための取り組みを行っていきます。 www.wantedly.com 開発本部の雰囲気をもっと知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは!開発本部のエンジニア・後藤です。 メドレーは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor として協賛させていただきました( 昨年 の Ruby Sponsor に続き、2 年目の協賛です)。 イベント当日は、弊社から CTO の平山、採用・広報の阿部と深澤、エンジニアの田中、宍戸、後藤の 6 人が参加しました。今回はその様子などをレポートします。 会場の様子 RubyKaigi 2018 は 仙台国際センター での開催でした。昨年は 広島 、一昨年は 京都 ということで、これで天橋立・宮島・松島の日本三景をめぐる旅が一旦完結になりますね。 仙台国際センターは仙台駅から地下鉄東西線で 3 駅目というアクセスの良い好立地にありながら緑に囲まれた心地よい場所にありました。 メイン会場は 1000 人収容できる広い会場になっています。各セッション、この会場が埋まるぐらいの盛況ぶりでした。 世界地図&日本地図。様々な地域からの参加者がいますね!(rubyists に map メソッドをかましてますね。ブロック内容は各参加者がシールを貼って実装。) 地図の隣のスポンサーボード覧にメドレーロゴがあることを確認してパシャり。 ブースの様子 続いてブースの様子を紹介します。メドレーコーポレートカラーの赤をベースとした以下な感じの仕上がりになりました。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも用意してブースにお越しいただいた方にお配りしていました。ステッカー、うちわ、パンフレットに加えて医療らしさが伝わる絆創膏も用意しました。 ブースにはおかげさまで、たくさんの方にお越しいただきました! CTO 平山の発表 そして、初日の Lightning Talks 前のスポンサーの PR 枠にて弊社の CTO 平山が発表をしました。 発表では、「医療ヘルスケア分野の課題を解決する」というミッションのもとメドレーが 4 つの事業を行っていること、また、以前 本ブログで紹介 しました 3 本のニュースリリースを含めたこの 1 年のアップデート内容を中心に紹介させていただきました。 公演の途中での CTO 平山からメドレーのことを知っている人?との問いかけで、7・ 8 割の方が挙手をしていたのは感慨深かったです。 当日のスライドはこちらです。 現地での反応 ブース展示、PR 枠での発表を通じて以下のような嬉しい反応もいただきました! オンライン診療はもっと普及すべきですね、地方医療の課題解決にも繋がる素晴らしい取り組みだと思う。 #rubikaigi2018 #rubykaigi #メドレー — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切ってしまったけど絆創膏をノベルティで配ってるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブースでも、2 日目以降「1 日目のセッション見ましたよー」と話してくださる方も多く、メドレーとそのプロダクトについて Rubyist の皆様に知っていただくとても良い機会になっていたと思いました。 セッションの様子 エンジニアはブースでの会社紹介の合間に各自気になったセッションを聴講したりもしました。 感覚ですが mruby や型、パフォーマンス周りの話題が多かったように思います。まさに 2018 年現在の Ruby を取り巻く環境を表している感じがします。エンジニアとしてこういった技術のセッションを聞けるのは純粋に楽しいですし、日々の開発に活かせそうなネタもあったりと、とても有意義な時間を過ごせました。 初日の keynote での 1 コマ。 Matz さんの keynote にもありましたが何事も「塞翁が馬」です。毎年 Ruby は死に、そして生まれ変わります(クリスマスに)。Ruby も常に進化していることを肌で感じることのできるセッション群でした。 番外編 さて、メドレー恒例(?)のお参りですが今回は大崎八幡宮に参詣することになりました。 大崎八幡宮の社殿は国宝にも指定されており、安土桃山時代の豪華絢爛な様式の建築でとても雰囲気のある神社でした。 参拝する 3 人。 参拝する 2 人とそれを撮影する 2 人。 さいごに 昨年に引き続きメドレーの RubyKaigi 協賛は 2 度目になりました。 ブースで会社やプロダクトの説明していると「メドレー知ってます」との声を聞く機会も多く、とても嬉しい限りでした。これまで以上に Ruby、医療 ×IT を盛り上げていければという気持ちを胸に仙台を後にしました。 (新幹線から仙台の夕焼けをパシャリ) お知らせ 弊社では「医療 x IT への挑戦」に取り組みたいエンジニアのみなさんを心からお待ちしております! 興味がある方は、こちらの「話を聞いてみたい」からご連絡ください。 https://www.wantedly.com/companies/medley 開発本部の雰囲気をもっと知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは!開発本部のエンジニア・後藤です。 メドレーは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor として協賛させていただきました( 昨年 の Ruby Sponsor に続き、2 年目の協賛です)。 イベント当日は、弊社から CTO の平山、採用・広報の阿部と深澤、エンジニアの田中、宍戸、後藤の 6 人が参加しました。今回はその様子などをレポートします。 会場の様子 RubyKaigi 2018 は 仙台国際センター での開催でした。昨年は 広島 、一昨年は 京都 ということで、これで天橋立・宮島・松島の日本三景をめぐる旅が一旦完結になりますね。 仙台国際センターは仙台駅から地下鉄東西線で 3 駅目というアクセスの良い好立地にありながら緑に囲まれた心地よい場所にありました。 メイン会場は 1000 人収容できる広い会場になっています。各セッション、この会場が埋まるぐらいの盛況ぶりでした。 世界地図&日本地図。様々な地域からの参加者がいますね!(rubyists に map メソッドをかましてますね。ブロック内容は各参加者がシールを貼って実装。) 地図の隣のスポンサーボード覧にメドレーロゴがあることを確認してパシャり。 ブースの様子 続いてブースの様子を紹介します。メドレーコーポレートカラーの赤をベースとした以下な感じの仕上がりになりました。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも用意してブースにお越しいただいた方にお配りしていました。ステッカー、うちわ、パンフレットに加えて医療らしさが伝わる絆創膏も用意しました。 ブースにはおかげさまで、たくさんの方にお越しいただきました! CTO 平山の発表 そして、初日の Lightning Talks 前のスポンサーの PR 枠にて弊社の CTO 平山が発表をしました。 発表では、「医療ヘルスケア分野の課題を解決する」というミッションのもとメドレーが 4 つの事業を行っていること、また、以前 本ブログで紹介 しました 3 本のニュースリリースを含めたこの 1 年のアップデート内容を中心に紹介させていただきました。 公演の途中での CTO 平山からメドレーのことを知っている人?との問いかけで、7・ 8 割の方が挙手をしていたのは感慨深かったです。 当日のスライドはこちらです。 現地での反応 ブース展示、PR 枠での発表を通じて以下のような嬉しい反応もいただきました! オンライン診療はもっと普及すべきですね、地方医療の課題解決にも繋がる素晴らしい取り組みだと思う。 #rubikaigi2018 #rubykaigi #メドレー — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切ってしまったけど絆創膏をノベルティで配ってるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブースでも、2 日目以降「1 日目のセッション見ましたよー」と話してくださる方も多く、メドレーとそのプロダクトについて Rubyist の皆様に知っていただくとても良い機会になっていたと思いました。 セッションの様子 エンジニアはブースでの会社紹介の合間に各自気になったセッションを聴講したりもしました。 感覚ですが mruby や型、パフォーマンス周りの話題が多かったように思います。まさに 2018 年現在の Ruby を取り巻く環境を表している感じがします。エンジニアとしてこういった技術のセッションを聞けるのは純粋に楽しいですし、日々の開発に活かせそうなネタもあったりと、とても有意義な時間を過ごせました。 初日の keynote での 1 コマ。 Matz さんの keynote にもありましたが何事も「塞翁が馬」です。毎年 Ruby は死に、そして生まれ変わります(クリスマスに)。Ruby も常に進化していることを肌で感じることのできるセッション群でした。 番外編 さて、メドレー恒例(?)のお参りですが今回は大崎八幡宮に参詣することになりました。 大崎八幡宮の社殿は国宝にも指定されており、安土桃山時代の豪華絢爛な様式の建築でとても雰囲気のある神社でした。 参拝する 3 人。 参拝する 2 人とそれを撮影する 2 人。 さいごに 昨年に引き続きメドレーの RubyKaigi 協賛は 2 度目になりました。 ブースで会社やプロダクトの説明していると「メドレー知ってます」との声を聞く機会も多く、とても嬉しい限りでした。これまで以上に Ruby、医療 ×IT を盛り上げていければという気持ちを胸に仙台を後にしました。 (新幹線から仙台の夕焼けをパシャリ) お知らせ 弊社では「医療 x IT への挑戦」に取り組みたいエンジニアのみなさんを心からお待ちしております! 興味がある方は、こちらの「話を聞いてみたい」からご連絡ください。 About 株式会社メドレー - Wantedly You can read employee interviews and the latest company's initiative of 株式会社メドレー. 急速な高齢化や医療費の高騰、医療現場の疲弊が叫ばれる中で、このままでは家計を大きく圧迫して支えきれなくなり、日本の医療は崩壊してしまいます。この状態を解消するための鍵が「医療現場におけるクラウド活用を駆使した業務効率化」です。 しかし日本では、半数以上の医療機関がいまだに紙カルテを利用しているなど、クラウド化は疎かデジタル活用も進んでいないのが現状です。私たちはテクノロジーを活用した事業やプロジェクトを通じて、医療ヘルスケア分野のデジタル活用を推進し、日本の未来を作るための取り組みを行っていきます。 www.wantedly.com 開発本部の雰囲気をもっと知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは!開発本部のエンジニア・後藤です。 メドレーは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor として協賛させていただきました( 昨年 の Ruby Sponsor に続き、2 年目の協賛です)。 イベント当日は、弊社から CTO の平山、採用・広報の阿部と深澤、エンジニアの田中、宍戸、後藤の 6 人が参加しました。今回はその様子などをレポートします。 会場の様子 RubyKaigi 2018 は 仙台国際センター での開催でした。昨年は 広島 、一昨年は 京都 ということで、これで天橋立・宮島・松島の日本三景をめぐる旅が一旦完結になりますね。 仙台国際センターは仙台駅から地下鉄東西線で 3 駅目というアクセスの良い好立地にありながら緑に囲まれた心地よい場所にありました。 メイン会場は 1000 人収容できる広い会場になっています。各セッション、この会場が埋まるぐらいの盛況ぶりでした。 世界地図&日本地図。様々な地域からの参加者がいますね!(rubyists に map メソッドをかましてますね。ブロック内容は各参加者がシールを貼って実装。) 地図の隣のスポンサーボード覧にメドレーロゴがあることを確認してパシャり。 ブースの様子 続いてブースの様子を紹介します。メドレーコーポレートカラーの赤をベースとした以下な感じの仕上がりになりました。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも用意してブースにお越しいただいた方にお配りしていました。ステッカー、うちわ、パンフレットに加えて医療らしさが伝わる絆創膏も用意しました。 ブースにはおかげさまで、たくさんの方にお越しいただきました! CTO 平山の発表 そして、初日の Lightning Talks 前のスポンサーの PR 枠にて弊社の CTO 平山が発表をしました。 発表では、「医療ヘルスケア分野の課題を解決する」というミッションのもとメドレーが 4 つの事業を行っていること、また、以前 本ブログで紹介 しました 3 本のニュースリリースを含めたこの 1 年のアップデート内容を中心に紹介させていただきました。 公演の途中での CTO 平山からメドレーのことを知っている人?との問いかけで、7・ 8 割の方が挙手をしていたのは感慨深かったです。 当日のスライドはこちらです。 現地での反応 ブース展示、PR 枠での発表を通じて以下のような嬉しい反応もいただきました! オンライン診療はもっと普及すべきですね、地方医療の課題解決にも繋がる素晴らしい取り組みだと思う。 #rubikaigi2018 #rubykaigi #メドレー — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切ってしまったけど絆創膏をノベルティで配ってるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブースでも、2 日目以降「1 日目のセッション見ましたよー」と話してくださる方も多く、メドレーとそのプロダクトについて Rubyist の皆様に知っていただくとても良い機会になっていたと思いました。 セッションの様子 エンジニアはブースでの会社紹介の合間に各自気になったセッションを聴講したりもしました。 感覚ですが mruby や型、パフォーマンス周りの話題が多かったように思います。まさに 2018 年現在の Ruby を取り巻く環境を表している感じがします。エンジニアとしてこういった技術のセッションを聞けるのは純粋に楽しいですし、日々の開発に活かせそうなネタもあったりと、とても有意義な時間を過ごせました。 初日の keynote での 1 コマ。 Matz さんの keynote にもありましたが何事も「塞翁が馬」です。毎年 Ruby は死に、そして生まれ変わります(クリスマスに)。Ruby も常に進化していることを肌で感じることのできるセッション群でした。 番外編 さて、メドレー恒例(?)のお参りですが今回は大崎八幡宮に参詣することになりました。 大崎八幡宮の社殿は国宝にも指定されており、安土桃山時代の豪華絢爛な様式の建築でとても雰囲気のある神社でした。 参拝する 3 人。 参拝する 2 人とそれを撮影する 2 人。 さいごに 昨年に引き続きメドレーの RubyKaigi 協賛は 2 度目になりました。 ブースで会社やプロダクトの説明していると「メドレー知ってます」との声を聞く機会も多く、とても嬉しい限りでした。これまで以上に Ruby、医療 ×IT を盛り上げていければという気持ちを胸に仙台を後にしました。 (新幹線から仙台の夕焼けをパシャリ) お知らせ 弊社では「医療 x IT への挑戦」に取り組みたいエンジニアのみなさんを心からお待ちしております! 興味がある方は、こちらの「話を聞いてみたい」からご連絡ください。 About 株式会社メドレー - Wantedly You can read employee interviews and the latest company's initiative of 株式会社メドレー. 急速な高齢化や医療費の高騰、医療現場の疲弊が叫ばれる中で、このままでは家計を大きく圧迫して支えきれなくなり、日本の医療は崩壊してしまいます。この状態を解消するための鍵が「医療現場におけるクラウド活用を駆使した業務効率化」です。 しかし日本では、半数以上の医療機関がいまだに紙カルテを利用しているなど、クラウド化は疎かデジタル活用も進んでいないのが現状です。私たちはテクノロジーを活用した事業やプロジェクトを通じて、医療ヘルスケア分野のデジタル活用を推進し、日本の未来を作るための取り組みを行っていきます。 www.wantedly.com 開発本部の雰囲気をもっと知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは!開発本部のエンジニア・後藤です。 メドレーは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor として協賛させていただきました( 昨年 の Ruby Sponsor に続き、2 年目の協賛です)。 イベント当日は、弊社から CTO の平山、採用・広報の阿部と深澤、エンジニアの田中、宍戸、後藤の 6 人が参加しました。今回はその様子などをレポートします。 会場の様子 RubyKaigi 2018 は 仙台国際センター での開催でした。昨年は 広島 、一昨年は 京都 ということで、これで天橋立・宮島・松島の日本三景をめぐる旅が一旦完結になりますね。 仙台国際センターは仙台駅から地下鉄東西線で 3 駅目というアクセスの良い好立地にありながら緑に囲まれた心地よい場所にありました。 メイン会場は 1000 人収容できる広い会場になっています。各セッション、この会場が埋まるぐらいの盛況ぶりでした。 世界地図&日本地図。様々な地域からの参加者がいますね!(rubyists に map メソッドをかましてますね。ブロック内容は各参加者がシールを貼って実装。) 地図の隣のスポンサーボード覧にメドレーロゴがあることを確認してパシャり。 ブースの様子 続いてブースの様子を紹介します。メドレーコーポレートカラーの赤をベースとした以下な感じの仕上がりになりました。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも用意してブースにお越しいただいた方にお配りしていました。ステッカー、うちわ、パンフレットに加えて医療らしさが伝わる絆創膏も用意しました。 ブースにはおかげさまで、たくさんの方にお越しいただきました! CTO 平山の発表 そして、初日の Lightning Talks 前のスポンサーの PR 枠にて弊社の CTO 平山が発表をしました。 発表では、「医療ヘルスケア分野の課題を解決する」というミッションのもとメドレーが 4 つの事業を行っていること、また、以前 本ブログで紹介 しました 3 本のニュースリリースを含めたこの 1 年のアップデート内容を中心に紹介させていただきました。 公演の途中での CTO 平山からメドレーのことを知っている人?との問いかけで、7・ 8 割の方が挙手をしていたのは感慨深かったです。 当日のスライドはこちらです。 現地での反応 ブース展示、PR 枠での発表を通じて以下のような嬉しい反応もいただきました! オンライン診療はもっと普及すべきですね、地方医療の課題解決にも繋がる素晴らしい取り組みだと思う。 #rubikaigi2018 #rubykaigi #メドレー — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切ってしまったけど絆創膏をノベルティで配ってるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブースでも、2 日目以降「1 日目のセッション見ましたよー」と話してくださる方も多く、メドレーとそのプロダクトについて Rubyist の皆様に知っていただくとても良い機会になっていたと思いました。 セッションの様子 エンジニアはブースでの会社紹介の合間に各自気になったセッションを聴講したりもしました。 感覚ですが mruby や型、パフォーマンス周りの話題が多かったように思います。まさに 2018 年現在の Ruby を取り巻く環境を表している感じがします。エンジニアとしてこういった技術のセッションを聞けるのは純粋に楽しいですし、日々の開発に活かせそうなネタもあったりと、とても有意義な時間を過ごせました。 初日の keynote での 1 コマ。 Matz さんの keynote にもありましたが何事も「塞翁が馬」です。毎年 Ruby は死に、そして生まれ変わります(クリスマスに)。Ruby も常に進化していることを肌で感じることのできるセッション群でした。 番外編 さて、メドレー恒例(?)のお参りですが今回は大崎八幡宮に参詣することになりました。 大崎八幡宮の社殿は国宝にも指定されており、安土桃山時代の豪華絢爛な様式の建築でとても雰囲気のある神社でした。 参拝する 3 人。 参拝する 2 人とそれを撮影する 2 人。 さいごに 昨年に引き続きメドレーの RubyKaigi 協賛は 2 度目になりました。 ブースで会社やプロダクトの説明していると「メドレー知ってます」との声を聞く機会も多く、とても嬉しい限りでした。これまで以上に Ruby、医療 ×IT を盛り上げていければという気持ちを胸に仙台を後にしました。 (新幹線から仙台の夕焼けをパシャリ) お知らせ 弊社では「医療 x IT への挑戦」に取り組みたいエンジニアのみなさんを心からお待ちしております! 興味がある方は、こちらの「話を聞いてみたい」からご連絡ください。 About 株式会社メドレー - Wantedly You can read employee interviews and the latest company's initiative of 株式会社メドレー. 急速な高齢化や医療費の高騰、医療現場の疲弊が叫ばれる中で、このままでは家計を大きく圧迫して支えきれなくなり、日本の医療は崩壊してしまいます。この状態を解消するための鍵が「医療現場におけるクラウド活用を駆使した業務効率化」です。 しかし日本では、半数以上の医療機関がいまだに紙カルテを利用しているなど、クラウド化は疎かデジタル活用も進んでいないのが現状です。私たちはテクノロジーを活用した事業やプロジェクトを通じて、医療ヘルスケア分野のデジタル活用を推進し、日本の未来を作るための取り組みを行っていきます。 www.wantedly.com 開発本部の雰囲気をもっと知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは!開発本部のエンジニア・後藤です。 メドレーは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor として協賛させていただきました( 昨年 の Ruby Sponsor に続き、2 年目の協賛です)。 イベント当日は、弊社から CTO の平山、採用・広報の阿部と深澤、エンジニアの田中、宍戸、後藤の 6 人が参加しました。今回はその様子などをレポートします。 会場の様子 RubyKaigi 2018 は 仙台国際センター での開催でした。昨年は 広島 、一昨年は 京都 ということで、これで天橋立・宮島・松島の日本三景をめぐる旅が一旦完結になりますね。 仙台国際センターは仙台駅から地下鉄東西線で 3 駅目というアクセスの良い好立地にありながら緑に囲まれた心地よい場所にありました。 メイン会場は 1000 人収容できる広い会場になっています。各セッション、この会場が埋まるぐらいの盛況ぶりでした。 世界地図&日本地図。様々な地域からの参加者がいますね!(rubyists に map メソッドをかましてますね。ブロック内容は各参加者がシールを貼って実装。) 地図の隣のスポンサーボード覧にメドレーロゴがあることを確認してパシャり。 ブースの様子 続いてブースの様子を紹介します。メドレーコーポレートカラーの赤をベースとした以下な感じの仕上がりになりました。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも用意してブースにお越しいただいた方にお配りしていました。ステッカー、うちわ、パンフレットに加えて医療らしさが伝わる絆創膏も用意しました。 ブースにはおかげさまで、たくさんの方にお越しいただきました! CTO 平山の発表 そして、初日の Lightning Talks 前のスポンサーの PR 枠にて弊社の CTO 平山が発表をしました。 発表では、「医療ヘルスケア分野の課題を解決する」というミッションのもとメドレーが 4 つの事業を行っていること、また、以前 本ブログで紹介 しました 3 本のニュースリリースを含めたこの 1 年のアップデート内容を中心に紹介させていただきました。 公演の途中での CTO 平山からメドレーのことを知っている人?との問いかけで、7・ 8 割の方が挙手をしていたのは感慨深かったです。 当日のスライドはこちらです。 現地での反応 ブース展示、PR 枠での発表を通じて以下のような嬉しい反応もいただきました! オンライン診療はもっと普及すべきですね、地方医療の課題解決にも繋がる素晴らしい取り組みだと思う。 #rubikaigi2018 #rubykaigi #メドレー — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切ってしまったけど絆創膏をノベルティで配ってるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブースでも、2 日目以降「1 日目のセッション見ましたよー」と話してくださる方も多く、メドレーとそのプロダクトについて Rubyist の皆様に知っていただくとても良い機会になっていたと思いました。 セッションの様子 エンジニアはブースでの会社紹介の合間に各自気になったセッションを聴講したりもしました。 感覚ですが mruby や型、パフォーマンス周りの話題が多かったように思います。まさに 2018 年現在の Ruby を取り巻く環境を表している感じがします。エンジニアとしてこういった技術のセッションを聞けるのは純粋に楽しいですし、日々の開発に活かせそうなネタもあったりと、とても有意義な時間を過ごせました。 初日の keynote での 1 コマ。 Matz さんの keynote にもありましたが何事も「塞翁が馬」です。毎年 Ruby は死に、そして生まれ変わります(クリスマスに)。Ruby も常に進化していることを肌で感じることのできるセッション群でした。 番外編 さて、メドレー恒例(?)のお参りですが今回は大崎八幡宮に参詣することになりました。 大崎八幡宮の社殿は国宝にも指定されており、安土桃山時代の豪華絢爛な様式の建築でとても雰囲気のある神社でした。 参拝する 3 人。 参拝する 2 人とそれを撮影する 2 人。 さいごに 昨年に引き続きメドレーの RubyKaigi 協賛は 2 度目になりました。 ブースで会社やプロダクトの説明していると「メドレー知ってます」との声を聞く機会も多く、とても嬉しい限りでした。これまで以上に Ruby、医療 ×IT を盛り上げていければという気持ちを胸に仙台を後にしました。 (新幹線から仙台の夕焼けをパシャリ) お知らせ 弊社では「医療 x IT への挑戦」に取り組みたいエンジニアのみなさんを心からお待ちしております! 興味がある方は、こちらの「話を聞いてみたい」からご連絡ください。 About 株式会社メドレー - Wantedly You can read employee interviews and the latest company's initiative of 株式会社メドレー. 急速な高齢化や医療費の高騰、医療現場の疲弊が叫ばれる中で、このままでは家計を大きく圧迫して支えきれなくなり、日本の医療は崩壊してしまいます。この状態を解消するための鍵が「医療現場におけるクラウド活用を駆使した業務効率化」です。 しかし日本では、半数以上の医療機関がいまだに紙カルテを利用しているなど、クラウド化は疎かデジタル活用も進んでいないのが現状です。私たちはテクノロジーを活用した事業やプロジェクトを通じて、医療ヘルスケア分野のデジタル活用を推進し、日本の未来を作るための取り組みを行っていきます。 www.wantedly.com 開発本部の雰囲気をもっと知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html