本页面介绍了如何注入、创建、标记、列出、查看和删除 HL7v2 消息。 HL7v2 消息用于在系统之间传输临床数据。HL7v2 消息可能包含关于观察结果、发送到药店的处方、金融交易或其他临床事件的信息。
创建和提取 HL7v2 消息概览
使用以下任一方法在 Cloud Healthcare API 中存储 HL7v2 消息:
使用 messages.ingest
时,该方法会生成一个包含以下各项的响应:
- HL7v2 确认 (
ACK
) 消息(如果成功) - 出现错误时显示的否定确认 (
NACK
) 消息
ACK
和 NACK
消息用于回复 HL7v2 接口系统(需要这些确认)。
使用 MLLP 适配器提取和创建消息
系统会使用最小底层协议 (MLLP) 在护理系统和 Cloud Healthcare API 之间传送 HL7v2 消息。如需了解详情,请参阅 MLLP 和 Google Cloud Platform MLLP 适配器。如需了解如何配置 MLLP 适配器来与 Cloud Healthcare API 进行安全通信,请参阅通过 TCP/IP 连接传输 HL7v2 消息。
提取 HL7v2 消息
Cloud Healthcare API 从护理系统提取消息后,Cloud Healthcare API 会生成一个包含 hl7ack
字段的响应,该字段包含 base64 编码的 HL7v2 消息,具有以下特征:
- 消息类型为
ACK
。 - 发送方设施和接收方设施逆转,发送方应用与接收方应用逆转。
- 消息的发送时间是当前时间,并生成新的控件 ID。
MSH-9.1
字段的值定义了消息类型。MSA.1
字段的值定义了响应类型。AA
响应类型指示Application Accept
,表示消息已通过验证并成功提取。- 该
MSA.2
值包含原始消息的控件 ID。
以下示例展示了如何使用 projects.locations.datasets.hl7V2Stores.messages.ingest
方法注入 HL7v2 消息。
curl
要注入 HL7v2 消息,请发出 POST
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 一个
Message
以下示例显示了使用 curl
的 POST
请求以及名为 hl7v2-sample.json
的示例 JSON 文件。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data-binary @hl7v2-sample.json \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages:ingest"
以下示例响应显示了 hl7Ack
和消息详细信息。
{ "hl7Ack": "TVNIfF5+XCZ8QXxBfEF8U0VORF9GQUNJTElUWXwyMDIwMDIxNDIxMjAwNXx8QUNLfDFmMmQ1MjQzLTFhOWEtNGE4My05ZmI5LWNlNTIzMTVmZjk2M3xUfDAuMA1NU0F8QUF8MjAxODAxMDEwMDAwMDA=", "message": { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "14\u0001111", "type": "MRN" }, { "value": "11111111", "type": "MRN" }, { "value": "1111111111", "type": "ORGNMBR" } ] } }
PowerShell
要注入 HL7v2 消息,请发出 POST
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 一个
Message
以下示例显示了使用 PowerShell 的 POST
请求以及名为 hl7v2-sample.json
的示例 JSON 文件。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile hl7v2-sample.json ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages:ingest" | Select-Object -Expand Content
以下示例响应显示了 hl7Ack
和消息详细信息。
{ "hl7Ack": "TVNIfF5+XCZ8QXxBfEF8U0VORF9GQUNJTElUWXwyMDIwMDIxNDIxMjAwNXx8QUNLfDFmMmQ1MjQzLTFhOWEtNGE4My05ZmI5LWNlNTIzMTVmZjk2M3xUfDAuMA1NU0F8QUF8MjAxODAxMDEwMDAwMDA=", "message": { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "14\u0001111", "type": "MRN" }, { "value": "11111111", "type": "MRN" }, { "value": "1111111111", "type": "ORGNMBR" } ] } }
Go
Java
Node.js
Python
创建 HL7v2 消息
以下示例展示了如何使用 projects.locations.datasets.hl7V2Stores.messages.create
方法创建 HL7v2 消息。
REST
如需创建 HL7v2 消息,请使用 projects.locations.datasets.hl7V2Stores.messages.create
方法。
如果您需要与示例命令搭配使用的 HL7v2 消息文件,可以下载 hl7v2-sample.json
JSON 文件。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目的 ID
- LOCATION:数据集位置
- DATASET_ID:HL7v2 存储区的父数据集
- HL7V2_STORE_ID:HL7v2 存储区 ID
- HL7V2_MESSAGE_FILE:本地机器上包含 HL7v2 消息的 JSON 格式文件的路径
如需发送请求,请选择以下方式之一:
curl
执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
--data-binary @HL7V2_MESSAGE_FILE \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages"
PowerShell
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-InFile HL7V2_MESSAGE_FILE `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages" | Select-Object -Expand Content
API Explorer
打开方法参考页面。API Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。填写所有必填字段,然后点击执行。
hl7v2-sample.json
JSON 文件创建消息时,系统会返回以下输出:
Go
Java
Node.js
Python
HL7v2 消息细分分隔符和编码
HL7v2 中的默认细分分隔符是回车符 (\r
)。大多数文本编辑器都使用换行符 (\n
) 作为细分分隔符。这会生成使用默认配置无法提取到 Cloud Healthcare API 中的 HL7v2 消息。要允许 HL7v2 存储区注入使用换行符作为细分分隔符的消息,请参阅设置细分终止符。
要将文件中的换行符转换为回车符,请在 Linux shell 中运行以下命令:
sed -z 's/\n/\r/g' INPUT_FILENAME > OUTPUT_FILENAME
注入和创建方法要求 HL7v2 消息采用 base64 编码的字符串。要将字符串转换为 base64 编码,请在 Linux shell 中运行以下命令:
openssl base64 -A -in ./INPUT_FILENAME -out ./OUTPUT_FILENAME
设置细分终止符
在创建或提取数据时,HL7v2 消息格式要求分段使用回车符 \r
终止细分。您可以将 HL7v2 存储区配置为接受包含非标准终止符(如 \n
)的 HL7v2 消息。
请考虑以下使用默认 \r
作为细分终止符的 HL7v2 消息。默认情况下,当您创建 HL7v2 存储区时,系统会接受此消息。
MSH|^~\\&|FROM_APP|FROM_FACILITY|TO_APP|TO_FACILITY|20150503223000||ADT^A01|20150503223000|P|2.5|\r EVN|A01|20110613083617|\r PID|1||21004053^^^^MRN||SULLY^BRIAN||19611209|M|||123 MAIN ST^^MOUNTAIN SPRINGS^CO^80439|\r PV1||I|H73 RM1^1^^HIGHWAY 73 CLINIC||||5148^MARY QUINN|||||||||Y||||||||||||||||||||||||||||20150503223000|\r
以下消息与上一条消息相同,只不过它使用 \n
作为细分终止符:
MSH|^~\\&|FROM_APP|FROM_FACILITY|TO_APP|TO_FACILITY|20150503223000||ADT^A01|20150503223000|P|2.5|\n EVN|A01|20110613083617|\n PID|1||21004053^^^^MRN||SULLY^BRIAN||19611209|M|||123 MAIN ST^^MOUNTAIN SPRINGS^CO^80439|\n PV1||I|H73 RM1^1^^HIGHWAY 73 CLINIC||||5148^MARY QUINN|||||||||Y||||||||||||||||||||||||||||20150503223000|\n
要存储包含非标准终止符的消息,请在 HL7v2 存储区中配置ParserConfig
对象,并将 segmentTerminator
字段设置为 \n
的 base64 编码。
以下示例展示了在创建 HL7v2 存储区时,如何在 ParserConfig
中配置 segmentTerminator
。如果已有 HL7v2 存储区,则可以对其进行修改以提供 ParserConfig
正文。设置细分终止符后,可以创建或注入消息。
curl
要创建将细分终止符设置为 \n
的 HL7v2 存储区,请发出 POST
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 将
segmentTerminator
设置为Cg==
的parserConfig
对象(\n
的 base64 编码)
以下示例展示了使用 curl
的 POST
请求。
curl -X POST \ --data "{ 'parserConfig': { 'segmentTerminator': 'Cg==' } }" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID", "parserConfig": { "segmentTerminator": "Cg==" } }
PowerShell
要创建将细分终止符设置为 \n
的 HL7v2 存储区,请发出 POST
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 将
segmentTerminator
设置为Cg==
的parserConfig
对象(\n
的 base64 编码)
以下示例展示了使用 PowerShell 的 POST
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'parserConfig': { 'segmentTerminator': 'Cg==' } } ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID", "parserConfig": { "segmentTerminator": "Cg==" } }
使用空细分标头
不带消息标头细分 (MSH) 的 HL7v2 消息具有空的细分标头。通常情况下,HL7v2 消息会包含 MSH,它定义了消息的来源、意图、目的和目标等元数据。MSH 允许您搜索和过滤消息。但是,您可以通过在 HL7v2 存储区中配置 ParserConfig
对象并将 allowNullHeader
字段设置为 true
,来存储不包含 MSH 的消息。
以下示例消息包含患者标识 (PID) 细分,但不包含 MSH:
PID|1||21004053^^^^MRN||SULLY^BRIAN||19611209|M|||123 MAIN ST^^MOUNTAIN SPRINGS^CO^80439
以下示例展示了在创建 HL7v2 存储区时,如何在 ParserConfig
中配置 allowNullHeader
。如果已有 HL7v2 存储区,则可以对其进行修改并提供 ParserConfig
正文。将 allowNullHeader
设置为 true
后,您可以创建或注入具包含细分标头的消息。
curl
要创建 HL7v2 存储区并存储不包含 MSH 的消息,请发出 POST
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 将
allowNullHeader
设置为true
的parserConfig
对象
以下示例展示了使用 curl
的 POST
请求。
curl -X POST \ --data "{ 'parserConfig': { 'allowNullHeader': true } }" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID", "parserConfig": { "allowNullHeader": true } }
PowerShell
要创建 HL7v2 存储区并存储不包含 MSH 的消息,请发出 POST
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 将
allowNullHeader
设置为true
的parserConfig
对象
以下示例展示了使用 PowerShell 的 POST
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Post ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'parserConfig': { 'nullTerminator': true } } ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores?hl7V2StoreId=HL7V2_STORE_ID" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID", "parserConfig": { "allowNullHeader": true } }
为 HL7v2 消息添加标签
您可以向消息中添加一个或多个键值标签。标签的一个用例是向消息添加状态标签,以便应用可以按状态查询消息。
以下示例展示了如何使用 projects.locations.datasets.hl7V2Stores.messages.patch
方法向 HL7v2 消息添加标签。
curl
要为 HL7v2 消息添加标签,请发出 PATCH
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
- 要更新的标签数据
- 更新掩码
以下示例展示了使用 curl
的 PATCH
请求。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'labels': { 'KEY' : 'VALUE' } }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?updateMask=labels"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "DATA", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "VALUE_1", "type": "TYPE_1" }, { "value": "VALUE_2", "type": "TYPE_2" } ], "labels": { "KEY": "VALUE" } }
PowerShell
要为 HL7v2 消息添加标签,请发出 PATCH
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
- 要更新的标签数据
- 更新掩码
以下示例展示了使用 PowerShell 的 PATCH
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Patch ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body "{ 'labels': { 'KEY': 'VALUE' } }" ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?updateMask=labels" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "DATA", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "VALUE_1", "type": "TYPE_1" }, { "value": "VALUE_2", "type": "TYPE_2" } ], "labels": { "KEY": "VALUE" } }
Go
Java
Node.js
Python
获取 HL7v2 消息内容
以下示例展示了如何使用 projects.locations.datasets.hl7V2Stores.messages.get
方法获取 HL7v2 消息的内容。要确定要获取的消息部分,请为 view
查询参数提供以下选项之一:
BASIC
:仅包括name
字段。RAW_ONLY
:包括除parsedData
字段之外的所有消息字段。PARSED_ONLY
:包括除data
字段之外的所有消息字段。FULL
:包括所有消息字段。这是默认的。
以下示例展示了如何使用 FULL
、RAW_ONLY
和 PARSED_ONLY
视图获取 HL7v2 消息的内容。
使用 FULL
视图
您无需显式设置 FULL
视图,因为 FULL
是默认值。但是,在以下 curl
和 PowerShell 示例中,FULL
视图已添加为查询参数以提高完整性。
curl
要使用 FULL
视图获取 HL7v2 消息的内容,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
FULL
作为view
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=FULL"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "DATA", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "VALUE_1", "type": "TYPE_1" }, { "value": "VALUE_2", "type": "TYPE_2" }, { "value": "VALUE_3", "type": "TYPE_3" } ], "parsedData": { "segments": [ { ""segmentId": "SEGMENT_ID_1", "fields": { FIELDS_1 } }, { "segmentId": "SEGMENT_ID_2", "fields": { FIELDS_2 } }, { "segmentId": "SEGMENT_ID_3", "fields": { FIELDS_3 } } ] } }
PowerShell
要使用 FULL
视图获取 HL7v2 消息的内容,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
FULL
作为view
以下示例展示了使用 PowerShell 的 GET
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=FULL" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "DATA", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "VALUE_1", "type": "TYPE_1" }, { "value": "VALUE_2", "type": "TYPE_2" }, { "value": "VALUE_3", "type": "TYPE_3" } ], "parsedData": { "segments": [ { ""segmentId": "SEGMENT_ID_1", "fields": { FIELDS_1 } }, { "segmentId": "SEGMENT_ID_2", "fields": { FIELDS_2 } }, { "segmentId": "SEGMENT_ID_3", "fields": { FIELDS_3 } } ] } }
Go
Java
Node.js
Python
使用 RAW_ONLY
视图
以下示例展示了如何使用 RAW_ONLY
视图(其中包含 parsedData
之外的所有消息字段)获取 HL7v2 消息的内容。
curl
要使用 RAW_ONLY
视图获取 HL7v2 消息的内容,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
RAW_ONLY
作为视图
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=RAW_ONLY"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "DATA", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "VALUE_1", "type": "TYPE_1" }, { "value": "VALUE_2", "type": "TYPE_2" }, { "value": "VALUE_3", "type": "TYPE_3" } ] }
PowerShell
要使用 RAW_ONLY
视图获取 HL7v2 消息的内容,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
RAW_ONLY
作为视图
以下示例展示了使用 PowerShell 的 GET
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=RAW_ONLY" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "DATA", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "VALUE_1", "type": "TYPE_1" }, { "value": "VALUE_2", "type": "TYPE_2" }, { "value": "VALUE_3", "type": "TYPE_3" } ] }
使用 PARSED_ONLY
视图
以下示例展示了如何使用 PARSED_ONLY
视图(其中包含 data
之外的所有消息字段)获取 HL7v2 消息的内容。
curl
要使用 PARSED_ONLY
视图获取 HL7v2 消息的内容,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
PARSED_ONLY
作为视图
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=PARSED_ONLY"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "VALUE_1", "type": "TYPE_1" }, { "value": "VALUE_2", "type": "TYPE_2" }, { "value": "VALUE_3", "type": "TYPE_3" } ], "parsedData": { "segments": [ { "segmentId": "SEGMENT_ID_1", "fields": { FIELDS_1 } }, { "segmentId": "SEGMENT_ID_2", "fields": { FIELDS_2 } }, { "segmentId": "SEGMENT_ID_3", "fields": { FIELDS_3 } } ] } }
PowerShell
要使用 PARSED_ONLY
视图获取 HL7v2 消息的内容,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
PARSED_ONLY
作为视图
以下示例展示了使用 PowerShell 的 GET
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=PARSED_ONLY" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "sendFacility": "SEND_FACILITY", "sendTime": "2018-01-01T00:00:00Z", "messageType": "TYPE", "createTime": "CREATE_TIME", "patientIds": [ { "value": "VALUE_1", "type": "TYPE_1" }, { "value": "VALUE_2", "type": "TYPE_2" }, { "value": "VALUE_3", "type": "TYPE_3" } ], "parsedData": { "segments": [ { "segmentId": "SEGMENT_ID_1", "fields": { FIELDS_1 } }, { "segmentId": "SEGMENT_ID_2", "fields": { FIELDS_2 } }, { "segmentId": "SEGMENT_ID_3", "fields": { FIELDS_3 } } ] } }
使用 BASIC
视图
以下示例展示了如何使用 BASIC
视图(仅包含 name
字段)获取 HL7v2 消息的内容。
curl
要使用 BASIC
视图获取 HL7v2 消息的内容,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
BASIC
作为视图
以下示例展示了使用 curl
的 GET
请求。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=BASIC"
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID" }
PowerShell
要使用 BASIC
视图获取 HL7v2 消息的内容,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- 消息 ID
BASIC
作为视图
以下示例展示了使用 PowerShell 的 GET
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID?view=BASIC" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应:
{ "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID" }
列出 HL7v2 消息
以下示例展示了如何使用方法列出 HL7v2 存储区中的消息。要确定有关列表中要包括的每条消息的信息,请使用以下选项之一指定 view
查询参数:
BASIC
:仅包括name
字段。这是默认的。RAW_ONLY
:包括除parsedData
字段之外的所有消息字段。PARSED_ONLY
:包括除data
字段之外的所有消息字段。FULL
:包括所有消息字段。
curl
要列出 HL7v2 存储区中的消息,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
view
,BASIC
、RAW_ONLY
、PARSED_ONLY
或FULL
中的一个,或省略以使用默认值BASIC
以下示例展示了使用 curl
的 GET
请求。请求指定 ?view=FULL
以包括所有消息字段。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages?view=FULL"
如果请求成功,服务器将返回 200 OK
HTTP 状态代码以及名为 hl7_v2_messages
的一组消息。以下示例响应被截断。
{ "hl7_v2_messages": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "DATA", "sendFacility": "SEND_FACILITY", "sendTime": "SEND_TIME", "messageType": "MESSAGE_TYPE", "createTime": "CREATE_TIME", ... }, ... ] }
PowerShell
要列出 HL7v2 存储区中的消息,请发出 GET
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
view
,BASIC
、RAW_ONLY
、PARSED_ONLY
或FULL
中的一个,或省略以使用默认值BASIC
以下示例展示了使用 PowerShell 的 GET
请求。 请求指定 ?view=FULL
以包括所有消息字段。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages?view=FULL" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回响应。示例响应被截断。
{ "hl7_v2_messages": [ { "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID", "data": "DATA", "sendFacility": "SEND_FACILITY", "sendTime": "SEND_TIME", "messageType": "MESSAGE_TYPE", "createTime": "CREATE_TIME", ... }, ... ] }
Go
Java
Node.js
Python
删除 HL7v2 消息
以下示例展示了如何使用 projects.locations.datasets.hl7V2Stores.messages.delete
方法删除 HL7v2 消息。
curl
要删除 HL7v2 消息,请发出 DELETE
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- HL7v2 消息 ID
以下示例展示了使用 curl
的 DELETE
请求。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID"
如果请求成功,服务器将以 JSON 格式返回空白正文响应:
{}
PowerShell
要删除 HL7v2 消息,请发出 DELETE
请求并指定以下信息:
- 父级数据集的名称和位置
- HL7v2 存储区的名称
- HL7v2 消息 ID
以下示例展示了使用 PowerShell 的 DELETE
请求。
$cred = gcloud auth application-default print-access-token $headers = @{ Authorization = "Bearer $cred" } Invoke-WebRequest ` -Method Delete ` -Headers $headers ` -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/MESSAGE_ID" | Select-Object -Expand Content
如果请求成功,服务器将以 JSON 格式返回空响应正文:
{}