Skip to main content
POST/transactional-api/register-permanent-patient-without-nhs-number

Register Patient Without NHS Number

Registers a new GMS permanent registration for a patient who has no NHS number yet (not yet traced, non-UK arrival, private-only, etc), the same effect as a receptionist completing the "without NHS number" GMS registration in Medicus. User-restricted only. Do not use this endpoint if the patient has an NHS number - use register-permanent-nhs-patient instead, which registers via PDS and keeps the patient's NHS number correctly linked. This endpoint never checks whether one exists, and registers the patient without one regardless.

Authorization: Bearer token (JWT). See Authentication.

Request​

curl -L -X POST 'https://{tenantId}.api.england.medicus.health/transactional-api/register-permanent-patient-without-nhs-number' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>' \
-d '{
"title": "Mrs",
"firstName": "Jane",
"middleNames": "Elizabeth",
"lastName": "Doe",
"dateOfBirth": "1990-05-12",
"gender": "female",
"currentHomeAddress": {
"line1": "90 York Way",
"line2": "Kings Cross",
"line3": "string",
"locality": "London",
"administrativeArea": "Greater London"
},
"homePhoneNumber": "01632 960001",
"mobilePhoneNumber": "07700 900001",
"workPhoneNumber": "01632 960002",
"temporaryPhoneNumber": "01632 960003",
"emailAddress": "jane.doe@example.com",
"placeOfBirthCountry": "GBR",
"acceptanceType": "immigrant",
"responsibleHealthAuthority": "BAA",
"usualGp": "4d59c916-9726-11ec-af3f-0a58a9feac02",
"preferredLocationId": "7c2b6e2a-1f0e-4a3e-9b0a-2f6c8e4d5a1b",
"preferredCollectionLocationId": "9a1e2d3c-4b5f-4a6e-8c7d-1e2f3a4b5c6d",
"dateOfEntryIntoUK": "2026-01-01",
"dateOfLeavingUK": "2025-09-01",
"medicationDispensedByPractice": false,
"previousHomeAddress": {
"line1": "90 York Way",
"line2": "Kings Cross",
"line3": "string",
"locality": "London",
"administrativeArea": "Greater London",
"postalCode": "N1 9AG"
},
"previousGPName": "Kings Cross Surgery",
"residentialInstituteCode": "V0",
"gpNotes": "PROOF_OF_IDENTIFICATION",
"gpNotesText": "Passport seen at registration"
}'

Body parameters

FieldTypeRequiredDescription
titlestringNo
firstNamestringYes
middleNamesstringNo
lastNamestringYes
dateOfBirthstring<date>No
genderenumYesOne of: male, female, indeterminate.
currentHomeAddressobjectNoRequired when acceptanceType is transfer-in or immigrant.
homePhoneNumberstringNo
mobilePhoneNumberstringNo
workPhoneNumberstringNo
temporaryPhoneNumberstringNo
emailAddressstring<email>No
placeOfBirthCountrystringYesISO 3166-1 alpha-3 code, or one of the UK internal codes (1=England, 2=Scotland, 3=Wales, 4=Northern Ireland, 7=Sark, 9=Alderney, 10=Channel Islands).
acceptanceTypeenumYesOne of: birth, first-acceptance, transfer-in, immigrant, ex-services.
responsibleHealthAuthorityenumYesThe NHAIS trading partner code for the health authority responsible for the patient. Fixed list, does not vary by practice. One of: BRS, LNC, LNH, BAA, BD, BE, LNW, BIR, BRA, LNL, LNT, BU, ROC, YW, CB, LND, CH, CR, DR, COV, LNR, CU, MID, DE, DN, DCR, DO, DUD, LNM, LNA, TE, LNE, EX, GAT, GG, SO, WR, HT, LNK, KHU, IM, LNJ, KC, LNN, LNS, LA, LDS, LD, LL, LIP, MAN, LNP, NEW, NF, YN, NO, NR, NN, OX, LNB, ROT, SLF, WBH, SOP, SHE, SA, WMF, SM, STL, ST, SPT, SU, SUN, SY, WAK, WAL, WA, GMK, TW, WIG, WL, BIK, WOM.
usualGpstring<uuid>No
preferredLocationIdstring<uuid>NoOne of the ids returned by list-sites.
preferredCollectionLocationIdstring<uuid>NoSets a dispensing collection-point preference for the patient, if supplied. One of the ids returned by list-collection-locations.
dateOfEntryIntoUKstring<date>NoRequired when acceptanceType is immigrant.
dateOfLeavingUKstring<date>No
medicationDispensedByPracticebooleanYes
previousHomeAddressobjectNoRequired when acceptanceType is transfer-in or ex-services.
previousGPNamestringNoRequired when acceptanceType is transfer-in.
residentialInstituteCodeenumNoOne of: V0, Y0.
gpNotesenumNoOne of: PROOF_OF_IDENTIFICATION, REGISTRATION_UNDER_OUT_OF_AREA_SCHEME, OTHER.
gpNotesTextstringNoRequired when gpNotes is OTHER.

Responses​

200 Patient registered.

Response fields

FieldTypeDescription
patientIdstring<uuid>
{
"patientId": "b3d1f7a2-6c4e-4b9a-8e0f-1a2b3c4d5e02"
}
400 Validation error.
23 possible code values
CodeDescriptionWhen
missing-first-nameThe firstName is required.firstName is blank
missing-last-nameThe lastName is required.lastName is blank
missing-genderThe gender is required.gender is blank
invalid-genderThe gender is required and must be a recognised value.gender is present but not one of male, female, indeterminate
invalid-date-of-birthThe dateOfBirth is not a valid date in Y-m-d format.dateOfBirth is present but not a valid date in Y-m-d format
missing-place-of-birth-countryThe placeOfBirthCountry is required.placeOfBirthCountry is blank
invalid-place-of-birth-countryThe placeOfBirthCountry is required and must be a recognised value.placeOfBirthCountry is present but not a recognised value
missing-acceptance-typeThe acceptanceType is required.acceptanceType is blank
invalid-acceptance-typeThe acceptanceType is required and must be a recognised value.acceptanceType is present but not a recognised value
missing-responsible-health-authorityThe responsibleHealthAuthority is required.responsibleHealthAuthority is blank
invalid-responsible-health-authorityThe responsibleHealthAuthority is required and must be a recognised value.responsibleHealthAuthority is present but not a recognised value
invalid-usual-gpThe usualGp is not valid.usualGp is not a valid UUID
invalid-preferred-location-idThe preferredLocationId is not valid.preferredLocationId is not a valid UUID
invalid-preferred-collection-location-idThe preferredCollectionLocationId is not valid.preferredCollectionLocationId is not a valid UUID
invalid-date-of-entry-into-ukThe dateOfEntryIntoUK is required and must be a valid date in Y-m-d format.dateOfEntryIntoUK is missing or invalid for an immigrant acceptanceType
invalid-date-of-leaving-ukThe dateOfLeavingUK is not valid.dateOfLeavingUK is invalid, or inconsistent with dateOfEntryIntoUK
invalid-current-home-addressThe currentHomeAddress is required, with at least line1.currentHomeAddress (or its line1) is missing when required
invalid-previous-home-addressThe previousHomeAddress is required, with at least line1.previousHomeAddress (or its line1) is missing when required
invalid-previous-gp-nameThe previousGPName is required.previousGPName is missing for a transfer-in acceptanceType
invalid-residential-institute-codeThe residentialInstituteCode is not a recognised value.residentialInstituteCode is set to an unrecognised value
invalid-gp-notesThe gpNotes is not a recognised value.gpNotes is set to an unrecognised value
invalid-gp-notes-textThe gpNotesText is required (max 60 characters) when gpNotes is OTHER.gpNotesText is missing or too long when gpNotes is OTHER
possible-duplicate-patientAn existing patient was found with the same family name and date of birth. Use match-patient to check for an existing record before registering a new one.an existing patient already matches on family name and date of birth

Response fields

FieldTypeDescription
errors[].codestring
errors[].descriptionstring
{
"errors": [
{
"code": "missing-first-name",
"description": "The firstName is required."
}
]
}
403 The call is application-restricted rather than user-restricted.

Response fields

FieldTypeDescription
errors[].codestring
errors[].descriptionstring
{
"errors": [
{
"code": "application-restricted-not-supported",
"description": "This endpoint is only available to user-restricted callers."
}
]
}
404 A referenced id does not correspond to anything.
3 possible code values
CodeDescriptionWhen
usual-gp-not-foundNo staff member was found for the given usualGp.usualGp is a validly formed UUID but no staff member exists with that id
preferred-location-not-foundNo site was found for the given preferredLocationId.preferredLocationId is a validly formed UUID but no site exists with that id
preferred-collection-location-not-foundNo collection location was found for the given preferredCollectionLocationId.preferredCollectionLocationId is a validly formed UUID but no collection location exists with that id

Response fields

FieldTypeDescription
errors[].codestring
errors[].descriptionstring
{
"errors": [
{
"code": "usual-gp-not-found",
"description": "No staff member was found for the given usualGp."
}
]
}