Skip to content

Commit b1da082

Browse files
committed
fix(dcmjs):Use the SCT codes rather than SRT as requested
1 parent ed324d2 commit b1da082

File tree

4 files changed

+28
-15
lines changed

4 files changed

+28
-15
lines changed

src/adapters/Cornerstone/MeasurementReport.js

+22-7
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,22 @@ import TID1501MeasurementGroup from "../../utilities/TID1500/TID1501MeasurementG
66

77
import { toArray, codeMeaningEquals } from "../helpers.js";
88

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+
};
1125

1226
function getTID300ContentItem(
1327
tool,
@@ -57,12 +71,13 @@ export default class MeasurementReport {
5771
const { ContentSequence } = MeasurementGroup;
5872

5973
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)
6576
);
77+
const findingSiteGroups =
78+
contentSequenceArr.filter(group =>
79+
codeValueMatch(group, FINDING_SITE, FINDING_SITE_OLD)
80+
) || [];
6681
const NUMGroup = contentSequenceArr.find(
6782
group => group.ValueType === "NUM"
6883
);

src/utilities/TID300/CobbAngle.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ export default class CobbAngle extends TID300Measurement {
1717
RelationshipType: "CONTAINS",
1818
ValueType: "NUM",
1919
ConceptNameCodeSequence: {
20-
CodeValue: "F-00E5C",
21-
CodingSchemeDesignator: "SRT",
20+
CodeValue: "285285000",
21+
CodingSchemeDesignator: "SCT",
2222
CodeMeaning: "Cobb angle"
2323
},
2424
MeasuredValueSequence: {

src/utilities/TID300/Polyline.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,14 @@ export default class Polyline extends TID300Measurement {
3434

3535
const GraphicData = expandPoints(points);
3636

37-
console.log("GraphicData=", GraphicData);
38-
console.log("Area", area, "perimeter", perimeter);
3937
// TODO: Add Mean and STDev value of (modality?) pixels
4038
return this.getMeasurement([
4139
{
4240
RelationshipType: "CONTAINS",
4341
ValueType: "NUM",
4442
ConceptNameCodeSequence: {
45-
CodeValue: "G-A197",
46-
CodingSchemeDesignator: "SRT",
43+
CodeValue: "131191004",
44+
CodingSchemeDesignator: "SCT",
4745
CodeMeaning: "Perimeter"
4846
},
4947
MeasuredValueSequence: {

src/utilities/TID300/TID300Measurement.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ export default class TID300Measurement {
8282
RelationshipType: "CONTAINS",
8383
ValueType: "CODE",
8484
ConceptNameCodeSequence: {
85-
CodeValue: "G-C0E3",
86-
CodingSchemeDesignator: "SRT",
85+
CodeValue: "363698007",
86+
CodingSchemeDesignator: "SCT",
8787
CodeMeaning: "Finding Site"
8888
},
8989
ConceptCodeSequence: {

0 commit comments

Comments
 (0)