*1. piq和JSON的区别在哪里 Piq语言适合与人机交互,JSON则只是一种标准的、轻便的、高效的结构化数据的表达方式。 The Piq language is optimized for human interaction, whereas JSON is a standard, portable and reasonably efficient way of representing structured data.
与JSON不同的是,Piq中有comment批注和逐字文本。字段名称也没有逗号分割和引号。这些特征都使得PIq更适合查看结构化数据或者在文本编辑器中编辑结构化数据. Unlike JSON, Piq has comments and verbatim text literals. Also, there’s no comma-separators and quotes around field names. These and some other features make Piq a better choice for viewing structured data or editing it in a text editor.
Piq是一种强类型语言 JSON则是动态类型的. Piq is a strongly typed language and JSON is dynamically typed.
Piq的使用离不开Piqi数据定义.有了数据定义之后,它就比JSON更强大.比如 在Piq中 字段默认值 甚至说字段本身都可以省略. Piq can’t be used without Piqi data definitions. With data definitions, though, it is much more powerful than JSON. For example, in Piq, default field values and even field names can be omitted.
同时也可以在Piq中嵌入未分配类型的JSON. And it is possible to embed untyped JSON in Piq!
Piq的数据模型更加强大. Piq has a more powerful data model.
除了JSON所支持的所有数据类型,Piq/piqi还支持binary 二进制 enum枚举和variant(如tagged unions)还有一些其他优点 如支持浮点数NaN 正无穷 负无穷. In addition to all data types supported by JSON, Piq/Piqi supports binaries, enums and variants (i.e. tagged unions). There are some other goodies, such as support for floating point NaN, negative and positive infinities.
Piq在持续改进中 而JSON木已成舟. Piq is evolving, whereas JSON is set in stone.
Piq最终将支持半结构化数据. For example, Piq will eventually get support for semi-structured data.
需要注意的是 尽管存在差异,Piq格式的数据仍可以转换成JSON、XML、Protoco Buffer格式.这样你就可以使用PIq来对数据进行手动编辑,在其他目的下将其转换成其他格式即可. Note that despite all the differences, data represented in Piq can be reliably converted to and from JSON, XML and Protocol Buffers binary formats. This way one can use Piq for manual data editing and convert it to other formats for other purposes.
*2. Piqi与Protocol Buffer的区别/How Piqi compares to Protocol Buffers?
作为数据序列化系统,piqi与protocol buffer是类似的,也兼容它.事实上,Piqi主要是受其启发.然而 却存在一些本质上的设计差异. As a data serialization system, Piqi is very similar and compatible with Protocol Buffers. In fact, Piqi was largely inspired by it. However, there are some fundamental design differences.
Piqi是围绕着一个更加强大的数据模型而设计的. Piqi is designed around a more powerful data model.
另外 对于protocol buffer中支持的record记录、enum枚举 、user-defined types自定义类型,Piqi中有list、type aliase和variant. In addition to record and enum user-defined types supported by Protocol Buffer, Piqi has lists, type aliases and variants (aka tagged unions).
支持丰富的数据类型,这对于高级编程语言如OCaml和Erlang相当重要.比如,没有了list和variant,在处理数据时,就无法充分使用这些语言的功能. Rich type support really makes a difference for high-level programming languages such as OCaml and Erlang. For example, without lists and variants, one can’t use utilize full potential of these languages when working with data.
相反的,protocol Bufffer是为Java、Python、C++等面向对象的语言设计的. In contrast, Protocol Buffers was designed for object-oriented Java, Python and C++ languages.
Piqi是一种高级的数据定义语言. Piqi is a high-level data definition language.
list、variant、record和aliase的组合可以很好地定义任何复杂的数据结构.在这方面protocol Buffer数据定义语言的层次就太低了. Combination of lists, variants, records and aliases can be used to define any complex data structure in a very expressive way. Protocol Buffers data definition language is too low-level in this respect.
Portocol Buffer DDL的一些特性 如嵌套定义会给数据定义的表达能力带来负面作用.Piqi中拿掉了这些特性. Some Protocol Buffers DDL’s features, like nested definitions, can negatively affect expressiveness of data definitions. Piqi avoids such features.
The conundrum of the observation-concern-problem-diagnosis continuum in my view is a form of progressive alerting or risk communication. Additionally as we move from a traditional medical record to a health record to a care plan, we are entering new territory in terminology and users.
From the clinical perspective, a “Health Concern” is:
“a health related matter that is of interest, importance or worry to someone, who may be the patient, patient’s family or patient’s health care provider”
A condition may or may not be considered a health concern, depending on whose perspective.
For example, anorexic nervosa – a patient will be adamant that this is definitely NOT a health concern from his/her perspective. But the patient’s family and a health provider will consider that as a health concern
The same applies to over-weight (or under-weight), smoking, alcohol use …..
Some condition when categorized as health concern, may or may not be actioned upon.
For example, a 98 yo patient recently diagnosed with breast cancer, the patient and family acknowledge that it is a health concern, but do not want any intervention beyond a passive watch.
From the technical perspective, the “Health Concern” is a tracker/tracking mechanism:
“contains no semantics beyond that need for tracking, excepting the link between related Conditions (as identified through ObservationEvent or ObservationRisk assessments conveying Event, Clinical Finding, Disorder assertions, etc).”
The definition and examples on “Health Concern” from clinical perspectives have been approved by PCWG at the San Antonio meeting.
We are still working on the formal definition of “health concern” as tracker.
It is worth noting that once a condition is considered as a health concern, it may or may not get “removed” from the health concern tracking, even though that condition has been deemed clinically as “resolved” or “in remission”.
For example:
leukaemia (and other conditions such as gout) in remission, will not get removed from the health concern tracking. It will be tracked continuously.
Recurrent pyrogenic cholangitis when completely resolved after surgical intervention – antibiotic therapy, exploration of CBD to remove obstruction, cholecystectomy, etc. The condition may still get tracked as health concern for potential problem such as changes in weight cycling, steatorrhoea, colonic cancer risk, etc
To require tracking of patient’s health concern(s) is not a fantasy at all. It goes to the heart of patient safety.
模块化的Granular -它们是自身事务范围和操作的最小单元
独立的Independent -无需引用其他资源就可理解资源的内容
简单的Simple -每个资源都易于理解和实现 each resource is easy to understand and implement without needing tooling or infrastructure (though that can be used if desired)
RESTful - resources are able to be used ina RESTful exchange context
灵活的Flexible - 资源也可用于其他语境中如SOA架构、消息resources can also be used in other contexts, such as messaging or SOA architectures, and moved inand out of RESTful paradigms as convenient
可扩展Extensible -在不影响互操作性的前提下对资源扩展以满足本地化需求 resources can be extended to cater forlocal requirements without impacting oninteroperability
支持web Web Enabled - where possible or appropriate, openinternet standards are used for data representation
免费使用Free for use -FHIR标准本身是免费的-任何人都可以实现FHIR或者衍生出相关标准,没有任何的IP限制。
除了一些基本的资源之外,FHIR定义了一个轻量级的实现框架,支持这些资源在RESTful、典型的消息交互、以人为主的临床文档和企业SOA架构环境中的应用。每一种方法都有自己的优点——FHIR provides the underpinning enablement that makes the choosing one of these painless and enables enterprises to choose their own paradigm without forsaking interoperability with other paradigms.
尽管资源很简单 很容易理解,Though the resources are simple and easy to understand, they are backed by a thorough, global requirements gathering and formal modeling process that ensures that the content of the resources is stable and reliable. The resource contents are mapped to solid underlying ontologies and models using computable languages (including RDF) so that the definitions and contents of the resources can be leveraged by computational analysis and conversion processes.
FHIR also provides an underlying conformance framework and tooling that allows different implementation contexts and enterprises to describe their context and use of resources in formal computable ways and to empower computed interoperability that leverages both the conformance and definitional frameworks.
The combination of the resources and the 3 supporting layers (implementation frameworks, definitional thoroughness, and conformance tooling) frees healthcare data so that it can easily flow to where it needs to be (hospital production systems, mobile clinical systems, cloud based data stores, national health repositories, research databases, etc.) without having to pass through format and semantic inter-conversion hurdles along the way.
Compared to the all the other approaches, FHIR… [— Obligatory: insert your FHIR FIRE related joke here —]. 该规范包含如下部分: 基本架构:定义和使用资源最基本的一些(资源格式、基本数据类型、管理编码的框架、使用扩展的规则、规范资源如何使用的方法) 交换协议:用以支持资源的交换((HTTP RESTful协议、消息和文档以及一个通用的实现网页) 管理性资源:整个医疗流程中遇到的基本资源 基本的临床/医学组件:大多数临床实践中能够遇到的核心可重用临床资源 Resources 所有资源都包含以下部分: 一个永不会变的主id 结构化数据-资源的计算机化的正式表示 扩展性章节-HL7中没有定义的额外数据 文本表示-人可读的表示
自去年Grahame Grieve引出v3 has failed的讨论之后,RFH的出现似乎给HL7带来了一些生机。从RFH到FHIR 自是经过一番努力。越来越多的人对此表示出极大的兴趣,菜鸟我也不例外。故拟在后面的一些篇章中对目前所有的一些的资料进行一些简单的介绍和试译。 来到Grahame Grieve自己维护的博客主站(链接)上,在右侧links处即可看到一些相关信息,点击Fast Health Interoperability Resources即可进入,本文中将尝试对此主页上的内容做简要介绍。 20120814更新 Warning: FHIR is a draft specification that is still undergoing development prior to balloting as a full HL7 standard 作者2次强调了这一点 FHIR仍然处于开发之中 并不是一个完整的HL7的投票版标准 首先是一些外链。 Infrastructure基本架构 简介Introduction 资源格式Resource Format 数据类型Data Types 编码与术语Codes & Terminologies 扩展性Extensibility 资源规范Profiling Resources Exchange交换
Fast Healthcare Interoperability Resources 定义了一个医疗卫生资源的集合。这些资源所表达的是一个个模块化的医学概念,在医疗保健及相关流程中通过交换实现快速高效地解决问题。这些资源涵盖了医疗卫生的基本元素-病人、入院、诊断报告、药物和问题列表以及其中的一些参与者,同时也支持更加丰富和复杂的临床模型。资源的简单的直接的定义是基于充分的需求收集、正规分析以及与其他标准的交叉对应而来。
Useful Links有用的链接
FHIR规范The FHIR specification
chm格式的规范The specification as a Windows Help File (.chm)
单个html格式的规范The specification in a single book
zip格式的完整规范A Zip of the whole specification for offline use
FHIR的schemaFHIR Schemas
参考实现Reference Implementations
FHIR的维基FHIR wiki - home for FHIR development team
Version0.02, LastVersion, May 28, 2012. (Diff withcurrent)
Version0.01, First Archived Version (During Vancouver WGM), May 14, 2012. (Diff withcurrent)
公开的测试服务器Publicly Available Test ServersFHIR License
FHIR属于HL7所有,维护也归HL7。
你可以重新发布FHIR
你可以构建衍生规范或者是产品以及服务的实现
你不能因你的规范中使用了FHIR的内容从而声称HL7或其中任一成员认可你的衍生规范
任意HL7或者此规范的参与人员对你对FHIR的使用不负任何责任
注意:为什么不使用开源的标准许可证?我们想使用 Creative Commons或者 a license listed here其中之一,但都不是用最朴实的英语来描述的。尽管专利是个问题,我们仍渴望能够满足开源项目的这些需求these requirements from the Open Source Initiative。
然而我们解决了长期许可证的问题,我们应用如下许可证,它是根据OMG的改编而成:
Subject toallof the terms and conditions below, HL7 hereby grants you a fully-paid up, non-exclusive, nontransferable, perpetual, worldwide license (without the rightto sublicense), touse this specification tocreateand distribute software and special purpose specifications that are based upon this specification, andtouse, copy, and distribute this specification as provided under the United States Copyright Act; provided that:
both the copyright notice identified above and this permission notice appear on any copies of this specification;
the useof the specifications isfor informational purposes and will not be resold or transferred for commercial purposes;
no modifications are made to this specification.
This limited permission automatically terminates without notice if you breach any of these terms or conditions. Upon termination, you will destroy immediately any copies of the specifications in your possession or control.
GENERAL USE RESTRICTIONS
Any unauthorized useof this specification may violate copyright laws, trademark laws, and communications regulations and statutes. This document contains information which is protected by copyright. All Rights Reserved. No part of this work covered by copyright herein may be reproduced or used inany form orbyany means--graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems--without permission of the copyright owner.
DISCLAIMER OF WARRANTY
WHILE THIS PUBLICATION IS BELIEVED TO BE ACCURATE, IT IS PROVIDED "AS IS"AND MAY CONTAIN ERRORSOR MISPRINTS. HL7 MAKES NO WARRANTY OFANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS PUBLICATION, INCLUDING BUT NOT LIMITED TOANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE ORUSE. INNOEVENT SHALL HL7 BE LIABLE FORERRORS CONTAINED HEREIN ORFOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, RELIANCE OR COVER DAMAGES, INCLUDING LOSS OF PROFITS, REVENUE, DATAORUSE, INCURRED BYANYUSERORANY THIRD PARTY INCONNECTIONWITH THE FURNISHING, PERFORMANCE, ORUSEOF THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
The entire risk asto the quality and performance of software developed using this specification is borne by you. This disclaimer of warranty constitutes an essential part of the license granted to you touse this specification.
CONFORMANCEHL7 isand shall atall times be the sole entity that may authorize developers, suppliers and sellers of computer software or specifications touse certification marks, trademarks or other special designations to indicate compliance withwith FHIR. Software developed under the terms of this license may claim compliance or conformance with FHIR ifandonlyif the software compliance isof a nature fully matching the applicable conformance points as stated in the FHIR specification. Software developed only partially matching the applicable compliance points may claim only that the software was based on FHIR, but may not claim compliance or conformance with this specification. In the event that testing suites or processes are implemented or approved by HL7, Inc., software developed using this specification may claim compliance or conformance with the FHIR specification onlyif the software satisfactorily completes the testing suites.
FHIR的存档版本Archived Versions of FHIR
这里的存档只保存了重要的历史版本,也只有单个html的格式,仅用在html diff工具中。
Version0.04, 投票前的最终版 / Connectathon stable source (compare with this to see what has changed during the freeze). (Diff withcurrent)
Version0.03, June 6, 2012. (Diff withcurrent)
Version0.02, LastVersion, May 28, 2012. (Diff withcurrent)
Version0.01, First Archived Version (During Vancouver WGM), May 14, 2012. (Diff withcurrent)