论坛
问题原因:同一个医生会在多个机构申请证照(比如华西总院的医生可以在华西分院申请证照)。申请证照会传入机构id【orgUnit:pJ0C3w6gmrK】,调用者并不知道机构id是什么,导致无法申请证照。
解决办法:去除机构id参数。在dhis2中查询trackedEntityType替换为program。(api/tracker/trackedEntities?program=QsRYlIzYTTK&ouMode=ALL&totalPages=true)
mirth调整:
通道管理-缺省组基础资源服务-目标entity_get-编辑转换器
var q_suffix = $s('query');
var contPath = $s('contextPath').toLowerCase();
//调整前
//var queryParm="totalPages=true&skipPaging=true&fields=trackedEntity,orgUnit,trackedEntityType,attributes[attribute,value,displayName,code,valueType,value]"
//调整后
var queryParm="totalPages=true&skipPaging=true&fields=attributes[attribute,code,displayName,value,valueType],trackedEntity,orgUnit"
logger.info("********contPath********"+contPath);
var condValue = "";
//如果参数ouMode=DESCENDANTS 替换为ouMode=ALL
if(q_suffix && q_suffix.includes("DESCENDANTS") && q_suffix.includes("ouMode")){
condValue = q_suffix.replace("DESCENDANTS", "ALL");
}
if(q_suffix && !q_suffix.includes("ouMode")){
condValue = q_suffix + "&ouMode=ALL";
}
if(contPath=="/brs/mdlicense"){//医生 一定要有
queryParm=queryParm + "&program=QsRYlIzYTTK&" + condValue;
}else if(contPath == "/brs/nursinglicense"){//护士 Uo4y7JkpVEO
queryParm=queryParm + "&program=R6gm9HOCYyZ&" + condValue;
}else if(contPath == "/brs/horglicense"){//机构 xE9yTRnX5SQ
queryParm=queryParm + "&program=hEIYZ4RBYzv&" + condValue;
}
logger.info("*****queryParm*****"+queryParm);
$c("queryParm",queryParm);
$c("queryPath",contPath);
备注:四川CA医易通没有绑定集群,如果需要维护。需要登录他们的地址(https://capecsyytgw.scca.com.cn:10009)以及账号