体检套餐常见体检项

图片来自pixabay.com的NickRivers会员

本文将梳理体检套餐中常见的100多个体检单项,并按如下进行归类成列表,

  1. 一般检查
  2. 实验室常规检查
  3. 实验室特别检查
  4. 肿瘤标志物检查
  5. 妇科检查
  6. 影像检查
  7. 其它

体检项的市场参考价格和临床医学意义也一并给出,其中市场参考价格来自于各大医院的平均公示价格,这些列表数据将有助于分析体检套餐的成本价格和检查项完整度。

详细数据请见下图,

体检检测项完整列表-v5

对于表中数据,需要特别关注如下几点,

  • 注1:表中只列举出体检套餐中的常见体检项。
  • 注2:可以看到每个体检单项价格不一,一般来说常规体检项比较便宜,而实验室特别检查、影像检查等将较贵。对于各个体检项,若按体检单项平均价格从低到高排序,将分别为,
    1. 一般检查
    2. 妇科检查
    3. 实验室特别项检查
    4. 肿瘤标志物检查
    5. 超声波检查
    6. CT检查、磁共振血管成像MR
    7. 电子肠胃镜检查
  • 注3:每个体检项由于体检检测手段、检测设备不同,价格可能有较大变化,表中参考价格取自平均价格。例如电子胃镜,可以分为普通电子胃镜、无痛电子胃镜、胶囊电子胃镜,这三种电子胃镜的检测手段和设备不同,导致价格相差会比较大。在计算和比较体检套餐价格时需要多加注意这些区别。

雾里看清“体检套餐”

图片来自pixabay.com的Alexas_Fotos会员

对于有购买过体检套餐的人来说,在花样繁多的体检套餐中为自己、父母选择一个合适的套餐,整个过程一定不是轻松的,从初级、中级、高级到轻奢、豪华、钻石、感恩深度,还有AI人工智能等等,这些套餐名字足以让人眼花缭乱,看的懂的是体检套餐名字,看不懂的是套餐价格,低则两三百元,高则成千上万,不管您的荷包多么鼓,总有“适合”的那一款。

你是否担心这些体检套餐是否真的物有所值?是否藏有猫腻?本文将拨开云雾,带你看看体检套餐背后的三十六计。

1. 空城计(体检单项拆分)

空城计唱的是如何掩饰自己力量空虚,迷惑对方的策略。而在体检套餐中,越多、越长的体检项目列表,越让人觉得体检套餐更值,于是乎,在一些体检套餐中经常可以看到把一个体检单项拆分出N个体检项。

最常见是血常规、尿常规和腹部B超,在医院或各大体检机构中,它们通常是三个独立的体检收费项目,但在体检套餐中,却能够列出一长串体检项出来。试看下如下左右两个体检项目列表,

体检套餐之空城计

图中,从右表看似乎有很多体检项目要做,实际上就只有左表所示的三个体检单项。

2. 浑水摸鱼(体检项不清晰)

浑水摸鱼比喻在混乱中谋取利益。在体检套餐中,有些体检项一字之差,其成本开销是不一样的,比如癌胚抗原CEA,这是一个广谱肿瘤标志物,在体检套餐中有如下的三种标识,

  • 癌胚抗原CEA
  • 癌胚抗原CEA定性
  • 癌胚抗原CEA定量

定性是指获取该检测指标的阳性或阴性值,定量则是指获取该检测项目的具体值。从成本上来说,定量检测会比定性更贵些。在体检套餐中,有些套餐会明确的标明其是定性检测还是定量检测,也会有些套餐只标示为“癌胚抗原CEA”,到底是定性还是定量是未知的。

目前,肿瘤标记物检测在体检套餐中已经是一个常见检查项,但是由于体检机构的设备升级不一致等原因,各个体检场所对所支持的肿瘤标记物种类并不相同。因此,有些体检套餐,将所有肿瘤标记物检测列出,然后在不同的体检场所将执行不同的肿瘤标记物检测,如下图所示,

体检套餐之浑水摸鱼

上图里面C2、C4、C6、C8、C12是指肿瘤蛋白芯片检测,C2是检测2项肿瘤标志物,C6是检测6项肿瘤标志物,依次类推。这些体检套餐中不清晰的体检项,很有可能用户花了同样的套餐价钱,却无法享受同样的服务。

3. 瞒天过海(价格虚高)

若从京东天猫上查询体检套餐,各个价格档位的体检套餐应有尽有,即使仔细查看各套餐体检列表也很难区分出其中差别。

为了比较不同套餐价格的性价比,我们可以使用一个简单的计算公式,

  • 性价比R = 套餐各个体检单项的价格总和/套餐价格

其中:各个体检单项的价格,可以参考各大医院或体检机构公示的价格,为举例说明,下图是收集的血常规、尿常规、彩色B超的医院公示价格,

体检套餐之公示价格

根据公示价格,计算出各个体检单项的平均价格,然后就可以统计出各个套餐按单项计算的价格总和,将其除以套餐价格,即为性价比值R。计算公式中,分母的意义是,若用户选择医院并按体检套餐的体检单项逐一检查所需的费用开销,将其和套餐价格相比,其比值越大,说明体检套餐能够为用户省更多的钱,则性价比也就越高。

一般来说,一个体检套餐价格会小于套餐各个体检单项的价格总和,因为作为一个体检套餐,其整体价格应该比拆开每一个体检项更加优惠,因此性价比R一般大于1。

下图为统计出的一些体检套餐(来自各大电商平台)的性价比值,

体检套餐之性价比

从图中可以看到,从150元到3000元,各个价位体检套餐的性价比高低参差不齐,最高性价比达到3,最低性价比还不到1,这种性价比小于1的体检套餐,还不如单个体检项一一检查的价格,里面的水分非常大。

电商平台上的体检套餐商品,最大的特点便是各种活动大促,“满300减50”,“买一送一”,但是这个套餐价格是有大量水分的,挑来挑去,一不小心就花了冤枉钱。

4. 笑里藏刀(免费套餐)

笑里藏刀是指表面和善,但背后却隐藏着各种计谋套路,让你在不知不觉中落入布好的陷阱。市场上的体检套餐活动,不时有赠送的免费体检套餐,或者价值上千元的体检套餐只售卖不到100元,这真是天上掉下来的“馅饼,让人不能不心动。

任何免费的商业营销活动,都有背后支撑的商业逻辑。一份免费的体检套餐,里面要做的常规检查还不少,血常规、尿常规、血糖、肝功能、肾功能、心电图,若出100元,还可以加上各种彩超、胸部DR拍片,看起来还是很不错的体检套餐,这样一份体检套餐,内部成本价核算后大概为50-100元,售出一份,则体检机构亏损50-100元,这样下去,体检机构岂不是做亏本买卖?

商业永远是商业,其背后的原因是:第一,本身获客成本就需要50-100元,与其做广告,不如让利给用户,拿到用户注册的联系方式,后续的营销推广活动就更加容易;第二,和成本价相比,用户的体检报告数据更值钱,用50-100元就能获取用户一份不错的体检报告数据,了解每个人的身体健康情况,这个数据一旦成为规模,将能够创造出更多的价值。

可以看到,免费体检套餐,除了获客成本在驱动,还有可能是出售了个人的身体健康隐私数据,这份免费体检套餐是否值当?这个是需要用户再三斟酌。

5. 小结

本文主要描述了体检套餐中个各种陷阱套路,更多的是希望帮助大家看清体检套餐,在选择时能够多一份留意。这么多的体检套餐,这么多的陷阱套路,该怎么选择一份体检套餐?请关注下一篇文章《如何挑选健康体检套餐》

通过Mysql分析Redis的内存快照数据

图片来自pixabay.com的mrgajowy3会员

本文描述了如何将Redis的内存快照数据导出,然后导入到Mysql,通过Mysql实现对Redis的内存数据分析,获取键值总数、内存消耗最大键值等信息。

1. 环境版本

本文的演示环境如下,

  • Mysql 5.7(安装在windows)
  • Python 3.6(安装在linux)
  • Redis 3.2.5(安装在linux)

2. 获取Redis内存快照

登录Redis客户端,执行bgsave命令,此命令将当前Redis的内存快照保存为dump.rdb文件

$ ./redis-3.2.5/bin/redis-cli -h localhost
localhost:6379> bgsave
Background saving started

Redis服务端将显示如下日志,

8961:M 01 Apr 21:12:06.419 * Background saving started by pid 9505
9505:C 01 Apr 21:12:06.440 * DB saved on disk
9505:C 01 Apr 21:12:06.441 * RDB: 0 MB of memory used by copy-on-write
8961:M 01 Apr 21:12:06.533 * Background saving terminated with success

生成的dump.rdb文件位于,

  • 缺省文件位置:./redis-3.2.5/bin/dump.rdb
  • 自定义文件位置:见redis.conf文件中的配置项dbfilename dump.rdb,该配置项可以改变dump.rdb文件的保存位置。

3. 通过rdb工具导出csv格式数据

3.1 安装rdb工具

工具rdb是一个Python工具,需要预先安装Python,然后执行如下命令,

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# - 在windows系统
venv\Scripts\activate.bat
# - 在linux系统
source venv\Scripts\activate

# 安装依赖
pip install rdbtools
pip install python-lzf

注1:Windows7上安装rdbtools,会出现如下报错信息。根据提示,rdbtools需要安装Microsoft Visual C++ 14.0。

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

注2:安装python-lzf,这是由于在下一步解析dump文件时,该工具能够加快解析速度。不安装的话,将会有提示信息:Parsing dump file will be very slow unless you install it。

3.2 导出csv格式数据

在安装rdbtools好了后,执行如下命令,通过rdb工具解析dump文件为csv文件。

rdb -c memory dump.rdb > memory.csv

打开memory.csv文件,可以看到里面内容格式如下,

database,type,key,size_in_bytes,encoding,num_elements,len_largest_element,expiry
0,string,username,72,string,8,8,
0,string,test,48,string,8,8,
......

里面包括了如下的redis键值信息,

  • 数据库
  • 键类型
  • 键名
  • 占用内存空间大小
  • 编码
  • 元素个数
  • 最大元素大小
  • 失效时间

接下来就可以将memory.csv文件导入到Mysql进行下一步的统计分析。

4. 导入csv内存快照数据到Mysql

  1. 打开Mysql客户端,执行如下sql(请预先创建好数据库datareport),创建表memory,
    DROP TABLE IF EXISTS `datareport`.`memory`;
    create table IF NOT EXISTS `datareport`.`memory` (
    `database` int,
    `type` varchar(128),
    `key` varchar(128),
    `size_in_bytes` int,
    `encoding` varchar(128),
    `num_elements` int,
    `len_largest_element` int,
    `expiry` varchar(128),
    KEY `idx_type` (`type`),
    KEY `idx_key` (`key`),
    KEY `idx_size_in_bytes` (`size_in_bytes`),
    KEY `idx_num_elements` (`num_elements`),
    KEY `idx_len_largest_element` (`len_largest_element`)
    );
    
  2. 复制文件memory.csv到C:/ProgramData/MySQL/MySQL Server 5.7/Uploads目录下。
    • 打开复制的memory.csv文件,删除如下第一行表头数据。
    database,type,key,size_in_bytes,encoding,num_elements,len_largest_element,expiry
    
  3. 执行如下sql命令,加载csv数据到表
    LOAD DATA INFILE'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/memory.csv' replace INTO TABLE `datareport`.`memory` FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\n';
    

    根据数据文件大小和机器配置,该加载过程时间会比较长,150MB的memory.csv文件耗时可能达1个小时。

5. 通过Mysql分析Redis内存数据

数据导入到数据库后,接下来就可以进行一些数据统计分析了,下面给出几个数据统计样例。

  1. 查询key个数
    SELECT COUNT(*) FROM `memory`;
    
  2. 查询总的内存占用
    SELECT SUM(size_in_bytes) FROM `memory`;
    
  3. 查询内存占用最高的前10个key
    SELECT * FROM `memory` ORDER BY size_in_bytes DESC LIMIT 10;
    
  4. 查询成员个数1000个以上的list/hash
    SELECT * FROM `memory` WHERE TYPE='quicklist' AND num_elements > 1000;
    
  5. 查询成员个数最多的前100个hash/set/sortedset
    SELECT * FROM MEMORY WHERE TYPE='hash' ORDER BY num_elements DESC LIMIT 100;
    SELECT * FROM MEMORY WHERE TYPE='set' ORDER BY num_elements DESC LIMIT 100;
    SELECT * FROM MEMORY WHERE TYPE='sortedset' ORDER BY num_elements DESC LIMIT 100;
    
  6. 保存数据到文件中
    SELECT * FROM `memory` ORDER BY size_in_bytes DESC LIMIT 10 INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/total.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\r\n';
    

6. 参考资料

  1. 阿里云:Redis 内存分析方法