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

MethodPathDescription
GET/v1/pos/:codeSingle POS code lookup
POST/v1/pos/_batchBatch lookup (up to 100)
GET/v1/pos/listList all POS codes (~52 codes)
GET/v1/pos/shapesList 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

CodeNameDescription
11OfficePhysician or practitioner office
21Inpatient HospitalAcute care inpatient facility
22On Campus-Outpatient HospitalHospital outpatient department
23Emergency Room - HospitalEmergency department
31Skilled Nursing FacilitySNF for skilled care
81Independent LaboratoryFreestanding laboratory facility
02Telehealth Provided Other than in Patient's HomeTelehealth services
10Telehealth Provided in Patient's HomeHome 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:

ShapeDescription
compactCode, 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