215 lines
3.9 KiB
TypeScript
215 lines
3.9 KiB
TypeScript
|
|
const priorStudyMatchingRules = [
|
||
|
|
{
|
||
|
|
// The priorInstance is a study counter that indicates what position this study is in
|
||
|
|
// and the value comes from the options parameter.
|
||
|
|
attribute: 'studyInstanceUIDsIndex',
|
||
|
|
from: 'options',
|
||
|
|
required: true,
|
||
|
|
constraint: {
|
||
|
|
equals: { value: 1 },
|
||
|
|
},
|
||
|
|
},
|
||
|
|
];
|
||
|
|
|
||
|
|
const currentStudyMatchingRules = [
|
||
|
|
{
|
||
|
|
// The priorInstance is a study counter that indicates what position this study is in
|
||
|
|
// and the value comes from the options parameter.
|
||
|
|
attribute: 'studyInstanceUIDsIndex',
|
||
|
|
from: 'options',
|
||
|
|
required: true,
|
||
|
|
constraint: {
|
||
|
|
equals: { value: 0 },
|
||
|
|
},
|
||
|
|
},
|
||
|
|
];
|
||
|
|
|
||
|
|
const LCCSeriesMatchingRules = [
|
||
|
|
{
|
||
|
|
weight: 10,
|
||
|
|
attribute: 'ViewCode',
|
||
|
|
constraint: {
|
||
|
|
contains: 'SCT:399162004',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 5,
|
||
|
|
attribute: 'PatientOrientation',
|
||
|
|
constraint: {
|
||
|
|
contains: 'L',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 20,
|
||
|
|
attribute: 'SeriesDescription',
|
||
|
|
constraint: {
|
||
|
|
contains: 'L CC',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
];
|
||
|
|
|
||
|
|
const RCCSeriesMatchingRules = [
|
||
|
|
{
|
||
|
|
weight: 10,
|
||
|
|
attribute: 'ViewCode',
|
||
|
|
constraint: {
|
||
|
|
contains: 'SCT:399162004',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 5,
|
||
|
|
attribute: 'PatientOrientation',
|
||
|
|
constraint: {
|
||
|
|
equals: ['P', 'L'],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
attribute: 'PatientOrientation',
|
||
|
|
constraint: {
|
||
|
|
doesNotEqual: ['A', 'R'],
|
||
|
|
},
|
||
|
|
required: true,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 20,
|
||
|
|
attribute: 'SeriesDescription',
|
||
|
|
constraint: {
|
||
|
|
contains: 'CC',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
];
|
||
|
|
|
||
|
|
const LMLOSeriesMatchingRules = [
|
||
|
|
{
|
||
|
|
weight: 10,
|
||
|
|
attribute: 'ViewCode',
|
||
|
|
constraint: {
|
||
|
|
contains: 'SCT:399368009',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 0,
|
||
|
|
attribute: 'ViewCode',
|
||
|
|
constraint: {
|
||
|
|
doesNotEqual: 'SCT:399162004',
|
||
|
|
},
|
||
|
|
required: true,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 5,
|
||
|
|
attribute: 'PatientOrientation',
|
||
|
|
constraint: {
|
||
|
|
equals: ['A', 'R'],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 20,
|
||
|
|
attribute: 'SeriesDescription',
|
||
|
|
constraint: {
|
||
|
|
contains: 'L MLO',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
];
|
||
|
|
|
||
|
|
const RMLOSeriesMatchingRules = [
|
||
|
|
{
|
||
|
|
weight: 10,
|
||
|
|
attribute: 'ViewCode',
|
||
|
|
constraint: {
|
||
|
|
contains: 'SCT:399368009',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
attribute: 'ViewCode',
|
||
|
|
constraint: {
|
||
|
|
doesNotEqual: 'SCT:399162004',
|
||
|
|
},
|
||
|
|
required: true,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
attribute: 'PatientOrientation',
|
||
|
|
constraint: {
|
||
|
|
doesNotContain: ['P', 'FL'],
|
||
|
|
},
|
||
|
|
required: true,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 5,
|
||
|
|
attribute: 'PatientOrientation',
|
||
|
|
constraint: {
|
||
|
|
equals: ['P', 'L'],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 5,
|
||
|
|
attribute: 'PatientOrientation',
|
||
|
|
constraint: {
|
||
|
|
equals: ['A', 'FR'],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
weight: 20,
|
||
|
|
attribute: 'SeriesDescription',
|
||
|
|
constraint: {
|
||
|
|
contains: 'R MLO',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
attribute: 'SeriesDescription',
|
||
|
|
required: true,
|
||
|
|
constraint: {
|
||
|
|
doesNotContain: 'CC',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
attribute: 'SeriesDescription',
|
||
|
|
required: true,
|
||
|
|
constraint: {
|
||
|
|
doesNotEqual: 'L MLO',
|
||
|
|
},
|
||
|
|
required: true,
|
||
|
|
},
|
||
|
|
];
|
||
|
|
|
||
|
|
const RCC = {
|
||
|
|
seriesMatchingRules: RCCSeriesMatchingRules,
|
||
|
|
studyMatchingRules: currentStudyMatchingRules,
|
||
|
|
};
|
||
|
|
|
||
|
|
const RCCPrior = {
|
||
|
|
seriesMatchingRules: RCCSeriesMatchingRules,
|
||
|
|
studyMatchingRules: priorStudyMatchingRules,
|
||
|
|
};
|
||
|
|
|
||
|
|
const LCC = {
|
||
|
|
seriesMatchingRules: LCCSeriesMatchingRules,
|
||
|
|
studyMatchingRules: currentStudyMatchingRules,
|
||
|
|
};
|
||
|
|
|
||
|
|
const LCCPrior = {
|
||
|
|
seriesMatchingRules: LCCSeriesMatchingRules,
|
||
|
|
studyMatchingRules: priorStudyMatchingRules,
|
||
|
|
};
|
||
|
|
|
||
|
|
const RMLO = {
|
||
|
|
seriesMatchingRules: RMLOSeriesMatchingRules,
|
||
|
|
studyMatchingRules: currentStudyMatchingRules,
|
||
|
|
};
|
||
|
|
|
||
|
|
const RMLOPrior = {
|
||
|
|
seriesMatchingRules: RMLOSeriesMatchingRules,
|
||
|
|
studyMatchingRules: priorStudyMatchingRules,
|
||
|
|
};
|
||
|
|
|
||
|
|
const LMLO = {
|
||
|
|
seriesMatchingRules: LMLOSeriesMatchingRules,
|
||
|
|
studyMatchingRules: currentStudyMatchingRules,
|
||
|
|
};
|
||
|
|
|
||
|
|
const LMLOPrior = {
|
||
|
|
seriesMatchingRules: LMLOSeriesMatchingRules,
|
||
|
|
studyMatchingRules: priorStudyMatchingRules,
|
||
|
|
};
|
||
|
|
|
||
|
|
export { RCC, LCC, RMLO, LMLO, RCCPrior, LCCPrior, RMLOPrior, LMLOPrior };
|