syntax = "proto3"; option go_package = "dr_study_pb/"; package dr.study; import "google/protobuf/timestamp.proto"; import "google/protobuf/struct.proto"; message EmptyRequest {} message IDRequest { optional uint32 id = 1; optional string instance_id = 2; } service Basic { rpc SoftwareInfo (EmptyRequest) returns (SoftwareInfoReply) {} } message SoftwareInfoReply { string module = 1; string desc = 2; string build = 3; string version = 4; } service Study { rpc CreateStudy (StudyRequest) returns (StudyReply) {} rpc GetStudy (IDRequest) returns (StudyReply) {} } message ViewRequest { string view_id = 1; string procedure_id = 2; } message StudyRequest { string accession_number = 1; string patient_id = 2; string patient_name = 3; string patient_size = 4; string patient_age = 5; google.protobuf.Timestamp patient_dob = 6; string patient_sex = 7; string sex_neutered = 8; string pregnancy_status = 9; //妊娠状态 string patient_type = 10; string ref_physician = 11; //兽医师 string operator_id = 12; string modality = 13; int32 weight = 14; int32 thickness = 15; int32 length = 16; string study_type = 17; string chip_number = 18; string variety = 19; //品种描述 string comment = 20; //备注 repeated ViewRequest views = 21; } message Image { string sop_instance_id = 1; string series_instance_uid = 2; string study_instance_uid = 3; string secondary_sop_uid = 4; string study_id = 5; string view_id = 6; string view_description = 7; string image_status = 8; string image_file_path = 9; string acquisition_mode = 10; google.protobuf.Struct acquisition_context = 11; google.protobuf.Struct img_proc_context = 12; int32 sort = 13; string product = 14; bool is_pre_install = 15; } message Series { string series_instance_uid = 1; string study_instance_uid = 2; string study_id = 3; string procedure_id = 4; string body_part = 5; google.protobuf.Timestamp performed_datetime = 6; string performed_protocol_code_meaning = 7; string performed_protocol_code_value = 8; int32 sort = 9; string product = 10; bool is_pre_install = 11; repeated Image images = 12; } message StudyReply { string study_instance_uid = 1; string study_id = 2; string public_study_id = 3; string specific_character_set = 4; string accession_number = 5; string ref_physician = 6; string patient_id = 7; string patient_name = 8; string patient_size = 9; string other_patient_ids = 10; string other_patient_names = 11; string owner_name = 12; string patient_age = 13; google.protobuf.Timestamp patient_dob = 14; string patient_sex = 15; string patient_state = 16; google.protobuf.Timestamp admitting_time = 17; string priority = 18; string reg_source = 19; string study_status = 20; string study_description = 21; google.protobuf.Timestamp study_start_datetime = 22; google.protobuf.Timestamp study_end_datetime = 23; google.protobuf.Timestamp scheduled_procedure_step_start_date = 24; string performed_physician = 25; string study_lock = 26; string folder_path = 27; string operator_name = 28; string modality = 29; int32 weight = 30; int32 thickness = 31; int32 length = 32; string patient_type = 33; string study_type = 34; string mwl = 35; bool is_exported = 36; bool is_edited = 37; bool is_appended = 38; string department = 39; bool mapped_status = 40; bool qc_result = 41; string comment = 42; int32 sort = 43; string product = 44; repeated Series series = 45; }