Building Forms

React-specific hooks for driving eligibility forms. For field types, see Eligibility Fields.

Payer autocomplete

usePayerAutocomplete wraps payer search with caching:

1function usePayerAutocomplete(
2 query: string,
3 opts?: { limit?: number }
4): { results: Payer[]; isLoading: boolean };

Pass the user’s search query as the first argument. limit defaults to 10.

Eligibility input

useEligibilityInputField manages field state within an eligibility session:

1const { value, setValue, isVisible, isRequired, isDisabled, isValid } =
2 useEligibilityInputField("firstName");

value and setValue are strongly typed based on the field name.

Example

See the Demo Project for a full autocomplete example.

1import {
2 usePayerAutocomplete,
3 useEligibilityInputField,
4} from "@usebridge/sdk-react";
5import { useState } from "react";
6
7export const PayerAutocompleteField = () => {
8 const [inputValue, setInputValue] = useState("");
9 const { results, isLoading } = usePayerAutocomplete(inputValue);
10 const { value, setValue, isDisabled } = useEligibilityInputField("payer");
11
12 return (
13 <Autocomplete
14 loading={isLoading}
15 disabled={isDisabled}
16 options={results}
17 inputValue={inputValue}
18 onInputChange={(v) => setInputValue(v)}
19 value={value}
20 onChange={(v) => setValue(v)}
21 />
22 );
23};
1export const MemberIdField = () => {
2 const { isVisible, isDisabled, isRequired, value, setValue } =
3 useEligibilityInputField("memberId");
4
5 if (!isVisible) return null;
6
7 return (
8 <TextField
9 disabled={isDisabled}
10 label={`Member ID ${isRequired ? "(Required)" : "(Optional)"}`}
11 value={value}
12 onChange={(e) => setValue(e.target.value)}
13 />
14 );
15};