procedure_source_concept_id
SUS Outpatient Procedure Occurrence
Source column PrimaryProcedure
. Resolve OPCS4 codes to OMOP concepts. If code cannot be mapped, map using the parent code.
PrimaryProcedure
OPC4 Procedure code. PROCEDURE (OPCS)
select
distinct
op.GeneratedRecordIdentifier,
op.NHSNumber,
op.AppointmentDate,
p.ProcedureOPCS as PrimaryProcedure
from omop_staging.sus_OP op
inner join omop_staging.sus_OP_OPCSProcedure p
on op.MessageId = p.MessageId
where NHSNumber is not null
Comment or raise an issue for this mapping.
SUS APC Procedure Occurrence
Source column PrimaryProcedure
. Resolve OPCS4 codes to OMOP concepts. If code cannot be mapped, map using the parent code.
PrimaryProcedure
OPC4 Procedure code. PROCEDURE (OPCS)
select
distinct
apc.GeneratedRecordIdentifier,
apc.NHSNumber,
p.ProcedureDateOPCS as PrimaryProcedureDate,
p.ProcedureOPCS as PrimaryProcedure
from omop_staging.sus_APC apc
inner join omop_staging.sus_OPCSProcedure p
on apc.MessageId = p.MessageId
where NHSNumber is not null
Comment or raise an issue for this mapping.
Cosd V9 Procedure Occurrence Procedure Opcs
Source column ProcedureOpcsCode
. Resolve OPCS4 codes to OMOP concepts. If code cannot be mapped, map using the parent code.
ProcedureOpcsCode
PROCEDURE (OPCS) is a Patient Procedure other than the PRIMARY PROCEDURE (OPCS). PROCEDURE (OPCS)
;with XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1' AS COSD901),
CosdRecords as (
select
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
T.staging.query('.') as Node
from omop_staging.cosd_staging
cross apply content.nodes('COSD901:COSD/*') as T(staging)
where T.staging.exist('Id/@root') = 1
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1'
and substring (FileName, 15, 2) = 'CO'
), ProcedureOpcs as (
select
Id,
T.p.value('.', 'varchar(max)') as ProcedureOpcsCode
from CosdRecords
cross apply Node.nodes('ColorectalRecord/Treatment/Surgery/ProcedureOpcs/@code') as T(p)
), COSD as (
select
Id,
Node.value('(ColorectalRecord/LinkagePatientId/NhsNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
Node.value('(ColorectalRecord/Treatment/Surgery/ProcedureDate)[1]', 'varchar(max)') as ProcedureDate
from CosdRecords
)
select
distinct
c.NhsNumber,
c.ProcedureDate,
p.ProcedureOpcsCode
from COSD c
inner join ProcedureOpcs p
on c.Id = p.Id;
Comment or raise an issue for this mapping.
Cosd V9 Procedure Occurrence Primary Procedure Opcs
Source column PrimaryProcedureOpcs
. Resolve OPCS4 codes to OMOP concepts. If code cannot be mapped, map using the parent code.
PrimaryProcedureOpcs
PRIMARY PROCEDURE (OPCS) is the OPCS Classification of Interventions and Procedures code which is used to identify the primary Patient Procedure carried out. PRIMARY PROCEDURE (OPCS)
;with XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1' AS COSD901),
CosdRecords as (
select
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
T.staging.query('.') as Node
from omop_staging.cosd_staging
cross apply content.nodes('COSD901:COSD/*') as T(staging)
where T.staging.exist('Id/@root') = 1
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1'
and substring (FileName, 15, 2) = 'CO'
), COSD as (
select
Id,
Node.value('(ColorectalRecord/LinkagePatientId/NhsNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
Node.value('(ColorectalRecord/Treatment/Surgery/ProcedureDate)[1]', 'varchar(max)') as ProcedureDate,
Node.value('(ColorectalRecord/Treatment/Surgery/PrimaryProcedureOpcs/@code)[1]', 'varchar(max)') as PrimaryProcedureOpcs
from CosdRecords
)
select
distinct
NhsNumber,
ProcedureDate,
PrimaryProcedureOpcs
from COSD c
where ProcedureDate is not null and PrimaryProcedureOpcs is not null;
Comment or raise an issue for this mapping.
Cosd V8 Procedure Occurrence Procedure Opcs
Source column ProcedureOpcsCode
. Resolve OPCS4 codes to OMOP concepts. If code cannot be mapped, map using the parent code.
ProcedureOpcsCode
PROCEDURE (OPCS) is a Patient Procedure other than the PRIMARY PROCEDURE (OPCS). PROCEDURE (OPCS)
;with XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v8-1' AS COSD),
CosdRecords as (
select
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
T.staging.query('*[local-name() != "Id"][1]/*[1]') as Node -- Select the first inner element of the element that is not called Id.
from omop_staging.cosd_staging
cross apply content.nodes('COSD:COSD/*') as T(staging)
where T.staging.exist('Id/@root') = 1
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v8-1'
and substring (FileName, 15, 2) = 'CO'
), CO as (
select
Id,
Node,
Node.value('(ColorectalCore/ColorectalCoreLinkagePatientId/NHSNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
Node.value('(ColorectalCore/ColorectalCoreTreatment/ColorectalCoreSurgeryAndOtherProcedures/ProcedureDate)[1]', 'varchar(max)') as ProcedureDate,
Node.value('(ColorectalCore/ColorectalCoreTreatment/ColorectalCoreSurgeryAndOtherProcedures/PrimaryProcedureOPCS/@code)[1]', 'varchar(max)') as PrimaryProcedureOpcs
from CosdRecords
), ProcedureOpcs as (
select
Id,
T.p.value('.', 'varchar(max)') as ProcedureOpcsCode
from CosdRecords
cross apply Node.nodes('ColorectalCore/ColorectalCoreTreatment/ColorectalCoreSurgeryAndOtherProcedures/ProcedureOPCS/@code') as T(p)
)
select
distinct
c.NhsNumber,
c.ProcedureDate,
p.ProcedureOpcsCode
from CO c
inner join ProcedureOpcs p
on c.Id = p.Id;
Comment or raise an issue for this mapping.
Cosd V8 Procedure Occurrence Primary Procedure Opcs
Source column PrimaryProcedureOpcs
. Resolve OPCS4 codes to OMOP concepts. If code cannot be mapped, map using the parent code.
PrimaryProcedureOpcs
PRIMARY PROCEDURE (OPCS) is the OPCS Classification of Interventions and Procedures code which is used to identify the primary Patient Procedure carried out. PRIMARY PROCEDURE (OPCS)
;with XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v8-1' AS COSD),
CosdRecords as (
select
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
T.staging.query('*[local-name() != "Id"][1]/*[1]') as Node -- Select the first inner element of the element that is not called Id.
from omop_staging.cosd_staging
cross apply content.nodes('COSD:COSD/*') as T(staging)
where T.staging.exist('Id/@root') = 1
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v8-1'
and substring (FileName, 15, 2) = 'CO'
), CO as (
select
Id,
Node,
Node.value('(ColorectalCore/ColorectalCoreLinkagePatientId/NHSNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
Node.value('(ColorectalCore/ColorectalCoreTreatment/ColorectalCoreSurgeryAndOtherProcedures/ProcedureDate)[1]', 'varchar(max)') as ProcedureDate,
Node.value('(ColorectalCore/ColorectalCoreTreatment/ColorectalCoreSurgeryAndOtherProcedures/PrimaryProcedureOPCS/@code)[1]', 'varchar(max)') as PrimaryProcedureOpcs
from CosdRecords
)
select
distinct
NhsNumber,
ProcedureDate,
PrimaryProcedureOpcs
from CO c
where ProcedureDate is not null and PrimaryProcedureOpcs is not null;
Comment or raise an issue for this mapping.
CDS Procedure Occurrence
Source column PrimaryProcedure
. Resolve OPCS4 codes to OMOP concepts. If code cannot be mapped, map using the parent code.
PrimaryProcedure
OPC4 Procedure code. PROCEDURE (OPCS)
select
distinct
l1.RecordConnectionIdentifier,
l1.NHSNumber,
p.PrimaryProcedureDate,
p.PrimaryProcedure
from omop_staging.cds_line01 l1
inner join omop_staging.cds_procedure p
on l1.MessageId = p.MessageId
where l1.NHSNumber is not null;