为 HL7v2 消息启用架构化解析

本页面介绍如何在 HL7v2 存储区上启用架构化解析以解析符合 HL7v2 标准的 HL7v2 消息。在未设置架构配置的情况下启用架构化解析称为使用默认架构。启用架构化解析的主要用例是在提取或创建 HL7v2 消息时保留分组

默认架构化解析只能用于符合 HL7v2 标准的消息。要解析不符合 HL7v2 标准的消息,您必须使用自定义架构。 默认解析器基于 HL7v2 标准 2.8.2 版。

HL7v2 消息示例

本页面中的示例使用以下 HL7v2 消息。示例消息符合 HL7v2 标准。

MSH|^~\&|My EHR|My Test Facility||My EHR Facility|20150926140551||ORU^R01^ORU_R01|My-LOI_5.0_1.1-NG|T|2.5.1|||AL|AL|||||\r
PID|1||PATID5421^^^My MPI^MR||Zhang^Sally^Brian^^^^L||19840611|F||2106-3^White^HL70005|123 Main Street^^Mountain Springs^CO^80439^^H||^PRN^PH^^^203^2290210|||||||||N^Not Hispanic or Latino^HL70189\r
ORC|RE|833582639|3266238193||CM||||2010-01-01T19:53:38.408547Z\r
OBR|1|833582639|3266238193|us-0005^Vital Signs^WinPath^^||2010-01-01T19:53:38.408547Z|2010-01-01T19:53:38.408547Z|||||||2010-01-01T19:53:38.408547Z||||||||2010-01-01T19:53:38.408547Z|||F||1\r
OBX|1|NM|tt-0005-07^MDC_PULS_RATE_NON_INV^MDC^^||52.31|MDC_DIM_BEAT_PER_MIN|50-200||||F|||2010-01-01T19:53:38.408547Z||\r
OBX|2|NM|tt-0005-12^PAIN LEVEL^L^^||1.71|/10|1-10||||F|||2010-01-01T19:53:38.408547Z||\r
OBX|3|NM|tt-0005-09^MDC_TEMP^MDC^^||36.22|MDC_DIM_DEGC|36-38||||F|||2010-01-01T19:53:38.408547Z||\r

使用默认架构保留分组

当您创建或提取 HL7v2 消息时,Cloud Healthcare API 会解析该消息,以便消息中的所有片段都作为平面层次结构在 ParsedData 对象中返回。因此,消息中的分组信息会丢失。如需保留分组,您可以通过在 ParserConfig 对象中进行传递,以便在创建或修补 HL7v2 存储区时使用默认的架构化解析。

传入 ParserConfig 后,消息中的片段会在保留分组的 SchematizedData 对象中返回。

例如,比较 HL7v2 消息中 ParsedData 版本(未设置 ParserConfig)和 SchematizedData 版本(设置 ParserConfig)的 MSH 片段的解析版本):

ParsedDataSchematizedData
{
  "parsedData": {
    "segments": [
      {
        "segmentId": "MSH",
        "fields": {
          "0": "MSH",
          "1": "^~\\&",
          "2": "My EHR",
          "3": "My Test Facility",
          "5": "My EHR Facility",
          "6": "20150926140551",
          "9": "My-LOI_5.0_1.1-NG",
          "10": "T",
          "11": "2.5.1",
          "14": "AL",
          "15": "AL",
          "8.3": "ORU_R01",
          "8.2": "R01",
          "8.1": "ORU"
        }
      },
  ...
  }
}
{
  "schematizedData": {
    "data": "{
      "ORU_R01": {
        "DSC": null,
        "MSH": {
          "0": "MSH",
          "1": "|",
          "2": "^~\\\\\\u0026",
          "3": {
            "1": "My EHR"
          },
          "4": {
            "1": "My Test Facility"
          },
          "5": null,
          "6": {
            "1": "My EHR Facility"
          },
          "7": "20150926140551",
          "8": null,
          "9": {
            "1": "ORU",
            "2": "R01",
            "3": "ORU_R01"
          },
          "10": "My-LOI_5.0_1.1-NG",
          "11": {
            "1": "T"
          },
          "12": {
            "1": "2.5.1"
          },
          "13": null,
          "14": null,
          "15": "AL",
          "16": "AL",
          "17": null,
          "18": null,
          "19": null,
          "20": null,
          "21": null
        },
    ...
  }
}

使用默认架构更新 HL7v2 存储区

如需更新现有 HL7v2 存储区并启用默认架构化解析,请使用 projects.locations.datasets.hl7V2Stores.patch 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目的 ID
  • LOCATION:数据集位置
  • DATASET_ID:HL7v2 存储区的父数据集
  • HL7V2_STORE_ID:HL7v2 存储区 ID
  • FAILURE_MODE:架构化解析的故障模式,即 HARD_FAILSOFT_FAIL。如需了解详情,请参阅 SchematizedParsingType

请求 JSON 正文:

{
  "parserConfig": {
    "schema": {
      "schematizedParsingType": "FAILURE_MODE"
    },
    "version": "V3"
  }
}

如需发送请求,请选择以下方式之一:

将请求正文保存在名为 request.json 的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:

cat > request.json << 'EOF'
{
  "parserConfig": {
    "schema": {
      "schematizedParsingType": "FAILURE_MODE"
    },
    "version": "V3"
  }
}
EOF

然后,执行以下命令以发送 REST 请求:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID?updateMask=parser_config.schema"

将请求正文保存在名为 request.json 的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:

@'
{
  "parserConfig": {
    "schema": {
      "schematizedParsingType": "FAILURE_MODE"
    },
    "version": "V3"
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

然后,执行以下命令以发送 REST 请求:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID?updateMask=parser_config.schema" | Select-Object -Expand Content
该示例使用建议的 V3 版本解析器。
{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID",
  "parserConfig": {
    "schema": {
      "schematizedParsingType": "FAILURE_MODE"
    }
    "version": "V3"
  }
}

使用默认架构提取和解析示例 HL7v2 消息

使用默认架构化解析创建或更新 HL7v2 存储区后,您可以将 HL7v2 消息提取到存储区。

以下示例展示了如何提取转换为 base64 的示例 HL7v2 消息中显示的示例消息。编码后的消息以值的形式提供给 message 对象内的 data 字段。

如需提取消息,请使用 projects.locations.datasets.hl7V2Stores.messages.ingest 方法。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID
  • LOCATION:父级数据集的位置
  • DATASET_ID:HL7v2 存储区的父数据集
  • HL7V2_STORE_ID:HL7v2 存储区 ID

请求 JSON 正文:

{
  "message": {
    "data": "TVNIfF5+XCZ8TXkgRUhSfE15IFRlc3QgRmFjaWxpdHl8fE15IEVIUiBGYWNpbGl0eXwyMDE1MDkyNjE0MDU1MXx8T1JVXlIwMV5PUlVfUjAxfE15LUxPSV81LjBfMS4xLU5HfFR8Mi41LjF8fHxBTHxBTHx8fHx8DVBJRHwxfHxQQVRJRDU0MjFeXl5NeSBNUEleTVJ8fFpoYW5nXlNhbGx5XkJyaWFuXl5eXkx8fDE5ODQwNjExfEZ8fDIxMDYtM15XaGl0ZV5ITDcwMDA1fDEyMyBNYWluIFN0cmVldF5eTW91bnRhaW4gU3ByaW5nc15DT144MDQzOV5eSHx8XlBSTl5QSF5eXjIwM14yMjkwMjEwfHx8fHx8fHx8Tl5Ob3QgSGlzcGFuaWMgb3IgTGF0aW5vXkhMNzAxODkNT1JDfFJFfDgzMzU4MjYzOXwzMjY2MjM4MTkzfHxDTXx8fHwyMDIwMDUwNjE3MDgyMg1PQlJ8MXw4MzM1ODI2Mzl8MzI2NjIzODE5M3x1cy0wMDA1XlZpdGFsIFNpZ25zXldpblBhdGheXnx8MjAyMDA1MDYxNzA4MjJ8MjAyMDA1MDYxNzA4MjJ8fHx8fHx8MjAyMDA1MDYxNzA4MjJ8fHx8fHx8fDIwMjAwNTA2MTcwODIyfHx8Rnx8MQ1PQlh8MXxOTXx0dC0wMDA1LTA3Xk1EQ19QVUxTX1JBVEVfTk9OX0lOVl5NRENeXnx8NTIuMzF8TURDX0RJTV9CRUFUX1BFUl9NSU58NTAtMjAwfHx8fEZ8fHwyMDIwMDUwNjE3MDgyMnx8DU9CWHwyfE5NfHR0LTAwMDUtMTJeUEFJTiBMRVZFTF5MXl58fDEuNzF8LzEwfDEtMTB8fHx8Rnx8fDIwMjAwNTA2MTcwODIyfHwNT0JYfDN8Tk18dHQtMDAwNS0wOV5NRENfVEVNUF5NRENeXnx8MzYuMjJ8TURDX0RJTV9ERUdDfDM2LTM4fHx8fEZ8fHwyMDIwMDUwNjE3MDgyMnx8DQ=="
  }
}

如需发送请求,请选择以下方式之一:

将请求正文保存在名为 request.json 的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:

cat > request.json << 'EOF'
{
  "message": {
    "data": "TVNIfF5+XCZ8TXkgRUhSfE15IFRlc3QgRmFjaWxpdHl8fE15IEVIUiBGYWNpbGl0eXwyMDE1MDkyNjE0MDU1MXx8T1JVXlIwMV5PUlVfUjAxfE15LUxPSV81LjBfMS4xLU5HfFR8Mi41LjF8fHxBTHxBTHx8fHx8DVBJRHwxfHxQQVRJRDU0MjFeXl5NeSBNUEleTVJ8fFpoYW5nXlNhbGx5XkJyaWFuXl5eXkx8fDE5ODQwNjExfEZ8fDIxMDYtM15XaGl0ZV5ITDcwMDA1fDEyMyBNYWluIFN0cmVldF5eTW91bnRhaW4gU3ByaW5nc15DT144MDQzOV5eSHx8XlBSTl5QSF5eXjIwM14yMjkwMjEwfHx8fHx8fHx8Tl5Ob3QgSGlzcGFuaWMgb3IgTGF0aW5vXkhMNzAxODkNT1JDfFJFfDgzMzU4MjYzOXwzMjY2MjM4MTkzfHxDTXx8fHwyMDIwMDUwNjE3MDgyMg1PQlJ8MXw4MzM1ODI2Mzl8MzI2NjIzODE5M3x1cy0wMDA1XlZpdGFsIFNpZ25zXldpblBhdGheXnx8MjAyMDA1MDYxNzA4MjJ8MjAyMDA1MDYxNzA4MjJ8fHx8fHx8MjAyMDA1MDYxNzA4MjJ8fHx8fHx8fDIwMjAwNTA2MTcwODIyfHx8Rnx8MQ1PQlh8MXxOTXx0dC0wMDA1LTA3Xk1EQ19QVUxTX1JBVEVfTk9OX0lOVl5NRENeXnx8NTIuMzF8TURDX0RJTV9CRUFUX1BFUl9NSU58NTAtMjAwfHx8fEZ8fHwyMDIwMDUwNjE3MDgyMnx8DU9CWHwyfE5NfHR0LTAwMDUtMTJeUEFJTiBMRVZFTF5MXl58fDEuNzF8LzEwfDEtMTB8fHx8Rnx8fDIwMjAwNTA2MTcwODIyfHwNT0JYfDN8Tk18dHQtMDAwNS0wOV5NRENfVEVNUF5NRENeXnx8MzYuMjJ8TURDX0RJTV9ERUdDfDM2LTM4fHx8fEZ8fHwyMDIwMDUwNjE3MDgyMnx8DQ=="
  }
}
EOF

然后,执行以下命令以发送 REST 请求:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages:ingest"

将请求正文保存在名为 request.json 的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:

@'
{
  "message": {
    "data": "TVNIfF5+XCZ8TXkgRUhSfE15IFRlc3QgRmFjaWxpdHl8fE15IEVIUiBGYWNpbGl0eXwyMDE1MDkyNjE0MDU1MXx8T1JVXlIwMV5PUlVfUjAxfE15LUxPSV81LjBfMS4xLU5HfFR8Mi41LjF8fHxBTHxBTHx8fHx8DVBJRHwxfHxQQVRJRDU0MjFeXl5NeSBNUEleTVJ8fFpoYW5nXlNhbGx5XkJyaWFuXl5eXkx8fDE5ODQwNjExfEZ8fDIxMDYtM15XaGl0ZV5ITDcwMDA1fDEyMyBNYWluIFN0cmVldF5eTW91bnRhaW4gU3ByaW5nc15DT144MDQzOV5eSHx8XlBSTl5QSF5eXjIwM14yMjkwMjEwfHx8fHx8fHx8Tl5Ob3QgSGlzcGFuaWMgb3IgTGF0aW5vXkhMNzAxODkNT1JDfFJFfDgzMzU4MjYzOXwzMjY2MjM4MTkzfHxDTXx8fHwyMDIwMDUwNjE3MDgyMg1PQlJ8MXw4MzM1ODI2Mzl8MzI2NjIzODE5M3x1cy0wMDA1XlZpdGFsIFNpZ25zXldpblBhdGheXnx8MjAyMDA1MDYxNzA4MjJ8MjAyMDA1MDYxNzA4MjJ8fHx8fHx8MjAyMDA1MDYxNzA4MjJ8fHx8fHx8fDIwMjAwNTA2MTcwODIyfHx8Rnx8MQ1PQlh8MXxOTXx0dC0wMDA1LTA3Xk1EQ19QVUxTX1JBVEVfTk9OX0lOVl5NRENeXnx8NTIuMzF8TURDX0RJTV9CRUFUX1BFUl9NSU58NTAtMjAwfHx8fEZ8fHwyMDIwMDUwNjE3MDgyMnx8DU9CWHwyfE5NfHR0LTAwMDUtMTJeUEFJTiBMRVZFTF5MXl58fDEuNzF8LzEwfDEtMTB8fHx8Rnx8fDIwMjAwNTA2MTcwODIyfHwNT0JYfDN8Tk18dHQtMDAwNS0wOV5NRENfVEVNUF5NRENeXnx8MzYuMjJ8TURDX0RJTV9ERUdDfDM2LTM4fHx8fEZ8fHwyMDIwMDUwNjE3MDgyMnx8DQ=="
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

然后,执行以下命令以发送 REST 请求:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.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

您应该收到类似以下内容的 JSON 响应:

{
  "hl7Ack": "TVNIfF5+XCZ8fE15IEVIUiBGYWNpbGl0eXxNeSBFSFJ8TXkgVGVzdCBGYWNpbGl0eXwyMDIwMDUwNjIxNDY1MXx8QUNLfDcwY2IxMjJhLTUxYzctNGFkYy04NzFkLWZlMzJjZTgxYzI5OHxUfDIuNS4xDU1TQXxBQXxNeS1MT0lfNS4wXzEuMS1ORw==",
  "message": {
    "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/hl7V2Stores/HL7V2_STORE_ID/messages/HL7V2_STORE_ID",
    "data": "TVNIfF5+XCZ8TXkgRUhSfE15IFRlc3QgRmFjaWxpdHl8fE15IEVIUiBGYWNpbGl0eXwyMDE1MDkyNjE0MDU1MXx8T1JVXlIwMV5PUlVfUjAxfE15LUxPSV81LjBfMS4xLU5HfFR8Mi41LjF8fHxBTHxBTHx8fHx8ClNGVHxHb29nbGVeRHx2MXxIZWFsdGhjYXJlIEFQSXwxfHwyMDE5MDYwMXxodHRwczovL2V4YW1wbGUuY29tL2hlYWx0aGNhcmUvClBJRHwxfHxQQVRJRDU0MjFeXl5NeSBNUEleTVJ8fFpoYW5nXlNhbGx5XkJyaWFuXl5eXkx8fDE5ODQwNjExfEZ8fDIxMDYtM15XaGl0ZV5ITDcwMDA1fDEyMyBNYWluIFN0cmVldF5eTW91bnRhaW4gU3ByaW5nc15DT144MDQzOV5eSHx8XlBSTl5QSF5eXjIwM14yMjkwMjEwfHx8fHx8fHx8Tl5Ob3QgSGlzcGFuaWMgb3IgTGF0aW5vXkhMNzAxODkKT1JDfFJFfDgzMzU4MjYzOXwzMjY2MjM4MTkzfHxDTXx8fHwyMDIwMDUwNjE3MDgyMgpPQlJ8MXw4MzM1ODI2Mzl8MzI2NjIzODE5M3x1cy0wMDA1XlZpdGFsIFNpZ25zXldpblBhdGheXnx8MjAyMDA1MDYxNzA4MjJ8MjAyMDA1MDYxNzA4MjJ8fHx8fHx8MjAyMDA1MDYxNzA4MjJ8fHx8fHx8fDIwMjAwNTA2MTcwODIyfHx8Rnx8MQpPQlh8MXxOTXx0dC0wMDA1LTA3Xk1EQ19QVUxTX1JBVEVfTk9OX0lOVl5NRENeXnx8NTIuMzF8TURDX0RJTV9CRUFUX1BFUl9NSU58NTAtMjAwfHx8fEZ8fHwyMDIwMDUwNjE3MDgyMnx8Ck9CWHwyfE5NfHR0LTAwMDUtMTJeUEFJTiBMRVZFTF5MXl58fDEuNzF8LzEwfDEtMTB8fHx8Rnx8fDIwMjAwNTA2MTcwODIyfHwKT0JYfDN8Tk18dHQtMDAwNS0wOV5NRENfVEVNUF5NRENeXnx8MzYuMjJ8TURDX0RJTV9ERUdDfDM2LTM4fHx8fEZ8fHwyMDIwMDUwNjE3MDgyMnx8Cg==",
    "sendFacility": "My Test Facility",
    "sendTime": "2015-09-26T14:05:51Z",
    "messageType": "ORU",
    "createTime": "CREATE_TIME",
    "patientIds": [
      {
        "value": "PATID5421",
        "type": "MR"
      }
    ],
    "schematizedData": {
      "data": "{
        \"ORU_R01\": {
          \"DSC\": null,
          \"MSH\": {
            \"0\": \"MSH\",
            \"1\": \"|\",
            \"2\": \"^~\\\\\\u0026\",
            \"3\": {
              \"1\": \"My EHR\"
            },
            \"4\": {
              \"1\": \"My Test Facility\"
            },
            \"5\": null,
            \"6\": {
              \"1\": \"My EHR Facility\"
            },
            \"7\": \"20150926140551\",
            \"8\": null,
            \"9\": {
              \"1\": \"ORU\",
              \"2\": \"R01\",
              \"3\": \"ORU_R01\"
            },
            \"10\": \"My-LOI_5.0_1.1-NG\",
            \"11\": {
              \"1\": \"T\"
            },
            \"12\": {
              \"1\": \"2.5.1\"
            },
            \"13\": null,
            \"14\": null,
            \"15\": \"AL\",
            \"16\": \"AL\",
            \"17\": null,
            \"18\": null,
            \"19\": null,
            \"20\": null,
            \"21\": null
          },
          \"PATIENT_RESULT\": [
            {
              \"ORDER_OBSERVATION\": [
                {
                  \"COMMON_ORDER\": {
                    \"ORC\": {
                      \"0\": \"ORC\",
                      \"1\": \"RE\",
                      \"2\": {
                        \"1\": \"833582639\"
                      },
                      \"3\": {
                        \"1\": \"3266238193\"
                      },
                      \"4\": null,
                      \"5\": \"CM\",
                      \"6\": null,
                      \"7\": null,
                      \"8\": null,
                      \"9\": \"20200506170822\"
                    },
                    \"ORDER_DOCUMENT\": null,
                    \"PRT\": null
                  },
                  \"CTD\": null,
                  \"CTI\": null,
                  \"FT1\": null,
                  \"NTE\": null,
                  \"OBR\": {
                    \"0\": \"OBR\",
                    \"1\": \"1\",
                    \"2\": {
                      \"1\": \"833582639\"
                    },
                    \"3\": {
                      \"1\": \"3266238193\"
                    },
                    \"4\": {
                      \"1\": \"us-0005\",
                      \"2\": \"Vital Signs\",
                      \"3\": \"WinPath\",
                      \"4\": null,
                      \"5\": null
                    },
                    \"5\": null,
                    \"6\": \"20200506170822\",
                    \"7\": \"20200506170822\",
                    \"8\": null,
                    \"9\": null,
                    \"10\": null,
                    \"11\": null,
                    \"12\": null,
                    \"13\": null,
                    \"14\": \"20200506170822\",
                    \"15\": null,
                    \"16\": null,
                    \"17\": null,
                    \"18\": null,
                    \"19\": null,
                    \"20\": null,
                    \"21\": null,
                    \"22\": \"20200506170822\",
                    \"23\": null,
                    \"24\": null,
                    \"25\": \"F\",
                    \"26\": null,
                    \"27\": [
                      {
                        \"1\": {
                          \"1\": \"1\"
                        }
                      }
                    ]
                  },
                  \"OBSERVATION\": [
                    {
                      \"NTE\": null,
                      \"OBX\": {
                        \"0\": \"OBX\",
                        \"1\": \"1\",
                        \"2\": \"NM\",
                        \"3\": {
                          \"1\": \"tt-0005-07\",
                          \"2\": \"MDC_PULS_RATE_NON_INV\",
                          \"3\": \"MDC\",
                          \"4\": null,
                          \"5\": null
                        },
                        \"4\": null,
                        \"5\": [
                          {
                            \"1\": {
                              \"1\": \"52.31\"
                            }
                          }
                        ],
                        \"6\": {
                          \"1\": \"MDC_DIM_BEAT_PER_MIN\"
                        },
                        \"7\": \"50-200\",
                        \"8\": null,
                        \"9\": null,
                        \"10\": null,
                        \"11\": \"F\",
                        \"12\": null,
                        \"13\": null,
                        \"14\": \"20200506170822\",
                        \"15\": null,
                        \"16\": null
                      },
                      \"PRT\": null
                    },
                    {
                      \"NTE\": null,
                      \"OBX\": {
                        \"0\": \"OBX\",
                        \"1\": \"2\",
                        \"2\": \"NM\",
                        \"3\": {
                          \"1\": \"tt-0005-12\",
                          \"2\": \"PAIN LEVEL\",
                          \"3\": \"L\",
                          \"4\": null,
                          \"5\": null
                        },
                        \"4\": null,
                        \"5\": [
                          {
                            \"1\": {
                              \"1\": \"1.71\"
                            }
                          }
                        ],
                        \"6\": {
                          \"1\": \"/10\"
                        },
                        \"7\": \"1-10\",
                        \"8\": null,
                        \"9\": null,
                        \"10\": null,
                        \"11\": \"F\",
                        \"12\": null,
                        \"13\": null,
                        \"14\": \"20200506170822\",
                        \"15\": null,
                        \"16\": null
                      },
                      \"PRT\": null
                    },
                    {
                      \"NTE\": null,
                      \"OBX\": {
                        \"0\": \"OBX\",
                        \"1\": \"3\",
                        \"2\": \"NM\",
                        \"3\": {
                          \"1\": \"tt-0005-09\",
                          \"2\": \"MDC_TEMP\",
                          \"3\": \"MDC\",
                          \"4\": null,
                          \"5\": null
                        },
                        \"4\": null,
                        \"5\": [
                          {
                            \"1\": {
                              \"1\": \"36.22\"
                            }
                          }
                        ],
                        \"6\": {
                          \"1\": \"MDC_DIM_DEGC\"
                        },
                        \"7\": \"36-38\",
                        \"8\": null,
                        \"9\": null,
                        \"10\": null,
                        \"11\": \"F\",
                        \"12\": null,
                        \"13\": null,
                        \"14\": \"20200506170822\",
                        \"15\": null,
                        \"16\": null
                      },
                      \"PRT\": null
                    }
                  ],
                  \"PRT\": null,
                  \"SPECIMEN\": null,
                  \"TIMING_QTY\": null
                }
              ],
              \"PATIENT\": {
                \"ARV\": null,
                \"NK1\": null,
                \"NTE\": null,
                \"PATIENT_OBSERVATION\": null,
                \"PD1\": null,
                \"PID\": {
                  \"0\": \"PID\",
                  \"1\": \"1\",
                  \"2\": null,
                  \"3\": [
                    {
                      \"1\": \"PATID5421\",
                      \"2\": null,
                      \"3\": null,
                      \"4\": {
                        \"1\": \"My MPI\"
                      },
                      \"5\": \"MR\"
                    }
                  ],
                  \"4\": null,
                  \"5\": [
                    {
                      \"1\": {
                        \"1\": \"Zhang\"
                      },
                      \"2\": \"Sally\",
                      \"3\": \"Brian\",
                      \"4\": null,
                      \"5\": null,
                      \"6\": null,
                      \"7\": \"L\"
                    }
                  ],
                  \"6\": null,
                  \"7\": \"19840611\",
                  \"8\": {
                    \"1\": \"F\"
                  },
                  \"9\": null,
                  \"10\": [
                    {
                      \"1\": \"2106-3\",
                      \"2\": \"White\",
                      \"3\": \"HL70005\"
                    }
                  ],
                  \"11\": [
                    {
                      \"1\": {
                        \"1\": \"123 Main Street\"
                      },
                      \"2\": null,
                      \"3\": \"Mountain Springs\",
                      \"4\": \"CO\",
                      \"5\": \"80439\",
                      \"6\": null,
                      \"7\": \"H\"
                    }
                  ],
                  \"12\": null,
                  \"13\": [
                    {
                      \"1\": null,
                      \"2\": \"PRN\",
                      \"3\": \"PH\",
                      \"4\": null,
                      \"5\": null,
                      \"6\": \"203\",
                      \"7\": \"2290210\"
                    }
                  ],
                  \"14\": null,
                  \"15\": null,
                  \"16\": null,
                  \"17\": null,
                  \"18\": null,
                  \"19\": null,
                  \"20\": null,
                  \"21\": null,
                  \"22\": [
                    {
                      \"1\": \"N\",
                      \"2\": \"Not Hispanic or Latino\",
                      \"3\": \"HL70189\"
                    }
                  ]
                },
                \"PRT\": null,
                \"VISIT\": null
              }
            }
          ],
          \"SFT\": null,
          \"UAC\": null
        }
      }"
    }
  }
}

后续步骤

使用自定义架构来解析不符合 HL7v2 标准的 HL7v2 消息