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 가 지원됨 |
요청 본문
요청 본문에는 업데이트할 연구 사양이 포함되어 있습니다. studyInstanceUids
및 changeDataset
둘 다 필수입니다.
{
"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®은 의료 정보의 디지털 통신과 관련된 표준 간행물에 대한 미국 전기공업회의 등록 상표입니다.