syntax = "proto3"; option go_package = "dr_protocol_pb/"; package dr.protocol; import "google/protobuf/struct.proto"; // 导入用于处理 JSON 的 struct.proto message EmptyRequest {} service Basic { rpc SoftwareInfo (EmptyRequest) returns (SoftwareInfoReply) {} } message SoftwareInfoReply { string module = 1; string desc = 2; string build = 3; string version = 4; } service Protocol { rpc GetPatientType (PatientTypeRequest) returns (PatientTypeReply) {} rpc GetBodyPart (BodyPartRequest) returns (BodyPartReply) {} rpc GetProcedure (ProcedureRequest) returns (ProcedureReply) {} rpc GetView (ViewRequest) returns (ViewReply) {} } message PatientTypeRequest { optional bool is_enabled = 1; optional bool is_pre_install = 2; } message PatientType { uint64 id = 1; string patient_type_id = 2; string patient_type_name = 3; string patient_type_local = 4; string patient_type_description = 5; int32 sort = 6; bool is_enabled = 7; string product = 8; bool is_pre_install = 9; } message PatientTypeReply { repeated PatientType patient_type_list = 1; } message BodyPartRequest { optional string patient_type = 1; optional string modality = 2; optional bool is_enabled = 3; optional bool is_pre_install = 4; } message BodyPart { uint64 id = 1; string body_part_id = 2; string body_part_name = 3; string body_part_local = 4; string body_part_description = 5; string patient_type = 6; string modality = 7; int32 sort = 8; bool is_enabled = 9; string product = 10; bool is_pre_install = 11; } message BodyPartReply { repeated BodyPart body_part_list = 1; } message ProcedureRequest { optional string patient_type = 1; optional string body_part_id = 2; optional string modality = 3; optional bool is_enabled = 4; optional bool is_pre_install = 5; } message Procedure { uint64 id = 1; string procedure_id = 2; string procedure_code = 3; string procedure_name = 4; string procedure_name_local = 5; string procedure_other_name = 6; string procedure_description = 7; string procedure_description_local = 8; string patient_type = 9; string body_part_id = 10; string procedure_type = 11; bool fast_search = 12; string protocol_laterality = 13; string procedure_category = 14; string modality = 15; int32 sort = 16; bool is_enabled = 17; string product = 18; bool is_pre_install = 19; } message ProcedureReply { repeated Procedure procedure_list = 1; } message ViewRequest { optional string patient_type = 1; optional string body_part_id = 2; optional string procedure_id = 3; optional string modality = 4; optional bool is_enabled = 5; optional bool is_pre_install = 6; } message View { string internal_id = 1; string view_id = 2; string view_name = 3; string view_name_local = 4; string view_other_name = 5; string view_description = 6; string view_position = 7; string application = 8; string anatomic_region = 9; string patient_type = 10; string body_part_id = 11; string view_icon_name = 12; string view_big_icon_name = 13; string view_coach_name = 14; string modality = 15; google.protobuf.Struct config_object = 16; string tech_template = 17; string img_proc_template = 18; int32 sort = 19; bool is_enabled = 20; string product = 21; bool is_pre_install = 22; } message ViewReply { repeated View view_list = 1; }