- 2013-0712 KB2846071適用で標準システム死亡
- 2008-1016 後期高齢者医療制度は整備不良のバスで行うチキンレースである
- 2008-0525 この記事は現在凍結中です。
- 2008-0327 高齢者の医療の確保に関する法律施行令第2条
- 2008-0325 現実逃避
Windows 7 用 Internet Explorer 9 の累積的なセキュリティ更新プログラム (KB2846071)
このパッチを適用すると、標準システムが動作しなくなる。
具体的にはログイン認証後、各個別のメニューで画面が遷移しなくなり、タイムアウトが発生してエラー画面が表示される。
これがマイクロソフトの意図したものなのか、プログラムのバクなのかは分からないが、原因はあらかた判明している。
専門的な話になるので興味がない方は読み飛ばしていただきたい。
javascriptというWebアプリに使われるプログラムで、意図せぬ画面遷移を制御するときに、onbeforeunloadイベントハンドラ内でevent.clientYというマウスポインタのY座標を取得する要素が用いられる。
意図せぬ画面遷移とは、例えば、右上の「×」マークで画面を閉じられるとか、ブラウザの戻るボタンを押されるとかの類だ。
「×」マークも「戻る」ボタンも画面外の上部にあるから、このときマウスカーソルのY座標はマイナスの数値になる。
つまり、画面が遷移するというイベントが発生した時にY座標がマイナスなら、画面内に配置されたフォームではなく、「戻る」「×」といったブラウザ画面上部の機能ボタンを押したと推測できるわけで、画面遷移を抑止したうえで警告メッセージを出すなど、対策が行えるわけだ。
ところがKB2846071を適用すると、このevent.clientY要素が、正しい値ではなく常にマイナスの値を返すようになる。
つまり、画面内のボタンを正しく押していても、「戻る」「×」といったボタンを押したとプログラムが誤認してしまうわけである。
ご存じのとおり、標準システムはかなり厳しめの画面やキーの制御を行っている。
もちろん、event.clientYも使っている。
詳細は割愛するが、正常なボタンが押下された場合でも例外的なボタンが押されたものと誤認し、その対策を行う部分にて処理がループする。
あとはタイムアウト後にエラー画面が表示され、職員が驚いて広域連合に電話がかかってくる、という仕組みである。
現在のところ対策方法は無い。
冒頭で記載した更新プログラムをアンインストールするか、システムの復元でパッチ適用の直前まで戻すしかないのである。
国保中央会に問い合わせても無駄だろう。
もともと検証済みのパッチしか適用するなというスタンスなのだ。
とはいえ、昨今ではセキュリティ対策のためWSUSサーバーが導入され、強制的にパッチが振ってくるという市町村も多いだろう。
WSUSにも色々なやり方があり、アンインストールを検出したら再度パッチが送り込まれるという事もあるので、解決するには各市町村の電算担当課との調整も必要になるかもしれない。
それにしても、この挙動変更、かなり多くのWebアプリケーションが影響を受けると思うのだが、大丈夫なのだろうか…
マイクロソフトのフォーラムによれば「スパイウェア対策のための変更」という内容の投稿もあるが、ちょっと信じがたい。
バグならば、早く修正プログラムを提供してもらいたいものである。
“誤って天引き” 2万4000人 28道府県(47NEWS)(魚拓)
後期高齢者医療制度:高額療養費の返還中止 算定ミス続出で(毎日.jp)
舛添大臣は記者会見でこれらをケアレスミスと評したらしいが、もし本気でそう思っているであればもはや救いようがない。
これらは決して単なるケアレスミスではない。
起きて当たり前。構造的な問題、欠陥である。
思い起こして欲しいが、よく似た仕組みの介護保険が導入された際、これほどまでにミスが多発したであろうか?
そして介護保険導入当時に比べ、自治体職員や委託業者の質が格段に下がったのであろうか?
もちろんそんなことはない。
介護保険と後期高齢者医療制度の大きな違いはただ1つ、準備期間だけである。
介護保険は法律制定(平成9年12月)から施行(平成12年4月)まで2年4か月の準備期間があり、しかも保険料徴収については更に6か月間の猶予があった。
対して後期高齢者医療制度は法律制定(平成18年6月)から施行(平成20年4月)まで1年10か月と介護保険より準備期間が半年短く、広域連合の立ち上げとインフラ整備という余分な仕事があり、かつ(全員ではないが)制度開始直後から保険料徴収を行なわなければならない。
その差は明白である。
なおかつ、介護保険の場合は(要介護認定等一部の部分を除き)電算システムを各自治体で個別に開発している。つまり当初から各自治体の個別事情にあわせたシステムを作成できた。
ところが、後期高齢者医療制度はご存知のとおり主要な電算システム(標準システム)を国が国保中央会に委託して一括開発している。
この手法が必ずしも悪いとは言わないが、成果物はお世辞にも各自治体の個別事情に柔軟に対応できているとは言えず(特に政令市には全く対応していない)、各広域連合や市町村は「足りない部分」を独自開発する必要がある。
しかも、標準システムの根幹仕様は公開されていない。
各広域や自治体は「足りない部分の開発」のために、ブラックボックスの標準システムをリバースエンジニアリングしたり、開発元に粘り強く交渉して仕様を聞きださなければならない。
つまりもともと、システム開発に非常に時間がかかる構造になっているのだ。
(加えて、「足りない部分の開発」を一度済ませば終わりではなく、標準システムの仕様変更がある都度、検証作業や仕様変更を強いられる。そして標準システムの仕様変更はまだ当分なくならない)
そして、平成20年4月からの無茶苦茶な軌道修正、プレスリリースから広報を済ませて施行まで2~3か月という無茶苦茶な開発が乱発されたのは、皆さんが良くご存知のとおりである。
読者の方々には釈迦に説法かもしれないが、準備期間が短いと開発現場に深刻な悪影響が出る。
どんなに発破をかけても、人が考える時間やプログラムを打ち込む時間というのは早くならない。
良くないと分かりつつも、本来必要である他の時間を徐々に削っていかざるを得なくなる。
いわゆるデスマーチである。
まず最初に無くなるのは担当者の余暇時間である。
土日祭日出勤、毎日午前2時まで労働、1週間に1度帰宅できれば良いほうといった生活が常態化する。
もちろん、こんな状態が良いはずも無い。
心身の疲労から作業効率が落ち、ケアレスミスが誘発されやすくなる。
次に無くなるのはドキュメントである。
成果物の検収文書やQA、障害発生時の処理表、そうしたものが「時間が無いから電話で済ませて、文書は後で作成しましょう」ということになる。
ユーザ向けのマニュアルなどは真っ先に犠牲になり、国開発の標準システムにおいても「モノは送られてきたけれども、マニュアルが無いぞ。どうすればいいんだ?」ということがあったのは記憶に新しい。
山場での一時的な応急処置であればまだしも、そうした状態が長期間続けばプロジェクト管理に深刻な影響が出るのは言うまでもない。
これにより、開発漏れやリリース漏れ、処理漏れといったミスが多発するようになるし、マニュアルの整備が遅れれば現場運用での入力ミスが多発する。
それでも時間が足りないとなれば、検証やテストのための時間が削られる。
もう納期に間に合わせて実装するのが最優先で、品質は二の次となる。
典型的なのは、開発方が大ポカをやらかした後のパッチプログラム(例えば誤って更新されたDBを復旧するためのSQL)で、これはもう半分以上の確率で間違っていると思ってよい。
必要なテストが簡略化あるいは全く行なわれていないのだから、ミスが激増するのは当たり前だ。
そして末期になると、セキュリティに関する運用にモラルハザードが生ずる。
操作手順の短縮のために大きなバックドアを開けたり、必要な暗号化が施されなくなったりするわけだ。
恐ろしいことだが、個人情報が暗号化もされず、平文のままでインターネットを経由してEメール送信などということも平然と行なわれるようになる。
この段階になればもはや単なる事務処理ミスでは済まされない。
リスクが顕在化すれば、それは国家や地方自治体全体の大きな信用失墜となる。
自分は先日このブログ上で、読者の一定量を占めるであろうIT企業社員向けにあるアンケートを行なった。
この結果やコメントは、こうした後期高齢者医療制度のシステム開発現場の問題点を率直に反映しているといえるだろう。
【アンケート】国(から委託を受けた社団法人)が後期高齢者医療制度の後継制度の「標準システム」開発業者を募集しており、貴方の会社に参加資格があり、貴方がその決定権を持っているとします。入札しますか?
上記アンケートのコメント
大臣はなにかとこの制度についてバスに喩えているが、
現在の後期高齢者医療制度は、準備不足のため整備不良でしかも無茶なルート変更のため法定速度をはるかに超えたスピードで走ることを強いられるバスである。
そしてそんなバスが1800台以上もいれば、事故が起きて当たり前、むしろ起きないのが幸運だったと思わなければならない。
それを大臣は「運転手が下手クソなんだ」といって、全く問題点を認識しようとしないのである。
制度の良し悪し、つまり乗り心地や快適性云々以前に、こんな危険なバスに乗りたいと思う高齢者がいるはずもない。
自分は過去の記事で、確定賦課や高額療養費に関するミスの多発を予言したが、残念ながらそれは現実のものとなった。
そして悲しいかな、1月から施行される新たな負担見直しについても、ミスとは無縁ではいられないだろう。
自分の激しい思い込みだが「高額介護合算療養費」は一度も支給されないまま制度が終了すると思えてならない。
この予想は是非とも外れて欲しいと祈っているが、そのためにはまず制度ではなく、大臣の頭の中を改革する必要があるだろう。
【追記】
まあ十分予想できていたことだが、世間一般の受け止め方はこのような感じである。↓
後期高齢者医療制度 最大625万人の天引き開始(ハズレ社会人)
またもやミスかよ!厚生労働省1万8000人から医療保険料誤徴収(充電式ぶろぐ)
つくづく、モチベーションを保つのが困難な業務だ。
内容について再検証後、加筆、修正、削除等の措置を行う場合がありますので、あらかじめご了承ください。
記事原文はこちら

何?「俺たちは被保険者証を引きわたすだけの仕事なのに」だって?
逆に考えるんだ。
第2条第9号の中には 「後期高齢者医療広域連合、厚生労働省、国保中央会、気になる木、ならびに気になる木のシステムの不具合に関する苦情の処理」が含まれていると考えるんだ。
shell関数を使って、net useで接続を確保、dirとかで必要なもの探して、xcopyでごっそりもってきて、echo環境変数リダイレクトでログを書いて、再びnet useで切断、
で、各コマンドの同期はWshShellオブジェクトのRunメソッドで取って、成否やエラーはExecメソッドを工夫して取得する。
んで、トリガーのバッチをStartupに放り込んで、
パソコンを起動するたびに窓口処理サーバのローカルに保存されている被保険者証とか異動確認リストとかを手元に手繰り寄せる、って言うのを最終的に作りたい。
時間がなかったので、今出来ているものはExcelVBAを使って手動で起動させる簡易版。
しかも別用途。なんだかなー。
これはこれで環境の制約とかいろいろと面倒だったり。
もう1つ作りたいのは、
あの訳分からない名前のPDFファイルを全部分かりやすい日本語名にリネームして、元のファイルネーム内の日付ごとのディレクトリに行儀良く整理する奴。
でも時間が無いから、いつ完成することやら。
で、こんな話をしているってことは、
要は来年度もこの仕事をしなければならないってことですね。
被保険者証配り終えたら閑職に逃亡する予定だったのに。