Bill/olids schema changes 202604#85
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds YAML “schema dictionary” files for the OLIDS common data model, describing table structures, column metadata, and (in some cases) relationships, to support improved documentation and interoperability.
Changes:
- Introduces schema-dictionary YAML definitions for OLIDS_COMMON, OLIDS_PCD, OLIDS_MASKED, OLIDS_TERMINOLOGY, OLIDS_GOVERNANCE, and REFERENCE schemas.
- Adds column-level metadata (descriptions, data types, compass equivalents) and some relationship/reference annotations.
- Updates documentation content to reflect recent schema clarifications (e.g., organisation id typing, shard ids, and source concept ids).
Reviewed changes
Copilot reviewed 35 out of 36 changed files in this pull request and generated 22 comments.
Show a summary per file
| File | Description |
|---|---|
| OLIDS/Documentation/schema-dictionary/reference__postcode_hash.yml | Adds schema dictionary for REFERENCE.postcode_hash reference table |
| OLIDS/Documentation/schema-dictionary/olids_terminology__concept.yml | Adds schema dictionary for OLIDS_TERMINOLOGY.concept |
| OLIDS/Documentation/schema-dictionary/olids_terminology__concept_map.yml | Adds schema dictionary for OLIDS_TERMINOLOGY.concept_map |
| OLIDS/Documentation/schema-dictionary/olids_pcd__person.yml | Adds schema dictionary for OLIDS_PCD.person |
| OLIDS/Documentation/schema-dictionary/olids_pcd__patient.yml | Adds schema dictionary for OLIDS_PCD.patient |
| OLIDS/Documentation/schema-dictionary/olids_pcd__patient_uprn.yml | Adds schema dictionary for OLIDS_PCD.patient_uprn |
| OLIDS/Documentation/schema-dictionary/olids_pcd__patient_contact.yml | Adds schema dictionary for OLIDS_PCD.patient_contact |
| OLIDS/Documentation/schema-dictionary/olids_pcd__patient_address.yml | Adds schema dictionary for OLIDS_PCD.patient_address |
| OLIDS/Documentation/schema-dictionary/olids_masked__person_masked.yml | Adds schema dictionary for OLIDS_MASKED.person_masked |
| OLIDS/Documentation/schema-dictionary/olids_masked__patient_masked.yml | Adds schema dictionary for OLIDS_MASKED.patient_masked |
| OLIDS/Documentation/schema-dictionary/olids_masked__patient_uprn_masked.yml | Adds schema dictionary for OLIDS_MASKED.patient_uprn_masked |
| OLIDS/Documentation/schema-dictionary/olids_masked__patient_contact_masked.yml | Adds schema dictionary for OLIDS_MASKED.patient_contact_masked |
| OLIDS/Documentation/schema-dictionary/olids_masked__patient_address_masked.yml | Adds schema dictionary for OLIDS_MASKED.patient_address_masked |
| OLIDS/Documentation/schema-dictionary/olids_governance__allocation.yml | Adds schema dictionary for OLIDS_GOVERNANCE.allocation |
| OLIDS/Documentation/schema-dictionary/olids_common__schedule.yml | Adds schema dictionary for OLIDS_COMMON.schedule |
| OLIDS/Documentation/schema-dictionary/olids_common__schedule_practitioner.yml | Adds schema dictionary for OLIDS_COMMON.schedule_practitioner |
| OLIDS/Documentation/schema-dictionary/olids_common__referral_request.yml | Adds schema dictionary for OLIDS_COMMON.referral_request |
| OLIDS/Documentation/schema-dictionary/olids_common__procedure_request.yml | Adds schema dictionary for OLIDS_COMMON.procedure_request |
| OLIDS/Documentation/schema-dictionary/olids_common__practitioner.yml | Adds schema dictionary for OLIDS_COMMON.practitioner |
| OLIDS/Documentation/schema-dictionary/olids_common__practitioner_in_role.yml | Adds schema dictionary for OLIDS_COMMON.practitioner_in_role |
| OLIDS/Documentation/schema-dictionary/olids_common__patient_registered_practitioner_in_role.yml | Adds schema dictionary for OLIDS_COMMON.patient_registered_practitioner_in_role |
| OLIDS/Documentation/schema-dictionary/olids_common__patient_person.yml | Adds schema dictionary for OLIDS_COMMON.patient_person bridge table |
| OLIDS/Documentation/schema-dictionary/olids_common__organisation.yml | Adds schema dictionary for OLIDS_COMMON.organisation |
| OLIDS/Documentation/schema-dictionary/olids_common__observation.yml | Adds schema dictionary for OLIDS_COMMON.observation |
| OLIDS/Documentation/schema-dictionary/olids_common__medication_statement.yml | Adds schema dictionary for OLIDS_COMMON.medication_statement |
| OLIDS/Documentation/schema-dictionary/olids_common__medication_order.yml | Adds schema dictionary for OLIDS_COMMON.medication_order |
| OLIDS/Documentation/schema-dictionary/olids_common__location.yml | Adds schema dictionary for OLIDS_COMMON.location |
| OLIDS/Documentation/schema-dictionary/olids_common__location_contact.yml | Adds schema dictionary for OLIDS_COMMON.location_contact |
| OLIDS/Documentation/schema-dictionary/olids_common__flag.yml | Adds schema dictionary for OLIDS_COMMON.flag |
| OLIDS/Documentation/schema-dictionary/olids_common__episode_of_care.yml | Adds schema dictionary for OLIDS_COMMON.episode_of_care |
| OLIDS/Documentation/schema-dictionary/olids_common__encounter.yml | Adds schema dictionary for OLIDS_COMMON.encounter |
| OLIDS/Documentation/schema-dictionary/olids_common__diagnostic_order.yml | Adds schema dictionary for OLIDS_COMMON.diagnostic_order |
| OLIDS/Documentation/schema-dictionary/olids_common__appointment.yml | Adds schema dictionary for OLIDS_COMMON.appointment |
| OLIDS/Documentation/schema-dictionary/olids_common__appointment_practitioner.yml | Adds schema dictionary for OLIDS_COMMON.appointment_practitioner |
| OLIDS/Documentation/schema-dictionary/olids_common__allergy_intolerance.yml | Adds schema dictionary for OLIDS_COMMON.allergy_intolerance |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| source_markdown: 'OLIDS/Documentation/OLIDS-schema-dictionary.md' | ||
| columns: | ||
| - name: 'CONCEPT_ID' | ||
| description: '''Unique ID of the person''' |
| source_markdown: 'OLIDS/Documentation/OLIDS-schema-dictionary.md' | ||
| columns: | ||
| - name: 'ID' | ||
| description: '''Unique ID of the person''' |
Comment on lines
+129
to
+130
| target_table: 'concept' | ||
| target_column: 'id' |
| target_table: 'ORGANISATION' | ||
| target_column: 'ID' | ||
| cardinality_description: 'One ORGANISATION can publish many EPISODE_OF_CARE events' | ||
| - name: 'MANAGING_ORGANSIATION_ID' |
| compass_equivalent: 'registration_type_concept_id' | ||
| references: | ||
| target_table: 'CONCEPT' | ||
| target_column: 'ID' |
Comment on lines
+50
to
+64
| - name: 'DEATH_NOTIFICATION_STATUS' | ||
| description: '<to be confirmed>' | ||
| data_type: '' | ||
| - name: 'POSTCODE_HASH' | ||
| description: '<to be confirmed>' | ||
| data_type: '' | ||
| - name: 'PREFERRED_CONTACT_METHOD' | ||
| description: '<to be confirmed>' | ||
| data_type: '' | ||
| - name: 'NOMINATED_PHARMACY' | ||
| description: '<to be confirmed>' | ||
| data_type: '' | ||
| - name: 'DISPENSING_DOCTOR' | ||
| description: '<to be confirmed>' | ||
| data_type: '' |
Comment on lines
+65
to
+76
| - name: 'MEDICAL_APPLIANCE_SUPPLIER' | ||
| description: '<to be confirmed>' | ||
| data_type: '' | ||
| - name: 'GP_PRACTICE_CODE' | ||
| description: '<to be confirmed>' | ||
| data_type: '' | ||
| - name: 'GP_REGISTRATION_DATE' | ||
| description: '<to be confirmed>' | ||
| data_type: '' | ||
| - name: 'AS_AT_DATE' | ||
| description: '<to be confirmed>' | ||
| data_type: '' |
| description: 'record-version of the person. a subscriber may be limited to a description of a person up to a point in time' | ||
| data_type: 'uniqueidentifier' | ||
| - name: 'PERSON_RECORD_TYPE' | ||
| description: '"STUB" or "PDS" - stub person records are generated from supplied data in advance of a PDS reponse, or where no matched response is recieved .' |
| description: 'record-version of the person. a subscriber may be limited to a description of a person up to a point in time' | ||
| data_type: 'uniqueidentifier' | ||
| - name: 'PERSON_RECORD_TYPE' | ||
| description: '"STUB" or "PDS" - stub person records are generated from supplied data in advance of a PDS reponse, or where no matched response is recieved .' |
| description: 'Date the business id was first witnessed by, received by or supplied to LDS.' | ||
| data_type: 'datetime(3)' | ||
| - name: 'LDS_IS_DELETED' | ||
| description: 'LDS flag standardised presentation of deleted state of the record. **Note this column is currently absent, but will be added in a later release**.' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces YAML schema dictionary files for the OLIDS common data model. These files define the structure, metadata, and relationships for each table as part of the schema, supporting improved data documentation and interoperability.
New schema dictionary files:
OLIDS Common Schema Documentation updates:
ORGANISATION_IDtype columnsSHARD_IDcolumnsSOURCE_CONCEPT_IDcolumns