Patient Identifiable Data
Overview
Section titled “Overview”The Recruit Patient Identifiable Data (PID) dataset provides clinical and operational data from healthcare organisations participating in recruit studies, with personally identifiable information and real patient identifiers retained. This dataset is designed for studies requiring direct patient identification while maintaining secure access controls and governance compliance. The dataset includes comprehensive clinical events, medications, consultations, and organisational records for study participants.
Data is exposed through structured models covering patient demographics, clinical events, medications, organisational context, and administrative entities, all scoped to study participants and organisations with full patient identification preserved.
Available Models
Section titled “Available Models”Core Clinical Models
Section titled “Core Clinical Models”| Model | Description |
|---|---|
| Patient | Demographics, registration status, and identity information |
| Observation | Clinical observations, test results, and coded entries |
| Consultation | Patient consultations with practitioners |
| Problem | Active and past clinical problems |
| Referral | Inbound and outbound referrals |
| Immunisation | Immunisation and vaccination records |
| Allergy | Patient allergies and adverse reactions |
| Diary Entry | Diary entries and recall events |
| Slot | Appointment slots and booking status |
Medication Models
Section titled “Medication Models”| Model | Description |
|---|---|
| Drug Record | Medication courses (repeat and acute prescriptions) |
| Issue Record | Individual prescription issues from a drug record |
| Drug Record Problem Link | Links between drug records and clinical problems |
| Issue Record Problem Link | Links between issue records and clinical problems |
Code & Reference Models
Section titled “Code & Reference Models”| Model | Description |
|---|---|
| Clinical Code | SNOMED CT and Read code mappings |
| Codeable Concept | Extended code metadata including fully specified names |
| Drug Code | Drug code mappings and pharmaceutical identifiers |
| MKB Mapping Attributes | Language and attribute code mappings |
| MKB Mapping DMD Preparation | dm+d preparation code mappings |
| MKB Mapping Ethnicity | Ethnicity SNOMED code mappings |
| MKB Version | MKB coding database version and metadata |
Organisational & Administrative Models
Section titled “Organisational & Administrative Models”| Model | Description |
|---|---|
| Organisation | Healthcare organisations participating in recruit studies |
| Organisation Location | Locations and branches within organisations |
| User In Role | Healthcare practitioners and their roles within organisations |
| Session | User sessions and system access records |
| Session User | User associations with sessions |
| Sharing Organisation | Organisations with data sharing agreements |
Key Concepts
Section titled “Key Concepts”Patient Identification
Section titled “Patient Identification”This dataset contains real patient identifiers:
- emis_patient_guid: The EMIS system’s unique patient identifier
- nhs_number: NHS number for patient identification
- emis_registration_guid: Patient registration identifier within organisations
- date_of_birth: Full birth date (not age-banded)
Patient identifiable data requires strict access controls and governance compliance. Ensure your organisation has appropriate data protection measures in place.
Study Scoping
Section titled “Study Scoping”All clinical records are scoped to study participants via the study_id foreign
key. Records are included in the dataset only if the patient is registered for
the specified study.
User Identification
Section titled “User Identification”Practitioners and system users are identified by:
- emis_userinrole_guid: Unique identifier for user role assignments
- user_in_role: Links users to organisations and their assigned roles
- session: Tracks user system access and session records
Data Freshness
Section titled “Data Freshness”Data availability and update frequency depends on the source systems and study requirements. Consult your study protocol and data governance documentation for specific refresh schedules.
Organisational Context
Section titled “Organisational Context”Each clinical record includes a reference to the healthcare organisation where the event occurred. This enables analysis across multiple organisations and locations within the study cohort.
Common Patterns
Section titled “Common Patterns”Frequently Asked Questions
Section titled “Frequently Asked Questions”For practical guidance on common modelling questions with patient identifiable data, refer to your study-specific documentation or data dictionary.
Joining Clinical Events to Patient
Section titled “Joining Clinical Events to Patient”Join clinical event models to patient using emis_patient_guid and study_id
to access demographic and identity information:
SELECT o.emis_observation_guid, o.observation_datetime, o.emis_code_id, p.patientid, p.gender, p.date_of_birth, p.nhs_numberFROM explorer_recruit.observation AS oINNER JOIN explorer_recruit.patient AS p ON o.emis_patient_guid = p.emis_patient_guid AND o.study_id = p.study_idWHERE o.study_id = 'STUDY001'Resolving Clinical Codes
Section titled “Resolving Clinical Codes”Use the clinical_code model to look up human-readable terms for clinical
events:
SELECT o.emis_observation_guid, o.observation_datetime, c.term, c.snomed_concept_idFROM explorer_recruit.observation AS oINNER JOIN explorer_recruit.clinical_code AS c ON o.emis_code_id = c.emis_code_id AND o.study_id = c.study_idWHERE o.study_id = 'STUDY001'LIMIT 100Accessing Practitioner Information
Section titled “Accessing Practitioner Information”Link observations and consultations to practitioner details through the
user_in_role model:
SELECT o.emis_observation_guid, o.observation_datetime, u.user_name, u.user_role, org.organisation_nameFROM explorer_recruit.observation AS oINNER JOIN explorer_recruit.user_in_role AS u ON o.emis_authorising_userinrole_guid = u.emis_userinrole_guid AND o.study_id = u.study_idINNER JOIN explorer_recruit.organisation AS org ON u.emis_organisation_guid = org.emis_organisation_guid AND u.study_id = org.study_idWHERE o.study_id = 'STUDY001'Filtering by Organisation
Section titled “Filtering by Organisation”Scope queries to specific healthcare organisations using the organisation GUID:
SELECT p.emis_patient_guid, p.nhs_number, p.date_of_birth, COUNT(DISTINCT o.emis_observation_guid) AS observation_countFROM explorer_recruit.patient AS pLEFT JOIN explorer_recruit.observation AS o ON p.emis_patient_guid = o.emis_patient_guid AND p.study_id = o.study_idWHERE p.study_id = 'STUDY001' AND p.emis_registration_organisation_guid = 'ORG-GUID-001'GROUP BY p.emis_patient_guid, p.nhs_number, p.date_of_birthJoining Medications to Problems
Section titled “Joining Medications to Problems”Link medication records to clinical problems through problem links:
SELECT dr.emis_drug_guid, dr.drug_name, p.problem_description, drpl.linkage_typeFROM explorer_recruit.drug_record AS drINNER JOIN explorer_recruit.drug_record_problem_link AS drpl ON dr.emis_drug_guid = drpl.emis_drug_guid AND dr.study_id = drpl.study_idINNER JOIN explorer_recruit.problem AS p ON drpl.emis_problem_guid = p.emis_problem_guid AND drpl.study_id = p.study_idWHERE dr.study_id = 'STUDY001'LIMIT 100Tracking User Sessions
Section titled “Tracking User Sessions”Monitor user access patterns and session activity:
SELECT s.session_guid, u.user_name, s.session_start_datetime, s.session_end_datetime, org.organisation_nameFROM explorer_recruit.session AS sINNER JOIN explorer_recruit.session_user AS su ON s.session_guid = su.session_guid AND s.study_id = su.study_idINNER JOIN explorer_recruit.user_in_role AS u ON su.emis_userinrole_guid = u.emis_userinrole_guid AND su.study_id = u.study_idINNER JOIN explorer_recruit.organisation AS org ON u.emis_organisation_guid = org.emis_organisation_guid AND u.study_id = org.study_idWHERE s.study_id = 'STUDY001'ORDER BY s.session_start_datetime DESCLIMIT 100