HL7数据类型分析(1)
最近一直在研读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)相关推荐
- 点云数据类型分析 sensor_msgs/PointCloud2
点云数据类型分析 sensor_msgs/PointCloud2 前言 一.什么是点云? 二.sensor_msgs/PointCloud2 1.查看ROS中的消息类型 前言 ROS应用中,使用到雷达 ...
- java 分析数据类型_Java数据类型分析
Java的简单数据讲解列表以下:编程 int:int为整数类型,存储的时候,用4个字节存储,范围为-2,147,483,648到2,147,483,647,在变量初始化的时候,int类型的默认值为0. ...
- MySql数据类型分析(字符类型) Part4
一.字符类型包括: char varchar text 二.字符类型详细介绍表 类型 说明 典型声明 范围 M值说明 char 定长字符串 gender char(1) char(M) 0=<M ...
- 2.4_Date_Type_analysis数据类型分析
文章目录 4.1 区分工作日和周末 4.2 分组+排序+聚合统计 4.3 把刚才学的放一块儿 # * coding:utf-8_*_ # 作者 :XiangLin # 创建时间 :11/02/2020 ...
- Java数据类型分析
Java中的两大数据类型:基本数据类型和引用数据类型 基本数据类型:byte short char int long float double boolean 引用数据类型:类,接口,数组,枚举等 一 ...
- Java9种基本数据类型分析
九种基本数据类型的字节大小和封装类 基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 (short)0 Short int 4 0 Integer lon ...
- java基础数据类型分析
一.存储空间 在java中,一共有8种基本类型,其中有4种整形.2种浮点类型.1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值的boolean类型. (java中基本数据类 ...
- mysql数据类型分析_MYSQL数据类型分析整理
1,时间类型 类型 所站空间 datetime 8字节 timestamp 4字节 date 3字节 ye ...
- mysql整理类型_MYSQL数据类型分析整理
1,时间类型 类型 所站空间 datetime 8字节 timestamp 4字节 date 3字节 ye ...
最新文章
- R语言进行dataframe数据左连接(Left join):使用R原生方法、data.table、dplyr等方案
- Vue中用TypeScript改写JavaScript及装饰器使用
- 实验五 输入输出练习_JAVA
- Deeplearning 入门篇
- Java数据结构习题_算法分析
- 将 ASP.NET Core 2.1 升级到最新的长期支持版本ASP.NET Core 3.1
- arial字体可以商用吗_【工作总结】莫让字体版权引火上身
- 手机优酷缓存的视频在哪找
- python 什么是序列_从零起步学Python——什么是序列?
- html css底部弧度,CSS实现底部弧度效果
- ET2017万能免狗安装包(不弹窗)
- 【matlab笔记】寻找极小值
- [IE8]開發自己站台的視覺化搜尋(Visual Search)
- python判断是否闰年_【python】判断年份是否为闰年
- ECShop 替换手机版购物首页(2)
- 计算机图形学——八分法中点画圆
- 用串口操作手机收发短信总结
- 谷歌浏览器突然翻译不了怎么办?
- VB和VB.net环境下链接Access、SQL数据库的方法及技巧(Access篇)
- 【HTML + CSS】如何引入icon图标
热门文章
- druid连接池以及数据源了解
- 时区 java 巴黎,关于时区:Java没有有关所有IANA时区的信息
- java字符串转json_java 字符串转成 json 数组并且遍历
- wav pcm数据是带符号的吗_UE4 C++基础教程 - 基础数据结构
- xbox手柄 查看您的控制器保修_Xbox的“异形手柄”开始让残疾的老兵重新享受游戏的乐趣...
- python qt gui快速编程_《PYTHON QT GUI快速编程 PYQT编程指南》源码
- mysql内外三种连接_mysql之内连接,外连接(左连接,右连接),union,union all的区别...
- antd中tooltip换行_ant design 中实现表格头部可删除和添加
- ctc与临时限速服务器信息,基于CTC站场图图形元素设置高速铁路临时限速的方法...
- linux arm. 快速启动,教你如何快速启动Linux 系统