# List encounters

Operation ID: `patient.listEncounters`

Return FHIR Encounters for the authenticated caller's patient, optionally filtered by `status` and an inclusive `date_start`/`date_end` range. Requires a Bearer JWT (any authenticated pool type).

## Public method

`listEncounters`

Signature: `patient.listEncounters(query)`

Return type: `Promise<ListEncountersResponse>`

## Authentication

Classification: **AUTHENTICATED**

Schemes: `bearerAuth`

## Prerequisites

None documented.

## HTTP

`GET /encounters`

## Path parameters

None.

## Query parameters

| Name | Type | Required | Format | Allowed values | Default | Nullable | Description |
|---|---|---:|---|---|---|---:|---|
| `date_end` | `string` | No |  |  |  | No |  |
| `date_start` | `string` | No |  |  |  | No |  |
| `status` | `string` | No |  | planned, in-progress, finished, cancelled |  | No |  |

## Body parameters

None.

Request model: None.

## Request example

None declared in canonical OpenAPI.

## Success responses

| Status | Shape | Content type | Description |
|---|---|---|---|
| `200` | [`patient.ListEncountersResponse`](../models/patient.ListEncountersResponse.md) | application/json | Encounters for the authorized patient |

## Success response examples

### 200

```json
{
  "encounters": [
    {
      "appointment_id": "string",
      "athena_appointment_id": "string",
      "athena_encounter_id": "string",
      "created_by": "self",
      "created_date": "2026-01-01T09:00:00Z",
      "diagnoses": [
        {
          "condition_display": "string",
          "condition_id": "string",
          "rank": 1,
          "use_code": "CC"
        }
      ],
      "encounter_class": "AMB",
      "encounter_id": "00000000-0000-0000-0000-000000000000",
      "fhir_id": "string",
      "hospitalization": {
        "admit_source_code": "string",
        "destination_id": "string",
        "discharge_disposition": "home",
        "origin_id": "string",
        "pre_admission_id": "string",
        "re_admission_code": "string"
      },
      "length_minutes": 0,
      "locations": [
        {
          "location_display": "string",
          "location_id": "string",
          "period_end": "2026-01-01T09:00:00Z",
          "period_start": "2026-01-01T09:00:00Z",
          "status": "active"
        }
      ],
      "notes": "string",
      "openloop_appointment_id": "string",
      "openloop_encounter_id": "string",
      "participants": [
        {
          "participant_type": "PPRF",
          "period_end": "2026-01-01T09:00:00Z",
          "period_start": "2026-01-01T09:00:00Z",
          "practitioner_display": "string",
          "practitioner_id": "string"
        }
      ],
      "patient_id": "string",
      "period_end": "2026-01-01T09:00:00Z",
      "period_start": "2026-01-01T09:00:00Z",
      "priority_code": "string",
      "priority_display": "string",
      "reason_code": "string",
      "reason_display": "string",
      "service_provider_display": "string",
      "service_provider_id": "string",
      "service_type_code": "string",
      "service_type_display": "string",
      "status": "planned",
      "steadymd_consult_guid": "string",
      "steadymd_episode_guid": "string",
      "type_code": "string",
      "type_display": "string"
    }
  ],
  "total": 0
}
```

## Common errors

| Status | Shape | Content type | Description |
|---|---|---|---|
| `400` | [`patient.ErrorResponse`](../models/patient.ErrorResponse.md) | application/json | Bad request — status, date_start, or date_end is invalid |
| `401` | [`patient.ErrorResponse`](../models/patient.ErrorResponse.md) | application/json | Authorization required — missing or invalid Bearer JWT |
| `404` | [`patient.ErrorResponse`](../models/patient.ErrorResponse.md) | application/json | No FHIR patient record could be resolved for the caller |

## Error examples

### 400 — The status filter is not a valid EncounterStatus

```json
{
  "error": "'not-a-real-status' is not a valid EncounterStatus"
}
```

### 401 — Missing or invalid access token

```json
{
  "error": "Authorization required"
}
```

### 404 — Patient not found

```json
{
  "error": "Patient not found"
}
```

## NodeJS / TypeScript implementation

```ts
import { HCSDK } from "@healthcloudai/hc-sdk";
```

```ts
const query = {
  "date_end": "2026-08-15T09:00:00Z",
  "date_start": "2026-08-15T09:00:00Z",
  "status": "planned"
};

const result = await patient.listEncounters(query);
```

## cURL

```bash
curl -X GET \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  'https://dev-api-patient.health.cloud/encounters?date_end=2026-08-15T09%3A00%3A00Z&date_start=2026-08-15T09%3A00%3A00Z&status=planned'
```

## Notes

None.

## Prepared Test Console scenario

No canonical scenario is currently associated.

## Real response

No approved real integration response is currently published. Unapproved candidates are never rendered as examples.
