Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

HL7 移行ツール

HL7 移行ツールでは、その他の製品で開発されたルックアップ・テーブルと変換をインターシステムズのルックアップ・テーブルと DTL クラスに変換できます。元の変換が HL7 メッセージを取り込み、それを別の HL7 メッセージに変換するように設計されている場合にのみ、HL7 移行ツールが機能します。

現在、以下からの変換を移行できます。

どの場合でも、JRE をインストール済みであることを最初に確認します。

前提条件 : Java 環境の設定

HL7 移行ツールを設定または実行する前に、以下の手順に従う必要があります。

  1. Java ランタイム環境 (JRE) の最新バージョンをインストールします。システムに複数バージョンの JRE をインストールしておき、最新バージョンへのパスを使用して、このガイドの手順を実行できます。

  2. 有効なバージョンが JAVA_HOME 環境変数に反映されていない場合は、必要に応じて以下の手順に従い、Java JRE のフル・パスを指定します。

Cloverleaf

移行ツールでは、Cloverleaf のテーブルと変換をインターシステムズのルックアップ・テーブルと DTL クラスに変換できます。Cloverleaf 変換が HL7 メッセージを取り込み、それを別の HL7 メッセージに変換するように設計されている場合にのみ、移行ツールは機能します。

移行ツールは、基本的な変換ロジックを DTL クラスに変更するために設計されており、Cloverleaf のカスタム・コード、ループ、およびルーティング・ルールを処理するためのものではありません。基本的な TCL コマンドは変換されますが、ループなどのほとんどのコマンドは、移行後に DTL クラスに追加する必要があります。自動的には移行されないコードは、DTL コードにコメントとして挿入されます。

移行ツールの設定

移行ツールを実行する前に、インターシステムズ製品で作業用のネームスペースを作成して、セットアップ・メソッドを実行する必要があります。

  1. InterSystems ターミナルを開きます。

  2. 以下のコマンドを入力して HSLIB ネームスペースに変更し、移行用の新しいネームスペースを作成して、その新しいネームスペースに変更します。

    Set $namespace = "HSLIB"
    Do ##class(HS.Util.Installer.Foundation).Install("MyNamespace")
    Set $namespace = "MyNamespace"
    
  3. 設定ツールを実行します。

    Do ##class(EnsLib.InteropTools.HL7.Setup).Run()
    
    
    
  4. 設定ツールのプロンプトに回答します。

    プロンプト 入力内容
    Please enter a valid type Cloverleaf
    クラス名 設定ツールで定義された設定を格納するために使用する新しいクラス名。これは、移行を実行するために使用されるクラスです。例えば、MyPkg.MyCloverleaf です。
    Java クラスパス ANTLR Jar ファイルのパスとファイル参照。例えば、c:\Migration\antlr-4.7.2-complete.jar のようになります。
    Java 実行可能ファイルのパス マシン上にある Java 実行可能ファイルのパスとファイル参照。例えば、c:\java\jdk-13.0.1\bin\java.exe のようになります。
    Java (*.java) ファイルのパス *.java ファイルのパス。必ず末尾の \ を含めてください。例えば、c:\Migration\Cloverleaf\java\ のようになります。

または、以下のような方法でパラメータを設定ツールに渡すこともできます。

set status =  ##class(EnsLib.InteropTools.HL7.Setup).Run("Cloverleaf","MyPkg.MyCloverleaf",
"c:\Migration\antlr-4.7.2-complete.jar",
"c:\java\jdk-13.0.1\bin\java.exe")

このコマンドが失敗した場合は、Do $SYSTEM.Status.DisplayError(status) と入力するとエラーを表示できます。

移行ツールの実行

Cloverleaf 変換ファイルはデータ・ルックアップ・テーブルを参照できるため、変換ファイルを変換する前に、すべての Cloverleaf ルックアップ・テーブルを変換する必要があります。

ルックアップ・テーブルの変換

Cloverleaf 環境によっては、変換前に、変換するルックアップ・テーブル (*.tbl) が複数存在する場合があります。各ルックアップ・テーブルは、インターシステムズ製品の永続化ルックアップ・テーブルに変換されます。1 つの *.tbl ファイル、または複数のファイルが含まれる 1 つのディレクトリに対して移行ツールを実行できます。Cloverleaf ルックアップ・テーブルを変換するには、以下の手順に従います。

  1. InterSystems ターミナルで、移行用に作成したネームスペースに変更します。以下に例を示します。

    Set $namespace="MyNamespace"
    
  2. 一度に複数の *.tbl ファイルを変換する場合は、ファイルを 1 つのディレクトリに配置して、以下を入力します。

    set status = ##class(MyPkg.MyCloverleaf).TableImport("c:\migration\tables\","CL.Lookup.")
    

    引数は以下のとおりです。

    • MyPkg.MyCloverleaf は、移行ツールの設定時に指定したクラスの名前です。

    • c:\migration\tables\ には、Cloverleaf ファイルが含まれます。必ず末尾の \ を付けてください。

    • CL.Lookup. は、ルックアップ・コードで作成されたインターシステムズのテーブルの接頭語です。例えば、Cloverleaf ファイルが codes.tbl である場合、インターシステムズのルックアップ・テーブルは CL.Lookup.codes になります。このパラメータには任意の有効なパッケージ名を指定できますが、必ず末尾のピリオド ( .) を付けてください。

    変換が成功したかどうかを確認するには、write status と入力します。成功した場合は、1 が表示されます。

    1 つの Cloverleaf ルックアップ・ファイルに対して移行ツールを実行するには、以下のように入力します。

    set status = ##class(MyPkg.MyCloverleaf).TableImport("c:\migration\tables\input.tbl","CL.Lookup.")
    

変換の変換

HL7 変換で使用されるルックアップ・テーブルを変換したら、Cloverleaf 変換ファイルを DTL クラスに変換できます。各 Cloverleaf 変換ファイル (*.xlt) に対して、以下のように入力します。

  1. InterSystems ターミナルで、移行用に作成したネームスペースに変更します。以下に例を示します。

    Set $namespace="MyNamespace"
    
  2. 各 Cloverleaf 変換ファイルに対して、以下のように入力します。

    set status = ##class(MyPkg.MyCloverleaf).CodeWalk("c:\migration\transforms\cloverleaf_sample.xlt","/ClassName=Sample.DTL /SourceDocType=2.7:ACK /TargetDocType=MyCustom2.7:ACK /TableGroupName=CL.Lookup. /Reprocess=1",.tOutput)
    

    引数は以下のとおりです。

    • MyPkg.MyCloverleaf は、移行ツールの設定時に指定したクラスの名前です。

    • c:\migration\transforms\cloverleaf_sample.xlt は、Cloverleaf 変換ファイルです。

    • /ClassName では、移行ツールによって作成された新しい DTL クラスの名前を指定します。

    • /SourceDocType は、受信 HL7 メッセージのスキーマおよび DocType 構造です。利用可能なスキーマと DocType 構造を表示するには、管理ポータルを開き、[相互運用性][相互運用][HL7 v2.x][HL7 v2.x スキーマ構造] に移動します。インターシステムズ製品にスキーマを追加する必要がある場合は、メッセージ・アナライザが役立ちます。

    • /TargetDocType は、ターゲットのスキーマおよび DocType 構造です。SourceDocType は、TargetDocType に変換されます。

    • /TableGroupName は、Cloverleaf ルックアップ・テーブル・ファイルの移行時に指定したルックアップ・テーブルの接頭語の名前です。変換でルックアップ・テーブルを使用しない場合は、このパラメータを省略できます。

    • /Reprocess では、既存の DTL クラスを上書きするかどうかを指定します。/Reprocess=1 の場合、クラスは上書きされます。

    • .tOutput は、移行ツールで生成される情報を収集します。

    write status と入力すると、エラーがないか確認できます。変換が成功した場合は、ターミナルに 1 が表示されます。

既定では、新しい DTL は、移行ツールによって作成された後にコンパイルされます。DTL がコンパイルされないようにするには、CodeWalk メソッドのパラメータとして /BuildDTL=0 を指定します。

eGate

移行ツールでは、eGate のテーブルと変換をインターシステムズのルックアップ・テーブルと DTL クラスに変換できます。eGate 変換が HL7 メッセージを取り込み、それを別の HL7 メッセージに変換するように設計されている場合にのみ、移行ツールは機能します。

移行ツールは、基本的な変換ロジックを DTL クラスに変更するために設計されており、カスタム・コード、ループ、およびルーティング・ルールを処理するためのものではありません。自動的には移行されないコードは、DTL コードにコメントとして挿入されます。

移行ツールの設定

移行ツールを実行する前に、インターシステムズ製品で作業用のネームスペースを作成して、セットアップ・メソッドを実行する必要があります。

  1. InterSystems ターミナルを開きます。

  2. 以下のコマンドを入力して HSLIB ネームスペースに変更し、移行用の新しいネームスペースを作成して、その新しいネームスペースに変更します。

    Set $namespace = "HSLIB"
    Do ##class(HS.Util.Installer.Foundation).Install("MyNamespace")
    Set $namespace = "MyNamespace"
    
  3. 設定ツールを実行します。

    Do ##class(EnsLib.InteropTools.HL7.Setup).Run()
    
  4. 設定ツールのプロンプトに回答します。

    プロンプト 入力内容
    Please enter a valid type eGate
    クラス名 設定ツールで定義された設定を格納するために使用する新しいクラス名。これは、移行を実行するために使用されるクラスです。例えば、MyPkg.MyEGate のようになります。
    Java クラスパス ANTLR Jar ファイルのパスとファイル参照。例えば、c:\Migration\antlr-4.7.2-complete.jar のようになります。
    Java 実行可能ファイルのパス マシン上にある Java 実行可能ファイルのパスとファイル参照。例えば、c:\java\jdk-13.0.1\bin\java.exe のようになります。
    Java (*.java) ファイルのパス *.java ファイルのパス。必ず末尾の \ を含めてください。例えば、c:\Migration\eGate\java\ のようになります。

または、以下のような方法でパラメータを設定ツールに渡すこともできます。

set status =  ##class(EnsLib.InteropTools.HL7.Setup).Run("eGate","MyPkg.MyEGate",
"c:\Migration\antlr-4.7.2-complete.jar",
"c:\java\jdk-13.0.1\bin\java.exe")

このコマンドが失敗した場合は、Do $SYSTEM.Status.DisplayError(status) と入力するとエラーを表示できます。

移行ツールの実行

eGate 変換ファイルはデータ・ルックアップ・テーブルを参照できるため、変換ファイルを変換する前に、すべての eGate ルックアップ・テーブルを変換する必要があります。

ルックアップ・テーブルの変換

eGate 環境によっては、変換前に、変換するルックアップ・テーブルが複数存在する場合があります。各ルックアップ・テーブルは、インターシステムズ製品の永続化ルックアップ・テーブルに変換されます。1 つのファイル、または複数のファイルが含まれる 1 つのディレクトリに対して移行ツールを実行できます。eGate ルックアップ・テーブルを変換するには、以下の手順に従います。

  1. InterSystems ターミナルで、移行用に作成したネームスペースに変更します。以下に例を示します。

    Set $namespace="MyNamespace"
    
  2. 一度に複数のファイルを変換する場合は、ファイルを 1 つのディレクトリに配置して、以下を入力します。

    set status = ##class(MyPkg.MyEGate).TableImport("c:\migration\tables\","eGate.Lookup.","*.txt")
    

    以下は値の説明です。

    • MyPkg.MyEGate は、移行ツールの設定時に指定したクラスの名前です。

    • c:\migration\tables\ には、eGate ルックアップ・テーブル・ファイルが含まれます。必ず末尾の \ を付けてください。

    • eGate.Lookup. は、ルックアップ・コードで作成されたインターシステムズのテーブルの接頭語です。例えば、eGate ファイルが codes.txt である場合、インターシステムズのルックアップ・テーブルは eGate.Lookup.codes になります。このパラメータには任意の有効なパッケージ名を指定できますが、必ず末尾のピリオド ( .) を付けてください。

    • *.txt は、eGate ルックアップ・テーブル・ファイルのファイル拡張子を指定します。

    変換が成功したかどうかを確認するには、write status と入力します。成功した場合は、1 が表示されます。

    1 つの eGate ルックアップ・ファイルに対して移行ツールを実行するには、以下のように入力します。

    set status = ##class(MyPkg.MyEGate).TableImport("c:\migration\tables\input.txt","eGate.Lookup.")
    

変換の変換

HL7 変換で使用されるルックアップ・テーブルを変換したら、eGate 変換ファイルを DTL クラスに変換できます。各 eGate 変換ファイル (*.tsc) に対して、以下のように入力します。

  1. InterSystems ターミナルで、移行用に作成したネームスペースに変更します。以下に例を示します。

    Set $namespace="MyNamespace"
    
  2. 各 eGate 変換ファイルに対して、以下のように入力します。

    set status = ##class(MyPkg.MyEGate).CodeWalk("c:\migration\transforms\eGate_sample.tsc","/ClassName=Sample.DTL /SourceDocType=2.7:ACK /TargetDocType=MyCustom2.7:ACK /TableGroupName=eGate.Lookup. /Reprocess=1",.tOutput)
    

    以下は値の説明です。

    • MyPkg.MyEGate は、移行ツールの設定時に指定したクラスの名前です。

    • c:\migration\transforms\eGate_sample.tsc は、eGate 変換ファイルです。

    • /ClassName では、移行ツールによって作成された新しい DTL クラスの名前を指定します。

    • /SourceDocType は、受信 HL7 メッセージのスキーマおよび DocType 構造です。利用可能なスキーマと DocType 構造を表示するには、管理ポータルを開き、[相互運用性][相互運用][HL7 v2.x][HL7 v2.x スキーマ構造] に移動します。インターシステムズ製品にスキーマを追加する必要がある場合は、メッセージ・アナライザが役立ちます。

    • /TargetDocType は、ターゲットのスキーマおよび DocType 構造です。SourceDocType は、TargetDocType に変換されます。

    • /TableGroupName は eGate ルックアップ・テーブル・ファイルの移行時に指定したルックアップ・テーブルの接頭語の名前です。変換でルックアップ・テーブルを使用しない場合は、このパラメータを省略できます。

    • /Reprocess では、既存の DTL クラスを上書きするかどうかを指定します。/Reprocess=1 の場合、クラスは上書きされます。

    • .tOutput は、移行ツールで生成される情報を収集します。

    write status と入力すると、エラーがないか確認できます。変換が成功した場合は、ターミナルに 1 が表示されます。

既定では、新しい DTL は、移行ツールによって作成された後にコンパイルされます。DTL がコンパイルされないようにするには、CodeWalk メソッドのパラメータとして /BuildDTL=0 を指定します。

DataGate

移行ツールでは、DataGate のテーブルと変換をインターシステムズのルックアップ・テーブルと DTL クラスに変換できます。DataGate 変換が HL7 メッセージを取り込み、それを別の HL7 メッセージに変換するように設計されている場合にのみ、移行ツールは機能します。

移行ツールは、基本的な変換ロジックを DTL クラスに変更するために設計されており、カスタム・コード、ループ、およびルーティング・ルールを処理するためのものではありません。自動的には移行されないコードは、DTL コードにコメントとして挿入されます。

移行ツールの設定

移行ツールを実行する前に、インターシステムズ製品で作業用のネームスペースを作成して、セットアップ・メソッドを実行する必要があります。

  1. InterSystems ターミナルを開きます。

  2. 以下のコマンドを入力して HSLIB ネームスペースに変更し、移行用の新しいネームスペースを作成して、その新しいネームスペースに変更します。

    Set $namespace = "HSLIB"
    Do ##class(HS.Util.Installer.Foundation).Install("MyNamespace")
    Set $namespace = "MyNamespace"
    
  3. 設定ツールを実行します。

    Do ##class(EnsLib.InteropTools.HL7.Setup).Run()
    
  4. 設定ツールのプロンプトに回答します。

    プロンプト 入力内容
    Please enter a valid type DataGate
    クラス名 設定ツールで定義された設定を格納するために使用する新しいクラス名。これは、移行を実行するために使用されるクラスです。例えば、MyPkg.MyDataGate のようになります。
    Java クラスパス ANTLR Jar ファイルのパスとファイル参照。例えば、c:\Migration\antlr-4.7.2-complete.jar のようになります。
    Java 実行可能ファイルのパス マシン上にある Java 実行可能ファイルのパスとファイル参照。例えば、c:\java\jdk-13.0.1\bin\java.exe のようになります。
    Java (*.java) ファイルのパス *.java ファイルのパス。必ず末尾の \ を含めてください。例えば、c:\Migration\DataGate\java\ のようになります。

または、以下のような方法でパラメータを設定ツールに渡すこともできます。

set status =  ##class(EnsLib.InteropTools.HL7.Setup).Run("DataGate","MyPkg.MyDataGate",
"c:\Migration\antlr-4.7.2-complete.jar",
"c:\java\jdk-13.0.1\bin\java.exe")

このコマンドが失敗した場合は、Do $SYSTEM.Status.DisplayError(status) と入力するとエラーを表示できます。

移行ツールの実行

DataGate 変換ファイルはデータ・ルックアップ・テーブルを参照できるため、変換ファイルを変換する前に、すべての DataGate ルックアップ・テーブルを変換する必要があります。

ルックアップ・テーブルの変換

DataGate 環境によっては、変換前に、変換するルックアップ・テーブルが複数存在する場合があります。各ルックアップ・テーブルは、インターシステムズ製品の永続化ルックアップ・テーブルに変換されます。1 つのファイル、または複数のファイルが含まれる 1 つのディレクトリに対して移行ツールを実行できます。DataGate ルックアップ・テーブルを変換するには、以下の手順に従います。

  1. InterSystems ターミナルで、移行用に作成したネームスペースに変更します。以下に例を示します。

    Set $namespace="MyNamespace"
    
  2. 一度に複数のファイルを変換する場合は、ファイルを 1 つのディレクトリに配置して、以下を入力します。

    set status = ##class(MyPkg.MyDataGate).TableImport("c:\migration\tables\","DataGate.Lookup.","*.txt")
    

    以下は値の説明です。

    • MyPkg.MyDataGate は、移行ツールの設定時に指定したクラスの名前です。

    • c:\migration\tables\ には、DataGate ルックアップ・テーブル・ファイルが含まれます。必ず末尾の \ を付けてください。

    • DataGate.Lookup. は、ルックアップ・コードで作成されたインターシステムズのテーブルの接頭語です。例えば、DataGate ファイルが codes.txt である場合、インターシステムズのルックアップ・テーブルは DataGate.Lookup.codes になります。このパラメータには任意の有効なパッケージ名を指定できますが、必ず末尾のピリオド ( .) を付けてください。

    • *.txt は、DataGate ルックアップ・テーブル・ファイルのファイル拡張子を指定します。

    変換が成功したかどうかを確認するには、write status と入力します。成功した場合は、1 が表示されます。

    1 つの DataGate ルックアップ・ファイルに対して移行ツールを実行するには、以下のように入力します。

    set status = ##class(MyPkg.MyDataGate).TableImport("c:\migration\tables\input.txt","DataGate.Lookup.")
    

変換の変換

HL7 変換で使用されるルックアップ・テーブルを変換したら、DataGate 変換ファイルを DTL クラスに変換できます。各 DataGate 変換ファイル (*.tsc) に対して、以下のように入力します。

  1. InterSystems ターミナルで、移行用に作成したネームスペースに変更します。以下に例を示します。

    Set $namespace="MyNamespace"
    
  2. 各 DataGate 変換ファイルに対して、以下のように入力します。

    set status = ##class(MyPkg.MyDataGate).CodeWalk("c:\migration\transforms\DataGate_sample.tsc","/ClassName=Sample.DTL /SourceDocType=2.7:ACK /TargetDocType=MyCustom2.7:ACK /TableGroupName=DataGate.Lookup. /Reprocess=1",.tOutput)
    

    以下は値の説明です。

    • MyPkg.MyDataGate は、移行ツールの設定時に指定したクラスの名前です。

    • c:\migration\transforms\DataGate_sample.tsc は、DataGate 変換ファイルです。

    • /ClassName では、移行ツールによって作成された新しい DTL クラスの名前を指定します。

    • /SourceDocType は、受信 HL7 メッセージのスキーマおよび DocType 構造です。利用可能なスキーマと DocType 構造を表示するには、管理ポータルを開き、[相互運用性][相互運用][HL7 v2.x][HL7 v2.x スキーマ構造] に移動します。 インターシステムズ製品にスキーマを追加する必要がある場合は、メッセージ・アナライザが役立ちます。

    • /TargetDocType は、ターゲットのスキーマおよび DocType 構造です。SourceDocType は、TargetDocType に変換されます。

    • /TableGroupName は DataGate ルックアップ・テーブル・ファイルの移行時に指定したルックアップ・テーブルの接頭語の名前です。変換でルックアップ・テーブルを使用しない場合は、このパラメータを省略できます。

    • /Reprocess では、既存の DTL クラスを上書きするかどうかを指定します。/Reprocess=1 の場合、クラスは上書きされます。

    • .tOutput は、移行ツールで生成される情報を収集します。

    write status と入力すると、エラーがないか確認できます。変換が成功した場合は、ターミナルに 1 が表示されます。

既定では、新しい DTL は、移行ツールによって作成された後にコンパイルされます。DTL がコンパイルされないようにするには、CodeWalk メソッドのパラメータとして /BuildDTL=0 を指定します。

FeedbackOpens in a new tab