> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.usebridge.com/documentation/getting-started/eligibility-sdk/typescript/hard-check/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.usebridge.com/_mcp/server. Refer to the [Hard Check](../hard-check) guide for result statuses, error handling, and lifecycle. See the [node demo](https://github.com/use-bridge/sdk-typescript/tree/main/examples/node) for a working example. For advanced use cases, see [Advanced](../advanced/optimistic-soft-check). > **Note** > > See [Existing Patients](../existing-patients) for patients who already have a > Policy ### Run the check Pass `serviceTypeIds`, `state`, and a `patient` object. See [Eligibility Fields](../eligibility-fields) for field types. ```typescript const result = await bridge.hardEligibility({ serviceTypeIds: ["svt_xxx"], state: "CA", patient: { payerId: "pyr_xxx", firstName: "Jane", lastName: "Smith", dateOfBirth: new Date("2000-01-01"), memberId: "W123456789", // optional }, }); ``` Optional session config (multiple service types, optimistic soft check, clinical info) can be passed in the same call. See *Advanced*. ### Handle the result Read `result.status`, `result.providers`, `result.patientResponsibility`, and `result.ineligibilityReason` from the returned object. When you reach `INELIGIBLE` or `ELIGIBLE`, proceed to the next step in your flow. --- #### [Existing Patients](../existing-patients) Hard check when the patient already has a Policy