# Preferred providers

**JS library only.**

Preferred provider programs can reduce or eliminate out-of-pocket gap payments when ICD codes are
provided as part of the health claim. The PMS must handle the ICD code in the HealthPoint request
and response. The HCF "More for" program is an example of a claim that requires an ICD code, and
other funds may be added.

Tyro strongly suggests PMS partners implement preferred provider functionality to support providers
enrolled in these health fund programs. If an enrolled provider submits a claim without the
required details, the claim may be declined or may not receive the "No-Gap" assessment. HCF approved
providers can be from these modalities: chiropractors, osteopaths, podiatrists, physiotherapists,
optometrists and dental.

To certify your PMS for preferred providers, contact the partner managers at
partner-managers@tyro.com.

## Implementation

Build the claim as for a standard [claim](/docs/in-person-payments/pay-in-person/features/private-health-fund/getting-started), with one additional claim item that
carries the details to trigger the preferred provider assessment.

A preferred provider claim always has at least two claim items. You can add more, but you can submit
only one preferred provider claim item per claim.

Set the additional item as follows:

| Field | Value |
|  --- | --- |
| `serviceReference` | `ZZZ` |
| `claimAmount` | $0 |
| `serviceDate` | The same as in the other claim items |
| `description` | The ICD-10 code or code description |
| `serviceCode` | The appropriate ICD-10 code |
| `patientId` | The same as in the other claim items |


Set `claimItemsCount` to at least 2. Field padding isn't required, but if you want to pad, use a
space on the right.

### Example request


```javascript
Tyro.iclientWithUI.initiateHealthPointClaim({
    providerId: "2147661H",
    serviceType: "P",
    claimItemsCount: "2",
    totalClaimAmount: "10000",
    claimItems: [
        {
            "claimAmount": "10000",
            "serviceCode": "560",
            "description": "Assessment Consult",
            "serviceReference": "01",
            "patientId": "02",
            "serviceDate": "20190903"
        },
        {
            "claimAmount": "00000",
            "serviceCode": "G560",
            "description": "More For ICD code",
            "serviceReference": "ZZZ",
            "patientId": "02",
            "serviceDate": "20190903"
        }
    ]}, {
    transactionCompleteCallback: yourPosCode.handleComplete,
    statusMessageCallback: yourPosCode.handleStatusMessage,
    questionCallback: yourPosCode.questionAsked
});
```

### Example response


```json
{
    "result": "APPROVED",
    "transactionId": "6dbdaffd58adac4e89387f2c9d2c0cdd7c1e",
    "healthpointRefTag": "2120599",
    "healthpointTotalBenefitAmount": "10000",
    "healthpointSettlementDateTime": "20190903093316",
    "healthpointTerminalDateTime": "20190903093316",
    "healthpointMemberNumber": "0000000000",
    "healthpointProviderId": "2147661H",
    "healthpointServiceType": "P",
    "healthpointClaimItems": [
        {
            "claimAmount": "10000",
            "rebateAmount": "10000",
            "serviceCode": "00560",
            "description": "Assessment Consult",
            "serviceReference": "01",
            "patientId": "02",
            "serviceDate": "20190903",
            "responseCode": "0000"
        },
        {
            "claimAmount": "0",
            "rebateAmount": "0",
            "serviceCode": "0G560",
            "description": "More For ICD code",
            "serviceReference": "ZZZ",
            "patientId": "02",
            "serviceDate": "20190903",
            "responseCode": "0000"
        }
    ],
    "healthpointFreeText": "More For Approved",
    "healthpointGapAmount": "0",
    "healthpointPhfResponseCode": "00",
    "healthpointPhfResponseCodeDescription": "APPROVED",
    "healthpointHealthFundName": "ISOFT FUND",
    "healthpointHealthFundIdentifyingDigits": "0099"
}
```

## Testing

The HealthPoint test host simulator supports the item numbers below, which trigger a "More for"
assessment. Enter the standard service item as the first claim item, and the ICD code as the second
with `serviceReference` set to `ZZZ`.

The expected outcomes are:

- **More For Approved** — 100% rebate, no gap payable.
- **More For Rejected** — claim level rejection code 12 (claim declined) and item level rejection
code 18 (body part required).
- **More For Not Eligible** — 50% rebate, gap payable.


| Modality | Item code | ICD code | Test outcome |
|  --- | --- | --- | --- |
| Chiropractic | 1006 | M752 | More For Approved |
| Chiropractic | 1001 | None | More For Rejected |
| Chiropractic | 1007 | Z999 | More For Not Eligible |
| Physio | 560 | G560 | More For Approved |
| Physio | 525 | None | More For Rejected |
| Physio | 526 | Z999 | More For Not Eligible |
| Dental | 949 | K029 | More For Approved |
| Dental | 961 | None | More For Rejected |
| Dental | 964 | Z999 | More For Not Eligible |
| Podiatry | 12 | M235 | More For Approved |
| Podiatry | 14 | None | More For Rejected |
| Podiatry | 111 | Z999 | More For Not Eligible |
| Optical | 890 | H578 | More For Approved |
| Optical | 632 | None | More For Rejected |
| Optical | 612 | Z999 | More For Not Eligible |
| Osteopathy | 1802 | R10 | More For Approved |
| Osteopathy | 1803 | None | More For Rejected |
| Osteopathy | 1804 | Z999 | More For Not Eligible |


## Example ICD codes

These are example ICD codes used by HCF. A Z99 code isn't eligible and results in a 50% rebate.

| Modality | Example ICD codes |
|  --- | --- |
| Podiatry | L90, M235, M766, Q665, Z99 |
| Physiotherapy | G560, M069, S74, Z99 |
| Chiropractic | M752, M755, R10, S63, Z99 |
| Osteopathy | M752, M755, R10, S63, Z99 |
| Dental | K029, K01, Z99 |
| Optometry | H578, H258, Z99 |