Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Page content:

Table of Contents

Background

An integration A mechanism/process is required to bring across GMC LRMP (List of Registered Medical Practitioners)  data to update trainees records on TIS. This page captured captures the LRMP data mapping and how we'd intend to bring across the LRMP data as an MVP and Post MVP.

Currently, the LRMP Data can be accessed only via an SFTP share a secure webiste or sent (daily) by email in CSV format with the following schema. The user guide has been attached to this page too, see list of attachments at the bottom of the page.

The archived space for relevant comments made previously - /wiki/spaces/TISDEV/pages/57281626


GMC LRMP Data

from Spec

Specification

Column Name
Example
Description
GMC Ref No1393398

This is the unique seven digit reference number allocated by the GMC to each registered doctor.

SurnameChater

The surname, last name or family name in mixed case.

Given NameSusan

The given / first names in mixed case.

Other NamesY/N

The doctor’s other or “middle” names in mixed case. This field will contain all of the other names that the doctor has registered with the GMC.

GenderW

Man (M) or Woman (W)

QualificationMB BCh

This is the name of the doctor’s Primary Medical Qualification

Year Of Qualification1978

The year when Primary Medical Qualification exams were passed.

Place of QualificationNational University of IrelandThe name of the Place of Study for Primary Medical Qualification
PR Date (Provisional Registration)5071978

This is the date that the doctor was first granted Provisional Registration.

FR Date (Full Registration)8021980

This is the date that the doctor was first granted Full Registration.

Specialist Register Date25022003

This is the date that the doctor was entered into the Specialist Register.

GP Register Date

This is the date that the doctor was entered into the GP Register.

Registration StatusRegistered with Licence

The current status of a doctor's entry in the Register, including the doctor’s Licence status.

ARF Due Date ( Annual Retention Fee)8022012

This is the date that the doctor’s Annual Retention Fee (ARF) is due.

Specialty1General (internal) medicine

This is the specialty identified in the specialist register. Up to 7 specialties can be provided for a given doctor.

Sub_Specialty1

This is the sub-specialty identified in the specialist register. Up to 7 sub-specialties can be provided for a given doctor.

Specialty2

This is the specialty identified in the specialist register. Up to 7 specialties can be provided for a given doctor.

Sub_Specialty2

This is the sub-specialty identified in the specialist register. Up to 7 sub-specialties can be provided for a given doctor.

Specialty3

This is the specialty identified in the specialist register. Up to 7 specialties can be provided for a given doctor.

Sub_Specialty3

This is the sub-specialty identified in the specialist register. Up to 7 sub-specialties can be provided for a given doctor.

Specialty4

This is the specialty identified in the specialist register. Up to 7 specialties can be provided for a given doctor.

Sub_Specialty4

This is the sub-specialty identified in the specialist register. Up to 7 sub-specialties can be provided for a given doctor.

Specialty5

This is the specialty identified in the specialist register. Up to 7 specialties can be provided for a given doctor.

Sub_Specialty5

This is the sub-specialty identified in the specialist register. Up to 7 sub-specialties can be provided for a given doctor.

Specialty6

This is the specialty identified in the specialist register. Up to 7 specialties can be provided for a given doctor.

Sub_Specialty6

This is the sub-specialty identified in the specialist register. Up to 7 sub-specialties can be provided for a given doctor.

Specialty7

This is the specialty identified in the specialist register. Up to 7 specialties can be provided for a given doctor.

Sub_Specialty7

This is the sub-specialty identified in the specialist register. Up to 7 sub-specialties can be provided for a given doctor.

FTP Conditions Exist (Fitness to Practise)

This indicates whether the doctor has active Fitness to Practise Conditions applied to their Registration.

FTP Undertakings ExistN

This indicates whether the doctor has active Fitness to Practise Undertakings applied to their Registration.

FTP Warnings ExistN

This indicates whether the doctor has an active Fitness to Practise Warning.

Place of Qualification CountryIreland

The name of the country where a doctor undertook their Primary Medical Qualification.


...

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTISNEW-3246

The Main fields we are interested in for TIS are:

  • ARF Due Date ( Annual Retention Fee) = 'GMC end date' on TIS
  • 'FR Date (Full Registration)' or 'PR Date (Provisional Registration)' = 'GMC start date' on TIS based on the 'GMC status' the trainee hold.
  • GMC Status

For TIS purpose GMC has confirmed the following to be appropriate:
• GMC start date = PR date to update on TIS:

TIS FieldGMC LRMP Field to populate with
GMC start date
  • Populate with 'PR date' if they only have a PR (Provisional Rgistration) and no FR (Full Registration) date;
  • else use the 'FR date' if they have one;
  • else if they don’t have any of those then no date.

...

GMC end date

...

  • Populate with 'ARF due date' if one is sent in LRMP, else no date.
GMC Status
  • Populate with Registration status

Note: “The ‘Delta’ file contains all LRMP records that have been updated in the last 24 hours.”

In a scenario where the last delta failed to update on TIS for whatever reason the following has been suggested by the GMC:

  • GMC preserve a rolling 7 days of Delta files in the download area, which should allow us to recover from any load issues
  • Failing that, then the suggestion is to get the full file before carrying on with the delta
  • Delta files are produced 7 days a week

MVP - (discuss with devs and split ticket)

  • 11/06/2020: Suggestion is to at least consider periodical updates on TIS with the GMC LRMP data that is now available in National Data Warehouse under sql02 

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTISNEW-3246

Post MVP- (discuss with devs and split ticket)

  • Consider Delta updates in addition to full loads
  • Engage in discussions with GMC stakeholders to build an API and some form of alignment with their roadmap

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTISNEW-3246

List of Registration Statuses and Dates


GMC status

GMC Start date

GMC End/Expiry Date

Provisionally registered with Licence

Provisional registration date

No date from LRMP

Provisionally registered without a Licence

Provisional registration date

No date from LRMP

Temporary registration with Licence

Some people with no date at all (e.g. a brain surgeon temporarily required), will not have an ARF date.

Some may have a PR/FR grant date. 

No date from LRMP

Temporary registration without a Licence

Some people may have no date if they’ve never been granted PR/FR in the UK.

For those that do, first PR/FR grant date ever.

No date from LRMP

Registered with Licence

Full registration date

ARF Due Date ( Annual Retention Fee)

Registered without a Licence

PR/FR if held before still sent.

Some people may not have PR but will have a FR. Therefore, FR date is the start date.

If they have both FR and PR, then PR if the start date.

ARF Due Date ( Annual Retention Fee)

Suspended

Some people may have no date if they’ve never been granted PR/FR in the UK.

For those that do, first PR/FR grant date ever.

No date from LRMP

Not Registered - Administrative Reason

Some people may have no date if they’ve never been granted PR/FR in the UK.

For those that do, first PR/FR grant date ever.

No date from LRMP

Not Registered - Deceased

Some people may have no date if they’ve never been granted PR/FR in the UK.

For those that do, first PR/FR grant date ever.

No date from LRMP

Not Registered - Erased after Fitness to Practise panel hearing

Some people may have no date if they’ve never been granted PR/FR in the UK.

For those that do, first PR/FR grant date ever.

No date from LRMP

Not Registered - Having relinquished registration

Some people may have no date if they’ve never been granted PR/FR in the UK.

For those that do, first PR/FR grant date ever.

No date from LRMP

Not Registered – Erased for false declaration

Some people may have no date if they’ve never been granted PR/FR in the UK.

For those that do, first PR/FR grant date ever.

No date from LRMP

Not Registered – Erased for fraudulent application

Some people may have no date if they’ve never been granted PR/FR in the UK.

For those that do, first PR/FR grant date ever.

No date from LRMP

Not Registered – Provisional registration expired

PR Date

No date from LRMP


Questions and Assumptions

...

/ Design Considerations - (Draft TBD)

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTISNEW-3359


No.Question and AssumptionComments
1.

API:

  1. Interaction style/pattern:

    1. Existing paradigm of TIS request to GMC Service is more consistent;

    2. registering a TIS service that the GMC notifies of changes to the List of Registered Medical Professionals.

    3. Drop the GMCDetails table, each time GMC data is needed (e.g. doctor page view)

    4. Upsert a person record triggers a call to persist the GMC data in TIS.


2.

Operations:

  1. They are:

    1. "Get all doctors"

    2. "Get doctor number 9999999"

    3. "Get doctors updated since ddmmyyyy"

    4. something else?

  2. We could make use of the 1st planned Operation (ii) but would prefer to make use of (iii), especially if specifying a very old dateSince on a “Get Doctors Updated Since” could replace the “Get All” operation.

  3. Assumption is TIS would call (iii) daily but should evaluate whether calling it more frequently would make much difference.


3

Batching/Paging:

Batching/Paging of Response data is desirable if there are more than c.?10,000? records; will also need to consider batching of requested data if we have large numbers of trainees that are bulk uploaded.


4

Format:

  1. A RESTful JSON Service would be preferable, but

  2. we are just as happy to create a SOAP WebService (like the revalidation services).


5

Data:

  1. We assume the response will include the full dataset but only intend to use Status, Start & End Dates.

  2. We expect to match on Surname & GMC Number but could use further demographics (e.g. Forename or Gender).

  3. We only ever want the current information.


6

GMC's MVP/Pilot:

The pilot of “Get Doctor By GMC Number” probably involves (subtasks);

  1. search for GMC data on Create or Update of Identifying information (Surname or GMC Number).

  2. scheduled job to run a search for all doctors.


7

What (if any relationship) is there between the DoctorsForDesignatedBody (revalidation) and the LRMP data? Does LRMP include more than just the doctors that we would be interested in? LRMP contains c.308K records.

After discussion, we came to conclusion there's none at the moment in the dataset.
8

Are there existing WebService Operations that could include LRMP data? No

None at present
9

If it were needed before a pilot is ready; we could create a Client to:

  1. Get the zipped CSV resources, or if that isn’t possible

  2. use something like GreaseMonkey (or import.io) to simulate logging in and scraping the resources page.


10

Do we have the current SFTS doc/data spec? Is data well populated (esp. Gender)?


11

Are there metrics (Google Analytics, person page per. week) that we can get ahead of talking to the GMC team (Pete et al.)?


12

Should we take LRMP data from ESR, which is taken from GMC until there is a GMC Service available?


13

Pete:

We don't have an LRMP API at the moment.

We hope to build and pilot one later next year.

What would your use case be?

  • A - "Get all doctors"
  • B - "Get doctor number 7654321"
  • C - "Get doctors updated since ddmmyyyy"
  • D - something else?

... as I expect our MVP and pilot version is only likely to deliver 'B'.

Your intended usage may help us steer our roadmap.


TIS Team:

  • The A → C →  B is how we’d imagined a go-live would be implemented in terms of an order of what we'd use. In terms of frequency we’d use it (C → B → A); would be C daily, B on updates/creation of trainees, A to load and possibly at infrequent intervals.
  • We're also doing some thinking about what it would look like and wanted to clarify what was meant in 2); was it every time a user looks at the record or just on every 'save' action that changes the 'identifying information'

14

Pete:

A couple of challenges for consideration/discussion:

  • Is it good API design for us to provide a payload of ~308,000 doctor records on a single API call?   Would you want us to serve that method on demand?  Hourly maybe?  Bear in mind we would likely have hundreds of subscribers.  I personally struggle to see how such an API call would be workable at scale.


  • Is there really a requirement to keep the TIS system fully synchronised with our data?   What about taking a different approach – where GMC data isn’t stored at all, but instead; every time you reviewed a record in TIS, it called our API and retrieves that individual’s data in real time?  Would you agree that this is more in the spirit of modern API architecture?











Files and attachments

Attachments

...