2010年5月30日 星期日

HL7 V3 Vocabulary Domain規格主要架構

 

在HL7標準中大量地使用了許多的編碼來做為屬性的值,這些值多數都必需為來自許多的coding system所定義的編碼值,有些coding system是HL7內建提供的,有些則是HL7以外提供的,如LOINC編碼。在HL7的 Vocabulary規格書中,定義了這些所有可能會使用到的編碼,以及這些編碼所描述的概念(Coded concepts)。下圖展現出整個Vocabulary中,每個元件的關係。HL7 Vocabulary的網址為http://www.hl7.org/v3ballot/html/infrastructure/vocabulary/vocabulary.htm#voc-sets

image

首先,Vocabulary domain是最抽象化的一層,它將所有相關的concepts做一個群組、歸類,每個domain的群組都有其唯一的name及description。

ValueSetContext則透過contextExpression提供一個方法來描述在某種VocabularyDomain中的某個情境下,可以使用那個ValueSet來描述該屬性值。因為一個Vocabulary domain可與多個ValueSet產生連結,此時就要使用ValueSetContext來描述在那個情境之下,適合使用那一組的ValueSet。

ValueSet是一組的CodedConcept,透過definingExpress描述每個CodeSystem中,各有那些CodedConcept適合被納入該ValueSet。ValueSet也有name及description來描述該ValueSet的定義。一個ValueSet可以與多個VocabularyDomain結合;而一個VocabularyDomain也可與多個ValueSet結合,也就是說ValueSet與VocabularyDomain是多對多的關係

每個CodeSystem依照其所在領域,為該領域中所要描述的概念都做一個編碼,而形成一個個的CodedConcpet。CodeSystem在定義CodedConcept時,為這些concept給定一個編碼,即為conceptCode。而每一個CodedConcept也會有自己的conceptDesignation,也就是該Concept的名字。HL7允許一個CodedConcept有多個名字,這種情況主要是用來支援多國語言之用。

2010年5月27日 星期四

如何讀 CDA RMIM Model

HL7 Graphic Conventions for Derived Information Models

出處: http://wiki.hl7.org/index.php?title=Naming_Rules_For_HL7_Static_Information_Models

Although HL7's graphic conventions for representing derived models (RMIMs) are not strictly part of the naming rules, they reflect other rules imposed on the information model designers that do interact with the names to affect one's understanding of models. This section looks at the sub-set of those conventions that reflects class and association names.

The figure below represents a small "RMIM design" presented using HL7's graphic conventions with annotations (numbered boxes and colored arrows) added.

image

The diagram shows five regular (rectangular) classes from the backbone, two "arrow" classes" and one class from outside the backbone (deep blue). The conventions of interest are:

  • All "non-arrow" classes have their class name as their primary label (annotations 1 & 2)
  • The "arrow" classes have their association name (from the perspective of the starting class) as their primary label (annotation 1A)
  • The class names of the "non-arrow" classes may be either their "formal name" (annotation 1) or a business name (annotation 2)
  • Association names from any class to a "non-arrow" class are displayed adjacent to the class at the end of the association. This name must be the formal name which may be either the name of the ending class (annotation 3) or an alternate (annotation 4).
  • Association names from any class to an "arrow" class are displayed as the primary label of the "arrow" class (annotation 1A).

For comparison, the following figure shows the same model diagramed using UML conventions.

image

In this circumstance, the figure shows the class name for all classes and associations, but it fails to illustrate:

  • The associative function of the "arrow classes"
  • The cardinality constraints imposed on attributes
  • The appearance constraints (mandatory and required) imposed on attributes..
  • Vocabulary domain constraints applied to classCode, typeCode and moodCode values which establish the essential semantic meaning of each class
  • The coding strength constraint applied to coded attributes

HL7 Information Model 的 Naming Rule

出處:http://wiki.hl7.org/index.php?title=Naming_Rules_For_HL7_Static_Information_Models

命名的Style:

除了一個特例之外,在HL7 Information Model 中所有的名稱都必需Follow下面的Naming Rule

  • 所有的Class名稱都必需採用UpperCamelCase的方式命名,即若Class名稱由多個字組成,每個字的第一個字元必需大寫,同時,Class名稱第一個字母也要大寫。例如 ClinicalDocument
  • 所有的attribute名稱必需採用lowerCamelCase的方式命名,即若attribute名稱由多個字組成,每個字的第一個字元必需大寫,同時,attribute名稱的第一個字的字母需小寫。例如 manufacturerModelName

上面提到的特例為,當所指定的名稱是指向Common Message Element Types(CMETs)時,則第一個字是RIM Model裡面定義的Class,之後的字才是其它適合的Class名稱,而這兩個字必需用底線 “_”連接起來。這樣可以避免出現名稱的衝突

命名的Governing Principle

  1. 由RIM 核心類別clone出來的類別需由type code或class code來賦予唯一的定義(若為Act需再加上moodCode;而Entity則要再加determinerCode)。而HL7應該有一套方法,協助給予這些clone出來的class唯一的formal name
  2. 這些formal name應該要
    • 針對由Act、Role及 Entity clone出來的class,formal name必需遵守classCode定義的constraint。而對於Act和Entity,則分別還要再用moodCode及determinerCode來進一步給予其定義
    • 對於由ActRelationship、Participation及RoleLink所clone出來的class,formal name需遵守typeCode定義的constraint
    • 對於由其它RIM class所clone出來的class,則需遵守該class的名稱constraint?
  3. 對於ActRelationship、Participation及RoleLink等類別(稱之為arrow classes),clone name必需為該clone的formal name,透過另外加上字尾的方式,以避免語意不清
  4. ActRationship、Participation及RoleLink以外的class而clone出來的class,可以自訂其business name,只是這個business name並不具備語意上的意義,語意上的說明,必需是由classCode…等這些structural code來定義

2010年5月19日 星期三

Salseforce.com 被 M$ 告了

M$說Salseforce.com一共侵犯了9個patent

出處:

http://techcrunch.com/2010/05/18/microsoft-sues-salesforce-claims-infringement-on-nine-patents/

Microsoft has filed a lawsuit against Salesforce.com, alleging that the CRM company is infringing on nine of its patents. The move is somewhat surprising, as this is only the fourth time that Microsoft has sued another company for patent violations (though it has been the target of plenty of them). Here’s the statement from Horacio Gutierrez, Microsoft’s corporate vice president and deputy general counsel of Intellectual Property and Licensing:

“Microsoft has filed an action today, in the U.S. District Court for the Western District of Washington, against Salesforce.com for infringement of nine Microsoft patents by their CRM product.

Microsoft has been a leader and innovator in the software industry for decades and continues to invest billions of dollars each year in bringing great software products and services to market. We have a responsibility to our customers, partners, and shareholders to safeguard that investment, and therefore cannot stand idly by when others infringe our IP rights.”

The relevant patent names are:

  • Method and system for mapping between logical data and physical data
  • System and method for providing and displaying a web page having an embedded menu
  • Method and System for staking toolbars in a computer display.
  • Automated web site creation using template driven generation of active server page applications
  • Aggregation of system settings into objects
  • Timing and velocity control for displaying graphical information
  • Method and system for identifying and obtaining computer software from a remote computer
  • System and method for controlling access to data entities in a computer network

According to Cnet, in January Salesforce revealed in an SEC filing that “a large technology company” was accusing Salesforce of infringing on its patents. At the time, Salesforce was in discussions with the unnamed company and no litigation had been filed. Sounds like those negotiations didn’t work out. Salesforce declined to comment.

Read more: http://techcrunch.com/2010/05/18/microsoft-sues-salesforce-claims-infringement-on-nine-patents/#ixzz0oMdKnvzK