/
ISD endpoint

ISD endpoint

Query Remaps:

$area query is remapped to $area:like
$area:like query is slower than the $area query but queries can disregard split regions.
example: In an $area:like query 49505 will return 49505 And 49505-Kent


Specific $table.field query is remapped to $and query:
Only $table.field in the exact format below are remapped

query format remapped:
{"$table.field":[{"mi_bridges_id_matches.site_id__c": [...]},{"mi_bridges_id_matches.agency_id__c": [...]}]}

remapped to: {$and:[{location_id: [...]},{organization_id: [...]}]}


ID Remaps:

$in remapping
Query of exact type to be remapped:
{"id" : {"$in" : ["number1", "number2", ...]}}

Remapping works as follows:
First endpoint will search the mi_bridges_id_matches table to find any external_id__c (aka ServiceSite_Id) ids that match a provided number.

If a match is found then the id will be remapped to the OR id that corresponds with the external_id__c found. This allows the client to use historical ids and relate them to OR ids.

Also when a mapping is found the API will return the mi_bridges (visionlink ) data for reference.

As an example if client queries {"id":{"$in":[5]}}
This will be remapped to {"id":{"$in":[4]}} and below object will return in the api:
Api response:

[ { "id": 4, "organization_id": 971, "location_id": 972, ... "visionlink_services": [ { "or_service_id": "4", "or_location_id": "972", "or_organization_id": "971", "ServiceSite_Id": "5", "Service_Id": "9491", "Site_Id": "3219", "Agency_Id": "3789", "Name": "north berrien senior center", "agency_name__c": "" } ] } ]



$and remapping

Query to be remapped:
NOTE: Client can have one, all or any combination of the id types: organization_id, location_id, id
NOTE: order of id names does not matter
NOTE: order numbers within arrays does not matter
NOTE: ids will be remapped if distance_info is included or not
{"$and": [{"organization_id": ["number", "number", ...]}, {"location_id": ["number", "number", ...]}, {"id":["number", "number", ...]}]}

$and query also allows for distance_info
{"$and": [{"distance_info": {"type":"value","name":"value"}},{"organization_id": ["number", "number", ...]}, {"location_id": ["number", "number", ...]}, {"id":["number", "number", ...]}]}

Remapping works as follows:
Endpoint will search the mi_bridges_id_matches table to find visionlink resources that match each type of the ids provided. Either all of the ids in a resource hierarchy are remapped or none of the ids in the resource hierarchy are remapped.

example - remapping found:
query: {"$and": [{"organization_id": [3789]}, {"location_id":[3219]},{"id":[5]}]}
There is a visionlink resource with Agency_Id = 3789 Site_Id = 3219 and ServiceSite_Id = 5
A complete resource hierarchy was found therefor all ids will be remapped to:
{"$and": [{"organization_id": [971]}, {"location_id":[972]},{"id":[4]}]}

example - one remapping found:
query: {"$and": [{"organization_id": [111, 3789 ]}, {"location_id":[3219, 222]},{"id":[333, 5]}]}
There is a visionlink resource with Agency_Id = 3789 Site_Id = 3219 and ServiceSite_Id = 5
There is no a visionlink resource with any other combination of Agency, Site and Service ids.
A complete resource hierarchy was found and will be remapped. The remaining ids will be unchanged.
Actual query the api executes is below.
{"$and": [{"organization_id": [971, 111]}, {"location_id":[972, 222]},{"id":[4,333]}]}

example - remapping NOT found:
query: {"$and": [{"organization_id": [3789]}, {"location_id":[3219]},{"id":[2]}]}
There is no visionlink with Agency_Id = 3789 Site_Id = 3219 and ServiceSite_Id = 3
Therefor no ids will be remapped. This allows new resources to return that are not referenced in visionlink data.

 

Field remaps and additions:
Under the phones joined table the number field is remapped to phone_number
Under the locations joined table the email field is added
Under the physical_address joined table the confidential field is added







Related content

CIE Social Services Directory API Documentation
CIE Social Services Directory API Documentation
Read with this
\organizations
More like this
Postman Collection
Postman Collection
Read with this
\services
More like this
Use Case - Query a list of ServiceRequests assigned to a Partner
Use Case - Query a list of ServiceRequests assigned to a Partner
More like this
Query Guide
More like this