Provider Search Public API v1
The Oracle Health Data Intelligence Provider Search service enables you to search for provider entities using different search strategies based on configuring workflows and algorithms to provide either straight parameter find search or weighted algorithmic search.
Configuring a search requires creation of a search workflow. Algorithms can be assigned and ranked in a workflow.
Workflows containing no algorithms search and return all provider entities that contain the inputed parameter values.
Workflows with multiple algorithms assigned and ranked search all provider entities using the first algorithm to meet the algorithm’s conditions. Provider records are returned in descending order based on their provider score, which is computed from the weighted factors of the algorithm.
URL: https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1
Provider Personnel Search
The Provider Personnel Search endpoint searches for provider personnel based on the specified workflow.
Note: When searching without an algorithm, the search strategy is to return all provider personnel that contain each of the valued parameters. When searching with an algorithm, the search
strategy is to calculate a provider score based on the factors in the algorithm.
Retrieve a List of Provider Personnel
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{workflowId}/provider-personnel-search', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{workflowId}/provider-personnel-search \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "11e91f884c18d5d4805aeb96e2647bb9",
"name": {
"text": "Dr. Test Provider, MD",
"family": "Provider",
"given": [
"Test"
],
"prefix": [
"Dr"
],
"suffix": [
"MD"
]
},
"gender": {
"code": "male",
"system": "http://hl7.org/fhir/administrative-gender",
"display": "Male"
},
"age": 59,
"communications": [
{
"code": {
"codings": [
{
"code": "en-US",
"system": "BCP-47",
"display": "English (United States)"
}
],
"text": "English"
}
},
{
"code": {
"codings": [
{
"code": "de-DE",
"system": "BCP-47",
"display": "German"
}
],
"text": "German"
}
}
],
"photo": {
"title": "Dr. Test Provider",
"url": "https://<BUCKET_NAME>.s3.amazonaws.com/provider-images/123.jpg",
"contentType": "IMAGE/JPG"
},
"telecoms": [
{
"use": "WORK",
"rank": 1,
"system": "EMAIL",
"value": "test.user@testdomain.com"
},
{
"use": "HOME",
"rank": 2,
"system": "EMAIL",
"value": "test.user@testdomain.com"
},
{
"use": "WORK",
"rank": 3,
"system": "EMAIL",
"value": "test.user@testdomain.com"
}
],
"qualifications": [
{
"identifier": "ID0001",
"type": {
"code": "DEGREE",
"system": "CERNER",
"display": "Degree"
},
"text": "Doctor Of Medicine",
"code": {
"codings": [
{
"code": "MD",
"system": "http://hl7.org/fhir/v2/0360/2.7",
"display": "Doctor Of Medicine"
}
],
"text": "Doctor Of Medicine"
},
"period": {
"start": "2005-08-21",
"end": "2020-02-04"
},
"issuer": {
"name": "State Medical License",
"reference": "https://ilesonline.idfpr.illinois.gov/DFPR/Lookup/LicenseLookup.aspx"
},
"reverificationDate": "2024-01-01"
}
],
"aliases": [
{
"system": "2.16.840.1.113883.4.6",
"type": "SPI",
"value": "1669405973"
}
],
"link": {
"target": {
"id": "ecea26a9-8869-491d-8876-7cad7188c8ee",
"display": "Dr. Test Provider, MD"
}
},
"isPcp": false,
"providerRelationships": [
{
"locations": [
{
"id": "adea26a9-8869-491d-8876-7cad7188c8dc",
"name": "Cardiology",
"text": "Cardiology, 123 Broadway Ave, 23 Street, Test City, ST, 12345",
"use": "HOME",
"lines": [
"123 Broadway Ave",
"23 Street"
],
"city": "Test City",
"state": "ST",
"country": "USA",
"postalCode": "12345",
"geoLocation": {
"latitude": 40.0423,
"longitude": -75.6323
},
"distance": {
"value": 29.25,
"unit": "mi"
},
"managingOrganization": {
"id": "ecea26a9-8869-491d-8876-7cad7188c8ff",
"name": "Centerpoint Medical Center"
}
}
],
"networks": [
{
"id": "9ed82acf21c11e7a3d646705f8c9e76",
"name": "Preferred Network",
"payer": {
"id": "9ed82acf21c11e7a3d646705f8c9e50",
"name": "Test Payer"
},
"plan": {
"id": "9ed82acf21c11e7a3d646705f8c9e51",
"name": "BCBS-PPO"
},
"relationshipType": "TIER-1"
}
],
"specialties": [
{
"id": "9ed82acf21c11e7a3d646705f8c9e52",
"name": "Cardiology",
"taxonomy": {
"id": "9ed82acf21c11e7a3d646705f8c9e53",
"name": "NUCC Taxonomy V20.3"
},
"isPrimary": true
}
],
"healthcareServices": [
{
"id": "9ed82acf21c11e7a3d646705f8c9e54",
"name": "ECG/EKG",
"serviceType": {
"id": "9ed82acf21c11e7a3d646705f8c9e54",
"name": "Electrocardiology"
},
"serviceCategory": {
"id": "9ed82acf21c11e7a3d646705f8c9e55",
"name": "Cardiology"
}
}
],
"assigningOrganization": {
"id": "ecea26a9-8869-491d-8876-7cad7188c8ff",
"name": "Test Organization"
},
"acceptingPatients": true,
"providerRelationshipScore": [
{
"score": 78,
"calculatedBy": {
"id": "dcbc1974-c78d-11eb-b8bc-0242ac130003",
"title": "Default Algorithm",
"factors": [
{
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"title": "Network Affiliation Factor",
"score": 40
}
]
},
"basis": [
{
"id": "adea26a9-8869-491d-8876-7cad7188c8dc",
"kind": "PROVIDER#LOCATION"
}
]
}
]
}
]
}
],
"totalResults": 100
}
GET /workflows/{workflowId}/provider-personnel-search
Retrieves a list of provider personnel.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
workflowId |
path |
string |
true |
N/A |
The ID of the workflow. |
- |
q |
query |
string |
false |
N/A |
The search query string applied over multiple provider attributes. The service uses OR logic to search across a specific group of mapped fields in the provider dataset, and returns records that contain any fields that match your query value. The following fields are included in this search: |
- |
name |
query |
string |
false |
N/A |
The name of the provider. You can filter by a partial match. |
- |
givenName |
query |
string |
false |
N/A |
The given name of the provider. You can filter by a partial match. |
- |
familyName |
query |
string |
false |
N/A |
The family name of the provider. You can filter by a partial match. |
- |
id |
query |
array[string] |
false |
N/A |
The ID of the provider personnel. You can use a maximum of twenty IDs. |
- |
aliasSystem |
query |
string |
false |
N/A |
The system or authority responsible for assigning the provider alias. If aliasSystem is specified, aliasValue must be provided otherwise the aliasSystem is ignored. |
- |
aliasValue |
query |
string |
false |
N/A |
The value or ID of the provider personnel in the context of the aliasSystem. If aliasValue is specified, aliasSystem must be provided otherwise the aliasValue is ignored. |
- |
language |
query |
array[string] |
false |
N/A |
The language or languages the provider personnel can use in patient communication. You can use the text representation of a language for a maximum of five languages. |
- |
gender |
query |
string |
false |
N/A |
The gender of the provider. |
- |
specialtyName |
query |
string |
false |
N/A |
Filters by the full or partial name of a provider personnel role specialty. |
- |
specialtyId |
query |
array[string] |
false |
N/A |
The ID of the provider personnel specialty. You can use a maximum of five IDs. |
- |
healthcareServiceName |
query |
string |
false |
N/A |
The name of a healthcare service offered by the provider personnel. You can filter by a partial match. |
- |
healthcareServiceId |
query |
array[string] |
false |
N/A |
The ID of the healthcare service offered by the provider personnel. You can use a maximum of five IDs. |
- |
serviceTypeName |
query |
string |
false |
N/A |
The name of a service type offered by the provider personnel. You can filter by a partial match. |
- |
serviceTypeId |
query |
array[string] |
false |
N/A |
The ID of the service type offered by the provider personnel. You can use a maximum of five IDs. |
- |
serviceCategoryName |
query |
string |
false |
N/A |
The name of a service category offered by the provider personnel. You can filter by a partial match. |
- |
serviceCategoryId |
query |
array[string] |
false |
N/A |
The ID of the service category offered by the provider personnel. You can use a maximum of five IDs. |
- |
networkName |
query |
string |
false |
N/A |
The name of a network associated with the provider personnel. You can filter by a partial match. |
- |
networkId |
query |
array[string] |
false |
N/A |
The ID of a network associated with the provider personnel. You can use a maximum of five IDs. |
- |
payerName |
query |
string |
false |
N/A |
The name of the payer that the provider organization is associated with. |
- |
payerId |
query |
array[string] |
false |
N/A |
The ID of the payer that the provider organization is associated with. You can use a maximum of ten IDs. |
- |
planName |
query |
string |
false |
N/A |
The name of the payer’s plan that the provider organization is associated with. |
- |
planId |
query |
array[string] |
false |
N/A |
The ID of the payer’s plan that the provider organization is associated with.You can use a maximum of ten IDs. |
- |
locationName |
query |
string |
false |
N/A |
Filters by the full or partial name of a location or address where the specified provider |
- |
locationId |
query |
array[string] |
false |
N/A |
The ID of the location where the specified provider personnel provides care. You can use a maximum of five IDs. |
- |
city |
query |
string |
false |
N/A |
The full or partial name of the city, town, or village. |
- |
state |
query |
string |
false |
N/A |
The state where the provider personnel offers care. |
- |
postalCode |
query |
string |
false |
N/A |
The postal code of the provider personnel’s address, based on the defined locations where the provider offers care. |
- |
organizationName |
query |
string |
false |
N/A |
The name of the organization associated with the specified provider personnel. You can filter by a partial match. |
- |
organizationId |
query |
array[string] |
false |
N/A |
The ID of the organization associated with the specified provider personnel. You can use a maximum of five IDs. |
- |
linkPersonnelId |
query |
array[string] |
false |
N/A |
The link to the personnel resource who is used instead of the provider personnel resource that contains the link. You can use a maximum of ten IDs. See the Personnel section on the Personnel API v1 page for more information. |
- |
latitude |
query |
number(float) |
false |
N/A |
The latitude coordinate of the provider’s location. If a value is provided for latitude , a value for longitude is required. If both values are not present, latitude is ignored. |
- |
longitude |
query |
number(float) |
false |
N/A |
The longitude coordinate of the provider’s location. If a value is provided for longitude , a value for latitude is required. If both values are not present, longitude is ignored. |
- |
distance |
query |
integer(int32) |
false |
N/A |
Indicates the distance for matching providers based on provider location and specified point of origin. If a value is provided for distance , but values for longitude and latitude are not provided, distance is calculated from the center of the zip code latitude and longitude. |
- |
offset |
query |
integer(int32) |
false |
0 |
The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. |
- |
limit |
query |
integer(int32) |
false |
20 |
The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. |
- |
orderBy |
query |
string |
false |
-providerRelationshipScore |
A comma-separated list of fields by which to sort. |
providerRelationshipScore, -providerRelationshipScore, name, -name |
Response Statuses
Provider Organization Search
The Provider Organization Search endpoint searches for provider organizations based on the specified workflow.
Note: When searching without an algorithm, the search strategy is to return all provider organizations that contain each of the valued parameters. When searching with an algorithm, the search
strategy is to calculate a provider score based on the factors in the algorithm.
Retrieve a List of Provider Organizations
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{workflowId}/provider-organization-search', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{workflowId}/provider-organization-search \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "ecea26a9-8869-491d-8876-7cad7188c8ff",
"name": "Test Organization",
"telecoms": [
{
"use": "WORK",
"rank": 1,
"system": "EMAIL",
"value": "test.user@testdomain.com"
},
{
"use": "HOME",
"rank": 2,
"system": "EMAIL",
"value": "test.user@testdomain.com"
},
{
"use": "WORK",
"rank": 3,
"system": "EMAIL",
"value": "test.user@testdomain.com"
}
],
"aliases": [
{
"system": "2.16.840.1.113883.4.6",
"type": "SPI",
"value": "1669405973"
}
],
"link": {
"target": {
"id": "ecea26a9-8869-491d-8876-7cad7188c8ee",
"display": "Test Organization"
}
},
"providerRelationships": [
{
"locations": [
{
"id": "adea26a9-8869-491d-8876-7cad7188c8dc",
"name": "Cardiology",
"text": "Cardiology, 123 Broadway Ave, 23 Street, Test City, ST, 12345",
"use": "HOME",
"lines": [
"123 Broadway Ave",
"23 Street"
],
"city": "Test City",
"state": "ST",
"country": "USA",
"postalCode": "12345",
"geoLocation": {
"latitude": 40.0423,
"longitude": -75.6323
},
"distance": {
"value": 29.25,
"unit": "mi"
},
"managingOrganization": {
"id": "ecea26a9-8869-491d-8876-7cad7188c8ff",
"name": "Centerpoint Medical Center"
}
}
],
"networks": [
{
"id": "9ed82acf21c11e7a3d646705f8c9e76",
"name": "Preferred Network",
"payer": {
"id": "9ed82acf21c11e7a3d646705f8c9e50",
"name": "Test Payer"
},
"plan": {
"id": "9ed82acf21c11e7a3d646705f8c9e51",
"name": "BCBS-PPO"
},
"relationshipType": "TIER-1"
}
],
"specialties": [
{
"id": "9ed82acf21c11e7a3d646705f8c9e52",
"name": "Cardiology",
"taxonomy": {
"id": "9ed82acf21c11e7a3d646705f8c9e53",
"name": "NUCC Taxonomy V20.3"
},
"isPrimary": true
}
],
"acceptingPatients": true,
"providerRelationshipScore": [
{
"score": 78,
"calculatedBy": {
"id": "dcbc1974-c78d-11eb-b8bc-0242ac130003",
"title": "Default Algorithm",
"factors": [
{
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"title": "Network Affiliation Factor",
"score": 40
}
]
},
"basis": [
{
"id": "adea26a9-8869-491d-8876-7cad7188c8dc",
"kind": "PROVIDER#LOCATION"
}
]
}
]
}
]
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows/workflow-id/provider-organization-search?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows/workflow-id/provider-organization-search?offset=200&limit=20",
"prevLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows/workflow-id/provider-organization-search?offset=40&limit=20",
"nextLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows/workflow-id/provider-organization-search?offset=20&limit=20"
}
GET /workflows/{workflowId}/provider-organization-search
Retrieves a list of provider organizations.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
workflowId |
path |
string |
true |
N/A |
The ID of the workflow. |
- |
q |
query |
string |
false |
N/A |
A multi-map field that provides a Google-type search based on the search term passed. The fields included are: |
- |
name |
query |
string |
false |
N/A |
The name of the provider organization. You can filter by a partial match. |
- |
id |
query |
array[string] |
false |
N/A |
The ID of the provider organization. You can use a maximum of twenty IDs. |
- |
aliasSystem |
query |
string |
false |
N/A |
The system or authority responsible for assigning the organization alias. If aliasSystem is specified, aliasValue must be provided otherwise the aliasSystem is ignored. |
- |
aliasValue |
query |
string |
false |
N/A |
The value or ID of the provider organization in the context of the aliasSystem. If aliasValue is specified, aliasSystem must be provided otherwise the aliasValue is ignored. |
- |
specialtyName |
query |
string |
false |
N/A |
Filters by the full or partial name of a provider organization role specialty. |
- |
specialtyId |
query |
array[string] |
false |
N/A |
The ID of the provider organization specialty. You can use a maximum of five IDs. |
- |
networkName |
query |
string |
false |
N/A |
The name of a network associated with the provider organization. You can filter by a partial match. |
- |
networkId |
query |
array[string] |
false |
N/A |
The ID of a network associated with the provider organization. You can use a maximum of five IDs. |
- |
payerName |
query |
string |
false |
N/A |
The name of the payer defined in a network covered by the organization. |
- |
payerId |
query |
array[string] |
false |
N/A |
payer defined in a network covered by the organization. You can use a maximum of ten IDs. |
- |
planName |
query |
string |
false |
N/A |
The name of the plan defined in a network covered by the organization. |
- |
planId |
query |
array[string] |
false |
N/A |
The ID of the provider organization plan. You can use a maximum of ten IDs. |
- |
locationName |
query |
string |
false |
N/A |
Filters by the full or partial name of a location or address where the specified organization provides care. |
- |
locationId |
query |
array[string] |
false |
N/A |
The ID of the location where the specified provider organization provides care. You can use a maximum of five IDs. |
- |
city |
query |
string |
false |
N/A |
The full or partial name of the city, town, or village. |
- |
state |
query |
string |
false |
N/A |
The state where the provider organization offers care. |
- |
postalCode |
query |
string |
false |
N/A |
The postal code of the provider organization’s address, based on the defined locations where the organization offers care. |
- |
linkOrganizationId |
query |
array[string] |
false |
N/A |
The link to the organization resource which is used instead of the provider organization resource that contains the link. You can use a maximum of ten IDs. See the Organization section on the Personnel API v1 page for more information. |
- |
latitude |
query |
number(float) |
false |
N/A |
The latitude coordinate of the organization’s location. If a value is provided for latitude , a value for longitude is required. If both values are not present, latitude is ignored. |
- |
longitude |
query |
number(float) |
false |
N/A |
The longitude coordinate of the organization’s location. If a value is provided for longitude , a value for latitude is required. If both values are not present, longitude is ignored. |
- |
distance |
query |
integer(int32) |
false |
N/A |
Indicates the distance for matching organizations based on organization location and specified point of origin. If a value is provided for distance , but values for longitude and latitude are not provided, distance is calculated from the center of the zip code latitude and longitude. |
- |
offset |
query |
integer(int32) |
false |
0 |
The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. |
- |
limit |
query |
integer(int32) |
false |
20 |
The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. |
- |
orderBy |
query |
string |
false |
-providerRelationshipScore |
A comma-separated list of fields by which to sort. |
providerRelationshipScore, -providerRelationshipScore, name, -name |
Response Statuses
Algorithms
Provider search algorithms are a user-defined set of rules used to define and perform a search strategy. An algorithm applies a set of conditions, tests, and functions to calculate the provider relationship score based on the search criteria.
Tests consist of one or more logical functions each evaluating a single algorithm attribute.
Conditions define what criteria must be met in order for the algorithm to qualify. Conditions are conditional expressions in the form of tests (each expression within a test is evaluated with OR logical operators) that evaluate to a true or false result. When all of the tests (evaluated with AND logical operators) are true, the algorithm qualifies to be executed for the search.
Functions define the business logic for computing the provider profile score. Functions are self-contained modules that calculate scores for individual factors. A factor is assigned a weight, and the logical expressions determine what percentage of the factor weight is assigned. The provider relationship score is calculated by summing the values of the functions in the algorithm, and will have a value from 0 to 100.
Create an Algorithm
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms', headers: headers, body: {"title":"Couch Algorithm","description":"Identifies providers based on the sending recipient network, patient's insurance, and location.","status":"ACTIVE","index":{"fields":[{"name":"sendingProviderNetwork","dataType":"string"},{"name":"insurance","dataType":"string"},{"name":"specialty","dataType":"string"},{"name":"networkAffiliation","dataType":"string"},{"name":"distance","dataType":"number"}],"conditions":[{"tests":[{"field":"sendingProviderNetwork","operator":"eq","value":"Top Tier"},{"field":"sendingProviderNetwork","operator":"eq","value":"Default Tier"}]},{"tests":[{"field":"insurance","operator":"eq","value":"Cigna"},{"field":"insurance","operator":"eq","value":"BCBS"}]},{"tests":[{"field":"specialty","operator":"eq","value":"Cardiology"}]}],"functions":[{"factor":{"id":"a1263fda-640f-4aeb-b19b-86f5078045cf","name":"network_tier"},"tests":[{"field":"networkAffiliation","operator":"eq","value":"Top Tier","assign":100},{"field":"networkAffiliation","operator":"eq","value":"Middle Tier","assign":85},{"field":"networkAffiliation","operator":"eq","value":"Default Tier","assign":50}],"weight":40},{"factor":{"id":"e1981d02-7c5e-4b60-9981-31b858c127ea","name":"location"},"tests":[{"field":"distance","operator":"lte","value":"5","assign":100},{"field":"distance","operator":"lte","value":"20","assign":75},{"field":"distance","operator":"gt","value":"20","assign":30}],"weight":50},{"factor":{"id":"83214bc2-349a-4e51-9bc4-d64a515ccca7","name":"insurance"},"tests":[{"field":"insurance","operator":"bt","value":"{provider_insurance}","assign":100},{"field":"insurance","operator":"nbt","value":"{provider_insurance}","assign":0}],"weight":10}]},"createdBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"title":"Couch Algorithm","description":"Identifies providers based on the sending recipient network, patient's insurance, and location.","status":"ACTIVE","index":{"fields":[{"name":"sendingProviderNetwork","dataType":"string"},{"name":"insurance","dataType":"string"},{"name":"specialty","dataType":"string"},{"name":"networkAffiliation","dataType":"string"},{"name":"distance","dataType":"number"}],"conditions":[{"tests":[{"field":"sendingProviderNetwork","operator":"eq","value":"Top Tier"},{"field":"sendingProviderNetwork","operator":"eq","value":"Default Tier"}]},{"tests":[{"field":"insurance","operator":"eq","value":"Cigna"},{"field":"insurance","operator":"eq","value":"BCBS"}]},{"tests":[{"field":"specialty","operator":"eq","value":"Cardiology"}]}],"functions":[{"factor":{"id":"a1263fda-640f-4aeb-b19b-86f5078045cf","name":"network_tier"},"tests":[{"field":"networkAffiliation","operator":"eq","value":"Top Tier","assign":100},{"field":"networkAffiliation","operator":"eq","value":"Middle Tier","assign":85},{"field":"networkAffiliation","operator":"eq","value":"Default Tier","assign":50}],"weight":40},{"factor":{"id":"e1981d02-7c5e-4b60-9981-31b858c127ea","name":"location"},"tests":[{"field":"distance","operator":"lte","value":"5","assign":100},{"field":"distance","operator":"lte","value":"20","assign":75},{"field":"distance","operator":"gt","value":"20","assign":30}],"weight":50},{"factor":{"id":"83214bc2-349a-4e51-9bc4-d64a515ccca7","name":"insurance"},"tests":[{"field":"insurance","operator":"bt","value":"{provider_insurance}","assign":100},{"field":"insurance","operator":"nbt","value":"{provider_insurance}","assign":0}],"weight":10}]},"createdBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}
Example response
{
"id": "07fb4d08-3d74-41bd-b0f0-78afa573e663",
"version": 1,
"name": "couch_algorithm",
"title": "Couch Algorithm",
"description": "Identifies providers based on the sending recipient network, patient's insurance, and location.",
"status": "ACTIVE",
"index": {
"fields": [
{
"name": "sendingProviderNetwork",
"dataType": "string"
},
{
"name": "insurance",
"dataType": "string"
},
{
"name": "specialty",
"dataType": "string"
},
{
"name": "networkAffiliation",
"dataType": "string"
},
{
"name": "distance",
"dataType": "number"
}
],
"conditions": [
{
"tests": [
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Top Tier"
},
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Default Tier"
}
]
},
{
"tests": [
{
"field": "insurance",
"operator": "eq",
"value": "Cigna"
},
{
"field": "insurance",
"operator": "eq",
"value": "BCBS"
}
]
},
{
"tests": [
{
"field": "specialty",
"operator": "eq",
"value": "Cardiology"
}
]
}
],
"functions": [
{
"factor": {
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_tier"
},
"tests": [
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Top Tier",
"assign": 100
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Middle Tier",
"assign": 85
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Default Tier",
"assign": 50
}
],
"weight": 40
},
{
"factor": {
"id": "e1981d02-7c5e-4b60-9981-31b858c127ea",
"name": "location"
},
"tests": [
{
"field": "distance",
"operator": "lte",
"value": "5",
"assign": 100
},
{
"field": "distance",
"operator": "lte",
"value": "20",
"assign": 75
},
{
"field": "distance",
"operator": "gt",
"value": "20",
"assign": 30
}
],
"weight": 50
},
{
"factor": {
"id": "83214bc2-349a-4e51-9bc4-d64a515ccca7",
"name": "insurance"
},
"tests": [
{
"field": "insurance",
"operator": "bt",
"value": "{provider_insurance}",
"assign": 100
},
{
"field": "insurance",
"operator": "nbt",
"value": "{provider_insurance}",
"assign": 0
}
],
"weight": 10
}
]
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
POST /algorithms
Creates an algorithm.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
body |
body |
postAlgorithms |
true |
N/A |
No description |
- |
Response Statuses
Status |
Header |
Type |
Format |
Description |
201 |
Location |
string |
|
The URL of the created algorithm. |
Retrieve a List of Algorithms
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "07fb4d08-3d74-41bd-b0f0-78afa573e663",
"version": 1,
"name": "couch_algorithm",
"title": "Couch Algorithm",
"description": "Identifies providers based on the sending recipient network, patient's insurance, and location.",
"status": "ACTIVE",
"index": {
"fields": [
{
"name": "sendingProviderNetwork",
"dataType": "string"
},
{
"name": "insurance",
"dataType": "string"
},
{
"name": "specialty",
"dataType": "string"
},
{
"name": "networkAffiliation",
"dataType": "string"
},
{
"name": "distance",
"dataType": "number"
}
],
"conditions": [
{
"tests": [
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Top Tier"
},
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Default Tier"
}
]
},
{
"tests": [
{
"field": "insurance",
"operator": "eq",
"value": "Cigna"
},
{
"field": "insurance",
"operator": "eq",
"value": "BCBS"
}
]
},
{
"tests": [
{
"field": "specialty",
"operator": "eq",
"value": "Cardiology"
}
]
}
],
"functions": [
{
"factor": {
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_tier"
},
"tests": [
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Top Tier",
"assign": 100
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Middle Tier",
"assign": 85
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Default Tier",
"assign": 50
}
],
"weight": 40
},
{
"factor": {
"id": "e1981d02-7c5e-4b60-9981-31b858c127ea",
"name": "location"
},
"tests": [
{
"field": "distance",
"operator": "lte",
"value": "5",
"assign": 100
},
{
"field": "distance",
"operator": "lte",
"value": "20",
"assign": 75
},
{
"field": "distance",
"operator": "gt",
"value": "20",
"assign": 30
}
],
"weight": 50
},
{
"factor": {
"id": "83214bc2-349a-4e51-9bc4-d64a515ccca7",
"name": "insurance"
},
"tests": [
{
"field": "insurance",
"operator": "bt",
"value": "{provider_insurance}",
"assign": 100
},
{
"field": "insurance",
"operator": "nbt",
"value": "{provider_insurance}",
"assign": 0
}
],
"weight": 10
}
]
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithms?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithms?offset=0&limit=20"
}
GET /algorithms
Retrieves a list of algorithms.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
query |
array[string] |
false |
N/A |
Filters the algorithms by an array of algorithm IDs. The maximum number of IDs is 50. |
- |
name |
query |
string |
false |
N/A |
Filters the algorithms by name. You can also perform a partial search with this request parameter. The maximum length is 100 characters. |
- |
title |
query |
string |
false |
N/A |
Filters the algorithms by title. When provided, the response should contain the matching algorithms for the given input parameter value. You can also perform a partial search with this request parameter. The maximum length is 100 characters. |
- |
status |
query |
string |
false |
N/A |
Filters the algorithms by status. The following values are accepted: ACTIVE, INACTIVE. |
ACTIVE, INACTIVE |
offset |
query |
integer(int32) |
false |
0 |
The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. |
- |
limit |
query |
integer(int32) |
false |
20 |
The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. |
- |
orderBy |
query |
string |
false |
title |
A comma-separated list of fields by which to sort. |
title, -title, updatedAt, -updatedAt |
Response Statuses
Update an Algorithm
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{id}', headers: headers, body: {"title":"Couch Algorithm","description":"Identifies providers based on the sending recipient network, patient's insurance, and location.","status":"ACTIVE","index":{"fields":[{"name":"sendingProviderNetwork","dataType":"string"},{"name":"insurance","dataType":"string"},{"name":"specialty","dataType":"string"},{"name":"networkAffiliation","dataType":"string"},{"name":"distance","dataType":"number"}],"conditions":[{"tests":[{"field":"sendingProviderNetwork","operator":"eq","value":"Top Tier"},{"field":"sendingProviderNetwork","operator":"eq","value":"Default Tier"}]},{"tests":[{"field":"insurance","operator":"eq","value":"Cigna"},{"field":"insurance","operator":"eq","value":"BCBS"}]},{"tests":[{"field":"specialty","operator":"eq","value":"Cardiology"}]}],"functions":[{"factor":{"id":"a1263fda-640f-4aeb-b19b-86f5078045cf","name":"network_tier"},"tests":[{"field":"networkAffiliation","operator":"eq","value":"Top Tier","assign":100},{"field":"networkAffiliation","operator":"eq","value":"Middle Tier","assign":85},{"field":"networkAffiliation","operator":"eq","value":"Default Tier","assign":50}],"weight":40},{"factor":{"id":"e1981d02-7c5e-4b60-9981-31b858c127ea","name":"location"},"tests":[{"field":"distance","operator":"lte","value":"5","assign":100},{"field":"distance","operator":"lte","value":"20","assign":75},{"field":"distance","operator":"gt","value":"20","assign":30}],"weight":50},{"factor":{"id":"83214bc2-349a-4e51-9bc4-d64a515ccca7","name":"insurance"},"tests":[{"field":"insurance","operator":"bt","value":"{provider_insurance}","assign":100},{"field":"insurance","operator":"nbt","value":"{provider_insurance}","assign":0}],"weight":10}]},"updatedBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{id} \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"title":"Couch Algorithm","description":"Identifies providers based on the sending recipient network, patient's insurance, and location.","status":"ACTIVE","index":{"fields":[{"name":"sendingProviderNetwork","dataType":"string"},{"name":"insurance","dataType":"string"},{"name":"specialty","dataType":"string"},{"name":"networkAffiliation","dataType":"string"},{"name":"distance","dataType":"number"}],"conditions":[{"tests":[{"field":"sendingProviderNetwork","operator":"eq","value":"Top Tier"},{"field":"sendingProviderNetwork","operator":"eq","value":"Default Tier"}]},{"tests":[{"field":"insurance","operator":"eq","value":"Cigna"},{"field":"insurance","operator":"eq","value":"BCBS"}]},{"tests":[{"field":"specialty","operator":"eq","value":"Cardiology"}]}],"functions":[{"factor":{"id":"a1263fda-640f-4aeb-b19b-86f5078045cf","name":"network_tier"},"tests":[{"field":"networkAffiliation","operator":"eq","value":"Top Tier","assign":100},{"field":"networkAffiliation","operator":"eq","value":"Middle Tier","assign":85},{"field":"networkAffiliation","operator":"eq","value":"Default Tier","assign":50}],"weight":40},{"factor":{"id":"e1981d02-7c5e-4b60-9981-31b858c127ea","name":"location"},"tests":[{"field":"distance","operator":"lte","value":"5","assign":100},{"field":"distance","operator":"lte","value":"20","assign":75},{"field":"distance","operator":"gt","value":"20","assign":30}],"weight":50},{"factor":{"id":"83214bc2-349a-4e51-9bc4-d64a515ccca7","name":"insurance"},"tests":[{"field":"insurance","operator":"bt","value":"{provider_insurance}","assign":100},{"field":"insurance","operator":"nbt","value":"{provider_insurance}","assign":0}],"weight":10}]},"updatedBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}
Example response
{
"id": "07fb4d08-3d74-41bd-b0f0-78afa573e663",
"version": 1,
"name": "couch_algorithm",
"title": "Couch Algorithm",
"description": "Identifies providers based on the sending recipient network, patient's insurance, and location.",
"status": "ACTIVE",
"index": {
"fields": [
{
"name": "sendingProviderNetwork",
"dataType": "string"
},
{
"name": "insurance",
"dataType": "string"
},
{
"name": "specialty",
"dataType": "string"
},
{
"name": "networkAffiliation",
"dataType": "string"
},
{
"name": "distance",
"dataType": "number"
}
],
"conditions": [
{
"tests": [
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Top Tier"
},
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Default Tier"
}
]
},
{
"tests": [
{
"field": "insurance",
"operator": "eq",
"value": "Cigna"
},
{
"field": "insurance",
"operator": "eq",
"value": "BCBS"
}
]
},
{
"tests": [
{
"field": "specialty",
"operator": "eq",
"value": "Cardiology"
}
]
}
],
"functions": [
{
"factor": {
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_tier"
},
"tests": [
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Top Tier",
"assign": 100
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Middle Tier",
"assign": 85
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Default Tier",
"assign": 50
}
],
"weight": 40
},
{
"factor": {
"id": "e1981d02-7c5e-4b60-9981-31b858c127ea",
"name": "location"
},
"tests": [
{
"field": "distance",
"operator": "lte",
"value": "5",
"assign": 100
},
{
"field": "distance",
"operator": "lte",
"value": "20",
"assign": 75
},
{
"field": "distance",
"operator": "gt",
"value": "20",
"assign": 30
}
],
"weight": 50
},
{
"factor": {
"id": "83214bc2-349a-4e51-9bc4-d64a515ccca7",
"name": "insurance"
},
"tests": [
{
"field": "insurance",
"operator": "bt",
"value": "{provider_insurance}",
"assign": 100
},
{
"field": "insurance",
"operator": "nbt",
"value": "{provider_insurance}",
"assign": 0
}
],
"weight": 10
}
]
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
PUT /algorithms/{id}
Updates an algorithm.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search algorithm. |
- |
body |
body |
putAlgorithms |
true |
N/A |
No description |
- |
Response Statuses
Delete an Algorithm
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.delete('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
DELETE /algorithms/{id}
Deletes an algorithm.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search algorithm. |
- |
Response Statuses
Retrieve a Single Algorithm
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "07fb4d08-3d74-41bd-b0f0-78afa573e663",
"version": 1,
"name": "couch_algorithm",
"title": "Couch Algorithm",
"description": "Identifies providers based on the sending recipient network, patient's insurance, and location.",
"status": "ACTIVE",
"index": {
"fields": [
{
"name": "sendingProviderNetwork",
"dataType": "string"
},
{
"name": "insurance",
"dataType": "string"
},
{
"name": "specialty",
"dataType": "string"
},
{
"name": "networkAffiliation",
"dataType": "string"
},
{
"name": "distance",
"dataType": "number"
}
],
"conditions": [
{
"tests": [
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Top Tier"
},
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Default Tier"
}
]
},
{
"tests": [
{
"field": "insurance",
"operator": "eq",
"value": "Cigna"
},
{
"field": "insurance",
"operator": "eq",
"value": "BCBS"
}
]
},
{
"tests": [
{
"field": "specialty",
"operator": "eq",
"value": "Cardiology"
}
]
}
],
"functions": [
{
"factor": {
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_tier"
},
"tests": [
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Top Tier",
"assign": 100
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Middle Tier",
"assign": 85
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Default Tier",
"assign": 50
}
],
"weight": 40
},
{
"factor": {
"id": "e1981d02-7c5e-4b60-9981-31b858c127ea",
"name": "location"
},
"tests": [
{
"field": "distance",
"operator": "lte",
"value": "5",
"assign": 100
},
{
"field": "distance",
"operator": "lte",
"value": "20",
"assign": 75
},
{
"field": "distance",
"operator": "gt",
"value": "20",
"assign": 30
}
],
"weight": 50
},
{
"factor": {
"id": "83214bc2-349a-4e51-9bc4-d64a515ccca7",
"name": "insurance"
},
"tests": [
{
"field": "insurance",
"operator": "bt",
"value": "{provider_insurance}",
"assign": 100
},
{
"field": "insurance",
"operator": "nbt",
"value": "{provider_insurance}",
"assign": 0
}
],
"weight": 10
}
]
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
GET /algorithms/{id}
Retrieves a single algorithm.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search algorithm. |
- |
Response Statuses
Algorithm Attributes
Algorithm attributes are platform-defined specifications of objects or elements that are used as fields in defining the search algorithm business rules. An attribute can either reference another attribute value or be set to a specific value within an algorithm.
Only GET and GET LIST endpoints are available in the Public API in order to help create the user defined algorithms.
Retrieve a List of Algorithm Attributes
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-attributes', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-attributes \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "e20d24c9-6855-4451-8926-c5be4cc8a46e",
"name": "sendingProviderNetwork",
"description": "The sending provider network in the referral use case.",
"type": "REGULAR",
"properties": {
"dataType": "string",
"unit": "mi"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithm-attributes?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithm-attributes?offset=200&limit=20",
"prevLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithm-attributes?offset=40&limit=20",
"nextLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithm-attributes?offset=20&limit=20"
}
GET /algorithm-attributes
Retrieves a list of algorithm attributes.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
name |
query |
string |
false |
N/A |
The name representation of the provider search algorithm attribute. |
- |
offset |
query |
integer(int32) |
false |
0 |
The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. |
- |
limit |
query |
integer(int32) |
false |
20 |
The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. |
- |
orderBy |
query |
string |
false |
name |
A comma-separated list of fields by which to sort. |
name, -name, updatedAt, -updatedAt |
Response Statuses
Retrieve a Single Algorithm Attribute
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-attributes/{id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-attributes/{id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "e20d24c9-6855-4451-8926-c5be4cc8a46e",
"name": "sendingProviderNetwork",
"description": "The sending provider network in the referral use case.",
"type": "REGULAR",
"properties": {
"dataType": "string",
"unit": "mi"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
GET /algorithm-attributes/{id}
Retrieves a single algorithm attribute.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search algorithm attribute. |
- |
Response Statuses
Algorithm Factors
Algorithm factors are the configuration elements that contribute to the calculation of the provider relationship score.
Create an Algorithm Factor
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors', headers: headers, body: {"title":"Network Affiliation Factor","description":"The network affiliation factor to use when calculating the care provided against the cost and quality.","createdBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"title":"Network Affiliation Factor","description":"The network affiliation factor to use when calculating the care provided against the cost and quality.","createdBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}
Example response
{
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_affiliation_factor",
"title": "Network Affiliation Factor",
"description": "The network affiliation factor to use when calculating the care provided against the cost and quality.",
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
POST /algorithm-factors
Creates an algorithm factor.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
body |
body |
postAlgorithmFactors |
true |
N/A |
No description |
- |
Response Statuses
Status |
Header |
Type |
Format |
Description |
201 |
Location |
string |
|
The URL of the created algorithm factor. |
Retrieve a List of Algorithm Factors
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_affiliation_factor",
"title": "Network Affiliation Factor",
"description": "The network affiliation factor to use when calculating the care provided against the cost and quality.",
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
},
{
"id": "e1981d02-7c5e-4b60-9981-31b858c127ea",
"name": "location_factor",
"title": "Location Factor",
"description": "The location factor to use when calculating the distance.",
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
],
"totalResults": 2,
"firstLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithm-factors?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithm-factors?offset=200&limit=20",
"prevLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithm-factors?offset=40&limit=20",
"nextLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithm-factors?offset=20&limit=20"
}
GET /algorithm-factors
Retrieves a list of algorithm factor objects.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
query |
array[string] |
false |
N/A |
The unique ID of the provider search algorithm factor. You can use a maximum of 50 IDs. |
- |
name |
query |
string |
false |
N/A |
The machine-readable attribute that is uniquely identified and created by the system based on the title field. You can partially search by the request parameter ‘name’ to filter the search results. The maximum length is 100 characters. |
- |
title |
query |
string |
false |
N/A |
The name representation of the provider search algorithm factor. The maximum length is 100 characters. |
- |
offset |
query |
integer(int32) |
false |
0 |
The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. |
- |
limit |
query |
integer(int32) |
false |
20 |
The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. |
- |
orderBy |
query |
string |
false |
title |
A comma-separated list of fields by which to sort. |
title, -title, updatedAt, -updatedAt |
Response Statuses
Update an Algorithm Factor
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors/{id}', headers: headers, body: {"title":"Network Affiliation Factor","description":"The network affiliation factor to use when calculating the care provided against the cost and quality.","updatedBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors/{id} \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"title":"Network Affiliation Factor","description":"The network affiliation factor to use when calculating the care provided against the cost and quality.","updatedBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}
Example response
{
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_affiliation_factor",
"title": "Network Affiliation Factor",
"description": "The network affiliation factor to use when calculating the care provided against the cost and quality.",
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
PUT /algorithm-factors/{id}
Updates an algorithm factor.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search algorithm factor. |
- |
body |
body |
putAlgorithmFactors |
true |
N/A |
No description |
- |
Response Statuses
Delete an Algorithm Factor
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.delete('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors/{id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors/{id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
DELETE /algorithm-factors/{id}
Deletes an algorithm factor.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search algorithm factor. |
- |
Response Statuses
Retrieve a Single Algorithm Factor
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors/{id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithm-factors/{id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_affiliation_factor",
"title": "Network Affiliation Factor",
"description": "The network affiliation factor to use when calculating the care provided against the cost and quality.",
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
GET /algorithm-factors/{id}
Retrieves a single algorithm factor.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search algorithm factor. |
- |
Response Statuses
Workflows
Provider search workflows describe an orchestrated and repeatable pattern of activity. The workflows are defined and enabled by the tenant, based on their provider search use cases. For example, a workflow can be designed to support referral management use cases where specialist providers are searched based on a certain set of algorithms to return a list of providers from best to least matched for the given referral. Another workflow may apply no rules and just return a list of providers who match the specific input parameter values.
- If a given search meets the conditions of more than one algorithm in a workflow, only the highest ranked algorithm is evaluated. For this reason, when ranking algorithms rank the algorithms from most restrictive conditions to least.
Create Provider Search Workflow and Algorithms Workflow Context
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows', headers: headers, body: {"title":"Referral Recipient Search","description":"The referral workflow used to retrieve the list of recipient providers.","algorithms":[{"id":"cbab2f94-e23e-42f6-a53c-0a4849c308f4","name":"couch_algorithm","ranking":1},{"id":"2833ef21-30b1-4203-b35e-27b6f71d6f74","name":"phantom_algorithm","ranking":2},{"id":"f44783ba-8c02-46fc-870e-d8d204dea9c2","name":"tarjan_algorithm","ranking":3}],"createdBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"title":"Referral Recipient Search","description":"The referral workflow used to retrieve the list of recipient providers.","algorithms":[{"id":"cbab2f94-e23e-42f6-a53c-0a4849c308f4","name":"couch_algorithm","ranking":1},{"id":"2833ef21-30b1-4203-b35e-27b6f71d6f74","name":"phantom_algorithm","ranking":2},{"id":"f44783ba-8c02-46fc-870e-d8d204dea9c2","name":"tarjan_algorithm","ranking":3}],"createdBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}
Example response
{
"id": "9995eb66-d481-4a9c-902c-01b8fdd22de2",
"version": 1,
"name": "referral_recipient_search",
"title": "Referral Recipient Search",
"description": "The referral workflow used to retrieve the list of recipient providers.",
"algorithms": [
{
"id": "cbab2f94-e23e-42f6-a53c-0a4849c308f4",
"name": "couch_algorithm",
"ranking": 1
},
{
"id": "2833ef21-30b1-4203-b35e-27b6f71d6f74",
"name": "phantom_algorithm",
"ranking": 2
},
{
"id": "f44783ba-8c02-46fc-870e-d8d204dea9c2",
"name": "tarjan_algorithm",
"ranking": 3
}
],
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
POST /workflows
Creates a provider search workflow.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
body |
body |
postWorkflows |
true |
N/A |
No description |
- |
Response Statuses
Status |
Header |
Type |
Format |
Description |
201 |
Location |
string |
|
The URL of the created workflow. |
Retrieve a List of Provider Search Workflow Collection
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "9995eb66-d481-4a9c-902c-01b8fdd22de2",
"version": 1,
"name": "referral_recipient_search",
"title": "Referral Recipient Search",
"description": "The referral workflow used to retrieve the list of recipient providers.",
"algorithms": [
{
"id": "cbab2f94-e23e-42f6-a53c-0a4849c308f4",
"name": "couch_algorithm",
"ranking": 1
},
{
"id": "2833ef21-30b1-4203-b35e-27b6f71d6f74",
"name": "phantom_algorithm",
"ranking": 2
},
{
"id": "f44783ba-8c02-46fc-870e-d8d204dea9c2",
"name": "tarjan_algorithm",
"ranking": 3
}
],
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
},
{
"id": "cc4b1574-7de1-4cbd-9fd4-d55e74a51aa9",
"version": 1,
"name": "default_search",
"title": "Default Search",
"description": "The default workflow used to retrieve the list of providers.",
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
},
{
"id": "9995eb66-d481-4a9c-902c-01b8fdd22de2",
"version": 2,
"name": "referral_recipient_search",
"title": "Referral Recipient Search",
"description": "The referral workflow used to retrieve the list of recipient providers.",
"algorithms": [
{
"id": "cbab2f94-e23e-42f6-a53c-0a4849c308f4",
"name": "couch_algorithm",
"ranking": 1
},
{
"id": "2833ef21-30b1-4203-b35e-27b6f71d6f74",
"name": "phantom_algorithm",
"ranking": 2
},
{
"id": "f44783ba-8c02-46fc-870e-d8d204dea9c2",
"name": "tarjan_algorithm",
"ranking": 3
}
],
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
],
"totalResults": 3,
"firstLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows?offset=200&limit=20",
"prevLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows?offset=40&limit=20",
"nextLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows?offset=20&limit=20"
}
GET /workflows
Retrieves a list of provider search workflows.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
query |
array[string] |
false |
N/A |
The unique ID of the provider search workflows. You can use a maximum of 50 IDs. |
- |
name |
query |
string |
false |
N/A |
The name of the provider search workflow. The maximum length is 100 characters. |
- |
title |
query |
string |
false |
N/A |
The title of the provider search workflow. The maximum length is 100 characters. |
- |
algorithmId |
query |
string |
false |
N/A |
The ID of the search algorithm. |
- |
offset |
query |
integer(int32) |
false |
0 |
The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. |
- |
limit |
query |
integer(int32) |
false |
20 |
The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. |
- |
orderBy |
query |
string |
false |
title |
A comma-separated list of fields by which to sort. |
title, -title, updatedAt, -updatedAt |
Response Statuses
Delete a Provider Search Workflow
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.delete('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
DELETE /workflows/{id}
Deletes a provider search workflow.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search workflow. |
- |
Response Statuses
Update a Provider Search Workflow
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{id}', headers: headers, body: {"title":"Referral Recipient Search","description":"The referral workflow used to retrieve the list of recipient providers.","algorithms":[{"id":"cbab2f94-e23e-42f6-a53c-0a4849c308f4","name":"couch_algorithm","ranking":1},{"id":"2833ef21-30b1-4203-b35e-27b6f71d6f74","name":"phantom_algorithm","ranking":2},{"id":"f44783ba-8c02-46fc-870e-d8d204dea9c2","name":"tarjan_algorithm","ranking":3}],"updatedBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{id} \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"title":"Referral Recipient Search","description":"The referral workflow used to retrieve the list of recipient providers.","algorithms":[{"id":"cbab2f94-e23e-42f6-a53c-0a4849c308f4","name":"couch_algorithm","ranking":1},{"id":"2833ef21-30b1-4203-b35e-27b6f71d6f74","name":"phantom_algorithm","ranking":2},{"id":"f44783ba-8c02-46fc-870e-d8d204dea9c2","name":"tarjan_algorithm","ranking":3}],"updatedBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}
Example response
{
"id": "9995eb66-d481-4a9c-902c-01b8fdd22de2",
"version": 1,
"name": "referral_recipient_search",
"title": "Referral Recipient Search",
"description": "The referral workflow used to retrieve the list of recipient providers.",
"algorithms": [
{
"id": "cbab2f94-e23e-42f6-a53c-0a4849c308f4",
"name": "couch_algorithm",
"ranking": 1
},
{
"id": "2833ef21-30b1-4203-b35e-27b6f71d6f74",
"name": "phantom_algorithm",
"ranking": 2
},
{
"id": "f44783ba-8c02-46fc-870e-d8d204dea9c2",
"name": "tarjan_algorithm",
"ranking": 3
}
],
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
PUT /workflows/{id}
Updates a provider search workflow.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search workflow. |
- |
body |
body |
putWorkflows |
true |
N/A |
No description |
- |
Response Statuses
Retrieve a Single Provider Search Workflow
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "9995eb66-d481-4a9c-902c-01b8fdd22de2",
"version": 1,
"name": "referral_recipient_search",
"title": "Referral Recipient Search",
"description": "The referral workflow used to retrieve the list of recipient providers.",
"algorithms": [
{
"id": "cbab2f94-e23e-42f6-a53c-0a4849c308f4",
"name": "couch_algorithm",
"ranking": 1
},
{
"id": "2833ef21-30b1-4203-b35e-27b6f71d6f74",
"name": "phantom_algorithm",
"ranking": 2
},
{
"id": "f44783ba-8c02-46fc-870e-d8d204dea9c2",
"name": "tarjan_algorithm",
"ranking": 3
}
],
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
GET /workflows/{id}
Retrieves a single provider search workflow.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search workflow. |
- |
Response Statuses
Workflow Versions
Provider search workflows describe an orchestrated and repeatable pattern of activity. The workflows are defined and enabled by the tenant, based on their provider search use cases. Every change to the workflow configuration creates a new version of the configuration. This model allows you to retrieve the details of an individual change for a specific version number. Additionally, you can retrieve the details for all changes.
Retrieve a List of Provider Search Workflow Versions
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{workflow_id}/versions', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{workflow_id}/versions \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "9995eb66-d481-4a9c-902c-01b8fdd22de2",
"version": 2,
"name": "referral_recipient_search",
"title": "Referral Recipient Search",
"description": "The referral workflow used to retrieve the list of recipient providers.",
"algorithms": [
{
"id": "cbab2f94-e23e-42f6-a53c-0a4849c308f4",
"name": "couch_algorithm",
"ranking": 1
},
{
"id": "2833ef21-30b1-4203-b35e-27b6f71d6f74",
"name": "phantom_algorithm",
"ranking": 2
},
{
"id": "f44783ba-8c02-46fc-870e-d8d204dea9c2",
"name": "tarjan_algorithm",
"ranking": 3
}
],
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
},
{
"id": "9995eb66-d481-4a9c-902c-01b8fdd22de2",
"version": 1,
"name": "referral_recipient_search",
"title": "Referral Recipient Search",
"description": "The referral workflow used to retrieve the list of recipient providers.",
"algorithms": [
{
"id": "cbab2f94-e23e-42f6-a53c-0a4849c308f4",
"name": "couch_algorithm",
"ranking": 1
},
{
"id": "2833ef21-30b1-4203-b35e-27b6f71d6f74",
"name": "phantom_algorithm",
"ranking": 2
},
{
"id": "f44783ba-8c02-46fc-870e-d8d204dea9c2",
"name": "tarjan_algorithm",
"ranking": 3
}
],
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
],
"totalResults": 2,
"firstLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows/9995eb66-d481-4a9c-902c-01b8fdd22de2/versions?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/workflows/9995eb66-d481-4a9c-902c-01b8fdd22de2/versions?offset=200&limit=20"
}
GET /workflows/{workflow_id}/versions
Retrieves a list of all versions of a provider search workflow.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
workflow_id |
path |
string |
true |
N/A |
The unique ID of the provider search workflow. |
- |
offset |
query |
integer(int32) |
false |
0 |
The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. |
- |
limit |
query |
integer(int32) |
false |
20 |
The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. |
- |
orderBy |
query |
string |
false |
-version |
A comma-separated list of fields by which to sort. |
title, -title, version, -version, updatedAt, -updatedAt |
Response Statuses
Retrieve a Single Provider Search Workflow Version
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{workflow_id}/versions/{version_id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/workflows/{workflow_id}/versions/{version_id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "9995eb66-d481-4a9c-902c-01b8fdd22de2",
"version": 1,
"name": "referral_recipient_search",
"title": "Referral Recipient Search",
"description": "The referral workflow used to retrieve the list of recipient providers.",
"algorithms": [
{
"id": "cbab2f94-e23e-42f6-a53c-0a4849c308f4",
"name": "couch_algorithm",
"ranking": 1
},
{
"id": "2833ef21-30b1-4203-b35e-27b6f71d6f74",
"name": "phantom_algorithm",
"ranking": 2
},
{
"id": "f44783ba-8c02-46fc-870e-d8d204dea9c2",
"name": "tarjan_algorithm",
"ranking": 3
}
],
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
GET /workflows/{workflow_id}/versions/{version_id}
Retrieves a specific version of a provider search workflow.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
workflow_id |
path |
string |
true |
N/A |
The unique ID of the provider search workflow. |
- |
version_id |
path |
integer(int32) |
true |
N/A |
The version of the workflow. This property is generated by the system after the workflow is created. |
- |
Response Statuses
Algorithm Versions
Provider search algorithms are a user-defined set of rules used to define and perform a search strategy. The algorithms are defined and enabled by the tenant based on their provider search use cases. Every change to the algorithm configuration creates a new version of the configuration. This model allows you to retrieve the details of an individual change for a specific version number. Additionally, you can retrieve the details for all changes.
Retrieve a List of Provider Search Algorithm Versions
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{algorithm_id}/versions', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{algorithm_id}/versions \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "07fb4d08-3d74-41bd-b0f0-78afa573e663",
"version": 1,
"name": "couch_algorithm",
"title": "Couch Algorithm",
"description": "Identifies providers based on the sending recipient network, patient's insurance, and location.",
"status": "ACTIVE",
"index": {
"fields": [
{
"name": "sendingProviderNetwork",
"dataType": "string"
},
{
"name": "insurance",
"dataType": "string"
},
{
"name": "specialty",
"dataType": "string"
},
{
"name": "networkAffiliation",
"dataType": "string"
},
{
"name": "distance",
"dataType": "number"
}
],
"conditions": [
{
"tests": [
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Top Tier"
},
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Default Tier"
}
]
},
{
"tests": [
{
"field": "insurance",
"operator": "eq",
"value": "Cigna"
},
{
"field": "insurance",
"operator": "eq",
"value": "BCBS"
}
]
},
{
"tests": [
{
"field": "specialty",
"operator": "eq",
"value": "Cardiology"
}
]
}
],
"functions": [
{
"factor": {
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_tier"
},
"tests": [
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Top Tier",
"assign": 100
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Middle Tier",
"assign": 85
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Default Tier",
"assign": 50
}
],
"weight": 40
},
{
"factor": {
"id": "e1981d02-7c5e-4b60-9981-31b858c127ea",
"name": "location"
},
"tests": [
{
"field": "distance",
"operator": "lte",
"value": "5",
"assign": 100
},
{
"field": "distance",
"operator": "lte",
"value": "20",
"assign": 75
},
{
"field": "distance",
"operator": "gt",
"value": "20",
"assign": 30
}
],
"weight": 50
},
{
"factor": {
"id": "83214bc2-349a-4e51-9bc4-d64a515ccca7",
"name": "insurance"
},
"tests": [
{
"field": "insurance",
"operator": "bt",
"value": "{provider_insurance}",
"assign": 100
},
{
"field": "insurance",
"operator": "nbt",
"value": "{provider_insurance}",
"assign": 0
}
],
"weight": 10
}
]
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithms/9995eb66-d481-4a9c-902c-01b8fdd22de2/versions?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us.healtheintent.com/provider-search/v1/algorithms/9995eb66-d481-4a9c-902c-01b8fdd22de2/versions?offset=0&limit=20"
}
GET /algorithms/{algorithm_id}/versions
All versions of a provider search algorithm.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
algorithm_id |
path |
string |
true |
N/A |
The unique ID of the provider search algorithm. |
- |
offset |
query |
integer(int32) |
false |
0 |
The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. |
- |
limit |
query |
integer(int32) |
false |
20 |
The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. |
- |
orderBy |
query |
string |
false |
-version |
A comma-separated list of fields by which to sort. |
title, -title, version, -version, updatedAt, -updatedAt |
Response Statuses
Retrieve a Single Provider Search Algorithm Version
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{algorithm_id}/versions/{version_id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/algorithms/{algorithm_id}/versions/{version_id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "07fb4d08-3d74-41bd-b0f0-78afa573e663",
"version": 1,
"name": "couch_algorithm",
"title": "Couch Algorithm",
"description": "Identifies providers based on the sending recipient network, patient's insurance, and location.",
"status": "ACTIVE",
"index": {
"fields": [
{
"name": "sendingProviderNetwork",
"dataType": "string"
},
{
"name": "insurance",
"dataType": "string"
},
{
"name": "specialty",
"dataType": "string"
},
{
"name": "networkAffiliation",
"dataType": "string"
},
{
"name": "distance",
"dataType": "number"
}
],
"conditions": [
{
"tests": [
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Top Tier"
},
{
"field": "sendingProviderNetwork",
"operator": "eq",
"value": "Default Tier"
}
]
},
{
"tests": [
{
"field": "insurance",
"operator": "eq",
"value": "Cigna"
},
{
"field": "insurance",
"operator": "eq",
"value": "BCBS"
}
]
},
{
"tests": [
{
"field": "specialty",
"operator": "eq",
"value": "Cardiology"
}
]
}
],
"functions": [
{
"factor": {
"id": "a1263fda-640f-4aeb-b19b-86f5078045cf",
"name": "network_tier"
},
"tests": [
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Top Tier",
"assign": 100
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Middle Tier",
"assign": 85
},
{
"field": "networkAffiliation",
"operator": "eq",
"value": "Default Tier",
"assign": 50
}
],
"weight": 40
},
{
"factor": {
"id": "e1981d02-7c5e-4b60-9981-31b858c127ea",
"name": "location"
},
"tests": [
{
"field": "distance",
"operator": "lte",
"value": "5",
"assign": 100
},
{
"field": "distance",
"operator": "lte",
"value": "20",
"assign": 75
},
{
"field": "distance",
"operator": "gt",
"value": "20",
"assign": 30
}
],
"weight": 50
},
{
"factor": {
"id": "83214bc2-349a-4e51-9bc4-d64a515ccca7",
"name": "insurance"
},
"tests": [
{
"field": "insurance",
"operator": "bt",
"value": "{provider_insurance}",
"assign": 100
},
{
"field": "insurance",
"operator": "nbt",
"value": "{provider_insurance}",
"assign": 0
}
],
"weight": 10
}
]
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
GET /algorithms/{algorithm_id}/versions/{version_id}
A specific version of a provider search algorithm.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
algorithm_id |
path |
string |
true |
N/A |
The unique ID of the provider search algorithm. |
- |
version_id |
path |
integer(int32) |
true |
N/A |
Version of the algorithm. It is a system generated property assigned on algorithm creation. |
- |
Response Statuses
Custom Algorithm Attributes
Custom algorithm attributes describe the specification that defines a client-specified property of an object or an element. It may also refer to or set the specific value for a given instance of such custom attribute. The custom attributes defined here are the fields used in the algorithms as specified in its business rules.
Create a Custom Algorithm Attribute
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes', headers: headers, body: {"name":"custom_value","description":"Attribute represents a custom client-defined value.","category":"VALUE","properties":{"dataType":"NUMBER"},"createdBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"custom_value","description":"Attribute represents a custom client-defined value.","category":"VALUE","properties":{"dataType":"NUMBER"},"createdBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}
Example response
{
"id": "cdaf0934-a191-4bfc-8ed5-2625ff1cd234",
"name": "custom_value",
"description": "Attribute represents a custom client-defined value.",
"category": "VALUE",
"properties": {
"dataType": "NUMBER"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
POST /custom-algorithm-attributes
Create a custom algorithm attribute.
Parameters
Response Statuses
Status |
Header |
Type |
Format |
Description |
201 |
Location |
string |
|
The URL location of the created object. |
Retrieve a List of Custom Algorithm Attributes
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "cdaf0934-a191-4bfc-8ed5-2625ff1cd234",
"name": "custom_value",
"description": "Attribute represents a custom client-defined value.",
"category": "VALUE",
"properties": {
"dataType": "NUMBER"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
},
{
"id": "307aaa41-27dc-45bc-a34c-42c07cca7e4e",
"name": "custom_cost",
"description": "Attribute represents a custom client-defined cost.",
"category": "COST",
"properties": {
"dataType": "NUMBER"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
},
{
"id": "eac804af-d9d2-4f73-b388-0bd314e32162",
"name": "custom_quality",
"description": "Attribute represents a custom client-defined quality.",
"category": "QUALITY",
"properties": {
"dataType": "STRING"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
],
"totalResults": 3,
"firstLink": "https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes?offset=0&limit=20"
}
GET /custom-algorithm-attributes
A collection of custom algorithm attribute objects.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
name |
query |
string |
false |
N/A |
The name of the provider search custom algorithm attribute to query. |
- |
offset |
query |
integer(int32) |
false |
0 |
The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. |
- |
limit |
query |
integer(int32) |
false |
20 |
The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. |
- |
orderBy |
query |
string |
false |
name |
A comma-separated list of fields by which to sort. The order in which the fields are listed determines the order in which sorting is applied. The directionality applied to each field is indicated by the presence (or absence) of a hyphen (-) prefix. Fields with the hyphen prefix are retrieved in descending order; fields without the prefix are retrieved in ascending order. Valid values: name,-name,updatedAt,-updatedAt |
name, -name, updatedAt, -updatedAt |
Response Statuses
Delete a Custom Algorithm Attribute
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.delete('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes/{id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes/{id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
DELETE /custom-algorithm-attributes/{id}
Delete a Custom Algorithm Attribute.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search custom algorithm attribute. |
- |
Response Statuses
Update a Custom Algorithm Attribute
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}
result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes/{id}', headers: headers, body: {"name":"custom_value","description":"Attribute represents a custom client-defined value.","category":"VALUE","properties":{"dataType":"NUMBER"},"updatedBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}.to_json )
print JSON.pretty_generate(result)
# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes/{id} \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"custom_value","description":"Attribute represents a custom client-defined value.","category":"VALUE","properties":{"dataType":"NUMBER"},"updatedBy":{"id":"cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"}}
Example response
{
"id": "cdaf0934-a191-4bfc-8ed5-2625ff1cd234",
"name": "custom_value",
"description": "Attribute represents a custom client-defined value.",
"category": "VALUE",
"properties": {
"dataType": "NUMBER"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
PUT /custom-algorithm-attributes/{id}
Update a Custom Algorithm Attribute.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search custom algorithm attribute. |
- |
body |
body |
putCustomAlgorithmAttributes |
true |
N/A |
No description |
- |
Response Statuses
Status |
Meaning |
Description |
Schema |
200 |
OK |
Update a Custom Algorithm Attribute |
CustomAlgorithmAttribute |
400 |
Bad Request |
Bad Request |
Error |
401 |
Unauthorized |
Unauthorized |
Error |
403 |
Forbidden |
Forbidden |
Error |
404 |
Not Found |
Not Found |
Error |
409 |
Conflict |
Conflict. The requested custom algorithm attribute could not be successfully published due to a conflicting entity. The following reason is possible, among others: - duplicateName The custom algorithm attribute name already exists for the given tenant. |
Error |
Retrieve a Single Custom Algorithm Attribute
Example Request:
require 'httparty' # Using HTTParty 0.16.2
require 'json'
headers = {
'Authorization' => '<auth_header>',
'Accept' => 'application/json'
}
result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes/{id}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/provider-search/v1/custom-algorithm-attributes/{id} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "cdaf0934-a191-4bfc-8ed5-2625ff1cd234",
"name": "custom_value",
"description": "Attribute represents a custom client-defined value.",
"category": "VALUE",
"properties": {
"dataType": "NUMBER"
},
"createdAt": "2018-03-02T20:39:35.023Z",
"createdBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
},
"updatedAt": "2018-03-02T20:39:35.023Z",
"updatedBy": {
"id": "cae6b9b8-0688-4951-9c7d-79d2cfd2ec09"
}
}
GET /custom-algorithm-attributes/{id}
A single custom algorithm attribute object.
Parameters
Parameter |
In |
Type |
Required |
Default |
Description |
Accepted Values |
id |
path |
string |
true |
N/A |
The unique ID of the provider search custom algorithm attribute. |
- |
Response Statuses
Schema Definitions
ProviderPersonnels
Name |
Type |
Required |
Description |
Accepted Values |
items |
[ProviderPersonnel] |
true |
An array containing the current page of results. |
- |
totalResults |
integer(int32) |
false |
The total number of results for the specified parameters. |
- |
firstLink |
string |
true |
The first page of results. |
- |
lastLink |
string |
false |
The last page of results. |
- |
prevLink |
string |
false |
The previous page of results. |
- |
nextLink |
string |
false |
The next page of results. |
- |
ProviderPersonnel
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the Health Data Intelligence provider personnel entity. |
- |
name |
Name |
false |
The name associated with the provider personnel entity. |
- |
gender |
GenderCode |
false |
The gender of the provider personnel entity. |
- |
age |
integer(int32) |
false |
The age of the provider personnel entity. |
- |
communications |
[Communication] |
false |
The language or languages the provider personnel entity can use in patient communication. |
- |
photo |
Photo |
false |
The image associated with the provider personnel entity. |
- |
telecoms |
[DemographicTelecom] |
false |
The contact details for the provider personnel entity that apply to all roles. |
- |
qualifications |
[Qualification] |
false |
The certification, licenses, or training associated with the provider personnel entity that pertain to the provision of care. |
- |
aliases |
[Alias] |
false |
The aliases of the provider personnel entity. |
- |
link |
Link |
false |
A reference to another personnel entity who is identified as the same person described in this provider personnel entity. See the Personnel section on the Personnel API v1 page for more information. |
- |
isPcp |
boolean |
false |
Indicates whether the provider personnel entity is a primary care physician (PCP). |
- |
providerRelationships |
[ProviderRelationships] |
false |
The specific set of a provider’s relationships to locations, specialties, networks, and services that they may perform at an organization. |
- |
Name
Name |
Type |
Required |
Description |
Accepted Values |
text |
string |
false |
The text representation of the full name. |
- |
family |
string |
false |
The family name or surname of the provider personnel entity. |
- |
given |
[string] |
false |
The given names of the provider personnel entity, including the middle name. |
- |
prefix |
[string] |
false |
The prefix of the name. |
- |
suffix |
[string] |
false |
The suffix of the name. |
- |
GenderCode
Name |
Type |
Required |
Description |
Accepted Values |
code |
string |
true |
The unique ID of the gender code. The following values are available: [“male”, “female”, “other”, “unknown”]. |
male, female, other, unknown |
system |
string |
true |
The ID of the coding system associated with the code. |
- |
display |
string |
false |
The human-readable representation of the gender code. |
Male, Female, Other, Unknown |
Communication
Name |
Type |
Required |
Description |
Accepted Values |
code |
Language |
true |
The language code the practitioner can use in patient communication. |
- |
Language
Name |
Type |
Required |
Description |
Accepted Values |
codings |
[LanguageCode] |
true |
A list of codified values from a standard code system. |
- |
text |
string |
false |
The text representation of a language. |
- |
LanguageCode
Name |
Type |
Required |
Description |
Accepted Values |
code |
string |
true |
The unique ID of the language code. |
- |
system |
string |
true |
The ID of the coding system associated with the language code. |
- |
display |
string |
false |
A human-readable representation of the language code. |
- |
Photo
Name |
Type |
Required |
Description |
Accepted Values |
contentType |
string |
true |
The mime type of the content. The following values are possible: [“IMAGE/JPG”, “IMAGE/JPEG”, “IMAGE/GIF”, “IMAGE/PNG”]. |
IMAGE/JPG, IMAGE/JPEG, IMAGE/GIF, IMAGE/PNG |
url |
string |
true |
The reference to the physical location of the photo. |
- |
title |
string |
false |
The name of the photo. |
- |
DemographicTelecom
Name |
Type |
Required |
Description |
Accepted Values |
system |
string |
true |
The system associated with the contact point for a provider personnel entity. The following values are available: [“EMAIL”, “PHONE”, “FAX”, “SMS”, “URL”, “DIRECT”, “OTHER”]. |
EMAIL, PHONE, FAX, SMS, URL, DIRECT, OTHER |
value |
string |
true |
The contact point details for a provider personnel entity. If you specify a value, system is required. |
- |
use |
string |
false |
The purpose for which the contact details can be used. The following values are available: [“HOME”, “MOBILE”, “OLD”, “TEMP”, “WORK”]. |
HOME, MOBILE, OLD, TEMP, WORK |
rank |
integer(int32) |
false |
The rank based on other provided telecoms. This must be a numeric value that is greater than zero. Telecoms without a rank are considered equal to other unranked telecoms. Ranked telecoms are ordered above unranked telecoms. |
- |
Qualification
Name |
Type |
Required |
Description |
Accepted Values |
identifier |
string |
false |
The ID for this qualification for the provider personnel entity. |
- |
type |
Code |
false |
Indicates whether this qualification is associated with a degree, training, certification, or license. |
- |
text |
string |
true |
The text associated with the qualification. |
- |
code |
QualificationCode |
false |
The code associated with the qualification. |
- |
period |
Period |
false |
The time period during which the qualification is valid. |
- |
reverificationDate |
string |
false |
The date when the qualification must be reverified, in ISO 8601 formatting with precision ranging from YYYY to YYYY-MM-DD. |
- |
issuer |
QualificationIssuer |
false |
The organization that regulates and issues the qualification. You can use either the name or reference. |
- |
Code
Name |
Type |
Required |
Description |
Accepted Values |
code |
string |
true |
The unique ID of the code. |
- |
display |
string |
false |
A human-readable representation of the code. |
- |
system |
string |
true |
The ID of the coding system that gives meaning to the code. |
- |
QualificationCode
Name |
Type |
Required |
Description |
Accepted Values |
codings |
[Code] |
false |
A list of codified values from a standard code system. |
- |
text |
string |
false |
The text that represents the consolidated display of different codings inside the code object. |
- |
Period
Name |
Type |
Required |
Description |
Accepted Values |
start |
string |
false |
The start date of the effective period of the qualification, in ISO 8601 format with precision ranging from YYYY to YYYY-MM-DD. |
- |
end |
string |
false |
The end date of the effective period of the qualification, in ISO 8601 format with precision ranging from YYYY to YYYY-MM-DD. |
- |
QualificationIssuer
Name |
Type |
Required |
Description |
Accepted Values |
name |
string |
false |
The name of the issuer. |
- |
reference |
string |
false |
The reference associated with the issuer. |
- |
Alias
Name |
Type |
Required |
Description |
Accepted Values |
system |
string |
true |
The authority responsible for assigning the alias value. Alias values are unique within this system namespace but not across systems. |
- |
type |
string |
false |
The type of alias. The following values are available: [“SPI”, “NPI”, “DEA”, “TAX”, “SL”, “EXTERNAL”, “UPIN”, “USER”, “UNKNOWN”]. |
SPI, NPI, DEA, TAX, SL, EXTERNAL, UPIN, USER, UNKNOWN |
value |
string |
true |
The unique ID of the alias associated with the system or assigning authority. |
- |
Link
Name |
Type |
Required |
Description |
Accepted Values |
target |
Target |
true |
No description |
- |
Target
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the targeted provider personnel reference. |
- |
display |
string |
false |
The name of the provider personnel entity. |
- |
ProviderRelationships
Name |
Type |
Required |
Description |
Accepted Values |
locations |
[Location] |
false |
The name of a location where the provider personnel entity offers care. |
- |
networks |
[Network] |
false |
The list of networks with which the provider personnel entity has a contractual relationship to provide services. |
- |
specialties |
[Specialty] |
false |
The specialties of the provider personnel entity. |
- |
healthcareServices |
[HealthcareService] |
false |
The healthcare services associated with the provider personnel entity. |
- |
assigningOrganization |
Organization |
false |
The role that is assigned by this organization to this provider personnel entity. |
- |
acceptingPatients |
boolean |
false |
Indicates whether the provider personnel entity is accepting patients. |
- |
providerRelationshipScore |
[ProviderRelationshipScore] |
false |
The custom score based on the algorithm’s factors calculated for each provider. A provider relationship score is calculated for each role and location of the provider. The highest provider relationship score calculated for each provider is used to identify the ranking of providers in the ordered search result based on the filter conditions applied in the search request. |
- |
Location
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the location. |
- |
name |
string |
false |
The name of the location. |
- |
text |
string |
false |
The consolidated display of location name and fully formatted address. |
- |
use |
string |
false |
The purpose of the address. The following values are possible: [“HOME”, “BILLING”, “OLD”, “TEMP”, “WORK”]. |
HOME, BILLING, OLD, TEMP, WORK |
lines |
[string] |
false |
An ordered list of address lines indicating the house number, apartment number, street name, street direction, P.O. Box number, and similar address information. |
- |
city |
string |
false |
The name of the city, town, or village. |
- |
state |
string |
false |
The state or other subunit of a country. |
- |
country |
string |
false |
The nation specified for this address. |
- |
postalCode |
string |
false |
The region defined by the postal service for this address. |
- |
geoLocation |
GeoLocation |
false |
The geographic location of a location for this address. |
- |
distance |
Distance |
false |
Indicates the distance of this provider location from a specified point. |
- |
managingOrganization |
ManagingOrganization |
false |
The organization responsible for the provisioning and upkeep of the location. This can also be used as part of the organizational hierarchy where this location provides services. |
- |
GeoLocation
Name |
Type |
Required |
Description |
Accepted Values |
latitude |
number(float) |
true |
The latitude coordinate of the location. In ISO 6709 format, the standard representation of geographic point location by coordinates, the format, and precision ranges from +/-DD.DDDD to +/-DD.DDDDDD. |
- |
longitude |
number(float) |
true |
The longitude coordinate of the location. In ISO 6709, the standard representation of geographic point location by coordinates, the format, and precision ranges from +/-DD.DDDD to +/-DD.DDDDDD. |
- |
Distance
Name |
Type |
Required |
Description |
Accepted Values |
value |
number(float) |
true |
The actual value of the distance. A unit is required if a value is provided. |
- |
unit |
string |
true |
The unit that represents the distance. The following values are possible: mi, yd, ft, in, km, m, cm, mm, nm. |
mi, yd, ft, in, km, m, cm, mm, nm |
ManagingOrganization
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider organization. |
- |
name |
string |
false |
The name of the provider organization. |
- |
Network
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID for the provider network. |
- |
name |
string |
false |
The name of the provider network. |
- |
payer |
Payer |
true |
The payers associated with the network. |
- |
plan |
Plan |
true |
The plan for which a network is defined. |
- |
relationshipType |
string |
false |
The type of contractual relationship the provider has with the specified provider network. |
- |
Payer
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider personnel payer. |
- |
name |
string |
false |
The name of the provider personnel payer. |
- |
Plan
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the plan. |
- |
name |
string |
false |
The name of the plan. |
- |
Specialty
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the specialty. |
- |
name |
string |
false |
The name of the specialty. |
- |
taxonomy |
Taxonomy |
true |
The taxonomy ID and taxonomy name that is related to the provider specialty. |
- |
isPrimary |
boolean |
false |
Indicates whether a specialty is the primary specialty. |
- |
Taxonomy
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the taxonomy. |
- |
name |
string |
true |
The name of the taxonomy. |
- |
HealthcareService
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the healthcare service. |
- |
name |
string |
false |
The name of the healthcare service. |
- |
serviceType |
ServiceType |
false |
The service type associated with the healthcare service. |
- |
serviceCategory |
ServiceCategory |
false |
The service category associated with the healthcare service. |
- |
ServiceType
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the service type. |
- |
name |
string |
false |
The name of the service type. |
- |
ServiceCategory
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the service category. |
- |
name |
string |
false |
The name of the service category. |
- |
Organization
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID for the provider organization. |
- |
name |
string |
false |
The name of the provider organization. |
- |
ProviderRelationshipScore
Name |
Type |
Required |
Description |
Accepted Values |
score |
integer(int32) |
false |
The composite score of the provider personnel relationship. |
- |
calculatedBy |
CalculatedBy |
false |
The algorithm used to calculate the provider relationship composite score. |
- |
basis |
[Basis] |
false |
Indicates the concept that has a direct relation to the provider relationship score calculation. |
- |
CalculatedBy
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider search algorithm. |
- |
title |
string |
false |
The title of the provider search algorithm. |
- |
factors |
[Factor] |
false |
The group of individual components that contribute to calculating the provider relationship score as part of the provider search outcomes. |
- |
Factor
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the algorithm factor. |
- |
title |
string |
false |
The title of the algorithm factor. |
- |
score |
integer(int32) |
true |
The score calculated for the algorithm factor. |
- |
Basis
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique provider location ID that has a direct relation to the provider relationship score calculation. |
- |
kind |
string |
true |
The name of the concept with a direct relation to the provider relationship score calculation. |
- |
Error
Name |
Type |
Required |
Description |
Accepted Values |
code |
integer(int32) |
true |
The HTTP response status code that represents the error. |
- |
message |
string |
true |
A human-readable description of the error. |
- |
errorDetails |
[ErrorDetail] |
false |
A list of additional error details. |
- |
ErrorDetail
Name |
Type |
Required |
Description |
Accepted Values |
domain |
string |
false |
A subsystem or context where an error occurred. |
- |
reason |
string |
false |
A codified value that represents the specific error that caused the current error status. |
- |
message |
string |
false |
A human-readable description of an error. |
- |
locationType |
string |
false |
The location or type of the field that caused an error. |
query, header, path, formData, body |
location |
string |
false |
The name of the field that caused an error. |
- |
ProviderOrganizations
Name |
Type |
Required |
Description |
Accepted Values |
items |
[ProviderOrganization] |
true |
An array containing the current page of results. |
- |
totalResults |
integer(int32) |
false |
The total number of results for the specified parameters. |
- |
firstLink |
string |
true |
The first page of results. |
- |
lastLink |
string |
false |
The last page of results. |
- |
prevLink |
string |
false |
The previous page of results. |
- |
nextLink |
string |
false |
The next page of results. |
- |
ProviderOrganization
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID for the provider organization. |
- |
name |
string |
false |
The name of the provider organization. |
- |
telecoms |
[DemographicTelecom] |
false |
The contact details for the provider organization entity that apply to all roles. |
- |
aliases |
[Alias] |
false |
The aliases of the provider organization entity. |
- |
link |
Link |
false |
A reference to another organization entity who is identified as the same person described in this provider organization entity. See the Organization section on the Organization API v1 page for more information. |
- |
providerRelationships |
[OrganizationProviderRelationships] |
false |
The specific set of an organization’s relationships to locations, specialties, networks, and services that they may perform at an organization. |
- |
OrganizationProviderRelationships
Name |
Type |
Required |
Description |
Accepted Values |
locations |
[Location] |
false |
The name of a location where the provider organization entity offers care. |
- |
networks |
[Network] |
false |
The list of networks with which the provider organization entity has a contractual relationship to provide services. |
- |
specialties |
[Specialty] |
false |
The specialties of the provider organization entity. |
- |
providerRelationshipScore |
[ProviderRelationshipScore] |
false |
The custom score based on the algorithm’s factors calculated for each provider. A provider relationship score is calculated for each role and location of the provider. The highest provider relationship score calculated for each provider is used to identify the ranking of providers in the ordered search result based on the filter conditions applied in the search request. |
- |
acceptingPatients |
boolean |
false |
Indicates whether the provider organization entity is accepting patients. |
- |
postWorkflows
Name |
Type |
Required |
Description |
Accepted Values |
title |
string |
true |
The display representation of the provider search workflow. The maximum length is 100 characters. |
- |
description |
string |
false |
The description of the provider search workflow. The maximum length is 255 characters. |
- |
algorithms |
[object] |
false |
The list of algorithms configured for this provider search workflow. |
- |
» id |
string |
false |
The unique ID of the provider search algorithm. |
- |
» name |
string |
false |
The unique name of the provider search algorithm. |
- |
» ranking |
integer(int32) |
true |
The ranking of the search algorithm provides a relative priority across all other search algorithms that are being evaluated in the workflow. The ranking is used as an order preference in the search workflows. |
- |
createdBy |
object |
false |
No description |
- |
» id |
string |
true |
The ID of the individual who entered the record into the system. |
- |
Workflow
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider search workflow. |
- |
version |
integer(int32) |
true |
The version of the provider search workflow. |
- |
name |
string |
true |
The name of the provider search workflow. |
- |
title |
string |
true |
The display representation of the provider search workflow. |
- |
description |
string |
false |
The description of the provider search workflow. The maximum length is 255 characters. |
- |
algorithms |
[WorkflowAlgorithm] |
false |
The list of algorithms configured for this provider search workflow. |
- |
createdAt |
string |
true |
The date and time when the workflow was created in the system. In ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the workflow is created; therefore, the field does not need to be set explicitly. |
- |
updatedAt |
string |
true |
The date and time when the workflow was updated in the system. In ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the workflow is updated; therefore, the field does not need to be set explicitly. |
- |
createdBy |
Reference |
false |
The ID of the individual who entered the provider search workflow into the system. |
- |
updatedBy |
Reference |
false |
The ID of the individual who updated the provider search workflow. |
- |
WorkflowAlgorithm
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider search algorithm. |
- |
name |
string |
true |
The unique name of the provider search algorithm. |
- |
ranking |
integer(int32) |
true |
The ranking of the search algorithm provides a relative priority across all other search algorithms that are being evaluated in the workflow. The ranking is used as an order preference in the search workflows. |
- |
Reference
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The ID of the referenced entity. |
- |
Workflows
Name |
Type |
Required |
Description |
Accepted Values |
items |
[Workflow] |
true |
An array containing the current page of results. |
- |
totalResults |
integer(int32) |
false |
The total number of results for the specified parameters. |
- |
firstLink |
string |
true |
The first page of results. |
- |
lastLink |
string |
false |
The last page of results. |
- |
prevLink |
string |
false |
The previous page of results. |
- |
nextLink |
string |
false |
The next page of results. |
- |
putWorkflows
Name |
Type |
Required |
Description |
Accepted Values |
title |
string |
true |
The display representation of the provider search workflow. The maximum length is 100 characters. |
- |
description |
string |
false |
The description of the provider search workflow. The maximum length is 255 characters. |
- |
algorithms |
[object] |
false |
The list of algorithms configured for this provider search workflow. |
- |
» id |
string |
false |
The unique ID of the provider search algorithm. |
- |
» name |
string |
false |
The unique name of the provider search algorithm. |
- |
» ranking |
integer(int32) |
true |
The ranking of the search algorithm provides a relative priority across all other search algorithms that are being evaluated in the workflow. The ranking is used as an order preference in the search workflows. |
- |
updatedBy |
object |
false |
No description |
- |
» id |
string |
true |
The ID of the individual who updated the record. |
- |
WorkflowVersions
Name |
Type |
Required |
Description |
Accepted Values |
items |
[WorkflowVersion] |
true |
An array containing the current page of results. |
- |
totalResults |
integer(int32) |
false |
The total number of results for the specified parameters. |
- |
firstLink |
string |
true |
The first page of results. |
- |
lastLink |
string |
false |
The last page of results. |
- |
prevLink |
string |
false |
The previous page of results. |
- |
nextLink |
string |
false |
The next page of results. |
- |
WorkflowVersion
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider search workflow. |
- |
version |
integer(int32) |
true |
The version of the provider search workflow. |
- |
name |
string |
true |
The name of the provider search workflow. |
- |
title |
string |
true |
The display representation of the provider search workflow. |
- |
description |
string |
false |
The description of the provider search workflow. The maximum length is 255 characters. |
- |
algorithms |
[WorkflowAlgorithm] |
false |
The list of algorithms configured for this provider search workflow. |
- |
createdAt |
string |
true |
The date and time when the workflow was created in the system. In ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the workflow is created; therefore, the field does not need to be set explicitly. |
- |
updatedAt |
string |
true |
The date and time when the workflow was updated in the system. In ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the workflow is updated; therefore, the field does not need to be set explicitly. |
- |
createdBy |
Reference |
false |
The ID of the individual who entered the provider search workflow into the system. |
- |
updatedBy |
Reference |
false |
The ID of the individual who updated the provider search workflow. |
- |
postAlgorithms
Name |
Type |
Required |
Description |
Accepted Values |
title |
string |
true |
The human-readable name of the provider search algorithm. The uniqueness of the algorithm title is validated against existing algorithm titles. Each title must be unique within a tenant. If the tenant ID is null, the title uniqueness is checked against a null value. The maximum length is 100 characters. |
- |
description |
string |
false |
The description of the provider search algorithm. |
- |
status |
string |
true |
The status of the provider search algorithm. The following values are accepted: ACTIVE, INACTIVE. |
ACTIVE, INACTIVE |
index |
object |
false |
The user-defined set of rules that apply a set of conditions, tests, and functions to calculate the provider relationship score based on the search criteria. |
- |
» fields |
[object] |
false |
The attributes that participate in conditions and functions. |
- |
»» name |
string |
false |
The attribute name that is selected from the existing attributes. |
- |
»» dataType |
string |
false |
Acceptable values: boolean, datetime, number, string, identifier. |
- |
» conditions |
[object] |
false |
The list of conditions that can match the context for a provider search. If a condition is not required to be considered to qualify the algorithm, no conditions are set. Conditions are conditional expressions in the form of tests that evaluate to a true or false result. Each listed condition in the set is considered as an AND logical operation; therefore, all conditions must match to qualify the algorithm as a match for the requested search. |
- |
»» tests |
[object] |
false |
The conditional expressions that evaluate to true or false. The service considers each listed test in the set as an OR logical operation. |
- |
»»» field |
string |
false |
The attributes that participate in conditional expressions. |
- |
»»» operator |
string |
false |
The operators that participate in conditional expressions. The following values are accepted: EQ(‘=’), NEQ(‘!=’), LT(‘<’), LTE(‘<=’), GT(‘>’), GTE(‘>=’), BT(‘belongs to’), NBT(‘not belongs to’) |
- |
»»» value |
string |
false |
The value you enter in the provider personnel search is compared with this value, along with the operator that participates in the given conditional expression. |
- |
» functions |
[object] |
false |
The self-contained modules that calculate scores for individual factors. |
- |
»» factor |
object |
false |
The factors that contribute to the calculation of the provider relationship score. Either name or ID must be provided. |
- |
»»» id |
string |
false |
If both ID and name are provided, ID takes precedence over name. |
- |
»»» name |
string |
false |
The name of the factor that is selected from the existing list of factors. |
- |
»» tests |
[object] |
false |
The conditional expressions that are used to manage the points distribution for each case. If a condition is met, starting with the top condition, no more conditions are tested for the factor. As a result, the points of a condition are calculated against the factor weight. |
- |
»»» field |
string |
false |
The attributes that participate in conditional expressions. |
- |
»»» operator |
string |
false |
The operator that participates in conditional expressions. The following values are accepted: EQ(‘=’), NEQ(‘!=’), LT(‘<’), LTE(‘<=’), GT(‘>’), GTE(‘>=’), BT(‘belongs to’), NBT(‘not belongs to’) |
- |
»»» value |
string |
false |
The value you enter in the provider personnel search is compared with this value, along with the operator that participates in the given conditional expression. |
- |
»»» assign |
integer(int32) |
false |
The percentage of the total number of points that is calculated against the weight. For example, 100% of weight(40) returns 40 points. |
- |
»» weight |
integer(int32) |
false |
The weights of each factor add up to 100. |
- |
createdBy |
object |
false |
No description |
- |
» id |
string |
true |
The ID of the individual who entered the record into the system. |
- |
Algorithm
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider search algorithm. |
- |
version |
integer(int32) |
true |
The system-generated version of the algorithm. |
- |
name |
string |
true |
The unique name of the provider search algorithm. |
- |
title |
string |
true |
The human-readable name of the provider search algorithm. |
- |
description |
string |
false |
The description of the provider search algorithm. |
- |
status |
string |
true |
The status of the provider search algorithm. The following values are accepted: ACTIVE, INACTIVE. |
ACTIVE, INACTIVE |
index |
AlgorithmIndex |
false |
The user-defined set of rules that apply a set of conditions, tests, and functions to calculate the provider relationship score based on the search criteria. |
- |
createdAt |
string |
true |
The date and time when the record was created in the system, in ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the record is created; therefore, the field does not need to be set explicitly. |
- |
updatedAt |
string |
true |
The date and time when the record was updated in the system, in ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the record is updated; therefore, the field does not need to be set explicitly. |
- |
createdBy |
Reference |
false |
The ID of the individual who entered the record into the system. |
- |
updatedBy |
Reference |
false |
The ID of the individual who updated the record. |
- |
AlgorithmIndex
Name |
Type |
Required |
Description |
Accepted Values |
fields |
[AlgorithmIndexFields] |
false |
The attributes that participate in conditions and functions. |
- |
conditions |
[AlgorithmIndexConditions] |
false |
The list of conditions that can match the context for a provider search. If a condition is not required to be considered to qualify the algorithm, no conditions are set. Conditions are conditional expressions in the form of tests that evaluate to a true or false result. Each listed condition in the set is considered as an AND logical operation; therefore, all conditions must match to qualify the algorithm as a match for the requested search. |
- |
functions |
[AlgorithmIndexFunctions] |
false |
The self-contained modules that calculate scores for individual factors. |
- |
AlgorithmIndexFields
Name |
Type |
Required |
Description |
Accepted Values |
name |
string |
false |
The attribute name that is selected from the existing attributes. |
- |
dataType |
string |
false |
Acceptable values: boolean, datetime, number, string, identifier. |
- |
AlgorithmIndexConditions
Name |
Type |
Required |
Description |
Accepted Values |
tests |
[AlgorithmIndexConditionsTests] |
false |
The conditional expressions that evaluate to true or false. The service considers each listed test in the set as an OR logical operation. |
- |
AlgorithmIndexConditionsTests
Name |
Type |
Required |
Description |
Accepted Values |
field |
string |
false |
The attributes that participate in conditional expressions. |
- |
operator |
string |
false |
The operators that participate in conditional expressions. The following values are accepted: EQ(‘=’), NEQ(‘!=’), LT(‘<’), LTE(‘<=’), GT(‘>’), GTE(‘>=’), BT(‘belongs to’), NBT(‘not belongs to’) |
- |
value |
string |
false |
The value you enter in the provider personnel search is compared with this value, along with the operator that participates in the given conditional expression. |
- |
AlgorithmIndexFunctions
Name |
Type |
Required |
Description |
Accepted Values |
factor |
AlgorithmIndexFunctionsFactor |
false |
The factors that contribute to the calculation of the provider relationship score. Either name or ID must be provided. |
- |
tests |
[AlgorithmIndexFunctionsTests] |
false |
The conditional expressions that are used to manage the points distribution for each case. If a condition is met, starting with the top condition, no more conditions are tested for the factor. As a result, the points of a condition are calculated against the factor weight. |
- |
weight |
integer(int32) |
false |
The weights of each factor add up to 100. |
- |
AlgorithmIndexFunctionsFactor
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
false |
If both ID and name are provided, ID takes precedence over name. |
- |
name |
string |
false |
The name of the factor that is selected from the existing list of factors. |
- |
AlgorithmIndexFunctionsTests
Name |
Type |
Required |
Description |
Accepted Values |
field |
string |
false |
The attributes that participate in conditional expressions. |
- |
operator |
string |
false |
The operator that participates in conditional expressions. The following values are accepted: EQ(‘=’), NEQ(‘!=’), LT(‘<’), LTE(‘<=’), GT(‘>’), GTE(‘>=’), BT(‘belongs to’), NBT(‘not belongs to’) |
- |
value |
string |
false |
The value you enter in the provider personnel search is compared with this value, along with the operator that participates in the given conditional expression. |
- |
assign |
integer(int32) |
false |
The percentage of the total number of points that is calculated against the weight. For example, 100% of weight(40) returns 40 points. |
- |
Algorithms
Name |
Type |
Required |
Description |
Accepted Values |
items |
[Algorithm] |
true |
An array containing the current page of results. |
- |
totalResults |
integer(int32) |
false |
The total number of results for the specified parameters. |
- |
firstLink |
string |
true |
The first page of results. |
- |
lastLink |
string |
false |
The last page of results. |
- |
prevLink |
string |
false |
The previous page of results. |
- |
nextLink |
string |
false |
The next page of results. |
- |
putAlgorithms
Name |
Type |
Required |
Description |
Accepted Values |
title |
string |
true |
The human-readable name of the provider search algorithm. The uniqueness of the algorithm title is validated against existing algorithm titles. Each title must be unique within a tenant. If the tenant ID is null, the title uniqueness is checked against a null value. The maximum length is 100 characters. |
- |
description |
string |
false |
The description of the provider search algorithm. |
- |
status |
string |
true |
The status of the provider search algorithm. The following values are accepted: ACTIVE, INACTIVE. |
ACTIVE, INACTIVE |
index |
object |
false |
The user-defined set of rules that apply a set of conditions, tests, and functions to calculate the provider relationship score based on the search criteria. |
- |
» fields |
[object] |
false |
The attributes that participate in conditions and functions. |
- |
»» name |
string |
false |
The attribute name that is selected from the existing attributes. |
- |
»» dataType |
string |
false |
Acceptable values: boolean, datetime, number, string, identifier. |
- |
» conditions |
[object] |
false |
The list of conditions that can match the context for a provider search. If a condition is not required to be considered to qualify the algorithm, no conditions are set. Conditions are conditional expressions in the form of tests that evaluate to a true or false result. Each listed condition in the set is considered as an AND logical operation; therefore, all conditions must match to qualify the algorithm as a match for the requested search. |
- |
»» tests |
[object] |
false |
The conditional expressions that evaluate to true or false. The service considers each listed test in the set as an OR logical operation. |
- |
»»» field |
string |
false |
The attributes that participate in conditional expressions. |
- |
»»» operator |
string |
false |
The operators that participate in conditional expressions. The following values are accepted: EQ(‘=’), NEQ(‘!=’), LT(‘<’), LTE(‘<=’), GT(‘>’), GTE(‘>=’), BT(‘belongs to’), NBT(‘not belongs to’) |
- |
»»» value |
string |
false |
The value you enter in the provider personnel search is compared with this value, along with the operator that participates in the given conditional expression. |
- |
» functions |
[object] |
false |
The self-contained modules that calculate scores for individual factors. |
- |
»» factor |
object |
false |
The factors that contribute to the calculation of the provider relationship score. Either name or ID must be provided. |
- |
»»» id |
string |
false |
If both ID and name are provided, ID takes precedence over name. |
- |
»»» name |
string |
false |
The name of the factor that is selected from the existing list of factors. |
- |
»» tests |
[object] |
false |
The conditional expressions that are used to manage the points distribution for each case. If a condition is met, starting with the top condition, no more conditions are tested for the factor. As a result, the points of a condition are calculated against the factor weight. |
- |
»»» field |
string |
false |
The attributes that participate in conditional expressions. |
- |
»»» operator |
string |
false |
The operator that participates in conditional expressions. The following values are accepted: EQ(‘=’), NEQ(‘!=’), LT(‘<’), LTE(‘<=’), GT(‘>’), GTE(‘>=’), BT(‘belongs to’), NBT(‘not belongs to’) |
- |
»»» value |
string |
false |
The value you enter in the provider personnel search is compared with this value, along with the operator that participates in the given conditional expression. |
- |
»»» assign |
integer(int32) |
false |
The percentage of the total number of points that is calculated against the weight. For example, 100% of weight(40) returns 40 points. |
- |
»» weight |
integer(int32) |
false |
The weights of each factor add up to 100. |
- |
updatedBy |
object |
false |
No description |
- |
» id |
string |
true |
The ID of the individual who updated the record. |
- |
AlgorithmVersions
Name |
Type |
Required |
Description |
Accepted Values |
items |
[AlgorithmVersion] |
true |
An array containing the current page of results. |
- |
totalResults |
integer(int32) |
false |
The total number of results for the specified parameters. |
- |
firstLink |
string |
true |
The first page of results. |
- |
lastLink |
string |
false |
The last page of results. |
- |
prevLink |
string |
false |
The previous page of results. |
- |
nextLink |
string |
false |
The next page of results. |
- |
AlgorithmVersion
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider search algorithm. |
- |
version |
integer(int32) |
true |
The system-generated version of the algorithm. |
- |
name |
string |
true |
The unique name of the provider search algorithm. |
- |
title |
string |
true |
The human-readable name of the provider search algorithm. |
- |
description |
string |
false |
The description of the provider search algorithm. |
- |
status |
string |
true |
The status of the provider search algorithm. The following values are accepted: ACTIVE, INACTIVE. |
ACTIVE, INACTIVE |
index |
AlgorithmIndex |
false |
The user-defined set of rules that apply a set of conditions, tests, and functions to calculate the provider relationship score based on the search criteria. |
- |
createdAt |
string |
true |
The date and time when the record was created in the system, in ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the record is created; therefore, the field does not need to be set explicitly. |
- |
updatedAt |
string |
true |
The date and time when the record was updated in the system, in ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the record is updated; therefore, the field does not need to be set explicitly. |
- |
createdBy |
Reference |
false |
The ID of the individual who entered the record into the system. |
- |
updatedBy |
Reference |
false |
The ID of the individual who updated the record. |
- |
AlgorithmAttributes
Name |
Type |
Required |
Description |
Accepted Values |
items |
[AlgorithmAttribute] |
true |
An array containing the current page of results. |
- |
totalResults |
integer(int32) |
false |
The total number of results for the specified parameters. |
- |
firstLink |
string |
true |
The first page of results. |
- |
lastLink |
string |
false |
The last page of results. |
- |
prevLink |
string |
false |
The previous page of results. |
- |
nextLink |
string |
false |
The next page of results. |
- |
AlgorithmAttribute
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider search algorithm attribute. |
- |
name |
string |
true |
The name of the provider search algorithm attribute. |
- |
description |
string |
false |
The description of the provider search algorithm attribute. |
- |
type |
string |
false |
The attribute type that identifies how its value was derived. A REGULAR type attribute is a constant based on the value provided as input. An EXPRESSION attribute is a special type of attribute whose value is derived at runtime using the expression value. |
REGULAR, EXPRESSION |
properties |
Properties |
false |
The data type of the attribute. |
- |
createdAt |
string |
true |
The date and time when the algorithm attribute was created in the system, in ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the algorithm attribute is created. Therefore, the field does not need to be set explicitly. |
- |
createdBy |
Reference |
false |
The individual who created the algorithm attribute in the system. |
- |
updatedAt |
string |
true |
The date and time when the algorithm attribute was updated in the system, in ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the algorithm attribute is updated; therefore, the field does not need to be set explicitly. |
- |
updatedBy |
Reference |
false |
The individual who updated the algorithm attribute in the system. |
- |
Properties
Name |
Type |
Required |
Description |
Accepted Values |
dataType |
string |
true |
The data type of the attribute. |
string, number, datetime, boolean, identifier |
unit |
string |
false |
The data type number value in units. |
mi, miles, yd, yards, ft, feet, km, kilometers, m, meters, hrs, mins, days |
postAlgorithmFactors
Name |
Type |
Required |
Description |
Accepted Values |
title |
string |
true |
The name representation of the provider search algorithm factor. The maximum length is 100 characters. |
- |
description |
string |
false |
The description of the provider search algorithm factor. The maximum length is 255 characters. |
- |
createdBy |
object |
false |
No description |
- |
» id |
string |
true |
The ID of the individual who entered the record into the system. |
- |
AlgorithmFactor
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider search algorithm factor. |
- |
name |
string |
true |
The machine-readable attribute that is uniquely identified and created by the system based on the title field. |
- |
title |
string |
true |
The name representation of the provider search algorithm factor. The maximum length is 100 characters. |
- |
description |
string |
false |
The description of the provider search algorithm factor. The maximum length is 255 characters. |
- |
createdAt |
string |
true |
The date and time when the algorithm factor was created in the system. In ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the algorithm factor is created. Therefore, the field does not need to be set explicitly. |
- |
createdBy |
Reference |
false |
The ID of the individual who entered the algorithm factor into the system. |
- |
updatedAt |
string |
true |
The date and time when the algorithm factor was updated in the system. In ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the algorithm factor is updated; therefore, the field does not need to be set explicitly. |
- |
updatedBy |
Reference |
false |
The ID of the individual who updated the algorithm factor. |
- |
AlgorithmFactors
Name |
Type |
Required |
Description |
Accepted Values |
items |
[AlgorithmFactor] |
true |
An array containing the current page of results. |
- |
totalResults |
integer(int32) |
false |
The total number of results for the specified parameters. |
- |
firstLink |
string |
true |
The first page of results. |
- |
lastLink |
string |
false |
The last page of results. |
- |
prevLink |
string |
false |
The previous page of results. |
- |
nextLink |
string |
false |
The next page of results. |
- |
putAlgorithmFactors
Name |
Type |
Required |
Description |
Accepted Values |
title |
string |
true |
The name representation of the provider search algorithm factor. The maximum length is 100 characters. |
- |
description |
string |
false |
The description of the provider search algorithm factor. The maximum length is 255 characters. |
- |
updatedBy |
object |
false |
No description |
- |
» id |
string |
true |
The ID of the individual who updated the record. |
- |
postCustomAlgorithmAttributes
Name |
Type |
Required |
Description |
Accepted Values |
name |
string |
true |
The name representation of the provider search custom algorithm attribute. The maximum length is 50 characters. |
- |
description |
string |
false |
The description of the provider search custom algorithm attribute. The maximum length is 255 characters. |
- |
category |
string |
true |
The category of the provider search custom algorithm attribute. Valid values are VALUE, COST, and QUALITY. |
VALUE, COST, QUALITY |
properties |
object |
true |
No description |
- |
» dataType |
string |
true |
Datatype of the attribute. Valid values are STRING and NUMBER. The maximum length is 45 characters. |
STRING, NUMBER |
createdBy |
object |
false |
No description |
- |
» id |
string |
true |
The ID of the individual who entered the record into the system. |
- |
CustomAlgorithmAttribute
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The unique ID of the provider search custom algorithm attribute. |
- |
name |
string |
true |
The name representation of the provider search custom algorithm attribute. The maximum length is 50 characters. |
- |
description |
string |
false |
The description of the provider search custom algorithm attribute. The maximum length is 255 characters. |
- |
category |
string |
true |
The category of the provider search custom algorithm attribute. Valid values are VALUE, COST, and QUALITY. |
COST, VALUE, QUALITY |
properties |
CustomAttributeProperties |
false |
The data type of the provider search custom algorithm attribute. |
- |
createdAt |
string |
true |
The date and time when the provider search custom algorithm attribute was created in the system, in ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the algorithm attribute is created. Therefore, the field does not need to be set explicitly. |
- |
createdBy |
PersonnelReference |
false |
The ID of the personnel who created the custom algorithm attribute. |
- |
updatedAt |
string |
true |
The date and time when the provider search custom algorithm attribute was updated in the system, in ISO 8601 formatting with precision to YYYY-MM-DDThh:mm:ss.SSSZ, such as 2018-02-13T20:41:18.181Z. The time is set automatically when the algorithm attribute is updated; therefore, the field does not need to be set explicitly. |
- |
updatedBy |
PersonnelReference |
false |
The ID of the personnel who updated the custom algorithm attribute. |
- |
CustomAttributeProperties
Name |
Type |
Required |
Description |
Accepted Values |
dataType |
string |
true |
The data type of the provider search custom algorithm attribute. |
STRING, NUMBER |
PersonnelReference
Name |
Type |
Required |
Description |
Accepted Values |
id |
string |
true |
The ID of the personnel in the tenant. |
- |
CustomAlgorithmAttributes
Name |
Type |
Required |
Description |
Accepted Values |
items |
[CustomAlgorithmAttribute] |
true |
An array containing the current page of results. |
- |
totalResults |
integer(int32) |
false |
The total number of results for the specified parameters. |
- |
firstLink |
string |
true |
The first page of results. |
- |
lastLink |
string |
false |
The last page of results. |
- |
prevLink |
string |
false |
The previous page of results. |
- |
nextLink |
string |
false |
The next page of results. |
- |
putCustomAlgorithmAttributes
Name |
Type |
Required |
Description |
Accepted Values |
name |
string |
true |
The name representation of the provider search custom algorithm attribute. The maximum length is 50 characters. |
- |
description |
string |
false |
The description of the provider search custom algorithm attribute. The maximum length is 255 characters. |
- |
category |
string |
true |
The category of the provider search custom algorithm attribute. Valid values are VALUE, COST, and QUALITY. |
VALUE, COST, QUALITY |
properties |
object |
true |
No description |
- |
» dataType |
string |
true |
Datatype of the attribute. Valid values are STRING and NUMBER. The maximum length is 45 characters. |
STRING, NUMBER |
updatedBy |
object |
false |
No description |
- |
» id |
string |
true |
The ID of the individual who updated the record. |
- |