2010年5月27日 星期四

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來定義

沒有留言:

張貼留言