Skip to content

Commit 68224ce

Browse files
Merge pull request #275 from answerdigital/feature/restore-cosd
Feature/restore cosd
2 parents 1c6423d + 62611b3 commit 68224ce

File tree

284 files changed

+7903
-12455
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

284 files changed

+7903
-12455
lines changed

OmopTransformer/COSD/ConditionOccurrence/CosdConditionOccurrencePrimaryDiagnosis/CosdV9ConditionOccurrencePrimaryDiagnosis.xml

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,22 @@
11
<Query>
22
<Sql>
3-
;with
4-
XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1' AS COSD901),
5-
CosdRecords as (
6-
7-
select
8-
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
9-
T.staging.query('.') as Node
10-
from omop_staging.cosd_staging
11-
cross apply content.nodes('COSD901:COSD/*') as T(staging)
12-
where T.staging.exist('Id/@root') = 1
13-
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1'
14-
and substring (FileName, 15, 2) = 'CO'
15-
), CO as (
3+
with co as (
164
select
17-
Id,
18-
Node,
19-
Node.value('(ColorectalRecord/LinkagePatientId/NhsNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
20-
Node.value('(ColorectalRecord/PrimaryPathway/LinkageDiagnosticDetails/DateOfPrimaryDiagnosisClinicallyAgreed)[1]', 'varchar(max)') as DateOfPrimaryDiagnosisClinicallyAgreed,
21-
Node.value('(ColorectalRecord/PrimaryPathway/Diagnosis/MorphologyIcd-o-3/@code)[1]', 'varchar(max)') as CancerHistology,
22-
Node.value('(ColorectalRecord/PrimaryPathway/Diagnosis/TopographyIcd-o-3/@code)[1]', 'varchar(max)') as CancerTopography,
23-
Node.value('(ColorectalRecord/PrimaryPathway/Diagnosis/BasisOfDiagnosisCancer/@code)[1]', 'varchar(max)') as BasisOfDiagnosisCancer,
24-
Node.value('(ColorectalRecord/PrimaryPathway/LinkageDiagnosticDetails/PrimaryDiagnosisIcd/@code)[1]', 'varchar(max)') as CancerDiagnosis
25-
from CosdRecords
5+
Record ->> '$.LinkagePatientId.NhsNumber.@extension' as NhsNumber,
6+
Record ->> '$.PrimaryPathway.LinkageDiagnosticDetails.DateOfPrimaryDiagnosisClinicallyAgreed' as DateOfPrimaryDiagnosisClinicallyAgreed,
7+
Record ->> '$.PrimaryPathway.Diagnosis."MorphologyIcd-o-3"."@code"' as CancerHistology,
8+
Record ->> '$.PrimaryPathway.Diagnosis."TopographyIcd-o-3"."@code"' as CancerTopography,
9+
Record ->> '$.PrimaryPathway.Diagnosis.BasisOfDiagnosisCancer.@code' as BasisOfDiagnosisCancer,
10+
Record ->> '$.PrimaryPathway.LinkageDiagnosticDetails.PrimaryDiagnosisIcd.@code' as CancerDiagnosis
11+
from omop_staging.cosd_staging_901
12+
where type = 'CO'
2613
)
2714
select
2815
NhsNumber,
2916
DateOfPrimaryDiagnosisClinicallyAgreed,
3017
max(BasisOfDiagnosisCancer) as BasisOfDiagnosisCancer,
3118
CancerDiagnosis
32-
from CO
19+
from co
3320
where DateOfPrimaryDiagnosisClinicallyAgreed is not null
3421
group by NhsNumber, DateOfPrimaryDiagnosisClinicallyAgreed, CancerDiagnosis;
3522
</Sql>

OmopTransformer/COSD/ConditionOccurrence/CosdConditionOccurrencePrimaryDiagnosisHistologyTopography/CosdV9ConditionOccurrencePrimaryDiagnosisHistologyTopography.xml

Lines changed: 11 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,16 @@
11
<Query>
22
<Sql>
3-
;with
4-
XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1' AS COSD901),
5-
CosdRecords as (
6-
7-
select
8-
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
9-
T.staging.query('.') as Node
10-
from omop_staging.cosd_staging
11-
cross apply content.nodes('COSD901:COSD/*') as T(staging)
12-
where T.staging.exist('Id/@root') = 1
13-
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1'
14-
and substring (FileName, 15, 2) = 'CO'
15-
), CO as (
16-
select
17-
Id,
18-
Node,
19-
Node.value('(ColorectalRecord/LinkagePatientId/NhsNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
20-
Node.value('(ColorectalRecord/PrimaryPathway/LinkageDiagnosticDetails/DateOfPrimaryDiagnosisClinicallyAgreed)[1]', 'varchar(max)') as DateOfPrimaryDiagnosisClinicallyAgreed,
21-
Node.value('(ColorectalRecord/PrimaryPathway/Diagnosis/MorphologyIcd-o-3/@code)[1]', 'varchar(max)') as CancerHistology,
22-
Node.value('(ColorectalRecord/PrimaryPathway/Diagnosis/TopographyIcd-o-3/@code)[1]', 'varchar(max)') as CancerTopography,
23-
Node.value('(ColorectalRecord/PrimaryPathway/Diagnosis/BasisOfDiagnosisCancer/@code)[1]', 'varchar(max)') as BasisOfDiagnosisCancer,
24-
Node.value('(ColorectalRecord/PrimaryPathway/LinkageDiagnosticDetails/PrimaryDiagnosisIcd/@code)[1]', 'varchar(max)') as CancerDiagnosis
25-
from CosdRecords
26-
)
27-
select
28-
distinct
29-
NhsNumber,
30-
DateOfPrimaryDiagnosisClinicallyAgreed,
31-
BasisOfDiagnosisCancer,
32-
CancerHistology,
33-
CancerTopography
34-
from CO
35-
where DateOfPrimaryDiagnosisClinicallyAgreed is not null
36-
and CancerHistology is not null
37-
and CancerTopography is not null;
3+
select distinct
4+
Record ->> '$.LinkagePatientId.NhsNumber.@extension' as NhsNumber,
5+
Record ->> '$.PrimaryPathway.LinkageDiagnosticDetails.DateOfPrimaryDiagnosisClinicallyAgreed' as DateOfPrimaryDiagnosisClinicallyAgreed,
6+
Record ->> '$.PrimaryPathway.Diagnosis.BasisOfDiagnosisCancer.@code' as BasisOfDiagnosisCancer,
7+
Record ->> '$.PrimaryPathway.Diagnosis."MorphologyIcd-o-3"."@code"' as CancerHistology,
8+
Record ->> '$.PrimaryPathway.Diagnosis."TopographyIcd-o-3"."@code"' as CancerTopography
9+
from omop_staging.cosd_staging_901
10+
where type = 'CO'
11+
and DateOfPrimaryDiagnosisClinicallyAgreed is not null
12+
and CancerHistology is not null
13+
and CancerTopography not null;
3814
</Sql>
3915
<Explanations>
4016
<Explanation columnName="NHSNumber">

OmopTransformer/COSD/ConditionOccurrence/CosdConditionOccurrenceProgression/CosdV9ConditionOccurrenceProgression.xml

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,12 @@
11
<Query>
22
<Sql>
3-
;with
4-
XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1' AS COSD901),
5-
CosdRecords as (
6-
7-
select
8-
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
9-
T.staging.query('.') as Node
10-
from omop_staging.cosd_staging
11-
cross apply content.nodes('COSD901:COSD/*') as T(staging)
12-
where T.staging.exist('Id/@root') = 1
13-
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1'
14-
and substring (FileName, 15, 2) = 'CO'
15-
), CO as (
16-
select
17-
Id,
18-
Node,
19-
Node.value('(ColorectalRecord/LinkagePatientId/NhsNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
20-
Node.value('(ColorectalRecord/NonPrimaryPathway/DateOfNonPrimaryCancerDiagnosisClinicallyAgreed)[1]', 'varchar(max)') as NonPrimaryDiagnosisDate,
21-
Node.value('(ColorectalRecord/NonPrimaryPathway/Progression/ProgressionIcd/@code)[1]', 'varchar(max)') as NonPrimaryProgressionOriginalDiagnosis
22-
from CosdRecords
23-
)
24-
select
25-
distinct
26-
NhsNumber,
27-
NonPrimaryDiagnosisDate,
28-
NonPrimaryProgressionOriginalDiagnosis
29-
from CO
30-
where NonPrimaryProgressionOriginalDiagnosis is not null;
3+
select distinct
4+
Record ->> '$.LinkagePatientId.NhsNumber.@extension' as NhsNumber,
5+
Record ->> '$.NonPrimaryPathway.DateOfNonPrimaryCancerDiagnosisClinicallyAgreed' as NonPrimaryDiagnosisDate,
6+
Record ->> '$.NonPrimaryPathway.Progression.ProgressionIcd.@code' as NonPrimaryProgressionOriginalDiagnosis
7+
from omop_staging.cosd_staging_901
8+
where type = 'CO'
9+
and NonPrimaryProgressionOriginalDiagnosis is not null;
3110
</Sql>
3211
<Explanations>
3312
<Explanation columnName="NhsNumber">

OmopTransformer/COSD/ConditionOccurrence/CosdConditionOccurrenceRecurrence/CosdV9ConditionOccurrenceRecurrence.xml

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,13 @@
11
<Query>
22
<Sql>
3-
;with
4-
XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1' AS COSD901),
5-
CosdRecords as (
6-
7-
select
8-
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
9-
T.staging.query('.') as Node
10-
from omop_staging.cosd_staging
11-
cross apply content.nodes('COSD901:COSD/*') as T(staging)
12-
where T.staging.exist('Id/@root') = 1
13-
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1'
14-
and substring (FileName, 15, 2) = 'CO'
15-
), CO as (
16-
select
17-
Id,
18-
Node,
19-
Node.value('(ColorectalRecord/LinkagePatientId/NhsNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
20-
Node.value('(ColorectalRecord/NonPrimaryPathway/DateOfNonPrimaryCancerDiagnosisClinicallyAgreed)[1]', 'varchar(max)') as DateOfNonPrimaryCancerDiagnosisClinicallyAgreed,
21-
Node.value('(ColorectalRecord/NonPrimaryPathway/Recurrence/OriginalPrimaryDiagnosisIcd/@code)[1]', 'varchar(max)') as NonPrimaryRecurrenceOriginalDiagnosis
22-
from CosdRecords
23-
)
24-
select
25-
distinct
26-
NhsNumber,
27-
DateOfNonPrimaryCancerDiagnosisClinicallyAgreed,
28-
NonPrimaryRecurrenceOriginalDiagnosis
29-
from CO
30-
where NonPrimaryRecurrenceOriginalDiagnosis is not null;
3+
select
4+
distinct
5+
Record ->> '$.LinkagePatientId.NhsNumber.@extension' as NhsNumber,
6+
Record ->> '$.NonPrimaryPathway.DateOfNonPrimaryCancerDiagnosisClinicallyAgreed' as DateOfNonPrimaryCancerDiagnosisClinicallyAgreed,
7+
Record ->> '$.NonPrimaryPathway.Recurrence.OriginalPrimaryDiagnosisIcd.@code' as NonPrimaryRecurrenceOriginalDiagnosis
8+
from omop_staging.cosd_staging_901
9+
where type = 'CO'
10+
and NonPrimaryRecurrenceOriginalDiagnosis is not null;
3111
</Sql>
3212
<Explanations>
3313
<Explanation columnName="NHSNumber">

OmopTransformer/COSD/ConditionOccurrence/CosdConditionOccurrenceSecondaryDiagnosis/CosdV9ConditionOccurrenceSecondaryDiagnosis.xml

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,20 @@
11
<Query>
22
<Sql>
3-
;with
4-
XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1' AS COSD901),
5-
CosdRecords as (
6-
7-
select
8-
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
9-
T.staging.query('.') as Node
10-
from omop_staging.cosd_staging
11-
cross apply content.nodes('COSD901:COSD/*') as T(staging)
12-
where T.staging.exist('Id/@root') = 1
13-
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v9-0-1'
14-
and substring (FileName, 15, 2) = 'CO'
15-
), CO as (
3+
with CO as (
164
select
17-
Id,
18-
Node,
19-
Node.value('(ColorectalRecord/LinkagePatientId/NhsNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
20-
Node.value('(ColorectalRecord/PrimaryPathway/LinkageDiagnosticDetails/DateOfPrimaryDiagnosisClinicallyAgreed)[1]', 'varchar(max)') as DateOfPrimaryDiagnosisClinicallyAgreed,
21-
Node.value('(ColorectalRecord/PrimaryPathway/Diagnosis/DiagnosisAdditionalItems/SecondaryDiagnosisIcd/@code)[1]', 'varchar(max)') as SecondaryDiagnosis
22-
from CosdRecords
5+
Record ->> '$.LinkagePatientId.NhsNumber.@extension' as NhsNumber,
6+
Record ->> '$.PrimaryPathway.LinkageDiagnosticDetails.DateOfPrimaryDiagnosisClinicallyAgreed' as DateOfPrimaryDiagnosisClinicallyAgreed,
7+
Record ->> '$.PrimaryPathway.Diagnosis.DiagnosisAdditionalItems.SecondaryDiagnosisIcd.@code' as SecondaryDiagnosis
8+
from omop_staging.cosd_staging_901
9+
where type = 'CO'
2310
)
2411
select
2512
NhsNumber,
2613
DateOfPrimaryDiagnosisClinicallyAgreed,
27-
max (SecondaryDiagnosis) as SecondaryDiagnosis
14+
max(SecondaryDiagnosis) as SecondaryDiagnosis
2815
from CO
2916
where DateOfPrimaryDiagnosisClinicallyAgreed is not null
30-
and SecondaryDiagnosis is not null
17+
and SecondaryDiagnosis is not null
3118
group by NhsNumber, DateOfPrimaryDiagnosisClinicallyAgreed;
3219

3320
</Sql>

OmopTransformer/COSD/ConditionOccurrence/CosdV8ConditionOccurrencePrimaryDiagnosis/CosdV8ConditionOccurrencePrimaryDiagnosis.xml

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,17 @@
11
<Query>
22
<Sql>
3-
;with XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v8-1' AS COSD),
4-
CosdRecords as (
5-
select
6-
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
7-
T.staging.query('*[local-name() != "Id"][1]/*[1]') as Node -- Select the first inner element of the element that is not called Id.
8-
from omop_staging.cosd_staging
9-
cross apply content.nodes('COSD:COSD/*') as T(staging)
10-
where T.staging.exist('Id/@root') = 1
11-
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v8-1'
12-
and substring (FileName, 15, 2) = 'CO'
13-
), CO as (
14-
select
15-
Id,
16-
Node,
17-
Node.value('(ColorectalCore/ColorectalCoreLinkagePatientId/NHSNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
18-
Node.value('(ColorectalCore/ColorectalCoreLinkageDiagnosticDetails/ClinicalDateCancerDiagnosis)[1]', 'varchar(max)') as DiagnosisDate,
19-
Node.value('(ColorectalCore/ColorectalCoreLinkageDiagnosticDetails/DateOfNonPrimaryCancerDiagnosisClinicallyAgreed)[1]', 'varchar(max)') as NonPrimaryDiagnosisDate,
20-
Node.value('(ColorectalCore/ColorectalCoreDiagnosis/MorphologyICDODiagnosis/@code)[1]', 'varchar(max)') as CancerHistology,
21-
Node.value('(ColorectalCore/ColorectalCoreDiagnosis/TopographyICDO/@code)[1]', 'varchar(max)') as CancerTopography,
22-
Node.value('(ColorectalCore/ColorectalCoreDiagnosis/BasisOfCancerDiagnosis/@code)[1]', 'varchar(max)') as BasisOfDiagnosisCancer,
23-
Node.value('(ColorectalCore/ColorectalCoreLinkageDiagnosticDetails/PrimaryDiagnosis/@code)[1]', 'varchar(max)') as CancerDiagnosis
24-
from CosdRecords
3+
4+
with co as (
5+
select
6+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreLinkagePatientId.NHSNumber.@extension' as NhsNumber,
7+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreLinkageDiagnosticDetails.ClinicalDateCancerDiagnosis' as DiagnosisDate,
8+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreLinkageDiagnosticDetails.DateOfNonPrimaryCancerDiagnosisClinicallyAgreed' as NonPrimaryDiagnosisDate,
9+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreDiagnosis.MorphologyICDODiagnosis.@code' as CancerHistology,
10+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreDiagnosis.TopographyICDO.@code' as CancerTopography,
11+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreDiagnosis.BasisOfCancerDiagnosis.@code' as BasisOfDiagnosisCancer,
12+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreLinkageDiagnosticDetails.PrimaryDiagnosis.@code' as CancerDiagnosis
13+
from omop_staging.cosd_staging_81 co
14+
where co.Type = 'CO'
2515
)
2616
select
2717
distinct

OmopTransformer/COSD/ConditionOccurrence/CosdV8ConditionOccurrencePrimaryDiagnosisHistologyTopography/CosdV8ConditionOccurrencePrimaryDiagnosisHistologyTopography.xml

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,16 @@
11
<Query>
22
<Sql>
3-
;with XMLNAMESPACES('http://www.datadictionary.nhs.uk/messages/COSD-v8-1' AS COSD),
4-
CosdRecords as (
5-
select
6-
T.staging.value('(Id/@root)[1]', 'uniqueidentifier') as Id,
7-
T.staging.query('*[local-name() != "Id"][1]/*[1]') as Node -- Select the first inner element of the element that is not called Id.
8-
from omop_staging.cosd_staging
9-
cross apply content.nodes('COSD:COSD/*') as T(staging)
10-
where T.staging.exist('Id/@root') = 1
11-
and Content.value('namespace-uri((/*:COSD)[1])','nvarchar(max)') = 'http://www.datadictionary.nhs.uk/messages/COSD-v8-1'
12-
and substring (FileName, 15, 2) = 'CO'
13-
), CO as (
14-
select
15-
Id,
16-
Node,
17-
Node.value('(ColorectalCore/ColorectalCoreLinkagePatientId/NHSNumber/@extension)[1]', 'varchar(max)') as NhsNumber,
18-
Node.value('(ColorectalCore/ColorectalCoreLinkageDiagnosticDetails/ClinicalDateCancerDiagnosis)[1]', 'varchar(max)') as DiagnosisDate,
19-
Node.value('(ColorectalCore/ColorectalCoreLinkageDiagnosticDetails/DateOfNonPrimaryCancerDiagnosisClinicallyAgreed)[1]', 'varchar(max)') as NonPrimaryDiagnosisDate,
20-
Node.value('(ColorectalCore/ColorectalCoreDiagnosis/MorphologyICDODiagnosis/@code)[1]', 'varchar(max)') as CancerHistology,
21-
Node.value('(ColorectalCore/ColorectalCoreDiagnosis/TopographyICDO/@code)[1]', 'varchar(max)') as CancerTopography,
22-
Node.value('(ColorectalCore/ColorectalCoreDiagnosis/BasisOfCancerDiagnosis/@code)[1]', 'varchar(max)') as BasisOfDiagnosisCancer,
23-
Node.value('(ColorectalCore/ColorectalCoreLinkageDiagnosticDetails/PrimaryDiagnosis/@code)[1]', 'varchar(max)') as CancerDiagnosis
24-
from CosdRecords
3+
with co as (
4+
select
5+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreLinkagePatientId.NHSNumber.@extension' as NhsNumber,
6+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreLinkageDiagnosticDetails.ClinicalDateCancerDiagnosis' as DiagnosisDate,
7+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreLinkageDiagnosticDetails.DateOfNonPrimaryCancerDiagnosisClinicallyAgreed' as NonPrimaryDiagnosisDate,
8+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreDiagnosis.MorphologyICDODiagnosis.@code' as CancerHistology,
9+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreDiagnosis.TopographyICDO.@code' as CancerTopography,
10+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreDiagnosis.BasisOfCancerDiagnosis.@code' as BasisOfDiagnosisCancer,
11+
Record ->> '$.Colorectal.ColorectalCore.ColorectalCoreLinkageDiagnosticDetails.PrimaryDiagnosis.@code' as CancerDiagnosis
12+
from omop_staging.cosd_staging_81 co
13+
where co.Type = 'CO'
2514
)
2615
select
2716
distinct

OmopTransformer/COSD/CosdTransformer.cs

Lines changed: 33 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
using OmopTransformer.COSD.Death.v8Death;
1010
using OmopTransformer.COSD.Death.v9DeathBasisOfDiagnosisCancer;
1111
using OmopTransformer.COSD.Death.v9DeathDischargeDestination;
12-
using OmopTransformer.COSD.Demographics;
12+
using OmopTransformer.COSD.DemographicsV8;
13+
using OmopTransformer.COSD.DemographicsV9;
1314
using OmopTransformer.COSD.Measurements.CosdV8MeasurementGradeOfDifferentiation;
1415
using OmopTransformer.COSD.Measurements.CosdV8MeasurementMcategoryFinalPreTreatmentStage;
1516
using OmopTransformer.COSD.Measurements.CosdV8MeasurementMcategoryIntegratedStage;
@@ -87,23 +88,23 @@ internal class CosdTransformer : Transformer
8788
private readonly IMeasurementRecorder _measurementRecorder;
8889

8990
public CosdTransformer(
90-
IRecordTransformer recordTransformer,
91-
TransformOptions transformOptions,
92-
IRecordProvider recordProvider,
93-
ILocationRecorder locationRecorder,
94-
IPersonRecorder personRecorder,
95-
IDeathRecorder deathRecorder,
96-
IConditionOccurrenceRecorder conditionOccurrenceRecorder,
97-
IProcedureOccurrenceRecorder procedureOccurrenceRecorder,
98-
IObservationRecorder observationRecorder,
91+
IRecordTransformer recordTransformer,
92+
TransformOptions transformOptions,
93+
IRecordProvider recordProvider,
94+
ILocationRecorder locationRecorder,
95+
IPersonRecorder personRecorder,
96+
IDeathRecorder deathRecorder,
97+
IConditionOccurrenceRecorder conditionOccurrenceRecorder,
98+
IProcedureOccurrenceRecorder procedureOccurrenceRecorder,
99+
IObservationRecorder observationRecorder,
99100
IMeasurementRecorder measurementRecorder,
100101
IRunAnalysisRecorder runAnalysisRecorder,
101-
ILoggerFactory loggerFactory)
102-
:
102+
ILoggerFactory loggerFactory)
103+
:
103104
base(
104-
recordTransformer,
105-
transformOptions,
106-
recordProvider,
105+
recordTransformer,
106+
transformOptions,
107+
recordProvider,
107108
"COSD",
108109
runAnalysisRecorder,
109110
loggerFactory)
@@ -121,15 +122,27 @@ public async Task Transform(CancellationToken cancellationToken)
121122
{
122123
Guid runId = Guid.NewGuid();
123124

124-
await Transform<CosdDemographics, CosdPerson>(
125+
await Transform<CosdDemographicsV9, CosdPersonV9>(
125126
_personRecorder.InsertUpdatePersons,
126-
"COSD Person",
127+
"COSD V9 Person",
127128
runId,
128129
cancellationToken);
129130

130-
await Transform<CosdDemographics, CosdLocation>(
131+
await Transform<CosdDemographicsV8, CosdPersonV8>(
132+
_personRecorder.InsertUpdatePersons,
133+
"COSD V8 Person",
134+
runId,
135+
cancellationToken);
136+
137+
await Transform<CosdDemographicsV8, CosdV8Location>(
138+
_locationRecorder.InsertUpdateLocations,
139+
"COSD V8 Location",
140+
runId,
141+
cancellationToken);
142+
143+
await Transform<CosdDemographicsV9, CosdLocationV9>(
131144
_locationRecorder.InsertUpdateLocations,
132-
"COSD Location",
145+
"COSD V9 Location",
133146
runId,
134147
cancellationToken);
135148

@@ -511,7 +524,7 @@ await Transform<CosdV9MeasurementTNMcategoryIntegratedStageRecord, CosdV9Measure
511524
runId,
512525
cancellationToken);
513526

514-
await Transform< CosdV9MeasurementTumourLateralityRecord, CosdV9MeasurementTumourLaterality>(
527+
await Transform<CosdV9MeasurementTumourLateralityRecord, CosdV9MeasurementTumourLaterality>(
515528
_measurementRecorder.InsertUpdateMeasurements,
516529
"CosdV9MeasurementTumourLaterality",
517530
runId,

0 commit comments

Comments
 (0)