Place of Service Codes API
Look up CMS Place of Service (POS) codes that identify where healthcare services were rendered.
Overview
Place of Service (POS) codes are two-digit codes maintained by CMS that indicate the setting where a healthcare service was provided. These codes are required on CMS-1500 professional claims (field 24B) and are used in reimbursement determination, utilization analysis, and compliance auditing. FHIRfly provides fast lookups against the current CMS POS code set, including a list endpoint that returns all active codes.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /v1/pos/:code |
Single POS code lookup |
| POST | /v1/pos/_batch |
Batch lookup (up to 100) |
| GET | /v1/pos/list |
List all POS codes (~52 codes) |
| GET | /v1/pos/shapes |
List available response shapes |
Single Lookup
Look up Place of Service 11 (Office)
const response = await fetch(
"https://api.fhirfly.io/v1/pos/11",
{
method: "GET",
headers: {
"x-api-key": "YOUR_API_KEY",
}
}
);
const data = await response.json();
console.log(data);{
"data": {
"code": "11",
"name": "Office",
"description": "Location, other than a hospital, skilled nursing facility (SNF), military treatment facility, community health center, State or local public health clinic, or intermediate care facility (ICF), where the health professional routinely provides health examinations, diagnosis, and treatment of illness or injury on an ambulatory basis.",
"effective_date": "2003-01-01"
},
"meta": {
"legal": {
"license": "public_domain",
"attribution_required": false,
"source_name": "CMS Place of Service Codes"
}
}
}Common POS Codes
| Code | Name | Description |
|---|---|---|
| 11 | Office | Physician or practitioner office |
| 21 | Inpatient Hospital | Acute care inpatient facility |
| 22 | On Campus-Outpatient Hospital | Hospital outpatient department |
| 23 | Emergency Room - Hospital | Emergency department |
| 31 | Skilled Nursing Facility | SNF for skilled care |
| 81 | Independent Laboratory | Freestanding laboratory facility |
| 02 | Telehealth Provided Other than in Patient's Home | Telehealth services |
| 10 | Telehealth Provided in Patient's Home | Home telehealth |
Batch Lookup
Look up multiple POS codes in a single request (up to 100):
Look up multiple POS codes
const response = await fetch(
"https://api.fhirfly.io/v1/pos/_batch",
{
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
"codes": [
"11",
"21",
"23"
]
})
}
);
const data = await response.json();
console.log(data);{
"count": 3,
"results": [
{
"input": "11",
"code": "11",
"status": "ok",
"data": {
"name": "Office",
"description": "Location, other than a hospital, skilled nursing facility (SNF), military treatment facility, community health center, State or local public health clinic, or intermediate care facility (ICF), where the health professional routinely provides health examinations, diagnosis, and treatment of illness or injury on an ambulatory basis."
}
},
{
"input": "21",
"code": "21",
"status": "ok",
"data": {
"name": "Inpatient Hospital",
"description": "A facility, other than psychiatric, which primarily provides diagnostic, therapeutic (both surgical and nonsurgical), and rehabilitation services by, or under, the supervision of physicians to patients admitted for a variety of medical conditions."
}
},
{
"input": "23",
"code": "23",
"status": "ok",
"data": {
"name": "Emergency Room - Hospital",
"description": "A portion of a hospital where emergency diagnosis and treatment of illness or injury is provided."
}
}
],
"meta": {
"legal": {
"license": "public_domain"
}
}
}List All Codes
The list endpoint returns all active POS codes (~52 codes). This is useful for populating dropdowns or validation lists:
GET /v1/pos/list
{
"data": [
{ "code": "01", "name": "Pharmacy" },
{ "code": "02", "name": "Telehealth Provided Other than in Patient's Home" },
{ "code": "03", "name": "School" },
{ "code": "04", "name": "Homeless Shelter" },
{ "code": "05", "name": "Indian Health Service Free-standing Facility" },
{ "code": "11", "name": "Office" },
{ "code": "21", "name": "Inpatient Hospital" },
{ "code": "22", "name": "On Campus-Outpatient Hospital" },
{ "code": "23", "name": "Emergency Room - Hospital" }
],
"total": 52,
"meta": {
"legal": {
"license": "public_domain",
"attribution_required": false,
"source_name": "CMS Place of Service Codes"
}
}
}
Response Shapes
Control the level of detail in responses with the shape query parameter:
| Shape | Description |
|---|---|
compact |
Code, name |
standard |
+ description, effective date (default) |
full |
+ ingest metadata, provenance |
# Minimal data
GET /v1/pos/11?shape=compact
# Standard data (default)
GET /v1/pos/11?shape=standard
# Full data with provenance
GET /v1/pos/11?shape=full
See Response Shapes for field details.
Required Scopes
pos.read- Single, batch, and list lookups
See Also
- HCPCS API — Look up HCPCS Level II procedure codes
- Claims Intelligence APIs — Overview of all lookup APIs