iPhoneとFileMakerと
バーコード
※※FileMaker19.5のバーコードリーダーがついに医薬品のGS1に対応しました。なんと時間のかかったことか・・・。
医薬品のバーコードに対応したアプリなんかないかな?と探していたらそのようなことを書いておられる方が。
さっそく試用版で試したところ「バッチリ」対応しておりました。ヒート裏のバーコード読めます。外箱の色付きも問題なく読み取れました。
CC-Aには対応していないのであくまで医薬品部分だけになりますが、医療系の人はできることがかなり増えるのではないでしょうか。
ARMのWindowsにとても期待していたのですが、出てきた製品は・・・いや、携帯電話サイズ出すんじゃなかったの?そんなすでにあるサイズなんていらねーし。と思ったのは私だけかもしれませんが、やはりポケットに収まる機械を監査端末として利用できたら便利そうです。
一昔前に流行ったUMPCみたいなのは無いかなあと探してみましたが、GDPWINはポケットには入りそうですが、あのタイプはいちいちベッドサイドでPCを開く必要があるので使いにくそうですし、ARROWS Tab V567/Pは高額すぎ、Ockel Sirius Aってのも富士通よりは安いけど、それでも高額ですし、この手の商品なので壊れた時の保証も怪しい。となると行きつくところはandroidかiPhoneですよ。
そこでまずはandroidです。安い端末沢山売ってますし、日頃がWin+androidなので。
android studio落としてきて、どうやってSQLにつなぐかなあと調べていたのですが、PHPがどうのこうの・・・javaだけじゃすみそうにない・・・。
正直そこまで開発に時間かけたく無いですし、大したことをしたい訳でも無い。もっと簡単に今のシステムと連動できないかなあと思っていたいたところ、目についたのが
「FileMaker」
確かあれiPhoneと連動できると聞いたような・・・・。
早速調べてみたところ、FileMakeProとiOS用の
FileMakerGO
を使うといけるらしい。
電話をする訳でも無いので端末はiPod touchで十分ですし、それならandroidの端末と価格も大して変わりません。
無線式のバーコードリーダーの価格で購入できてしまいます。
ということで、Accessしかさわったことがない素人が、FileMakerに手をのばしてみようかと・・・。
FileMakerの価格とiPod touchの価格あわせたら、Ockel Sirius A買えるんじゃね?とか思いますけど、将来的に端末増やすなら、結局FileMakerとiPodのセットの方が安くなりますので。
ただ、やっぱりFileMakerは高い!
使えるかどうか分からないものに4万とか7万とか出すのは勇気いります。
iOSのFileMakerGOは無料ですが、PC同士でデータを共有しようと思えば結構なライセンスが発生し、Accessに比べてかなり高額になります。
同時接続数って何よ?まあ私には関係なさそうですけど。
PC用のRuntimeとか無いみたいですし。(あります。でもファイル共有できないようです。Advancedに作成できるように付いてます。)
まあFilemakerGOがAccessのRuntimeみたいなもんですかね。
そしてAccessに比べて情報が少ない・・・と感じたのも私だけかもしれませんが、初心者のための情報がAccessに比べてかなり少なく感じました。
正直、やりたいことができるのか不安に・・・。(まあそんな中にも何でここまで公開してくれてるの?というサイトもありますけど)
さすがに本を一冊買ってみました。どこで色々設定できるのか、画面構成がさっぱり分からなかったので。
まず試したのは
MySQL上のデータをiPod touchで見られるのか。
これはあっけなくできてしまいました。
※注意windowsです。リンゴだとかなり大変みたいです。
FileMaker Proを間に挟んで起動させ、Drが持っていた、ちょっと型落ちで背面カメラの無いiPod touchをお借りしてFileMakerGOを入れて試したところ、あまりの簡単さに
「え、これだけ?」
っていうくらい。
無線LAN環境下だとiPodにiTunesを使って作ったファイルを入れる必要もありません。同一ネットワーク内にFileMakerProが無いか、勝手にさがしてくれるみたいで、候補が出て来て選ぶだけでした。
これができただけでFileMakerやるじゃんと思ってしまいました。
他の方法で素人が1日で携帯端末から接続なんてできないですし。
7万の価値はあった・・・かな。
因みにFileMaker15とMySQLのODBC接続はFileMakerに合わせて64bit でいけました。
これでPCからは今まで通りAccessを使って、モバイル端末からはFileMakerとiOS端末使えば色々できそうです。
※32bit版でも動くのですが、FileMakerが頻繁に落ちました。
次に試そうとしたのが
これです。
上の画面はAccessですが、まずは他とのデータ共有とかも必要の無い、iPodやiPhone単独で動くやつ。1回目と2回目に読み込んだバーコードが違っていたら「警告音」が鳴るというやつです。ホームに上げてある動画みたいな患者監査に使いたいなと。
そこで色々調べていたら、FileMakerにはAccessでいうマクロみたいなのにちゃんと
「バーコードリーダー起動」
というコマンドがあるではないですか。
どのくらいの精度なのか職場のiPhone SE持ってるやつに
「ちょっと読めるか試して」
と分包紙に印字したバーコードで試したら、あっさり読めるし・・・。
MS910より断然読み取りがいいです。
さらに、対応バーコードの中にGS1が入っている。
これもやっぱり試しておかなくてはと思いまして、これまたDrのiPhone6sで試したところ・・・ダメでした。まあなんとなくそんな気はしていましたが。
フリーソフトで白い紙に印刷したGS1は読んでくれるのですが、薬剤のヒートに印刷されたものは読めませんでした。外箱も。まあ色々機種もありますが、FM15は対応してないみたいです。
GS1っていっていも種類多いですから。GS1 Databar Limitedはダメらしい。※8+もダメでした。まあ当たり前ですね。機種の問題ではありません。
薬剤関係のソフトで、あれ読み取って検索できるソフトあるので開発はされてるのでしょうが、きっと高額なライブラリになるんでしょう。
まあ読み取れないなら今あるバーコードリーダー使えばいいだけなので。
選択肢の中には確かにGS1があるのですが・・・。
※医薬品集ソフト「治療○ハン○ブック」Android版の方なのですが、試しに3ヶ月使えるようなのでお試しさせていただきました。
目的は医薬品集としてではなく、ただ単にヒートの裏のバーコード読めるのか?ってだけなんですが。
(お前は何屋だ?)
結果から言いますと・・・読み取りに時間かかりすぎます・・・。読み取れると言えば読み取れますが、日頃からバーコードリーダー使いまくってる私から言うと、
「あれを読み取って検索に使えるみたいな宣伝の仕方はダメなんじゃ無いの?バーコード読み取る時間があったら普通に検索した方が早いってどうなのよ?」
(あくまで個人的な感想なのでスルーして下さい。私にはバーコード解析なんて作れませんし、作ろうとも思いません。バーコード検索機能はあくまでおまけとしておけば、医薬品集としてはすばらしい物なのは皆さんご存じと思いますので。[[バーコードで検索できます]]が売りみたいな感じになってるけどそこは・・・ってだけです。)
※時間がたてば、ここらあたりも改善されていくのでしょう。
ということで、早速よく分からないけど上のソフトを作ってみようかと思ったのですが、いきなりつまずきます。
実はAccessで作った上のソフト、テーブルがありません。フォームだけで動きます。
同じようにFileMakerでフォーム作ってテキストボックス配置して・・・と思ったら、FileMakerはAccessでは当たり前に使える非連結のテキストボックスが使えないそうな・・・。
そうと分かれば作業用のテーブル作ればいいので、テーブルを一つ作りまして、編集ボックス(Accessでいうテキストボックス)を適当に配置、バーコードリーダー起動のボタンを作って試してみたら、目的の部分にバーコードデータを表示させることができました。
こりゃすごい。
(ホントはグローバルフィールドとかも使うといいのかな?まあFileMakerさわって2日目なので勘弁してください。その程度触っただけでも作れてしまうソフトってことです。Excelでマクロ触ったことがある人ならいけると思います。)
あとはAccessで作った仕組みをFileMaker用に修正してあげればいいだけだと思いまして、OnObjectSaveっていう、おそらくAccessの更新後処理みたいなところに設定してみたところ、無限ループにはまってしまいました。
なぜ?と色々考えてみたのですが、どうやら実行のタイミングに問題があるようだと。
Accessの場合、あるテキストボックスA,Bがあって、AにBをコピーしようと思ったら、[テキストボックスA]=Me.Bで済むのですが、初めてさわったFileMakerでよくわからなかったので、コピー、貼り付け、削除を使ったのですが、最後に組み込んだ処理が、場合によってはフィールドのデータが更新されたと判定され、さらなるプログラムの開始条件になってしまったためだろうと。
スクリプトトリガをOnObjectModifyに変えて、コピー貼り付け削除からフィールドデータの全置換(フィールドの設定でもいいのかな?)に修正してあげたら止まりました。
あとはバーコードが違ったら警告音を鳴らせばいいだけなので、警告音のコマンドを追加してできあがり・・・と思ったら、警告音聞こえない・・・。こんなのじゃ全然警告にならない・・・。
ネットを調べても同じようにあの「警告音」聞こえないって情報と、初心者には何言ってるのかよく分からない情報ばかり。
どうにかならないものかと思っていたら、FileMakerはオブジェクトをレコードに保存できるらしい。
ここに警告音と、合っていた時の音源を保存してそれぞれのタイミングで鳴らしてあげればそれっぽくなるのでは?ということでまずは警告画面を作ってみました。
うまくいきました。バーコードが違っていればこの画面に切り替わるようにするだけで「ブブー」っていいます。
今度は合っていた場合、そのままの画面で音だけ「ピンポーン」ってしたかったのですが、うまくいかない。そこで間違っていた時同様、画面を切り替えて音を鳴らせばいいかなと。
ということで、初めてのFileMakerGO用ソフトが完成しました。
Accessの知識とネットで簡単に検索しただけですが、なんとなくできました。出来上がったフォームはAccessより少しおしゃれかな?と感じましたがどうでしょうか。角を丸くする機能なんてAccessにはないですからね。
iOS前提で作成ということは、指でさわること前提となります。となると、編集ボックスとかボタン類もある程度の大きさが必要になり、1つの画面に配置できる項目数もPC用の画面のそれに比べてかなり割り切ったものにする必要があるかもしれません。
FileMakerの画面の方がすっきりして見えたのはそう言った部分のおかげもあるかもしれません。
よくAccessとFileMakerどっちがいいのみたいなのありますけど、やりたいことができるならどっちでもいいと思います。どっちも使える方が便利だとは思います。
作りたいものによって向き不向きはあると思いますが、それが言えるのはどちらもさわったことある人だけですから。
※ODBC接続を使いたいならおそらくリンゴより窓の方が楽。
FileMakerだけで全てを済まそうとされる方には関係ありませんが、MySQLにAccessとFileMaker両方から接続しようとした場合、Windowsの方が楽です。というか、私はMacからはあきらめました。まあもともとwindowsがメインなのであきらめたというのも何なのですが、ODBCの設定がリンゴはかなり大変らしい・・・。
Windowsですぐにできたので、同じようにMacでと思ったら、MySQLへのIPアドレス設定すらできない・・・。
調べたら、かなりのスキルがないと無理そう。できたとしてもMySQLから落としてきたODBCドライバーはやめた方がいいとか、できるけど有料のものを使うとか・・・。FileMakerのサイトからもドライバが落とせるので試してみましたが私にはちょっとできませんでした。
ということで、心おきなくwindowsでと思っていたのですが、MySQLのODBCドライバは32bitと64bitを同時に入れられないみたい。(私だけ?)
ということは、同じPCからAccess(32)とFileMaker(64)を同時には使えないってことで、Accessはこっち、FileMakerはあっちのPCからってしないといけないのかな・・・。
まあ、FileMakerも32bit使う、もしくはVirtualBoxという手段もありますが・・・。
友人に書きすぎだといわれました。アイデアをとられるだけだと。
作れる人は画面を見るだけで作れてしまうのもこういったものの宿命だったりするんです。それもあるのですべてを載せてるわけでもないのですが、これを元に少しでもいいものが開発されるなら少しは医療に貢献したと言えるのかとちょっとカッコいいことを考えてみたり。