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

Register Permanent NHS Patient

Registers a new GMS permanent registration for a patient, the same effect as a receptionist completing GMS registration in Medicus. User-restricted only: the calling staff member must have a CIS2 identity with the RBAC activity code required to update a patient on PDS.

Authorization: Bearer token (JWT). See Authentication.

Request

curl -L -X POST 'https://{tenantId}.api.england.medicus.health/transactional-api/register-permanent-nhs-patient' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <token>' \
-d '{
"nhsNumber": "9730069441",
"acceptanceType": "transfer-in",
"responsibleHealthAuthority": "BAA",
"usualGp": "4d59c916-9726-11ec-af3f-0a58a9feac02",
"dateOfEntryIntoUK": "2026-01-01",
"dateOfLeavingUK": "2025-09-01",
"dateOfEnlistment": "2015-01-01",
"dateOfDischarge": "2020-01-01",
"medicationDispensedByPractice": false,
"preferredLocationId": "7c2b6e2a-1f0e-4a3e-9b0a-2f6c8e4d5a1b",
"preferredCollectionLocationId": "9a1e2d3c-4b5f-4a6e-8c7d-1e2f3a4b5c6d",
"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
nhsNumberstringYesA verified NHS number for the patient.
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
dateOfEntryIntoUKstring<date>NoRequired when acceptanceType is immigrant.
dateOfLeavingUKstring<date>No
dateOfEnlistmentstring<date>NoRequired when acceptanceType is ex-services and previousHomeAddress is not supplied.
dateOfDischargestring<date>No
medicationDispensedByPracticebooleanYes
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.
previousHomeAddressobjectNoRequired when acceptanceType is transfer-in, or ex-services without dateOfEnlistment/dateOfDischarge.
previousGPNamestringNoRequired when acceptanceType is transfer-in.
residentialInstituteCodestringNo
gpNotesstringNo
gpNotesTextstringNoRequired when gpNotes is OTHER.

Responses

200 Patient registered.
{
"patientId": "b3d1f7a2-6c4e-4b9a-8e0f-1a2b3c4d5e02"
}
400 Validation error.
19 possible code values
CodeDescriptionWhen
missing-nhs-numberThe nhsNumber is required.nhsNumber is blank
invalid-nhs-numberThe nhsNumber is not a valid NHS number.nhsNumber is present but not a valid NHS number
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-date-of-enlistmentThe dateOfEnlistment is required and must be a valid date in Y-m-d format.dateOfEnlistment is missing or invalid for an ex-services acceptanceType without a previousHomeAddress
invalid-date-of-dischargeThe dateOfDischarge is not valid.dateOfDischarge is missing, invalid, or before dateOfEnlistment
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
patient-already-registeredThe patient for this NHS number already has an active permanent registration.the patient already has an active permanent registration
{
"errors": [
{
"code": "missing-nhs-number",
"description": "The nhsNumber is required."
}
]
}
403 The calling staff member cannot be authorised for this action.
3 possible code values
CodeDescriptionWhen
cis2-not-logged-inThis staff member is not currently logged in with CIS2. They must log in with CIS2 and try again.the calling staff member is not currently logged in with CIS2 (never logged in, or their session has lapsed and could not be refreshed)
cis2-activity-not-grantedThis staff member's CIS2 role does not have the RBAC activity code required.the calling staff member's CIS2 role lacks the required RBAC activity code
application-restricted-not-supportedThis endpoint is only available to user-restricted callers.the call is application-restricted rather than user-restricted
{
"errors": [
{
"code": "cis2-not-logged-in",
"description": "This staff member is not currently logged in with CIS2. They must log in with CIS2 and try again."
}
]
}
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
{
"errors": [
{
"code": "usual-gp-not-found",
"description": "No staff member was found for the given usualGp."
}
]
}