最近一直在研读HL7 V3 Data Types Release 2 (2009版),与 Release 1(2004版)还是有些不同。不过最主要的感觉还是有点怪异,可能是没有完全理解其思路,尤其是在数据类建立模型上。主要包括:

(1)COMP类

按道理所有数据类型的基类是ANY,但惟独COMP也是一个独立抽象类,不是从ANY继承,且只有一个子类CEQ,二者之间只是compare方法被重载而已。我个人认为COMP类不应存在,它应该是一个方法类,而不是数据类,在ANY完全可以定义一个抽象方法compare(x,y),各个子类进行重载,不需要打破模型中的统一继承思路。并且在ANY类中已经有一个函数equal(x),没有必要再重复弄一个吧?

(2)SET、COLL类

在Release 1中,没有COLL类,LIST类直接从ANY类继承,Release 2中加入了COLL类,感觉应该是所有集合类的基类,其说明如下:

A collection of values which can be enumerated using an iterator.

一个可以被迭代程序列举的值的集合。

其子类

  • BAG 无序且值可以重复的集合
  • LIST 有序且值可以重复的集合

即COLL类是一个允许成员值重复的集合,但其说明中没有明确提到是允许重复值的。

Release 2中SET类仍然直接从ANY继承,其说明如下:

A value that contains distinct values in no particular order.

一个容纳无序的且相互唯一的多个值的集合。

即SET类是成员值不允许重复的集合,其子类

  • DSET,是与COLL类多重继承的类,是一个无序且相互唯一的值集合,从COLL继承的目的是继承Count 方法。
  • QSET,是一个无序的且相互唯一的多个数值的集合

即COLL是允许有重复值的,SET是不允许有重复值且无序的。

其实集合的重要区别不外2个:是否允许重复,是否有序。由此可以得到4种组合,也就是4个类就行了。

转载于:https://www.cnblogs.com/ChinaEHR/archive/2012/05/09/2491571.html

HL7数据类型分析(1)相关推荐

  1. 点云数据类型分析 sensor_msgs/PointCloud2

    点云数据类型分析 sensor_msgs/PointCloud2 前言 一.什么是点云? 二.sensor_msgs/PointCloud2 1.查看ROS中的消息类型 前言 ROS应用中,使用到雷达 ...

  2. java 分析数据类型_Java数据类型分析

    Java的简单数据讲解列表以下:编程 int:int为整数类型,存储的时候,用4个字节存储,范围为-2,147,483,648到2,147,483,647,在变量初始化的时候,int类型的默认值为0. ...

  3. MySql数据类型分析(字符类型) Part4

    一.字符类型包括: char varchar text 二.字符类型详细介绍表 类型 说明 典型声明 范围 M值说明 char 定长字符串 gender char(1) char(M) 0=<M ...

  4. 2.4_Date_Type_analysis数据类型分析

    文章目录 4.1 区分工作日和周末 4.2 分组+排序+聚合统计 4.3 把刚才学的放一块儿 # * coding:utf-8_*_ # 作者 :XiangLin # 创建时间 :11/02/2020 ...

  5. Java数据类型分析

    Java中的两大数据类型:基本数据类型和引用数据类型 基本数据类型:byte short char int long float double boolean 引用数据类型:类,接口,数组,枚举等 一 ...

  6. Java9种基本数据类型分析

    九种基本数据类型的字节大小和封装类 基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 (short)0 Short int 4 0 Integer lon ...

  7. java基础数据类型分析

    一.存储空间 在java中,一共有8种基本类型,其中有4种整形.2种浮点类型.1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型. (java中基本数据类 ...

  8. mysql数据类型分析_MYSQL数据类型分析整理

    1,时间类型 类型               所站空间 datetime           8字节 timestamp          4字节 date               3字节 ye ...

  9. mysql整理类型_MYSQL数据类型分析整理

    1,时间类型 类型               所站空间 datetime           8字节 timestamp          4字节 date               3字节 ye ...

最新文章

  1. R语言进行dataframe数据左连接(Left join):使用R原生方法、data.table、dplyr等方案
  2. Vue中用TypeScript改写JavaScript及装饰器使用
  3. 实验五 输入输出练习_JAVA
  4. Deeplearning 入门篇
  5. Java数据结构习题_算法分析
  6. 将 ASP.NET Core 2.1 升级到最新的长期支持版本ASP.NET Core 3.1
  7. arial字体可以商用吗_【工作总结】莫让字体版权引火上身
  8. 手机优酷缓存的视频在哪找
  9. python 什么是序列_从零起步学Python——什么是序列?
  10. html css底部弧度,CSS实现底部弧度效果
  11. ET2017万能免狗安装包(不弹窗)
  12. 【matlab笔记】寻找极小值
  13. [IE8]開發自己站台的視覺化搜尋(Visual Search)
  14. python判断是否闰年_【python】判断年份是否为闰年
  15. ECShop 替换手机版购物首页(2)
  16. 计算机图形学——八分法中点画圆
  17. 用串口操作手机收发短信总结
  18. 谷歌浏览器突然翻译不了怎么办?
  19. VB和VB.net环境下链接Access、SQL数据库的方法及技巧(Access篇)
  20. 【HTML + CSS】如何引入icon图标

热门文章

  1. druid连接池以及数据源了解
  2. 时区 java 巴黎,关于时区:Java没有有关所有IANA时区的信息
  3. java字符串转json_java 字符串转成 json 数组并且遍历
  4. wav pcm数据是带符号的吗_UE4 C++基础教程 - 基础数据结构
  5. xbox手柄 查看您的控制器保修_Xbox的“异形手柄”开始让残疾的老兵重新享受游戏的乐趣...
  6. python qt gui快速编程_《PYTHON QT GUI快速编程 PYQT编程指南》源码
  7. mysql内外三种连接_mysql之内连接,外连接(左连接,右连接),union,union all的区别...
  8. antd中tooltip换行_ant design 中实现表格头部可删除和添加
  9. ctc与临时限速服务器信息,基于CTC站场图图形元素设置高速铁路临时限速的方法...
  10. linux arm. 快速启动,教你如何快速启动Linux 系统