curl --request POST \
--url https://api.example.com/api/v2/hie/documents/query \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"dob": "<string>",
"address": [
{
"addressLine1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"addressLine2": "<string>",
"country": "USA"
}
],
"externalId": "<string>",
"personalIdentifiers": [],
"contact": []
}
'import requests
url = "https://api.example.com/api/v2/hie/documents/query"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"dob": "<string>",
"address": [
{
"addressLine1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"addressLine2": "<string>",
"country": "USA"
}
],
"externalId": "<string>",
"personalIdentifiers": [],
"contact": []
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
dob: '<string>',
address: [
{
addressLine1: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>',
addressLine2: '<string>',
country: 'USA'
}
],
externalId: '<string>',
personalIdentifiers: [],
contact: []
})
};
fetch('https://api.example.com/api/v2/hie/documents/query', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v2/hie/documents/query",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'firstName' => '<string>',
'lastName' => '<string>',
'dob' => '<string>',
'address' => [
[
'addressLine1' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>',
'addressLine2' => '<string>',
'country' => 'USA'
]
],
'externalId' => '<string>',
'personalIdentifiers' => [
],
'contact' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v2/hie/documents/query"
payload := strings.NewReader("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dob\": \"<string>\",\n \"address\": [\n {\n \"addressLine1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"country\": \"USA\"\n }\n ],\n \"externalId\": \"<string>\",\n \"personalIdentifiers\": [],\n \"contact\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v2/hie/documents/query")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dob\": \"<string>\",\n \"address\": [\n {\n \"addressLine1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"country\": \"USA\"\n }\n ],\n \"externalId\": \"<string>\",\n \"personalIdentifiers\": [],\n \"contact\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v2/hie/documents/query")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dob\": \"<string>\",\n \"address\": [\n {\n \"addressLine1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"country\": \"USA\"\n }\n ],\n \"externalId\": \"<string>\",\n \"personalIdentifiers\": [],\n \"contact\": []\n}"
response = http.request(request)
puts response.read_body{
"asyncResultId": "<string>"
}Query patient documents
Queries patient documents from the HIE network. Will reuse previously fetched data if a patient with the same external ID already exists in our records. Pass future=true to test the new Metriport Network Query flow.
curl --request POST \
--url https://api.example.com/api/v2/hie/documents/query \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"dob": "<string>",
"address": [
{
"addressLine1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"addressLine2": "<string>",
"country": "USA"
}
],
"externalId": "<string>",
"personalIdentifiers": [],
"contact": []
}
'import requests
url = "https://api.example.com/api/v2/hie/documents/query"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"dob": "<string>",
"address": [
{
"addressLine1": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>",
"addressLine2": "<string>",
"country": "USA"
}
],
"externalId": "<string>",
"personalIdentifiers": [],
"contact": []
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
dob: '<string>',
address: [
{
addressLine1: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>',
addressLine2: '<string>',
country: 'USA'
}
],
externalId: '<string>',
personalIdentifiers: [],
contact: []
})
};
fetch('https://api.example.com/api/v2/hie/documents/query', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v2/hie/documents/query",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'firstName' => '<string>',
'lastName' => '<string>',
'dob' => '<string>',
'address' => [
[
'addressLine1' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<string>',
'addressLine2' => '<string>',
'country' => 'USA'
]
],
'externalId' => '<string>',
'personalIdentifiers' => [
],
'contact' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v2/hie/documents/query"
payload := strings.NewReader("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dob\": \"<string>\",\n \"address\": [\n {\n \"addressLine1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"country\": \"USA\"\n }\n ],\n \"externalId\": \"<string>\",\n \"personalIdentifiers\": [],\n \"contact\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v2/hie/documents/query")
.header("Content-Type", "application/json")
.body("{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dob\": \"<string>\",\n \"address\": [\n {\n \"addressLine1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"country\": \"USA\"\n }\n ],\n \"externalId\": \"<string>\",\n \"personalIdentifiers\": [],\n \"contact\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v2/hie/documents/query")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"dob\": \"<string>\",\n \"address\": [\n {\n \"addressLine1\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"country\": \"USA\"\n }\n ],\n \"externalId\": \"<string>\",\n \"personalIdentifiers\": [],\n \"contact\": []\n}"
response = http.request(request)
puts response.read_body{
"asyncResultId": "<string>"
}Query Parameters
true, false Body
The Patient's first name(s).
The Patient's last name(s).
The Patient's date of birth (DOB), formatted YYYY-MM-DD as per ISO 8601.
The Patient's gender at birth, can be one of M or F or O or U. Use O (other) when the patient's gender is known but it is not M or F, i.e intersex or hermaphroditic. Use U (unknown) when the patient's gender is not known.
M, F, O, U An array of Address objects, representing the Patient's current and/or previous addresses. May be empty.
Show child attributes
Show child attributes
An external Patient ID that you store and can use to reference this Patient.
An array of the Patient's personal IDs, such as a driver's license or SSN. May be empty.
Show child attributes
Show child attributes
An array of Contact objects, representing the Patient's current and/or previous contact information. May be empty.
Show child attributes
Show child attributes
Response
Default Response
The async result ID. When the async result completes, the result will contain both FHIR bundle and document objects.