fix studyDate sort and display
This commit is contained in:
parent
10729c2414
commit
e29a777a9f
@ -46,16 +46,17 @@ function processResults(qidoStudies) {
|
||||
qidoStudies.forEach(qidoStudy =>
|
||||
studies.push({
|
||||
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)
|
||||
accession: getString(qidoStudy['00080050']), // short string, probably a number?
|
||||
mrn: getString(qidoStudy['00100020']), // medicalRecordNumber
|
||||
patientName: getName(qidoStudy['00100010']),
|
||||
instances: Number(getString(qidoStudy['00201208'])), // number
|
||||
description: getString(qidoStudy['00081030']),
|
||||
modalities: getString(
|
||||
getModalities(qidoStudy['00080060'], qidoStudy['00080061'])
|
||||
),
|
||||
accession: getString(qidoStudy['00080050']) || '', // short string, probably a number?
|
||||
mrn: getString(qidoStudy['00100020']) || '', // medicalRecordNumber
|
||||
patientName: getName(qidoStudy['00100010']) || '',
|
||||
instances: Number(getString(qidoStudy['00201208'])) || 0, // number
|
||||
description: getString(qidoStudy['00081030']) || '',
|
||||
modalities:
|
||||
getString(
|
||||
getModalities(qidoStudy['00080060'], qidoStudy['00080061'])
|
||||
) || '',
|
||||
})
|
||||
);
|
||||
|
||||
|
||||
@ -182,6 +182,21 @@ function StudyListContainer({ history, data: studies }) {
|
||||
return -1 * sortModifier;
|
||||
} else if (!s2Prop && s1Prop) {
|
||||
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;
|
||||
@ -240,11 +255,27 @@ function StudyListContainer({ history, data: studies }) {
|
||||
content: (
|
||||
<div>
|
||||
<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>
|
||||
{time && (
|
||||
<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>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user