This API provides organizations and vendors direct access to 211HSIS Terms.
This documentation aims to provide all the information you need to work with our API.
To authenticate requests, include an Authorization
header with the value "Bearer {API_KEY}"
.
All authenticated endpoints are marked with a requires authentication
badge in the documentation below.
You can retrieve your token via Taxonomy > APIs > API Keys.
Endpoints for Taxonomy terms
Top level taxonomies are returned by default, if no parameters supplied.
Search terms by a keyword.
Search terms by code.
Pass a term code to get its immediate children.
Return terms included by the given filter ID.
Return terms that are excluded by the given filter ID.
curl --request GET \
--get "https://211hsis.org/api/v1/terms?search=health&code=PL-8000.1800-150&parent=PL-8000.1800&filter=1339&exclude_filter=1339" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"meta": {
"count": {
"total": 1,
"current": 1,
"perPage": 100
},
"page": {
"total": 1,
"current": 1,
"prev": null,
"next": null
}
},
"data": [
{
"code": "B",
"name": "Basic Needs",
"parents": [],
"level": 1,
"definition": "Programs that furnish survival level resources including food, housing, material goods, transportation and utilities for individuals with low or fixed incomes, people who are homeless, older adults and/or people with disabilities who are otherwise unable to adequately provide for themselves and their families. Also included are related services that are available to the community at large.",
"created_at": "2023-12-27T14:46:38.304876Z",
"updated_at": "2023-12-27T14:46:38.304901Z",
"facet": "Service",
"has_children": true
}
]
}
The code is case sensitive.
If you query a term that has been deleted, you will get a 301 redirect to the new term code. We recommend you enable follow redirects in your HTTP client to handle this automatically.
The code of the taxonomy term.
Return terms included by the given filter ID.
curl --request GET \
--get "https://211hsis.org/api/v1/terms/PL-8000.1800-150?filter=1339" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"code": "B",
"name": "Basic Needs",
"definition": "Programs that furnish survival level resources including food, housing, material goods, transportation and utilities for individuals with low or fixed incomes, people who are homeless, older adults and/or people with disabilities who are otherwise unable to adequately provide for themselves and their families. Also included are related services that are available to the community at large.",
"facet": "Service",
"locale": "en_US",
"effective_locale": "master",
"created_at": "1992-03-10T00:00:00.000000Z",
"updated_at": "2010-03-11T15:11:27.751795Z",
"comments": null,
"use_references": [
"Basic Subsistence"
],
"see_also_references": [],
"external_terms": [],
"concepts": [],
"bibliographic_references": null,
"parents": [],
"change_comment": null,
"old_codes": []
}
Endpoints for Related Concepts
Returns all related concepts by default, if no parameters supplied.
Important! When searching related concepts by keyword, pagination is not supported. When searching, you will receive all of the matches as a flat array.
Search related concepts by a keyword.
curl --request GET \
--get "https://211hsis.org/api/v1/concepts?search=health" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"meta": {
"count": {
"total": 47,
"current": 47,
"perPage": 100
},
"page": {
"total": 1,
"current": 1,
"prev": null,
"next": null
}
},
"data": [
{
"code": "AD-900",
"name": "Advocacy\/Rights Protection"
},
{
"code": "AF-850",
"name": "After School Programs"
},
// 45 more...
]
}
Given the code of a related concept, this endpoint will return the terms under that.
The code of the related concept.
curl --request GET \
--get "https://211hsis.org/api/v1/concepts/AD-900" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"code": "AD-900",
"name": "Advocacy\/Rights Protection",
"terms": [
{
"code": "DF-8000.0200",
"name": "Accessibility Related Standards\/Legislation Compliance"
},
{
"code": "FP-0500.0100",
"name": "Administrative Advocacy"
},
// .. others
]
}
Important! When searching external systems keyword, pagination is not supported. When searching, you will receive all of the matches as a flat array.
Search external systems by a keyword.
curl --request GET \
--get "https://211hsis.org/api/v1/external-systems?search=iste" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"meta": {
"count": {
"total": 6,
"current": 6,
"perPage": 100
},
"page": {
"total": 1,
"current": 1,
"prev": null,
"next": null
}
},
"data": [
{
"code": "CAN",
"name": "Canadian Problems/Needs List"
},
{
"code": "ACH",
"name": "Health Related Social Needs (CMS)"
},
{
"code": "NTE",
"name": "National Taxonomy of Exempt Entities"
},
{
"code": "NPC",
"name": "Nonprofit Program Classification System"
},
{
"code": "USA",
"name": "U.S. Problems/Needs List"
},
{
"code": "UW",
"name": "UWASIS"
}
]
}
The code of the external system.
curl --request GET \
--get "https://211hsis.org/api/v1/external-systems/ACH" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"code": "ACH",
"name": "Health Related Social Needs (CMS)",
"concepts": [
{
"code": "A",
"name": "Living Situation"
},
{
"code": "B",
"name": "Food"
},
{
"code": "C",
"name": "Transportation"
},
{
"code": "D",
"name": "Utilities"
}
]
}
System code.
Concept code.
curl --request GET \
--get "https://211hsis.org/api/v1/external-systems/ACH/concepts/A-01" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"code": "A-01",
"name": "Living Situation",
"system": {
"code": "ACH",
"name": "Health Related Social Needs (CMS)"
},
"parent": {
"code": "A",
"name": "Living Situation"
},
"children": [],
"terms": [
{
"code": "BH-0500",
"name": "At Risk/Homeless Housing Related Assistance Programs",
"parents": [
{
"name": "Basic Needs",
"code": "B"
},
{
"name": "Housing/Shelter",
"code": "BH"
}
],
"level": 3,
"definition": "Programs authorized under federal or state legislation or local government initiatives that provide financial assistance and supportive services for individuals and/or families who are homeless or at risk for homelessness. Included are prevention programs that help people at imminent risk for homelessness preserve current housing or secure alternative housing; diversion programs that help people actively seeking shelter to identify and access viable alternatives including shared housing arrangements and transitional housing/shelter; and rapid re-housing programs that help people who are already homeless move as quickly as possible into permanent housing. Services may include case management, rental deposits, rent assistance, utility deposits, housing search assistance, moving expenses, expenses related to non-shelter temporary housing in situations where permanent housing has been secured but is currently unavailable, and other costs the family may incur in the process of acquiring or maintaining housing. Allowable activities, eligibility criteria and other requirements vary depending on the jurisdiction, the funding source and the focus of the program.",
"created_at": "2023-12-27T15:14:51.239579Z",
"updated_at": "2023-12-27T15:14:51.239599Z",
"facet": "Service",
"has_children": true
}
]
}
Search external terms by a keyword.
Search external terms by system code.
It lists only first level external terms.
It lists external terms except first level.
curl --request GET \
--get "https://211hsis.org/api/v1/external-terms?search=health&system_code=ACH&first_level=1&exclude_first_level=1" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
cache-control
: no-cache, private
content-type
: application/json
content-language
: en
{
"meta": {
"count": {
"total": 0,
"current": 0,
"perPage": 100
},
"page": {
"total": 1,
"current": 1,
"prev": null,
"next": null
}
},
"data": []
}
As the taxonomy evolves, new terms are added, existing terms are modified, and some terms are removed. This endpoint allows you to get a chronological list of changes that have been made to the taxonomy.
Filter changes by term code
List changes starting from date (unix timestamp)
List changes up to this date (unix timestamp)
Comma-seperated of change types to include.
curl --request GET \
--get "https://211hsis.org/api/v1/recent-changes?code=PL-8000.1800-150&from=1588291200&to=1588291200&type=NEW%2CCODE+CHANGE%2CCHANGE%2CDELETION" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"meta": {
"count": {
"total": 13206,
"current": 100,
"perPage": 100
},
"page": {
"total": 133,
"current": 1,
"prev": null,
"next": "https://taxonomy.test/api/v1/recent-changes?page=2"
}
},
"data": [
{
"id": 17603,
"code": "RX-8470.1900-180.25",
"new_code": "RX-8470.1900-180.25",
"locale": "en_US",
"name": "General Drug Related Harm Reduction Supplies",
"description": "Programs that distribute an assortment of supplies that help prevent the transmission of HIV/AIDS, hepatitis B and C, and other blood-borne infectious diseases by providing new, sterile and single use equipment and biohazard containers for safe disposal, in order to reduce the spread of these diseases. Supplies provided may vary per program, and can include safe injection supplies (needles with syringes, needle tips, syringes, sterile water vials, cookers, acidifiers, alcohol swabs, tourniquets), safe inhalation supplies (pipes, stems, screens, mouth pieces, push sticks, foils), drug testing, and antidotes to reverse an overdose from opioids. Also included are supplies for safe hormone injection for trans, gender diverse and two-spirited individuals who face unique barriers and inequitable access to gender-affirming health care services. The distribution of supplies is part of a comprehensive public health disease prevention strategy with the goal to reduce re-using and sharing drug use equipment. See Also Fentanyl Test Strip Distribution (RX-8470.1900-180.20)\nInhalation Supplies (RX-8470.1900-180.33)\nNeedle Exchange and Injection Supplies (RX-8470.1900-180.60)\nOpioid Antidote Distribution (RX-8470.1900-180.65). = Harm Reduction Distribution Programs",
"type": "NEW",
"date": "2023-07-19T19:39:56.848086Z"
},
{
"id": 17607,
"code": "RX-8470.1900-610",
"new_code": "RX-8470.1900-180.60",
"locale": "en_US",
"name": "Needle Exchange/Distribution Programs",
"description": "Code change to RX-8470.1900-180.60. Term name change to Needle Exchange and Injection Supplies. See Also General Drug Related Harm Reduction Supplies (RX-8470.1900-180.25). = Bleach Kits = Harm Reduction Supplies for Hormone Injection = Hormone Injection Toolkits = Hypodermic Needle Supplies and Exchange = Needle Exchange and Injection Distribution = Needle Exchange/Distribution Programs = NEP =\nSafe Drug Injection Supplies = Safer Hormone Injection Supplies =\nSafe Sharps Exchange/Distribution Programs = Syringe Services Programs = SSP = Injection Equipment Distribution",
"type": "CODE CHANGE",
"date": "2023-07-19T17:28:09.957343Z"
}
]
}
Filters allow you to refine taxonomy by excluding terms that are not relevant to your organization. Once you create a filter, you can use it to filter taxonomy terms in the /terms endpoint.
This endpoint will return all filters that are visible to you. This will include:
curl --request GET \
--get "https://211hsis.org/api/v1/filters" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"meta": {
"count": {
"total": 1,
"current": 1,
"perPage": 10
},
"page": {
"total": 1,
"current": 1,
"prev": null,
"next": null
}
},
"data": [
{
"id": 1,
"name": "My Example Filter",
"description": null,
"contact_name": null,
"contact_phone": null,
"owner_id": 1,
"type": "private",
"excluded_terms": [
{
"code": "B",
"children_only": false
}
],
"updated_at": "2023-12-26T16:28:02.000000Z",
"approved_at": null,
"is_pending_approval": false,
"owner": {
"id": 1,
"firstname": "John",
"lastname": "Doe",
"organization": "211 HSIS"
}
}
]
}
curl --request POST \
"https://211hsis.org/api/v1/filters" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"My Filter\",
\"description\": \"This is a filter I created to exclude terms that are not relevant to my organization.\",
\"contact_name\": \"John Doe\",
\"contact_phone\": \"123-456-7890\",
\"type\": \"private\"
}"
{
"id": 5,
"name": "My Filter",
"description": "This is a filter I created to exclude terms that are not relevant to my organization.",
"contact_name": "John Doe",
"contact_phone": "123-456-7890",
"owner_id": 1,
"type": "private",
"excluded_terms": [],
"updated_at": "2023-12-27T15:26:42.000000Z",
"approved_at": null,
"is_pending_approval": false,
"owner": {
"id": 1,
"firstname": "John",
"lastname": "Doe",
"organization": "211 HSIS"
}
}
Retrieve the details of a filter.
Filter ID
curl --request GET \
--get "https://211hsis.org/api/v1/filters/quaerat" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{
"id": 5,
"name": "My Filter",
"description": "This is a filter I created to exclude terms that are not relevant to my organization.",
"contact_name": "John Doe",
"contact_phone": "123-456-7890",
"owner_id": 1,
"type": "private",
"excluded_terms": [],
"updated_at": "2023-12-27T15:26:42.000000Z",
"approved_at": null,
"is_pending_approval": false,
"owner": {
"id": 1,
"firstname": "John",
"lastname": "Doe",
"organization": "211 HSIS"
}
}
The ID of the filter.
Filter ID
curl --request PATCH \
"https://211hsis.org/api/v1/filters/3/exclude" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"terms\": [
{
\"code\": \"BD\",
\"children_only\": false
}
]
}"
{
"id": 5,
"name": "My Filter",
"description": "This is a filter I created to exclude terms that are not relevant to my organization.",
"contact_name": "John Doe",
"contact_phone": "123-456-7890",
"owner_id": 1,
"type": "private",
"excluded_terms": [],
"updated_at": "2023-12-27T15:26:42.000000Z",
"approved_at": null,
"is_pending_approval": false,
"owner": {
"id": 1,
"firstname": "John",
"lastname": "Doe",
"organization": "211 HSIS"
}
}
The ID of the filter.
Filter ID
curl --request PATCH \
"https://211hsis.org/api/v1/filters/3/remove-exclusion" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"terms\": [
{
\"code\": \"BD\",
\"children_only\": false
}
]
}"
{
"id": 5,
"name": "My Filter",
"description": "This is a filter I created to exclude terms that are not relevant to my organization.",
"contact_name": "John Doe",
"contact_phone": "123-456-7890",
"owner_id": 1,
"type": "private",
"excluded_terms": [],
"updated_at": "2023-12-27T15:26:42.000000Z",
"approved_at": null,
"is_pending_approval": false,
"owner": {
"id": 1,
"firstname": "John",
"lastname": "Doe",
"organization": "211 HSIS"
}
}
The ID of the filter.
Filter ID
curl --request PATCH \
"https://211hsis.org/api/v1/filters/3" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"My Filter\",
\"description\": \"This is a filter I created to exclude terms that are not relevant to my organization.\",
\"contact_name\": \"John Doe\",
\"contact_phone\": \"123-456-7890\",
\"type\": \"private\"
}"
{
"id": 5,
"name": "My Filter",
"description": "This is a filter I created to exclude terms that are not relevant to my organization.",
"contact_name": "John Doe",
"contact_phone": "123-456-7890",
"owner_id": 1,
"type": "private",
"excluded_terms": [],
"updated_at": "2023-12-27T15:26:42.000000Z",
"approved_at": null,
"is_pending_approval": false,
"owner": {
"id": 1,
"firstname": "John",
"lastname": "Doe",
"organization": "211 HSIS"
}
}
The ID of the filter.
Filter ID
curl --request DELETE \
"https://211hsis.org/api/v1/filters/3" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
{}
Create a 1-1 copy of another filter. The new filter will be private and owned by you.
Filter ID
curl --request POST \
"https://211hsis.org/api/v1/filters/1/clone" \
--header "Authorization: Bearer {token}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Copied Filter\"
}"
{
"id": 5,
"name": "My Filter",
"description": "This is a filter I created to exclude terms that are not relevant to my organization.",
"contact_name": "John Doe",
"contact_phone": "123-456-7890",
"owner_id": 1,
"type": "private",
"excluded_terms": [],
"updated_at": "2023-12-27T15:26:42.000000Z",
"approved_at": null,
"is_pending_approval": false,
"owner": {
"id": 1,
"firstname": "John",
"lastname": "Doe",
"organization": "211 HSIS"
}
}