Hero Health Public API (1.0.0)

Download OpenAPI description
Languages
Servers
Mock server
https://developer.herohealth.net/_mock/apis/public-api/openapi/
Staging
https://api.staging.htech.app/
Production
https://api.herohealth.net/

Practice Group

Operations

Admin

Operations

Booking

Operations

Utilities

Operations

Messages

Operations

Booking - HCA

Operations

Care Navigation

Operations

Form

Operations

Form Response

Operations

Invoicing

Operations

Patients

Operations

Get a Patient

Request

Retrieve patient information.

Path
idstringrequired
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/patients/{id}' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
idstring^\d+$required
uidstring or null
emis_idstring or null
ehr_partner_idstring or null
dobstring or null(date-time)required
deceased_atstring or null(date-time)
titlestring or null
Enum"Baron""Baroness""Brigadier""Count""Colonel""Countess""Captain""Dame""The Dowager Viscountess""Dr"
first_namestring or null
last_namestring or null
sexstring or null
Enum"Not known""Not specified""Male""Female""Other"
nhs_numberstring or null
emailstring or null
emailsArray of strings or null
mobilestring or null
last_sync_atstring or null(date-time)
address_line_1string or null
address_line_2string or null
address_line_3string or null
countrystring or null
postcodestring or null
townstring or null
countystring or null
notesstring or null
verification_credentialsArray of strings or null
data_sourcestringrequired
Enum"hero""emis""pds""gha""systm_one"
restrictedboolean
Default false
sex_changed_atstring or null(date-time)
statusstringrequired
Enum"archived""unarchived"
Response
application/json
{ "id": "string", "uid": "string", "emis_id": "string", "ehr_partner_id": "string", "dob": "2019-08-24T14:15:22Z", "deceased_at": "2019-08-24T14:15:22Z", "title": "Baron", "first_name": "string", "last_name": "string", "sex": "Not known", "nhs_number": "string", "email": "string", "emails": [ "string" ], "mobile": "string", "last_sync_at": "2019-08-24T14:15:22Z", "address_line_1": "string", "address_line_2": "string", "address_line_3": "string", "country": "string", "postcode": "string", "town": "string", "county": "string", "notes": "string", "verification_credentials": [ "string" ], "data_source": "hero", "restricted": false, "sex_changed_at": "2019-08-24T14:15:22Z", "status": "archived" }

List Patient EHR Attachments

Request

Retrieves a list of attachments for the patient.

Path
idstringrequired
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/patients/{id}/attachments' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
dataArray of objectsrequired
data[].​ehr_partner_file_idstringrequired
data[].​file_namestringrequired
data[].​file_extensionstringrequired
data[].​created_atstring or null(date-time)required
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

List Patients

Request

Retrieves a list of all patients.

Query
fieldstring
Enum"emis_id""nhs_number""dob"
searchstring
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/patients?field=emis_id&search=string' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
dataArray of objectsrequired
data[].​idstring^\d+$required
data[].​uidstring or null
data[].​emis_idstring or null
data[].​ehr_partner_idstring or null
data[].​dobstring or null(date-time)required
data[].​deceased_atstring or null(date-time)
data[].​titlestring or null
Enum"Baron""Baroness""Brigadier""Count""Colonel""Countess""Captain""Dame""The Dowager Viscountess""Dr"
data[].​first_namestring or null
data[].​last_namestring or null
data[].​sexstring or null
Enum"Not known""Not specified""Male""Female""Other"
data[].​nhs_numberstring or null
data[].​emailstring or null
data[].​emailsArray of strings or null
data[].​mobilestring or null
data[].​last_sync_atstring or null(date-time)
data[].​address_line_1string or null
data[].​address_line_2string or null
data[].​address_line_3string or null
data[].​countrystring or null
data[].​postcodestring or null
data[].​townstring or null
data[].​countystring or null
data[].​notesstring or null
data[].​verification_credentialsArray of strings or null
data[].​data_sourcestringrequired
Enum"hero""emis""pds""gha""systm_one"
data[].​restrictedboolean
Default false
data[].​sex_changed_atstring or null(date-time)
data[].​statusstringrequired
Enum"archived""unarchived"
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

Register a Patient using PDS

Request

Sends minimal patient information to Hero to allow us to trace a patient against the Spine and return their Hero patient_id.If not existing in Hero, the patient record will also be created for that practice group as part of this request.

Bodyapplication/jsonrequired
One of:
nhs_numberstringrequired

A valid NHS number

dobstring or null(date-time)required

ISO 8601 date format

Example: "1989-04-11"
ehr_partnerstringnon-empty
ehr_partner_idstringnon-empty
curl -i -X POST \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/patients/register_pds \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE' \
  -d '{
    "dob": "1989-04-11",
    "postcode": "string",
    "forename": "string",
    "surname": "string",
    "ehr_partner": "string",
    "ehr_partner_id": "string"
  }'

Responses

Ok

Bodyapplication/json
One of:
patient_idstring^\d+$required
Response
application/json
{ "message": "string", "login_url": "string" }

Register a Patient

Request

Create or update a patient based on the data sent. If a patient with matching NHS number and DOB exists for the practice group, it will be updated. Otherwise, a new patient record is created.

Bodyapplication/jsonrequired
One of:
ehr_partner_idstring
nhs_numberstring
dobstringnon-emptyrequired
first_namestringnon-emptyrequired
last_namestringnon-emptyrequired
sexstring
Enum"Not known""Not specified""Male""Female""Other"
titlestring
Enum"Baron""Baroness""Brigadier""Count""Colonel""Countess""Captain""Dame""The Dowager Viscountess""Dr"
landlinestring
address_line_1string
address_line_2string
address_line_3string
countrystring
postcodestring
townstring
countystring
data_sourcestring
Default "emis"
Enum"hero""emis""pds""gha""systm_one"
mobilestringnon-emptyrequired
emailstring
curl -i -X POST \
  https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/patients/register \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE' \
  -d '{
    "ehr_partner_id": "string",
    "nhs_number": "string",
    "dob": "string",
    "first_name": "string",
    "last_name": "string",
    "sex": "Not known",
    "title": "Baron",
    "landline": "string",
    "address_line_1": "string",
    "address_line_2": "string",
    "address_line_3": "string",
    "country": "string",
    "postcode": "string",
    "town": "string",
    "county": "string",
    "data_source": "hero",
    "mobile": "string",
    "email": "string"
  }'

Responses

Ok

Bodyapplication/json
patient_idstring^\d+$required
Response
application/json
{ "patient_id": "string" }

Get Patient Billing Info

Request

Retrieves billing information for the patient.

Path
idstringrequired
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/patients/{id}/billing_info' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
idstring^\d+$required
external_billing_idstringrequired
insuranceobjectrequired
insurance.​insurerstring or nullrequired
insurance.​membership_numberstring or nullrequired
insurance.​auth_codestring or nullrequired
billing_notestring or nullrequired
confidentialboolean or nullrequired
Response
application/json
{ "id": "string", "external_billing_id": "string", "insurance": { "insurer": "string", "membership_number": "string", "auth_code": "string" }, "billing_note": "string", "confidential": true }

List Patient Payment Methods

Request

Retrieves payment methods for default stripe customer of patient.

Path
idstringrequired
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v1/patients/{id}/payment_methods' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
dataArray of objectsrequired
data[].​idstringrequired
data[].​typestringrequired
data[].​brandstringrequired
data[].​last4stringrequired
data[].​checksobject
data[].​walletstring or null
data[].​countrystring or nullrequired
data[].​fundingstring or nullrequired
data[].​exp_yearnumber or nullrequired
data[].​networksobject
data[].​exp_monthnumber or nullrequired
data[].​display_brandstring or null
data[].​generated_fromstring or null
data[].​fingerprintstring or nullrequired
data[].​regulated_statusstring or nullrequired
data[].​three_d_secure_usageobject
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

List Patients (v2)

Request

Retrieves a list of all patients, from either the EHR or HERO.

Query
fieldstring
searchstring
dataSourcestring
Enum"hero""ehr"
curl -i -X GET \
  'https://developer.herohealth.net/_mock/apis/public-api/openapi/v2/patients?dataSource=hero&field=string&search=string' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -H 'x-practice-group-id: YOUR_API_KEY_HERE'

Responses

Ok

Bodyapplication/json
dataArray of objectsrequired
data[].​ehr_partner_idstring or null
data[].​emis_idstring or null
data[].​deceased_atstring or null(date-time)
data[].​dobstring or null(date-time)required
data[].​titlestring or null
Enum"Baron""Baroness""Brigadier""Count""Colonel""Countess""Captain""Dame""The Dowager Viscountess""Dr"
data[].​first_namestring or null
data[].​last_namestring or null
data[].​sexstring or null
Enum"Not known""Not specified""Male""Female""Other"
data[].​nhs_numberstring or null
data[].​emailstring or null
data[].​mobilestring or null
data[].​last_sync_atstring or null(date-time)
data[].​data_sourcestring or null
Enum"hero""emis""pds""gha""systm_one"
data[].​restrictedboolean
Default false
data[].​line_1string or null
data[].​line_2string or null
data[].​line_3string or null
data[].​townstring or null
data[].​countystring or null
data[].​postcodestring or null
data[].​hero_idstring or null^\d+$
data[].​hero_uidstring or null
countnumberrequired
Response
application/json
{ "data": [ {} ], "count": 0 }

Prescription

Operations

Subscriptions

Operations

Task

Operations

Webhooks

Operations

Prescriptions

Operations