Get a patient list
/fhir/r4/{query_endpoint_alias}/Patient
This path retrieves a list of patients that meet supplied query parameters.
The Oracle Health Clinical Data Exchange engine has an enterprise master patient index (EMPI), which uses the search matrix algorithm when matching patients to your search criteria.
Each patient is matched for each item on the following list:
- LN - patient last name
- FN - patient first name
- DOB - patient date of birth
- SSN - Social Security Number
- Address - concatenation of AddressLine1, AddressLine2 and sub-rule evaluation of Postal Code values
- Phone - phone number provided, can be mobile/home/work
The list below is ranked in priority from highest to lowest:
LN | FN | DOB | SSN | Address | Phone | Result |
---|---|---|---|---|---|---|
yes | yes | yes | yes | yes | yes | yes |
yes | yes | yes | yes | yes | no | yes |
yes | yes | yes | yes | no | yes | yes |
yes | yes | yes | yes | no | no | yes |
yes | yes | yes | no | yes | yes | |
exact | yes | |||||
yes | yes | yes | no | yes | no | |
exact | yes | |||||
yes | yes | yes | no | no | yes | |
exact | yes | |||||
yes | yes | yes | no | no | no | |
exactAndMaxFreq(0.001) | exact | unknown | postalMatches | yes | ||
exactAndMaxFreq(0.001) | exact | unknown | address1Matches | yes | ||
exactAndMaxFreq(0.0.0001) | exact | unknown | yes | |||
exactAndMinLNFNDOBUnqProb(99.0) | exact | unknown | unknown | unknown | yes | |
yes | yes | no | yes | yes | yes | yes |
yes | yes | no | yes | yes | no | yes |
yes | yes | no | yes | no | yes | yes |
yes | yes | no | yes | no | no | yes |
yes | yes | no | no | yes | yes | |
yearMatches | yes | |||||
yes | yes | no | no | yes | no | |
exact | exact | yearMatches | unknown | unknown | yes | |
yes | yes | no | no | no | yes | |
yearMatches | unknown | yes | ||||
yes | no | yes | yes | yes | yes | |
exact | yes | |||||
yes | no | yes | yes | yes | no | |
exact | yes | |||||
yes | no | yes | yes | no | yes | |
exactAndMinLNFNDOBUnqProb(99.9) | exact | unknown | unknown | yes |
Sub-rules are the only rule sets which can make use of the following functions (normal rules are only YES/NO):
- Unknown - If the field is unknown rather than a known, different value
- yearMatches - Year of DOB value matches
- maxlev(x) - custom Levenshtein evaluation tolerance
- exact - fields are exact character match
- exactAndMaxFreq(x) - If fields are exact match and the content occurs in less than x-value percent of total patient population
- postalMatches - Postal Code of the address field matches
Request
-
address: string
Specify the address of the patient.
-
address-city: string
Specify the city of the patient.
-
address-country: string
Specify the country code of the patient.
-
address-postalcode: string
Specify the postal code of the patient.
-
address-state: string
Specify the state of the patient.
-
birthdate: string(date)
Specify the birth date of the patient.
- Must not be provided with a time component. -
family: string
Specify the last name of the patient.
-
given: string
Specify the given name of the patient.
-
identifier: string
Specify the identifier of the patient.
- If MRN is used as an identifier, other parameters do not apply.
- Searches are conducted against a specified system.
- The patient's MRN and SSN is supported. The format includes the assigning authority and the value separated by a vertical bar (|).
For example, aa|value.
SSN: http://hl7.org/fhir/sid/us-ssn|XXXXXXXXX
MRN: 891c71549f4a4bb439b4de8a532f155c_2.16.840.1.113883.3.995.10.1.1|8133.
-
name: string
Specify the last name of the patient.
-
phone: string
Specify the phone of the patient.
-
authorization(required): string
This string contains the credentials to authenticate a consumer to the service. This value should be the OAuth 2.0 bearer token.
Response
- application/fhir+json
200 Response
Success
- The response would include all the entries matched.
-
X-Request-Id: string
Oracle troubleshooting identifier
-
opc-request-id: string
Oracle troubleshooting identifier
object
-
address:
array address
Minimum Number of Items:
1
Unique Items Required:true
-
birthdate:
string(date)
Minimum Length:
1
The patient's date of birth. -
communication:
array communication
Minimum Number of Items:
1
Unique Items Required:true
A language which may be used to communicate with the patient about his or her health -
deceased:
object deceased
-
gender:
string
Minimum Length:
1
Allowed Values:[ "male", "female" ]
The patient's gender. -
id:
string
The unique global patient ID that identifies a patient across all providers in the network.
-
identifier:
array identifier
Minimum Number of Items:
1
Unique Items Required:true
The list of unique identifiers across all the providers and the associated Social Security numbers (SSNs) are returned. The supported system is http://terminology.hl7.org/CodeSystem/v2-0203. -
maritalStatus:
CodeableConcept
-
name:
array name
Minimum Number of Items:
1
Unique Items Required:true
-
resourceType:
string
The resource type is Patient.
-
telecom:
array telecom
{
"resourceType": "Patient",
"id": "2586450001",
"identifier": [
{
"use": "usual",
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "MR",
"display": "Medical record number"
}
]
},
"system": "891c71549f4a4bb439b4de8a532f155c_2.16.840.1.113883.3.995.10.1.1",
"value": "8133"
},
{
"use": "SSN",
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0203",
"code": "SS"
}
],
"text": "SSN"
},
"system": "http://hl7.org/fhir/sid/us-ssn",
"value": "991123333"
}
],
"name": [
{
"use": "official",
"family": "PEREZ",
"given": [
"JUAN"
]
}
],
"telecom": [
{
"system": "phone",
"value": "123-123-1234",
"use": "home"
}
],
"gender": "male",
"birthdate": "1985-07-09",
"deceasedBoolean": true,
"deceasedDateTime": "2015-02-14T13:42:00Z",
"maritalStatus": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-MaritalStatus",
"code": "M"
}
]
},
"address": [
{
"use": "home",
"text": "1234, SAMPLE ROAD CITYTOWN, ST 56789",
"line": [
"1234, SAMPLE ROAD"
],
"city": "CITYTOWN",
"state": "ST",
"postalCode": "56789"
}
],
"communication": [
{
"language": {
"coding": [
{
"system": "urn:ietf:bcp:47",
"code": "nl-NL",
"display": "Dutch"
}
]
},
"preferred": true
}
]
}
array
1
true
array
1
true
object
-
deceasedBoolean:
boolean
-
deceasedDateTime:
string(date)
Minimum Length:
1
The date and time of death
array
1
true
object
-
extension:
array extension
-
id:
string
Unique id for inter-element referencing
object
-
city:
string
Name of city, town etc.
-
country:
string
Country (e.g. can be ISO 3166 2 or 3 letter code)
-
district:
string
District name (aka county)
-
line:
array line
Street name, number, direction & P.O. Box etc.
-
period:
Period
-
postalcode:
string
Postal code for area
-
state:
string
Sub-unit of country (abbreviations ok)
-
type:
string
postal | physical | both
-
use:
string
home | work | temp | old | billing - purpose of this address
object
-
url:
string
Minimum Length:
1
identifies the meaning of the extension -
value:
string
Minimum Length:
1
Value of extension
object
-
end:
string(date-time)
End time with inclusive boundary
-
start:
string(date-time)
Starting time with inclusive boundary
object
-
language:
CodeableConcept
-
preferred:
boolean
Language preference indicator
object
object
-
period:
Period
-
system:
string
The namespace for the identifier value (uri)
-
type:
CodeableConcept
-
use:
string
usual | official | temp | secondary | old (If known)
-
value:
string
The value that is unique
object
-
coding:
array coding
A reference to a code defined by a terminology system
-
text:
string
Plain text representation of the concept
array
object
-
code:
string
Minimum Length:
1
Symbol in syntax defined by the system -
display:
string
Minimum Length:
1
Representation defined by the system -
system:
string
Minimum Length:
1
Identity of the terminology system -
userSelected:
boolean
If this coding was chosen directly by the user
-
version:
string
Minimum Length:
1
Version of the system - if relevant
object
-
family:
string
Family name (often called 'Surname')
-
given:
array given
Given names (not always 'first'). Includes middle names
-
period:
Period
-
prefix:
array prefix
-
suffix:
array suffix
-
text:
string
Text representation of the full name
-
use:
string
usual | official | temp | nickname | anonymous | old | maiden
array
object
-
system(required):
string
The telecommunication system that is used to contact the patient.
-
use(required):
string
The use of patient's telecommunications.
-
value:
string
The actual point of contact value. This value is either the current phone number or email address.