refx
This commit is contained in:
parent
e13191ab44
commit
a64959b2d0
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Services\Pacs;
|
namespace App\Services\Pacs;
|
||||||
|
|
||||||
use App\Services\StudyRouter\DicomTagIdentifiers;
|
use App\Services\StudyRouter\RawDicomTag;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
@ -26,65 +26,65 @@ public static function dateTimeToCarbon(?string $datePart, ?string $timePart, st
|
|||||||
return Carbon::createFromFormat('YmdHis', $datePart . Str::before($timePart, '.'), $timezone);
|
return Carbon::createFromFormat('YmdHis', $datePart . Str::before($timePart, '.'), $timezone);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getDicomTagDescription(DicomTagIdentifiers $tag): string
|
public static function getDicomTagDescription(RawDicomTag $tag): string
|
||||||
{
|
{
|
||||||
return match ($tag) {
|
return match ($tag) {
|
||||||
DicomTagIdentifiers::PatientName => "Patient's Name",
|
RawDicomTag::PatientName => "Patient's Name",
|
||||||
DicomTagIdentifiers::PatientID => 'Patient ID',
|
RawDicomTag::PatientID => 'Patient ID',
|
||||||
DicomTagIdentifiers::PatientBirthDate => "Patient's Birth Date",
|
RawDicomTag::PatientBirthDate => "Patient's Birth Date",
|
||||||
DicomTagIdentifiers::PatientSex => "Patient's Sex",
|
RawDicomTag::PatientSex => "Patient's Sex",
|
||||||
DicomTagIdentifiers::StudyInstanceUID => 'Study Instance UID',
|
RawDicomTag::StudyInstanceUID => 'Study Instance UID',
|
||||||
DicomTagIdentifiers::SeriesInstanceUID => 'Series Instance UID',
|
RawDicomTag::SeriesInstanceUID => 'Series Instance UID',
|
||||||
DicomTagIdentifiers::StudyID => 'Study ID',
|
RawDicomTag::StudyID => 'Study ID',
|
||||||
DicomTagIdentifiers::SeriesNumber => 'Series Number',
|
RawDicomTag::SeriesNumber => 'Series Number',
|
||||||
DicomTagIdentifiers::InstanceNumber => 'Instance Number',
|
RawDicomTag::InstanceNumber => 'Instance Number',
|
||||||
DicomTagIdentifiers::SOPClassUID => 'SOP Class UID',
|
RawDicomTag::SOPClassUID => 'SOP Class UID',
|
||||||
DicomTagIdentifiers::SOPInstanceUID => 'SOP Instance UID',
|
RawDicomTag::SOPInstanceUID => 'SOP Instance UID',
|
||||||
DicomTagIdentifiers::StudyDate => 'Study Date',
|
RawDicomTag::StudyDate => 'Study Date',
|
||||||
DicomTagIdentifiers::StudyTime => 'Study Time',
|
RawDicomTag::StudyTime => 'Study Time',
|
||||||
DicomTagIdentifiers::AccessionNumber => 'Accession Number',
|
RawDicomTag::AccessionNumber => 'Accession Number',
|
||||||
DicomTagIdentifiers::Modality => 'Modality',
|
RawDicomTag::Modality => 'Modality',
|
||||||
DicomTagIdentifiers::Manufacturer => 'Manufacturer',
|
RawDicomTag::Manufacturer => 'Manufacturer',
|
||||||
DicomTagIdentifiers::InstitutionName => 'Institution Name',
|
RawDicomTag::InstitutionName => 'Institution Name',
|
||||||
DicomTagIdentifiers::ReferringPhysicianName => "Referring Physician's Name",
|
RawDicomTag::ReferringPhysicianName => "Referring Physician's Name",
|
||||||
DicomTagIdentifiers::StationName => 'Station Name',
|
RawDicomTag::StationName => 'Station Name',
|
||||||
DicomTagIdentifiers::SeriesDescription => 'Series Description',
|
RawDicomTag::SeriesDescription => 'Series Description',
|
||||||
DicomTagIdentifiers::ManufacturerModelName => "Manufacturer's Model Name",
|
RawDicomTag::ManufacturerModelName => "Manufacturer's Model Name",
|
||||||
DicomTagIdentifiers::PatientAge => "Patient's Age",
|
RawDicomTag::PatientAge => "Patient's Age",
|
||||||
DicomTagIdentifiers::PatientWeight => "Patient's Weight",
|
RawDicomTag::PatientWeight => "Patient's Weight",
|
||||||
DicomTagIdentifiers::BodyPartExamined => 'Body Part Examined',
|
RawDicomTag::BodyPartExamined => 'Body Part Examined',
|
||||||
DicomTagIdentifiers::ProtocolName => 'Protocol Name',
|
RawDicomTag::ProtocolName => 'Protocol Name',
|
||||||
DicomTagIdentifiers::SoftwareVersions => 'Software Versions',
|
RawDicomTag::SoftwareVersions => 'Software Versions',
|
||||||
DicomTagIdentifiers::AcquisitionDate => 'Acquisition Date',
|
RawDicomTag::AcquisitionDate => 'Acquisition Date',
|
||||||
DicomTagIdentifiers::AcquisitionTime => 'Acquisition Time',
|
RawDicomTag::AcquisitionTime => 'Acquisition Time',
|
||||||
DicomTagIdentifiers::ContentDate => 'Content Date',
|
RawDicomTag::ContentDate => 'Content Date',
|
||||||
DicomTagIdentifiers::ContentTime => 'Content Time',
|
RawDicomTag::ContentTime => 'Content Time',
|
||||||
DicomTagIdentifiers::AcquisitionDeviceProcessingDescription => 'Acquisition Device Processing Description',
|
RawDicomTag::AcquisitionDeviceProcessingDescription => 'Acquisition Device Processing Description',
|
||||||
DicomTagIdentifiers::InstitutionAddress => 'Institution Address',
|
RawDicomTag::InstitutionAddress => 'Institution Address',
|
||||||
DicomTagIdentifiers::StudyDescription => 'Study Description',
|
RawDicomTag::StudyDescription => 'Study Description',
|
||||||
DicomTagIdentifiers::OperatorsName => "Operator's Name",
|
RawDicomTag::OperatorsName => "Operator's Name",
|
||||||
DicomTagIdentifiers::Private10 => 'Private Tag 10',
|
RawDicomTag::Private10 => 'Private Tag 10',
|
||||||
DicomTagIdentifiers::IW_Private => 'IW Private Tag',
|
RawDicomTag::IW_Private => 'IW Private Tag',
|
||||||
DicomTagIdentifiers::ImageType => 'Image Type',
|
RawDicomTag::ImageType => 'Image Type',
|
||||||
DicomTagIdentifiers::PatientOrientation => 'Patient Orientation',
|
RawDicomTag::PatientOrientation => 'Patient Orientation',
|
||||||
DicomTagIdentifiers::ImagePositionPatient => 'Image Position (Patient)',
|
RawDicomTag::ImagePositionPatient => 'Image Position (Patient)',
|
||||||
DicomTagIdentifiers::ImageOrientationPatient => 'Image Orientation (Patient)',
|
RawDicomTag::ImageOrientationPatient => 'Image Orientation (Patient)',
|
||||||
DicomTagIdentifiers::FrameOfReferenceUID => 'Frame of Reference UID',
|
RawDicomTag::FrameOfReferenceUID => 'Frame of Reference UID',
|
||||||
DicomTagIdentifiers::PositionReferenceIndicator => 'Position Reference Indicator',
|
RawDicomTag::PositionReferenceIndicator => 'Position Reference Indicator',
|
||||||
DicomTagIdentifiers::SliceLocation => 'Slice Location',
|
RawDicomTag::SliceLocation => 'Slice Location',
|
||||||
DicomTagIdentifiers::SamplesPerPixel => 'Samples per Pixel',
|
RawDicomTag::SamplesPerPixel => 'Samples per Pixel',
|
||||||
DicomTagIdentifiers::PhotometricInterpretation => 'Photometric Interpretation',
|
RawDicomTag::PhotometricInterpretation => 'Photometric Interpretation',
|
||||||
DicomTagIdentifiers::Rows => 'Rows',
|
RawDicomTag::Rows => 'Rows',
|
||||||
DicomTagIdentifiers::Columns => 'Columns',
|
RawDicomTag::Columns => 'Columns',
|
||||||
DicomTagIdentifiers::PixelSpacing => 'Pixel Spacing',
|
RawDicomTag::PixelSpacing => 'Pixel Spacing',
|
||||||
DicomTagIdentifiers::BitsAllocated => 'Bits Allocated',
|
RawDicomTag::BitsAllocated => 'Bits Allocated',
|
||||||
DicomTagIdentifiers::BitsStored => 'Bits Stored',
|
RawDicomTag::BitsStored => 'Bits Stored',
|
||||||
DicomTagIdentifiers::HighBit => 'High Bit',
|
RawDicomTag::HighBit => 'High Bit',
|
||||||
DicomTagIdentifiers::PixelRepresentation => 'Pixel Representation',
|
RawDicomTag::PixelRepresentation => 'Pixel Representation',
|
||||||
DicomTagIdentifiers::WindowCenter => 'Window Center',
|
RawDicomTag::WindowCenter => 'Window Center',
|
||||||
DicomTagIdentifiers::WindowWidth => 'Window Width',
|
RawDicomTag::WindowWidth => 'Window Width',
|
||||||
DicomTagIdentifiers::RescaleIntercept => 'Rescale Intercept',
|
RawDicomTag::RescaleIntercept => 'Rescale Intercept',
|
||||||
DicomTagIdentifiers::RescaleSlope => 'Rescale Slope',
|
RawDicomTag::RescaleSlope => 'Rescale Slope',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
use App\Services\Pacs\DicomUtils;
|
use App\Services\Pacs\DicomUtils;
|
||||||
use App\Services\Pacs\OrthancRestClient;
|
use App\Services\Pacs\OrthancRestClient;
|
||||||
use App\Services\StudyRouter\DicomStudyRouter;
|
use App\Services\StudyRouter\DicomStudyRouter;
|
||||||
use App\Services\StudyRouter\DicomTagIdentifiers;
|
use App\Services\StudyRouter\RawDicomTag;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Pipeline\Pipeline;
|
use Illuminate\Pipeline\Pipeline;
|
||||||
@ -109,21 +109,21 @@ public function fetchStudyDetails(string $orthanc_uuid): ?array
|
|||||||
public function matchRouting(mixed $orthanc_src)
|
public function matchRouting(mixed $orthanc_src)
|
||||||
{
|
{
|
||||||
$dicomData = [
|
$dicomData = [
|
||||||
DicomTagIdentifiers::PatientName->value => data_get($orthanc_src, 'PatientMainDicomTags.PatientName'),
|
RawDicomTag::PatientName->value => data_get($orthanc_src, 'PatientMainDicomTags.PatientName'),
|
||||||
DicomTagIdentifiers::PatientID->value => data_get($orthanc_src, 'PatientMainDicomTags.PatientID'),
|
RawDicomTag::PatientID->value => data_get($orthanc_src, 'PatientMainDicomTags.PatientID'),
|
||||||
DicomTagIdentifiers::Modality->value => data_get($orthanc_src, 'RequestedTags.Modality'),
|
RawDicomTag::Modality->value => data_get($orthanc_src, 'RequestedTags.Modality'),
|
||||||
DicomTagIdentifiers::StudyDescription->value => $this->getStudyDescription($orthanc_src),
|
RawDicomTag::StudyDescription->value => $this->getStudyDescription($orthanc_src),
|
||||||
DicomTagIdentifiers::BodyPartExamined->value => data_get($orthanc_src, 'RequestedTags.BodyPartExamined'),
|
RawDicomTag::BodyPartExamined->value => data_get($orthanc_src, 'RequestedTags.BodyPartExamined'),
|
||||||
DicomTagIdentifiers::ReferringPhysicianName->value => data_get($orthanc_src, 'MainDicomTags.ReferringPhysicianName'),
|
RawDicomTag::ReferringPhysicianName->value => data_get($orthanc_src, 'MainDicomTags.ReferringPhysicianName'),
|
||||||
DicomTagIdentifiers::AccessionNumber->value => data_get($orthanc_src, 'MainDicomTags.AccessionNumber'),
|
RawDicomTag::AccessionNumber->value => data_get($orthanc_src, 'MainDicomTags.AccessionNumber'),
|
||||||
DicomTagIdentifiers::InstitutionName->value => data_get($orthanc_src, 'MainDicomTags.InstitutionName'),
|
RawDicomTag::InstitutionName->value => data_get($orthanc_src, 'MainDicomTags.InstitutionName'),
|
||||||
DicomTagIdentifiers::InstitutionAddress->value => data_get($orthanc_src, 'RequestedTags.InstitutionAddress'),
|
RawDicomTag::InstitutionAddress->value => data_get($orthanc_src, 'RequestedTags.InstitutionAddress'),
|
||||||
DicomTagIdentifiers::OperatorsName->value => data_get($orthanc_src, 'RequestedTags.OperatorsName'),
|
RawDicomTag::OperatorsName->value => data_get($orthanc_src, 'RequestedTags.OperatorsName'),
|
||||||
DicomTagIdentifiers::StationName->value => data_get($orthanc_src, 'RequestedTags.StationName'),
|
RawDicomTag::StationName->value => data_get($orthanc_src, 'RequestedTags.StationName'),
|
||||||
DicomTagIdentifiers::Manufacturer->value => data_get($orthanc_src, 'RequestedTags.Manufacturer'),
|
RawDicomTag::Manufacturer->value => data_get($orthanc_src, 'RequestedTags.Manufacturer'),
|
||||||
DicomTagIdentifiers::ManufacturerModelName->value => data_get($orthanc_src, 'RequestedTags.ManufacturerModelName'),
|
RawDicomTag::ManufacturerModelName->value => data_get($orthanc_src, 'RequestedTags.ManufacturerModelName'),
|
||||||
DicomTagIdentifiers::SoftwareVersions->value => data_get($orthanc_src, 'RequestedTags.SoftwareVersions'),
|
RawDicomTag::SoftwareVersions->value => data_get($orthanc_src, 'RequestedTags.SoftwareVersions'),
|
||||||
DicomTagIdentifiers::ProtocolName->value => data_get($orthanc_src, 'xxx'),
|
RawDicomTag::ProtocolName->value => data_get($orthanc_src, 'xxx'),
|
||||||
];
|
];
|
||||||
$dicomData = array_purge($dicomData);
|
$dicomData = array_purge($dicomData);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user