web-dev-qa-db-ja.com

HL7標準に準拠していないソフトウェアベンダーと交渉する方法

たとえば、「」を例にとると、HL7メッセージの処理に時間を費やしたことがある人なら誰でも、「」が何かを削除する必要があることを意味することを知ってほしいと思います。 ""は空の文字列ではなく、フィラーなどでもありません...しかし、場合によっては、何も送信しないのではなく、 ""を送信し続けるベンダーに出会うことがあります。

私は中小企業で働いており、非常に柔軟なHL7インターフェースを持っているので、受信したメッセージの「」は無視できます。しかし、これらのことは合算されています。

  • 一部のベンダーは、他のベンダーに自分自身を解釈させるために、疑似コンポーネントを含むカスタムフォーマットのフィールドを送信することを好みます。
  • 一部のベンダーは、すべての情報をメモセグメントで送信し、送信する情報のみを等幅フォントでユーザーに表示することを想定しています。
  • 一部のベンダーは、ファイルインターフェイスの各行の最後にキャリッジリターンラインフィードを送信する大胆ささえ持っています。
  • 一部のベンダーは、10進数の送信を絶対に拒否し、そのため、数値の送信を拒否します。

それで、単純なプラスチックソフトウェアの人に対するこのすべての壊滅的な人類で、どのように人は壊れることなく曲がるのですか*?またはさらに良いことに、どのように反撃し、それでもお金を稼ぐのですか?

*私の答えは通常、インターフェースのインターフェースを作成し、HL7処理を純粋に保つことですが、これが最善の解決策ではないと思います

6
Peter Turner

あなたの質問の核心は「どのように交渉するか」であり、最終的に、そこでの答えは非常に単純です。インターフェイスの仕様を提供し、それに従うように要求します。契約仕様に不適合に対する罰則を設けることはできますが、それは実行可能な選択肢ではないと思います。

あなたの本当の質問は、ベンダーがインターフェースの仕様に厳密に従っていないために生成されるすべての1回限りのルールをどうするかということだと思います。

腐敗防止層へのGnatのリンクは、その課題を解決するための良いスタートです。具体的には、着信送信に適用できるルール/フィルターのリストを生成すると思います。不適合な各ベンダーには、適用する必要のある変換ルールのリストがあります。新しいベンダーが登場したら、既存のルールを再利用して、必要に応じてバリエーションの終わりのないリストに追加するだけです。

フォントが固定されたバリアントは、機能させるためにメッセージ受信を過ぎてダウンストリームの作業が必要になるため、もう少し面倒ですが、それが少数派の例外の場合であることが望まれます。

5
user53019

答えは、あなたが誰と取引しているか、そしてあなたの目標が何であるかによって異なります。

あなたは小さな/カスタムemrsの他の開発者と交渉することができます。場合によっては、何を受け入れるかを指示することもできます。しかし、他の場合には、あなたは1つの強制的な曲げになります。どのくらいあなたの目標に依存します。

最終的にはクライアントにデータを受信して​​もらいたいので、ベンダーのニーズに合わせてHL7通信を簡単にカスタマイズできるという立場をとっています。少し前倒しの痛みは大いに役立ちます。

さらに、一部のベンダーは曲がります...しかし、そのプロセスには長い時間がかかります。日は週になり、月は月になります。インターフェースを時間どおりに完了するには、継続する勢いが必要です。ベンダーが何かを変更するまで数日待たなければならない場合、その勢いは失われ、焦点は他のインターフェースに移されます。プロジェクト。 Stop/go/stop/goはキラーであり、責任がすべて私たちにあるかのように、私たちははるかに迅速に進むことができます。

このようにプロセスを管理します。まず、非常に柔軟なMirthを使用します。次に、私たちのアーキテクチャは「ベース」HL7メッセージを作成します。各EMR(またはクライアント)チャネルは、ベンダー/クライアントの詳細に合わせてカスタマイズされていますが、HL7仕様に準拠している場合、変換がなく、唯一のことであるという意味で標準化されたベースチャネルから構築されています。カスタムは配信メカニズムです。

これは、試行錯誤されたチャネルに重労働を残し、そのチャネルは決して変更されません。

通常、カスタムチャネルには0〜3の変換があります。通常、患者IDのPid2ではなくPid3を移動/コピーしたり、MSHでクライアントIDを変更したりします。これらのタイプの変更は非常に管理しやすいです。

0
ChronoFish