Bundle


名稱 Value
伺服器網址 https://hapi.fhir.org/baseR4/ (此為範例網址,可替代為自己的 FHIR 伺服器網址)

方法 用途
PUT 用於新增及更新FHIR資源
POST 用於新增FHIR資源
GET 用於取得及查詢FHIR資源
DELETE 用於刪除FHIR資源
Bundle.type為Transaction時,主要用途在於上傳Bundle當中的個別資源,Bundle本身不會儲存進FHIR Server當中,因此只能使用POST上傳資源,並且資源無法以GET方式讀取回來,也無法刪除Bundle。

1-1. 準備一個.json的檔案,並儲存格式的FHIR資料
1-2. 若要使用Transaction方式上傳Bundle資源,Bundle.entry.request.method為必填欄位(只能填入:GET | HEAD | POST | PUT | DELETE | PATCH),範例如下顯示:
"request":{
    "method": "PUT",
    "url": "Patient/Pat1-Tran" #若method為POST則非必填
}
1-3. 完整Bundle範例如下顯示:


PYTHON

import requests
from bs4 import BeautifulSoup
import json
server_url = 'https://hapi.fhir.org/baseR4/' #可替代為自己的 FHIR 伺服器網址

FileName = 'Json/.json' #可替代為自己的檔案位置及檔名
with open(FileName, "r", encoding="utf-8") as json_file:
    Data = json.load(json_file)

access_token = requests.post(server_url, json = Data, verify=False) # 此方式Bundle,不須在FHIR server網址後加上資源名稱
RequestResult = json.loads(str(access_token.text))
print(RequestResult) #印出回傳資訊

上傳成功則回傳資料當中的entry.response.status為"200 OK"(不同版本的Server可能顯示不同內容)

JAVA

package com.example.FHIR; //需替換成自己設置的專案名稱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
Object ReadData = new JSONParser().parse(new FileReader(".json")); 
JSONObject Data = (JSONObject) ReadData;
        
URL url = new URL(server_url); // 此方式Bundle,不須在FHIR server網址後加上資源名稱
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("POST");
httpCon.setDoOutpost(true);
httpCon.setRequestProperty("Content-Type", "application/json");

OutpostStream os = httpCon.getOutpostStream();
os.write(Data.toString().getBytes("UTF-8"));
os.close();
httpCon.disconnect(); 
StringBuilder content = new StringBuilder();
try (BufferedReader in = new BufferedReader(new InpostStreamReader(httpCon.getInpostStream()))) {
    String line;
    while ((line = in.readLine()) != null) {
        content.append(line);
    }
}
System.out.println(content);

上傳成功則回傳資料當中的entry.response.status為"200 OK"(不同版本的Server可能顯示不同內容)

C#

using FHIR_json.Models;//需替換成自己設置的專案名稱
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
StreamReader Json_Example = new StreamReader(@"C:\Users\.json"); //可替代為自己的檔案位置及檔名
string jsonString = Json_Example.ReadToEnd();
var data = new StringContent(jsonString, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
var response = await client.Post_TransAsync(server_url, data);// 此方式Bundle,不須在FHIR server網址後加上資源名稱
var result = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(result);

上傳成功則回傳資料當中的entry.response.status為"200 OK"(不同版本的Server可能顯示不同內容)

Bundle.type為Document時,此Bundle會將所有資源整合為一個醫療資訊文件(Document),並且第一個資源必須為Composition。 (若使用Document的方式上傳Bundle,當中的資源必須個別上傳或使用Transaction方式上傳,否則無法個別查看。)

1-1. 準備一個.json的檔案,並儲存格式的FHIR資料(使用PUT的方式必須要填寫id欄位),並且entry下的首個資源必須為Composition,範例如下顯示:

PYTHON

import requests
from bs4 import BeautifulSoup
import json
server_url = 'https://hapi.fhir.org/baseR4/' #可替代為自己的FHIR伺服器網址

FileName = 'Json/.json' #可替代為自己的檔案位置及檔名
with open(FileName, "r", encoding="utf-8") as json_file:
    Data = json.load(json_file)

access_token = requests.put(server_url+"//"+Data['id'], json = Data, verify=False) #使用PUT方式必須在網址中加上id
RequestResult = json.loads(str(access_token.text))
print(RequestResult) #印出回傳資訊

上傳成功則回傳資訊包含使用者所設定的id,並顯示versionId

JAVA

package com.example.FHIR; //需替換成自己設置的專案名稱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
Object ReadData = new JSONParser().parse(new FileReader(".json")); //可替代為自己的檔案位置及檔名
JSONObject Data = (JSONObject) ReadData;
        
URL url = new URL(server_url + "/" + (String) Data.get("id")); //使用PUT方式必須在網址中加上id
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("PUT");
httpCon.setDoOutput(true);
httpCon.setRequestProperty("Content-Type", "application/json");

OutputStream os = httpCon.getOutputStream();
os.write(Data.toString().getBytes("UTF-8"));
os.close();
httpCon.disconnect(); 
StringBuilder content = new StringBuilder();
try (BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream()))) {
    String line;
    while ((line = in.readLine()) != null) {
        content.append(line);
    }
}
System.out.println(content);

上傳成功則回傳資訊包含使用者所設定的id,並顯示versionId

C#

using FHIR_json.Models;//需替換成自己設置的專案名稱
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
StreamReader Json_Example = new StreamReader(@"C:\Users\.json"); //可替代為自己的檔案位置及檔名
string jsonString = Json_Example.ReadToEnd();
JObject jsonObject = JObject.Parse(jsonString);
var data = new StringContent(jsonString, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
var response = await client.Put_DocAsync(server_url + "/" + (string)jsonObject["id"], data); //使用PUT方式必須在網址中加上id
var result = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(result);

上傳成功則回傳資訊包含使用者所設定的id,並顯示versionId


1-1. 準備一個.json的檔案,並儲存格式的FHIR資料(使用POST的方式id欄位可選填),並且entry下的首個資源必須為Composition,範例如下顯示:


PYTHON

import requests
from bs4 import BeautifulSoup
import json
server_url = 'https://hapi.fhir.org/baseR4/' #可替代為自己的 FHIR 伺服器網址

FileName = 'Json/.json' #可替代為自己的檔案位置及檔名
with open(FileName, "r", encoding="utf-8") as json_file:
    Data = json.load(json_file)

access_token = requests.post(server_url+"/", json = Data, verify=False) #使用PUT方式必須在網址中加上id
RequestResult = json.loads(str(access_token.text))
print(RequestResult) #印出回傳資訊

上傳成功則回傳包含流水號id的資料,並顯示versionId

JAVA

package com.example.FHIR; //需替換成自己設置的專案名稱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
Object ReadData = new JSONParser().parse(new FileReader(".json")); 
JSONObject Data = (JSONObject) ReadData;
        
URL url = new URL(server_url + "");
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("POST");
httpCon.setDoOutpost(true);
httpCon.setRequestProperty("Content-Type", "application/json");

OutpostStream os = httpCon.getOutpostStream();
os.write(Data.toString().getBytes("UTF-8"));
os.close();
httpCon.disconnect(); 
StringBuilder content = new StringBuilder();
try (BufferedReader in = new BufferedReader(new InpostStreamReader(httpCon.getInpostStream()))) {
    String line;
    while ((line = in.readLine()) != null) {
        content.append(line);
    }
}
System.out.println(content);

上傳成功則回傳包含流水號id的資料,並顯示versionId

C#

using FHIR_json.Models;//需替換成自己設置的專案名稱
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
StreamReader Json_Example = new StreamReader(@"C:\Users\.json"); //可替代為自己的檔案位置及檔名
string jsonString = Json_Example.ReadToEnd();
var data = new StringContent(jsonString, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
var response = await client.Post_DocAsync(server_url + "", data);
var result = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(result);

上傳成功則回傳包含流水號id的資料,並顯示versionId


1-1. 準備好需查詢的資源id,或是以type的參數來搜尋所有type為document的Bundle資源


PYTHON

import requests
from bs4 import BeautifulSoup
import json
server_url = 'https://hapi.fhir.org/baseR4/' #可替代為自己的 FHIR 伺服器網址

SearchCode = "" #可填入/id搜尋單個Bundle資源,或是以?type=document來搜尋所有type為document的Bundle資源
access_token = requests.get(server_url+"/" + SearchCode, verify=False)
RequestResult = json.loads(str(access_token.text))
print(RequestResult)

成功則回傳Json格式的FHIR資料

JAVA

package com.example.FHIR; //需替換成自己設置的專案名稱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
String SearchCode = ""; //可填入/id搜尋單個Bundle資源,或是以?type=document來搜尋所有type為document的Bundle資源
URL url = new URL(server_url + "" + SearchCode);
        
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("GET");
InputStream is = httpCon.getInputStream();

try (BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8"))) {
    String line;
    while ((line = in.readLine()) != null) {
        System.out.println(line);
    }
}

成功則回傳Json格式的FHIR資料

C#

using FHIR_json.Models;//需替換成自己設置的專案名稱
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
HttpClient client = new HttpClient();
String SearchCode = ""; //可填入/id搜尋單個Bundle資源,或是以?type=document來搜尋所有type為document的Bundle資源
HttpResponseMessage response = await client.GetAsync(server_url + "" + SearchCode);
var result = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(result);

成功則回傳Json格式的FHIR資料


1-1. 準備好需刪除的資源id,或依照的查詢參數選擇刪除項目


PYTHON

import requests
from bs4 import BeautifulSoup
import json
server_url = 'https://hapi.fhir.org/baseR4/' #可替代為自己的 FHIR 伺服器網址

SearchCode = "/id" #填入想刪除的id,也可填入搜尋參數一次刪除多個資源
access_token = requests.delete(server_url+"/" + SearchCode, verify=False)
RequestResult = json.loads(str(access_token.text))
print(RequestResult)

成功則會回傳Successfully deleted的資訊

JAVA

package com.example.FHIR; //需替換成自己設置的專案名稱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
String SearchCode = "/id"; //填入想刪除的id,也可填入搜尋參數一次刪除多個資源
URL url = new URL(server_url + "" + SearchCode);

HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("DELETE");
httpCon.disconnect(); 

StringBuilder content = new StringBuilder();
try (BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream()))) {
    String line;
    while ((line = in.readLine()) != null) {
        content.append(line);
    }
}
System.out.println(content);

上傳成功則回傳包含流水號id的資料,並顯示versionId

C#

using FHIR_json.Models;//需替換成自己設置的專案名稱
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
HttpClient client = new HttpClient();
String SearchCode = "/id";
var response = await client.DeleteAsync(server_url + "" + SearchCode);
var result = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(result);

上傳成功則回傳包含流水號id的資料,並顯示versionId

Bundle.type為Message時,此Bundle為一個訊息(Message),第一個資源必須為MessageHeader,並且分為Message Request及Message Response兩種,兩種類型在MessageHeader的內容上有所不同。

1-1. 準備一個.json的檔案,並儲存格式的FHIR資料(使用POST的方式id欄位可選填),並且entry下的首個資源必須為MessageHeader。

1-2. MessageHeader的內容分別有兩種,一種為Message Request,另一種為Message Response,兩種範例如下顯示,在實際運用時擇一使用即可。
1-2-1. Message Request 主要用於用戶端傳送訊息給系統端時使用(如醫院傳送檢驗資料至系統),並且source欄位中可填寫醫院端相關資訊。
1-2-2. Message Response 主要用於系統端回傳資訊給用戶端時使用(如系統回傳資源儲存成功的訊息),source欄位中可填寫系統端相關資訊,並且需在response欄位中填寫傳送結果(ok、transient-error、fatal-error)。
1-3. 完整範例如下顯示(以Message Request為例):

PYTHON

import requests
from bs4 import BeautifulSoup
import json
server_url = 'https://hapi.fhir.org/baseR4/' #可替代為自己的 FHIR 伺服器網址

FileName = 'Json/.json' #可替代為自己的檔案位置及檔名
with open(FileName, "r", encoding="utf-8") as json_file:
    Data = json.load(json_file)

access_token = requests.post(server_url+"/", json = Data, verify=False)
RequestResult = json.loads(str(access_token.text))
print(RequestResult) #印出回傳資訊

上傳成功則回傳包含流水號id的資料,並顯示versionId

JAVA

package com.example.FHIR; //需替換成自己設置的專案名稱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
Object ReadData = new JSONParser().parse(new FileReader(".json")); 
JSONObject Data = (JSONObject) ReadData;
        
URL url = new URL(server_url + "");
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("POST");
httpCon.setDoOutpost(true);
httpCon.setRequestProperty("Content-Type", "application/json");

OutpostStream os = httpCon.getOutpostStream();
os.write(Data.toString().getBytes("UTF-8"));
os.close();
httpCon.disconnect(); 
StringBuilder content = new StringBuilder();
try (BufferedReader in = new BufferedReader(new InpostStreamReader(httpCon.getInpostStream()))) {
    String line;
    while ((line = in.readLine()) != null) {
        content.append(line);
    }
}
System.out.println(content);

上傳成功則回傳包含流水號id的資料,並顯示versionId

C#

using FHIR_json.Models;//需替換成自己設置的專案名稱
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
StreamReader Json_Example = new StreamReader(@"C:\Users\.json"); //可替代為自己的檔案位置及檔名
string jsonString = Json_Example.ReadToEnd();
var data = new StringContent(jsonString, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
var response = await client.Post_MessageAsync(server_url + "", data);
var result = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(result);

上傳成功則回傳包含流水號id的資料,並顯示versionId


1-1. 準備一個.json的檔案,並儲存格式的FHIR資料(使用PUT的方式必須要填寫id欄位),id值必須符合FHIR的唯一識別碼原則(或為已存在於FHIR Server中的流水號),並且entry下的首個資源必須為MessageHeader。

1-2. MessageHeader的內容分別有兩種,一種為Message Request,另一種為Message Response,兩種範例如下顯示,在實際運用時擇一使用即可。
1-2-1. Message Request 主要用於用戶端傳送訊息給系統端時使用(如醫院傳送檢驗資料至系統),並且source欄位中可填寫醫院端相關資訊。
1-2-2. Message Response 主要用於系統端回傳資訊給用戶端時使用(如系統回傳資源儲存成功的訊息),source欄位中可填寫系統端相關資訊,並且需在response欄位中填寫傳送結果(ok、transient-error、fatal-error)。
1-3. 完整範例如下顯示(以Message Request為例):

PYTHON

import requests
from bs4 import BeautifulSoup
import json
server_url = 'https://hapi.fhir.org/baseR4/' #可替代為自己的FHIR伺服器網址

FileName = 'Json/.json' #可替代為自己的檔案位置及檔名
with open(FileName, "r", encoding="utf-8") as json_file:
                                            Data = json.load(json_file)

access_token = requests.put(server_url+"//"+Data['id'], json = Data, verify=False) #使用PUT方式必須在網址中加上id
RequestResult = json.loads(str(access_token.text))
print(RequestResult) #印出回傳資訊

上傳成功則回傳資訊包含使用者所設定的id,並顯示versionId

JAVA

package com.example.FHIR; //需替換成自己設置的專案名稱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
Object ReadData = new JSONParser().parse(new FileReader(".json")); //可替代為自己的檔案位置及檔名
JSONObject Data = (JSONObject) ReadData;
        
URL url = new URL(server_url + "/" + (String) Data.get("id")); //使用PUT方式必須在網址中加上id
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("PUT");
httpCon.setDoOutput(true);
httpCon.setRequestProperty("Content-Type", "application/json");

OutputStream os = httpCon.getOutputStream();
os.write(Data.toString().getBytes("UTF-8"));
os.close();
httpCon.disconnect(); 
StringBuilder content = new StringBuilder();
try (BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream()))) {
    String line;
    while ((line = in.readLine()) != null) {
        content.append(line);
    }
}
System.out.println(content);

上傳成功則回傳資訊包含使用者所設定的id,並顯示versionId

C#

using FHIR_json.Models;//需替換成自己設置的專案名稱
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
StreamReader Json_Example = new StreamReader(@"C:\Users\.json"); //可替代為自己的檔案位置及檔名
string jsonString = Json_Example.ReadToEnd();
JObject jsonObject = JObject.Parse(jsonString);
var data = new StringContent(jsonString, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
var response = await client.Put_MessageAsync(server_url + "/" + (string)jsonObject["id"], data); //使用PUT方式必須在網址中加上id
var result = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(result);

上傳成功則回傳資訊包含使用者所設定的id,並顯示versionId


1-1. 準備好需查詢的資源id,或是以type的參數來搜尋所有type為message的Bundle資源


PYTHON

import requests
from bs4 import BeautifulSoup
import json
server_url = 'https://hapi.fhir.org/baseR4/' #可替代為自己的 FHIR 伺服器網址

SearchCode = "" # 可填入/id搜尋單個Bundle資源,或是以?type=message來搜尋所有type為message的Bundle資源
access_token = requests.get(server_url+"/" + SearchCode, verify=False)
RequestResult = json.loads(str(access_token.text))
print(RequestResult)

成功則回傳Json格式的FHIR資料

JAVA

package com.example.FHIR; //需替換成自己設置的專案名稱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
String SearchCode = ""; //可填入/id搜尋單個Bundle資源,或是以?type=message來搜尋所有type為message的Bundle資源
URL url = new URL(server_url + "" + SearchCode);
        
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("GET");
InputStream is = httpCon.getInputStream();

try (BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8"))) {
    String line;
    while ((line = in.readLine()) != null) {
        System.out.println(line);
    }
}

成功則回傳Json格式的FHIR資料

C#

using FHIR_json.Models;//需替換成自己設置的專案名稱
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
HttpClient client = new HttpClient();
String SearchCode = ""; // 可填入/id搜尋單個Bundle資源,或是以?type=message來搜尋所有type為message的Bundle資源
HttpResponseMessage response = await client.GetAsync(server_url + "" + SearchCode);
var result = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(result);

成功則回傳Json格式的FHIR資料


1-1. 準備好需刪除的資源id,或依照的查詢參數選擇刪除項目


PYTHON

import requests
from bs4 import BeautifulSoup
import json
server_url = 'https://hapi.fhir.org/baseR4/' #可替代為自己的 FHIR 伺服器網址

SearchCode = "/id" #填入想刪除的id,也可填入搜尋參數一次刪除多個資源
access_token = requests.delete(server_url+"/" + SearchCode, verify=False)
RequestResult = json.loads(str(access_token.text))
print(RequestResult)

成功則會回傳Successfully deleted的資訊

JAVA

package com.example.FHIR; //需替換成自己設置的專案名稱

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;

import net.minidev.json.JSONObject;
import net.minidev.json.parser.JSONParser;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
String SearchCode = "/id"; //填入想刪除的id,也可填入搜尋參數一次刪除多個資源
URL url = new URL(server_url + "" + SearchCode);

HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("DELETE");
httpCon.disconnect(); 

StringBuilder content = new StringBuilder();
try (BufferedReader in = new BufferedReader(new InputStreamReader(httpCon.getInputStream()))) {
    String line;
    while ((line = in.readLine()) != null) {
        content.append(line);
    }
}
System.out.println(content);

上傳成功則回傳包含流水號id的資料,並顯示versionId

C#

using FHIR_json.Models;//需替換成自己設置的專案名稱
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;

String server_url = "https://hapi.fhir.org/baseR4/"; //可替代為自己的FHIR伺服器網址
HttpClient client = new HttpClient();
String SearchCode = "/id";
var response = await client.DeleteAsync(server_url + "" + SearchCode);
var result = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
Console.WriteLine(result);

上傳成功則回傳包含流水號id的資料,並顯示versionId