# OnboardPatientStepResult

Model ID: `OnboardPatientStepResult`

Result of the patient-registration step. Never 'skipped' — the patient
section is required, so this step always runs and is the only step whose
failure aborts the whole request (HTTP 400) rather than being reported
alongside a 'partial' overall_status.

Type: `object`

## Fields

| Field | Type | Required | Format | Allowed values | Default | Nullable | Description |
|---|---|---:|---|---|---|---:|---|
| `access_token` | `string|null` | No |  |  |  | Yes | Cognito access token for the newly registered patient. Present only when patient.flags.AUTO_VERIFY_EMAIL=true on the request produced an immediate auto-verified login; lets the caller use the patient's bearer directly for follow-up writes without a separate login. |
| `cognito_sub` | `string|null` | No |  |  |  | Yes | Cognito subject (user id) for the newly created patient account. Present only on success. |
| `email_otp_sent` | `boolean|null` | No |  |  |  | Yes | True if an email verification OTP was generated and handed to SendGrid for delivery. False when AUTO_VERIFY_EMAIL is set (no OTP is sent) or delivery could not be attempted. |
| `email_verified` | `boolean|null` | No |  |  |  | Yes | True only when the deployment auto-verifies email (AUTO_VERIFY_EMAIL=true); otherwise false until the patient verifies their email OTP separately. |
| `error` | `string|null` | No |  |  |  | Yes | Failure detail; present only when status is 'failed'. |
| `expires_in` | `integer|null` | No |  |  |  | Yes | access_token/id_token lifetime in seconds. Present under the same AUTO_VERIFY_EMAIL condition as access_token. |
| `fhir_patient_id` | `string|null` | No |  |  |  | Yes | FHIR Patient id created for the patient; used as patient_id by the encounter/vitals/questionnaire steps. Present only on success. |
| `id_token` | `string|null` | No |  |  |  | Yes | Cognito ID token for the newly registered patient. Present under the same AUTO_VERIFY_EMAIL condition as access_token. |
| `status` | `string` | Yes |  |  |  | No | 'success' or 'failed' |
| `telehealth_id` | `integer|null` | No |  |  |  | Yes | Telehealth service identifier issued for the patient, when the telehealth integration is enabled. Present only on success. |
| `temp_password_generated` | `boolean|null` | No |  |  |  | Yes | True when patient.password was omitted and a temporary password was generated server-side; the patient must reset it via the Patient API's reset-password flow. |

## Example

None declared in canonical OpenAPI.
