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; } /// <summary> /// 通过OpenId登录 /// </summary> /// <param name="openId"></param> /// <param name="username"></param> /// <param name="password"></param> /// <returns></returns> LoginStatus LoginByOpenId(string openId, string username = "", string password = ""); /// <summary> /// Log out the logined user /// </summary> /// <returns></returns> bool Logout(); /// <summary> /// 查询系统默认报告模板 /// </summary> /// <param name="languageCode"></param> /// <returns></returns> List<ReportTemplateMessage> GetReportTemplates(string languageCode); /// <summary> /// 查询系统默认词条 /// </summary> /// <param name="languageCode"></param> /// <returns></returns> List<ReportTemplateMessage> GetThesaurusTemplates(string languageCode); /// <summary> /// 开始会诊 /// </summary> /// <param name="roomId"></param> /// <param name="recipientInfos"></param> /// <param name="terminalIds"></param> /// <param name="initiatorName"></param> /// <param name="consultationId"></param> /// <returns></returns> ConsultationResult StartConversation(string roomId, string consultationId); /// <summary> /// 取消开始会诊 /// </summary> /// <param name="roomId"></param> /// <returns></returns> LiveStates CancelStartConversation(string roomId); /// <summary> /// 退出会诊 /// </summary> /// <param name="roomId"></param> /// <param name="forceClosed"></param> /// <param name="terminalId"></param> /// <returns></returns> LiveStates ExitConsultation(string roomId, bool forceClosed, string terminalId, string consultationId); /// <summary> /// 接受会诊 /// </summary> /// <param name="roomId"></param> /// <param name="featureSource"></param> /// <param name="liveStates"></param> /// <param name="initiatorId"></param> /// <returns></returns> LiveStates AcceptConsultation(string roomId, FeatureSource featureSource, LiveStates liveStates, string initiatorId); /// <summary> /// 拒绝会诊 /// </summary> /// <param name="roomId"></param> /// <param name="initiatorId"></param> /// <returns></returns> LiveStates RejectConsultation(string roomId, string initiatorId); /// <summary> /// 会诊过程中邀请成员 /// </summary> /// <param name="roomId"></param> /// <param name="feature"></param> /// <param name="recipientInfos"></param> /// <returns></returns> ConsultationResult InviteConsultationMember(string roomId, FeatureSource feature, List<RecipientInfo> recipientInfos); /// <summary> /// 获取账号信息 /// </summary> /// <param name="openId"></param> /// <returns></returns> WechatUserInfo GetUserInfoByOpenId(string openId); /// <summary> /// 查询会诊记录 /// </summary> /// <param name="startIndex"></param> /// <param name="pageSize"></param> /// <param name="filter"></param> /// <returns></returns> FindNewAppointmentsResult6 FindConsultationRecords(int startIndex, int pageSize, AppointmentsFilterMessage filter); /// <summary> /// 创建会诊 /// </summary> /// <param name="request"></param> /// <returns></returns> string CreateConsultationRecord(CreateAppointmentRequest1 request); /// <summary> /// 获取自己的医院列表 /// </summary> /// <returns></returns> List<OrganBaseInfoMessage> GetMyHospitals(); /// <summary> /// 获取自己超声机 /// </summary> /// <returns></returns> List<Interfaces.TerminalInfo> GetMyTerminals(); /// <summary> /// 通过医院获取专家列表 /// </summary> /// <param name="openId"></param> /// <param name="hospitalId"></param> /// <returns></returns> List<ExpertDetailMessage> FindMyExpertsByHospitalId(string hospitalId); /// <summary> /// 获取检查部位 /// </summary> /// <returns></returns> List<string> GetCheckPoint(); /// <summary> ///通过远程记录Id查询图像 /// </summary> /// <param name="request"></param> /// <returns></returns> GetPatientRecordDatasSuccess9 GetPatientRecordImageById(GetPatientRecordDatasRequest11 request); /// <summary> /// 通过记录Id获取报告 /// </summary> /// <param name="request"></param> /// <returns></returns> NewGetReportsSuccess5 GetReportByecordId(NewGetReportsRequest5 request); /// <summary> /// 查询报告详情 /// </summary> /// <param name="request"></param> /// <returns></returns> NewReportInfoMessage5 GetReportById(string recordId, string reportId); /// <summary> /// 查询分时远程诊断记录 /// </summary> /// <param name="request"></param> /// <returns></returns> GetRecords11Success GetExamRecords(GetClientRecord11Request request); /// <summary> /// 获取会诊信息 /// </summary> /// <param name="id"></param> /// <returns></returns> ConsultationMessage FindConsultationById(string id); /// <summary> /// 安排申请单 /// </summary> /// <param name="request"></param> /// <returns></returns> bool ArrangeConsultation(ArrangeAppointmentRequest request); /// <summary> /// 上传会诊截图 /// </summary> /// <param name="consulationId"></param> /// <param name="imageToken"></param> /// <returns></returns> bool UploadConsultationImages(string consulationId, string imageToken); /// <summary> /// 上传会诊视频 /// </summary> /// <param name="consulationId"></param> /// <param name="imageToken"></param> /// <returns></returns> bool UploadConsulationVideos(string consulationId, string videoToken, string previewToken); /// <summary> /// 上传会诊状态 /// </summary> /// <param name=""></param> /// <returns></returns> bool UpdateRecordState(UpdateAppointmentStateRequest request); /// <summary> /// 上传文件 /// </summary> /// <param name="fileData"></param> /// <returns></returns> string UploadFile(byte[] fileData); /// <summary> /// 下载文件 /// </summary> /// <param name="fileData"></param> /// <returns></returns> byte[] DownloadFile(string fileToken); void DeActivate(); void Activate(); /// <summary> /// 获取会诊报告 /// </summary> /// <param name="consulationId"></param> /// <param name="imageToken"></param> /// <returns></returns> NewGetReportsSuccess5 GetConsultationReports(GetConsultationReportsRequest5 request); /// <summary> /// 保存报告 /// </summary> /// <param name=""></param> /// <returns></returns> string SaveReport(NewAddReportRequest4 request); } }