wip series

This commit is contained in:
Masroor Ehsan 2024-12-30 19:35:48 +06:00
parent 8101904029
commit c257464c13

View File

@ -58,9 +58,13 @@ private function fetchStudyDetails(string $orthanc_uid): ?array
if ($study == null) {
return null;
}
$stats = $this->client->getStudyStatistics($orthanc_uid);
$study['Statistics'] = $stats;
$series = $this->client->getStudySeries($orthanc_uid);
$study['Series'] = $series;
return $study;
}
@ -141,10 +145,30 @@ private function prepareData(mixed $orthanc_src): array
'manufacturer_model_name' => data_get($study, 'RequestedTags.ManufacturerModelName'),
];
$series = [];
foreach ($orthanc_src['Series'] as $ser) {
$params = [
'orthanc_uid' => $ser['ID'],
'series_instance_uid' => data_get($ser, 'MainDicomTags.SeriesInstanceUID'),
'series_date' => DicomUtils::dateTimeToCarbon($ser['MainDicomTags']['SeriesDate'], $ser['MainDicomTags']['SeriesTime']),
'series_number' => data_get($ser, 'MainDicomTags.SeriesNumber'),
'protocol_name' => data_get($ser, 'MainDicomTags.ProtocolName'),
'modality' => data_get($ser, 'MainDicomTags.Modality'),
'body_part_examined' => data_get($ser, 'MainDicomTags.BodyPartExamined'),
'performed_procedure_step_description' => data_get($ser, 'MainDicomTags.PerformedProcedureStepDescription'),
'sequence_name' => data_get($ser, 'MainDicomTags.SequenceName'),
];
$params['num_instances'] = count(data_get($ser, 'Instances', []));
$params = array_filter($params, fn ($v) => filled($v));
if (! empty($params)) {
$series[] = array_filter($params, fn ($v) => filled($v));
}
}
$study = array_filter($study, fn ($v) => filled($v));
$details = array_filter($details, fn ($v) => filled($v));
return compact('study', 'details');
return compact('study', 'details', 'series');
}
private function setValue(array &$array, string $key, mixed $value): void