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,
Field | Type | Description |
---|---|---|
site | String | Site reference for which the prices needs to be fetched. |
location | String | Specific Location reference that the prices are defined for. |
payor | String | Payor or insurer reference for which the prices are derived. Multiple payorIds can be provided using “,” separated. |
service-code | String | Specific 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 |
---|---|---|
id | String | Unique ID for this contract. |
type | String | Contract type. |
subType | String | Contract sub type. |
authority | Reference | Payor details. Only enriched when type = PRICING and subType = FEE_SCHEDULE or PRACTITIONER_BESPOKE_CONTRACT. |
subject | Reference | Practitioner ID. Only enriched when type = PRICING and subType = PRACTITIONER_BESPOKE_CONTRACT or SELF_PAY. |
term.asset.context.reference | Reference | Reference to the Contract from which the specific value is derived. |
term.asset.context.text | String | Description of the contract. |
term.asset.valuedItem.entityCodeableConcept | CodeableConcept | Service or Procedure code. Where this is a procedure code, a corresponding service code entry will also be included. |
term.asset.valuedItem.net | Money | Fee for the current service/procedure code. |
term.asset.extension | Extension | isESTV 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,
Field | Type | Description |
---|---|---|
expansion.contains.code | String | Contract type. |
expansion.contains.display | String | Description 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,
Field | Type | Description |
---|---|---|
expansion.contains.code | String | Contract sub type. |
expansion.contains.display | String | Description 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,
Field | Type | Description |
---|---|---|
entry.resource.id | String | Unique IDfor this contract. |
entry.resource.type | String | Contract type. |
entry.resource.subType | String | Contract sub type. |
entry.resource.authority | Reference | Payor or Contact as Payor details. Only enriched when type = PRICING and subType = FEE_SCHEDULE or PRACTITIONER_BESPOKE_CONTRACT. |
entry.resource.subject | Reference | Practitioner 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,
Field | Type | Mandatory/Optional | Description |
---|---|---|---|
id | String | M for Update | Unique ID for this contract. Must be present during update. |
type | String | O | Contract type. |
subType | String | O | Contract sub type. |
subject | Reference | M | Site ID Format: Site/<Site ID> |
authority | Reference | M | Payor 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,
Field | Type | Description |
---|---|---|
site | String | Site for which the payor needs to be deleted. |
payorId | String | Payor or insurer to be deleted. Format: Organization/<payor> |
payorType | String | Payor or insurer type. Value will be “I” for payor. |
providerGroup | String | Contract 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,
Field | Type | Description |
---|---|---|
id | String | Unique ID for this contract. Must be present during update. |
type | String | Contract type. |
subType | String | Contract sub type. |
authority | Reference | Contact 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,
Field | Type | Description |
---|---|---|
site | String | Site from which the contact as a payor needs to be deleted. |
payorId | String | Contact as payor to be deleted. Format: Person/<contact> |
payorType | String | Contact as payor type. Value will be “C” for contact. |
providerGroup | String | Contract 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 |
---|---|---|
context | Reference | Payor reference. |
subject | Reference | Site reference. |
term.asset.valuedItem.entityCodeableConcept | CodeableConcept | Service 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,
Field | Type | Description |
---|---|---|
indStdCode | String | Standard Service code for which the service is to be deleted. |
indStdCodeScheme | String | 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 |
---|---|---|
context | Reference | Payor reference. |
subject | Reference | Site reference. |
term.asset.valuedItem.entityCodeableConcept | CodeableConcept | Service 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,
Field | Type | Description |
---|---|---|
indStdCode | String | Standard Service code for which the service with procedure is to be deleted. |
indStdCodeScheme | String | Standard Service code scheme for which the service with procedure is to be deleted. |
procedureCode | String | Standard Procedure code for which the service with procedure is to be deleted. |
procedureScheme | String | 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 |
---|---|---|
context | Reference | Payor reference. |
subject | Reference | Site reference. |
term.asset.valuedItem.entityCodeableConcept | CodeableConcept | Service or Procedure code. Where there is a procedure code a corresponding service code must also be included. |
term.asset.valuedItem.net | Money | Fee 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 |
---|---|---|
context | Reference | Payor and Location reference. |
subject | Reference | Site reference. |
term.asset.valuedItem.entityCodeableConcept | CodeableConcept | Service or Procedure code. Where there is a procedure code a corresponding service code must also be included. |
term.asset.valuedItem.net | Money | Fee 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 |
---|---|---|
subject | Reference | Site reference. |
context | Reference | Payor reference for type “PriceGroupAssignment” |
term.asset.valuedItem.entityCodeableConcept | CodeableConcept | Service or Procedure code for type “PriceGroupAssignment”. Where there is a procedure code a corresponding service code must also be included. |
term.asset.valuedItem.net | Money | Fee for the current service/procecure code for “PriceGroupAssignment” |
context | Reference | Payor 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,
Field | Type | Description |
---|---|---|
indStdCode | String | Standard Service code for which the fee is to be deleted. |
indStdCodeScheme | String | Standard Service code scheme for which the fee is to be deleted. |
procedureCode | String | Standard Procedure code for which the fee is to be deleted. |
procedureScheme | String | 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,
Field | Type | Description |
---|---|---|
payor | String | Payor ID |
practitioner | String | Practitioner SP number |
payor-type | String | Payor type |
provider-type | String | Provider type |
location | String | Location |
site | String | Site ID |
service-type | String | Service 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,
Field | Type | Description |
---|---|---|
term.asset.valuedItem.net.value | Money | Fee 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,
Field | Type | Description |
---|---|---|
payor | String | Payor ID |
practitioner | String | Practitioner SP number |
payor-type | String | Payor Type |
provider-type | String | Provider Type |
location | String | Location |
site | String | Site ID |
service-type | String | Service Type for which the fee is to be retrieved. Format: ServiceScheme/ServiceCode |
valuedItem.procedureCode | String | Procedure 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,
Field | Type | Description |
---|---|---|
term.asset.valuedItem.net.value | Money | Fee 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,
Field | Type | Description |
---|---|---|
site | String | Site ID |
payor | String | Payor ID |
code | String | Service code for which the fee is to be retrieved. |
payor-type | String | Code type of service. Value = “S” |
practitioner | String | Practitioner 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,
Field | Type | Description |
---|---|---|
subject | Reference | Site reference |
term.asset.context | Reference | Payor and Practitioner reference |
term.asset.valuedItem.entityCodeableConcept | CodeableConcept | Service details |
term.asset.extension.valueString | Extension | Contains 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,
Field | Type | Description |
---|---|---|
site | String | Site ID |
payor | String | Payor ID |
code | String | Procedure code for which the fee is to be retrieved. |
payor-type | String | Code type of procedure. Value = “P” |
practitioner | String | Practitioner 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,
Field | Type | Description |
---|---|---|
subject | Reference | Site reference |
term.asset.context | Reference | Payor and Practitioner reference |
term.asset.valuedItem.entityCodeableConcept | CodeableConcept | Procedure details |
term.asset.extension.valueString | Extension | Contains 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,
Field | Type | Description |
---|---|---|
siteId | String | Site 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,
Field | Type | Description |
---|---|---|
subject | Reference | Site reference |
extension .extension.valueString | Extension | Contains 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,
Field | Type | Description |
---|---|---|
siteId | String | Site ID |
providerGroup | String | Provider 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,
Field | Type | Description |
---|---|---|
subject | Reference | Site reference |
id | String | Provider Group ID |
extension .extension.valueString | Extension | Contains 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.