Note these are reserved APIs for use by Healthcode internal products only. These APIs must not be consumed by external integrators.

API Discovery

Discovery document for contracts APIs is published at https://contracts.api.dev.healthcode.co.uk/contract/.well-known/api-configuration.

Retrieve Effective Prices

The retrieve-effective-prices API allows the calling system to obtain a merged price set for a given site and payor combination. The API derives the merged/effective price set using prices from multiple contract levels – the payor’s fee schedule, practitioner’s bespoke contract and self-pay.

Endpoint

Endpoint URL must be read from discovery document using key get_effective_prices_endpoint.

Request

curl --request GET 
  --url 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$effective-prices?
      site=<payor-reference>&
      location=<practitioner-reference>&
      payor=<PayorId>&
      service-code=<ServiceCode>'

Where,

FieldTypeDescription
siteStringSite reference for which the prices needs to be fetched.
locationStringSpecific Location reference that the prices are defined for.
payorStringPayor or insurer reference for which the prices are derived. Multiple payorIds can be provided using “,” separated.
service-codeStringSpecific service code for which the prices need to be fetched.

This API supports pagination and incremental data sync query parameters as documented here.

Response Processing

The retrieve-effective-prices API returns a Bundle of Contract resources in below format.

{
    "resourceType": "Bundle",
    "meta": {
        "tag": [
            {
                "code": "count",
                "display": "10"
            },
            {
                "code": "page",
                "display": "1"
            },
            {
                "code": "maxCount",
                "display": "1"
            }
        ]
    },
    "type": "collection",
    "total": 1,
    "entry": [
        {
            "resource": {
                "resourceType": "Contract",
                "id": "0000037838",
                "subject": [
                    {
                        "reference": "Site/HC010EO"
                    }
                ],
                "type": {
                    "coding": [
                        {
                            "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                            "code": "PRICING",
                            "display": "PRICING"
                        }
                    ]
                },
                "subType": [
                    {
                        "coding": [
                            {
                                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                                "code": "FEE_SCHEDULE",
                                "display": "FEE_SCHEDULE"
                            }
                        ]
                    }
                ],
                "term": [
                    {
                        "asset": [
                            {
                                "extension": [
                                    {
                                        "url": "https://contracts.api.healthcode.co.uk/contract/extension/isESTV",
                                        "valueString": "Y"
                                    }
                                ],
                                "context": [
                                    {
                                        "reference": {
                                            "reference": "I/slh",
                                            "display": "Payor"
                                        }
                                    },
                                    {
                                        "reference": {
                                            "reference": "Location/HP002193",
                                            "display": "Location"
                                        }
                                    }
                                ],
                                "valuedItem": [
                                    {
                                        "entityCodeableConcept": {
                                            "coding": [
                                                {
                                                    "id": "service",
                                                    "system": "ISC",
                                                    "code": "E0000860",
                                                    "display": "ECG"
                                                }
                                            ]
                                        }
                                    },
                                    {
                                        "net": {
                                            "value": 12
                                        }
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

Where,

Field Type Description
idStringUnique ID for this contract.
typeStringContract type.
subTypeStringContract sub type.
authorityReferencePayor details. Only enriched when type = PRICING and subType = FEE_SCHEDULE or PRACTITIONER_BESPOKE_CONTRACT.
subjectReferencePractitioner ID. Only enriched when type = PRICING and subType = PRACTITIONER_BESPOKE_CONTRACT or SELF_PAY.
term.asset.context.referenceReferenceReference to the Contract from which the specific value is derived.
term.asset.context.textStringDescription of the contract.
term.asset.valuedItem.entityCodeableConceptCodeableConceptService or Procedure code. Where this is a procedure code, a corresponding service code entry will also be included.
term.asset.valuedItem.netMoneyFee for the current service/procedure code.
term.asset.extensionExtensionisESTV identifier for specific service.
URL = “https://contracts.api.healthcode.co.uk/contract/extension/isESTV”
ValueString = Y or N

Error Handling

The Retrieve-Effective-Prices API does not return any API-specific errors. When no matches found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Retrieve Contract Types

The retrieve-contract-types API allows the calling system to obtain a list of available contract types.

Endpoint

Endpoint URL must be read from discovery document using key get_contract_type_list.

Request

curl --request GET 
  --url 'https://contracts.api.dev.healthcode.co.uk/valueset/contract-type'

This API supports pagination and incremental data sync query parameters as documented here.

Response Processing

In case of ISC retrieval request, the API returns a ValueSet resource in below format.

 "resourceType": "ValueSet",
    "id": "contract-type",
    "meta": {
        "tag": [
            {
                "code": "page",
                "display": "1"
            },
            {
                "code": "count",
                "display": "10"
            },
            {
                "code": "maxCount",
                "display": "1"
            }
        ]
    },
    "name": "contract-type",
    "expansion": {
        "total": 1,
        "offset": 0,
        "contains": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                "code": "PRICING",
                "display": "Pricing"
            }
        ]
    }
}

Where,

FieldTypeDescription
expansion.contains.codeStringContract type.
expansion.contains.displayStringDescription for this Contract type.

Error Handling

The retrieve-contract-types API do not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Retrieve Contract Sub Types

The retrieve-contract-subtypes API allows the calling system to obtain a list of available contract sub types.

Endpoint

Endpoint URL must be read from discovery document using key get_contract_subtype_list.

Request

curl --request GET 
  --url 'https://contracts.api.dev.healthcode.co.uk/valueset/contract-subtype/PRICING'

This API supports pagination and incremental data sync query parameters as documented here.

Response Processing

In case of ISC retrieval request, the API returns a ValueSet resource in below format.

{
    "resourceType": "ValueSet",
    "id": "contract-subtype",
    "meta": {
        "tag": [
            {
                "code": "page",
                "display": "1"
            },
            {
                "code": "count",
                "display": "10"
            },
            {
                "code": "maxCount",
                "display": "1"
            }
        ]
    },
    "name": "contract-subtype",
    "expansion": {
        "total": 1,
        "offset": 0,
        "contains": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype",
                "code": "FEE_SCHEDULE",
                "display": "Fee Schedule"
            }
        ]
    }
}

Where,

FieldTypeDescription
expansion.contains.codeStringContract sub type.
expansion.contains.displayStringDescription for this Contract sub type.

Error Handling

The retrieve-contract-subtypes API do not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

List Payors for a Site

The list-payors-for-a-site API allows the calling system to obtain a list of all available contracts for the calling site. When this API is called, if “Self-Pay” (PayorId – slf) and “All Other” (PayorId – na) payors do not exist then these are dynamically created for that site.

Endpoint

Endpoint URL must be read from discovery document using key get_payors_list_endpoint.

Request

curl --request GET 
  --url 'https://contracts.api.dev.healthcode.co.uk/contract/site/{siteId}'

This API supports pagination and incremental data sync query parameters as documented here.

Response Processing

The list-payors-for-a-site API returns a Bundle of Contract resources in below format.

{
    "resourceType": "Bundle",
    "meta": {
        "tag": [
            {
                "code": "count",
                "display": "10"
            },
            {
                "code": "page",
                "display": "1"
            },
            {
                "code": "maxCount",
                "display": "4"
            }
        ]
    },
    "type": "collection",
    "total": 4,
    "entry": [
        {
            "resource": {
                "resourceType": "Contract",
                "id": "0000041524",
                "authority": [
                    {
                        "id": "payor",
                        "reference": "Organization/na",
                        "display": "All Others"
                    }
                ],
                "type": {
                    "coding": [
                        {
                            "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                            "code": "PRICING",
                            "display": "PRICING"
                        }
                    ]
                },
                "subType": [
                    {
                        "coding": [
                            {
                                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                                "code": "C",
                                "display": "FEE_SCHEDULE"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "resource": {
                "resourceType": "Contract",
                "id": "0000041525",
                "authority": [
                    {
                        "id": "payor",
                        "reference": "Person/John",
                        "display": "John Doe"
                    }
                ],
                "type": {
                    "coding": [
                        {
                            "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                            "code": "PRICING",
                            "display": "PRICING"
                        }
                    ]
                },
                "subType": [
                    {
                        "coding": [
                            {
                                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                                "code": "C",
                                "display": "FEE_SCHEDULE"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "resource": {
                "resourceType": "Contract",
                "id": "0000041523",
                "authority": [
                    {
                        "id": "payor",
                        "reference": "Organization/slf",
                        "display": "Self-Pay"
                    }
                ],
                "type": {
                    "coding": [
                        {
                            "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                            "code": "PRICING",
                            "display": "PRICING"
                        }
                    ]
                },
                "subType": [
                    {
                        "coding": [
                            {
                                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                                "code": "I",
                                "display": "FEE_SCHEDULE"
                            }
                        ]
                    }
                ]
            }
        },
        {
            "resource": {
                "resourceType": "Contract",
                "id": "0000041526",
                "authority": [
                    {
                        "id": "payor",
                        "reference": "Organization/ppp",
                        "display": "AXA PPP healthcare"
                    }
                ],
                "type": {
                    "coding": [
                        {
                            "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                            "code": "PRICING",
                            "display": "PRICING"
                        }
                    ]
                },
                "subType": [
                    {
                        "coding": [
                            {
                                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                                "code": "I",
                                "display": "FEE_SCHEDULE"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

Where,

FieldTypeDescription
entry.resource.idStringUnique IDfor this contract.
entry.resource.typeStringContract type.
entry.resource.subTypeStringContract sub type.
entry.resource.authorityReferencePayor or Contact as Payor details. Only enriched when type = PRICING and subType = FEE_SCHEDULE or PRACTITIONER_BESPOKE_CONTRACT.
entry.resource.subjectReferencePractitioner ID. Only enriched when type = PRICING and subType = PRACTITIONER_BESPOKE_CONTRACT or SELF_PAY.

Error Handling

List-Payors-For-a-Site API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios like API endpoint not being available, connection timeout, etc.

Create or Update Payor

The create-or-update-payor API allows the calling system to create a new payor in the system or update details under an existing payor.

Endpoint

Endpoint URL must be read from discovery document using key add_payor_endpoint.

Request

curl --request POST 'https://contracts.api.dev.healthcode.co.uk/contract' 
--data-raw ' {
                "resourceType": "Contract",
                "subject": [
                    {
                        "reference": "Site/HC00HAA"
                    }
                ],
                "authority": [
                    {
                        "id": "payor",
                        "reference": "Organization/slf",
                        "display": "Self-Pay"
                    }
                ],
                "type": {
                    "coding": [
                        {
                            "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                            "code": "PRICING",
                            "display": "PRICING"
                        }
                    ]
                },
                "subType": [
                    {
                        "coding": [
                            {
                                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                                "code": "I",
                                "display": "FEE_SCHEDULE"
                            }
                        ]
                    }
                ]
            }
        '

Where,

FieldTypeMandatory/OptionalDescription
idStringM for UpdateUnique ID for this contract. Must be present during update.
typeStringOContract type.
subTypeStringOContract sub type.
subjectReferenceMSite ID
Format: Site/<Site ID>
authorityReferenceMPayor details. Only needs to be enriched when type = PRICING and subType = FEE_SCHEDULE or PRACTITIONER_BESPOKE_CONTRACT.
Format: Organization/<payor>

Response Processing

On successful processing of the request the API will return the Contract resource with “id” of the target payor.

{
    "resourceType": "Contract",
    "id": "0000038225",
    "subject": [
        {
            "reference": "Site/HC00HAA"
        }
    ],
    "authority": [
        {
            "id": "payor",
            "reference": "Organization/slf",
            "display": "Self-Pay"
        }
    ],
    "type": {
        "coding": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                "code": "PRICING",
                "display": "PRICING"
            }
        ]
    },
    "subType": [
        {
            "coding": [
                {
                    "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                    "code": "I",
                    "display": "FEE_SCHEDULE"
                }
            ]
        }
    ]
}

Error Handling

The Create-or-Update-Payor API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios like API endpoint not being available, connection timeout, etc.

Delete a Payor

The delete-payor API enables the calling system to delete a payor for a given site and payor details combinations.

Endpoint

Endpoint URL must be read from discovery document using key delete_payor_endpoint.

Request

curl --request DELETE 
--url'https://contracts.api.dev.healthcode.co.uk/contract/HC00HAA?
payerId=Organization/slf&
payerType=I&
providerGroup=0000038225'

Where,

FieldTypeDescription
siteStringSite for which the payor needs to be deleted.
payorIdStringPayor or insurer to be deleted. Format: Organization/<payor>
payorTypeStringPayor or insurer type. Value will be “I” for payor.
providerGroupStringContract resource ID of the target payor.

Response Processing

On successful processing of the request the API will delete the payor and return OperationOutcome resource in below format. .

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "information",
            "code": "informational",
            "details": {
                "coding": [
                    {
                        "system": "URL",
                        "code": "MSG_DELETED_ID",
                        "display": "The resource has been deleted"
                    }
                ]
            },
            "diagnostics": "Delete Contract Payor Successful. ",
            "location": [
                "CONTRACTS"
            ],
            "expression": []
        }
    ]
}

Error Handling

The Delete-Payor API does not return any API-specific errors. When no matches are found, the API will return empty result set. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Create or Update Contact as Payor

The create-or-update-contact-as-payor API allows the calling system to create a new contact as payor in the system or update details under an existing contact as a payor.

Endpoint

Endpoint URL must be read from discovery document using key add_contact_as_payor_endpoint.

Request

curl --request POST 'https://contracts.api.dev.healthcode.co.uk/contract' 
--data-raw ' {
                "resourceType": "Contract",
                "subject": [
                    {
                        "reference": "Site/HC00HAA"
                    }
                ],
                "authority": [
                    {
                        "id": "payor",
                        "reference": "Person/John",
                        "display": "John Doe"
                    }
                ],
                "type": {
                    "coding": [
                        {
                            "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                            "code": "PRICING",
                            "display": "PRICING"
                        }
                    ]
                },
                "subType": [
                    {
                        "coding": [
                            {
                                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                                "code": "C",
                                "display": "FEE_SCHEDULE"
                            }
                        ]
                    }
                ]
            }
        '

Where,

FieldTypeDescription
idStringUnique ID for this contract. Must be present during update.
typeStringContract type.
subTypeStringContract sub type.
authorityReferenceContact as Payor details. Only needs to be enriched when type = PRICING and subType = FEE_SCHEDULE or PRACTITIONER_BESPOKE_CONTRACT.
Format: Person/<contact>

Response Processing

On successful processing of the request the API will return the Contract resource with “id” of the target contact as a payor.

{
    "resourceType": "Contract",
    "id": "0000041155",
    "subject": [
        {
            "reference": "Site/HC00HAA"
        }
    ],
    "authority": [
        {
            "id": "payor",
            "reference": "Person/John",
            "display": "John Doe"
        }
    ],
    "type": {
        "coding": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                "code": "PRICING",
                "display": "PRICING"
            }
        ]
    },
    "subType": [
        {
            "coding": [
                {
                    "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                    "code": "C",
                    "display": "FEE_SCHEDULE"
                }
            ]
        }
    ]
}

Error Handling

The Add-Contact-As-Payor API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Delete Contact As a Payor

The delete-contact-as-payor API allows the calling system to delete a contact as payor in the system.

Endpoint

Endpoint URL must be read from discovery document using key delete_contact_as_payor_endpoint.

Request

curl --request DELETE 'https://contracts.api.dev.healthcode.co.uk/contract/HC00HAA?
payorId=Person/John&
payorType=C&
providerGroup=0000041155'

Where,

FieldTypeDescription
siteStringSite from which the contact as a payor needs to be deleted.
payorIdStringContact as payor to be deleted. Format: Person/<contact>
payorTypeStringContact as payor type. Value will be “C” for contact.
providerGroupStringContract resource ID of the target contact as payor.

Response Processing

On successful processing of the request the API will delete the contact as payor and return OperationOutcome resource in below format.

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "information",
            "code": "informational",
            "details": {
                "coding": [
                    {
                        "system": "URL",
                        "code": "MSG_DELETED_ID",
                        "display": "The resource has been deleted"
                    }
                ]
            },
            "diagnostics": "Delete Contract Payor Successful. ",
            "location": [
                "CONTRACTS"
            ],
            "expression": []
        }
    ]
}

Error Handling

The Delete-Contact-As-Payor API does not return any API-specific errors. When no matches found, the API will return empty result set. Calling applications must handle the standard error scenarios like API endpoint not being available, connection timeout, etc.

Set Contract Service

The set-contract-service API allows the calling system to create a specific service type. This API can be used when the caller cannot determine the specific contract under which the service has to be added/updated.

Endpoint

Endpoint URL must be read from discovery document using key set_contract_service_endpoint.

Request

curl--request POST 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$contract-price' 

--data-raw '{
   "resourceType":"Contract",
   "id":"0000036282",
   "subject":[
      {
         "reference":"Site/HC00JXI"
      }
   ],
   "term":[
      {
         "asset":[
            {
               "type":[
                  {
                     "coding":[
                        {
                           "code":"PriceGroupAssignment"
                        }
                     ]
                  }
               ],
               "context":[
                  {
                     "reference":{
                        "reference":"Payor/I-slf",
                        "display":"Payor"
                     }
                  }
               ],
               "valuedItem":[
                  {
                     "entityCodeableConcept":{
                        "coding":[
                           {
                                "system": "ISC",
                                "code": "C0000010",
                                "display": "Surgeons Fee For Surgery"
                            }
                        ]
                     }
                  }
               ]
            }
         ]
      }
   ]
}'

Where,

Field Type Description
contextReferencePayor reference.
subjectReferenceSite reference.
term.asset.valuedItem.entityCodeableConceptCodeableConceptService code and service scheme details.

Response Processing

On successful processing of the request the API will return a Contract resource under which the service was added/updated. Calling systems must record this information within their system audit logs for future reference and must quote the reference value while reporting any issue regarding incorrect service updates.

{
    "resourceType": "Contract",
    "id": "0000036282",
    "subject": [
        {
            "reference": "Site/HC00JXI"
        }
    ],
    "term": [
        {
            "asset": [
                {
                    "type": [
                        {
                            "coding": [
                                {
                                    "code": "PriceGroupAssignment"
                                }
                            ]
                        }
                    ],
                    "context": [
                        {
                            "reference": {
                                "reference": "Payor/I-slf",
                                "display": "Payor"
                            }
                        }
                    ],
                    "valuedItem": [
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "ISC",
                                        "code": "C0000010",
                                        "display": "Surgeons Fee For Surgery"
                                    }
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

Error Handling

The Set-Contract-Service API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Delete Contract Service

The delete-contract-service API enables the calling system to delete a service for a given authority and service code combinations.

Endpoint

Must be looked up from discovery-document using key delete_contract_service_endpoint.

Request

curl --request DELETE 
--url 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$contract-price/HC00JXI?
indStdCode=C0000010&
indStdCodeScheme=ISC'

Where,

FieldTypeDescription
indStdCodeStringStandard Service code for which the service is to be deleted.
indStdCodeSchemeString Standard Service code scheme for which the service is to be deleted.

Response Processing

On successful processing of the request the API will delete the service and return OperationOutcome resource in below format.

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "information",
            "code": "informational",
            "details": {
                "coding": [
                    {
                        "system": "URL",
                        "code": "MSG_DELETED_ID",
                        "display": "The resource has been deleted"
                    }
                ]
            },
            "diagnostics": "Delete Contract Price Successful. ",
            "location": [
                "CONTRACTS"
            ],
            "expression": []
        }
    ]
}

Error Handling

The Delete-Contract-Service API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Set Contract Service with Procedure

The set-contract-service-with-procedure API allows calling systems to create a specific service-type with procedure code. This API can be used when the caller cannot determine the specific contract under which the service with procedure code has to be added/updated.

Endpoint

Endpoint URL must be read from discovery document using key set_contract_service_withprocedure_endpoint.

Request

curl --request POST 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$contract-price' 
--data-raw '{
                "resourceType": "Contract",
                "id": "0000034523",
                "subject": [
                    {
                        "reference": "Site/HC00HBA"
                    }
                ],
                "term": [
                    {
                        "asset": [
                            {
								"type": [
									{
                                        "coding": [
                                            {
                                                "code": "PriceGroupAssignment"
                                            }
                                        ]
                                    }
                                ],
                                "context": [
                                    {
                                        "reference": {
                                            "reference": "Payor/I-ppp",
                                            "display": "Payor"
                                        }
                                    }
                                ],
                                "valuedItem": [
                                    {
                                        "entityCodeableConcept": {
                                            "coding": [
                                                {
                                                    "system": "ISC",
                                                    "code": "C0000010",
                                                    "display": "Surgeons Fee For Surgery"
                                                }
                                            ]
                                        }
                                    },
                                    {
                                        "entityCodeableConcept": {
                                            "coding": [
                                                {
                                                    "system": "https://ref.api.healthcode.co.uk/procedure",
                                                    "code": "L8750",
                                                    "display": "CCSD"
                                                }
                                            ]
                                        }
                                    }
                                ]
                            }
                            
                        ]
                    }
                ]
            }'

Where,

Field Type Description
contextReferencePayor reference.
subjectReferenceSite reference.
term.asset.valuedItem.entityCodeableConceptCodeableConceptService and Procedure code. Where there is a procedure code, a corresponding service code must also be included.

Response Processing

On successful processing of the request the API will return a Contract resource under which the service with procedure code was added/updated. Calling systems must record this information within their system audit logs for future reference and must quote the reference value while reporting any issue regarding incorrect service updates.

{
    "resourceType": "Contract",
    "id": "0000034523",
    "subject": [
        {
            "reference": "Site/HC00HBA"
        }
    ],
    "term": [
        {
            "asset": [
                {
                    "type": [
                        {
                            "coding": [
                                {
                                    "code": "PriceGroupAssignment"
                                }
                            ]
                        }
                    ],
                    "context": [
                        {
                            "reference": {
                                "reference": "Payor/I-ppp",
                                "display": "Payor"
                            }
                        }
                    ],
                    "valuedItem": [
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "ISC",
                                        "code": "C0000010",
                                        "display": "Surgeons Fee For Surgery"
                                    }
                                ]
                            }
                        },
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "https://ref.api.healthcode.co.uk/procedure",
                                        "code": "L8750",
                                        "display": "CCSD"
                                    }
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

Error Handling

The Set-Contract-Service-with-Procedure API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Delete Contract Service with Procedure

The delete-contract-service-with-procedure API enables the calling system to delete the fee for a given authority and service with procedure code combinations.

Endpoint

Must be looked up from discovery-document using key delete_contract_service_withprocedure_endpoint.

Request

curl--request DELETE 
--url 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$contract-price/HC00JXI?
indStdCode=C0000010&
indStdCodeScheme=ISC&
procedureCode=PETSC&
procedureScheme=9BUPP'

Where,

FieldTypeDescription
indStdCodeStringStandard Service code for which the service with procedure is to be deleted.
indStdCodeSchemeString Standard Service code scheme for which the service with procedure is to be deleted.
procedureCodeString Standard Procedure code for which the service with procedure is to be deleted.
procedureSchemeString Standard Procedure code scheme for which the service with procedure is to be deleted.

Response Processing

On successful processing of the request the API will delete the service with procedure and return OperationOutcome resource in below format.

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "information",
            "code": "informational",
            "details": {
                "coding": [
                    {
                        "system": "URL",
                        "code": "MSG_DELETED_ID",
                        "display": "The resource has been deleted"
                    }
                ]
            },
            "diagnostics": "Delete Contract Price Successful. ",
            "location": [
                "CONTRACTS"
            ],
            "expression": []
        }
    ]
}

Error Handling

The Delete-Contract-Service-with-Procedure API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Set Contract Price

The set-contract-price API allows the calling system to set a fee for a specific service-type/procedure-code combination. This API can be used when the caller cannot determine the specific contract under which the fee has to be added/updated.

Endpoint

Endpoint URL must be read from discovery document using key set_contract_price_endpoint.

Request

curl --request POST 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$contract-price' 
--data-raw '{
                "resourceType": "Contract",
                "id": "0000034523",
                "subject": [
                    {
                        "reference": "Site/HC00HBA"
                    }
                ],
                "term": [
                    {
                        "asset": [
                            {
								"type": [
									{
                                        "coding": [
                                            {
                                                "code": "PriceGroupAssignment"
                                            }
                                        ]
                                    }
                                ],
                                "context": [
                                    {
                                        "reference": {
                                            "reference": "Payor/I-ppp",
                                            "display": "Payor"
                                        }
                                    }
                                ],
                                "valuedItem": [
                                    {
                                        "entityCodeableConcept": {
                                            "coding": [
                                                {
                                                    "system": "ISC",
                                                    "code": "C0000010",
                                                    "display": "Surgeons Fee For Surgery"
                                                }
                                            ]
                                        }
                                    },
                                    {
                                        "entityCodeableConcept": {
                                            "coding": [
                                                {
                                                    "system": "https://ref.api.healthcode.co.uk/procedure",
                                                    "code": "L8750",
                                                    "display": "CCSD"
                                                }
                                            ]
                                        }
                                    },
                                    {
                                        "net": {
                                            "value": 999
                                        }
                                    }
                                ]
                            }
                            
                        ]
                    }
                ]
            }'

Where,

Field Type Description
contextReferencePayor reference.
subjectReferenceSite reference.
term.asset.valuedItem.entityCodeableConceptCodeableConceptService or Procedure code. Where there is a procedure code a corresponding service code must also be included.
term.asset.valuedItem.netMoneyFee for the current service/procecure code.

Response Processing

On successful processing of the request the API will return a Contract resource under which the fee was added/updated. Calling systems must record this information within their system audit logs for future reference and must quote the reference value while reporting any issue regarding incorrect fee updates.

{
    "resourceType": "Contract",
    "id": "0000034523",
    "subject": [
        {
            "reference": "Site/HC00HBA"
        }
    ],
    "term": [
        {
            "asset": [
                {
                    "type": [
                        {
                            "coding": [
                                {
                                    "code": "PriceGroupAssignment"
                                }
                            ]
                        }
                    ],
                    "context": [
                        {
                            "reference": {
                                "reference": "Payor/I-ppp",
                                "display": "Payor"
                            }
                        }
                    ],
                    "valuedItem": [
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "ISC",
                                        "code": "C0000010",
                                        "display": "Surgeons Fee For Surgery"
                                    }
                                ]
                            }
                        },
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "https://ref.api.healthcode.co.uk/procedure",
                                        "code": "L8750",
                                        "display": "CCSD"
                                    }
                                ]
                            }
                        },
                        {
                            "net": {
                                "value": 999
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

Error Handling

The Set-Contract-Price API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Set Contract Price with Location

The set-contract-price-with-location API allows the calling system to set a fee for a specific service-type/procedure-code combination. This API can be used when the caller cannot determine the specific contract under which the fee has to be added/updated.

Endpoint

Endpoint URL must be read from discovery document using key set_contract_price_withlocation_endpoint.

Request

curl --request POST 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$contract-price' 
--data-raw '{
   "resourceType":"Contract",
   "id":"0000036282",
   "subject":[
      {
         "reference":"Site/HC00JXI"
      }
   ],
   "term":[
      {
         "asset":[
            {
               "type":[
                  {
                     "coding":[
                        {
                           "code":"PriceGroupAssignment"
                        }
                     ]
                  }
               ],
               "context":[
                  {
                     "reference":{
                        "reference":"Payor/I-slf",
                        "display":"Payor"
                     }
                  },
                                    {
                                        "reference": {
                                            "reference": "Location/HP009999",
                                            "display": "Location"
                                        }
                                    }
               ],
               "valuedItem":[
                  {
                     "entityCodeableConcept":{
                        "coding":[
                           {
                              "system":"ISC",
                              "code":"TestCo5",
                              "display":"Surgeons Fee For Surgery"
                           }
                        ]
                     }
                  },
                  {
                     "entityCodeableConcept":{
                        "coding":[
                           {
                              "system":"https://ref.api.healthcode.co.uk/procedure",
                              "code":"TestCo5",
                              "display":"TestSc5"
                           }
                        ]
                     }
                  },
                  {
                     "net":{
                        "value":270
                     }
                  }
               ]
            }
         ]
      }
   ]
}'

Where,

Field Type Description
contextReferencePayor and Location reference.
subjectReferenceSite reference.
term.asset.valuedItem.entityCodeableConceptCodeableConceptService or Procedure code. Where there is a procedure code a corresponding service code must also be included.
term.asset.valuedItem.netMoneyFee for the current service/procecure code.

Response Processing

On successful processing of the request the API will return a Contract resource under which the fee was added/updated. Calling systems must record this information within their system audit logs for future reference and must quote the reference value while reporting any issue regarding incorrect fee updates.

{
    "resourceType": "Contract",
    "id": "0000036282",
    "subject": [
        {
            "reference": "Site/HC00JXI"
        }
    ],
    "term": [
        {
            "asset": [
                {
                    "type": [
                        {
                            "coding": [
                                {
                                    "code": "PriceGroupAssignment"
                                }
                            ]
                        }
                    ],
                    "context": [
                        {
                            "reference": {
                                "reference": "Payor/I-slf",
                                "display": "Payor"
                            }
                        },
                        {
                            "reference": {
                                "reference": "Location/HP009999",
                                "display": "Location"
                            }
                        }
                    ],
                    "valuedItem": [
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "ISC",
                                        "code": "TestCo5",
                                        "display": "Surgeons Fee For Surgery"
                                    }
                                ]
                            }
                        },
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "https://ref.api.healthcode.co.uk/procedure",
                                        "code": "TestCo5",
                                        "display": "TestSc5"
                                    }
                                ]
                            }
                        },
                        {
                            "net": {
                                "value": 270
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

Error Handling

The Set-Contract-Price-with-Location API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Set Contract Price with Practitioner BeSpoke

The set-contract-price-with-practitioner-bespoke API allows the calling system to set a fee for a specific service-type/procedure-code combination along with practitioner bespoke. This API can be used when the caller cannot determine the specific contract under which the fee has to be added/updated.

Endpoint

Endpoint URL must be read from discovery document using key set_contract_price_withpractitionerbespoke_endpoint.

Request

curl --request POST 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$contract-price' 
--data-raw '{
                "resourceType": "Contract",
                "id": "0000036282",
                "subject": [
                    {
                        "reference": "Site/HC00JXI"
                    }
                ],
                "term": [
                    {
                        "asset": [
                            {
                                "type": [
                                    {
                                        "coding": [
                                            {
                                                "code": "PriceGroupAssignment"
                                            }
                                        ]
                                    }
                                ],
                                "context": [
                                    {
                                        "reference": {
                                            "reference": "Payor/I-slf",
                                            "display": "Payor"
                                        }
                                    }
                                ],
                                "valuedItem": [
                                    {
                                        "entityCodeableConcept": {
                                            "coding": [
                                                {
                                                    "system": "ISC",
                                                    "code": "C0000010",
                                                    "display": "Surgeons Fee For Surgery"
                                                }
                                            ]
                                        }
                                    },
                                    {
                                        "entityCodeableConcept": {
                                            "coding": [
                                                {
                                                    "system": "https://ref.api.healthcode.co.uk/procedure",
                                                    "code": "L8750",
                                                    "display": "CCSD"
                                                }
                                            ]
                                        }
                                    },
                                    {
                                        "net": {
                                            "value": 99
                                        }
                                    }
                                ]
                            },
                            {
                                "type": [
                                    {
                                        "coding": [
                                            {
                                                "code": "Practitioner_BeSpoke"
                                            }
                                        ]
                                    }
                                ],
                                "context": [
                                    {
                                        "reference": {
                                            "reference": "Payor/I-slh",
                                            "display": "Payor"
                                        }
                                    },
                                    {
                                        "reference": {
                                            "reference": "Practitioner/SP000005",
                                            "display": "Practitioner"
                                        }
                                    }
                                ],
                                "valuedItem": [
                                    {
                                        "entityCodeableConcept": {
                                            "coding": [
                                                {
                                                    "system": "ISC",
                                                    "code": "E0002620",
                                                    "display": "Surgeons Fee For Surgery"
                                                }
                                            ]
                                        }
                                    },
                                    {
                                        "net": {
                                            "value": 100
                                        }
                                    }
                                ]
                            }
                            
                        ]
                    }
                ]
            }'

Where,

Field Type Description
subjectReferenceSite reference.
context Reference Payor reference for type “PriceGroupAssignment”
term.asset.valuedItem.entityCodeableConceptCodeableConceptService or Procedure code for type “PriceGroupAssignment”. Where there is a procedure code a corresponding service code must also be included.
term.asset.valuedItem.netMoneyFee for the current service/procecure code for “PriceGroupAssignment”
contextReferencePayor and Practitioner reference for type “Practitioner_BeSpoke”
term.asset.valuedItem.entityCodeableConcept CodeableConcept Service code for type “Practitioner_BeSpoke”.
term.asset.valuedItem.net Money Fee for the current service code for “Practitioner_BeSpoke”.

Response Processing

On successful processing of the request the API will return a Contract resource under which the fee was added/updated along with the specified practitioner. Calling systems must record this information within their system audit logs for future reference and must quote the reference value while reporting any issue regarding incorrect fee updates.

{
    "resourceType": "Contract",
    "id": "0000036282",
    "subject": [
        {
            "reference": "Site/HC00JXI"
        }
    ],
    "term": [
        {
            "asset": [
                {
                    "type": [
                        {
                            "coding": [
                                {
                                    "code": "PriceGroupAssignment"
                                }
                            ]
                        }
                    ],
                    "context": [
                        {
                            "reference": {
                                "reference": "Payor/I-slf",
                                "display": "Payor"
                            }
                        }
                    ],
                    "valuedItem": [
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "ISC",
                                        "code": "C0000010",
                                        "display": "Surgeons Fee For Surgery"
                                    }
                                ]
                            }
                        },
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "https://ref.api.healthcode.co.uk/procedure",
                                        "code": "L8750",
                                        "display": "CCSD"
                                    }
                                ]
                            }
                        },
                        {
                            "net": {
                                "value": 99
                            }
                        }
                    ]
                },
                {
                    "type": [
                        {
                            "coding": [
                                {
                                    "code": "Practitioner_BeSpoke"
                                }
                            ]
                        }
                    ],
                    "context": [
                        {
                            "reference": {
                                "reference": "Payor/I-slh",
                                "display": "Payor"
                            }
                        },
                        {
                            "reference": {
                                "reference": "Practitioner/SP000005",
                                "display": "Practitioner"
                            }
                        }
                    ],
                    "valuedItem": [
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "system": "ISC",
                                        "code": "E0002620",
                                        "display": "Surgeons Fee For Surgery"
                                    }
                                ]
                            }
                        },
                        {
                            "net": {
                                "value": 100
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

Error Handling

The Set-Contract-Price-with-Practitioner-Bespoke API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Delete Contract Price

The delete-contract-price API enables the calling system to delete the fee for a given authority and service/procedure code combinations.

Endpoint

Must be looked up from discovery-document using key delete_contract_price_endpoint.

Request

curl--request DELETE 
--url 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$contract-price/HC00JXI?
indStdCode=C0000010&
indStdCodeScheme=ISC&
procedureCode=PETSC&
procedureScheme=9BUPP'

Where,

FieldTypeDescription
indStdCodeStringStandard Service code for which the fee is to be deleted.
indStdCodeSchemeString Standard Service code scheme for which the fee is to be deleted.
procedureCodeString Standard Procedure code for which the fee is to be deleted.
procedureSchemeString Standard Procedure code scheme for which the fee is to be deleted.

Response Processing

On successful processing of the request the API will delete the price and return OperationOutcome resource in below format. .

{
    "resourceType": "OperationOutcome",
    "issue": [
        {
            "severity": "information",
            "code": "informational",
            "details": {
                "coding": [
                    {
                        "system": "URL",
                        "code": "MSG_DELETED_ID",
                        "display": "The resource has been deleted"
                    }
                ]
            },
            "diagnostics": "Delete Contract Price Successful. ",
            "location": [
                "CONTRACTS"
            ],
            "expression": []
        }
    ]
}

Error Handling

The Delete-Contract-Price API does not return any API-specific errors. When no matches are found, the API will return empty resultset. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Calculate service fee

The calculate-service-fee API enables the calling system to retrieve the fee for a given authority and service code.

Endpoint

Must be looked up from discovery-document using key calculate_service_fee_endpoint.

Request

curl --request GET 
--url 'https://contracts.api.dev.healthcode.co.uk/contract/$calculate-fee?
payor=slf&
practitioner=SP046728&
payor-type=I&
provider-type=S&
location=HP002166&
site=HC00JXI&
service-type=ISC/E0002620'

Where,

FieldTypeDescription
payorStringPayor ID
practitionerStringPractitioner SP number
payor-typeStringPayor type
provider-typeStringProvider type
locationStringLocation
siteStringSite ID
service-typeStringService type for which the fee is to be retrieved.
Format: ServiceScheme/ServiceCode

Response Processing

The calculate-service-fee API returns a Contract resource encapsulating the fee corresponding to the input parameters.

{
    "resourceType": "Contract",
    "subject": [
        {
            "reference": "Site/HC00JXI"
        }
    ],
    "type": {
        "coding": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                "code": "PRICING",
                "display": "PRICING"
            }
        ]
    },
    "subType": [
        {
            "coding": [
                {
                    "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                    "code": "FEE_SCHEDULE",
                    "display": "FEE_SCHEDULE"
                }
            ]
        }
    ],
    "term": [
        {
            "asset": [
                {
                    "valuedItem": [
                        {
                            "net": {
                                "value": 80
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

Where,

FieldTypeDescription
term.asset.valuedItem.net.valueMoneyFee for the specific service code.

Error Handling

Calculate-service-fee API does not return any API-specific errors. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Calculate service fee with procedure

The calculate-service-fee-with-procedure API enables the calling system to retrieve the fee for a given authority and service with procedure code combinations.

Endpoint

Must be looked up from discovery-document using key calculate_service_fee_withprocedure_endpoint.

Request

curl --request GET 
--url 'https://contracts.api.dev.healthcode.co.uk/contract/$calculate-fee?
service-type=ISC/C0000010&
payor-type=I&
provider-type=S&
payor=bup&
procedure-code=CCSD/A3000,9BUPP/AA207&
location=HP002694&
site=HC00HM4'

Where,

FieldTypeDescription
payorStringPayor ID
practitionerStringPractitioner SP number
payor-typeStringPayor Type
provider-typeStringProvider Type
locationStringLocation
siteStringSite ID
service-typeStringService Type for which the fee is to be retrieved.
Format: ServiceScheme/ServiceCode
valuedItem.procedureCodeStringProcedure code for which the fee is to be retrieved. Optional.
Format: ProcedureScheme/ProcedureCode
Multiple comma separated procedure codes can be sent.

Response Processing

The calculate-service-fee-with-procedure API returns a Contract resource encapsulating the fee corresponding to the input parameters.

{
    "resourceType": "Contract",
    "subject": [
        {
            "reference": "Site/HC00HM4"
        }
    ],
    "type": {
        "coding": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                "code": "PRICING",
                "display": "PRICING"
            }
        ]
    },
    "subType": [
        {
            "coding": [
                {
                    "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                    "code": "FEE_SCHEDULE",
                    "display": "FEE_SCHEDULE"
                }
            ]
        }
    ],
    "term": [
        {
            "asset": [
                {
                    "valuedItem": [
                        {
                            "net": {
                                "value": 290.00
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

Where,

FieldTypeDescription
term.asset.valuedItem.net.valueMoneyFee for the specific service with procecure code.

Error Handling

Calculate-service-fee-with-procedure API does not return any API-specific errors. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Retrieve Price Validation for Service

The retrieve-price-validation-for-service API allows the calling system to get the validation tariffs and messages to set the fee for the specific service.

Endpoint

Endpoint URL must be read from discovery document using key get_price_validation_for_service_endpoint.

Request

curl --request GET
--url 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$validation?
site=HC00JXI&
payorId=slh&
codeType=S&
code=P0003630'

Where,

FieldTypeDescription
siteStringSite ID
payorStringPayor ID
codeStringService code for which the fee is to be retrieved.
payor-typeStringCode type of service. Value = “S”
practitionerStringPractitioner SP number – optional

Response Processing

The retrieve-price-validation-for-service API returns a Contract resource in below format.

{
    "resourceType": "Contract",
    "subject": [
        {
            "reference": "Site/HC00JXI"
        }
    ],
    "type": {
        "coding": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                "code": "PRICING",
                "display": "PRICING"
            }
        ]
    },
    "subType": [
        {
            "coding": [
                {
                    "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                    "code": "FEE_SCHEDULE",
                    "display": "FEE_SCHEDULE"
                }
            ]
        }
    ],
    "term": [
        {
            "asset": [
                {
                    "extension": [
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/narrativeMessage",
                            "valueString": "Upper Price is  £500.00   lower price is £100.00 median price is  £300.00"
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/warningMessage",
                            "valueString": "Please note that your fees are above the fee range Vitality have set out. Proceeding with these fees may limit the volume or frequency of referrals you receive  result in Vitality members not being able to access care with you in the future  or result in Vitality choosing to conclude their commercial relationship with you."
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/rejectMessage",
                            "valueString": "Price exceeded maximum limit."
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/optionMessage",
                            "valueString": "Please accept the terms and conditions of VitalityHealth"
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/lowPrice",
                            "valueString": "100.00"
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/medianPrice",
                            "valueString": "300.00"
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/highPrice",
                            "valueString": "500.00"
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/maximumPrice",
                            "valueString": "1000.00"
                        }
                    ],
                    "context": [
                        {
                            "reference": {
                                "id": "Payor",
                                "reference": "Organization/slh"
                            }
                        }
                    ],
                    "valuedItem": [
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "id": "Service",
                                        "code": "P0003630",
                                        "display": "Prosthesis, Heart Valve, Real Tissue"
                                    }
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

Where,

FieldTypeDescription
subjectReferenceSite reference
term.asset.contextReference Payor and Practitioner reference
term.asset.valuedItem.entityCodeableConceptCodeableConceptService details
term.asset.extension.valueStringExtensionContains the narrative message, warning message, reject message, optional message, low price, median price, high price and maximum price.

Error Handling

Retrieve-price-validation-for-service API does not return any API-specific errors. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Retrieve Price Validation for Procedure

The retrieve-price-validation-for-procedure API allows the calling system to get the validation tariffs and messages to set the fee for the specific procedure.

Endpoint

Endpoint URL must be read from discovery document using key get_price_validation_for_procedure_endpoint.

Request

curl --request GET
--url 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$validation?
site=HC00JXI&
payorId=slh&
code=W3712&
codeType=P&
practitioner=SP046728’

Where,

FieldTypeDescription
siteStringSite ID
payorStringPayor ID
codeStringProcedure code for which the fee is to be retrieved.
payor-typeStringCode type of procedure. Value = “P”
practitionerStringPractitioner SP number – optional

Response Processing

The retrieve-price-validation-for-procedure API returns a Contract resource in below format.

{
    "resourceType": "Contract",
    "subject": [
        {
            "reference": "Site/HC00JXI"
        }
    ],
    "type": {
        "coding": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                "code": "PRICING",
                "display": "PRICING"
            }
        ]
    },
    "subType": [
        {
            "coding": [
                {
                    "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                    "code": "FEE_SCHEDULE",
                    "display": "FEE_SCHEDULE"
                }
            ]
        }
    ],
    "term": [
        {
            "asset": [
                {
                    "extension": [
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/narrativeMessage",
                            "valueString": "VitalityHealth would expect recognised specialists to set their fees anywhere from£650.00 to a limit of £850.00"
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/warningMessage",
                            "valueString": "Please note that your fees are above the fee range Vitality have set out. Proceeding with these fees may limit the volume or frequency of referrals you receive  result in Vitality members not being able to access care with you in the future  or result in Vitality choosing to conclude their commercial relationship with you."
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/rejectMessage",
                            "valueString": "Vitality are unable to agree the fees you are proposing."
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/optionMessage",
                            "valueString": "Please note that this code may only authorised under exceptional circumstances and should not be billed routinely. Please contact us if you think you may need to use this code."
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/lowPrice",
                            "valueString": "650.00"
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/medianPrice",
                            "valueString": "700.00"
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/highPrice",
                            "valueString": "850.00"
                        },
                        {
                            "url": "https://contracts.api.healthcode.co.uk/contract/extension/maximumPrice",
                            "valueString": "1000.00"
                        }
                    ],
                    "context": [
                        {
                            "reference": {
                                "id": "Payor",
                                "reference": "Organization/slh"
                            }
                        },
                        {
                            "reference": {
                                "id": "Practitioner",
                                "reference": "Practitioner/SP046728"
                            }
                        }
                    ],
                    "valuedItem": [
                        {
                            "entityCodeableConcept": {
                                "coding": [
                                    {
                                        "id": "Procedure",
                                        "code": "W3712",
                                        "display": "Primary total hip replacement with or without cement"
                                    }
                                ]
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

Where,

FieldTypeDescription
subjectReferenceSite reference
term.asset.contextReference Payor and Practitioner reference
term.asset.valuedItem.entityCodeableConceptCodeableConceptProcedure details
term.asset.extension.valueStringExtensionContains the narrative message, warning message, reject message, optional message, low price, median price, high price and maximum price.

Error Handling

Retrieve-price-validation-for-procedure API does not return any API-specific errors. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Retrieve Multi Proc

The retrieve-multi-proc API allows the calling system to get the list of multiple procedures for the specified site.

Endpoint

Endpoint URL must be read from discovery document using key get_multi_proc_endpoint.

Request

curl --request GET
--url 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$multi-proc?
site=HC00JXI’

Where,

FieldTypeDescription
siteIdStringSite ID

Response Processing

The retrieve-multi-proc API returns a Contract resource in below format.

{
    "resourceType": "Contract",
    "extension": [
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedure",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/providerGroup",
                    "valueString": "0000011460"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/description",
                    "valueString": "Default Multi-Procedure Calculation (BUPA)"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/editable",
                    "valueString": "N"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedure",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/providerGroup",
                    "valueString": "0000011461"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/description",
                    "valueString": "Default Multi-Procedure Calculation (NUH)"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/editable",
                    "valueString": "N"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedure",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/providerGroup",
                    "valueString": "0000037147"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/description",
                    "valueString": "Multi-Procedure Calculation (AXA)"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/editable",
                    "valueString": "Y"
                }
            ]
        }
    ],
    "subject": [
        {
            "reference": "Site/HC00JXI"
        }
    ],
    "type": {
        "coding": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                "code": "PRICING",
                "display": "PRICING"
            }
        ]
    },
    "subType": [
        {
            "coding": [
                {
                    "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                    "code": "FEE_SCHEDULE",
                    "display": "FEE_SCHEDULE"
                }
            ]
        }
    ]
}

Where,

FieldTypeDescription
subjectReferenceSite reference
extension .extension.valueStringExtensionContains the list of provider group, description of multiple procedure price and editable field information.

Error Handling

Retrieve- multi-proc API does not return any API-specific errors. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.

Retrieve Multi Proc Set

The retrieve-multi-proc-set API allows the calling system to get the multiple procedures set for the specified site and provider group.

Endpoint

Endpoint URL must be read from discovery document using key get_multi_proc_set_endpoint.

Request

curl --request GET
--url 'https://contracts.api.dev.healthcode.co.uk/contract/PRICING/$multi-proc-set?
siteId=HC00JXI&
providerGroup=0000011460'

Where,

FieldTypeDescription
siteIdStringSite ID
providerGroupStringProvider Group ID

Response Processing

The retrieve-multi-proc-set API returns a Contract resource in below format.

{
    "resourceType": "Contract",
    "id": "0000011460",
    "extension": [
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "01"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "1"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "100"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/valueOf",
                    "valueString": "HIGHEST"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "02"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "1"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "125"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/valueOf",
                    "valueString": "HIGHEST"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "02"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "2"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "0"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/valueOf",
                    "valueString": "HIGHEST2"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "03"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "1"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "140"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/valueOf",
                    "valueString": "HIGHEST"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "03"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "2"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "0"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/valueOf",
                    "valueString": "HIGHEST2"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "03"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "3"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "0"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/valueOf",
                    "valueString": "OTHER"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "06"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "1"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "0"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "06"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "2"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "0"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "06"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "3"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "0"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "06"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "4"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "0"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "06"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "5"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "0"
                }
            ]
        },
        {
            "url": "https://contracts.api.healthcode.co.uk/contract/extension/multiProcedureRecord",
            "extension": [
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/calcGroup",
                    "valueString": "06"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/procNumber",
                    "valueString": "6"
                },
                {
                    "url": "https://contracts.api.healthcode.co.uk/contract/extension/percentage",
                    "valueString": "0"
                }
            ]
        }
    ],
    "subject": [
        {
            "reference": "Site/HC00JXI"
        }
    ],
    "type": {
        "coding": [
            {
                "system": "https://contracts.api.healthcode.co.uk/valueset/contract-type",
                "code": "PRICING",
                "display": "PRICING"
            }
        ]
    },
    "subType": [
        {
            "coding": [
                {
                    "system": "https://contracts.api.healthcode.co.uk/valueset/contract-subtype/PRICING",
                    "code": "FEE_SCHEDULE",
                    "display": "FEE_SCHEDULE"
                }
            ]
        }
    ]
}

Where,

FieldTypeDescription
subjectReferenceSite reference
idStringProvider Group ID
extension .extension.valueStringExtensionContains the list of calcGroup, procNumber, percentage and valueOf information

Error Handling

Retrieve-multi-proc-set API does not return any API-specific errors. Calling applications must handle the standard error scenarios such as API endpoint not being available, connection timeout, etc.