# Convenience: Discover → Query → Retrieve for a single patient

Operation ID: `connectors.carequalityImportPatientDocuments`

Convenience: Discover → Query → Retrieve for a single patient. Chains the three ITI operations and aggregates all retrieved CCDA documents across every patient match found. Returns an empty list when no matches are found. Parse failures inside individual operations return [] for that operation and do not propagate.

## Public method

`importPatientDocuments`

Signature: `connectors.carequality.createClient(config).importPatientDocuments(body)`

Return type: `Promise<CarequalityImportPatientDocumentsResult>`

## Authentication

Classification: **AUTHENTICATED**

Schemes: `bearerAuth`

## Prerequisites

None documented.

## HTTP

`POST /connectors/carequality/import-patient-documents`

## Path parameters

None.

## Query parameters

None.

## Body parameters

| Name | Type | Required | Format | Allowed values | Default | Nullable | Description |
|---|---|---:|---|---|---|---:|---|
| `body` | [`CarequalityImportPatientDocumentsRequest`](../models/CarequalityImportPatientDocumentsRequest.md) | Yes |  |  |  | No |  |

Request model: [`CarequalityImportPatientDocumentsRequest`](../models/CarequalityImportPatientDocumentsRequest.md)

## Request example

```json
{
  "api_key": "example-api-key",
  "first_name": "Ada",
  "initiator_url": "https://example.com/resource",
  "member_id": "12345",
  "mode": "sandbox"
}
```

## Success responses

| Status | Shape | Content type | Description |
|---|---|---|---|
| `200` | [`CarequalityImportPatientDocumentsResponse`](../models/CarequalityImportPatientDocumentsResponse.md) | application/json | Successful response |

## Success response examples

### 200

```json
[
  {
    "vendorField": "vendor-defined value"
  }
]
```

## Common errors

| Status | Shape | Content type | Description |
|---|---|---|---|
| `400` | [`StandardErrorResponse`](../models/StandardErrorResponse.md) | application/json | Connector validation rejected the payload, or a required field was missing or of the wrong type. |
| `401` | [`StandardErrorResponse`](../models/StandardErrorResponse.md) | application/json | The HealthCloud bearer token is missing or invalid, or the vendor rejected the supplied connector credentials. |
| `500` | [`StandardErrorResponse`](../models/StandardErrorResponse.md) | application/json | The connector failed unexpectedly. |
| `502` | [`StandardErrorResponse`](../models/StandardErrorResponse.md) | application/json | The vendor returned an application or transport-level failure. |
| `504` | [`StandardErrorResponse`](../models/StandardErrorResponse.md) | application/json | The vendor did not respond within the connector timeout. |

## Error examples

### 400 — Invalid request

```json
{
  "error": "Invalid request"
}
```

### 401 — Authorization required

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

### 500 — Internal error

```json
{
  "error": "Internal error"
}
```

### 502 — Upstream vendor error

```json
{
  "error": "Upstream vendor error"
}
```

### 504 — Upstream timeout

```json
{
  "error": "Upstream timeout"
}
```

## NodeJS / TypeScript implementation

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

```ts
const body = {
  "api_key": "example-api-key",
  "first_name": "Ada",
  "initiator_url": "https://example.com/resource",
  "member_id": "12345",
  "mode": "sandbox"
};

const result = await connectors.carequality.createClient(config).importPatientDocuments(body);
```

## cURL

```bash
curl -X POST \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"api_key":"example-api-key","first_name":"Ada","initiator_url":"https://example.com/resource","member_id":"12345","mode":"sandbox"}' \
  'https://dev-api-connectors.health.cloud/connectors/carequality/import-patient-documents'
```

## 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.
