using System;
using System.Collections.Generic;
using System.Text;
using Vinno.vCloud.Common.Client.Managers.Interfaces.Data;
using Vinno.vCloud.Protocol.Infrastructures;
using Vinno.vCloud.Protocol.Messages.Client.Account;
using Vinno.vCloud.Protocol.Messages.Client.Remedical.Reports;
using Vinno.vCloud.Protocol.Messages.Client.Remedical.TerminalDatas;
using Vinno.vCloud.Protocol.Messages.Client.Remedical.TerminialReords;
using Vinno.vCloud.Protocol.Messages.Client.RemoteDiagnosis;
using Vinno.vCloud.Protocol.Messages.Common;
using Vinno.vCloud.Protocol.Messages.Live;
using Vinno.vCloud.Protocol.Messages.Report;
namespace Vinno.vCloud.Client.Proxy.Interfaces
{
interface IFlyinsonoClient : IDisposable
{
string OpenId { get; }
int LeftTime { get; }
///
/// 通过OpenId登录
///
///
///
///
///
LoginStatus LoginByOpenId(string openId, string username = "", string password = "");
///
/// Log out the logined user
///
///
bool Logout();
///
/// 查询系统默认报告模板
///
///
///
List GetReportTemplates(string languageCode);
///
/// 查询系统默认词条
///
///
///
List GetThesaurusTemplates(string languageCode);
///
/// 开始会诊
///
///
///
///
///
///
///
ConsultationResult StartConversation(string roomId, string consultationId);
///
/// 取消开始会诊
///
///
///
LiveStates CancelStartConversation(string roomId);
///
/// 退出会诊
///
///
///
///
///
LiveStates ExitConsultation(string roomId, bool forceClosed, string terminalId, string consultationId);
///
/// 接受会诊
///
///
///
///
///
///
LiveStates AcceptConsultation(string roomId, FeatureSource featureSource, LiveStates liveStates, string initiatorId);
///
/// 拒绝会诊
///
///
///
///
LiveStates RejectConsultation(string roomId, string initiatorId);
///
/// 会诊过程中邀请成员
///
///
///
///
///
ConsultationResult InviteConsultationMember(string roomId, FeatureSource feature, List recipientInfos);
///
/// 获取账号信息
///
///
///
WechatUserInfo GetUserInfoByOpenId(string openId);
///
/// 查询会诊记录
///
///
///
///
///
FindNewAppointmentsResult6 FindConsultationRecords(int startIndex, int pageSize, AppointmentsFilterMessage filter);
///
/// 创建会诊
///
///
///
string CreateConsultationRecord(CreateAppointmentRequest1 request);
///
/// 获取自己的医院列表
///
///
List GetMyHospitals();
///
/// 获取自己超声机
///
///
List GetMyTerminals();
///
/// 通过医院获取专家列表
///
///
///
///
List FindMyExpertsByHospitalId(string hospitalId);
///
/// 获取检查部位
///
///
List GetCheckPoint();
///
///通过远程记录Id查询图像
///
///
///
GetPatientRecordDatasSuccess9 GetPatientRecordImageById(GetPatientRecordDatasRequest11 request);
///
/// 通过记录Id获取报告
///
///
///
NewGetReportsSuccess5 GetReportByecordId(NewGetReportsRequest5 request);
///
/// 查询报告详情
///
///
///
NewReportInfoMessage5 GetReportById(string recordId, string reportId);
///
/// 查询分时远程诊断记录
///
///
///
GetRecords11Success GetExamRecords(GetClientRecord11Request request);
///
/// 获取会诊信息
///
///
///
ConsultationMessage FindConsultationById(string id);
///
/// 安排申请单
///
///
///
bool ArrangeConsultation(ArrangeAppointmentRequest request);
///
/// 上传会诊截图
///
///
///
///
bool UploadConsultationImages(string consulationId, string imageToken);
///
/// 上传会诊视频
///
///
///
///
bool UploadConsulationVideos(string consulationId, string videoToken, string previewToken);
///
/// 上传会诊状态
///
///
///
bool UpdateRecordState(UpdateAppointmentStateRequest request);
///
/// 上传文件
///
///
///
string UploadFile(byte[] fileData);
///
/// 下载文件
///
///
///
byte[] DownloadFile(string fileToken);
void DeActivate();
void Activate();
///
/// 获取会诊报告
///
///
///
///
NewGetReportsSuccess5 GetConsultationReports(GetConsultationReportsRequest5 request);
///
/// 保存报告
///
///
///
string SaveReport(NewAddReportRequest4 request);
}
}