BEOKS / Web-DICOM-Management

DICOM database management for medical ML project based on web.
Creative Commons Zero v1.0 Universal
6 stars 0 forks source link

⚠️ HotFix : Dicom 데이터 관리와 메타데이터의 분리 #67

Closed BEOKS closed 2 years ago

BEOKS commented 2 years ago

Problem?

기존 계획에는 아래와 같이 메타데이터를 테이블로 표시하고, 각 행을 클릭하면 환자의 이미지를 보여주는 형식으로 진행하려고 하였으나. 이 부분에서 논리적 오류가 발생

Why?

  1. 메타 데이터는 Patient ID별로 데이터를 분류한다.
  2. 이미지 뷰어는 Study ID별로 데이터를 분류한다. 즉, 분류 기준이 종속적이라 메타데이터에서 하나의 행을 클릭한다고 이미지 뷰어를 확인 할 수 있는게 아님.

Solution?

Study ID는 Patient ID의 하위 계층이므로 아래와 같이 테이블을 작성해야 할 듯하다.

example

https://demos.telerik.com/kendo-ui/grid/detailtemplate

How?

  1. Patient ID가 소속된 Study UID 리스트를 불러오는 API가 필요하다..

    여기서 찾고자 하는 StudyInstanceUID와 검색에 사용되는 PatientID는 orthanc 서버에서 할당되는 UUID가 아니라 Dicom 파일 헤더에 포함되어있는 것을 의미함.

  2. 프론트에서는 메타데이터의 Row를 클릭할 때마다, 서버에 StudyInstance UID 리스트를 호출하고 결과를 위 예시처럼 반영한다.
BEOKS commented 2 years ago

Patient ID가 소속된 Study UID 리스트를 불러오는 API는 아래 링크를 참조하면 구현할 수 있을 듯 하다. https://groups.google.com/g/orthanc-users/c/K41r39RjQPI

BEOKS commented 2 years ago

@BongYang PatientID가 00000003인 Dicom 파일 찾기 테스트 성공

여기서 찾고자 하는 StudyInstanceUID와 검색에 사용되는 PatientID는 orthanc 서버에서 할당되는 UUID가 아니라 Dicom 파일 헤더에 포함되어있는 것을 의미함.

Request

curl -k  http://localhost:8042/tools/find  -d '{"Level" : "Study", "Expand":true, "Query" : {"PatientID" : "00000003"} }'

Response

[
{
"ID" : "87f22e7f-5f938fb3-0ec27167-384a12d8-2045c0af",
"IsStable" : true,
"LastUpdate" : "20220105T073608",
"MainDicomTags" : {
"AccessionNumber" : "1018932208290001",
"InstitutionName" : "DUIH",
"ReferringPhysicianName" : "AHN YEON SOON",
"RequestedProcedureDescription" : "Low Dose Screening Chest  CT (Single) (Non Contrast)",
"RequestingPhysician" : "AHN YEON SOON",
"StudyDate" : "20081019",
"StudyDescription" : "Thorax^C12_Low_Dose_CT (Adult)",
"StudyID" : "RC3073",
"StudyInstanceUID" : "1.2.410.2000010.82.242.1018932208290001",
"StudyTime" : "102905.250000"
},
"ParentPatient" : "f980f325-b04d8f18-f4fd73bb-31f76580-6b3beda8",
"PatientMainDicomTags" : {
"OtherPatientIDs" : "20081019",
"PatientBirthDate" : "20081019",
"PatientID" : "00000003",
"PatientName" : "OYJ",
"PatientSex" : "M"
},
"Series" : [ "dc126127-0a89b964-a33d8382-f03fc09c-dc590593" ],
"Type" : "Study"
}
]
Jungwon-Lee commented 2 years ago

Thank you!