fix studyDate sort and display
This commit is contained in:
parent
10729c2414
commit
e29a777a9f
@ -46,16 +46,17 @@ function processResults(qidoStudies) {
|
|||||||
qidoStudies.forEach(qidoStudy =>
|
qidoStudies.forEach(qidoStudy =>
|
||||||
studies.push({
|
studies.push({
|
||||||
studyInstanceUid: getString(qidoStudy['0020000D']),
|
studyInstanceUid: getString(qidoStudy['0020000D']),
|
||||||
date: getString(qidoStudy['00080020']),
|
date: getString(qidoStudy['00080020']), // YYYYMMDD
|
||||||
time: getString(qidoStudy['00080030']), // HHmmss.SSS (24-hour, minutes, seconds, fractional seconds)
|
time: getString(qidoStudy['00080030']), // HHmmss.SSS (24-hour, minutes, seconds, fractional seconds)
|
||||||
accession: getString(qidoStudy['00080050']), // short string, probably a number?
|
accession: getString(qidoStudy['00080050']) || '', // short string, probably a number?
|
||||||
mrn: getString(qidoStudy['00100020']), // medicalRecordNumber
|
mrn: getString(qidoStudy['00100020']) || '', // medicalRecordNumber
|
||||||
patientName: getName(qidoStudy['00100010']),
|
patientName: getName(qidoStudy['00100010']) || '',
|
||||||
instances: Number(getString(qidoStudy['00201208'])), // number
|
instances: Number(getString(qidoStudy['00201208'])) || 0, // number
|
||||||
description: getString(qidoStudy['00081030']),
|
description: getString(qidoStudy['00081030']) || '',
|
||||||
modalities: getString(
|
modalities:
|
||||||
getModalities(qidoStudy['00080060'], qidoStudy['00080061'])
|
getString(
|
||||||
),
|
getModalities(qidoStudy['00080060'], qidoStudy['00080061'])
|
||||||
|
) || '',
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -182,6 +182,21 @@ function StudyListContainer({ history, data: studies }) {
|
|||||||
return -1 * sortModifier;
|
return -1 * sortModifier;
|
||||||
} else if (!s2Prop && s1Prop) {
|
} else if (!s2Prop && s1Prop) {
|
||||||
return 1 * sortModifier;
|
return 1 * sortModifier;
|
||||||
|
} else if (sortBy === 'studyDate') {
|
||||||
|
// TODO: Delimiters are non-standard. Should we support them?
|
||||||
|
const s1Date = moment(s1.date, ['YYYYMMDD', 'YYYY.MM.DD'], true);
|
||||||
|
const s2Date = moment(s2.date, ['YYYYMMDD', 'YYYY.MM.DD'], true);
|
||||||
|
|
||||||
|
if (s1Date.isValid() && s2Date.isValid()) {
|
||||||
|
return (
|
||||||
|
(s1Date.toISOString() > s2Date.toISOString() ? 1 : -1) *
|
||||||
|
sortModifier
|
||||||
|
);
|
||||||
|
} else if (s1Date.isValid()) {
|
||||||
|
return sortModifier;
|
||||||
|
} else if (s2Date.isValid()) {
|
||||||
|
return -1 * sortModifier;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -240,11 +255,27 @@ function StudyListContainer({ history, data: studies }) {
|
|||||||
content: (
|
content: (
|
||||||
<div>
|
<div>
|
||||||
<span className="mr-4">
|
<span className="mr-4">
|
||||||
{moment(date).format('MMM-DD-YYYY')}
|
{date &&
|
||||||
|
moment(date, ['YYYYMMDD', 'YYYY.MM.DD'], true).isValid() &&
|
||||||
|
moment(date, ['YYYYMMDD', 'YYYY.MM.DD']).format(
|
||||||
|
'MMM-DD-YYYY'
|
||||||
|
)}
|
||||||
</span>
|
</span>
|
||||||
{time && (
|
{time && (
|
||||||
<span>
|
<span>
|
||||||
{moment(time, 'HHmmss.SSS').format('hh:mm A')}
|
{time &&
|
||||||
|
moment(time, [
|
||||||
|
'HH',
|
||||||
|
'HHmm',
|
||||||
|
'HHmmss',
|
||||||
|
'HHmmss.SSS',
|
||||||
|
]).isValid() &&
|
||||||
|
moment(time, [
|
||||||
|
'HH',
|
||||||
|
'HHmm',
|
||||||
|
'HHmmss',
|
||||||
|
'HHmmss.SSS',
|
||||||
|
]).format('hh:mm A')}
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user