OHIF / Viewers

OHIF zero-footprint DICOM viewer and oncology specific Lesion Tracker, plus shared extension packages
https://docs.ohif.org/
MIT License
3.35k stars 3.37k forks source link

Patient name and ID not displayed when V3 launched with JSON data #3099

Closed shlomgad closed 1 year ago

shlomgad commented 1 year ago

When launching the viewer (V3) with a JSON data source which includes 'PatientID' and 'PatientName', these are not displayed anywhere in the viewer, and neither other demographic patient data such as age, gender.

image

kongzhonglei commented 1 year ago

every instance must add patientid,patientname,patientname

shlomgad commented 1 year ago

@kongzhonglei Thanks for the suggestion, I added the PatientName and PatientID keys to each instance's metadata but still the patient details are not displayed.

Here is the metadata json for a single CT slice:

{
    "studies": [
        {
            "StudyInstanceUID": "1.2.826.0.1.3680043.9.7521.0.20230107141234896752.42566",
            "StudyDescription": "CT-ABDOMEN",
            "StudyDate": "20230107",
            "StudyTime": "151053",
            "PatientName": "Some^Test",
            "PatientId": "999018815",
            "AccessionNumber": "sb23010714123489",
            "PatientAge": "063Y",
            "PatientSex": "F",
            "series": [
                {
                    "SeriesDescription": "Spiral 2.5mm",
                    "SeriesInstanceUID": "1.2.826.0.1.3680043.9.7521.0.20230107141234896752.42566.2.25.2.25.2094101151415792423159151014075132971491264.1.2.840.113619.2.55.3.346831625.507.1209877797.132",
                    "SeriesNumber": 2,
                    "SeriesDate": "20230107",
                    "SeriesTime": "151053",
                    "Modality": "CT",
                    "SliceThickness": 2.5,
                    "instances": [
                        {
                            "metadata": {
                                "PatientName": "Some^Test",
                                "PatientId": "999018815",
                                "Columns": 512,
                                "Rows": 512,
                                "InstanceNumber": 1,
                                "SOPClassUID": "1.2.840.10008.5.1.4.1.1.2",
                                "AcquisitionNumber": 1,
                                "PhotometricInterpretation": "MONOCHROME2",
                                "BitsAllocated": 16,
                                "BitsStored": 16,
                                "PixelRepresentation": 1,
                                "SamplesPerPixel": 1,
                                "PixelSpacing": [
                                    0.976562,
                                    0.976562
                                ],
                                "HighBit": 15,
                                "ImageOrientationPatient": [
                                    1.0,
                                    0.0,
                                    0.0,
                                    0.0,
                                    1.0,
                                    0.0
                                ],
                                "ImagePositionPatient": [
                                    -250.0,
                                    -250.0,
                                    -0.5
                                ],
                                "FrameOfReferenceUID": "1.2.840.113619.2.55.3.346831625.507.1209877797.129.19530.5",
                                "ImageType": [
                                    "ORIGINAL",
                                    "PRIMARY",
                                    "AXIAL"
                                ],
                                "Modality": "CT",
                                "SOPInstanceUID": "1.2.840.113619.2.55.3.346831625.507.1209877797.133.1.1484769166391.1673106895909",
                                "SeriesInstanceUID": "1.2.826.0.1.3680043.9.7521.0.20230107141234896752.42566.2.25.2.25.2094101151415792423159151014075132971491264.1.2.840.113619.2.55.3.346831625.507.1209877797.132",
                                "WindowCenter": 40,
                                "WindowWidth": 400,
                                "StudyInstanceUID": "1.2.826.0.1.3680043.9.7521.0.20230107141234896752.42566"
                            },
                            "url": "dicomweb:https://localhost:3000/pacs/images/?i=1.2.826.0.1.3680043.9.7521.0.20230107141234896752.42566~1.2.840.113619.2.55.3.346831625.507.1209877797.133.1.1484769166391.1673106895909"
                        }
                    ]
                }
            ],
            "NumInstances": 1,
            "Modalities": "CT"
        }
    ]
}

Isn't it more simple and logical to have the viewer get all the required metadata directly from the dicom instance headers ? All we actually need to provide is the URL for the dicom instance, all metadata is contained in the DICOM headers anyway whether we provide it or not. It's not clear to me why all these metadata fields (which repeat thousands of times in case of a large study) have to be computed in advance.

wagner87 commented 1 year ago

Hello, I am having the same issue. Anyone has the answer?

sedghi commented 1 year ago

Can you still see this issue in the latest master?

sedghi commented 1 year ago

@jbocce ditto

jbocce commented 1 year ago

Both the patient name and MRN are now displayed.

shlomgad commented 1 year ago

@jbocce This is still not completely solved:

  1. The MRN field doesn't display the PatientID tag value (see attached image).
  2. As a matter of patient safety the patient name and ID must be clrearly displayed in the overlay of each image. It shouldn't be hidden behind the i icon which requires another click to display. Capture
jbocce commented 1 year ago

@shlomgad , the latest dev version does NOT display the problem. You can try it here. Which version are you experiencing the problem with?

With regards to not requiring a click to display the patient name and MRN, that is something we are considering changing.

FYI @sedghi, @dan-rukas and @james-hanks

dan-rukas commented 1 year ago

Re: displaying Patient info: @shlomgad – I just added a note to a similar issue about displaying patient information. I'm currently looking at a few design options to show patient information at all times. I'll add a new comment to this post when we share on this soon.

highoncarbs commented 4 months ago

This still doesn't seem to work @sedghi @jbocce

Also the .scripts/convertDicomToJson -> generates the patient's name as an array

   "StudyTime": "165246.000",
            "PatientName": [
                {
                    "Alphabetic": "Jane Doe"
                }
            ],
            "PatientID": "0060",
            "AccessionNumber": "",
            "PatientSex": "F",

if I keep the PatientName as a string, then it shows up in the Dicom Tag browser , but is still not visible in the top right in OHIF v3.8

View in OHIF 3.8 image

Patient name is visible in OHIF v3.7 - provided PatientName is a string

image

So,

  1. Does the dicomToJson generator needs to revised ?
  2. Should I stick to 3.7, until an update comes that resolves this issue ?