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

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
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
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", "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" }

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[].​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
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
patient_idstring^\d+$required
Response
application/json
{ "patient_id": "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" }

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[].​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

Task

Operations

Webhooks

Operations

Prescriptions

Operations