8.6. FHIR サーバー上のリソースにある指定のフィールドを更新
インテグレーションでは、FHIR サーバー上にあるリソースの個別のフィールドを更新できます。これには、フローの途中に FHIR コネクションを追加するか、FHIR コネクションをシンプルなインテグレーションの最後のコネクションとして追加します。
前提条件
- 更新するリソースを持つ FHIR サーバーへのコネクションが作成されている必要があります。
- フローを作成または編集することになり、Fuse Online でインテグレーションに追加するよう要求されます。または、Fuse Online で最後のコネクションを選択するよう要求されます。
手順
- Add to Integration ページで、コネクションの追加先のプラス記号をクリックします。Fuse Online が最後のコネクションを選択するよう要求する場合は、このステップをスキップします。
- リソースの更新に使用する FHIR コネクションをクリックします。
- Choose an action ページで Patch を選択します。
- Resource Type フィールドをクリックし、FHIR リソースタイプのリストを表示します。更新するフィールドを持つリソースのタイプを選択または入力します。
- Number of Operations フィールドに、更新するフィールドの数を指定します。
- フローの以前のステップから値をマップする場合は Resource id フィールドを空白のままにしておきます。これが通常の作業になります。その他の場合は、更新するフィールドが含まれるリソースのリソース ID を指定します。
更新が記述された JSON パッチを指定します。JSON パッチは What is a JSON Patch? に記述されている形式である必要があります。
Patient
リソースのパッチ例:active
フィールドをtrue
に設定します。[{ "op":"replace", "path":"/active", "value": true }]
患者の名前の配列である
name
フィールドの値を置き換えます。この例では、患者の名前は 1 つです。患者に複数の名前がある場合は、同様の形式のパッチで患者の名前をすべて置き換えることができます。[{ "op":"replace", "path":"/name", "value": [{"given": ["Bob"]}] }]
患者の名を置き換えます。
[{ "op":"replace", "path":"/name/0/given/0", "value": "John" }]
名の前に別の名前を患者に追加します。
[{ "op":"add", "path":"/name/0", "value": {"given": ["Anthony"]} }]
更新によっては、Patch アクションの設定時に JSON パッチを指定する必要があります。たとえば、リソースフィールドの値を別のフィールドにコピーすることがあります。その他の更新では、JSON Patch フィールドを空白のままにし、代わりに各更新を定義する値をマップすることができます。
- Next をクリックして、このコネクションをフローに追加します。
JSON パッチやリソース ID を指定しなかった場合は、データマッパーステップを追加します。
- フロービジュアライゼーションで、追加したばかりの FHIR コネクションの前にあるプラス記号をクリックします。
Data Mapper をクリックします。
Target パネルには、更新する各フィールド用の番号が付けられたフォルダーが表示されます。Patch アクションを設定するとき、更新するフィールドの数を指定します。データマッパーは、この数のフォルダーを Target パネルに表示します。たとえば、更新するフィールドの数として 3 を指定すると、
1
、2
、および3
のラベルが付いた 3 つのターゲットフォルダーが表示されます。更新する各フィールドをいずれかのターゲットフォルダーのフィールドにマップします。
-
Target パネルでフォルダーを展開し、
op
、path
、およびvalue
の 3 つのフィールドを表示します。 -
ソースフィールド、定数、またはプロパティーをターゲット
path
フィールドにマップします。パスは更新するリソースフィールドを識別します。パスの値では、数字はリストフィールドのインデックスを示し、スラッシュは子フィールドに通じます。たとえば、/name/1/given/1/value
パスをマップし、指定の name フィールドの値を更新します。 -
フィールドの現在の値を置き換えるデフォルトの更新操作を許可するか、ソースフィールド、定数、またはプロパティーを
op
フィールドにマップし、フィールドの更新方法を示します。可能な操作の詳細は、JSON patch operations を参照してください。 -
フィールドを更新して新しい値を取得する場合は、ソースフィールド、定数、またはプロパティーをターゲット
value
にマップします。これは、フィールドに含まれるようにする新しい値になります。
-
Target パネルでフォルダーを展開し、
- Patch アクションの設定時にリソース ID を指定しなかった場合は、リソース ID をターゲット id フィールドにマップします。
- Done をクリックして、データマッパーステップをフローに追加します。
結果
インテグレーションビジュアライゼーションで追加した場所にコネクションが表示されます。実行中、コネクションは指定のリソースフィールドを更新し、id.idPart
が含まれる MethodOutcome リソースを返します。このフィールドには更新されたリソースの ID が含まれます。