[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[orca-tech:01858] CLAIM受信サーバの挙動について



お世話になります。
フリーでAccessによるシステム開発を行っている寺岡と申します。

現在、ある病院様向けにORCA+MS-Accessによるシステムを構築しておりますが
CLAIM通信の部分で分からない事がありますので
皆様のお知恵を拝借したく、こちらのMLに参加させていただきました。

Access側からBASP21のソケット通信機能を用い、
CLAIMを使用して診療行為登録および傷病名登録を行おうと考えております。

日レセで公開されているCLAIMのサンプルを元に、
医療機関IDや患者番号などを適宜変更し、一般的なソケット通信プログラムを使用して
ORCAにCLAIMを送った所、診療行為および傷病名の登録が行えました。
(ソケット通信プログラムは「SocketDebuggerFree」を使用しました)

さて、次に上記で成功した同じCLAIM文をAccessから
BASP21のソケット通信を用いてORCAに送ると、登録されませんでした。
さらにはAccessから一度でも送信すると、CLAIM受信サーバがフリーズ?の
ような状態になり、以後、成功した方法で送信しても、CLAIMの受信がうまくいきません。
(なお、別の送信方法としてOpenDolphinでも試しており、こちらも問題無くCLAIM通信できておりますが
一度Accessで送ると、以後は失敗します)

なお、このフリーズの状態であっても、/tmp/claim_rcv.log自体はAccessから送信した時刻で
更新されますので、通信レベルでの疎通はしているものと思われます。

そこで"dpkg-reconfigure jma-receipt"を実行し、一度ORCA自体の再起動を行うと
再びSocketDebuggerFreeやOpenDolphinからCLAIM通信が行え、ORCAにも登録されるようになります。
(ORCAの再起動はsudo /etc/init.d/jma-receipt restartでは駄目でした。)


Accessから送信した場合、/tmp/L0030.logは更新されますが、中身が
-----
2012/02/2617:32:54 P:dbstub_main.c:242:module ORCL0030: /var/tmp/claim_rcv_0
PARA /var/tmp/claim_rcv_0226_173253_07.txt
##
-----
とだけ記述されています。(この後、フリーズのような状態になっています)

このフリーズの状態になると、SocketDebuggerFreeやOpendolphinから
CLAIMを送信しても/tmp/claim_rcv.logは更新されますが、
/tmp/L0030.logは一切更新されなくなることが分かりました。

恐らくAccess(BASP21)からの送信方法に問題があると思われますが、
考えられる要因としては何でしょうか。
なお、Accessから送信する際は、あらかじめSocketDebuggerFreeにて成功した
CLAIM文をUTF-8にてテキストファイルとして保存し、それを
読み込んで送信しています。(CLAIM文の最後にEOT(0x04)も付加しております)


ORCAバージョン:4.6.0
MS-Accessバージョン:2010


-- 
----------------
Written by Takeshi Teraoka...
<iamlionschild@xxxxxxxxx>