iMedical内实现语音导航,语音录入类操作的开发实现方式
-
到【语音 HIS 配置】界面 > 维护场景

-
在业务界面 CSP 中写入以下语句,关联界面场景
<!--第一种引入办法 CSP中引入声音场景 --> <EXTHEALTH:HEAD SoundScenes="HISLogon"></EXTHEALTH:HEAD>// 第二种引入办法 // 使用类方法引用声音场景 /// @param SoundScenes 场景代码 /// @param Enable 1表示代码层面启用语音,0关闭 /// @param AppName 系统代码如HIS,NUREPR, 默认HIS d ##class(websys.Sound).Init("HISLogon",1) -
到【语音 HIS 配置】界面 > 维护场景命名

-
在业务界面 JS 中实现以下方法
function soundHISLogon(json){ /* 入参为json格式,参数不同语音命令不同 {cmdKey:"场景名",ExpStr:"参数",BedNo:"床号",PatName:"病人姓名",...} */ if (json.cmdKey=="logonHisSystem"){ // 实现业务,如登录,选中某病人 } } -
如果要语音填充表单,请实现以下方法,入参格式如下
function soundFillForm(json){ /* { cmdDesc:undefined, cmdKey:undefined, command:{code:2001}, form:{ code:3002, data:[ { key:'肝',value:'未触及'}, { key:'脾',value:'未触及'} ] } } */ // 业务填充表单代码 } -
发送信息
// 使用第2步关联声音场景后,会在界面加载完成后得到soundWS全局websocket对象,可以像下面这样发送消息给声音服务 function sendSoundMsg(msg){ if (soundWS.readyState===1){ soundWS.send(msg); }else{ soundMsgTimer = setTimeout(function(){sendSoundMsg(msg)},300); //连接语音服务中... } }
评论