NAV
Ruby Shell

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.

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

Status Meaning Description Schema
200 OK Success ProviderPersonnels
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

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

Status Meaning Description Schema
200 OK Success ProviderOrganizations
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

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.

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 Meaning Description Schema
201 Created Created Algorithm
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
409 Conflict Conflict Error

Response Headers

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

Status Meaning Description Schema
200 OK Success Algorithms
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
200 OK Update an Algorithm Algorithm
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error
409 Conflict Conflict Error

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

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error
409 Conflict Conflict Error

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

Status Meaning Description Schema
200 OK Retrieve a Single Algorithm Algorithm
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
200 OK Success AlgorithmAttributes
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
200 OK Retrieve a Single Algorithm Attribute AlgorithmAttribute
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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 Meaning Description Schema
201 Created Created AlgorithmFactor
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
409 Conflict Conflict Error

Response Headers

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

Status Meaning Description Schema
200 OK Success AlgorithmFactors
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
200 OK Update an Algorithm Factor AlgorithmFactor
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error
409 Conflict Conflict Error

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

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error
409 Conflict Conflict Error

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

Status Meaning Description Schema
200 OK Retrieve a Single Algorithm Factor AlgorithmFactor
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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.

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 Meaning Description Schema
201 Created Created Workflow
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
409 Conflict Conflict Error

Response Headers

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

Status Meaning Description Schema
200 OK Success Workflows
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error
409 Conflict Conflict Error

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

Status Meaning Description Schema
200 OK Update a Provider Search Workflow Workflow
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error
409 Conflict Conflict Error

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

Status Meaning Description Schema
200 OK Success Workflow
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
200 OK Success WorkflowVersions
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
200 OK Success WorkflowVersion
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
200 OK Success AlgorithmVersions
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
200 OK Success AlgorithmVersion
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Parameter In Type Required Default Description Accepted Values
body body postCustomAlgorithmAttributes true N/A No description -

Response Statuses

Status Meaning Description Schema
201 Created Created CustomAlgorithmAttribute
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden 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

Response Headers

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

Status Meaning Description Schema
200 OK Success CustomAlgorithmAttributes
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error

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

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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

Status Meaning Description Schema
200 OK Retrieve a Single Custom Algorithm Attribute CustomAlgorithmAttribute
400 Bad Request Bad Request Error
401 Unauthorized Unauthorized Error
403 Forbidden Forbidden Error
404 Not Found Not Found Error

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. -

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. -