---
title: Healthcare - Progressive Verification during Authentication - Change Password - Subflow
description: Learn about the Healthcare - Progressive Verification during Authentication - Change Password - Subflow flow, including its purpose, structure, inputs, outputs, and variables.
component: pingone-solutions
page_id: pingone-solutions:healthcare:flow-reference/healthcare-authentication-change-password-subflow
canonical_url: https://docs.pingidentity.com/pingone-solutions/healthcare/flow-reference/healthcare-authentication-change-password-subflow.html
revdate: January 1, 2025
section_ids:
  purpose: Purpose
  structure: Structure
  input-schema: Input schema
  output-schema: Output schema
  variables-and-parameters: Variables and parameters
---

# Healthcare - Progressive Verification during Authentication - Change Password - Subflow

The **Healthcare - Progressive Verification during Authentication - Change Password - Subflow** lets users change their passwords.

## Purpose

The **Healthcare - Progressive Verification during Authentication - Change Password - Subflow** displays a password reset form, letting users enter their current password and enter and verify a new password. If the new passwords match, the user's password is updated in PingOne.

## Structure

This flow is divided into sections using teleport nodes:

* **User Enter Password**

  Presents the user with an HTML template that that either displays a password reset form or displays a success message depending on the `showSuccessMessage` value. The flow then progresses to the **Update Password** section.

* **Update Password**

  Compares the new password and confirmed password, then validates the new password. If the new password meets the requirements, a PingOne node updates the user's password. The flow then either returns to the beginning of the **User Enter Password** section or progresses to the **Return Success** section, depending on the value of the `showSuccessMessage` input.

* **Return Success**

  Sends a JSON success message.

* **Return Error**

  Uses a function node to enrich the error details, then sends an error JSON response indicating that the flow completed unsuccessfully.

## Input schema

This flow has the following inputs:

| Input name           | Required | Description                                                                                   |
| -------------------- | -------- | --------------------------------------------------------------------------------------------- |
| `p1UserId`           | Yes      | The current user's PingOne user ID.                                                           |
| `companyLogo`        | No       | The company logo.Used only when the main flow was launched using a redirect.                  |
| `showSuccessMessage` | No       | Indicates whether a success message should be displayed after the user accepts the agreement. |

## Output schema

This flow has the following outputs:

| Output name     | Description                                   |
| --------------- | --------------------------------------------- |
| `subflowResult` | The result status of the flow.                |
| `errorMessage`  | The error message to pass to the parent flow. |
| `errorDetails`  | The details of the error that occurred.       |

## Variables and parameters

This flow uses the following variable or parameter values:

| Parameter name       | Description                                                                                   |
| -------------------- | --------------------------------------------------------------------------------------------- |
| `p1UserId`           | The current user's PingOne user ID.                                                           |
| `showSuccessMessage` | Indicates whether a success message should be displayed after the user accepts the agreement. |
