DICOM 파일 업데이트

대량 업데이트 작업을 사용하면 DICOM® 서비스에 저장된 여러 파일에 대한 이미징 메타데이터를 변경할 수 있습니다. 예를 들어 대량 업데이트를 사용하면 하나의 비동기 작업에서 하나 이상의 연구에 대한 DICOM 특성을 수정할 수 있습니다. 이 API를 사용하여 환자 인구 통계 변경에 대한 업데이트를 수행하고 시간이 많이 걸리는 업로드를 반복하는 비용을 방지할 수 있습니다.

효율성 향상 외에도 대량 업데이트 기능은 변경 피드 의 변경 내용에 대한 레코드를 유지하고 나중에 검색할 수 있도록 수정되지 않은 원본 인스턴스를 유지합니다.

제한 사항

대량 업데이트 작업을 사용하는 경우 몇 가지 제한 사항이 있습니다.

  • 하나의 작업으로 최대 50개 연구를 업데이트할 수 있습니다.
  • 대량 업데이트 작업은 한 번에 하나만 수행할 수 있습니다.
  • 최신 버전의 연구만 삭제하거나 원래 버전으로 되돌릴 수 없습니다.
  • 필드를 null이 아닌 값에서 null 값으로 업데이트할 수 없습니다.

대량 업데이트 작업 사용

대량 업데이트는 연구 엔드포인트에서 사용할 수 있는 비동기 장기 실행 작업입니다. 요청 페이로드에는 업데이트할 하나 이상의 연구, 업데이트할 특성 집합 및 해당 특성에 대한 새 값이 포함됩니다.

여러 연구의 인스턴스 업데이트

대량 업데이트 엔드포인트는 지정된 특성으로 각 연구의 모든 인스턴스를 업데이트하는 장기 실행 작업을 시작합니다.

POST {dicom-service-url}/{version}/studies/$bulkUpdate
POST {dicom-service-url}/{version}/partitions/{PartitionName}/studies/$bulkUpdate

요청 헤더

이름 필수 Type 설명
Content-Type False string application/json가 지원됨

요청 본문

요청 본문에는 업데이트할 연구 사양이 포함되어 있습니다. studyInstanceUidschangeDataset 둘 다 필수입니다.

{
    "studyInstanceUids": ["1.113654.3.13.1026"],
    "changeDataset": { 
        "00100010": { 
            "vr": "PN", 
            "Value": 
            [
                { 
                    "Alphabetic": "New Patient Name 1" 
                }
            ] 
        } 
    }
}

응답

대량 업데이트 작업이 시작되면 API는 202 상태 코드를 반환합니다. 응답 본문에는 작업에 대한 참조가 포함되어 있습니다.

HTTP/1.1 202 Accepted
Content-Type: application/json
{
    "id": "1323c079a1b64efcb8943ef7707b5438",
    "href": "../v1/operations/1323c079a1b64efcb8943ef7707b5438"
}

작업이 시작되지 않으면 실패 인스턴스의 UID를 포함하여 오류 목록의 오류에 대한 정보가 응답에 포함됩니다.

{
    "operationId": "1323c079a1b64efcb8943ef7707b5438",
    "type": "update",
    "createdTime": "2023-05-08T05:01:30.1441374Z",
    "lastUpdatedTime": "2023-05-08T05:01:42.9067335Z",
    "status": "failed",
    "percentComplete": 100,
    "results": {
        "studyUpdated": 0,
        "studyFailed": 1,
        "instanceUpdated": 0,
        "errors": [
            "Failed to update instances for study 1.113654.3.13.1026"
        ]
    }
}
이름 형식 설명
202(수락됨) 작업 참조 DICOM 특성을 업데이트하기 위한 장기 실행 작업이 시작되었습니다.
400(잘못된 요청) 요청 본문에 잘못된 데이터가 있습니다.

작업 상태

완료될 때까지 업데이트 작업의 현재 상태에 대한 href URL을 폴링할 수 있습니다. 200 반환 코드는 작업이 성공적으로 완료되었음을 나타냅니다.

GET {dicom-service-url}/{version}/operations/{operationId}

URI 매개 변수

이름 그런 다음 필수 Type 설명
operationId path True string 작업 ID

응답

{
    "operationId": "1323c079a1b64efcb8943ef7707b5438",
    "type": "update",
    "createdTime": "2023-05-08T05:01:30.1441374Z",
    "lastUpdatedTime": "2023-05-08T05:01:42.9067335Z",
    "status": "completed",
    "percentComplete": 100,
    "results": {
        "studyUpdated": 1,
        "instanceUpdated": 16,
        // Errors will go here
    }
}
이름 형식 설명
200(OK) 연산 지정된 ID의 작업이 완료되었습니다.
202(수락됨) 연산 지정된 ID의 작업이 실행 중입니다.
404(찾을 수 없음) 작업을 찾을 수 없음

연구 버전 검색

검색(WADO-RS) 트랜잭션을 사용하면 원래 버전과 최신 버전의 연구, 계열 또는 인스턴스를 모두 검색할 수 있습니다. 기본적으로 최신 버전의 연구, 계열 또는 인스턴스가 항상 반환됩니다. 원래 버전은 msdicom-request-original 헤더를 true로 설정하여 반환됩니다. 다음은 요청 예제입니다.

GET {dicom-service-url}/{version}/studies/{study}/series/{series}/instances/{instance}
Accept: multipart/related; type="application/dicom"; transfer-syntax=*
msdicom-request-original: true
Content-Type: application/dicom

삭제

삭제 메서드는 연구, 계열 또는 인스턴스의 원래 버전과 최신 버전을 모두 삭제합니다.

변경 피드

변경 피드는 만들기 및 삭제 작업과 동일한 방식으로 업데이트 작업을 기록합니다.

지원되는 DICOM 모듈

시퀀스가 아닌 환자 식별 모듈환자 인구 통계 모듈의 모든 특성은 대량 업데이트 작업을 사용하여 업데이트할 수 있습니다. 지원되는 특성은 테이블에서 호출됩니다.

대량 업데이트에서 자동으로 변경된 특성

대량 업데이트를 수행할 때 DICOM 서비스는 요청된 특성과 두 개의 추가 메타데이터 필드를 업데이트합니다. 다음은 자동으로 업데이트되는 정보입니다.

태그 Attribute name 설명
(0002,0012) 구현 클래스 UID 이 파일 및 해당 콘텐츠를 작성한 구현을 고유한 방법으로 식별합니다. 1.3.6.1.4.1.311.129
(0002,0013) 구현 버전 이름 구현 클래스 UID의 버전 식별(0002,0012) DICOM 서비스의 어셈블리 버전(예: 0.1.4785)

여기서 UID 1.3.6.1.4.1.311.129는 IANA의 Microsoft OID Arc 아래에 등록되어 있습니다.

환자 식별 모듈 특성

특성 이름 태그 설명
환자 이름 (0010,0010) 환자의 전체 이름
Patient ID (0010,0020) 환자를 위한 1차 병원 식별 번호 또는 코드입니다.
기타 환자 ID (0010,1000) 환자를 식별하는 데 사용되는 기타 식별 번호 또는 코드입니다.
환자 ID 유형 (0010,0022) 이 항목의 식별자 형식입니다. 열거형 값: TEXT RFID BARCODE는 식별자가 이진 값이 아니라 형식에 관계없이 문자열로 코딩됩니다.
기타 환자 이름 (0010,1001) 환자를 식별하는 데 사용되는 다른 이름입니다.
환자 출생 이름 (0010,1005) 환자 출생 이름
환자의 어머니 출생 이름 (0010,1060) 환자의 어머니의 출생 이름입니다.
의료 기록 로케이터 (0010,1090) 환자의 기존 의료 기록(예: 필름 재킷)을 찾는 데 사용되는 식별자입니다.

환자 인구 통계 모듈 특성

특성 이름 태그 설명
환자 연령 (0010,1010) 환자의 나이입니다.
직업 (0010,2180) 환자의 직업입니다.
환자 데이터 설명에 대한 기밀 제약 (0040,3001) 환자 정보의 기밀 유지를 위해 형식 연산자의 특별한 표시(예: 다른 환자가 있는 곳에서 환자 이름을 사용하지 않아야 함).
환자의 출생 시간 (0010,0030) 명명된 환자의 생년월일
환자의 출생 시간 (0010,0032) 명명된 환자의 출생 시간
환자의 성별 (0010,0040) 명명된 환자의 성별입니다.
품질 제어 대상 (0010,0200) 대상이 품질 제어가 가상인지 여부를 나타냅니다.
환자의 키 (0010,1020) 환자의 키 또는 길이(미터)
환자의 체중 (0010,1030) 환자의 체중(킬로그램)
환자의 주소 (0010,1040) 명명된 환자의 법적 주소
군대 계급 (0010,1080) 환자의 군대 계급
서비스 분과 (0010,1081) 군 종류 국가 또는 지역에 대한 충성도 포함될 수 있습니다(예: 미국 육군).
거주 국가 (0010,2150) 환자가 현재 거주하는 국가
거주 지역 (0010,2152) 환자의 거주 국가 내 지역
환자의 전화 번호 (0010,2154) 환자에게 연락할 수 있는 전화 번호
인종 그룹 (0010,2160) 환자의 인종 또는 민족
환자의 종교적 선호도 (0010,21F0) 환자의 종교적 선호도
환자 설명 (0010,4000) 환자에 대한 사용자 정의 설명
책임자 (0010,2297) 환자를 위한 의료 의사 결정 권한을 가진 사람의 이름입니다.
책임자 역할 (0010,2298) 환자에 대한 책임자의 관계입니다.
책임 조직 (0010,2299) 환자의 의료 의사 결정 권한이 있는 조직의 이름입니다.
환자의 인종 설명 (0010,2201) 환자의 인종입니다.
동물 환자의 품종 설명 (0010,2292) 동물 환자의 품종입니다. 섹션 C.7.1.1.1.1을 참조하세요.
동물 등록 번호 (0010,2295) 레지스트리 내 동물 환자의 식별 번호입니다.
환자 ID 발급자 (0010,0021) 환자 ID를 발급한 할당 기관(시스템, 조직, 기관 또는 부서)의 식별자입니다.

일반 연구 모듈

특성 이름 태그 설명
추천 의사 이름 (0008,0090) 환자의 추천 의사의 이름입니다.
입수 번호 (0008,0050) 연구 순서를 식별하는 RIS 생성 숫자입니다.
연구 설명 (0008,1030) 수행된 연구(구성 요소)의 기관 생성 설명 또는 분류입니다.

참고 항목

DICOM®은 의료 정보의 디지털 통신과 관련된 표준 간행물에 대한 미국 전기공업회의 등록 상표입니다.