Remote Subscriber Database (RSD) Schema (Compass 2): Difference between revisions

From Discovery Data Service
Jump to navigation Jump to search
No edit summary
 
Line 225: Line 225:
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
== Table: appointment_status ==
PRIMARY KEY (id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|id
|smallint(6)
|NOT NULL
|Unique Id of the appointment  status
|
|-
|Value
|varchar(50)
|NOT NULL
|The value of the appointment  status
|
|-
| colspan="5" |CONSTRAINT  PRIMARY KEY (id)
|}
|}


Line 365: Line 341:
|}
|}


== Table: concept_property_object ==
== Table: diagnostic_order ==
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 373: Line 350:
|'''References'''
|'''References'''
|-
|-
|dbid
|id
|int(11)
|bigint
|NOT NULL
|NOT NULL
|Unique Id of the concept
|Unique Id of the diagnostic  order
|
|
|-
|-
|group
|organization_id
|int(11)
|bigint
|NOT NULL
|NOT NULL
|Grouping identifier
|Owning organisation (i.e.  publisher)
|
|
|-
|-
|property
|patient_id
|int(11)
|bigint
|NOT NULL
|NOT NULL
|The property concept
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|
|
|-
|-
|value
|person_id
|int(11)
|bigint
|NOT NULL
|NOT NULL
|The value concept for the given concepts property
|Unique individual across all organisations
|
|
|-
|-
|updated
|encounter_id
|datetime
|bigint
|NOT NULL
|Timestamp the property value was updated/added
|
|}
 
== Table: concept_tct ==
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|Source
|int(11)
|DEFAULT NULL
|DEFAULT NULL
|Source concept
|Reference to the encounter the  observation was recorded at
|
|
|-
|-
|Property
|practitioner_id
|int(11)
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Property concept
|The clinician the activity is  recorded against
|
|
|-
|-
|Level
|clinical_effective_date
|int(11)
|date
|DEFAULT NULL
|DEFAULT NULL
|The "distance" of the  from source (1=parent, 2=grandparent, etc)
|The date the diagnostic order was identified by a clinician
|
|
|-
|-
|Target
|date_precision_concept_id
|int(11)
|int
|DEFAULT NULL
|DEFAULT NULL
|The target
|Identifies the precision of the  clinical effectiveness date to either year (1) month (2) day (5) minute (12) second  (13) millisecond (14)
|
|
|-
|-
|Status
|result_value
|int(11)
|real
|DEFAULT NULL
|DEFAULT NULL
|Whether the concept is active
|The value of the result of the  observation
|
|
|-
|-
|created_date
|result_value_units
|datetime
|varchar(50)
|DEFAULT NULL
|DEFAULT NULL
|When the concept was created
|The units of the result of the  observation
|
|
|}
== Table: consent_code ==
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|STATUS
|result_date
|varchar(10)
|date
|DEFAULT NULL
|DEFAULT NULL
|Whether the consent code is  active
|The date of the result
|
|
|-
|-
|DESCRIPTION
|result_text
|varchar(100)
|text
|DEFAULT NULL
|DEFAULT NULL
|Description of the consent code
|Any text associated with the result
|
|
|-
|-
|CODE
|result_concept_id
|varchar(20)
|int
|DEFAULT NULL
|DEFAULT NULL
|The actual consent code
|Reference to the clinical  coding of the result
|
|
|-
|-
|TERM_CODE
|is_problem
|varchar(20)
|boolean
|DEFAULT NULL
|NOT NULL
|The clinical term code
|Whether the observation is marked  as a problem
|
|
|-
|-
|TERM
|is_review
|varchar(100)
|boolean
|DEFAULT NULL
|The clinical term
|
|}
 
== Table: date_precision ==
PRIMARY KEY(id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|Id
|smallint(6)
|NOT NULL
|NOT NULL
|Whether the observation is a  review of an existing problem
|
|
|-
|problem_end_date
|date
|DEFAULT NULL
|The end date of the problem
|
|
|-
|-
|Value
|parent_observation_id
|varchar(11)
|bigint
|NOT NULL
|DEFAULT NULL
|Reference to the parent  observation in a complex observation eg systolic and diastolic blood  pressures will have a parent observation of Blood pressure
|
|
|-
|core_concept_id
|int
|DEFAULT NULL
|Reference to the clinical  coding of the observation
|
|
|-
|-
| colspan="5" |CONSTRAINT PRIMARY KEY (id)
|non_core_concept_id
|}
|int
 
|DEFAULT NULL
== Table: diagnostic_order ==
|Reference to the clinical  coding of the observation
PRIMARY KEY (organization_id,person_id,id)
|
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|id
|age_at_event
|bigint
|decimal (5,2)
|NOT NULL
|DEFAULT NULL
|Unique Id of the diagnostic order
|The age of the patient at the time of the observation
|
|
|-
|-
|organization_id
|episodicity_concept_id
|bigint
|int
|NOT NULL
|DEFAULT NULL
|Owning organisation (i.e. publisher)
|Reference to the episodicity of the problem eg First, review, flare
|
|
|-
|-
|patient_id
|is_primary
|bigint
|boolean
|NOT NULL
|DEFAULT NULL
|The organisations record for this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|Whether the diagnostic order is a primary order
|
|
|-
|-
|person_id
| colspan="5" |CONSTRAINT pk_diagnostic_order_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|bigint
|-
|NOT NULL
| colspan="5" |CONSTRAINT fk_diagnostic_order_encounter_id FOREIGN KEY (encounter_id)
|Unique individual across all  organisations
|
|-
|-
|encounter_id
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|bigint
|DEFAULT NULL
|Reference to the encounter the  observation was recorded at
|
|-
|-
|practitioner_id
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|bigint
|DEFAULT NULL
|The clinician the activity is  recorded against
|
|-
|-
|clinical_effective_date
| colspan="5" |CONSTRAINT fk_diagnostic_order_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|date
|DEFAULT NULL
|The date the diagnostic order  was identified by a clinician
|
|-
|-
|date_precision_concept_id
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|int
|DEFAULT NULL
|Identifies the precision of the  clinical effectiveness date to either year (1) month (2) day (5) minute (12) second  (13) millisecond (14)
|
|-
|-
|result_value
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|real
|DEFAULT NULL
|The value of the result of the  observation
|
|-
|-
|result_value_units
| colspan="5" |CONSTRAINT fk_diagnostic_order_practitioner_id FOREIGN KEY (practitioner_id)
|varchar(50)
|-
|DEFAULT NULL
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|The units of the result of the observation
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
 
== Table: encounter ==
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|id
|bigint
|NOT NULL
|Unique Id of the encounter
|
|
|-
|-
|result_date
|organization_id
|date
|bigint
|DEFAULT NULL
|NOT NULL
|The date of the result
|Owning organisation (i.e.  publisher)
|
|
|-
|-
|result_text
|patient_id
|text
|bigint
|DEFAULT NULL
|Any text associated with the  result
|
|-
|result_concept_id
|int
|DEFAULT NULL
|Reference to the clinical  coding of the result
|
|-
|is_problem
|boolean
|NOT NULL
|NOT NULL
|Whether the observation is marked as a problem
|The organisations record for this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|
|
|-
|-
|is_review
|person_id
|boolean
|bigint
|NOT NULL
|NOT NULL
|Whether the observation is a review of an existing problem
|Unique individual across all organisations
|
|
|-
|-
|problem_end_date
|practitioner_id
|date
|bigint
|DEFAULT NULL
|DEFAULT NULL
|The end date of the problem
|The clinician the activity is  recorded against
|
|
|-
|-
|parent_observation_id
|appointment_id
|bigint
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Reference to the parent observation in a complex observation eg systolic and diastolic blood  pressures will have a parent observation of Blood pressure
|Reference to the appointment this encounter took part on
|
|
|-
|-
|core_concept_id
|clinical_effective_date
|int
|date
|DEFAULT NULL
|DEFAULT NULL
|Reference to the clinical  coding of the observation
|The date the clinical code is recorded for
|
|
|-
|-
|non_core_concept_id
|
date_precision_concept_id
|int
|int
|DEFAULT NULL
|DEFAULT NULL
|Reference to the clinical coding of the observation
|Reference to the precision of the date of the encounter
|
|-
|episode_of_care_id
|bigint
|DEFAULT NULL
|Is this instance of the code a  review of a previous encounter
|
|
|-
|-
|age_at_event
|service_provider_organization_id
|decimal (5,2)
|bigint
|DEFAULT NULL
|DEFAULT NULL
|The age of the patient at the  time of the observation
|Reference to the service provider organisation
|
|
|-
|-
|episodicity_concept_id
|core_concept_id
|int
|int
|DEFAULT NULL
|DEFAULT NULL
|Reference to the episodicity of  the problem eg First, review, flare
|Reference to the type of  encounter
|
|
|-
|-
|is_primary
|non_core_concept_id
|boolean
|int
|DEFAULT NULL
|DEFAULT NULL
|Whether the diagnostic order is a primary order
|Reference to the type of encounter
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_diagnostic_order_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|age_at_event
|decimal(5,2)
|DEFAULT NULL
|The age the patient was when  this encounter took place
|
|-
|-
| colspan="5" |CONSTRAINT fk_diagnostic_order_encounter_id FOREIGN KEY (encounter_id)
|Type
|text
|DEFAULT NULL
|Unused
|
|-
|-
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|sub_type
|text
|DEFAULT NULL
|Unused
|
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|admission_method
|varchar(40)
|DEFAULT NULL
|The admission method of the  encounter
|
|-
|-
| colspan="5" |CONSTRAINT fk_diagnostic_order_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|end_date
|date
|DEFAULT NULL
|The end date of the encounter
|
|-
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|institution_location_id
|text
|DEFAULT NULL
|Reference to the institution  the encounter took place at
|
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|date_recorded
|-
|datetime
| colspan="5" |CONSTRAINT fk_diagnostic_order_practitioner_id FOREIGN KEY (practitioner_id)
|DEFAULT NULL
|The date the encounter was  recorded
|
|-
| colspan="5" |
CONSTRAINT pk_encounter_id PRIMARY KEY (organization_id,person_id,id),
|-
| colspan="5" |CONSTRAINT fk_encounter_appointment_id FOREIGN KEY (appointment_id)
|-
| colspan="5" |REFERENCES appointment (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|-
| colspan="5" |CONSTRAINT fk_encounter_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_encounter_practitioner_id FOREIGN KEY (practitioner_id)
|-
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_encounter_episode_of_care_id FOREIGN KEY (episode_of_care_id)
|-
| colspan="5" |REFERENCES episode_of_care (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_encounter_service_provider_organization_id FOREIGN KEY (service_provider_organization_id)
|-
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
|}


== Table: encounter ==
== Table: encounter_additional ==
PRIMARY KEY (organization_id,person_id,id)
PRIMARY KEY (id, property_id, value_id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
|'''Data type'''
|'''Data type'''
Line 686: Line 673:
|bigint
|bigint
|NOT NULL
|NOT NULL
|Unique Id of the encounter
|same as the id column on the encounter table
|
|
|-
|-
|organization_id
|property_id
|bigint
|int
|NOT NULL
|NOT NULL
|Owning organisation (i.e. publisher)
|IM reference (i.e. Admission method)
|
|
|-
|-
|patient_id
|value_id
|bigint
|int
|NOT NULL
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|IM reference (i.e. Emergency admission)
|
|
|-
|-
|person_id
|json_value
|bigint
|JSON
|NOT NULL
|NULL
|Unique individual across all  organisations
|where there is no mapped value_id, just raw JSON (i.e. birth delivery details)
|
|
|-
|-
|practitioner_id
|text_value
|bigint
|varchar(255)
|DEFAULT NULL
|NULL
|The clinician the activity is recorded against
|where there is no mapped value_id, or raw JSON, just a basic text value (i.e. FIN number)
|
|
|-
|-
|appointment_id
| colspan="5" |CONSTRAINT pk_encounter_additional_id PRIMARY KEY (id, property_id, value_id)
|}
 
== Table: encounter_event ==
PRIMARY KEY (organization_id, person_id, id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|id
|bigint
|bigint
|DEFAULT NULL
|NOT NULL
|Reference to the appointment this encounter took part on
|Unique Id of the encounter event
|
|
|-
|-
|clinical_effective_date
|organization_id
|date
|bigint
|DEFAULT NULL
|NOT NULL
|The date the clinical code is recorded for
|Owning organisation (i.e. publisher)
|
|
|-
|-
|
|patient_id
date_precision_concept_id
|bigint
|int
|NOT NULL
|DEFAULT NULL
|The patient this event belongs  to
|Reference to the precision of  the date of the encounter
|
|
|-
|-
|episode_of_care_id
|person_id
|bigint
|NOT NULL
|The person this event belongs  to
|
|-
|encounter_id
|bigint
|NOT NULL
|Reference to the parent  encounter record
|
|-
|practitioner_id
|bigint
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Is this instance of the code a review of a previous encounter
|The clinician the activity is recorded against
|
|
|-
|-
|service_provider_organization_id
|appointment_id
|bigint
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Reference to the service provider organisation
|Reference to the appointment this encounter took part on
|
|
|-
|-
|core_concept_id
|clinical_effective_date
|int
|datetime
|DEFAULT NULL
|DEFAULT NULL
|Reference to the type of encounter
|The date the encounter took place
|
|
|-
|-
|non_core_concept_id
|date_precision_concept_id
|int
|int
|DEFAULT NULL
|DEFAULT NULL
|Reference to the type of  encounter
|Reference to the precision of  the date of the encounter
|
|
|-
|-
|age_at_event
|episode_of_care_id
|decimal(5,2)
|bigint
|DEFAULT NULL
|DEFAULT NULL
|The age the patient was when this encounter took place
|Reference to the episode of care this encounter belongs to
|
|
|-
|-
|Type
|service_provider_organization_id
|bigint
|DEFAULT NULL
|Reference to the service  provider organisation
|
|-
|core_concept_id
|int
|DEFAULT NULL
|Reference to the type of  encounter
|
|-
|non_core_concept_id
|int
|DEFAULT NULL
|Reference to the type of  encounter
|
|-
|age_at_event
|decimal(5,2)
|DEFAULT NULL
|The age of the patient at the time  of the encounter
|
|-
|type
|text
|text
|DEFAULT NULL
|DEFAULT NULL
Line 787: Line 821:
|-
|-
|institution_location_id
|institution_location_id
|text
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Reference to the institution  the encounter took place at
|Reference to the institution  the encounter took place at
Line 798: Line 832:
|
|
|-
|-
| colspan="5" |
|finished
CONSTRAINT pk_encounter_id PRIMARY KEY (organization_id,person_id,id),
|boolean
|DEFAULT NULL
|Whether the encounter is finished
|
|-
|-
| colspan="5" |CONSTRAINT fk_encounter_appointment_id FOREIGN KEY (appointment_id)
| colspan="5" |CONSTRAINT pk_encounter_event_id PRIMARY KEY (organization_id, person_id, id),
|-
|-
| colspan="5" |REFERENCES appointment (id) MATCH SIMPLE
| colspan="5" |CONSTRAINT fk_encounter_event_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|-
| colspan="5" |CONSTRAINT fk_encounter_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
Line 813: Line 846:
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
|-
| colspan="5" |CONSTRAINT fk_encounter_practitioner_id FOREIGN KEY (practitioner_id)
| colspan="5" |CONSTRAINT fk_encounter_event_practitioner_id FOREIGN KEY (practitioner_id)
|-
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
Line 819: Line 852:
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
|-
| colspan="5" |CONSTRAINT fk_encounter_episode_of_care_id FOREIGN KEY (episode_of_care_id)
| colspan="5" |CONSTRAINT fk_encounter_event_episode_of_care_id FOREIGN KEY (episode_of_care_id)
|-
|-
| colspan="5" |REFERENCES episode_of_care (id) MATCH SIMPLE
| colspan="5" |REFERENCES episode_of_care (id) MATCH SIMPLE
Line 825: Line 858:
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
|-
| colspan="5" |CONSTRAINT fk_encounter_service_provider_organization_id FOREIGN KEY (service_provider_organization_id)
| colspan="5" |CONSTRAINT fk_encounter_event_service_provider_organization_id FOREIGN KEY (service_provider_organization_id)
|-
|-
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
Line 832: Line 865:
|}
|}


== Table: encounter_additional ==
== Table: episode_of_care ==
PRIMARY KEY (id, property_id, value_id)
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 844: Line 877:
|bigint
|bigint
|NOT NULL
|NOT NULL
|same as the id column on the encounter table
|Unique Id of the episode of  care
|
|
|-
|-
|property_id
|organization_id
|int
|bigint
|NOT NULL
|NOT NULL
|IM reference (i.e. Admission method)
|Owning organisation (i.e. publisher)
|
|organization.id
|-
|-
|value_id
|patient_id
|int
|bigint
|NOT NULL
|NOT NULL
|IM reference (i.e. Emergency admission)
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|
|patient.id
|-
|-
|json_value
|person_id
|JSON
|bigint
|NULL
|NOT NULL
|where there is no mapped value_id, just raw JSON (i.e. birth delivery details)
|Unique individual across all organisations
|person.id
|-
|registration_type_concept_id
|int
|DEFAULT NULL
|Reference to the registration  type of the patient
|registration.type.id
|-
|registration_status_concept_id
|int
|DEFAULT NULL
|Reference to the registration  status of the patient
|
|
|-
|-
|text_value
|date_registered
|varchar(255)
|date
|NULL
|DEFAULT NULL
|where there is no mapped value_id, or raw JSON, just a basic text value (i.e. FIN number)
|The date the registration was  started  for this episode of care
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_encounter_additional_id PRIMARY KEY (id, property_id, value_id)
|date_registered_end
|}
|date
 
|DEFAULT NULL
== Table: encounter_event ==
|The date the registration was  ended  for this episode of care
PRIMARY KEY (organization_id, person_id, id)
|
|-
|usual_gp_practitioner_id
|bigint
|DEFAULT NULL
|Reference to the usual GP for  this episode of care
|Practitioner.id
|-
| colspan="5" |CONSTRAINT pk_episode_of_care_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|-
| colspan="5" |CONSTRAINT fk_episode_of_care_patient_id_organisation_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_episode_of_care_practitioner_id FOREIGN KEY (usual_gp_practitioner_id)
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
 
== Table: event_log ==
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 883: Line 951:
|'''References'''
|'''References'''
|-
|-
|id
|dt_change
|bigint
|datetime(3)
|NOT NULL
|NOT NULL
|Unique Id of the encounter  event
|date time the change was made to this DB
|
|
|-
|-
|organization_id
|change_type
|bigint
|tinyint
|NOT NULL
|NOT NULL
|Owning organisation (i.e.  publisher)
|type of transaction 0=insert, 1=update, 2=delete
|
|
|-
|-
|patient_id
|table_id
|bigint
|tinyint
|NOT NULL
|NOT NULL
|The patient this event belongs  to
|identifier of the table changed
|
|
|-
|-
|person_id
|record_id
|bigint
|bigint
|NOT NULL
|NOT NULL
|The person this event belongs  to
|id of the record changed
|
|
|}
== Table: flag ==
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|encounter_id
|id
|bigint
|bigint(20)
|NOT NULL
|NOT NULL
|Reference to the parent  encounter record
|Unique Id of the flag
|
|
|-
|-
|practitioner_id
|organization_id
|bigint
|bigint(20)
|DEFAULT NULL
|NOT NULL
|The clinician the activity is recorded against
|Owning organisation (i.e. publisher)
|
|
|-
|-
|appointment_id
|patient_id
|bigint
|bigint(20)
|DEFAULT NULL
|NOT NULL
|Reference to the appointment this encounter took part on
|The organisations record for this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|
|patient.id
|-
|person_id
|bigint(20)
|NOT NULL
|Unique individual across all organisations
|person.id
|-
|-
|clinical_effective_date
|effective_date
|datetime
|date
|DEFAULT NULL
|DEFAULT NULL
|The date the encounter took place
|The date the flag was entered onto the patients record
|
|
|-
|-
Line 934: Line 1,018:
|int
|int
|DEFAULT NULL
|DEFAULT NULL
|Reference to the precision of  the date of the encounter
|Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12)  second (13) millisecond (14)
|
|
|-
|-
|episode_of_care_id
|is_active
|bigint
|boolean
|DEFAULT NULL
|NOT NULL
|Reference to the episode of care this encounter belongs to
|Whether the flag is active or not
|
|
|-
|-
|service_provider_organization_id
|flag_text
|bigint
|text
|DEFAULT NULL
|Reference to the service  provider organisation
|
|
|-
|This is a warning set by the  publisher regarding he patient
|core_concept_id
|int
|DEFAULT NULL
|Reference to the type of encounter
|
|
|-
|-
|non_core_concept_id
| colspan="5" |CONSTRAINT pk_flag_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|int
|DEFAULT NULL
|Reference to the type of  encounter
|
|-
|-
|age_at_event
| colspan="5" |CONSTRAINT fk_flag_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|decimal(5,2)
|DEFAULT NULL
|The age of the patient at the time  of the encounter
|
|-
|-
|type
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|text
|DEFAULT NULL
|Unused
|
|-
|-
|sub_type
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|text
|}
|DEFAULT NULL
 
|Unused
== Table: location ==
PRIMARY KEY (pk_location_id PRIMARY KEY id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|id
|bigint
|NOT NULL
|Unique Id of the location
|
|
|-
|-
|admission_method
|name
|varchar(40)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The admission method of the encounter
|The name of a location set by  the publisher. E.g. ward, clinic, domiciliary
|
|
|-
|-
|end_date
|type_code,
|date
|varchar(50)
|DEFAULT NULL
|DEFAULT NULL
|The end date of the encounter
|The type of location
|
|
|-
|-
|institution_location_id
|type_desc
|bigint
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|Reference to the institution the encounter took place at
|Textual description of the type of location eg GP Practice
|
|
|-
|-
|date_recorded
|postcode
|datetime
|varchar10)
|DEFAULT NULL
|DEFAULT NULL
|The date the encounter was  recorded
|The postcode of the location
|
|
|-
|-
|finished
|managing_organization_id
|boolean
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Whether the encounter is finished
|Reference to the managing  organisation of the location
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_encounter_event_id PRIMARY KEY (organization_id, person_id, id),
| colspan="5" |CONSTRAINT pk_location_id PRIMARY KEY (id)
|-
|-
| colspan="5" |CONSTRAINT fk_encounter_event_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
| colspan="5" |CONSTRAINT fk_location_organisation_id FOREIGN KEY (managing_organization_id)
|-
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
| colspan="5" |REFERENCES organization (id)
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
| colspan="5" |MATCH SIMPLE
|-
| colspan="5" |CONSTRAINT fk_encounter_event_practitioner_id FOREIGN KEY (practitioner_id)
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_encounter_event_episode_of_care_id FOREIGN KEY (episode_of_care_id)
|-
| colspan="5" |REFERENCES episode_of_care (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_encounter_event_service_provider_organization_id FOREIGN KEY (service_provider_organization_id)
|-
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
|}


== Table: episode_of_care ==
== Table: medication_order ==
PRIMARY KEY (organization_id,person_id,id)
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
Line 1,048: Line 1,110:
|bigint
|bigint
|NOT NULL
|NOT NULL
|Unique Id of the episode of care
|Unique Id of the medication order
|
|
|-
|-
Line 1,054: Line 1,116:
|bigint
|bigint
|NOT NULL
|NOT NULL
|Owning organisation (i.e. publisher)
|Owning organisation (i.e. publisher)
|organization.id
|organization.id
|-
|-
Line 1,066: Line 1,128:
|bigint
|bigint
|NOT NULL
|NOT NULL
|Unique individual across all organisations
|Unique individual across all organisations
|person.id
|person.id
|-
|-
|registration_type_concept_id
|encounter_id
|int
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Reference to the registration type of the patient
|Reference to the encounter the medication order was issued in
|registration.type.id
|encounter.id
|-
|-
|registration_status_concept_id
|practitioner_id
|int
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Reference to the registration status of the patient
|The clinician the activity is recorded against
|
|practitioner.id
|-
|-
|date_registered
|clinical_effective_date
|date
|date
|DEFAULT NULL
|DEFAULT NULL
|The date the registration was started  for this episode of care
|The date the medication order  was issued
|
|
|-
|-
|date_registered_end
|date_precision_concept_id
|date
|int
|DEFAULT NULL
|DEFAULT NULL
|The date the registration was ended  for this episode of care
|Identifies the precision of the  clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
|
|
|-
|-
|usual_gp_practitioner_id
|dose
|bigint
|varchar(1000)
|DEFAULT NULL
|DEFAULT NULL
|Reference to the usual GP for  this episode of care
|Textual description of the dose
|Practitioner.id
|
|-
|-
| colspan="5" |CONSTRAINT pk_episode_of_care_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|quantity_value
|real
|DEFAULT NULL
|The value of the medication  that was prescribed eg 50
|
|-
|-
| colspan="5" |CONSTRAINT fk_episode_of_care_patient_id_organisation_id FOREIGN KEY (patient_id, organization_id)
|quantity_unit
|varchar(255)
|DEFAULT NULL
|The unit of the medication that  was prescribed eg tablets
|
|-
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|duration_days
|int
|DEFAULT NULL
|How many days the medication is  prescribed for
|
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|estimated_cost
|real
|DEFAULT NULL
|The estimated cost of the  medication
|
|-
|-
| colspan="5" |CONSTRAINT fk_episode_of_care_practitioner_id FOREIGN KEY (usual_gp_practitioner_id)
|medication_statement_id
|bigint
|DEFAULT NULL
|Reference to the medication  statement.  A medication statement can  have many medication orders
|medication.statement.id
|-
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|core_concept_id
|int
|DEFAULT NULL
|Reference to the clinical  coding of the medication
|
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|non_core_concept_id
|}
|int
 
|DEFAULT NULL
== Table: ethnicity_lookup ==
|Reference to the clinical  coding of the medication
PRIMARY KEY(ethnic_code)
|
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|ethnic_code
|bnf_reference
|char(1)
|varchar(6)
|NOT NULL
|DEFAULT NULL
|Ethnic code
|A reference to the drug in the  BNF dictionary
|
|
|-
|-
|ethnic_name
|age_at_event
|varchar(100)
|decimal(5,2)
|DEFAULT NULL
|DEFAULT NULL
|Corresponding ethnicity name
|The age the patient was at the  time of this event
|
|
|-
|-
| colspan="5" |CONSTRAINT PRIMARY KEY (ethnic_code)
|issue_method
|}
|text
 
|DEFAULT NULL
== Table: event_log ==
|The issue method of the  medication eg hand written
|
|-
| colspan="5" |CONSTRAINT pk_medication_order_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|-
| colspan="5" |CONSTRAINT fk_medication_order_encounter_id FOREIGN KEY (encounter_id)
|-
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_medication_order_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_medication_order_practitioner_id FOREIGN KEY (practitioner_id)
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
 
== Table: medication_statement ==
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 1,146: Line 1,251:
|'''References'''
|'''References'''
|-
|-
|dt_change
|id
|datetime(3)
|bigint(20)
|NOT NULL
|NOT NULL
|date time the change was made to this DB
|Unique Id of the medication
|
|
|-
|-
|change_type
|organization_id
|tinyint
|bigint(20)
|NOT NULL
|NOT NULL
|type of transaction 0=insert, 1=update, 2=delete
|Owning organisation (i.e.  publisher)
|
|organization.id
|-
|-
|table_id
|patient_id
|tinyint
|bigint(20)
|NOT NULL
|NOT NULL
|identifier of the table changed
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|
|patient.id
|-
|-
|record_id
|person_id
|bigint
|bigint(20)
|NOT NULL
|NOT NULL
|id of the record changed
|Unique individual across all organisations
|
|person.id
|}
 
== Table: flag ==
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|id
|encounter_id
|bigint(20)
|bigint(20)
|NOT NULL
|DEFAULT NULL
|Unique Id of the flag
|Reference to the encounter this  medication was recorded in
|
|encounter.id
|-
|-
|organization_id
|practitioner_id
|bigint(20)
|bigint(20)
|NOT NULL
|DEFAULT NULL
|Owning organisation (i.e. publisher)
|The clinician the activity is recorded against
|
|practitioner.id
|-
|-
|patient_id
|clinical_effective_date
|bigint(20)
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|patient.id
|-
|person_id
|bigint(20)
|NOT NULL
|Unique individual across all organisations
|person.id
|-
|effective_date
|date
|date
|DEFAULT NULL
|DEFAULT NULL
|The date the flag was entered onto the patients record
|The date the medication was  clinical relevant
|
|
|-
|-
Line 1,213: Line 1,296:
|int
|int
|DEFAULT NULL
|DEFAULT NULL
|Identifies the precision of the  clinical effectiveness date to either year (1) month (2) day (5) minute (12)  second (13) millisecond (14)
|Identifies the precision of the  clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
|
|
|-
|-
|is_active
|is_active
|boolean
|boolean
|NOT NULL
|DEFAULT NULL
|Whether the flag is active or not
|Whether the medication is active or not
|
|
|-
|-
|flag_text
|cancellation_date
|text
|date
|DEFAULT NULL
|The date the medication was  cancelled
|
|
|This is a warning set by the  publisher regarding he patient
|-
|dose
|varchar(1000)
|DEFAULT NULL
|Texual description of the dose of the medication
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_flag_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|quantity_value
|real
|DEFAULT NULL
|The value of the medication  that was prescribed eg 50
|
|-
|-
| colspan="5" |CONSTRAINT fk_flag_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|quantity_unit
|varchar(255)
|DEFAULT NULL
|The unit of the medication that  was prescribed eg tablets
|
|-
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|authorisation_type_concept_id
|int
|DEFAULT NULL
|Reference to the authorisation  type
|
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|core_concept_id
|}
|int
 
|DEFAULT NULL
== Table: location ==
|Reference to the clinical  coding of the medication
PRIMARY KEY (pk_location_id PRIMARY KEY id)
|
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|id
|non_core_concept_id
|bigint
|int
|NOT NULL
|DEFAULT NULL
|Unique Id of the location
|Reference to the clinical  coding of the medication
|
|
|-
|-
|name
|bnf_reference
|varchar(255)
|varchar(6)
|DEFAULT NULL
|DEFAULT NULL
|The name of a location set by the publisher. E.g. ward, clinic, domiciliary
|A reference to the drug in the BNF dictionary
|
|
|-
|-
|type_code,
|age_at_event
|varchar(50)
|decimal(5,2)
|DEFAULT NULL
|DEFAULT NULL
|The type of location
|The age the patient was at the  time of this event
|
|
|-
|-
|type_desc
|Issue_method
|varchar(255)
|text
|DEFAULT NULL
|DEFAULT NULL
|Textual description of the type of location eg GP Practice
|The issue method of the  medication eg hand written
|
|
|-
|-
|postcode
| colspan="5" |CONSTRAINT pk_medication_statement_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|varchar10)
|-
|DEFAULT NULL
| colspan="5" |CONSTRAINT fk_medication_statement_encounter_id FOREIGN KEY (encounter_id)
|The postcode of the location
|-
|
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
|-
|managing_organization_id
| colspan="5" |CONSTRAINT fk_medication_statement_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|bigint
|DEFAULT NULL
|Reference to the managing  organisation of the location
|
|-
|-
| colspan="5" |CONSTRAINT pk_location_id PRIMARY KEY (id)
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
|-
| colspan="5" |CONSTRAINT fk_location_organisation_id FOREIGN KEY (managing_organization_id)
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
|-
| colspan="5" |REFERENCES organization (id)
| colspan="5" |CONSTRAINT fk_medication_statement_practitioner_id FOREIGN KEY (practitioner_id)
|-
|-
| colspan="5" |MATCH SIMPLE
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
|}


== Table: medication_order ==
== Table: observation ==
PRIMARY KEY (organization_id,person_id,id)
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
Line 1,303: Line 1,396:
|-
|-
|id
|id
|bigint
|bigint(20)
|NOT NULL
|NOT NULL
|Unique Id of the medication  order
|Unique Id of the observation
|
|
|-
|-
|organization_id
|organization_id
|bigint
|bigint(20)
|NOT NULL
|NOT NULL
|Owning organisation (i.e. publisher)
|Owning organisation (i.e. publisher)
|organization.id
|organization.id
|-
|-
|patient_id
|patient_id
|bigint
|bigint(20)
|NOT NULL
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
Line 1,321: Line 1,414:
|-
|-
|person_id
|person_id
|bigint
|bigint(20)
|NOT NULL
|NOT NULL
|Unique individual across all  organisations
|Unique individual across all  organisations
Line 1,327: Line 1,420:
|-
|-
|encounter_id
|encounter_id
|bigint
|bigint(20)
|DEFAULT NULL
|DEFAULT NULL
|Reference to the encounter the  medication order was issued in
|Reference to the encounter the  observation was recorded at
|encounter.id
|encounter.id
|-
|-
|practitioner_id
|practitioner_id
|bigint
|bigint(20)
|DEFAULT NULL
|DEFAULT NULL
|The clinician the activity is  recorded against
|The clinician the activity is  recorded against
Line 1,341: Line 1,434:
|date
|date
|DEFAULT NULL
|DEFAULT NULL
|The date the medication order was issued
|The date the observation was identified by a clinician
|
|
|-
|-
Line 1,350: Line 1,443:
|
|
|-
|-
|dose
|result_value
|varchar(1000)
|rea
|DEFAULT NULL
|DEFAULT NULL
|Textual description of the dose
|The value of the result of the  observation
|
|
|-
|-
|quantity_value
|result_value_units
|real
|varchar(50)
|DEFAULT NULL
|DEFAULT NULL
|The value of the medication that was prescribed eg 50
|The units of the result of the  observation
|
|
|-
|-
|quantity_unit
|result_date
|varchar(255)
|date
|DEFAULT NULL
|DEFAULT NULL
|The unit of the medication that  was prescribed eg tablets
|The date of the result
|
|
|-
|-
|duration_days
|result_text
|int
|text
|DEFAULT NULL
|
|How many days the medication is prescribed for
|Any text associated with the  result
|
|
|-
|-
|estimated_cost
|result_concept_id
|real
|int
|DEFAULT NULL
|DEFAULT NULL
|The estimated cost of the medication
|Reference to the clinical  coding of the result
|
|
|-
|-
|medication_statement_id
|is_problem
|bigint
|boolean
|DEFAULT NULL
|NOT NULL
|Reference to the medication statement.  A medication statement can  have many medication orders
|Whether the observation is marked as a problem
|medication.statement.id
|
|-
|-
|core_concept_id
|is_review
|int
|boolean
|DEFAULT NULL
|NOT NULL
|Reference to the clinical coding of the medication
|Whether the observation is a review of an existing problem
|
|
|-
|-
|non_core_concept_id
|problem_end_date
|int
|date
|DEFAULT NULL
|DEFAULT NULL
|Reference to the clinical  coding of the medication
|The end date of the problem
|
|
|-
|-
|bnf_reference
|parent_observation_id
|varchar(6)
|bigint(20)
|DEFAULT NULL
|DEFAULT NULL
|A reference to the drug in the BNF dictionary
|Reference to the parent  observation in a complex observation eg systolic and diastolic blood pressures will have a parent observation of Blood pressure
|
|
|-
|-
|age_at_event
|core_concept_id
|decimal(5,2)
|int
|DEFAULT NULL
|DEFAULT NULL
|The age the patient was at the  time of this event
|Reference to the clinical coding of the observation
|
|
|-
|-
|issue_method
|non_core_concept_id
|text
|int
|DEFAULT NULL
|DEFAULT NULL
|The issue method of the medication eg hand written
|Reference to the clinical  coding of the observation
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_medication_order_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|age_at_event
|decimal (5,2)
|DEFAULT NULL
|The age of the patient at the  time of the observation
|
|-
|-
| colspan="5" |CONSTRAINT fk_medication_order_encounter_id FOREIGN KEY (encounter_id)
|episodicity_concept_id
|int
|DEFAULT NULL
|Reference to the episodicity of  the problem eg First, review, flare
|
|-
|-
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|is_primary
|boolean
|DEFAULT NULL
|Whether the observation is a  primary observation
|
|-
|date_recorded
|datetime
|DEFAULT NULL
|The date the observation was  recorded in the system
|
|-
| colspan="5" |CONSTRAINT pk_observation_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|-
| colspan="5" |CONSTRAINT fk_observation_encounter_id FOREIGN KEY (encounter_id)
|-
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
|-
| colspan="5" |CONSTRAINT fk_medication_order_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
| colspan="5" |CONSTRAINT fk_observation_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
Line 1,430: Line 1,547:
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
|-
| colspan="5" |CONSTRAINT fk_medication_order_practitioner_id FOREIGN KEY (practitioner_id)
| colspan="5" |CONSTRAINT fk_observation_practitioner_id FOREIGN KEY (practitioner_id)
|-
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
Line 1,437: Line 1,554:
|}
|}


== Table: medication_statement ==
== Table: observation_additional ==
PRIMARY KEY (organization_id,person_id,id)
PRIMARY KEY (id, property_id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 1,447: Line 1,564:
|-
|-
|id
|id
|bigint(20)
|bigint
|NOT NULL
|NOT NULL
|Unique Id of the medication
|
|
|
|-
|-
|organization_id
|property_id
|bigint(20)
|int
|NOT NULL
|NOT NULL
|Owning organisation (i.e. publisher)
|IM reference (i.e. significance)
|organization.id
|
|-
|-
|patient_id
|value_id
|bigint(20)
|int
|NOT NULL
|NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|IM reference (i.e. minor, significant)
|patient.id
|-
|person_id
|bigint(20)
|NOT NULL
|Unique individual across all organisations
|person.id
|person.id
|-
|-
|encounter_id
|json_value
|bigint(20)
|json
|DEFAULT NULL
|NULL
|Reference to the encounter this  medication was recorded in
|Where there is no mapped value_id, just raw JSON
|encounter.id
|
|-
|-
|practitioner_id
|text_value
|bigint(20)
|varchar(255)
|DEFAULT NULL
|NULL
|The clinician the activity is recorded against
|Where there is no mapped value_id or raw JSON, just a basic text value
|practitioner.id
|-
|clinical_effective_date
|date
|DEFAULT NULL
|The date the medication was  clinical relevant
|
|
|-
|-
|date_precision_concept_id
| colspan="5" |CONSTRAINT pk_observation_additional_id PRIMARY KEY (id, property_id)
|int
|}
|DEFAULT NULL
 
|Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12) second  (13) millisecond (14)
== Table: organization ==
PRIMARY KEY (pk_organization_id PRIMARY KEY (id))
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|id
|bigint
|NOT NULL
|Unique Id of the organisation
|
|
|-
|-
|is_active
|ods_code
|boolean
|varchar(50)
|DEFAULT NULL
|DEFAULT NULL
|Whether the medication is  active or not
|ODS Code of the organisation
|
|
|-
|-
|cancellation_date
|Name
|date
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The date the medication was  cancelled
|Name of the organisation
|
|
|-
|-
|dose
|type_code
|varchar(1000)
|varchar(50)
|DEFAULT NULL
|DEFAULT NULL
|Texual description of the dose  of the medication
|The type of organisation
|
|
|-
|-
|quantity_value
|type_desc
|real
|DEFAULT NULL
|The value of the medication  that was prescribed eg 50
|
|-
|quantity_unit
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The unit of the medication that was prescribed eg tablets
|Textual description of the type of organisation eg GP Practice
|
|
|-
|-
|authorisation_type_concept_id
|Postcode
|int
|varchar(10)
|DEFAULT NULL
|DEFAULT NULL
|Reference to the authorisation type
|The postcode of the  organisation
|
|
|-
|-
|core_concept_id
|parent_organization_id
|int
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Reference to the clinical coding of the medication
|The id of the parent organisation
|
|
|-
|-
|non_core_concept_id
| colspan="5" |PRIMARY KEY pk_organization_id PRIMARY KEY (id)
|int
|}
|DEFAULT NULL
 
|Reference to the clinical  coding of the medication
== Table: organization_metadata ==
|
PRIMARY KEY (id, publishing_software)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|id
|bigint
|NOT NULL
|corresponds to same ID in the organizaton table
|
|-
|-
|bnf_reference
|publishing_software
|varchar(6)
|varchar(50)
|DEFAULT NULL
|DEFAULT NULL
|A reference to the drug in the  BNF dictionary
|software name of publishing system
|
|
|-
|-
|age_at_event
|last_data_to_dds
|decimal(5,2)
|datetime
|DEFAULT NULL
|DEFAULT NULL
|The age the patient was at the  time of this event
|date time data was last sent to DDS
|
|
|-
|-
|Issue_method
|last_data_cutoff
|text
|datetime
|DEFAULT NULL
|DEFAULT NULL
|The issue method of the medication eg hand written
|cutoff date time of the last extract from the publishing system
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_medication_statement_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
| colspan="5" |CONSTRAINT pk_organization_metadata PRIMARY KEY (id, publishing_software)
|}
 
== Table: patient ==
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
| colspan="5" |CONSTRAINT fk_medication_statement_encounter_id FOREIGN KEY (encounter_id)
|id
|-
|bigint
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_medication_statement_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_medication_statement_practitioner_id FOREIGN KEY (practitioner_id)
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
 
== Table: observation ==
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|id
|bigint(20)
|NOT NULL
|NOT NULL
|Unique Id of the observation
|Unique Id of the patient
|
|
|-
|-
|organization_id
|organization_id
|bigint(20)
|bigint
|NOT NULL
|NOT NULL
|Owning organisation (i.e. publisher)
|Owning organisation (i.e. publisher)
|organization.id
|organization.id
|-
|patient_id
|bigint(20)
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|patient.id
|-
|-
|person_id
|person_id
|bigint(20)
|bigint
|NOT NULL
|NOT NULL
|Unique individual across all  organisations
|Unique individual across all  organisations
|person.id
|person.id
|-
|-
|encounter_id
|title
|bigint(20)
|varchar(255)
|DEFAULT NULL
|
|Reference to the encounter the  observation was recorded at
|The title of the patient
|encounter.id
|
|-
|-
|practitioner_id
|first_names
|bigint(20)
|varchar(255)
|DEFAULT NULL
|
|The clinician the activity is  recorded against
|The first names of the patient
|practitioner.id
|-
|clinical_effective_date
|date
|DEFAULT NULL
|The date the observation was  identified by a clinician
|
|
|-
|-
|date_precision_concept_id
|last_name
|int
|varchar(255)
|DEFAULT NULL
|
|Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12)  second (13) millisecond (14)
|The last name of the patient
|
|
|-
|-
|result_value
|gender_concept_id
|rea
|int
|DEFAULT NULL
|The value of the result of the  observation
|
|
|Reference to the gender of the  patient
|patient.gender.id
|-
|-
|result_value_units
|nhs_number
|varchar(50)
|varchar(255)
|DEFAULT NULL
|
|The units of the result of the  observation
|The NHS number of the patient
|
|
|-
|-
|result_date
|date_of_birth
|date
|date
|DEFAULT NULL
|
|The date of the result
|The date of birth of the patient
|
|
|-
|-
|result_text
|date_of_death
|text
|date
|
|
|Any text associated with the result
|The date of death of the patient
|
|
|-
|-
|result_concept_id
|current_address_id
|bigint
|
|Reference to the current  address of the  patient
|
|-
|ethnic_code_concept_id
|int
|int
|DEFAULT NULL
|
|Reference to the clinical  coding of the result
|Reference to the ethnicity of the patient
|
|
|-
|-
|is_problem
|registered_practice_organization_id
|boolean
|bigint
|NOT NULL
|
|Whether the observation is marked as a problem
|Reference to the organisation  the patient is registered at
|
|
|-
|-
|is_review
|birth_year
|boolean
|smallint
|NOT NULL
|Whether the observation is a  review of an existing problem
|
|
|-
|problem_end_date
|date
|DEFAULT NULL
|The end date of the problem
|
|
|-
|parent_observation_id
|bigint(20)
|DEFAULT NULL
|Reference to the parent  observation in a complex observation eg systolic and diastolic blood  pressures will have a parent observation of Blood pressure
|
|
|-
|-
|core_concept_id
|birth_month
|int
|tinyint
|DEFAULT NULL
|Reference to the clinical  coding of the observation
|
|
|-
|non_core_concept_id
|int
|DEFAULT NULL
|Reference to the clinical  coding of the observation
|
|
|-
|age_at_event
|decimal (5,2)
|DEFAULT NULL
|The age of the patient at the  time of the observation
|
|
|-
|-
|episodicity_concept_id
|birth_week
|int
|tinyint
|DEFAULT NULL
|Reference to the episodicity of  the problem eg First, review, flare
|
|
|-
|is_primary
|boolean
|DEFAULT NULL
|Whether the observation is a  primary observation
|
|
|-
|date_recorded
|datetime
|DEFAULT NULL
|The date the observation was  recorded in the system
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_observation_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
| colspan="5" |CONSTRAINT pk_patient_id_organization_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|-
|-
| colspan="5" |CONSTRAINT fk_observation_encounter_id FOREIGN KEY (encounter_id)
| colspan="5" |CONSTRAINT fk_patient_organization_id FOREIGN KEY (organization_id)
|-
|-
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_observation_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_observation_practitioner_id FOREIGN KEY (practitioner_id)
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
|}


== Table: observation_additional ==
== Table: patient_additional ==
PRIMARY KEY (id, property_id)
PRIMARY KEY (id, property_id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
Line 1,761: Line 1,810:
|bigint
|bigint
|NOT NULL
|NOT NULL
|
|Unique Id of the patient
|
|
|-
|-
Line 1,767: Line 1,816:
|int
|int
|NOT NULL
|NOT NULL
|IM reference (i.e. significance)
|IM reference (e.g. cause of death)
|
|
|-
|-
Line 1,773: Line 1,822:
|int
|int
|NULL
|NULL
|IM reference (i.e. minor, significant)
|IM reference (e.g. COVID)
|person.id
|person.id
|-
|-
Line 1,788: Line 1,837:
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_observation_additional_id PRIMARY KEY (id, property_id)
| colspan="5" |CONSTRAINT pk_patient_additional_id PRIMARY KEY (id, property_id)
|}
|}


== Table: organization ==
== Table: patient_address ==
PRIMARY KEY (pk_organization_id PRIMARY KEY (id))
PRIMARY KEY (organization_id,id,patient_id,person_id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 1,800: Line 1,849:
|'''References'''
|'''References'''
|-
|-
|id
|Id
|bigint
|bigint
|NOT NULL
|NOT NULL
|Unique Id of the organisation
|Unique Id of the address
|
|
|-
|-
|ods_code
|organization_id
|varchar(50)
|bigint
|NOT NULL
|Owning organisation (i.e.  publisher)
|organisation.id
|-
|patient_id
|bigint
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|patient.id
|-
|person_id
|bigint
|DEFAULT NULL
|DEFAULT NULL
|ODS Code of the organisation
|Unique individual across all  organisations
|
|person.id
|-
|-
|Name
|address_line_1
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|Name of the organisation
|The first line of the address
|
|
|-
|-
|type_code
|address_line_2
|varchar(50)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The type of organisation
|The second line of the address
|
|
|-
|-
|type_desc
|address_line_3
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|Textual description of the type  of organisation eg GP Practice
|The third line of the address
|
|
|-
|-
|Postcode
|address_line_4
|varchar(10)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The postcode of the organisation
|The fourth line of the address
|
|
|-
|-
|parent_organization_id
|city
|bigint
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The id of the parent  organisation
|The city
|
|
|-
|-
| colspan="5" |PRIMARY KEY pk_organization_id PRIMARY KEY (id)
|postcode
|}
|varchar(255)
 
|DEFAULT NULL
== Table: patient ==
|The postcode
PRIMARY KEY (organization_id,person_id,id)
|
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|id
|use_concept_id
|bigint
|int
|NOT NULL
|NOT NULL
|Unique Id of the patient
|use of address (e.g. home,  temporary)
|
|
|-
|-
|organization_id
|start_date
|bigint
|date
|NOT NULL
|NOT NULL
|Owning organisation (i.e. publisher)
|The start date of this address  being relevant
|organization.id
|
|-
|-
|person_id
|end_date
|bigint
|date
|NOT NULL
|DEFAULT NULL
|Unique individual across all organisations
|The end date of this address being relevant
|person.id
|
|-
|-
|title
|lsoa_2001_code
|varchar(255)
|varchar(9)
|DEFAULT NULL
|A reference to the LSOA_2001  code
|
|
|The title of the patient
|-
|lsoa_2011_code
|varchar(9)
|DEFAULT NULL
|A reference to the LSOA_2011  code
|
|
|-
|-
|first_names
|msoa_2001_code
|varchar(255)
|varchar(9)
|
|DEFAULT NULL
|The first names of the patient
|A reference to the MSOA_2001  code
|
|
|-
|-
|last_name
|msoa_2011_code
|varchar(255)
|varchar(9)
|DEFAULT NULL
|A reference to the MSOA_2011  code
|
|
|The last name of the patient
|-
|ward_code
|varchar(9)
|DEFAULT NULL
|The ward the address belongs to
|
|
|-
|-
|gender_concept_id
|local_authority_code
|int
|varchar(9)
|DEFAULT NULL
|The local authority the address  belongs to
|
|
|Reference to the gender of the  patient
|patient.gender.id
|-
|-
|nhs_number
| colspan="5" |CONSTRAINT pk_organization_id_id_patient_id_person_id
|varchar(255)
|
|The NHS number of the patient
|
|-
|-
|date_of_birth
| colspan="5" |PRIMARY KEY (`organization_id`,`id`,`patient_id`,`person_id`)
|date
|
|The date of birth of the patient
|
|-
|-
|date_of_death
| colspan="5" |CONSTRAINT fk_patient_address_patient_id_organization_id
|date
|-
|
| colspan="5" |FOREIGN KEY (patient_id, organization_id)
|The date of death of the patient
|-
|
| colspan="5" |REFERENCES patient (id, organization_id)
|-
| colspan="5" |COMMENT 'stores address details for patients'
|}
 
== Table: patient_address_match ==
PRIMARY KEY(id, uprn)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|current_address_id
|Id
|bigint
|bigint(50)
|
|NOT NULL
|Reference to the current address of the  patient
|Reference to the  patient_address table
|
|
|-
|-
|ethnic_code_concept_id
|patient_address_id
|int
|bigint(20)
|NOT NULL
|
|
|Reference to the ethnicity of the patient
|
|
|-
|-
|registered_practice_organization_id
|Uprn
|bigint
|varchar(255)
|
|NOT NULL
|Reference to the organisation the patient is registered at
|The Unique Propery Reference  Number of the address
|
|
|-
|-
|birth_year
|uprn_ralf00
|smallint
|varchar(255)
|
|
|
|
|
|
|-
|-
|birth_month
|Status
|tinyint
|tinyint(1)
|DEFAULT NULL
|Whether the UPRN is active
|
|
|-
|uprn_property_classification
|varchar(45)
|DEFAULT NULL
|Building type eg flat, pub,  house etc
|
|
|-
|Latitude
|double
|DEFAULT NULL
|The latitude of the UPRN
|
|
|-
|-
|birth_week
|Longitude
|tinyint
|double
|
|DEFAULT NULL
|
|The longitude of the UPRN
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_patient_id_organization_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|uprn_xcoordinate
|double
|DEFAULT NULL
|The x coordinate of the UPRN
|
|-
|-
| colspan="5" |CONSTRAINT fk_patient_organization_id FOREIGN KEY (organization_id)
|uprn_ycoordinate
|double
|DEFAULT NULL
|The y coordinate of the UPRN
|
|-
|-
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
|qualifier
|}
|varchar(50)
 
|DEFAULT NULL
== Table: patient_additional ==
|How the match is determined eg  equivalent match, near match etc
PRIMARY KEY (id, property_id)
|
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|id
|match_rule
|bigint
|varchar(4096)
|NOT NULL
|DEFAULT NULL
|Unique Id of the patient
|Which algorithm was used to  match the address to the UPRN
|
|
|-
|-
|property_id
|match_date
|int
|datetime
|NOT NULL
|DEFAULT NULL
|IM reference (e.g. cause of death)
|The date the match was made
|
|
|-
|-
|value_id
|abp_address_number
|int
|varchar(255)
|NULL
|DEFAULT NULL
|IM reference (e.g. COVID)
|The number value of the address  in the ABP dictionary
|person.id
|
|-
|-
|json_value
|abp_address_street
|json
|varchar(255)
|NULL
|DEFAULT NULL
|Where there is no mapped value_id, just raw JSON
|The street value of the address  in the ABP dictionary
|
|
|-
|-
|text_value
|abp_address_locality
|varchar(255)
|varchar(255)
|NULL
|DEFAULT NULL
|Where there is no mapped value_id or raw JSON, just a basic text value
|The locality value of the  address in the ABP dictionary
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_patient_additional_id PRIMARY KEY (id, property_id)
|abp_address_town
|}
|varchar(255)
 
|DEFAULT NULL
== Table: patient_address ==
|The town value of the address  in the ABP dictionary
PRIMARY KEY (organization_id,id,patient_id,person_id)
|
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|Id
|abp_address_postcode
|bigint
|varchar(10)
|NOT NULL
|DEFAULT NULL
|Unique Id of the address
|The postcode value of the address in the ABP dictionary
|
|
|-
|-
|organization_id
|abp_address_organization
|bigint
|varchar(255)
|NOT NULL
|DEFAULT NULL
|Owning organisation (i.e. publisher)
|The organization value of the address in the ABP dictionary
|organisation.id
|
|-
|-
|patient_id
|match_pattern_postcode
|bigint
|varchar(255)
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|patient.id
|-
|person_id
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Unique individual across all organisations
|The qualifier used to match the postcode
|person.id
|
|-
|-
|address_line_1
|match_pattern_street
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The first line of the address
|The qualifier used to match the street
|
|
|-
|-
|address_line_2
|match_pattern_number
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The second line of the address
|The qualifier used to match the number
|
|
|-
|-
|address_line_3
|match_pattern_building
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The third line of the address
|The qualifier used to match the building
|
|
|-
|-
|address_line_4
|match_pattern_flat
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The fourth line of the address
|The qualifier used to match the flat
|
|
|-
|-
|city
|algorithm_version
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The city
|What version of the algorithm  was used to make the match
|
|
|-
|-
|postcode
|epoc
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The postcode
|The version of the ABP files  the addresses were matched against
|
|
|-
|-
|use_concept_id
| colspan="5" |  CONSTRAINT `patient_address_uprn_patient_address_id_fk` FOREIGN KEY (`patient_address_id`) REFERENCES `patient_address` (`id`)
|int
|}
 
== Table: patient_address_ralf ==
PRIMARY KEY (id, patient_address_id, patient_address_match_uprn_ralf00)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|Id
|bigint
|NOT NULL
|NOT NULL
|use of address (e.g. home,  temporary)
|
|
|
|-
|-
|start_date
|organization_id
|date
|bigint
|NOT NULL
|NOT NULL
|The start date of this address  being relevant
|
|
|
|-
|-
|end_date
|patient_id
|date
|bigint
|DEFAULT NULL
|NOT NULL
|The end date of this address  being relevant
|
|
|-
|lsoa_2001_code
|varchar(9)
|DEFAULT NULL
|A reference to the LSOA_2001  code
|
|
|-
|-
|lsoa_2011_code
|person_id
|varchar(9)
|bigint
|DEFAULT NULL
|NOT NULL
|A reference to the LSOA_2011  code
|
|
|
|-
|-
|msoa_2001_code
|patient_address_id
|varchar(9)
|bigint
|DEFAULT NULL
|NOT NULL
|A reference to the MSOA_2001  code
|
|
|
|-
|-
|msoa_2011_code
|patient_address_match_uprn_ralf00
|varchar(9)
|varchar(255)
|DEFAULT NULL
|NOT NULL
|A reference to the MSOA_2011  code
|
|
|-
|ward_code
|varchar(9)
|DEFAULT NULL
|The ward the address belongs to
|
|
|-
|-
|local_authority_code
|salt_name
|varchar(9)
|varchar(50)
|DEFAULT NULL
|NOT NULL
|The local authority the address  belongs to
|
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_organization_id_id_patient_id_person_id
|ralf
|varchar(255)
|NOT NULL
|
|
|-
|-
| colspan="5" |PRIMARY KEY (`organization_id`,`id`,`patient_id`,`person_id`)
| colspan="5" |CONSTRAINT pk_patient_address_ralf PRIMARY KEY (id, patient_address_id, patient_address_match_uprn_ralf00)
|-
|-
| colspan="5" |CONSTRAINT fk_patient_address_patient_id_organization_id
| colspan="5" |CONSTRAINT fk_patient_address_ralf_organization_id FOREIGN KEY (organization_id) REFERENCES organization (id)
|-
|-
| colspan="5" |FOREIGN KEY (patient_id, organization_id)
| colspan="5" |CONSTRAINT fk_patient_address_ralf_patient_id FOREIGN KEY (patient_id) REFERENCES patient (id)
|-
|-
| colspan="5" |REFERENCES patient (id, organization_id)
| colspan="5" |CONSTRAINT fk_patient_address_ralf_person_id FOREIGN KEY (person_id) REFERENCES person (id)
|-
|-
| colspan="5" |COMMENT 'stores address details for patients'
| colspan="5" |CONSTRAINT fk_patient_address_ralf_patient_address_id FOREIGN KEY (patient_address_id) REFERENCES patient_address (id)
|}
|}


== Table: patient_address_match ==
== Table: patient_contact ==
PRIMARY KEY(id, uprn)
PRIMARY KEY (organization_id,id,patient_id,person_id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 2,144: Line 2,221:
|'''References'''
|'''References'''
|-
|-
|Id
|id
|bigint(50)
|bigint
|NOT NULL
|NOT NULL
|Reference to the  patient_address table
|Unique Id of the patient contact
|
|
|-
|-
|patient_address_id
|organization_id
|bigint(20)
|bigint
|NOT NULL
|NOT NULL
|
|Owning organisation (i.e. publisher)
|
|
|-
|-
|Uprn
|patient_id
|varchar(255)
|bigint
|NOT NULL
|NOT NULL
|The Unique Propery Reference Number of the address
|The organisations record for this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|
|patient.id
|-
|-
|uprn_ralf00
|person_id
|varchar(255)
|bigint
|
|DEFAULT NULL
|
|Unique individual across all  organisations
|
|person.id
|-
|-
|Status
|use_concept_id
|tinyint(1)
|int
|DEFAULT NULL
|DEFAULT NULL
|Whether the UPRN is active
|use of contact (e.g. mobile,  home,work
|
|
|-
|-
|uprn_property_classification
|type_concept_id
|varchar(45)
|int
|DEFAULT NULL
|DEFAULT NULL
|Building type eg flat, pubhouse etc
|type of contact (e.g. phoneemail)
|
|
|-
|-
|Latitude
|start_date
|double
|date
|DEFAULT NULL
|DEFAULT NULL
|The latitude of the UPRN
|The start date of the contact  being valid
|
|
|-
|-
|Longitude
|end_date
|double
|date
|DEFAULT NULL
|DEFAULT NULL
|The longitude of the UPRN
|The end date of the contact  being valid
|
|
|-
|-
|uprn_xcoordinate
|value
|double
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The x coordinate of the UPRN
|The value of the contact  information eg phone number, email address
|
|
|-
|-
|uprn_ycoordinate
| colspan="5" |CONSTRAINT pk_organization_id_id_patient_id_person_id PRIMARY KEY (`organization_id`,`id`,`patient_id`,`person_id`),
|double
|DEFAULT NULL
|The y coordinate of the UPRN
|
|-
|-
|qualifier
| colspan="5" |CONSTRAINT fk_patient_contact_patient_id_organisation_id FOREIGN KEY (patient_id, organization_id)
|varchar(50)
|DEFAULT NULL
|How the match is determined eg  equivalent match, near match etc
|
|-
|-
|match_rule
| colspan="5" |REFERENCES patient (id, organization_id)
|varchar(4096)
|DEFAULT NULL
|Which algorithm was used to  match the address to the UPRN
|
|-
|-
|match_date
| colspan="5" |COMMENT 'stores contact details (e.g. phone) for patients'
|datetime
|}
|DEFAULT NULL
 
|The date the match was made
== Table: patient_pseudo_id ==
|
PRIMARY KEY(organization_id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|abp_address_number
|Id
|varchar(255)
|bigint(20)
|DEFAULT NULL
|NOT NULL
|The number value of the address in the ABP dictionary
|Unique Id of the patient pseudo id
|
|
|-
|-
|abp_address_street
|organization_id
|varchar(255)
|bigint(20)
|DEFAULT NULL
|NOT NULL
|The street value of the address in the ABP dictionary
|Owning organisation (i.e. publisher)
|
|
|-
|-
|abp_address_locality
|patient_id
|varchar(255)
|bigint(20)
|DEFAULT NULL
|NOT NULL
|The locality value of the  address in the ABP dictionary
|Reference to the patient this registration status history belongs to
|
|
|-
|-
|abp_address_town
|person_id
|varchar(255)
|bigint(20)
|DEFAULT NULL
|NOT NULL
|The town value of the address in the ABP dictionary
|Reference to the person this registration status history belongs to
|
|
|-
|-
|abp_address_postcode
|salt_name
|varchar(10)
|varchar(50)
|DEFAULT NULL
|NOT NULL
|The postcode value of the  address in the ABP dictionary
|The name of the salt used to create the pseudo id
|
|
|-
|-
|abp_address_organization
|Skid
|varchar(255)
|varchar(255)
|DEFAULT NULL
|NOT NULL
|The organization value of the  address in the ABP dictionary
|"Secure Key IDentifier"  - the pseudonymised ID generated for this patient using the salt specified in the salt_name column. Typically generated from patient NHS number, but is  configurable on a case by case basis (e.g. may include date of birth)
|
|
|-
|-
|match_pattern_postcode
|is_nhs_number_valid
|varchar(255)
|boolean
|DEFAULT NULL
|NOT NULL
|The qualifier used to match the postcode
|Whether the nhs number is valid
|
|
|-
|-
|match_pattern_street
|is_nhs_number_verified_by_publisher
|varchar(255)
|boolean
|DEFAULT NULL
|NOT NULL
|The qualifier used to match the  street
|Whether the nhs number has been verified by the publisher
|
|
|-
|-
|match_pattern_number
| colspan="5" |CONSTRAINT PRIMARY KEY (organization_id)
|varchar(255)
|DEFAULT NULL
|The qualifier used to match the  number
|
|-
|-
|match_pattern_building
| colspan="5" |CONSTRAINT fk_patient_pseudo_id FOREIGN KEY (patient_id, organization_id)
|varchar(255)
|DEFAULT NULL
|The qualifier used to match the  building
|
|-
|-
|match_pattern_flat
| colspan="5" |REFERENCES patient (id, organization_id)
|varchar(255)
|DEFAULT NULL
|The qualifier used to match the  flat
|
|-
|algorithm_version
|varchar(255)
|DEFAULT NULL
|What version of the algorithm  was used to make the match
|
|-
|epoc
|varchar(255)
|DEFAULT NULL
|The version of the ABP files  the addresses were matched against
|
|-
| colspan="5" |  CONSTRAINT `patient_address_uprn_patient_address_id_fk` FOREIGN KEY (`patient_address_id`) REFERENCES `patient_address` (`id`)  
|}
|}


== Table: patient_address_ralf ==
== Table: patient_uprn ==
PRIMARY KEY (id, patient_address_id, patient_address_match_uprn_ralf00)
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 2,312: Line 2,357:
|'''References'''
|'''References'''
|-
|-
|Id
|patient_id
|bigint
|bigint(20)
|NOT NULL
|NOT NULL
|
|The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times
|
|patient.id
|-
|-
|organization_id
|organization_id
|bigint
|bigint(20)
|NOT NULL
|NOT NULL
|
|Owning organisation (i.e. publisher)
|
|organisation.id
|-
|-
|patient_id
|person_id
|bigint
|bigint(20)
|NOT NULL
|NOT NULL
|
|Unique individual across all organisations
|
|person.id
|-
|-
|person_id
|Uprn
|bigint
|bigint
|NOT NULL
|DEFAULT NULL
|
|
|
|
|-
|-
|patient_address_id
|qualifier
|bigint
|varchar(50)
|NOT NULL
|DEFAULT NULL
|
|
|
|
|-
|-
|patient_address_match_uprn_ralf00
|algorithm
|varchar(255)
|varchar(255)
|NOT NULL
|DEFAULT NULL
|
|
|
|
|-
|-
|salt_name
|match
|varchar(50)
|varchar(255)
|NOT NULL
|DEFAULT NULL
|
|
|
|
|-
|-
|ralf
|no_address
|varchar(255)
|boolean
|NOT NULL
|DEFAULT NULL
|
|
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_patient_address_ralf PRIMARY KEY (id, patient_address_id, patient_address_match_uprn_ralf00)
|invalid_address
|boolean
|DEFAULT NULL
|
|
|-
|-
| colspan="5" |CONSTRAINT fk_patient_address_ralf_organization_id FOREIGN KEY (organization_id) REFERENCES organization (id)
|missing_postcode
|boolean
|DEFAULT NULL
|
|
|-
|-
| colspan="5" |CONSTRAINT fk_patient_address_ralf_patient_id FOREIGN KEY (patient_id) REFERENCES patient (id)
|invalid_postcode
|boolean
|DEFAULT NULL
|
|
|-
|-
| colspan="5" |CONSTRAINT fk_patient_address_ralf_person_id FOREIGN KEY (person_id) REFERENCES person (id)
| colspan="5" |CONSTRAINT pk_patient_id_organization_id PRIMARY KEY (`organization_id`,`person_id`,`patient_id`),
|-
| colspan="5" |CONSTRAINT fk_patient_uprn_patient_id_organisation_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
|-
| colspan="5" |CONSTRAINT fk_patient_address_ralf_patient_address_id FOREIGN KEY (patient_address_id) REFERENCES patient_address (id)
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
|}


== Table: patient_contact ==
== Table: person ==
PRIMARY KEY (organization_id,id,patient_id,person_id)
PRIMARY KEY (id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 2,383: Line 2,444:
|bigint
|bigint
|NOT NULL
|NOT NULL
|Unique Id of the patient  contact
|Unique Id of the person
|
|
|-
|-
Line 2,389: Line 2,450:
|bigint
|bigint
|NOT NULL
|NOT NULL
|Owning organisation (i.e. publisher)
|Owning organisation (i.e. publisher)
|
|
|-
|-
|patient_id
|title
|bigint
|varchar(255)
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|patient.id
|-
|person_id
|bigint
|DEFAULT NULL
|DEFAULT NULL
|Unique individual across all  organisations
|The title of the person
|person.id
|
|-
|-
|use_concept_id
|first_names
|int
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|use of contact (e.g. mobile,  home,work
|The first names of the person
|
|
|-
|-
|type_concept_id
|last_name
|varchar(255)
|DEFAULT NULL
|The last name of the person
|
|-
|gender_concept_id
|int
|int
|DEFAULT NULL
|DEFAULT NULL
|type of contact (e.g. phone, email)
|Reference to the gender of the person
|
|
|-
|-
|start_date
|nhs_number
|date
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The start date of the contact  being valid
|The NHS number of the person
|
|
|-
|-
|end_date
|date_of_birth date,
|date
|date
|DEFAULT NULL
|DEFAULT NULL
|The end date of the contact  being valid
|The date of birth of the person
|
|
|-
|-
|value
|date_of_death date,
|varchar(255)
|date
|DEFAULT NULL
|DEFAULT NULL
|The value of the contact  information eg phone number, email address
|The date of death of the person
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_organization_id_id_patient_id_person_id PRIMARY KEY (`organization_id`,`id`,`patient_id`,`person_id`),
|current_address_id,
|bigint
|NOT NULL
|Reference to the current  address of the person
|
|-
|-
| colspan="5" |CONSTRAINT fk_patient_contact_patient_id_organisation_id FOREIGN KEY (patient_id, organization_id)
|ethnic_code_concept_id
|int
|DEFAULT NULL
|Reference to the ethnicity of  the person
|
|-
|registered_practice_organization_id
|bigint
|DEFAULT NULL
|Reference to the organisation  the person is registered at
|
|-
|-
| colspan="5" |REFERENCES patient (id, organization_id)
|birth_year
|smallint
|DEFAULT NULL
|
|
|-
|birth_month
|tinyint
|DEFAULT NULL
|
|
|-
|birth_week
|tinyint
|DEFAULT NULL
|
|
|-
|-
| colspan="5" |COMMENT 'stores contact details (e.g. phone) for patients'
| colspan="5" |CONSTRAINT pk_person_id PRIMARY KEY (id)
|}
|}


== Table: patient_gender ==
== Table: practitioner ==
PRIMARY KEY(id)
PRIMARY KEY (id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 2,452: Line 2,543:
|'''References'''
|'''References'''
|-
|-
|Id
|id
|smallint(6)
|bigint
|NOT NULL
|NOT NULL
|Unique Id of the gender lookup
|Unique Id of the practitioner
|
|
|-
|-
|Value
|organization_id
|varchar(10)
|bigint
|NOT NULL
|NOT NULL
|Value of the gender lookup
|Owning organisation (i.e.  publisher)
|
|organisation.id
|-
|-
| colspan="5" |CONSTRAINT PRIMARY KEY (id)
|name
|}
|varchar(1024)
 
|DEFAULT NULL
== Table: patient_pseudo_id ==
|Name of the practitioner
PRIMARY KEY(organization_id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|Id
|bigint(20)
|NOT NULL
|Unique Id of the patient pseudo  id
|
|
|-
|-
|organization_id
|role_code
|bigint(20)
|varchar(50)
|NOT NULL
|DEFAULT NULL
|Owning organisation (i.e. publisher)
|The code representing the role of the practitioner
|
|
|-
|-
|patient_id
|role_desc
|bigint(20)
|varchar(255)
|NOT NULL
|DEFAULT NULL
|Reference to the patient this registration status history belongs to
|Textual description of the role of the practitioner eg General Medical Practitioner
|
|
|-
|-
|person_id
|gmc_code
|bigint(20)
|varchar(50)
|NOT NULL
|DEFAULT NULL
|Reference to the person this registration status history belongs to
|The GMC code of the  practitioner
|
|
|-
|-
|salt_name
| colspan="5" |CONSTRAINT pk_practitioner_id PRIMARY KEY (id),
|varchar(50)
|NOT NULL
|The name of the salt used to  create the pseudo id
|
|-
|-
|Skid
| colspan="5" |CONSTRAINT fk_practitioner_organisation_id FOREIGN KEY (organization_id)
|varchar(255)
|NOT NULL
|"Secure Key IDentifier" - the pseudonymised ID generated for this patient using the salt specified in  the salt_name column. Typically generated from patient NHS number, but is  configurable on a case by case basis (e.g. may include date of birth)
|
|-
|-
|is_nhs_number_valid
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
|boolean
|NOT NULL
|Whether the nhs number is valid
|
|-
|-
|is_nhs_number_verified_by_publisher
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|boolean
|NOT NULL
|Whether the nhs number has been  verified by the publisher
|
|-
| colspan="5" |CONSTRAINT PRIMARY KEY (organization_id)
|-
| colspan="5" |CONSTRAINT fk_patient_pseudo_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |REFERENCES patient (id, organization_id)
|}
|}


== Table: patient_uprn ==
== Table: procedure_request ==
PRIMARY KEY (organization_id,person_id,id)
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
Line 2,540: Line 2,597:
|'''References'''
|'''References'''
|-
|-
|patient_id
|id
|bigint(20)
|bigint(20)
|NOT NULL
|NOT NULL
|The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times
|Unique Id of the procedure
|patient.id
|
|-
|-
|organization_id
|organization_id
|bigint(20)
|bigint(20)
|NOT NULL
|NOT NULL
|Owning organisation (i.e. publisher)
|Owning organisation (i.e. publisher)
|organisation.id
|organization.id
|-
|patient_id
|bigint(20)
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|patient.id
|-
|-
|person_id
|person_id
|bigint(20)
|bigint(20)
|NOT NULL
|NOT NULL
|Unique individual across all organisations
|Unique individual across all organisations
|person.id
|person.id
|-
|-
|Uprn
|encounter_id
|bigint
|bigint(20)
|DEFAULT NULL
|DEFAULT NULL
|
|Reference to the encounter the  procedure was administered at
|
|encounter.id
|-
|-
|qualifier
|practitioner_id
|varchar(50)
|bigint(20)
|DEFAULT NULL
|DEFAULT NULL
|
|The clinician the activity is  recorded against
|
|practitioner.id
|-
|-
|algorithm
|clinical_effective_date
|varchar(255)
|date
|DEFAULT NULL
|DEFAULT NULL
|
|The date the procedure was  administered by a clinician
|
|
|-
|-
|match
|date_precision_concept_id
|varchar(255)
|int
|DEFAULT NULL
|DEFAULT NULL
|
|Identifies the precision of the  clinical effectiveness date to either year (1) month (2) day (5) minute (12) second  (13) millisecond (14)
|
|
|-
|-
|no_address
|status_concept_id
|boolean
|int
|DEFAULT NULL
|DEFAULT NULL
|
|Reference to the status of the  procedure
|
|
|-
|-
|invalid_address
|core_concept_id
|boolean
|int
|DEFAULT NULL
|DEFAULT NULL
|Reference to the clinical  coding of the procedure
|
|
|-
|non_core_concept_id
|int
|DEFAULT NULL
|Reference to the clinical  coding of the procedure
|
|
|-
|-
|missing_postcode
|age_at_event
|boolean
|decimal(5,2)
|DEFAULT NULL
|DEFAULT NULL
|
|The age of the patient at the  time of the procedure
|
|
|-
|-
|invalid_postcode
|date_recorded
|boolean
|datetime
|DEFAULT NULL
|DEFAULT NULL
|The date the procedure was  recorded in the source system
|
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_patient_id_organization_id PRIMARY KEY (`organization_id`,`person_id`,`patient_id`),
| colspan="5" |CONSTRAINT pk_procedure_request_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|-
| colspan="5" |/*got an Emis procedure request referring to a confidential encounter, so can't enforce this
|-
| colspan="5" |CONSTRAINT fk_procedure_request_encounter_id FOREIGN KEY (encounter_id)
|-
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,*/
|-
|-
| colspan="5" |CONSTRAINT fk_patient_uprn_patient_id_organisation_id FOREIGN KEY (patient_id, organization_id)
| colspan="5" |CONSTRAINT fk_procedure_request_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_procedure_request_practitioner_id FOREIGN KEY (practitioner_id)
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
|}


== Table: person ==
== Table: pseudo_id ==
PRIMARY KEY (id)
PRIMARY KEY (patient_id, salt_key_name)
{| class="wikitable sortable mw-collapsible mw-collapsed"
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Column name'''
Line 2,624: Line 2,707:
|'''References'''
|'''References'''
|-
|-
|id
|Id
|bigint
|bigint
|NOT NULL
|NOT NULL
|Unique Id of the person
|Unique Id of the pseudo Id
|
|
|-
|-
|organization_id
|patient_id
|bigint
|bigint
|NOT NULL
|NOT NULL
|Owning organisation (i.e. publisher)
|Reference to the patient the pseudo Id belongs to
|
|
|-
|-
|title
|salt_key_name
|varchar(255)
|varchar(50)
|DEFAULT NULL
|NOT NULL
|The title of the person
|The name of the salt key used  to create the pseudo id
|
|
|-
|-
|first_names
|pseudo_id
|varchar(255)
|varchar(255)
|DEFAULT NULL
|DEFAULT NULL
|The first names of the person
|The pseudo id
|
|
|-
|-
|last_name
| colspan="5" |CONSTRAINT pk_pseudo_id PRIMARY KEY (patient_id, salt_key_name)
|varchar(255)
|}
|DEFAULT NULL
 
|The last name of the person
== Table: referral_request ==
|
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|gender_concept_id
|id
|int
|bigint(20)
|DEFAULT NULL
|NOT NULL
|Reference to the gender of the person
|Unique Id of the referral
|
|
|-
|-
|nhs_number
|organization_id
|varchar(255)
|bigint(20)
|DEFAULT NULL
|NOT NULL
|The NHS number of the person
|Owning organisation (i.e.  publisher)
|
|organization.id
|-
|-
|date_of_birth date,
|patient_id
|date
|bigint(20)
|DEFAULT NULL
|NOT NULL
|The date of birth of the person
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|
|patient.id
|-
|-
|date_of_death date,
|person_id
|date
|bigint(20)
|NOT NULL
|Unique individual across all  organisations
|person.id
|-
|encounter_id
|bigint(20)
|DEFAULT NULL
|DEFAULT NULL
|The date of death of the person
|Reference to the encounter the  referral was made in
|
|encounter.id
|-
|-
|current_address_id,
|practitioner_id
|bigint
|bigint(20)
|NOT NULL
|DEFAULT NULL
|Reference to the current address of the person
|The clinician the activity is recorded against
|
|practitioner.id
|-
|-
|ethnic_code_concept_id
|clinical_effective_date
|int
|date
|DEFAULT NULL
|DEFAULT NULL
|Reference to the ethnicity of  the person
|The date the referral was made
|
|
|-
|-
|registered_practice_organization_id
|date_precision_concept_id
|bigint
|smallint(6)
|DEFAULT NULL
|DEFAULT NULL
|Reference to the organisation the person is registered at
|Identifies the precision of the  clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
|
|
|-
|-
|birth_year
|requester_organization_id
|smallint
|bigint(20)
|DEFAULT NULL
|DEFAULT NULL
|Reference to the organisation  that made the refereral request
|
|
|-
|recipient_organization_id
|bigint(20)
|DEFAULT NULL
|Reference to the organization  receiving the referral
|
|
|-
|-
|birth_month
|referral_request_priority_concept_id
|tinyint
|smallint(6)
|DEFAULT NULL
|Reference to the priority of  the referral
|referral.request.priority
|-
|referral_request_type_concept_id
|int
|DEFAULT NULL
|Reference to the type of  referral request
|referral.request.type
|-
|Mode
|varchar(50)
|DEFAULT NULL
|DEFAULT NULL
|
|The mode of the referral
|
|
|-
|-
|birth_week
|outgoing_referral
|tinyint
|boolean
|DEFAULT NULL
|DEFAULT NULL
|
|Whether this is an outgoing  referral
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_person_id PRIMARY KEY (id)
|is_review
|}
|boolean
 
|DEFAULT NULL
== Table: practitioner ==
|Whether this referral is a  review
PRIMARY KEY (id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|id
|bigint
|NOT NULL
|Unique Id of the practitioner
|
|
|-
|-
|organization_id
|core_concept_id
|bigint
|int
|NOT NULL
|Owning organisation (i.e.  publisher)
|organisation.id
|-
|name
|varchar(1024)
|DEFAULT NULL
|DEFAULT NULL
|Name of the practitioner
|Reference to the clinical  coding of the referral
|
|
|-
|-
|role_code
|non_core_concept_id
|varchar(50)
|int
|DEFAULT NULL
|DEFAULT NULL
|The code representing the role of the practitioner
|Reference to the clinical coding of the referral
|
|
|-
|-
|role_desc
|age_at_event
|varchar(255)
|decimal(5,2)
|DEFAULT NULL
|DEFAULT NULL
|Textual description of the role of the practitioner eg General Medical Practitioner
|The age of the patient at the time of the referral
|
|
|-
|-
|gmc_code
|date_recorded
|varchar(50)
|datetime
|DEFAULT NULL
|DEFAULT NULL
|The GMC code of the  practitioner
|The date the referral request was added to the source system
|
|
|-
|-
| colspan="5" |CONSTRAINT pk_practitioner_id PRIMARY KEY (id),
| colspan="5" |CONSTRAINT pk_referral_request_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|-
| colspan="5" |/*got an Emis referral request referring to a confidential encounter, so can't enforce this
|-
|-
| colspan="5" |CONSTRAINT fk_practitioner_organisation_id FOREIGN KEY (organization_id)
| colspan="5" |CONSTRAINT fk_referral_request_encounter_id FOREIGN KEY (encounter_id)
|-
|-
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|-
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,*/
|}
 
== Table: procedure_request ==
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|-
|id
| colspan="5" |CONSTRAINT fk_referral_request_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|bigint(20)
|NOT NULL
|Unique Id of the procedure
|
|-
|-
|organization_id
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|bigint(20)
|NOT NULL
|Owning organisation (i.e.  publisher)
|organization.id
|-
|-
|patient_id
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|bigint(20)
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|patient.id
|-
|-
|person_id
| colspan="5" |CONSTRAINT fk_referral_request_practitioner_id FOREIGN KEY (practitioner_id)
|bigint(20)
|NOT NULL
|Unique individual across all  organisations
|person.id
|-
|-
|encounter_id
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|bigint(20)
|DEFAULT NULL
|Reference to the encounter the  procedure was administered at
|encounter.id
|-
|-
|practitioner_id
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|bigint(20)
|DEFAULT NULL
|The clinician the activity is  recorded against
|practitioner.id
|-
|-
|clinical_effective_date
| colspan="5" |CONSTRAINT fk_referral_request_recipient_organization_id FOREIGN KEY (recipient_organization_id)
|date
|DEFAULT NULL
|The date the procedure was  administered by a clinician
|
|-
|-
|date_precision_concept_id
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
|int
|DEFAULT NULL
|Identifies the precision of the  clinical effectiveness date to either year (1) month (2) day (5) minute (12) second  (13) millisecond (14)
|
|-
|-
|status_concept_id
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|int
|DEFAULT NULL
|Reference to the status of the  procedure
|
|-
|-
|core_concept_id
| colspan="5" |CONSTRAINT fk_referral_request_requester_organization_id FOREIGN KEY (requester_organization_id)
|int
|DEFAULT NULL
|Reference to the clinical  coding of the procedure
|
|-
|-
|non_core_concept_id
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
|int
|DEFAULT NULL
|Reference to the clinical  coding of the procedure
|
|-
|-
|age_at_event
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|decimal(5,2)
|DEFAULT NULL
|The age of the patient at the  time of the procedure
|
|-
|date_recorded
|datetime
|DEFAULT NULL
|The date the procedure was  recorded in the source system
|
|-
| colspan="5" |CONSTRAINT pk_procedure_request_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|-
| colspan="5" |/*got an Emis procedure request referring to a confidential encounter, so can't enforce this
|-
| colspan="5" |CONSTRAINT fk_procedure_request_encounter_id FOREIGN KEY (encounter_id)
|-
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,*/
|-
| colspan="5" |CONSTRAINT fk_procedure_request_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_procedure_request_practitioner_id FOREIGN KEY (practitioner_id)
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
 
== Table: procedure_request_status ==
PRIMARY KEY(id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|Id
|smallint(6)
|NOT NULL
|Unique Id of the procedure  request status lookup
|
|-
|Value
|varchar(50)
|NOT NULL
|The value of the procedure  request status lookup
|
|-
| colspan="5" |CONSTRAINT PRIMARY KEY (id)
|}
 
== Table: pseudo_id ==
PRIMARY KEY (patient_id, salt_key_name)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|Id
|bigint
|NOT NULL
|Unique Id of the pseudo Id
|
|-
|patient_id
|bigint
|NOT NULL
|Reference to the patient the  pseudo Id belongs to
|
|-
|salt_key_name
|varchar(50)
|NOT NULL
|The name of the salt key used  to create the pseudo id
|
|-
|pseudo_id
|varchar(255)
|DEFAULT NULL
|The pseudo id
|
|-
| colspan="5" |CONSTRAINT pk_pseudo_id PRIMARY KEY (patient_id, salt_key_name)
|}
 
== Table: referral_request ==
PRIMARY KEY (organization_id,person_id,id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|id
|bigint(20)
|NOT NULL
|Unique Id of the referral
|
|-
|organization_id
|bigint(20)
|NOT NULL
|Owning organisation (i.e.  publisher)
|organization.id
|-
|patient_id
|bigint(20)
|NOT NULL
|The organisations record for  this person’s registration. Patients may have multiple records across  clinical systems and may have registered at an organisation multiple times
|patient.id
|-
|person_id
|bigint(20)
|NOT NULL
|Unique individual across all  organisations
|person.id
|-
|encounter_id
|bigint(20)
|DEFAULT NULL
|Reference to the encounter the  referral was made in
|encounter.id
|-
|practitioner_id
|bigint(20)
|DEFAULT NULL
|The clinician the activity is  recorded against
|practitioner.id
|-
|clinical_effective_date
|date
|DEFAULT NULL
|The date the referral was made
|
|-
|date_precision_concept_id
|smallint(6)
|DEFAULT NULL
|Identifies the precision of the  clinical effectiveness date to either year (1) month (2) day (5) minute (12)  second (13) millisecond (14)
|
|-
|requester_organization_id
|bigint(20)
|DEFAULT NULL
|Reference to the organisation  that made the refereral request
|
|-
|recipient_organization_id
|bigint(20)
|DEFAULT NULL
|Reference to the organization  receiving the referral
|
|-
|referral_request_priority_concept_id
|smallint(6)
|DEFAULT NULL
|Reference to the priority of  the referral
|referral.request.priority
|-
|referral_request_type_concept_id
|int
|DEFAULT NULL
|Reference to the type of  referral request
|referral.request.type
|-
|Mode
|varchar(50)
|DEFAULT NULL
|The mode of the referral
|
|-
|outgoing_referral
|boolean
|DEFAULT NULL
|Whether this is an outgoing  referral
|
|-
|is_review
|boolean
|DEFAULT NULL
|Whether this referral is a  review
|
|-
|core_concept_id
|int
|DEFAULT NULL
|Reference to the clinical  coding of the referral
|
|-
|non_core_concept_id
|int
|DEFAULT NULL
|Reference to the clinical  coding of the referral
|
|-
|age_at_event
|decimal(5,2)
|DEFAULT NULL
|The age of the patient at the  time of the referral
|
|-
|date_recorded
|datetime
|DEFAULT NULL
|The date the referral request  was added to the source system
|
|-
| colspan="5" |CONSTRAINT pk_referral_request_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
|-
| colspan="5" |/*got an Emis referral request referring to a confidential encounter, so can't enforce this
|-
| colspan="5" |CONSTRAINT fk_referral_request_encounter_id FOREIGN KEY (encounter_id)
|-
| colspan="5" |REFERENCES encounter (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,*/
|-
| colspan="5" |CONSTRAINT fk_referral_request_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
|-
| colspan="5" |REFERENCES patient (id, organization_id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_referral_request_practitioner_id FOREIGN KEY (practitioner_id)
|-
| colspan="5" |REFERENCES practitioner (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_referral_request_recipient_organization_id FOREIGN KEY (recipient_organization_id)
|-
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION,
|-
| colspan="5" |CONSTRAINT fk_referral_request_requester_organization_id FOREIGN KEY (requester_organization_id)
|-
| colspan="5" |REFERENCES organization (id) MATCH SIMPLE
|-
| colspan="5" |ON UPDATE NO ACTION ON DELETE NO ACTION
|}
 
== Table: referral_request_priority ==
PRIMARY KEY(id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|Id
|smallint(6)
|NOT NULL
|Unique Id of the referral  request priority lookup
|
|-
|Value
|varchar(50)
|NOT NULL
|The value of the referral  request priority lookup
|
|-
| colspan="5" |CONSTRAINT PRIMARY KEY (id)
|}
 
== Table: referral_request_type ==
PRIMARY KEY(id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|Id
|smallint(6)
|NOT NULL
|Unique Id of the referral  request type
|
|-
|Value
|varchar(50)
|NOT NULL
|The value of the referral  request lookup
|
|-
| colspan="5" |CONSTRAINT PRIMARY KEY (id)
|}
 
== Table: registration_status ==
PRIMARY KEY(id)
{| class="wikitable sortable mw-collapsible mw-collapsed"
|'''Column name'''
|'''Data type'''
|'''Constraint'''
|'''Comments'''
|'''References'''
|-
|Id
|smallint(6)
|NOT NULL
|Unique Id of the registration  status
|
|-
|Code
|varchar(10)
|NOT NULL
|The registration status code
|
|-
|Description
|varchar(50)
|NOT NULL
|The description of the  registration status
|
|-
|is_active
|tinyint(1)
|NOT NULL
|Whether the registration status  is active
|
|-
| colspan="5" |CONSTRAINT PRIMARY KEY (id)
|}
|}



Latest revision as of 08:51, 18 May 2021

Table: allergy_intolerance

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the allergy
organization_id bigint NOT NULL Owning organisation (i.e. publisher) organization.id
patient_id bigint NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint NOT NULL Unique individual across all organisations person.id
encounter_id bigint DEFAULT NULL Reference to the encounter this allergy was record in encounter.id
practitioner_id bigint DEFAULT NULL The clinician the activity is recorded against practitioner.id
clinical_effective_date date DEFAULT NULL The date the clinical code is recorded for
date_precision_concept_id Int DEFAULT NULL Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
is_review boolean NOT NULL Is this instance of the code a review of a previous encounter
core_concept_id Int DEFAULT NULL Reference to the clinical coding of the allergy
non_core_concept_id Int DEFAULT NULL Reference to the clinical coding of the allergy
age_at_event decimal(5,2) DEFAULT NULL The age the patient was at the time of this event
date_recorded datetime NOT NULL The date the allergy was recorded
CONSTRAINT pk_allergy_intolerance_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
CONSTRAINT fk_allergy_intolerance_encounter_id FOREIGN KEY (encounter_id)
REFERENCES encounter (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_allergy_intolerance_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_allergy_intolerance_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: appointment

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the appointment
organization_id bigint NOT NULL Owning organisation (i.e. publisher) organization.id
patient_id bigint NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint NOT NULL Unique individual across all organisations person.id
practitioner_id bigint DEFAULT NULL The clinician the activity is recorded against practitioner.id
schedule_id bigint DEFAULT NULL The schedule the patient was put on to book multiple appointments. ID unique to the applied schedule schedule.id
start_date date DEFAULT NULL The start date of the appointment
planned_duration int DEFAULT NULL The time allocated for the appointment, not necessarily the actual duration always in minutes
actual_duration int DEFAULT NULL Time between sent in and left always in minutes
appointment_status_concept_id int DEFAULT NULL The status of the appointment e.g. arrived/sent in/left/DNA
patient_wait int DEFAULT NULL How long the patient waited from being marked as arrived to being sent in
patient_delay int DEFAULT NULL How long the patient was delayed for
date_time_sent_in datetime DEFAULT NULL Date and time the patient was sent into the practitioner
date_time_left datetime DEFAULT NULL Date and time the patient left the practitioner
source_id varchar(36) DEFAULT NULL Unique reference to the source of the appointment
cancelled_date datetime DEFAULT NULL The date the appointment was cancelled
CONSTRAINT pk_appointment_id PRIMARY KEY (organization_id,person_id,id),
CONSTRAINT fk_appointment_organization_id FOREIGN KEY (organization_id)
REFERENCES organization (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_appointment_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: concept

PRIMARY KEY (dbid)

Column name Data type Constraint Comments References
dbid int(11) NOT NULL Unique Id of the concept
Document int(11) NOT NULL Concept grouping construct, deprecated
Id varchar(150) NOT NULL Unique concept identifier
Draft tinyint(1) NOT NULL Whether its draft/autocreated or confirmed as a "proper" concept
Name varchar(255) DEFAULT NULL Short name
Description varchar(400) DEFAULT NULL Full name (or term for ontological concepts)
Scheme bigint(20) DEFAULT NULL The coding scheme for the code (Read, CTV3, SNOMED etc)
Code varchar(40) DEFAULT NULL The code (non-unique unless coupled with a scheme)
use_count bigint(20) NOT NULL DEFAULT 0 Rough indicator of number of occurences of the concept
updated datetime NOT NULL The timestamp of the last update to the concept
CONSTRAINT PRIMARY KEY (dbid),

Table: concept_map

PRIMARY KEY (id)

Column name Data type Constraint Comments References
Legacy int(11) NOT NULL the legacy (read 2, ctv3, icd10, opcs4, emis local, etc) concept
Core int(11) NOT NULL the core (snomed, discovery) concept that the legacy concept maps to
Updated datetime NOT NULL Timestamp the map was last updated/added
id int(11)
deleted tinyint(1)
CONSTRAINT PRIMARY KEY (id)

Table: diagnostic_order

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the diagnostic order
organization_id bigint NOT NULL Owning organisation (i.e. publisher)
patient_id bigint NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times
person_id bigint NOT NULL Unique individual across all organisations
encounter_id bigint DEFAULT NULL Reference to the encounter the observation was recorded at
practitioner_id bigint DEFAULT NULL The clinician the activity is recorded against
clinical_effective_date date DEFAULT NULL The date the diagnostic order was identified by a clinician
date_precision_concept_id int DEFAULT NULL Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
result_value real DEFAULT NULL The value of the result of the observation
result_value_units varchar(50) DEFAULT NULL The units of the result of the observation
result_date date DEFAULT NULL The date of the result
result_text text DEFAULT NULL Any text associated with the result
result_concept_id int DEFAULT NULL Reference to the clinical coding of the result
is_problem boolean NOT NULL Whether the observation is marked as a problem
is_review boolean NOT NULL Whether the observation is a review of an existing problem
problem_end_date date DEFAULT NULL The end date of the problem
parent_observation_id bigint DEFAULT NULL Reference to the parent observation in a complex observation eg systolic and diastolic blood pressures will have a parent observation of Blood pressure
core_concept_id int DEFAULT NULL Reference to the clinical coding of the observation
non_core_concept_id int DEFAULT NULL Reference to the clinical coding of the observation
age_at_event decimal (5,2) DEFAULT NULL The age of the patient at the time of the observation
episodicity_concept_id int DEFAULT NULL Reference to the episodicity of the problem eg First, review, flare
is_primary boolean DEFAULT NULL Whether the diagnostic order is a primary order
CONSTRAINT pk_diagnostic_order_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
CONSTRAINT fk_diagnostic_order_encounter_id FOREIGN KEY (encounter_id)
REFERENCES encounter (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_diagnostic_order_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_diagnostic_order_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: encounter

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the encounter
organization_id bigint NOT NULL Owning organisation (i.e. publisher)
patient_id bigint NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times
person_id bigint NOT NULL Unique individual across all organisations
practitioner_id bigint DEFAULT NULL The clinician the activity is recorded against
appointment_id bigint DEFAULT NULL Reference to the appointment this encounter took part on
clinical_effective_date date DEFAULT NULL The date the clinical code is recorded for

date_precision_concept_id

int DEFAULT NULL Reference to the precision of the date of the encounter
episode_of_care_id bigint DEFAULT NULL Is this instance of the code a review of a previous encounter
service_provider_organization_id bigint DEFAULT NULL Reference to the service provider organisation
core_concept_id int DEFAULT NULL Reference to the type of encounter
non_core_concept_id int DEFAULT NULL Reference to the type of encounter
age_at_event decimal(5,2) DEFAULT NULL The age the patient was when this encounter took place
Type text DEFAULT NULL Unused
sub_type text DEFAULT NULL Unused
admission_method varchar(40) DEFAULT NULL The admission method of the encounter
end_date date DEFAULT NULL The end date of the encounter
institution_location_id text DEFAULT NULL Reference to the institution the encounter took place at
date_recorded datetime DEFAULT NULL The date the encounter was recorded

CONSTRAINT pk_encounter_id PRIMARY KEY (organization_id,person_id,id),

CONSTRAINT fk_encounter_appointment_id FOREIGN KEY (appointment_id)
REFERENCES appointment (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
CONSTRAINT fk_encounter_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_encounter_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_encounter_episode_of_care_id FOREIGN KEY (episode_of_care_id)
REFERENCES episode_of_care (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_encounter_service_provider_organization_id FOREIGN KEY (service_provider_organization_id)
REFERENCES organization (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: encounter_additional

PRIMARY KEY (id, property_id, value_id)

Column name Data type Constraint Comments References
id bigint NOT NULL same as the id column on the encounter table
property_id int NOT NULL IM reference (i.e. Admission method)
value_id int NOT NULL IM reference (i.e. Emergency admission)
json_value JSON NULL where there is no mapped value_id, just raw JSON (i.e. birth delivery details)
text_value varchar(255) NULL where there is no mapped value_id, or raw JSON, just a basic text value (i.e. FIN number)
CONSTRAINT pk_encounter_additional_id PRIMARY KEY (id, property_id, value_id)

Table: encounter_event

PRIMARY KEY (organization_id, person_id, id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the encounter event
organization_id bigint NOT NULL Owning organisation (i.e. publisher)
patient_id bigint NOT NULL The patient this event belongs to
person_id bigint NOT NULL The person this event belongs to
encounter_id bigint NOT NULL Reference to the parent encounter record
practitioner_id bigint DEFAULT NULL The clinician the activity is recorded against
appointment_id bigint DEFAULT NULL Reference to the appointment this encounter took part on
clinical_effective_date datetime DEFAULT NULL The date the encounter took place
date_precision_concept_id int DEFAULT NULL Reference to the precision of the date of the encounter
episode_of_care_id bigint DEFAULT NULL Reference to the episode of care this encounter belongs to
service_provider_organization_id bigint DEFAULT NULL Reference to the service provider organisation
core_concept_id int DEFAULT NULL Reference to the type of encounter
non_core_concept_id int DEFAULT NULL Reference to the type of encounter
age_at_event decimal(5,2) DEFAULT NULL The age of the patient at the time of the encounter
type text DEFAULT NULL Unused
sub_type text DEFAULT NULL Unused
admission_method varchar(40) DEFAULT NULL The admission method of the encounter
end_date date DEFAULT NULL The end date of the encounter
institution_location_id bigint DEFAULT NULL Reference to the institution the encounter took place at
date_recorded datetime DEFAULT NULL The date the encounter was recorded
finished boolean DEFAULT NULL Whether the encounter is finished
CONSTRAINT pk_encounter_event_id PRIMARY KEY (organization_id, person_id, id),
CONSTRAINT fk_encounter_event_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_encounter_event_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_encounter_event_episode_of_care_id FOREIGN KEY (episode_of_care_id)
REFERENCES episode_of_care (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_encounter_event_service_provider_organization_id FOREIGN KEY (service_provider_organization_id)
REFERENCES organization (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: episode_of_care

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the episode of care
organization_id bigint NOT NULL Owning organisation (i.e. publisher) organization.id
patient_id bigint NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint NOT NULL Unique individual across all organisations person.id
registration_type_concept_id int DEFAULT NULL Reference to the registration type of the patient registration.type.id
registration_status_concept_id int DEFAULT NULL Reference to the registration status of the patient
date_registered date DEFAULT NULL The date the registration was started  for this episode of care
date_registered_end date DEFAULT NULL The date the registration was ended  for this episode of care
usual_gp_practitioner_id bigint DEFAULT NULL Reference to the usual GP for this episode of care Practitioner.id
CONSTRAINT pk_episode_of_care_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
CONSTRAINT fk_episode_of_care_patient_id_organisation_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_episode_of_care_practitioner_id FOREIGN KEY (usual_gp_practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: event_log

Column name Data type Constraint Comments References
dt_change datetime(3) NOT NULL date time the change was made to this DB
change_type tinyint NOT NULL type of transaction 0=insert, 1=update, 2=delete
table_id tinyint NOT NULL identifier of the table changed
record_id bigint NOT NULL id of the record changed

Table: flag

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint(20) NOT NULL Unique Id of the flag
organization_id bigint(20) NOT NULL Owning organisation (i.e. publisher)
patient_id bigint(20) NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint(20) NOT NULL Unique individual across all organisations person.id
effective_date date DEFAULT NULL The date the flag was entered onto the patients record
date_precision_concept_id int DEFAULT NULL Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
is_active boolean NOT NULL Whether the flag is active or not
flag_text text This is a warning set by the publisher regarding he patient
CONSTRAINT pk_flag_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
CONSTRAINT fk_flag_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: location

PRIMARY KEY (pk_location_id PRIMARY KEY id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the location
name varchar(255) DEFAULT NULL The name of a location set by the publisher. E.g. ward, clinic, domiciliary
type_code, varchar(50) DEFAULT NULL The type of location
type_desc varchar(255) DEFAULT NULL Textual description of the type of location eg GP Practice
postcode varchar10) DEFAULT NULL The postcode of the location
managing_organization_id bigint DEFAULT NULL Reference to the managing organisation of the location
CONSTRAINT pk_location_id PRIMARY KEY (id)
CONSTRAINT fk_location_organisation_id FOREIGN KEY (managing_organization_id)
REFERENCES organization (id)
MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: medication_order

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the medication order
organization_id bigint NOT NULL Owning organisation (i.e. publisher) organization.id
patient_id bigint NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint NOT NULL Unique individual across all organisations person.id
encounter_id bigint DEFAULT NULL Reference to the encounter the medication order was issued in encounter.id
practitioner_id bigint DEFAULT NULL The clinician the activity is recorded against practitioner.id
clinical_effective_date date DEFAULT NULL The date the medication order was issued
date_precision_concept_id int DEFAULT NULL Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
dose varchar(1000) DEFAULT NULL Textual description of the dose
quantity_value real DEFAULT NULL The value of the medication that was prescribed eg 50
quantity_unit varchar(255) DEFAULT NULL The unit of the medication that was prescribed eg tablets
duration_days int DEFAULT NULL How many days the medication is prescribed for
estimated_cost real DEFAULT NULL The estimated cost of the medication
medication_statement_id bigint DEFAULT NULL Reference to the medication statement.  A medication statement can have many medication orders medication.statement.id
core_concept_id int DEFAULT NULL Reference to the clinical coding of the medication
non_core_concept_id int DEFAULT NULL Reference to the clinical coding of the medication
bnf_reference varchar(6) DEFAULT NULL A reference to the drug in the BNF dictionary
age_at_event decimal(5,2) DEFAULT NULL The age the patient was at the time of this event
issue_method text DEFAULT NULL The issue method of the medication eg hand written
CONSTRAINT pk_medication_order_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
CONSTRAINT fk_medication_order_encounter_id FOREIGN KEY (encounter_id)
REFERENCES encounter (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_medication_order_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_medication_order_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: medication_statement

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint(20) NOT NULL Unique Id of the medication
organization_id bigint(20) NOT NULL Owning organisation (i.e. publisher) organization.id
patient_id bigint(20) NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint(20) NOT NULL Unique individual across all organisations person.id
encounter_id bigint(20) DEFAULT NULL Reference to the encounter this medication was recorded in encounter.id
practitioner_id bigint(20) DEFAULT NULL The clinician the activity is recorded against practitioner.id
clinical_effective_date date DEFAULT NULL The date the medication was clinical relevant
date_precision_concept_id int DEFAULT NULL Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
is_active boolean DEFAULT NULL Whether the medication is active or not
cancellation_date date DEFAULT NULL The date the medication was cancelled
dose varchar(1000) DEFAULT NULL Texual description of the dose of the medication
quantity_value real DEFAULT NULL The value of the medication that was prescribed eg 50
quantity_unit varchar(255) DEFAULT NULL The unit of the medication that was prescribed eg tablets
authorisation_type_concept_id int DEFAULT NULL Reference to the authorisation type
core_concept_id int DEFAULT NULL Reference to the clinical coding of the medication
non_core_concept_id int DEFAULT NULL Reference to the clinical coding of the medication
bnf_reference varchar(6) DEFAULT NULL A reference to the drug in the BNF dictionary
age_at_event decimal(5,2) DEFAULT NULL The age the patient was at the time of this event
Issue_method text DEFAULT NULL The issue method of the medication eg hand written
CONSTRAINT pk_medication_statement_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
CONSTRAINT fk_medication_statement_encounter_id FOREIGN KEY (encounter_id)
REFERENCES encounter (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_medication_statement_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_medication_statement_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: observation

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint(20) NOT NULL Unique Id of the observation
organization_id bigint(20) NOT NULL Owning organisation (i.e. publisher) organization.id
patient_id bigint(20) NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint(20) NOT NULL Unique individual across all organisations person.id
encounter_id bigint(20) DEFAULT NULL Reference to the encounter the observation was recorded at encounter.id
practitioner_id bigint(20) DEFAULT NULL The clinician the activity is recorded against practitioner.id
clinical_effective_date date DEFAULT NULL The date the observation was identified by a clinician
date_precision_concept_id int DEFAULT NULL Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
result_value rea DEFAULT NULL The value of the result of the observation
result_value_units varchar(50) DEFAULT NULL The units of the result of the observation
result_date date DEFAULT NULL The date of the result
result_text text Any text associated with the result
result_concept_id int DEFAULT NULL Reference to the clinical coding of the result
is_problem boolean NOT NULL Whether the observation is marked as a problem
is_review boolean NOT NULL Whether the observation is a review of an existing problem
problem_end_date date DEFAULT NULL The end date of the problem
parent_observation_id bigint(20) DEFAULT NULL Reference to the parent observation in a complex observation eg systolic and diastolic blood pressures will have a parent observation of Blood pressure
core_concept_id int DEFAULT NULL Reference to the clinical coding of the observation
non_core_concept_id int DEFAULT NULL Reference to the clinical coding of the observation
age_at_event decimal (5,2) DEFAULT NULL The age of the patient at the time of the observation
episodicity_concept_id int DEFAULT NULL Reference to the episodicity of the problem eg First, review, flare
is_primary boolean DEFAULT NULL Whether the observation is a primary observation
date_recorded datetime DEFAULT NULL The date the observation was recorded in the system
CONSTRAINT pk_observation_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
CONSTRAINT fk_observation_encounter_id FOREIGN KEY (encounter_id)
REFERENCES encounter (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_observation_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_observation_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: observation_additional

PRIMARY KEY (id, property_id)

Column name Data type Constraint Comments References
id bigint NOT NULL
property_id int NOT NULL IM reference (i.e. significance)
value_id int NULL IM reference (i.e. minor, significant) person.id
json_value json NULL Where there is no mapped value_id, just raw JSON
text_value varchar(255) NULL Where there is no mapped value_id or raw JSON, just a basic text value
CONSTRAINT pk_observation_additional_id PRIMARY KEY (id, property_id)

Table: organization

PRIMARY KEY (pk_organization_id PRIMARY KEY (id))

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the organisation
ods_code varchar(50) DEFAULT NULL ODS Code of the organisation
Name varchar(255) DEFAULT NULL Name of the organisation
type_code varchar(50) DEFAULT NULL The type of organisation
type_desc varchar(255) DEFAULT NULL Textual description of the type of organisation eg GP Practice
Postcode varchar(10) DEFAULT NULL The postcode of the organisation
parent_organization_id bigint DEFAULT NULL The id of the parent organisation
PRIMARY KEY pk_organization_id PRIMARY KEY (id)

Table: organization_metadata

PRIMARY KEY (id, publishing_software)

Column name Data type Constraint Comments References
id bigint NOT NULL corresponds to same ID in the organizaton table
publishing_software varchar(50) DEFAULT NULL software name of publishing system
last_data_to_dds datetime DEFAULT NULL date time data was last sent to DDS
last_data_cutoff datetime DEFAULT NULL cutoff date time of the last extract from the publishing system
CONSTRAINT pk_organization_metadata PRIMARY KEY (id, publishing_software)

Table: patient

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the patient
organization_id bigint NOT NULL Owning organisation (i.e. publisher) organization.id
person_id bigint NOT NULL Unique individual across all organisations person.id
title varchar(255) The title of the patient
first_names varchar(255) The first names of the patient
last_name varchar(255) The last name of the patient
gender_concept_id int Reference to the gender of the patient patient.gender.id
nhs_number varchar(255) The NHS number of the patient
date_of_birth date The date of birth of the patient
date_of_death date The date of death of the patient
current_address_id bigint Reference to the current address of the patient
ethnic_code_concept_id int Reference to the ethnicity of the patient
registered_practice_organization_id bigint Reference to the organisation the patient is registered at
birth_year smallint
birth_month tinyint
birth_week tinyint
CONSTRAINT pk_patient_id_organization_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
CONSTRAINT fk_patient_organization_id FOREIGN KEY (organization_id)
REFERENCES organization (id) MATCH SIMPLE

Table: patient_additional

PRIMARY KEY (id, property_id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the patient
property_id int NOT NULL IM reference (e.g. cause of death)
value_id int NULL IM reference (e.g. COVID) person.id
json_value json NULL Where there is no mapped value_id, just raw JSON
text_value varchar(255) NULL Where there is no mapped value_id or raw JSON, just a basic text value
CONSTRAINT pk_patient_additional_id PRIMARY KEY (id, property_id)

Table: patient_address

PRIMARY KEY (organization_id,id,patient_id,person_id)

Column name Data type Constraint Comments References
Id bigint NOT NULL Unique Id of the address
organization_id bigint NOT NULL Owning organisation (i.e. publisher) organisation.id
patient_id bigint NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint DEFAULT NULL Unique individual across all organisations person.id
address_line_1 varchar(255) DEFAULT NULL The first line of the address
address_line_2 varchar(255) DEFAULT NULL The second line of the address
address_line_3 varchar(255) DEFAULT NULL The third line of the address
address_line_4 varchar(255) DEFAULT NULL The fourth line of the address
city varchar(255) DEFAULT NULL The city
postcode varchar(255) DEFAULT NULL The postcode
use_concept_id int NOT NULL use of address (e.g. home, temporary)
start_date date NOT NULL The start date of this address being relevant
end_date date DEFAULT NULL The end date of this address being relevant
lsoa_2001_code varchar(9) DEFAULT NULL A reference to the LSOA_2001 code
lsoa_2011_code varchar(9) DEFAULT NULL A reference to the LSOA_2011 code
msoa_2001_code varchar(9) DEFAULT NULL A reference to the MSOA_2001 code
msoa_2011_code varchar(9) DEFAULT NULL A reference to the MSOA_2011 code
ward_code varchar(9) DEFAULT NULL The ward the address belongs to
local_authority_code varchar(9) DEFAULT NULL The local authority the address belongs to
CONSTRAINT pk_organization_id_id_patient_id_person_id
PRIMARY KEY (`organization_id`,`id`,`patient_id`,`person_id`)
CONSTRAINT fk_patient_address_patient_id_organization_id
FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id)
COMMENT 'stores address details for patients'

Table: patient_address_match

PRIMARY KEY(id, uprn)

Column name Data type Constraint Comments References
Id bigint(50) NOT NULL Reference to the patient_address table
patient_address_id bigint(20) NOT NULL
Uprn varchar(255) NOT NULL The Unique Propery Reference Number of the address
uprn_ralf00 varchar(255)
Status tinyint(1) DEFAULT NULL Whether the UPRN is active
uprn_property_classification varchar(45) DEFAULT NULL Building type eg flat, pub, house etc
Latitude double DEFAULT NULL The latitude of the UPRN
Longitude double DEFAULT NULL The longitude of the UPRN
uprn_xcoordinate double DEFAULT NULL The x coordinate of the UPRN
uprn_ycoordinate double DEFAULT NULL The y coordinate of the UPRN
qualifier varchar(50) DEFAULT NULL How the match is determined eg equivalent match, near match etc
match_rule varchar(4096) DEFAULT NULL Which algorithm was used to match the address to the UPRN
match_date datetime DEFAULT NULL The date the match was made
abp_address_number varchar(255) DEFAULT NULL The number value of the address in the ABP dictionary
abp_address_street varchar(255) DEFAULT NULL The street value of the address in the ABP dictionary
abp_address_locality varchar(255) DEFAULT NULL The locality value of the address in the ABP dictionary
abp_address_town varchar(255) DEFAULT NULL The town value of the address in the ABP dictionary
abp_address_postcode varchar(10) DEFAULT NULL The postcode value of the address in the ABP dictionary
abp_address_organization varchar(255) DEFAULT NULL The organization value of the address in the ABP dictionary
match_pattern_postcode varchar(255) DEFAULT NULL The qualifier used to match the postcode
match_pattern_street varchar(255) DEFAULT NULL The qualifier used to match the street
match_pattern_number varchar(255) DEFAULT NULL The qualifier used to match the number
match_pattern_building varchar(255) DEFAULT NULL The qualifier used to match the building
match_pattern_flat varchar(255) DEFAULT NULL The qualifier used to match the flat
algorithm_version varchar(255) DEFAULT NULL What version of the algorithm was used to make the match
epoc varchar(255) DEFAULT NULL The version of the ABP files the addresses were matched against
  CONSTRAINT `patient_address_uprn_patient_address_id_fk` FOREIGN KEY (`patient_address_id`) REFERENCES `patient_address` (`id`)

Table: patient_address_ralf

PRIMARY KEY (id, patient_address_id, patient_address_match_uprn_ralf00)

Column name Data type Constraint Comments References
Id bigint NOT NULL
organization_id bigint NOT NULL
patient_id bigint NOT NULL
person_id bigint NOT NULL
patient_address_id bigint NOT NULL
patient_address_match_uprn_ralf00 varchar(255) NOT NULL
salt_name varchar(50) NOT NULL
ralf varchar(255) NOT NULL
CONSTRAINT pk_patient_address_ralf PRIMARY KEY (id, patient_address_id, patient_address_match_uprn_ralf00)
CONSTRAINT fk_patient_address_ralf_organization_id FOREIGN KEY (organization_id) REFERENCES organization (id)
CONSTRAINT fk_patient_address_ralf_patient_id FOREIGN KEY (patient_id) REFERENCES patient (id)
CONSTRAINT fk_patient_address_ralf_person_id FOREIGN KEY (person_id) REFERENCES person (id)
CONSTRAINT fk_patient_address_ralf_patient_address_id FOREIGN KEY (patient_address_id) REFERENCES patient_address (id)

Table: patient_contact

PRIMARY KEY (organization_id,id,patient_id,person_id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the patient contact
organization_id bigint NOT NULL Owning organisation (i.e. publisher)
patient_id bigint NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint DEFAULT NULL Unique individual across all organisations person.id
use_concept_id int DEFAULT NULL use of contact (e.g. mobile, home,work
type_concept_id int DEFAULT NULL type of contact (e.g. phone, email)
start_date date DEFAULT NULL The start date of the contact being valid
end_date date DEFAULT NULL The end date of the contact being valid
value varchar(255) DEFAULT NULL The value of the contact information eg phone number, email address
CONSTRAINT pk_organization_id_id_patient_id_person_id PRIMARY KEY (`organization_id`,`id`,`patient_id`,`person_id`),
CONSTRAINT fk_patient_contact_patient_id_organisation_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id)
COMMENT 'stores contact details (e.g. phone) for patients'

Table: patient_pseudo_id

PRIMARY KEY(organization_id)

Column name Data type Constraint Comments References
Id bigint(20) NOT NULL Unique Id of the patient pseudo id
organization_id bigint(20) NOT NULL Owning organisation (i.e. publisher)
patient_id bigint(20) NOT NULL Reference to the patient this registration status history belongs to
person_id bigint(20) NOT NULL Reference to the person this registration status history belongs to
salt_name varchar(50) NOT NULL The name of the salt used to create the pseudo id
Skid varchar(255) NOT NULL "Secure Key IDentifier" - the pseudonymised ID generated for this patient using the salt specified in the salt_name column. Typically generated from patient NHS number, but is configurable on a case by case basis (e.g. may include date of birth)
is_nhs_number_valid boolean NOT NULL Whether the nhs number is valid
is_nhs_number_verified_by_publisher boolean NOT NULL Whether the nhs number has been verified by the publisher
CONSTRAINT PRIMARY KEY (organization_id)
CONSTRAINT fk_patient_pseudo_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id)

Table: patient_uprn

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
patient_id bigint(20) NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
organization_id bigint(20) NOT NULL Owning organisation (i.e. publisher) organisation.id
person_id bigint(20) NOT NULL Unique individual across all organisations person.id
Uprn bigint DEFAULT NULL
qualifier varchar(50) DEFAULT NULL
algorithm varchar(255) DEFAULT NULL
match varchar(255) DEFAULT NULL
no_address boolean DEFAULT NULL
invalid_address boolean DEFAULT NULL
missing_postcode boolean DEFAULT NULL
invalid_postcode boolean DEFAULT NULL
CONSTRAINT pk_patient_id_organization_id PRIMARY KEY (`organization_id`,`person_id`,`patient_id`),
CONSTRAINT fk_patient_uprn_patient_id_organisation_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: person

PRIMARY KEY (id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the person
organization_id bigint NOT NULL Owning organisation (i.e. publisher)
title varchar(255) DEFAULT NULL The title of the person
first_names varchar(255) DEFAULT NULL The first names of the person
last_name varchar(255) DEFAULT NULL The last name of the person
gender_concept_id int DEFAULT NULL Reference to the gender of the person
nhs_number varchar(255) DEFAULT NULL The NHS number of the person
date_of_birth date, date DEFAULT NULL The date of birth of the person
date_of_death date, date DEFAULT NULL The date of death of the person
current_address_id, bigint NOT NULL Reference to the current address of the person
ethnic_code_concept_id int DEFAULT NULL Reference to the ethnicity of the person
registered_practice_organization_id bigint DEFAULT NULL Reference to the organisation the person is registered at
birth_year smallint DEFAULT NULL
birth_month tinyint DEFAULT NULL
birth_week tinyint DEFAULT NULL
CONSTRAINT pk_person_id PRIMARY KEY (id)

Table: practitioner

PRIMARY KEY (id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the practitioner
organization_id bigint NOT NULL Owning organisation (i.e. publisher) organisation.id
name varchar(1024) DEFAULT NULL Name of the practitioner
role_code varchar(50) DEFAULT NULL The code representing the role of the practitioner
role_desc varchar(255) DEFAULT NULL Textual description of the role of the practitioner eg General Medical Practitioner
gmc_code varchar(50) DEFAULT NULL The GMC code of the practitioner
CONSTRAINT pk_practitioner_id PRIMARY KEY (id),
CONSTRAINT fk_practitioner_organisation_id FOREIGN KEY (organization_id)
REFERENCES organization (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: procedure_request

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint(20) NOT NULL Unique Id of the procedure
organization_id bigint(20) NOT NULL Owning organisation (i.e. publisher) organization.id
patient_id bigint(20) NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint(20) NOT NULL Unique individual across all organisations person.id
encounter_id bigint(20) DEFAULT NULL Reference to the encounter the procedure was administered at encounter.id
practitioner_id bigint(20) DEFAULT NULL The clinician the activity is recorded against practitioner.id
clinical_effective_date date DEFAULT NULL The date the procedure was administered by a clinician
date_precision_concept_id int DEFAULT NULL Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
status_concept_id int DEFAULT NULL Reference to the status of the procedure
core_concept_id int DEFAULT NULL Reference to the clinical coding of the procedure
non_core_concept_id int DEFAULT NULL Reference to the clinical coding of the procedure
age_at_event decimal(5,2) DEFAULT NULL The age of the patient at the time of the procedure
date_recorded datetime DEFAULT NULL The date the procedure was recorded in the source system
CONSTRAINT pk_procedure_request_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
/*got an Emis procedure request referring to a confidential encounter, so can't enforce this
CONSTRAINT fk_procedure_request_encounter_id FOREIGN KEY (encounter_id)
REFERENCES encounter (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,*/
CONSTRAINT fk_procedure_request_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_procedure_request_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: pseudo_id

PRIMARY KEY (patient_id, salt_key_name)

Column name Data type Constraint Comments References
Id bigint NOT NULL Unique Id of the pseudo Id
patient_id bigint NOT NULL Reference to the patient the pseudo Id belongs to
salt_key_name varchar(50) NOT NULL The name of the salt key used to create the pseudo id
pseudo_id varchar(255) DEFAULT NULL The pseudo id
CONSTRAINT pk_pseudo_id PRIMARY KEY (patient_id, salt_key_name)

Table: referral_request

PRIMARY KEY (organization_id,person_id,id)

Column name Data type Constraint Comments References
id bigint(20) NOT NULL Unique Id of the referral
organization_id bigint(20) NOT NULL Owning organisation (i.e. publisher) organization.id
patient_id bigint(20) NOT NULL The organisations record for this person’s registration. Patients may have multiple records across clinical systems and may have registered at an organisation multiple times patient.id
person_id bigint(20) NOT NULL Unique individual across all organisations person.id
encounter_id bigint(20) DEFAULT NULL Reference to the encounter the referral was made in encounter.id
practitioner_id bigint(20) DEFAULT NULL The clinician the activity is recorded against practitioner.id
clinical_effective_date date DEFAULT NULL The date the referral was made
date_precision_concept_id smallint(6) DEFAULT NULL Identifies the precision of the clinical effectiveness date to either year (1) month (2) day (5) minute (12) second (13) millisecond (14)
requester_organization_id bigint(20) DEFAULT NULL Reference to the organisation that made the refereral request
recipient_organization_id bigint(20) DEFAULT NULL Reference to the organization receiving the referral
referral_request_priority_concept_id smallint(6) DEFAULT NULL Reference to the priority of the referral referral.request.priority
referral_request_type_concept_id int DEFAULT NULL Reference to the type of referral request referral.request.type
Mode varchar(50) DEFAULT NULL The mode of the referral
outgoing_referral boolean DEFAULT NULL Whether this is an outgoing referral
is_review boolean DEFAULT NULL Whether this referral is a review
core_concept_id int DEFAULT NULL Reference to the clinical coding of the referral
non_core_concept_id int DEFAULT NULL Reference to the clinical coding of the referral
age_at_event decimal(5,2) DEFAULT NULL The age of the patient at the time of the referral
date_recorded datetime DEFAULT NULL The date the referral request was added to the source system
CONSTRAINT pk_referral_request_id PRIMARY KEY (`organization_id`,`person_id`,`id`),
/*got an Emis referral request referring to a confidential encounter, so can't enforce this
CONSTRAINT fk_referral_request_encounter_id FOREIGN KEY (encounter_id)
REFERENCES encounter (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,*/
CONSTRAINT fk_referral_request_patient_id_organization_id FOREIGN KEY (patient_id, organization_id)
REFERENCES patient (id, organization_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_referral_request_practitioner_id FOREIGN KEY (practitioner_id)
REFERENCES practitioner (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_referral_request_recipient_organization_id FOREIGN KEY (recipient_organization_id)
REFERENCES organization (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_referral_request_requester_organization_id FOREIGN KEY (requester_organization_id)
REFERENCES organization (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION

Table: registration_status_history

PRIMARY KEY(organization_id,id,patient_id,person_id)

Column name Data type Constraint Comments References
Id bigint(20) NOT NULL Unique Id of the registration status history
organization_id bigint(20) NOT NULL Owning organisation (i.e. publisher)
patient_id bigint(20) NOT NULL Reference to the patient this registration status history belongs to
person_id bigint(20) NOT NULL Reference to the person this registration status history belongs to
episode_of_care_id bigint(20) DEFAULT NULL Reference to the episode of care this status history belongs to
registration_status_concept_id int(11) DEFAULT NULL Reference to the registration status
start_date datetime DEFAULT NULL The start date for the period this registration status history was valid
end_date datetime DEFAULT NULL The end date for the period this registration status history was valid
PRIMARY KEY (organization_id,id,patient_id,person_id)
CONSTRAINT fk_registration_status_history_episode_id FOREIGN KEY (episode_of_care_id)

Table: schedule

PRIMARY KEY (organization_id, id)

Column name Data type Constraint Comments References
id bigint NOT NULL Unique Id of the schedule
organization_id bigint NOT NULL Owning organisation (i.e. publisher) organization.id
practitioner_id bigint DEFAULT NULL Reference to the practitioner who owns the schedule practitioner.id
start_date date DEFAULT NULL The start date of the schedule
type varchar(255) DEFAULT NULL The type of schedule eg Timed Appointments
Location varchar(255) DEFAULT NULL Textual description of the location the schedule was held at location.id
Name varchar(150) DEFAULT NULL The name of the schedule
CONSTRAINT pk_schedule_id PRIMARY KEY (organization_id, id),
CONSTRAINT fk_schedule_organization_id FOREIGN KEY (organization_id)
REFERENCES organization (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION