diff --git a/src/adapters/Cornerstone/MeasurementReport.js b/src/adapters/Cornerstone/MeasurementReport.js index ee9184b0..6ef35ec5 100644 --- a/src/adapters/Cornerstone/MeasurementReport.js +++ b/src/adapters/Cornerstone/MeasurementReport.js @@ -6,8 +6,22 @@ import TID1501MeasurementGroup from "../../utilities/TID1500/TID1501MeasurementG import { toArray, codeMeaningEquals } from "../helpers.js"; -const FINDING = "121071"; -const FINDING_SITE = "G-C0E3"; +const FINDING = { CodingSchemeDesignator: "DCM", CodeValue: "121071" }; +const FINDING_SITE = { CodingSchemeDesignator: "SCT", CodeValue: "363698007" }; +const FINDING_SITE_OLD = { CodingSchemeDesignator: "SRT", CodeValue: "G-C0E3" }; + +const codeValueMatch = (group, code, oldCode) => { + const { ConceptNameCodeSequence } = group; + if (!ConceptNameCodeSequence) return; + const { CodingSchemeDesignator, CodeValue } = ConceptNameCodeSequence; + return ( + (CodingSchemeDesignator == code.CodingSchemeDesignator && + CodeValue == code.CodeValue) || + (oldCode && + CodingSchemeDesignator == oldCode.CodingSchemeDesignator && + CodeValue == oldCode.CodeValue) + ); +}; function getTID300ContentItem( tool, @@ -57,12 +71,13 @@ export default class MeasurementReport { const { ContentSequence } = MeasurementGroup; const contentSequenceArr = toArray(ContentSequence); - const findingGroup = contentSequenceArr.find( - group => group.ConceptNameCodeSequence.CodeValue === FINDING - ); - const findingSiteGroups = contentSequenceArr.filter( - group => group.ConceptNameCodeSequence.CodeValue === FINDING_SITE + const findingGroup = contentSequenceArr.find(group => + codeValueMatch(group, FINDING) ); + const findingSiteGroups = + contentSequenceArr.filter(group => + codeValueMatch(group, FINDING_SITE, FINDING_SITE_OLD) + ) || []; const NUMGroup = contentSequenceArr.find( group => group.ValueType === "NUM" ); diff --git a/src/utilities/TID300/CobbAngle.js b/src/utilities/TID300/CobbAngle.js index ea1a338d..2b8afbf3 100644 --- a/src/utilities/TID300/CobbAngle.js +++ b/src/utilities/TID300/CobbAngle.js @@ -17,8 +17,8 @@ export default class CobbAngle extends TID300Measurement { RelationshipType: "CONTAINS", ValueType: "NUM", ConceptNameCodeSequence: { - CodeValue: "F-00E5C", - CodingSchemeDesignator: "SRT", + CodeValue: "285285000", + CodingSchemeDesignator: "SCT", CodeMeaning: "Cobb angle" }, MeasuredValueSequence: { diff --git a/src/utilities/TID300/Polyline.js b/src/utilities/TID300/Polyline.js index f40b02f7..a8caca91 100644 --- a/src/utilities/TID300/Polyline.js +++ b/src/utilities/TID300/Polyline.js @@ -34,16 +34,14 @@ export default class Polyline extends TID300Measurement { const GraphicData = expandPoints(points); - console.log("GraphicData=", GraphicData); - console.log("Area", area, "perimeter", perimeter); // TODO: Add Mean and STDev value of (modality?) pixels return this.getMeasurement([ { RelationshipType: "CONTAINS", ValueType: "NUM", ConceptNameCodeSequence: { - CodeValue: "G-A197", - CodingSchemeDesignator: "SRT", + CodeValue: "131191004", + CodingSchemeDesignator: "SCT", CodeMeaning: "Perimeter" }, MeasuredValueSequence: { diff --git a/src/utilities/TID300/TID300Measurement.js b/src/utilities/TID300/TID300Measurement.js index ae4ef1ff..497220d1 100644 --- a/src/utilities/TID300/TID300Measurement.js +++ b/src/utilities/TID300/TID300Measurement.js @@ -82,8 +82,8 @@ export default class TID300Measurement { RelationshipType: "CONTAINS", ValueType: "CODE", ConceptNameCodeSequence: { - CodeValue: "G-C0E3", - CodingSchemeDesignator: "SRT", + CodeValue: "363698007", + CodingSchemeDesignator: "SCT", CodeMeaning: "Finding Site" }, ConceptCodeSequence: {