Bundle
Bundle.type為Transaction時,主要用途在於上傳Bundle當中的個別資源,Bundle本身不會儲存進FHIR Server當中,因此只能使用POST上傳資源,並且資源無法以GET方式讀取回來,也無法刪除Bundle。
1. 前置準備作業
2-2. FHIR資源讀檔
2-3. 上傳資料
2-4. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
1-1. 準備一個.json的檔案,並儲存格式的FHIR資料
1-2. 若要使用Transaction方式上傳Bundle資源,Bundle.entry.request.method為必填欄位(只能填入:GET | HEAD | POST | PUT | DELETE | PATCH),範例如下顯示:
2. 範例程式
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
2-1. 宣告
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
2-1. 宣告
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#
2-1. 宣告
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. 前置準備作業
2-2. FHIR資源讀檔
2-3. 上傳資料
2-4. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
1-1. 準備一個.json的檔案,並儲存格式的FHIR資料(使用PUT的方式必須要填寫id欄位),並且entry下的首個資源必須為Composition,範例如下顯示:
2. 範例程式
PYTHON
2-1. 宣告
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
2-1. 宣告
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#
2-1. 宣告
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. 前置準備作業
2-2. FHIR資源讀檔
2-3. 上傳資料
2-4. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
1-1. 準備一個.json的檔案,並儲存格式的FHIR資料(使用POST的方式id欄位可選填),並且entry下的首個資源必須為Composition,範例如下顯示:
2. 範例程式
PYTHON
2-1. 宣告
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
2-1. 宣告
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#
2-1. 宣告
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. 前置準備作業
2-2. 搜尋資料
2-3. 回傳資訊
2-2. 搜尋資料
2-3. 回傳資訊
2-2. 搜尋資料
2-3. 回傳資訊
1-1. 準備好需查詢的資源id,或是以type的參數來搜尋所有type為document的Bundle資源
2. 範例程式
PYTHON
2-1. 宣告
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
2-1. 宣告
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#
2-1. 宣告
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. 前置準備作業
2-2. 刪除資料
2-3. 回傳資訊
2-2. 刪除資料
2-3. 回傳資訊
2-2. 刪除資料
2-3. 回傳資訊
1-1. 準備好需刪除的資源id,或依照的查詢參數選擇刪除項目
2. 範例程式
PYTHON
2-1. 宣告
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
2-1. 宣告
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#
2-1. 宣告
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. 前置準備作業
2-2. FHIR資源讀檔
2-3. 上傳資料
2-4. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
1-1. 準備一個.json的檔案,並儲存格式的FHIR資料(使用POST的方式id欄位可選填),並且entry下的首個資源必須為MessageHeader。
1-2. MessageHeader的內容分別有兩種,一種為Message Request,另一種為Message Response,兩種範例如下顯示,在實際運用時擇一使用即可。
1-2-1. Message Request 主要用於用戶端傳送訊息給系統端時使用(如醫院傳送檢驗資料至系統),並且source欄位中可填寫醫院端相關資訊。
2. 範例程式
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
2-1. 宣告
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
2-1. 宣告
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#
2-1. 宣告
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. 前置準備作業
2-2. FHIR資源讀檔
2-3. 上傳資料
2-4. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
2-2. 上傳資料
2-3. 回傳資訊
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欄位中可填寫醫院端相關資訊。
2. 範例程式
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
2-1. 宣告
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
2-1. 宣告
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#
2-1. 宣告
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. 前置準備作業
2-2. 搜尋資料
2-3. 回傳資訊
2-2. 搜尋資料
2-3. 回傳資訊
2-2. 搜尋資料
2-3. 回傳資訊
1-1. 準備好需查詢的資源id,或是以type的參數來搜尋所有type為message的Bundle資源
2. 範例程式
PYTHON
2-1. 宣告
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
2-1. 宣告
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#
2-1. 宣告
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. 前置準備作業
2-2. 刪除資料
2-3. 回傳資訊
2-2. 刪除資料
2-3. 回傳資訊
2-2. 刪除資料
2-3. 回傳資訊
1-1. 準備好需刪除的資源id,或依照的查詢參數選擇刪除項目
2. 範例程式
PYTHON
2-1. 宣告
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
2-1. 宣告
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#
2-1. 宣告
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