声明
数据每年更新一次,数据源均来自网络公开数据,信息仅供参考,不保障准确性和实时性。
开通方式
联系纷享客服或贵公司的客户经理,开通「医疗信息查询」服务。
管理员配置
开通后,需要CRM管理员根据企业的实际业务情况,做一些初始化配置。
第一步:开启开关
1、在“管理”后台-“业务规则管理”下会增加一个菜单“医疗信息设置”,打开开关。
2、选择适用业务类型,也就是选中代表「医院」数据的对应的客户的业务类型。 这样,仅在新建此业务类型数据的时候,才使用医疗信息查询服务(目前此功能与工商是互斥的,二选一),在新建非医院数据比如经销商、体检机构等时,仍保持使用原来的工商查询。
3、选择回填数据的方式。
设置完后点击保存。
第二步:设置回填字段映射规则
1、菜单入口:管理-业务规则设置-对象映射规则
管理员设置将「医院」的哪些字段信息,回填到「客户」的哪些字段信息上,系统会默认预设一个规则,但系统不了解企业实际的字段情况,所以需要管理员按实际情况再做一下调整。
因为在新建医院的时候,也可以同时批量自动创建其下的科室,故也需设置将「科室」的哪些字段回填到「客户」的哪些字段上。
特别注意 :
因为科室是批量自动创建的,所以请务必将科室类型客户的必填字段设置上映射,否则校验不过无法创建成功!
管理员的配置就完成了,注意如果客户字段有变动,可能会对字段映射造成的影响!
第三步:配置操作权限
如果企业不需要在新建客户的时候,可以同时保存并批量新建科室,则可以直接到管理后台-预设对象管理-客户-按钮下,将「保存并新建科室」按钮禁用掉。
如果需要,则进一步为可使用的角色赋予此操作
员工使用
使用场景一 :通过查询医疗库,新建/编辑医院
1、新建/编辑时,通过输入名称关键字,匹配医疗库里的标准医院。选中后,将点亮「医」字
如配置了自动回填,则将按映射规则自动回填字段,也可以点击医疗详情页的「回填」操作,进行手动回填。
通过医疗回填的客户,将在客户详情页点亮医字,点击医字,仍可进入到医院详情页。
点击科室名称,可进入科室详情页,查看科室详情和科室下的医生。(目前还不支持医生的批量新建,仅支持在科室详情页查看医生信息。)
3、如当前角色拥有「保存并新建科室」操作的权限,可进一步批量创建该医院下的科室。
使用场景二:新建医院的时候,同时保存并批量创建科室
新建医院客户,点击「保存并新建科室」后,可通过勾选科室批量创建。
将自动把科室和医院通过「上级客户」字段关联起来(适用于通过客户自关联管理医院和科室数据的企业)。
此类通过医疗库创建的医院/科室,将通过「医疗注册」的值为「是」标识。此字段为预设字段,如需,可自行添加到详情页布局 和列表 查看。
(其中,标记为绿色的,代表曾经创建过的科室)
使用场景三:存量医院客户,批量创建科室
从客户详情页,点「医」字进入详情页,科室列表可进行「批量新建科室」
科室名称特别说明:
如需将生成的科室客户的名称改为「医院名称+科室名称」的拼接,需要在客户「新建」操作的后动作里,通过APL实现。
字段信息说明
医院字段举例:
科室和医生字段:
日查询量上限说明
在系统中的每一次查询都消耗查询次数,包括输入框的搜索、点击医字、点击科室、批量创建科室等。
每个用户的日查询量上限为:
医院:2000次/日 ,科室:5000次/日, 医生:5000次/日 。
通过医疗库批量清洗/初始化医院数据
1、先开通「批量医疗信息新增/更新函数调用包」资源扩展包。 资源包可独立开通,不依赖【医疗信息查询】应用。
2、在函数里调用医疗提供的接口进行清洗。
3、可在函数里指定使用对象,通常是客户,也可将数据清洗到自定义对象。
4、函数资源包最多可购买5个,次数消耗规则:每查询一次医院和科室都算1次,比如查询了1个医院和其下的10个科室,总共是11次。
数据清洗(更新医院数据)
请求说明
请求路径:Fx.hospital.updateHospital()
参数说明
参数 | 参数类型 | 必须 | 说明 |
objectApiName | String | 是 | 对象apiName |
objectIds | List | 是 | 数据id列表 |
mappings | Map | 是 | 医院字段与客户字段的映射 |
isUpdateNull | Boolean | 是 | 空值是否更新(医院库数据为空时是否更新对象数据) |
medicalRegister | String | 是 | 医疗注册字段apiName |
levelMapping | Map | 否 | 医院等级映射 |
返回说明
数据id列表 List
Groovy举例
/**
* @author zsl
* @codeName 医疗主数据函数
* @description 测试测试
* @createTime 2023-04-20
*/
/**
医院等级对应含义:
0:无等级
1:一级
2:一级甲等
3:一级乙等
4:一级丙等
5:二级
6:二级甲等
7:二级乙等
8:二级丙等
9:三级
10:三级甲等
11:三级乙等
12:三级丙等
*/
//医院等级映射(医院库等级->crm对象上单选字段),无需医院等级可不传
Map levelMappings = [
"0":"NX0f3im1Q",
"1":"zbgZAGOF0",
"2":"BeO329j4c",
"3":"W3k2ckIcc",
"4":"pLpRx6sc5",
"5":"zmGAx3uvr",
"6":"CrgOr0azE",
"7":"u4vWS9Sit",
"8":"f2E34oH61",
"9":"3sqq01lRy",
"10":"40vHB1xfa",
"11":"4kzl2BbpE",
"12":"sqamVsQ00"
]
//需要清洗的数据集合(最多100条)
List dataIdList = ["642645d0bca58400013719a3"]
/**
医疗库字段:
name:医院名称
alias:别名
profit_attribute:盈利属性
level:医院等级
province:省份
city:城市
district:县区
address:地址
latitude_and_longitude:经纬度
contact_phone_number:联系电话
official_website:官网
dean:院长
bed_num:床位数
daily_outpatient_num:日门诊量
introduction:简介
type:医院类型
credit_code:统一社会信用代码
*/
//医疗库字段->crm对象字段映射
Map mappings = ["name":"url"]
//必填字段:objectApiName、isUpdateNull、medicalRegister、mappings
APIResult result = Fx.hospital.updateHospital("AccountObj",dataIdList,mappings,true,"is_hospital_register",levelMappings)
log.info(result)
初始化医院
请求说明
请求路径:Fx.hospital.initHospital()
参数说明
参数 | 参数类型 | 必须 | 说明 |
hospitalObjectApiName | String | 是 | 医院ApiName |
recordTyp | String | 是 | 业务类型 |
elevel | String | 否 | 等级 |
province | String | 否 | 省 |
city | String | 否 | 市 |
district | String | 否 | 区 |
classification | String | 否 | 科室分类 |
mappings | Map | 是 | 医院库数据与对象字段映射 |
medicalRegister | String | 是 | 医疗注册字段apiName |
levelMapping | Map | 否 | 医院等级映射 |
返回说明
初始化条数 int
Groovy举例
/**
* @author zsl
* @codeName 初始化医院
* @description 测试
* @createTime 2023-04-20
*/
/**
医疗库字段:
name:医院名称
alias:别名
profit_attribute:盈利属性
level:医院等级
province:省份
city:城市
district:县区
address:地址
latitude_and_longitude:经纬度
contact_phone_number:联系电话
official_website:官网
dean:院长
bed_num:床位数
daily_outpatient_num:日门诊量
introduction:简介
type:医院类型
credit_code:统一社会信用代码
*/
//医疗库字段->crm对象字段映射
Map mappings = [
"level":"field_Zi8Pw__c",
"latitude_and_longitude":"location",
"district":"district",
"city":"city",
"province":"province",
"cocuntry":"country",
"contact_phone_number":"tel",
"official_website":"url",
"address":"address",
"name":"name"
]
/**
医院等级对应含义:
0:无等级
1:一级
2:一级甲等
3:一级乙等
4:一级丙等
5:二级
6:二级甲等
7:二级乙等
8:二级丙等
9:三级
10:三级甲等
11:三级乙等
12:三级丙等
*/
//医院等级映射(医院库等级->crm对象上单选字段),无需医院等级可不传
Map levelMappings = [
"0":"NX0f3im1Q",
"1":"zbgZAGOF0",
"2":"BeO329j4c",
"3":"W3k2ckIcc",
"4":"pLpRx6sc5",
"5":"zmGAx3uvr",
"6":"CrgOr0azE",
"7":"u4vWS9Sit",
"8":"f2E34oH61",
"9":"3sqq01lRy",
"10":"40vHB1xfa",
"11":"4kzl2BbpE",
"12":"4kzl2BbpE"
]
//必填字段:hospitalObjectApiName、recordType、medicalRegister、mappings
APIResult result = Fx.hospital.initHospital("AccountObj","record_PRkkc__c","4","北京市",null,null,null,mappings,"is_hospital_register",levelMappings)
log.info(result)
初始化科室
请求说明
请求路径:Fx.hospital.initDepartment()
参数说明
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
hospitalObjectApiName | String | 是 | 医院ApiName |
departmentObjectApiName | String | 是 | 科室ApiName |
recordType | String | 是 | 业务类型 |
objectId | String | 是 | 医院数据id |
classification | String | 否 | 科室分类 |
mappings | Map | 是 | 医院库数据与对象字段映射 |
medicalRegister | String | 是 | 医疗注册字段apiName |
classificationMapping | Map | 否 | 科室分类映射 |
parentApiName | String | 是 | 科室与医院查找关联字段ApiName |
Groovy举例
/**
* @author zsl
* @codeName 初始化科室
* @description 111
* @createTime 2023-04-20
*/
/**
医疗库科室字段:
name:科室名称
director:科室主任
classification:分类
introduction:科室简介
*/
//医疗库科室字段->crm对象字段
Map mappings = [
"name":"name",
"classification":"field_56YfM__c"
]
/**
科室分类含义:
1:内科
2:外科
3:骨科
4:妇产科
5:男科
6:儿科
7:耳鼻喉头颈外科
8:眼科
9:口腔科
10:肿瘤科
11:皮肤性病科
12:中医科
13:传染病科
14:精神心理科
15:麻醉医学科
16:医学影像科
17:其他科室
*/
//科室分类映射(key:医疗库科室分类,value:crm对象科室分类)
Map classificationMappings = [
"0":"0",
"1":"1",
"2":"2",
"3":"3",
"4":"4",
"5":"5",
"6":"6",
"7":"7",
"8":"8",
"9":"9",
"10":"10",
"11":"11",
"13":"13",
"14":"14",
"15":"15",
"16":"16",
"17":"17",
"12":"12"
]
//必填字段:hospitalObjectApiName、departmentObjectApiName、recordType、objectId、mappings、medicalRegister、parentApiName
APIResult result = Fx.hospital.initDepartment("AccountObj","AccountObj","record_PRkkc__c","6440f25a8d392e00011ffbfb",null,mappings,"is_hospital_register",classificationMappings,"parent_account_id")
log.info(result)