Dashboard

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)

Request
Node.js
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);
Response
JSON
{
  "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

Request
Node.js
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);
Response
JSON
{
  "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