@@ -6,8 +6,22 @@ import TID1501MeasurementGroup from "../../utilities/TID1500/TID1501MeasurementG
6
6
7
7
import { toArray , codeMeaningEquals } from "../helpers.js" ;
8
8
9
- const FINDING = "121071" ;
10
- const FINDING_SITE = "G-C0E3" ;
9
+ const FINDING = { CodingSchemeDesignator : "DCM" , CodeValue : "121071" } ;
10
+ const FINDING_SITE = { CodingSchemeDesignator : "SCT" , CodeValue : "363698007" } ;
11
+ const FINDING_SITE_OLD = { CodingSchemeDesignator : "SRT" , CodeValue : "G-C0E3" } ;
12
+
13
+ const codeValueMatch = ( group , code , oldCode ) => {
14
+ const { ConceptNameCodeSequence } = group ;
15
+ if ( ! ConceptNameCodeSequence ) return ;
16
+ const { CodingSchemeDesignator, CodeValue } = ConceptNameCodeSequence ;
17
+ return (
18
+ ( CodingSchemeDesignator == code . CodingSchemeDesignator &&
19
+ CodeValue == code . CodeValue ) ||
20
+ ( oldCode &&
21
+ CodingSchemeDesignator == oldCode . CodingSchemeDesignator &&
22
+ CodeValue == oldCode . CodeValue )
23
+ ) ;
24
+ } ;
11
25
12
26
function getTID300ContentItem (
13
27
tool ,
@@ -57,12 +71,13 @@ export default class MeasurementReport {
57
71
const { ContentSequence } = MeasurementGroup ;
58
72
59
73
const contentSequenceArr = toArray ( ContentSequence ) ;
60
- const findingGroup = contentSequenceArr . find (
61
- group => group . ConceptNameCodeSequence . CodeValue === FINDING
62
- ) ;
63
- const findingSiteGroups = contentSequenceArr . filter (
64
- group => group . ConceptNameCodeSequence . CodeValue === FINDING_SITE
74
+ const findingGroup = contentSequenceArr . find ( group =>
75
+ codeValueMatch ( group , FINDING )
65
76
) ;
77
+ const findingSiteGroups =
78
+ contentSequenceArr . filter ( group =>
79
+ codeValueMatch ( group , FINDING_SITE , FINDING_SITE_OLD )
80
+ ) || [ ] ;
66
81
const NUMGroup = contentSequenceArr . find (
67
82
group => group . ValueType === "NUM"
68
83
) ;
0 commit comments