## `/api/patients/update`
Adds a new patient if there is no id.
If an id is provided or NHI matches with a current patient that patient will be updated.
Patient details will be updated using the provided details. If any detail is missing, that detail will not be updated.

METHOD: POST
AUTH: Bearer Token
HEADER: Client-Public-Key

BODY:
```js
{
    "id" : "c8547fdd-f915-46b7-8cfd-cc3a79df2b28",
    "email": "test@example.com",
    "first_name": "John", // Not Nullable
    "last_name": "Smith",
    "nhi": "ABC95644",
    "phone_number": "0212345678",
    "address": "100 Great South Road",
    "date_of_birth": "10/03/2000", // DD/MM/YYYY
}
```

Returns
```js
"c8547fdd-f915-46b7-8cfd-cc3a79df2b28"
```

### Notes:
- Is is possible that the returned id does not match the input id. If that is the case, the returned id should be considered the new id for this patient.