# 以下是handler描述 ## Handler 1: 获取患者类型 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/patient_type ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "patient_type_list": [ { "id": "1", "patient_type_id": "Human", "patient_type_name": "Human", "patient_type_local": "Human", "patient_type_description": "Human", "sort": 1, "is_enabled": true, "product": "DROC", "is_pre_install": true }, { "id": "2", "patient_type_id": "SpecialType", "patient_type_name": "SpecialType", "patient_type_local": "SpecialType", "patient_type_description": "SpecialType", "sort": 2, "is_enabled": false, "product": "DROC", "is_pre_install": true } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## handler 2: ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/body_part ### query params - patient_type:从患者类型接口获取 - modality:暂时只有DX - is_enabled:true 或 false ### Response Status: 200 (OK) ### Response Data: Returns a JSON 响应数据示例: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "body_part_list": [ { "id": "1", "body_part_id": "Human_SKULL", "body_part_name": "颅骨", "body_part_local": "颅骨", "body_part_description": "Skull", "patient_type": "Human", "category": "DX", "sort": 1, "is_enabled": true, "product": "DROC", "is_pre_install": true }, { "id": "2", "body_part_id": "Human_NECK", "body_part_name": "颈部", "body_part_local": "颈部", "body_part_description": "Neck", "patient_type": "Human", "category": "DX", "sort": 2, "is_enabled": true, "product": "DROC", "is_pre_install": true } ] } } ``` ### Dynamic Behavior: None ### Delay: None ### Error Handling: None ## Handler 3: 获取软件信息 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/pub/software_info ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "data": { "FPD": "Simulator", "GEN": "Simulator", "guest": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTY3MjAxMTUsImlkIjoyLCJuYW1lIjoiZ3Vlc3QifQ.cDkkxM2mkiCQf7T87WsCMewITk13c7jSDoniT7gDHXQ", "language": ["en", "zh"], "product": "DROS", "server": { "auth": { "build": "2025-08-25 17:45:18", "desc": "Authentication Server repo", "submodule": ["3a167dd4[rpc_idl]"], "version": "0.3.0-13-g8b85622" }, "dcmtk": { "build": "2025-08-25 13:43:16", "desc": "Dcmtk Server repo", "submodule": ["0fc2b1e4[rpc_idl]"], "version": "0.3.0-12-gff618d4" }, "imgProc": { "build": "2025-08-25 13:46:23", "desc": "Img Proc Server repo", "submodule": [ "5e507af7[auto_wwwl]", "3a75bb1f[collimator_circle]", "e7b69785[collimator_rect]", "6b7fbbd1[enhance]", "5905e001[rpc_idl]" ], "version": "0.3.0-7-gbb2ee0b" }, "protocol": { "build": "2025-08-25 17:45:23", "desc": "Protocol Server repo", "submodule": ["3a167dd4[rpc_idl]"], "version": "0.3.0-7-g1954756" }, "resource": { "build": "2025-08-25 17:45:27", "desc": "Resource Server repo", "submodule": ["0fc2b1e4[rpc_idl]"], "version": "0.3.0-12-g60e37c1" }, "study": { "build": "2025-08-25 17:45:25", "desc": "Study Server repo", "submodule": ["3a167dd4[rpc_idl]"], "version": "0.3.0-11-g784ba1b" }, "task": { "build": "2025-08-25 17:45:29", "desc": "Task Server repo", "submodule": ["0fc2b1e4[rpc_idl]"], "version": "0.3.0-20-ge9ec04a" } }, "sn": "2edbc382-044adc78-95bed11b-51c9328a" }, "description": "Success", "solution": "" } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 4: 获取用户列表 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/pub/users ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "data": ["service", "admin", "mgr", "tech"], "description": "Success", "solution": "" } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 5: 获取示意图 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/pub/Image/xxx/xxx/xxx ### Response Status: 200 (OK) ### Response Data: Returns a File Example: ```json 图片数据 ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 6: 登陆 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/pub/login ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | -------- | -------- | ------ | ------ | ---- | | username | string | admin | true | | | password | string | 123456 | true | | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTEyNzc1ODgsImlkIjoxLCJuYW1lIjoiYWRtaW4ifQ.0qIzacOIf0-YluwAlrkaNJ9lf9w8IKneWEXh_mjUoN4", "expire": 1751277588, "uid": 1, "name": "admin", "avatar": "" } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 7: 修改密码 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/settings/password ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | -------------------- | -------- | ------ | ------ | -------- | | old_password | object | | true | 旧密码 | | new_password | string | | true | 新密码 | | confirm_new_password | string | | true | 确认密码 | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": {} } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 8: 获取选项 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/resource/options ### Query Params - group: basic - flag: sex_full ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.resource.OptionReply", "option": [ { "text": "Male", "value": "M" }, { "text": "Female", "value": "F" }, { "text": "Other", "value": "O" }, { "text": "CM", "value": "CM" }, { "text": "SF", "value": "SF" } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 9: 获取配置项 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/resource/config ### Query Params - uri: ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.resource.OptionReply", "option": [ { "text": "Male", "value": "M" }, { "text": "Female", "value": "F" }, { "text": "Other", "value": "O" }, { "text": "CM", "value": "CM" }, { "text": "SF", "value": "SF" } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 10: 获取患者类型 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/patient_type ### Query Params - is_enabled: true 或 false ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "patient_type_list": [ { "id": "1", "patient_type_id": "Human", "patient_type_name": "Human", "patient_type_local": "Human", "patient_type_description": "Human", "sort": 1, "is_enabled": true, "product": "DROC", "is_pre_install": true }, { "id": "2", "patient_type_id": "SpecialType", "patient_type_name": "SpecialType", "patient_type_local": "SpecialType", "patient_type_description": "SpecialType", "sort": 2, "is_enabled": false, "product": "DROC", "is_pre_install": true } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 11: 获取身体部位 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/body_part ### Query Params - patient_type: 从患者类型接口获取 - modality: 暂时只有DX - is_enabled: true 或 false ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "body_part_list": [ { "id": "1", "body_part_id": "Human_SKULL", "body_part_name": "颅骨", "body_part_local": "颅骨", "body_part_description": "Skull", "patient_type": "Human", "category": "DX", "sort": 1, "is_enabled": true, "product": "DROC", "is_pre_install": true }, { "id": "2", "body_part_id": "Human_NECK", "body_part_name": "颈部", "body_part_local": "颈部", "body_part_description": "Neck", "patient_type": "Human", "category": "DX", "sort": 2, "is_enabled": true, "product": "DROC", "is_pre_install": true } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 12: 获取协议列表 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/procedure ### Query Params - patient_type: 从患者类型接口获取 - body_part: 从身体部位接口获取 - procedure_type: NORMAL 或 EMERGENCY - is_enabled: true 或 false - page: 页码 (取值范围:>0) - page_size: 行数 (取值范围:1-10000) ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.protocol.ProcedureList", "count": 179, "procedures": [ { "id": "2", "procedure_id": "P0-0002", "procedure_code": "P0-0002", "procedure_name": "颅骨前后位 + 侧位", "procedure_name_local": "颅骨前后位 + 侧位", "procedure_other_name": "Skull AP + LAT", "procedure_description": "颅骨前后位 + 侧位", "procedure_description_local": "颅骨前后位 + 侧位", "patient_type": "Human", "body_part_id": "Human_SKULL", "procedure_type": "NORMAL", "fast_search": false, "protocol_laterality": "U", "procedure_category": "Adult", "modality": "DX", "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true }, { "id": "3", "procedure_id": "P0-0003", "procedure_code": "P0-0003", "procedure_name": "颅骨后前位 + 侧位", "procedure_name_local": "颅骨后前位 + 侧位", "procedure_other_name": "Skull PA + LAT", "procedure_description": "颅骨后前位 + 侧位", "procedure_description_local": "颅骨后前位 + 侧位", "patient_type": "Human", "body_part_id": "Human_SKULL", "procedure_type": "NORMAL", "fast_search": false, "protocol_laterality": "U", "procedure_category": "Adult", "modality": "DX", "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true }, { "id": "4", "procedure_id": "P0-0004", "procedure_code": "P0-0004", "procedure_name": "颅骨前后位", "procedure_name_local": "颅骨前后位", "procedure_other_name": "Skull AP", "procedure_description": "颅骨前后位", "procedure_description_local": "颅骨前后位", "patient_type": "Human", "body_part_id": "Human_SKULL", "procedure_type": "NORMAL", "fast_search": false, "protocol_laterality": "U", "procedure_category": "Adult", "modality": "DX", "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true }, { "id": "1", "procedure_id": "P0-0001", "procedure_code": "P0-0001", "procedure_name": "颅骨汤氏位", "procedure_name_local": "颅骨汤氏位", "procedure_other_name": "Skull Townes View", "procedure_description": "颅骨汤氏位", "procedure_description_local": "颅骨汤氏位", "patient_type": "Human", "body_part_id": "Human_SKULL", "procedure_type": "NORMAL", "fast_search": false, "protocol_laterality": "U", "procedure_category": "Adult", "modality": "DX", "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 13: 获取体位列表 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/view ### Query Params - patient_type: 从患者类型接口获取 - body_part: 从身体部位接口获取 - is_enabled: true 或 false - page: 页码 (取值范围:>0) - page_size: 行数 (取值范围:1-10000) ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.protocol.ViewList", "count": 149, "views": [ { "internal_id": "View_DX_T_A_SK_Axial_00", "view_id": "View_DX_T_A_SK_Axial_00", "view_name": "颅骨前后轴位", "view_name_local": "", "view_other_name": "Skull AP Axial", "view_description": "颅骨前后轴位", "view_position": "AP", "application": "RAD", "anatomic_region": "SKULL", "patient_type": "Human", "body_part_id": "Human_SKULL", "view_icon_name": "/Image/Position/Human/m20-063.gif", "view_big_icon_name": "/Image/Position/Human/m20-063.large.gif", "view_coach_name": "/Image/Position/Human/m20-063.large.gif", "modality": "DX", "work_station_id": 0, "apr_id": "View_DX_T_A_SK_Axial_00", "img_proc_id": "View_DX_T_A_SK_Axial_00", "config_object": { "DX": { "CollimatorCenter": "1", "CollimatorFilter": "0", "CollimatorNoChange": false, "CollimatorSize": "14IN(35CM)X17IN(43CM)", "CollimatorSizeLength": "17IN", "CollimatorSizeWidth": "14IN", "ImageHorizontalFlip": "NO", "ImageLaterality": "U", "ImageRotate": "0", "LabelPosition": "LEFT TOP", "LabelStyle": "", "PatientOrientationColumn": "R", "PatientOrientationRow": "L", "RatioFactorLength": 0, "RatioFactorSize": 0, "RatioFactorThickness": 0, "RatioFactorWeight": 0, "StandPos": "43", "TargetEXI": 250, "ViewID": "View_DX_T_A_SK_Axial_00" } }, "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true }, { "internal_id": "View_DX_T_A_SK_AP_00", "view_id": "View_DX_T_A_SK_AP_00", "view_name": "颅骨前后位", "view_name_local": "", "view_other_name": "Skull AP", "view_description": "颅骨前后位", "view_position": "AP", "application": "RAD", "anatomic_region": "SKULL", "patient_type": "Human", "body_part_id": "Human_SKULL", "view_icon_name": "/Image/Position/Human/skull.ap.table.x.png", "view_big_icon_name": "/Image/Position/Human/skull.ap.table.x.png", "view_coach_name": "/Image/Position/Human/skull.ap.table.x.png", "modality": "DX", "work_station_id": 0, "apr_id": "View_DX_T_A_SK_AP_00", "img_proc_id": "View_DX_T_A_SK_AP_00", "config_object": { "DX": { "CollimatorCenter": "1", "CollimatorFilter": "0", "CollimatorNoChange": false, "CollimatorSize": "14IN(35CM)X17IN(43CM)", "CollimatorSizeLength": "17IN", "CollimatorSizeWidth": "14IN", "ImageHorizontalFlip": "NO", "ImageLaterality": "U", "ImageRotate": "0", "LabelPosition": "LEFT TOP", "LabelStyle": "", "PatientOrientationColumn": "R", "PatientOrientationRow": "L", "RatioFactorLength": 0, "RatioFactorSize": 0, "RatioFactorThickness": 0, "RatioFactorWeight": 0, "StandPos": "43", "TargetEXI": 250, "ViewID": "View_DX_T_A_SK_AP_00" } }, "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 14: 获取体位列表(通过procedure_id) ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/procedure/{id}/view ### Path Variable - id: ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.protocol.ViewList", "count": 2, "views": [ { "internal_id": "View_DX_T_A_SK_AP_00", "view_id": "View_DX_T_A_SK_AP_00", "view_name": "颅骨前后位", "view_name_local": "", "view_other_name": "Skull AP", "view_description": "颅骨前后位", "view_position": "AP", "application": "RAD", "anatomic_region": "SKULL", "patient_type": "Human", "body_part_id": "Human_SKULL", "view_icon_name": "/Image/Position/Human/skull.ap.table.x.png", "view_big_icon_name": "/Image/Position/Human/skull.ap.table.x.png", "view_coach_name": "/Image/Position/Human/skull.ap.table.x.png", "modality": "DX", "work_station_id": 0, "apr_id": "View_DX_T_A_SK_AP_00", "img_proc_id": "View_DX_T_A_SK_AP_00", "config_object": { "DX": { "CollimatorCenter": "1", "CollimatorFilter": "0", "CollimatorNoChange": false, "CollimatorSize": "14IN(35CM)X17IN(43CM)", "CollimatorSizeLength": "17IN", "CollimatorSizeWidth": "14IN", "ImageHorizontalFlip": "NO", "ImageLaterality": "U", "ImageRotate": "0", "LabelPosition": "LEFT TOP", "LabelStyle": "", "PatientOrientationColumn": "R", "PatientOrientationRow": "L", "RatioFactorLength": 0, "RatioFactorSize": 0, "RatioFactorThickness": 0, "RatioFactorWeight": 0, "StandPos": "43", "TargetEXI": 250, "ViewID": "View_DX_T_A_SK_AP_00" } }, "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true }, { "internal_id": "View_DX_T_A_SK_LAT_00", "view_id": "View_DX_T_A_SK_LAT_00", "view_name": "颅骨左侧位", "view_name_local": "", "view_other_name": "Skull LAT,left", "view_description": "颅骨左侧位", "view_position": "LAT", "application": "RAD", "anatomic_region": "SKULL", "patient_type": "Human", "body_part_id": "Human_SKULL", "view_icon_name": "/Image/Position/Human/Skull_T_lat_left.gif", "view_big_icon_name": "/Image/Position/Human/Skull_T_lat_left.x.gif", "view_coach_name": "/Image/Position/Human/Skull_T_lat_left.x.gif", "modality": "DX", "work_station_id": 0, "apr_id": "View_DX_T_A_SK_LAT_00", "img_proc_id": "View_DX_T_A_SK_LAT_00", "config_object": { "DX": { "CollimatorCenter": "1", "CollimatorFilter": "0", "CollimatorNoChange": false, "CollimatorSize": "8IN(20CM)X10IN(25CM)", "CollimatorSizeLength": "10IN", "CollimatorSizeWidth": "8IN", "ImageHorizontalFlip": "NO", "ImageLaterality": "U", "ImageRotate": "0", "LabelPosition": "RIGHT TOP", "LabelStyle": "", "PatientOrientationColumn": "R", "PatientOrientationRow": "L", "RatioFactorLength": 0, "RatioFactorSize": 0, "RatioFactorThickness": 0, "RatioFactorWeight": 0, "StandPos": "43", "TargetEXI": 250, "ViewID": "View_DX_T_A_SK_LAT_00" } }, "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 15: 获取体位详情 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/view/{id} ### Path Variable - id: ### Query Params - patient_type: 从患者类型接口获取 - body_part: 从身体部位接口获取 - is_enabled: true 或 false - procedure_id: 从协议列表接口获取 ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.protocol.View", "internal_id": "View_DX_T_A_SK_Axial_04", "view_id": "View_DX_T_A_SK_Axial_04", "view_name": "下颌骨, 闭口", "view_name_local": "", "view_other_name": "Mandible,jaw close", "view_description": "下颌骨, 闭口", "view_position": "Axial", "application": "RAD", "anatomic_region": "Facial bones", "patient_type": "Human", "body_part_id": "Human_SKULL", "view_icon_name": "/Image/Position/Human/m21-082.gif", "view_big_icon_name": "/Image/Position/Human/m21-082.large.gif", "view_coach_name": "/Image/Position/Human/m21-082.gif", "modality": "DX", "work_station_id": 1, "apr_id": "View_DX_T_A_SK_Axial_04", "img_proc_id": "View_DX_T_A_SK_Axial_04", "config_object": { "DX": { "CollimatorCenter": "1", "CollimatorFilter": "0", "CollimatorNoChange": false, "CollimatorSize": "14IN(35CM)X17IN(43CM)", "CollimatorSizeLength": "17IN", "CollimatorSizeWidth": "14IN", "ImageHorizontalFlip": "NO", "ImageLaterality": "U", "ImageRotate": "0", "LabelPosition": "LEFT TOP", "LabelStyle": "", "PatientOrientationColumn": "R", "PatientOrientationRow": "L", "RatioFactorLength": 0, "RatioFactorSize": 0, "RatioFactorThickness": 0, "RatioFactorWeight": 0, "StandPos": "43", "TargetEXI": 250, "ViewID": "View_DX_T_A_SK_Axial_04" } }, "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 16: 获取APR详情(通过view_id) ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/view/{id}/apr ### Path Variable - id: ### Query Params - patient_type: 从患者类型接口获取 - body_part: 从身体部位接口获取 - is_enabled: true 或 false - procedure_id: 从协议列表接口获取 ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.protocol.AprReply", "apr_id": "View_DX_T_A_HD_OBL_01", "apr_name": "View_DX_T_A_HD_OBL_01", "apr_description": "右手斜位", "patient_type": "Human", "body_part_id": "Human_UPPER LIMB", "view_position": "OBL", "category": "EXTREMITIES_MEDIUM", "modality": "DX", "exposures": [ { "work_station_id": 0, "patient_size": "Large", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 55, "mA": 80, "mAs": 3.2, "ms": 40 } } }, { "work_station_id": 0, "patient_size": "Medium", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 2, "ms": 25 } } }, { "work_station_id": 0, "patient_size": "Paediatric", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 1.6, "ms": 20 } } }, { "work_station_id": 0, "patient_size": "Small", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 2, "ms": 25 } } }, { "work_station_id": 1, "patient_size": "Large", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 55, "mA": 80, "mAs": 3.2, "ms": 40 } } }, { "work_station_id": 1, "patient_size": "Medium", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 2, "ms": 25 } } }, { "work_station_id": 1, "patient_size": "Paediatric", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 1.6, "ms": 20 } } }, { "work_station_id": 1, "patient_size": "Small", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 2, "ms": 25 } } } ], "sort": 0, "is_enabled": true, "product": "DROS", "is_pre_install": true } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 17: 获取APR详情 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/apr/{id} ### Path Variable - id: ### Query Params - patient_type: 从患者类型接口获取 - body_part: 从身体部位接口获取 - is_enabled: true 或 false - procedure_id: 从协议列表接口获取 ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.protocol.AprReply", "apr_id": "View_DX_T_A_HD_OBL_01", "apr_name": "View_DX_T_A_HD_OBL_01", "apr_description": "右手斜位", "patient_type": "Human", "body_part_id": "Human_UPPER LIMB", "view_position": "OBL", "category": "EXTREMITIES_MEDIUM", "modality": "DX", "exposures": [ { "work_station_id": 0, "patient_size": "Large", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 55, "mA": 80, "mAs": 3.2, "ms": 40 } } }, { "work_station_id": 0, "patient_size": "Medium", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 2, "ms": 25 } } }, { "work_station_id": 0, "patient_size": "Paediatric", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 1.6, "ms": 20 } } }, { "work_station_id": 0, "patient_size": "Small", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 2, "ms": 25 } } }, { "work_station_id": 1, "patient_size": "Large", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 55, "mA": 80, "mAs": 3.2, "ms": 40 } } }, { "work_station_id": 1, "patient_size": "Medium", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 2, "ms": 25 } } }, { "work_station_id": 1, "patient_size": "Paediatric", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 1.6, "ms": 20 } } }, { "work_station_id": 1, "patient_size": "Small", "config_object": { "Common": { "AECDensity": 0, "AECField": "010", "AECFilm": 1, "Dose": 0, "ExposureMode": 0, "Focus": 0, "TOD": 0, "TubeLoad": 0, "kV": 50, "mA": 80, "mAs": 2, "ms": 25 } } } ], "sort": 0, "is_enabled": true, "product": "DROS", "is_pre_install": true } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 18: 获取APR设备信息 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/apr/{id}/device ### Path Variable - id: ### Query Params - work_station_id: 工作位 0 或 1 ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.protocol.AprDevice", "work_station_id": 1, "config_object": { "Common": { "APRNumber": "5", "DetectorAngle": 0, "FpdAcquisitionMode": "101", "FrameRate": 0, "GridSpeed": 0, "GridType": 2, "PositionNumber": "2", "SID": 115, "Thickness": 1, "TubeAngle": 0 } } } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 19: 获取APR默认曝光参数 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/protocol/apr/{id}/tech ### Path Variable - id: ### Query Params - work_station_id: 工作位 0 或 1 - patient_size: 体型 Large 或 Medium 或 Small ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.protocol.TechParam", "dp": { "SID": 115, "GridType": 2, "GridSpeed": 0, "DetectorAngle": 0, "TubeAngle": 0, "TubeHeight": 0, "APRNumber": "5", "PositionNumber": "2", "Thickness": 1, "FrameRate": 0, "LongTimeExp": 0 }, "ep": { "kV": 70, "mA": 125, "ms": 100, "mAs": 12.5, "ExposureMode": 0, "Focus": 0, "AECFilm": 1, "AECField": "010", "AECDensity": 0, "Dose": 0, "TubeLoad": 0, "TOD": 0, "CompressionThickness": 0 } } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 20: 登记检查信息 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/study ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | -------------------- | ------------- | ------------------------------------------------------------------------ | ------ | ----------------------------------------------------------------------------------------------------------------------- | | accession_number | string | ACC0012345 | true | 登记号 | | patient_id | string | PET007 | true | 患者ID | | patient_name | object | Buddy | true | 患者名称 | | patient_english_name | string | | false | 英文名 | | patient_former_name | string | | false | 曾用名 | | patient_size | string | Large | true | 患者体型 | | patient_age | string | 5Y | true | 患者年龄 | | patient_dob | string | 2025-06-10T03:12:36.181739Z | true | 生日 | | patient_sex | string | | false | 性别 M、F、O、U | | sex_neutered | string | | false | 仅宠物 绝育状态
ALTERED (绝育)
UNALTERED (未绝育) | | pregnancy_status | string | | false | 仅人医 妊娠状态
0001
not pregnant
0002
possibly pregnant
0003
definitely pregnant
0004
unknown | | owner_name | string | | false | 仅宠物 主人 | | chip_number | object | CHIP123456789 | false | 仅宠物
芯片号 | | variety | string | Golden Retriever | false | 仅宠物
品种描述 | | is_anaesthesia | string | false | false | bool
麻醉状态 | | is_sedation | string | false | false | bool
镇定状态 | | patient_type | string | Human | true | 患者种类 | | ref_physician | string | Dr. Smith (Vet) | false | 医师 | | operator_id | string | OP987 | false | 操作者 | | modality | string | DX | true | | | weight | int32 | 25 | false | 体重 | | thickness | int32 | 15 | false | 厚度 | | length | int32 | 60 | false | 身高 | | study_type | string | Normal | true | 类型
Normal 普通
Emergency 紧急 | | comment | string | Patient presented with limping in right hind leg. Sedation administered. | false | 备注 | | views | array[object] | | true | 体位列表 | | ⇥ view_id | string | View_DX_T_A_SK_AP_00 | true | 体位id | | ⇥ procedure_id | string | P0-0002 | true | 协议id
如果直接选择的体位,协议id填空字符串 | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.study.Study", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482097", "study_id": "20250625143339389", "public_study_id": "", "specific_character_set": "ISO_IR 192", "accession_number": "ACC0012345", "ref_physician": "Dr. Smith (Vet)", "patient_id": "PET007", "patient_name": "Buddy (Dog)", "patient_english_name": "Buddy en", "patient_former_name": "Buddy f", "patient_size": "Large", "other_patient_ids": "", "other_patient_names": "", "patient_age": "5Y", "patient_dob": "2025-06-10T03:12:36.181739Z", "patient_sex": "M", "patient_state": "", "admitting_time": null, "priority": "", "reg_source": "", "study_description": "", "study_start_datetime": "2025-06-25T06:33:39.420606Z", "study_end_datetime": null, "scheduled_procedure_step_start_date": null, "performed_physician": "", "study_lock": "Unlocked", "folder_path": "", "operator_name": "OP987", "modality": "DX", "weight": 25, "thickness": 15, "length": 60, "patient_type": "Human", "study_type": "Normal", "owner_name": "owner1", "chip_number": "CHIP123456789", "variety": "Golden Retriever", "is_anaesthesia": true, "is_sedation": true, "mwl": "", "is_exported": false, "is_edited": false, "is_appended": false, "department": "", "mapped_status": false, "qc_result": false, "comment": "Patient presented with limping in right hind leg. Sedation administered.", "study_status": "Arrived", "sort": 0, "product": "DROS", "series": [ { "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482098", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482097", "study_id": "20250625143339389", "procedure_id": "P0-0002", "body_part": "Human_SKULL", "performed_datetime": null, "performed_protocol_code_meaning": "颅骨前后位 + 侧位", "performed_protocol_code_value": "P0-0002", "sort": 1, "product": "DROS", "is_pre_install": true, "images": [ { "sop_instance_id": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482099", "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482098", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482097", "secondary_sop_uid": "", "study_id": "20250625143339389", "view_id": "View_DX_T_A_SK_AP_00", "view_description": "颅骨前后位", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "expose_status": "Unexposed", "judged_status": "NotJudged", "send_status": "Unsent", "storage_status": "NotSaved", "sort": 1, "product": "DROS", "is_pre_install": true }, { "sop_instance_id": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482100", "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482098", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482097", "secondary_sop_uid": "", "study_id": "20250625143339389", "view_id": "View_DX_T_A_SK_LAT_00", "view_description": "颅骨左侧位", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "expose_status": "Unexposed", "judged_status": "NotJudged", "send_status": "Unsent", "storage_status": "NotSaved", "sort": 2, "product": "DROS", "is_pre_install": true } ] }, { "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482101", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482097", "study_id": "20250625143339389", "procedure_id": "", "body_part": "Human_SKULL", "performed_datetime": null, "performed_protocol_code_meaning": "", "performed_protocol_code_value": "", "sort": 2, "product": "DROS", "is_pre_install": true, "images": [ { "sop_instance_id": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482102", "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482101", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750833219.482097", "secondary_sop_uid": "", "study_id": "20250625143339389", "view_id": "View_DX_T_A_SK_Special_04", "view_description": "颅骨汤氏位", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "expose_status": "Unexposed", "judged_status": "NotJudged", "send_status": "Unsent", "storage_status": "NotSaved", "sort": 3, "product": "DROS", "is_pre_install": true } ] } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 21: 变更登记信息 ### HTTP Method: PUT ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/study/{id} ### Path Variable - id: ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | -------------------- | -------- | ------------------------------------------------------------------------ | ------ | ------------------ | | accession_number | string | ACC0012345 | true | 登记号 | | patient_id | string | PET007 | true | 患者ID | | patient_name | object | Buddy | true | 患者名称 | | patient_english_name | object | | false | 患者英文名 | | patient_former_name | string | | false | 曾用名 | | patient_size | string | Large | true | 患者体型 | | patient_age | string | 5Y | true | 患者年龄 | | patient_dob | string | 2025-06-10T03:12:36.181739Z | true | 生日 | | patient_sex | string | | true | 性别 M、F、O、U | | owner_name | string | | false | 仅宠物
主人 | | chip_number | string | CHIP123456789 | false | 仅宠物
芯片号 | | variety | string | Golden Retriever | false | 仅宠物
品种描述 | | is_anaesthesia | string | false | false | bool
麻醉状态 | | is_sedation | string | false | false | bool
镇定状态 | | ref_physician | string | Dr. Smith (Vet) | false | 医师 | | operator_id | string | OP987 | false | 操作者 | | weight | int32 | 25 | false | 体重 | | thickness | int32 | 15 | false | 厚度 | | length | int32 | 60 | false | 身高 | | comment | string | Patient presented with limping in right hind leg. Sedation administered. | false | 备注 | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.study.Study", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482080", "study_id": "20250625140057649", "public_study_id": "", "specific_character_set": "ISO_IR 192", "accession_number": "ACC00123451", "ref_physician": "Dr. Smith (Vet)1", "patient_id": "PET0071", "patient_name": "Buddy (Dog)g", "patient_english_name": "Buddy ee", "patient_former_name": "Buddy ff", "patient_size": "Small", "other_patient_ids": "", "other_patient_names": "", "patient_age": "4Y", "patient_dob": "2025-06-11T03:12:36.181739Z", "patient_sex": "F", "patient_state": "", "admitting_time": null, "priority": "", "reg_source": "", "study_description": "", "study_start_datetime": "2025-06-25T06:00:57.401703Z", "study_end_datetime": null, "scheduled_procedure_step_start_date": null, "performed_physician": "", "study_lock": "Unlocked", "folder_path": "", "operator_name": "OP9871", "modality": "DX", "weight": 35, "thickness": 25, "length": 70, "patient_type": "Human", "study_type": "Normal", "owner_name": "owner11", "chip_number": "CHIP1234567891", "variety": "Golden Retriever1", "is_anaesthesia": false, "is_sedation": false, "mwl": "", "is_exported": false, "is_edited": false, "is_appended": false, "department": "", "mapped_status": false, "qc_result": false, "comment": "1Patient presented with limping in right hind leg. Sedation administered.", "study_status": "Arrived", "sort": 0, "product": "DROS", "series": [ { "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482081", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482080", "study_id": "20250625140057649", "procedure_id": "P0-0002", "body_part": "Human_SKULL", "performed_datetime": null, "performed_protocol_code_meaning": "颅骨前后位 + 侧位", "performed_protocol_code_value": "P0-0002", "sort": 1, "product": "DROS", "is_pre_install": true, "images": [ { "sop_instance_id": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482082", "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482081", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482080", "secondary_sop_uid": "", "study_id": "20250625140057649", "view_id": "View_DX_T_A_SK_AP_00", "view_description": "颅骨前后位", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "expose_status": "Unexposed", "judged_status": "NotJudged", "send_status": "Unsent", "storage_status": "NotSaved", "sort": 1, "product": "DROS", "is_pre_install": true }, { "sop_instance_id": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482083", "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482081", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482080", "secondary_sop_uid": "", "study_id": "20250625140057649", "view_id": "View_DX_T_A_SK_LAT_00", "view_description": "颅骨左侧位", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "expose_status": "Unexposed", "judged_status": "NotJudged", "send_status": "Unsent", "storage_status": "NotSaved", "sort": 2, "product": "DROS", "is_pre_install": true } ] }, { "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482084", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482080", "study_id": "20250625140057649", "procedure_id": "", "body_part": "Human_SKULL", "performed_datetime": null, "performed_protocol_code_meaning": "", "performed_protocol_code_value": "", "sort": 2, "product": "DROS", "is_pre_install": true, "images": [ { "sop_instance_id": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482085", "series_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482084", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.33458.1750831257.482080", "secondary_sop_uid": "", "study_id": "20250625140057649", "view_id": "View_DX_T_A_SK_Special_04", "view_description": "颅骨汤氏位", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "expose_status": "Unexposed", "judged_status": "NotJudged", "send_status": "Unsent", "storage_status": "NotSaved", "sort": 3, "product": "DROS", "is_pre_install": true } ] } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 22: 获取检查信息列表 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/study/ ### Query Params - id: 模糊搜索 - name: 模糊搜索 - acc_no: 模糊搜索 - start_time: RFC3339Nano格式 (例:2025-06-19T00:00:00.000+08:00) - end_time: RFC3339Nano格式 (例:2025-06-19T23:59:59.999+08:00) - status: 逗号分隔的字符串列表 (可选值:Arrived, InProgress, Completed) - page: 页码 (取值范围:>0) - page_size: 行数 (取值范围:1-10000) ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.protocol.ViewList", "count": 149, "views": [ { "internal_id": "View_DX_T_A_SK_Axial_00", "view_id": "View_DX_T_A_SK_Axial_00", "view_name": "颅骨前后轴位", "view_name_local": "", "view_other_name": "Skull AP Axial", "view_description": "颅骨前后轴位", "view_position": "AP", "application": "RAD", "anatomic_region": "SKULL", "patient_type": "Human", "body_part_id": "Human_SKULL", "view_icon_name": "/Image/Position/Human/m20-063.gif", "view_big_icon_name": "/Image/Position/Human/m20-063.large.gif", "view_coach_name": "/Image/Position/Human/m20-063.large.gif", "modality": "DX", "work_station_id": 0, "apr_id": "View_DX_T_A_SK_Axial_00", "img_proc_id": "View_DX_T_A_SK_Axial_00", "config_object": { "DX": { "CollimatorCenter": "1", "CollimatorFilter": "0", "CollimatorNoChange": false, "CollimatorSize": "14IN(35CM)X17IN(43CM)", "CollimatorSizeLength": "17IN", "CollimatorSizeWidth": "14IN", "ImageHorizontalFlip": "NO", "ImageLaterality": "U", "ImageRotate": "0", "LabelPosition": "LEFT TOP", "LabelStyle": "", "PatientOrientationColumn": "R", "PatientOrientationRow": "L", "RatioFactorLength": 0, "RatioFactorSize": 0, "RatioFactorThickness": 0, "RatioFactorWeight": 0, "StandPos": "43", "TargetEXI": 250, "ViewID": "View_DX_T_A_SK_Axial_00" } }, "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true }, { "internal_id": "View_DX_T_A_SK_AP_00", "view_id": "View_DX_T_A_SK_AP_00", "view_name": "颅骨前后位", "view_name_local": "", "view_other_name": "Skull AP", "view_description": "颅骨前后位", "view_position": "AP", "application": "RAD", "anatomic_region": "SKULL", "patient_type": "Human", "body_part_id": "Human_SKULL", "view_icon_name": "/Image/Position/Human/skull.ap.table.x.png", "view_big_icon_name": "/Image/Position/Human/skull.ap.table.x.png", "view_coach_name": "/Image/Position/Human/skull.ap.table.x.png", "modality": "DX", "work_station_id": 0, "apr_id": "View_DX_T_A_SK_AP_00", "img_proc_id": "View_DX_T_A_SK_AP_00", "config_object": { "DX": { "CollimatorCenter": "1", "CollimatorFilter": "0", "CollimatorNoChange": false, "CollimatorSize": "14IN(35CM)X17IN(43CM)", "CollimatorSizeLength": "17IN", "CollimatorSizeWidth": "14IN", "ImageHorizontalFlip": "NO", "ImageLaterality": "U", "ImageRotate": "0", "LabelPosition": "LEFT TOP", "LabelStyle": "", "PatientOrientationColumn": "R", "PatientOrientationRow": "L", "RatioFactorLength": 0, "RatioFactorSize": 0, "RatioFactorThickness": 0, "RatioFactorWeight": 0, "StandPos": "43", "TargetEXI": 250, "ViewID": "View_DX_T_A_SK_AP_00" } }, "sort": 1, "is_enabled": true, "product": "DROS", "is_pre_install": true } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 23: 获取检查信息 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/study/{id} ### Path Variable - id: study_id ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.study.StudyReply", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.34708.1750322497.870195", "study_id": "20250619164137632", "public_study_id": "", "specific_character_set": "ISO_IR 192", "accession_number": "ACC0012346", "ref_physician": "Dr. Smith (Vet)", "patient_id": "PET007", "patient_name": "Tom", "patient_size": "Large", "other_patient_ids": "", "other_patient_names": "", "owner_name": "", "patient_age": "5Y", "patient_dob": "2025-06-10T03:12:36.181739Z", "patient_sex": "M", "patient_state": "", "admitting_time": null, "priority": "", "reg_source": "", "study_description": "", "study_start_datetime": "2025-06-19T08:41:37.894Z", "study_end_datetime": null, "scheduled_procedure_step_start_date": null, "performed_physician": "", "study_lock": "Unlocked", "folder_path": "", "operator_name": "", "modality": "DX", "weight": 25, "thickness": 15, "length": 60, "patient_type": "Human", "study_type": "Normal", "mwl": "", "is_exported": false, "is_edited": false, "is_appended": false, "department": "", "mapped_status": false, "qc_result": false, "comment": "Patient presented with limping in right hind leg. Sedation administered.", "study_status": "Completed", "sort": 0, "product": "DROS", "series": [ { "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.34708.1750322497.870196", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.34708.1750322497.870195", "study_id": "20250619164137632", "procedure_id": "P0-0002", "body_part": "Human_SKULL", "performed_datetime": null, "performed_protocol_code_meaning": "颅骨前后位 + 侧位", "performed_protocol_code_value": "P0-0002", "sort": 1, "product": "DROS", "is_pre_install": true, "images": [ { "sop_instance_id": "1.2.276.0.1000000.5.1.4.701601461.34708.1750322497.870197", "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.34708.1750322497.870196", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.34708.1750322497.870195", "secondary_sop_uid": "", "study_id": "20250619164137632", "view_id": "View_DX_T_A_SK_AP_00", "view_description": "颅骨前后位", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "expose_status": "Unexposed", "judged_status": "NotJudged", "send_status": "Unsent", "storage_status": "NotSaved", "sort": 1, "product": "DROS", "is_pre_install": true }, { "sop_instance_id": "1.2.276.0.1000000.5.1.4.701601461.34708.1750322497.870198", "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.34708.1750322497.870196", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.34708.1750322497.870195", "secondary_sop_uid": "", "study_id": "20250619164137632", "view_id": "View_DX_T_A_SK_LAT_00", "view_description": "颅骨左侧位", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "expose_status": "Unexposed", "judged_status": "NotJudged", "send_status": "Unsent", "storage_status": "NotSaved", "sort": 2, "product": "DROS", "is_pre_install": true } ] }, { "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.34708.1750322497.870199", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.34708.1750322497.870195", "study_id": "20250619164137632", "procedure_id": "", "body_part": "Human_SKULL", "performed_datetime": null, "performed_protocol_code_meaning": "", "performed_protocol_code_value": "", "sort": 2, "product": "DROS", "is_pre_install": true, "images": [ { "sop_instance_id": "1.2.276.0.1000000.5.1.4.701601461.34708.1750322497.870200", "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.34708.1750322497.870199", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.34708.1750322497.870195", "secondary_sop_uid": "", "study_id": "20250619164137632", "view_id": "View_DX_T_A_SK_Special_04", "view_description": "颅骨汤氏位", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "expose_status": "Unexposed", "judged_status": "NotJudged", "send_status": "Unsent", "storage_status": "NotSaved", "sort": 3, "product": "DROS", "is_pre_install": true } ] } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 24: 获取检查信息状态 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/study/{id}/stat ### Path Variable - id: study_id ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.study.Stat", "total": 3, "exposed": 1 } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 25: 删除检查信息(批量) ### HTTP Method: DELETE ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/study ### Request Body Example: ```json ["20250623110433242", "20250623110436888"] ``` ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.study.Stat", "total": 3, "exposed": 1 } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 26: 存储拍摄的急诊患者影像 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/study/portrait ### Path Variable - drurl: ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | ------------ | -------- | --------------------------------------------------------- | ------ | ----------- | | instance_uid | string | 1.2.276.0.1000000.5.1.4.701601461.19649.1749545373.668671 | true | study_id | | data | file | | true | PNG图片文件 | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.task.DcmPath", "path": "1.2.276.0.1000000.5.1.5.701601461.33458.1750830395.482043.dcm" } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 27: 批量添加体位和协议 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/image ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | -------------- | ------------- | ------------------------- | ------ | ---- | | study_id | string | 20250610164933314 | true | | | views | array[object] | | true | | | ⇥ view_id | string | View_DX_T_A_SK_Special_05 | true | | | ⇥ procedure_id | string | | true | | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.study.CreateImageReply", "series": [ { "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.11229.1750069146.245933", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.19649.1749545373.668668", "study_id": "20250610164933314", "procedure_id": "P0-0002", "body_part": "Human_SKULL", "performed_datetime": null, "performed_protocol_code_meaning": "颅骨前后位 + 侧位", "performed_protocol_code_value": "P0-0002", "sort": 5, "product": "DROS", "is_pre_install": true, "images": [ { "sop_instance_id": "1.2.276.0.1000000.5.1.4.701601461.11229.1750069146.245934", "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.11229.1750069146.245933", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.19649.1749545373.668668", "secondary_sop_uid": "", "study_id": "20250610164933314", "view_id": "View_DX_T_A_SK_AP_00", "view_description": "颅骨前后位", "image_status": "QUEUING", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "sort": 8, "product": "DROS", "is_pre_install": true } ] }, { "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.11229.1750069146.245935", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.19649.1749545373.668668", "study_id": "20250610164933314", "procedure_id": "", "body_part": "Human_SKULL", "performed_datetime": null, "performed_protocol_code_meaning": "", "performed_protocol_code_value": "", "sort": 6, "product": "DROS", "is_pre_install": true, "images": [ { "sop_instance_id": "1.2.276.0.1000000.5.1.4.701601461.11229.1750069146.245936", "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.11229.1750069146.245935", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.19649.1749545373.668668", "secondary_sop_uid": "", "study_id": "20250610164933314", "view_id": "View_DX_T_A_SK_Special_05", "view_description": "颅骨斯氏位", "image_status": "QUEUING", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "sort": 9, "product": "DROS", "is_pre_install": true } ] } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 28: 复制体位 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/image/copy ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | ------------ | -------- | --------------------------------------------------------- | ------ | ---- | | instance_uid | string | 1.2.276.0.1000000.5.1.4.701601461.19649.1749545373.668671 | true | | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/dr.study.CreateImageReply", "series": [ { "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.19649.1749545373.668669", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.19649.1749545373.668668", "study_id": "20250610164933314", "procedure_id": "P0-0002", "body_part": "Human_SKULL", "performed_datetime": null, "performed_protocol_code_meaning": "颅骨前后位 + 侧位", "performed_protocol_code_value": "P0-0002", "sort": 1, "product": "DROS", "is_pre_install": true, "images": [ { "sop_instance_id": "1.2.276.0.1000000.5.1.4.701601461.11229.1750068918.245928", "series_instance_uid": "1.2.276.0.1000000.5.1.3.701601461.19649.1749545373.668669", "study_instance_uid": "1.2.276.0.1000000.5.1.2.701601461.19649.1749545373.668668", "secondary_sop_uid": "", "study_id": "20250610164933314", "view_id": "View_DX_T_A_SK_LAT_00", "view_description": "颅骨左侧位", "image_status": "QUEUING", "image_file_path": "", "acquisition_mode": "RAD", "acquisition_context": null, "img_proc_context": null, "sort": 3, "product": "DROS", "is_pre_install": true } ] } ] } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 29: 体位重新排序 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/image/sort ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | ----------------- | ------------- | ----------------- | ------ | ---- | | study_id | string | 20250610164933314 | true | | | sop_instance_uids | array[string] | | true | | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/google.protobuf.Empty", "value": {} } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 30: 删除体位 ### HTTP Method: DELETE ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /dr/api/v1/auth/image/:id ### Path Variable - id: image的sop_instance_uid ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/google.protobuf.Empty", "value": {} } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 31: 打开设备 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/device/open ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | --------- | -------- | --------------------- | ------ | ---- | | deviceUri | string | DIOS/DEVICE/Generator | true | | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/google.protobuf.Empty", "value": {} } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 32: 执行Action ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/device/action ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | -------------- | -------- | --------------------- | ------ | ---- | | deviceUri | string | DIOS/DEVICE/Generator | true | | | reqName | string | IncParam_KV | true | | | reqParam | string | | true | | | reqTransaction | string | | true | | | reqClientID | string | | true | | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/google.protobuf.Empty", "value": {} } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 33: 开始检查 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/task/inspection/start ### Path Variable - drurl: ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | ------------ | -------- | --------------------------------------------------------- | ------ | ---------------- | | instance_uid | string | 1.2.276.0.1000000.5.1.4.701601461.19649.1749545373.668671 | true | sop_instance_uid | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/google.protobuf.Empty", "value": {} } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 34: 获取全局状态 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/task/inspection/status ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "成功", "solution": "", "data": { "@type": "type.googleapis.com/dr.task.TaskGlobalStatus", "gen_status": "GENERATOR_STATUS_STANDBY", "gen_ready": true, "fpd_status": "DETECTOR_STATUS_STANDBY", "fpd_ready": true, "insp_status": "TASK_Ready", "insp_ready": true, "all_ready": true } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 35: 软曝光 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/task/inspection/trigger ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "data": {}, "description": "Success", "solution": "" } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 36: 接受拒绝图像 ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/task/inspection/judge ### Path Variable - drurl: ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | ------------ | -------- | --------------------------------------------------------- | ------ | ---------------- | | instance_uid | object | 1.2.276.0.1000000.5.1.4.701601461.19649.1749545373.668671 | true | sop_instance_uid | | accept | boolean | false | true | | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/google.protobuf.Empty", "value": {} } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 37: 挂起或完成study ### HTTP Method: POST ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/task/inspection/leave ### Request Body | 参数名称 | 数据类型 | 默认值 | 不为空 | 描述 | | ------------ | -------- | ----------------- | ------ | ----------------------- | | study_id | object | 20250625143339389 | true | study_id | | study_status | boolean | Completed | true | InProgress 或 Completed | ### Response Status: 200 (OK) ### Response Data: Returns a JSON Example: ```json { "code": "0x000000", "description": "Success", "solution": "", "data": { "@type": "type.googleapis.com/google.protobuf.Empty", "value": {} } } ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 38: 获取dcm文件 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/image/dcm/{dcmfilename} ### Path Variable - dcmfilename: dcm文件名 ### Response Status: 200 (OK) ### Response Data: Returns a File Example: ```json 文件 ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None ## Handler 39: 获取缩略图文件 ### HTTP Method: GET ### Headers - **Authorization** - **Language**: `en` 或 `zh` - **Product**: `DROS` 或 `VETDROS` - **Source**: `Electron` 或 `Browser` 或 `Android` ### Endpoint URL: /api/v1/auth/image/thumbnail/{filename} ### Path Variable - filename: 缩略图文件名 ### Response Status: 200 (OK) ### Response Data: Returns a File Example: ```json 文件 ``` ### Dynamic Behavior: None ### Delay: 500ms to simulate network latency ### Error Handling: None