少し前まで iPhone 6s を長いこと使ってましたが、バッテリーもダメになり、ダメ押しで落として液晶大破した折に、機種変ついでに Android にしました。
そのiPhoneではお薬手帳アプリを使ってまして、記録データは端末内に保存されているので、これを新端末のアプリに移行したい。
ところが、念のため2種類のアプリで同じ情報を二重管理していたにも関わらず、いざ機種変しようとしたら、その2つとも Android のアプリがない。というか、iPhone の App Store からも姿を消していた。諸行無常。
どちらのアプリも、同じアプリ間で機種変の際にデータを引き継ぐためのエクスポート&インポート機能はあるが、別のアプリに移行することを前提としたものではなさそう。
仕方がないので、リバースエンジニアリングです。
いろいろ調べたこととか、移行先をどのアプリにするか検討したことなど記録しておく。
移行元アプリでエクスポートされるファイル
もともと使っていたアプリは以下の2つ。
KUSMO お薬手帳
2014年9月リリースのアプリ。もう影も形もない。
使用バージョンは v1.2.1。アップデートをさぼってたので全然最新版になってなかったと思う。
参考:スマホで処方箋送信と自店の薬情が表示できる、調剤薬局向けの「KUSMO(クスモ)サービス」を開始 - 株式会社エーテルのプレスリリース
「バックアップ・復元」というメニューからバックアップ用ファイルをエクスポートできる。
iTunes につないで出力されたファイルを見ると、SQLite のデータファイルっぽい。
データベースの中身を覗くと、 ttPhDetail
というテーブルの中に、お薬手帳に書き込まれるような調剤記録がCSVの文字列情報として格納されている。
調べたところ、JAHIS電子版お薬手帳データフォーマット仕様というフォーマットに準拠しているように見える。
(参考:JAHIS電子版お薬手帳データフォーマット仕様書Ver.2.4 | 一般社団法人保健医療福祉情報システム工業会)
これなら何とかなるかも?
e-お薬手帳
もうひとつは日本薬剤師会のアプリで、これなら無くなることはないだろうと思いきや、知らぬ間に「eお薬手帳」というほとんど同じ名前のアプリにリニューアルされていた。
こちらも更新をさぼっていたせいで気づかなかったが、1年も前に旧アプリはサポート終了とのこと。
リニューアルといっても同じ提供元のアプリならそのままデータインポートできるのでは?と期待したが、後述のとおり新アプリのインポート機能がろくに動かず断念した。
エクスポートされるファイルは、ファイル名に日付の入ったテキストファイルが診療回数分生成され、各ファイル内に1回の調剤情報が記録されている。
見たところ、こちらもやはりJAHISのデータフォーマットになっている。
というわけで
JAHIS電子版お薬手帳データフォーマットに準拠しているアプリがあれば、旧アプリの記録をインポートできそうな感じである。
元データとしてどちらのファイルを使っても良いが、SQLiteのデータを吸い出す手間がない分、テキストファイルになっている「e-お薬手帳」のほうのデータを使うことにする。
なお、JAHISフォーマットのデータは、CSVの先頭行が「JAHISTC07,1」みたいな文字列になっているのですぐわかると思う。
作ったスクリプト
「e-お薬手帳」のエクスポートファイルは1回分で1ファイルとなっているが、JAHIS仕様を読んだ限り、1ファイル内に複数回分の調剤情報を含めることは許されている。
(先頭のバージョン情報や患者基本情報を1回記載したあとに、調剤情報の部分を繰り返し記載する形になる)
移行先のアプリをいろいろ試す過程で、1回のインポートで1ファイルしか選択できない地獄のようなアプリがいくつもあったので、仕方なく自分で1ファイルにまとめることにした。
そのときのスクリプトを一応↓こちらに置いておきます。使う人もおらんだろうが。。
移行先アプリの検討
選定条件
- JAHISフォーマットデータのインポートができること
- 「e薬Link」対応であること
- オフラインでも起動して直近の記録を見るくらいはできること
- JAHISフォーマットデータのエクスポートができること
- QRコードでの調剤記録取込みができること
上記あたりをとりあえずの選定材料とした。
JAHISフォーマットについては仕様にバージョンがあって、自分の場合は「JAHISTC01」というかなり古いと思われるバージョンの記録もあったので、これに対応していてほしい。
これは試してみないとわからない。
ほんとはブラウザからも記録が参照できたりするほうがいいかなとも思ったが、それができるアプリは多くなかったので、結果的にここは妥協した。
代わりに(でもないが)e薬Linkというのに対応していればいいことにした。
また、いろいろ試すにつれて、上記以前に「UIやナビゲーションがまともであること」という前提条件が必要であることに気づいた。
他には、薬局連携機能(処方箋送信とか)のあるアプリも多いが、そこまで使いこなさんだろうと思って考慮していない。
試したもの
e薬Linkには対応アプリの一覧があるので、この表を参考にしつつ、Google Play ストアで上に出てくるものを試した。
そして試しながら本当にうんざりしたのだけど、正直ろくに使う気になれないアプリが多い。。
日本の業務アプリ開発どうなっとるんだと思っちゃうくらい。
デザインがモダンでなくても別に気にならないが、ローディングのスピナーがちょっと左に寄ってるのくらいはどうにかしてくれ。
新規ユーザ登録の時点でメールリンクからの認証が機能しないものまであった。
とくにインポート機能みたいなメインでない部分はないがしろにされがちなのか、実行ボタンを押す前に「インポートが完了しました」って表示されるとか、分割されたファイルはすべて選択してくださいと書いてるくせに1件しかチェックできないとか、複数ファイル選択したら落ちるとか、「zipの場合は解凍パスワードを入れてください(空欄不可)」でパスなしzipが扱えないとか、インポートが終わってもリストから消えないからどれがインポート済みかわからないとか…。
仮に画面上でインポート成功したとしても本当に全部取り込めてるのか不安になってしまう。
また、名前の違うアプリであっても、提供元が同じだと中身がほとんど同じものだったりもして、実際の選択肢は意外と少ないことに気づいた。
EPARKお薬手帳
そんな中で救世主となってくれたのが、「EPARKお薬手帳」。
念のため断っておきますが、アフィリエイトでもないし利害関係はありません。しかしこれは素晴らしかった。
つまり、UIやナビゲーションがまともで、条件をすべて満たしていた。
インポートも複数ファイル選択可能で、すんなりと成功した。
(なので結果的にはファイル結合スクリプトを書く必要もなかった)
もちろん全部の機能を使ってみたわけではないが、試したアプリの中では消去法でほとんどこれ一択になるかな。
以上
たまたま使っていたアプリが業界標準っぽいフォーマットに対応してくれていたのでよかった。
教訓として、サービスはいつ消えるかわからないのでデータの移植性を最初に調べておきましょう。