> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# FHIR mapping

> How Scan objects correspond to FHIR R4 4.0.1 — this is not a FHIR server

FHIR R4 defines more than a hundred resource types. Scan maps a **named subset**
to **FHIR R4 4.0.1** (the US Core / CMS target). This page defines the current
crosswalk so a health-plan or EHR architect can estimate adapter work; resources
not listed here are not supported.

Scan is **not** a FHIR server. Do not put "FHIR-compatible" on a procurement
checklist from this page alone.

`visits[].status` remains the operational source of truth. FHIR statuses below
are a **lossy** collapse onto required value sets.

## Resource crosswalk

| Scan.com                                         | FHIR R4                                          | Notes                                                                                                                                                           |
| ------------------------------------------------ | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `patient`                                        | Patient                                          | Structured name, ISO date, and identifier are on the native read; gender is administrative sex                                                                  |
| Referral (`id`, `reference`)                     | ServiceRequest                                   | `intent: order`, imaging category; `reference` is a business identifier                                                                                         |
| `visits[]`                                       | Appointment                                      | Scheduling representation; an Encounter after attendance is optional and is not currently exposed by these endpoints                                            |
| `visits[].procedures[]`                          | ServiceRequest.code / ImagingStudy.procedureCode | CPT, with `system` `http://www.ama-assn.org/go/cpt`                                                                                                             |
| DICOM / `image_link`                             | ImagingStudy                                     | Needs Study UID (exposed when known). Series UID is required at 1..1 for a conformant series; if Scan does not have it, do not treat the resource as conformant |
| Report PDF / `report_link`                       | DiagnosticReport + DocumentReference             | `presentedForm` / attachment. `report_uploaded` is **preliminary**; `qc_report_ready` is **final**                                                              |
| `icd10_codes[]`                                  | ServiceRequest.reasonCode or Condition           | `system` `http://hl7.org/fhir/sid/icd-10-cm`                                                                                                                    |
| `provider` (name, npi)                           | Practitioner + PractitionerRole                  | NPI system `http://hl7.org/fhir/sid/us-npi`                                                                                                                     |
| `visits[].location`                              | Location                                         | `npi` is included when the center has one; many centers will not                                                                                                |
| `practice`, `law_firm`, `radiologist_group_name` | Organization                                     | Name + internal UUID; no TIN guaranteed                                                                                                                         |
| `payor`, `insurance_number`, `wc_number`         | Coverage                                         | Workers' compensation and health plan lines only                                                                                                                |
| Medical safety questionnaire                     | QuestionnaireResponse                            | Optional mapping when structured questionnaire answers are available; otherwise omitted                                                                         |

## Appointment.status

| `visits[].status`                                                      | Appointment.status                                                                  |
| ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| `pending`, `pending_auth`, `co_signed`, `intake_sent`, `ready_to_book` | `pending`                                                                           |
| `contacted_for_booking`                                                | `pending` or `proposed`                                                             |
| `booked`                                                               | `booked`                                                                            |
| `complete`                                                             | `fulfilled`                                                                         |
| `exam_not_completed`                                                   | `noshow`                                                                            |
| `canceled`                                                             | `cancelled`                                                                         |
| `sent_to_rad`, `report_uploaded`, `qc_report_ready`                    | No Appointment equivalent; use the native visit status and DiagnosticReport mapping |
| `sent_to_rp`, `invoice_ready`                                          | No FHIR equivalent; use the native visit status                                     |

## DiagnosticReport.status

| `visits[].status` | DiagnosticReport.status |
| ----------------- | ----------------------- |
| `sent_to_rad`     | `registered`            |
| `report_uploaded` | `preliminary`           |
| `qc_report_ready` | `final`                 |

Do not treat `report_uploaded` as clinically final. Un-QC'd radiology must not
surface to a clinician. Reports can still be outstanding on multi-procedure
referrals.

## Read endpoints

When `fhir_read` is enabled for the account:

* `GET /api/v2/fhir/diagnostic_reports/{order_id}`
* `GET /api/v2/fhir/imaging_studies/{order_id}`

Lookup is order id or `?accession=`. There is no FHIR search grammar.

## Not supported

No `/metadata` CapabilityStatement, no FHIR search, no `$everything`, no
Subscriptions, no SMART on FHIR or OAuth scopes, no bulk export, no `POST Bundle`,
no FHIR writes. Outbound events are Scan-native webhooks, not FHIR Subscriptions.

`gender` on Patient is **administrative sex** (`male` / `female` / `other`), not
USCDI v3 gender identity.

Body part and laterality are display strings, not SNOMED codes. They are useful
for display, but software cannot safely treat them as standardized clinical
codes without a partner-maintained mapping or human review.
