shao 1 day ago
parent
commit
0fc0d7bbb6
3 changed files with 275 additions and 126 deletions
  1. 11 4
      dr_protocol_idl.proto
  2. 148 82
      dr_protocol_pb/dr_protocol_idl.pb.go
  3. 116 40
      dr_protocol_pb/dr_protocol_idl_grpc.pb.go

+ 11 - 4
dr_protocol_idl.proto

@@ -8,6 +8,11 @@ import "google/protobuf/struct.proto"; // 导入用于处理 JSON 的 struct.pro
 
 message EmptyRequest {}
 
+message IDRequest {
+  optional uint32 id = 1;
+  optional string instance_id = 2;
+}
+
 service Basic {
   rpc SoftwareInfo (EmptyRequest) returns (SoftwareInfoReply) {}
 }
@@ -20,10 +25,12 @@ message SoftwareInfoReply {
 }
 
 service Protocol {
-  rpc GetPatientType (PatientTypeRequest) returns (PatientTypeReply) {}
-  rpc GetBodyPart (BodyPartRequest) returns (BodyPartReply) {}
-  rpc GetProcedure (ProcedureRequest) returns (ProcedureReply) {}
-  rpc GetView (ViewRequest) returns (ViewReply) {}
+  rpc GetPatientTypeList (PatientTypeRequest) returns (PatientTypeReply) {}
+  rpc GetBodyPartList (BodyPartRequest) returns (BodyPartReply) {}
+  rpc GetProcedureList (ProcedureRequest) returns (ProcedureReply) {}
+  rpc GetProcedure (IDRequest) returns (Procedure) {}
+  rpc GetViewList (ViewRequest) returns (ViewReply) {}
+  rpc GetView (IDRequest) returns (View) {}
 }
 
 message PatientTypeRequest {

+ 148 - 82
dr_protocol_pb/dr_protocol_idl.pb.go

@@ -58,6 +58,58 @@ func (*EmptyRequest) Descriptor() ([]byte, []int) {
 	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{0}
 }
 
+type IDRequest struct {
+	state         protoimpl.MessageState `protogen:"open.v1"`
+	Id            *uint32                `protobuf:"varint,1,opt,name=id,proto3,oneof" json:"id,omitempty"`
+	InstanceId    *string                `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3,oneof" json:"instance_id,omitempty"`
+	unknownFields protoimpl.UnknownFields
+	sizeCache     protoimpl.SizeCache
+}
+
+func (x *IDRequest) Reset() {
+	*x = IDRequest{}
+	mi := &file_dr_protocol_idl_proto_msgTypes[1]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *IDRequest) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IDRequest) ProtoMessage() {}
+
+func (x *IDRequest) ProtoReflect() protoreflect.Message {
+	mi := &file_dr_protocol_idl_proto_msgTypes[1]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use IDRequest.ProtoReflect.Descriptor instead.
+func (*IDRequest) Descriptor() ([]byte, []int) {
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *IDRequest) GetId() uint32 {
+	if x != nil && x.Id != nil {
+		return *x.Id
+	}
+	return 0
+}
+
+func (x *IDRequest) GetInstanceId() string {
+	if x != nil && x.InstanceId != nil {
+		return *x.InstanceId
+	}
+	return ""
+}
+
 type SoftwareInfoReply struct {
 	state         protoimpl.MessageState `protogen:"open.v1"`
 	Module        string                 `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
@@ -70,7 +122,7 @@ type SoftwareInfoReply struct {
 
 func (x *SoftwareInfoReply) Reset() {
 	*x = SoftwareInfoReply{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[1]
+	mi := &file_dr_protocol_idl_proto_msgTypes[2]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -82,7 +134,7 @@ func (x *SoftwareInfoReply) String() string {
 func (*SoftwareInfoReply) ProtoMessage() {}
 
 func (x *SoftwareInfoReply) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[1]
+	mi := &file_dr_protocol_idl_proto_msgTypes[2]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -95,7 +147,7 @@ func (x *SoftwareInfoReply) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use SoftwareInfoReply.ProtoReflect.Descriptor instead.
 func (*SoftwareInfoReply) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{1}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{2}
 }
 
 func (x *SoftwareInfoReply) GetModule() string {
@@ -136,7 +188,7 @@ type PatientTypeRequest struct {
 
 func (x *PatientTypeRequest) Reset() {
 	*x = PatientTypeRequest{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[2]
+	mi := &file_dr_protocol_idl_proto_msgTypes[3]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -148,7 +200,7 @@ func (x *PatientTypeRequest) String() string {
 func (*PatientTypeRequest) ProtoMessage() {}
 
 func (x *PatientTypeRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[2]
+	mi := &file_dr_protocol_idl_proto_msgTypes[3]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -161,7 +213,7 @@ func (x *PatientTypeRequest) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use PatientTypeRequest.ProtoReflect.Descriptor instead.
 func (*PatientTypeRequest) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{2}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{3}
 }
 
 func (x *PatientTypeRequest) GetIsEnabled() bool {
@@ -195,7 +247,7 @@ type PatientType struct {
 
 func (x *PatientType) Reset() {
 	*x = PatientType{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[3]
+	mi := &file_dr_protocol_idl_proto_msgTypes[4]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -207,7 +259,7 @@ func (x *PatientType) String() string {
 func (*PatientType) ProtoMessage() {}
 
 func (x *PatientType) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[3]
+	mi := &file_dr_protocol_idl_proto_msgTypes[4]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -220,7 +272,7 @@ func (x *PatientType) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use PatientType.ProtoReflect.Descriptor instead.
 func (*PatientType) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{3}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{4}
 }
 
 func (x *PatientType) GetId() uint64 {
@@ -295,7 +347,7 @@ type PatientTypeReply struct {
 
 func (x *PatientTypeReply) Reset() {
 	*x = PatientTypeReply{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[4]
+	mi := &file_dr_protocol_idl_proto_msgTypes[5]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -307,7 +359,7 @@ func (x *PatientTypeReply) String() string {
 func (*PatientTypeReply) ProtoMessage() {}
 
 func (x *PatientTypeReply) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[4]
+	mi := &file_dr_protocol_idl_proto_msgTypes[5]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -320,7 +372,7 @@ func (x *PatientTypeReply) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use PatientTypeReply.ProtoReflect.Descriptor instead.
 func (*PatientTypeReply) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{4}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{5}
 }
 
 func (x *PatientTypeReply) GetPatientTypeList() []*PatientType {
@@ -342,7 +394,7 @@ type BodyPartRequest struct {
 
 func (x *BodyPartRequest) Reset() {
 	*x = BodyPartRequest{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[5]
+	mi := &file_dr_protocol_idl_proto_msgTypes[6]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -354,7 +406,7 @@ func (x *BodyPartRequest) String() string {
 func (*BodyPartRequest) ProtoMessage() {}
 
 func (x *BodyPartRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[5]
+	mi := &file_dr_protocol_idl_proto_msgTypes[6]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -367,7 +419,7 @@ func (x *BodyPartRequest) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use BodyPartRequest.ProtoReflect.Descriptor instead.
 func (*BodyPartRequest) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{5}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{6}
 }
 
 func (x *BodyPartRequest) GetPatientType() string {
@@ -417,7 +469,7 @@ type BodyPart struct {
 
 func (x *BodyPart) Reset() {
 	*x = BodyPart{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[6]
+	mi := &file_dr_protocol_idl_proto_msgTypes[7]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -429,7 +481,7 @@ func (x *BodyPart) String() string {
 func (*BodyPart) ProtoMessage() {}
 
 func (x *BodyPart) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[6]
+	mi := &file_dr_protocol_idl_proto_msgTypes[7]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -442,7 +494,7 @@ func (x *BodyPart) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use BodyPart.ProtoReflect.Descriptor instead.
 func (*BodyPart) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{6}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{7}
 }
 
 func (x *BodyPart) GetId() uint64 {
@@ -531,7 +583,7 @@ type BodyPartReply struct {
 
 func (x *BodyPartReply) Reset() {
 	*x = BodyPartReply{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[7]
+	mi := &file_dr_protocol_idl_proto_msgTypes[8]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -543,7 +595,7 @@ func (x *BodyPartReply) String() string {
 func (*BodyPartReply) ProtoMessage() {}
 
 func (x *BodyPartReply) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[7]
+	mi := &file_dr_protocol_idl_proto_msgTypes[8]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -556,7 +608,7 @@ func (x *BodyPartReply) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use BodyPartReply.ProtoReflect.Descriptor instead.
 func (*BodyPartReply) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{7}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{8}
 }
 
 func (x *BodyPartReply) GetBodyPartList() []*BodyPart {
@@ -579,7 +631,7 @@ type ProcedureRequest struct {
 
 func (x *ProcedureRequest) Reset() {
 	*x = ProcedureRequest{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[8]
+	mi := &file_dr_protocol_idl_proto_msgTypes[9]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -591,7 +643,7 @@ func (x *ProcedureRequest) String() string {
 func (*ProcedureRequest) ProtoMessage() {}
 
 func (x *ProcedureRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[8]
+	mi := &file_dr_protocol_idl_proto_msgTypes[9]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -604,7 +656,7 @@ func (x *ProcedureRequest) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use ProcedureRequest.ProtoReflect.Descriptor instead.
 func (*ProcedureRequest) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{8}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{9}
 }
 
 func (x *ProcedureRequest) GetPatientType() string {
@@ -669,7 +721,7 @@ type Procedure struct {
 
 func (x *Procedure) Reset() {
 	*x = Procedure{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[9]
+	mi := &file_dr_protocol_idl_proto_msgTypes[10]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -681,7 +733,7 @@ func (x *Procedure) String() string {
 func (*Procedure) ProtoMessage() {}
 
 func (x *Procedure) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[9]
+	mi := &file_dr_protocol_idl_proto_msgTypes[10]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -694,7 +746,7 @@ func (x *Procedure) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use Procedure.ProtoReflect.Descriptor instead.
 func (*Procedure) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{9}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{10}
 }
 
 func (x *Procedure) GetId() uint64 {
@@ -839,7 +891,7 @@ type ProcedureReply struct {
 
 func (x *ProcedureReply) Reset() {
 	*x = ProcedureReply{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[10]
+	mi := &file_dr_protocol_idl_proto_msgTypes[11]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -851,7 +903,7 @@ func (x *ProcedureReply) String() string {
 func (*ProcedureReply) ProtoMessage() {}
 
 func (x *ProcedureReply) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[10]
+	mi := &file_dr_protocol_idl_proto_msgTypes[11]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -864,7 +916,7 @@ func (x *ProcedureReply) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use ProcedureReply.ProtoReflect.Descriptor instead.
 func (*ProcedureReply) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{10}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{11}
 }
 
 func (x *ProcedureReply) GetProcedureList() []*Procedure {
@@ -888,7 +940,7 @@ type ViewRequest struct {
 
 func (x *ViewRequest) Reset() {
 	*x = ViewRequest{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[11]
+	mi := &file_dr_protocol_idl_proto_msgTypes[12]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -900,7 +952,7 @@ func (x *ViewRequest) String() string {
 func (*ViewRequest) ProtoMessage() {}
 
 func (x *ViewRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[11]
+	mi := &file_dr_protocol_idl_proto_msgTypes[12]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -913,7 +965,7 @@ func (x *ViewRequest) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use ViewRequest.ProtoReflect.Descriptor instead.
 func (*ViewRequest) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{11}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{12}
 }
 
 func (x *ViewRequest) GetPatientType() string {
@@ -988,7 +1040,7 @@ type View struct {
 
 func (x *View) Reset() {
 	*x = View{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[12]
+	mi := &file_dr_protocol_idl_proto_msgTypes[13]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -1000,7 +1052,7 @@ func (x *View) String() string {
 func (*View) ProtoMessage() {}
 
 func (x *View) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[12]
+	mi := &file_dr_protocol_idl_proto_msgTypes[13]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1013,7 +1065,7 @@ func (x *View) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use View.ProtoReflect.Descriptor instead.
 func (*View) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{12}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{13}
 }
 
 func (x *View) GetInternalId() string {
@@ -1179,7 +1231,7 @@ type ViewReply struct {
 
 func (x *ViewReply) Reset() {
 	*x = ViewReply{}
-	mi := &file_dr_protocol_idl_proto_msgTypes[13]
+	mi := &file_dr_protocol_idl_proto_msgTypes[14]
 	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 	ms.StoreMessageInfo(mi)
 }
@@ -1191,7 +1243,7 @@ func (x *ViewReply) String() string {
 func (*ViewReply) ProtoMessage() {}
 
 func (x *ViewReply) ProtoReflect() protoreflect.Message {
-	mi := &file_dr_protocol_idl_proto_msgTypes[13]
+	mi := &file_dr_protocol_idl_proto_msgTypes[14]
 	if x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -1204,7 +1256,7 @@ func (x *ViewReply) ProtoReflect() protoreflect.Message {
 
 // Deprecated: Use ViewReply.ProtoReflect.Descriptor instead.
 func (*ViewReply) Descriptor() ([]byte, []int) {
-	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{13}
+	return file_dr_protocol_idl_proto_rawDescGZIP(), []int{14}
 }
 
 func (x *ViewReply) GetViewList() []*View {
@@ -1219,7 +1271,13 @@ var File_dr_protocol_idl_proto protoreflect.FileDescriptor
 const file_dr_protocol_idl_proto_rawDesc = "" +
 	"\n" +
 	"\x15dr_protocol_idl.proto\x12\vdr.protocol\x1a\x1cgoogle/protobuf/struct.proto\"\x0e\n" +
-	"\fEmptyRequest\"o\n" +
+	"\fEmptyRequest\"]\n" +
+	"\tIDRequest\x12\x13\n" +
+	"\x02id\x18\x01 \x01(\rH\x00R\x02id\x88\x01\x01\x12$\n" +
+	"\vinstance_id\x18\x02 \x01(\tH\x01R\n" +
+	"instanceId\x88\x01\x01B\x05\n" +
+	"\x03_idB\x0e\n" +
+	"\f_instance_id\"o\n" +
 	"\x11SoftwareInfoReply\x12\x16\n" +
 	"\x06module\x18\x01 \x01(\tR\x06module\x12\x12\n" +
 	"\x04desc\x18\x02 \x01(\tR\x04desc\x12\x14\n" +
@@ -1355,12 +1413,14 @@ const file_dr_protocol_idl_proto_rawDesc = "" +
 	"\tViewReply\x12.\n" +
 	"\tview_list\x18\x01 \x03(\v2\x11.dr.protocol.ViewR\bviewList2T\n" +
 	"\x05Basic\x12K\n" +
-	"\fSoftwareInfo\x12\x19.dr.protocol.EmptyRequest\x1a\x1e.dr.protocol.SoftwareInfoReply\"\x002\xb6\x02\n" +
-	"\bProtocol\x12R\n" +
-	"\x0eGetPatientType\x12\x1f.dr.protocol.PatientTypeRequest\x1a\x1d.dr.protocol.PatientTypeReply\"\x00\x12I\n" +
-	"\vGetBodyPart\x12\x1c.dr.protocol.BodyPartRequest\x1a\x1a.dr.protocol.BodyPartReply\"\x00\x12L\n" +
-	"\fGetProcedure\x12\x1d.dr.protocol.ProcedureRequest\x1a\x1b.dr.protocol.ProcedureReply\"\x00\x12=\n" +
-	"\aGetView\x12\x18.dr.protocol.ViewRequest\x1a\x16.dr.protocol.ViewReply\"\x00B\x11Z\x0fdr_protocol_pb/b\x06proto3"
+	"\fSoftwareInfo\x12\x19.dr.protocol.EmptyRequest\x1a\x1e.dr.protocol.SoftwareInfoReply\"\x002\xc0\x03\n" +
+	"\bProtocol\x12V\n" +
+	"\x12GetPatientTypeList\x12\x1f.dr.protocol.PatientTypeRequest\x1a\x1d.dr.protocol.PatientTypeReply\"\x00\x12M\n" +
+	"\x0fGetBodyPartList\x12\x1c.dr.protocol.BodyPartRequest\x1a\x1a.dr.protocol.BodyPartReply\"\x00\x12P\n" +
+	"\x10GetProcedureList\x12\x1d.dr.protocol.ProcedureRequest\x1a\x1b.dr.protocol.ProcedureReply\"\x00\x12@\n" +
+	"\fGetProcedure\x12\x16.dr.protocol.IDRequest\x1a\x16.dr.protocol.Procedure\"\x00\x12A\n" +
+	"\vGetViewList\x12\x18.dr.protocol.ViewRequest\x1a\x16.dr.protocol.ViewReply\"\x00\x126\n" +
+	"\aGetView\x12\x16.dr.protocol.IDRequest\x1a\x11.dr.protocol.View\"\x00B\x11Z\x0fdr_protocol_pb/b\x06proto3"
 
 var (
 	file_dr_protocol_idl_proto_rawDescOnce sync.Once
@@ -1374,42 +1434,47 @@ func file_dr_protocol_idl_proto_rawDescGZIP() []byte {
 	return file_dr_protocol_idl_proto_rawDescData
 }
 
-var file_dr_protocol_idl_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
+var file_dr_protocol_idl_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
 var file_dr_protocol_idl_proto_goTypes = []any{
 	(*EmptyRequest)(nil),       // 0: dr.protocol.EmptyRequest
-	(*SoftwareInfoReply)(nil),  // 1: dr.protocol.SoftwareInfoReply
-	(*PatientTypeRequest)(nil), // 2: dr.protocol.PatientTypeRequest
-	(*PatientType)(nil),        // 3: dr.protocol.PatientType
-	(*PatientTypeReply)(nil),   // 4: dr.protocol.PatientTypeReply
-	(*BodyPartRequest)(nil),    // 5: dr.protocol.BodyPartRequest
-	(*BodyPart)(nil),           // 6: dr.protocol.BodyPart
-	(*BodyPartReply)(nil),      // 7: dr.protocol.BodyPartReply
-	(*ProcedureRequest)(nil),   // 8: dr.protocol.ProcedureRequest
-	(*Procedure)(nil),          // 9: dr.protocol.Procedure
-	(*ProcedureReply)(nil),     // 10: dr.protocol.ProcedureReply
-	(*ViewRequest)(nil),        // 11: dr.protocol.ViewRequest
-	(*View)(nil),               // 12: dr.protocol.View
-	(*ViewReply)(nil),          // 13: dr.protocol.ViewReply
-	(*structpb.Struct)(nil),    // 14: google.protobuf.Struct
+	(*IDRequest)(nil),          // 1: dr.protocol.IDRequest
+	(*SoftwareInfoReply)(nil),  // 2: dr.protocol.SoftwareInfoReply
+	(*PatientTypeRequest)(nil), // 3: dr.protocol.PatientTypeRequest
+	(*PatientType)(nil),        // 4: dr.protocol.PatientType
+	(*PatientTypeReply)(nil),   // 5: dr.protocol.PatientTypeReply
+	(*BodyPartRequest)(nil),    // 6: dr.protocol.BodyPartRequest
+	(*BodyPart)(nil),           // 7: dr.protocol.BodyPart
+	(*BodyPartReply)(nil),      // 8: dr.protocol.BodyPartReply
+	(*ProcedureRequest)(nil),   // 9: dr.protocol.ProcedureRequest
+	(*Procedure)(nil),          // 10: dr.protocol.Procedure
+	(*ProcedureReply)(nil),     // 11: dr.protocol.ProcedureReply
+	(*ViewRequest)(nil),        // 12: dr.protocol.ViewRequest
+	(*View)(nil),               // 13: dr.protocol.View
+	(*ViewReply)(nil),          // 14: dr.protocol.ViewReply
+	(*structpb.Struct)(nil),    // 15: google.protobuf.Struct
 }
 var file_dr_protocol_idl_proto_depIdxs = []int32{
-	3,  // 0: dr.protocol.PatientTypeReply.patient_type_list:type_name -> dr.protocol.PatientType
-	6,  // 1: dr.protocol.BodyPartReply.body_part_list:type_name -> dr.protocol.BodyPart
-	9,  // 2: dr.protocol.ProcedureReply.procedure_list:type_name -> dr.protocol.Procedure
-	14, // 3: dr.protocol.View.config_object:type_name -> google.protobuf.Struct
-	12, // 4: dr.protocol.ViewReply.view_list:type_name -> dr.protocol.View
+	4,  // 0: dr.protocol.PatientTypeReply.patient_type_list:type_name -> dr.protocol.PatientType
+	7,  // 1: dr.protocol.BodyPartReply.body_part_list:type_name -> dr.protocol.BodyPart
+	10, // 2: dr.protocol.ProcedureReply.procedure_list:type_name -> dr.protocol.Procedure
+	15, // 3: dr.protocol.View.config_object:type_name -> google.protobuf.Struct
+	13, // 4: dr.protocol.ViewReply.view_list:type_name -> dr.protocol.View
 	0,  // 5: dr.protocol.Basic.SoftwareInfo:input_type -> dr.protocol.EmptyRequest
-	2,  // 6: dr.protocol.Protocol.GetPatientType:input_type -> dr.protocol.PatientTypeRequest
-	5,  // 7: dr.protocol.Protocol.GetBodyPart:input_type -> dr.protocol.BodyPartRequest
-	8,  // 8: dr.protocol.Protocol.GetProcedure:input_type -> dr.protocol.ProcedureRequest
-	11, // 9: dr.protocol.Protocol.GetView:input_type -> dr.protocol.ViewRequest
-	1,  // 10: dr.protocol.Basic.SoftwareInfo:output_type -> dr.protocol.SoftwareInfoReply
-	4,  // 11: dr.protocol.Protocol.GetPatientType:output_type -> dr.protocol.PatientTypeReply
-	7,  // 12: dr.protocol.Protocol.GetBodyPart:output_type -> dr.protocol.BodyPartReply
-	10, // 13: dr.protocol.Protocol.GetProcedure:output_type -> dr.protocol.ProcedureReply
-	13, // 14: dr.protocol.Protocol.GetView:output_type -> dr.protocol.ViewReply
-	10, // [10:15] is the sub-list for method output_type
-	5,  // [5:10] is the sub-list for method input_type
+	3,  // 6: dr.protocol.Protocol.GetPatientTypeList:input_type -> dr.protocol.PatientTypeRequest
+	6,  // 7: dr.protocol.Protocol.GetBodyPartList:input_type -> dr.protocol.BodyPartRequest
+	9,  // 8: dr.protocol.Protocol.GetProcedureList:input_type -> dr.protocol.ProcedureRequest
+	1,  // 9: dr.protocol.Protocol.GetProcedure:input_type -> dr.protocol.IDRequest
+	12, // 10: dr.protocol.Protocol.GetViewList:input_type -> dr.protocol.ViewRequest
+	1,  // 11: dr.protocol.Protocol.GetView:input_type -> dr.protocol.IDRequest
+	2,  // 12: dr.protocol.Basic.SoftwareInfo:output_type -> dr.protocol.SoftwareInfoReply
+	5,  // 13: dr.protocol.Protocol.GetPatientTypeList:output_type -> dr.protocol.PatientTypeReply
+	8,  // 14: dr.protocol.Protocol.GetBodyPartList:output_type -> dr.protocol.BodyPartReply
+	11, // 15: dr.protocol.Protocol.GetProcedureList:output_type -> dr.protocol.ProcedureReply
+	10, // 16: dr.protocol.Protocol.GetProcedure:output_type -> dr.protocol.Procedure
+	14, // 17: dr.protocol.Protocol.GetViewList:output_type -> dr.protocol.ViewReply
+	13, // 18: dr.protocol.Protocol.GetView:output_type -> dr.protocol.View
+	12, // [12:19] is the sub-list for method output_type
+	5,  // [5:12] is the sub-list for method input_type
 	5,  // [5:5] is the sub-list for extension type_name
 	5,  // [5:5] is the sub-list for extension extendee
 	0,  // [0:5] is the sub-list for field type_name
@@ -1420,17 +1485,18 @@ func file_dr_protocol_idl_proto_init() {
 	if File_dr_protocol_idl_proto != nil {
 		return
 	}
-	file_dr_protocol_idl_proto_msgTypes[2].OneofWrappers = []any{}
-	file_dr_protocol_idl_proto_msgTypes[5].OneofWrappers = []any{}
-	file_dr_protocol_idl_proto_msgTypes[8].OneofWrappers = []any{}
-	file_dr_protocol_idl_proto_msgTypes[11].OneofWrappers = []any{}
+	file_dr_protocol_idl_proto_msgTypes[1].OneofWrappers = []any{}
+	file_dr_protocol_idl_proto_msgTypes[3].OneofWrappers = []any{}
+	file_dr_protocol_idl_proto_msgTypes[6].OneofWrappers = []any{}
+	file_dr_protocol_idl_proto_msgTypes[9].OneofWrappers = []any{}
+	file_dr_protocol_idl_proto_msgTypes[12].OneofWrappers = []any{}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: unsafe.Slice(unsafe.StringData(file_dr_protocol_idl_proto_rawDesc), len(file_dr_protocol_idl_proto_rawDesc)),
 			NumEnums:      0,
-			NumMessages:   14,
+			NumMessages:   15,
 			NumExtensions: 0,
 			NumServices:   2,
 		},

+ 116 - 40
dr_protocol_pb/dr_protocol_idl_grpc.pb.go

@@ -121,20 +121,24 @@ var Basic_ServiceDesc = grpc.ServiceDesc{
 }
 
 const (
-	Protocol_GetPatientType_FullMethodName = "/dr.protocol.Protocol/GetPatientType"
-	Protocol_GetBodyPart_FullMethodName    = "/dr.protocol.Protocol/GetBodyPart"
-	Protocol_GetProcedure_FullMethodName   = "/dr.protocol.Protocol/GetProcedure"
-	Protocol_GetView_FullMethodName        = "/dr.protocol.Protocol/GetView"
+	Protocol_GetPatientTypeList_FullMethodName = "/dr.protocol.Protocol/GetPatientTypeList"
+	Protocol_GetBodyPartList_FullMethodName    = "/dr.protocol.Protocol/GetBodyPartList"
+	Protocol_GetProcedureList_FullMethodName   = "/dr.protocol.Protocol/GetProcedureList"
+	Protocol_GetProcedure_FullMethodName       = "/dr.protocol.Protocol/GetProcedure"
+	Protocol_GetViewList_FullMethodName        = "/dr.protocol.Protocol/GetViewList"
+	Protocol_GetView_FullMethodName            = "/dr.protocol.Protocol/GetView"
 )
 
 // ProtocolClient is the client API for Protocol service.
 //
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 type ProtocolClient interface {
-	GetPatientType(ctx context.Context, in *PatientTypeRequest, opts ...grpc.CallOption) (*PatientTypeReply, error)
-	GetBodyPart(ctx context.Context, in *BodyPartRequest, opts ...grpc.CallOption) (*BodyPartReply, error)
-	GetProcedure(ctx context.Context, in *ProcedureRequest, opts ...grpc.CallOption) (*ProcedureReply, error)
-	GetView(ctx context.Context, in *ViewRequest, opts ...grpc.CallOption) (*ViewReply, error)
+	GetPatientTypeList(ctx context.Context, in *PatientTypeRequest, opts ...grpc.CallOption) (*PatientTypeReply, error)
+	GetBodyPartList(ctx context.Context, in *BodyPartRequest, opts ...grpc.CallOption) (*BodyPartReply, error)
+	GetProcedureList(ctx context.Context, in *ProcedureRequest, opts ...grpc.CallOption) (*ProcedureReply, error)
+	GetProcedure(ctx context.Context, in *IDRequest, opts ...grpc.CallOption) (*Procedure, error)
+	GetViewList(ctx context.Context, in *ViewRequest, opts ...grpc.CallOption) (*ViewReply, error)
+	GetView(ctx context.Context, in *IDRequest, opts ...grpc.CallOption) (*View, error)
 }
 
 type protocolClient struct {
@@ -145,29 +149,39 @@ func NewProtocolClient(cc grpc.ClientConnInterface) ProtocolClient {
 	return &protocolClient{cc}
 }
 
-func (c *protocolClient) GetPatientType(ctx context.Context, in *PatientTypeRequest, opts ...grpc.CallOption) (*PatientTypeReply, error) {
+func (c *protocolClient) GetPatientTypeList(ctx context.Context, in *PatientTypeRequest, opts ...grpc.CallOption) (*PatientTypeReply, error) {
 	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(PatientTypeReply)
-	err := c.cc.Invoke(ctx, Protocol_GetPatientType_FullMethodName, in, out, cOpts...)
+	err := c.cc.Invoke(ctx, Protocol_GetPatientTypeList_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *protocolClient) GetBodyPart(ctx context.Context, in *BodyPartRequest, opts ...grpc.CallOption) (*BodyPartReply, error) {
+func (c *protocolClient) GetBodyPartList(ctx context.Context, in *BodyPartRequest, opts ...grpc.CallOption) (*BodyPartReply, error) {
 	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(BodyPartReply)
-	err := c.cc.Invoke(ctx, Protocol_GetBodyPart_FullMethodName, in, out, cOpts...)
+	err := c.cc.Invoke(ctx, Protocol_GetBodyPartList_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *protocolClient) GetProcedure(ctx context.Context, in *ProcedureRequest, opts ...grpc.CallOption) (*ProcedureReply, error) {
+func (c *protocolClient) GetProcedureList(ctx context.Context, in *ProcedureRequest, opts ...grpc.CallOption) (*ProcedureReply, error) {
 	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(ProcedureReply)
+	err := c.cc.Invoke(ctx, Protocol_GetProcedureList_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *protocolClient) GetProcedure(ctx context.Context, in *IDRequest, opts ...grpc.CallOption) (*Procedure, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(Procedure)
 	err := c.cc.Invoke(ctx, Protocol_GetProcedure_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
@@ -175,9 +189,19 @@ func (c *protocolClient) GetProcedure(ctx context.Context, in *ProcedureRequest,
 	return out, nil
 }
 
-func (c *protocolClient) GetView(ctx context.Context, in *ViewRequest, opts ...grpc.CallOption) (*ViewReply, error) {
+func (c *protocolClient) GetViewList(ctx context.Context, in *ViewRequest, opts ...grpc.CallOption) (*ViewReply, error) {
 	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
 	out := new(ViewReply)
+	err := c.cc.Invoke(ctx, Protocol_GetViewList_FullMethodName, in, out, cOpts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *protocolClient) GetView(ctx context.Context, in *IDRequest, opts ...grpc.CallOption) (*View, error) {
+	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+	out := new(View)
 	err := c.cc.Invoke(ctx, Protocol_GetView_FullMethodName, in, out, cOpts...)
 	if err != nil {
 		return nil, err
@@ -189,10 +213,12 @@ func (c *protocolClient) GetView(ctx context.Context, in *ViewRequest, opts ...g
 // All implementations must embed UnimplementedProtocolServer
 // for forward compatibility.
 type ProtocolServer interface {
-	GetPatientType(context.Context, *PatientTypeRequest) (*PatientTypeReply, error)
-	GetBodyPart(context.Context, *BodyPartRequest) (*BodyPartReply, error)
-	GetProcedure(context.Context, *ProcedureRequest) (*ProcedureReply, error)
-	GetView(context.Context, *ViewRequest) (*ViewReply, error)
+	GetPatientTypeList(context.Context, *PatientTypeRequest) (*PatientTypeReply, error)
+	GetBodyPartList(context.Context, *BodyPartRequest) (*BodyPartReply, error)
+	GetProcedureList(context.Context, *ProcedureRequest) (*ProcedureReply, error)
+	GetProcedure(context.Context, *IDRequest) (*Procedure, error)
+	GetViewList(context.Context, *ViewRequest) (*ViewReply, error)
+	GetView(context.Context, *IDRequest) (*View, error)
 	mustEmbedUnimplementedProtocolServer()
 }
 
@@ -203,16 +229,22 @@ type ProtocolServer interface {
 // pointer dereference when methods are called.
 type UnimplementedProtocolServer struct{}
 
-func (UnimplementedProtocolServer) GetPatientType(context.Context, *PatientTypeRequest) (*PatientTypeReply, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method GetPatientType not implemented")
+func (UnimplementedProtocolServer) GetPatientTypeList(context.Context, *PatientTypeRequest) (*PatientTypeReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetPatientTypeList not implemented")
+}
+func (UnimplementedProtocolServer) GetBodyPartList(context.Context, *BodyPartRequest) (*BodyPartReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetBodyPartList not implemented")
 }
-func (UnimplementedProtocolServer) GetBodyPart(context.Context, *BodyPartRequest) (*BodyPartReply, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method GetBodyPart not implemented")
+func (UnimplementedProtocolServer) GetProcedureList(context.Context, *ProcedureRequest) (*ProcedureReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetProcedureList not implemented")
 }
-func (UnimplementedProtocolServer) GetProcedure(context.Context, *ProcedureRequest) (*ProcedureReply, error) {
+func (UnimplementedProtocolServer) GetProcedure(context.Context, *IDRequest) (*Procedure, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method GetProcedure not implemented")
 }
-func (UnimplementedProtocolServer) GetView(context.Context, *ViewRequest) (*ViewReply, error) {
+func (UnimplementedProtocolServer) GetViewList(context.Context, *ViewRequest) (*ViewReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetViewList not implemented")
+}
+func (UnimplementedProtocolServer) GetView(context.Context, *IDRequest) (*View, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method GetView not implemented")
 }
 func (UnimplementedProtocolServer) mustEmbedUnimplementedProtocolServer() {}
@@ -236,47 +268,65 @@ func RegisterProtocolServer(s grpc.ServiceRegistrar, srv ProtocolServer) {
 	s.RegisterService(&Protocol_ServiceDesc, srv)
 }
 
-func _Protocol_GetPatientType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Protocol_GetPatientTypeList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(PatientTypeRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(ProtocolServer).GetPatientType(ctx, in)
+		return srv.(ProtocolServer).GetPatientTypeList(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: Protocol_GetPatientType_FullMethodName,
+		FullMethod: Protocol_GetPatientTypeList_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ProtocolServer).GetPatientType(ctx, req.(*PatientTypeRequest))
+		return srv.(ProtocolServer).GetPatientTypeList(ctx, req.(*PatientTypeRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Protocol_GetBodyPart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Protocol_GetBodyPartList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(BodyPartRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(ProtocolServer).GetBodyPart(ctx, in)
+		return srv.(ProtocolServer).GetBodyPartList(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: Protocol_GetBodyPart_FullMethodName,
+		FullMethod: Protocol_GetBodyPartList_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ProtocolServer).GetBodyPart(ctx, req.(*BodyPartRequest))
+		return srv.(ProtocolServer).GetBodyPartList(ctx, req.(*BodyPartRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Protocol_GetProcedure_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Protocol_GetProcedureList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(ProcedureRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
+	if interceptor == nil {
+		return srv.(ProtocolServer).GetProcedureList(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: Protocol_GetProcedureList_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ProtocolServer).GetProcedureList(ctx, req.(*ProcedureRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Protocol_GetProcedure_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(IDRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
 	if interceptor == nil {
 		return srv.(ProtocolServer).GetProcedure(ctx, in)
 	}
@@ -285,16 +335,34 @@ func _Protocol_GetProcedure_Handler(srv interface{}, ctx context.Context, dec fu
 		FullMethod: Protocol_GetProcedure_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ProtocolServer).GetProcedure(ctx, req.(*ProcedureRequest))
+		return srv.(ProtocolServer).GetProcedure(ctx, req.(*IDRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Protocol_GetView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Protocol_GetViewList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(ViewRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
+	if interceptor == nil {
+		return srv.(ProtocolServer).GetViewList(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: Protocol_GetViewList_FullMethodName,
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ProtocolServer).GetViewList(ctx, req.(*ViewRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Protocol_GetView_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(IDRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
 	if interceptor == nil {
 		return srv.(ProtocolServer).GetView(ctx, in)
 	}
@@ -303,7 +371,7 @@ func _Protocol_GetView_Handler(srv interface{}, ctx context.Context, dec func(in
 		FullMethod: Protocol_GetView_FullMethodName,
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ProtocolServer).GetView(ctx, req.(*ViewRequest))
+		return srv.(ProtocolServer).GetView(ctx, req.(*IDRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
@@ -316,17 +384,25 @@ var Protocol_ServiceDesc = grpc.ServiceDesc{
 	HandlerType: (*ProtocolServer)(nil),
 	Methods: []grpc.MethodDesc{
 		{
-			MethodName: "GetPatientType",
-			Handler:    _Protocol_GetPatientType_Handler,
+			MethodName: "GetPatientTypeList",
+			Handler:    _Protocol_GetPatientTypeList_Handler,
+		},
+		{
+			MethodName: "GetBodyPartList",
+			Handler:    _Protocol_GetBodyPartList_Handler,
 		},
 		{
-			MethodName: "GetBodyPart",
-			Handler:    _Protocol_GetBodyPart_Handler,
+			MethodName: "GetProcedureList",
+			Handler:    _Protocol_GetProcedureList_Handler,
 		},
 		{
 			MethodName: "GetProcedure",
 			Handler:    _Protocol_GetProcedure_Handler,
 		},
+		{
+			MethodName: "GetViewList",
+			Handler:    _Protocol_GetViewList_Handler,
+		},
 		{
 			MethodName: "GetView",
 			Handler:    _Protocol_GetView_Handler,