type)について記述している。ここで選択された型の集合は以下に示される様々な公開された資料にある共通の集合に基づいている。Eiffel.openEHRには二つの意図がある。第1には、モデルをベースとしたopenEHRのソフトウェアを保証するために、既存の実装技術を使ってできるだけ簡単に構築することである。第2には、便利に指定できるopenEHRモデルとして有効であるようにすると同時に、実装形式でみられる型について最小限想定しておくことである。Datatypes1)」の基本的セマンティクスが提示されており、本文書では型について想定されることについて記述するための基準となる基礎として利用している。11404で使われているものと互換性を持つが、11404がオブジェクト指向の関数を持たないためまったく同じではない。Set<T>)関数が定義されている。!IsIn関数が定義されていると通常は「そのsubsetである」ことを意味する。開発者のために明確な正確性を期するためにオブジェクト指向形式の関数やプロパティを本文書では使用している。here.ISO8601:2004は想定される日時型の定義的な基礎として利用している。XMLスキーマでもdate/time型の基礎として利用されている。type)は二つのグループに識別される。プリミティブ型は形式のための型システムとして組み込まれているものであり、形式で定義される(クラス)ライブラリで利用されると想定されるライブラリ型もそうである。ブール型は常に形式の中に存在すると想定されており、Array<T>型はライブラリで利用されると想定されている。実用のためには、二つのカテゴリはそう問題とはならない。String型は通常はライブラリ型であるが、それが組み込まれた型であってもプログラマには何の違いももたらさない。ここで二つに分けたのは便宜上の理由である。convenience.openEHRが既存の型に対して想定していることについては、インターフェースの定義の観点から下記のように記述されている。Model)で使用されている既定の型で必要となると想定されるものだけを収載していて、完全なインターフェース定義というわけではない。type)に関連してここで利用されている全ての機能の名前やセマンティクスは、いくつかの実装技術でみられるものとまったく同じではないことがある。Specification)で示されるべきものである。T)という操作を持っているが(Bool型(Boolean)はopenEHR仕様の全てで使われている)、JavaのSet<T>クラスにはcontains()というメソッドがある。Javaで実装する際には、has()メソッドの代わりにcontainsメソッドがJavaで表現されるopenEHRクラスの全てで使用されるはずである。Types以下の型はopenEHRの実装形式において想定される最小範囲内のプリミティブ型を構成している。8ビットの値を表現する型。“repertoire”)のメンバーの値を表現する型。論理的に真/偽値を表現する。32ビット実数をIEEE単精度浮動小数点を含む相互可用性のある表現であらわす。64ビット実数を表現する型。IEEEの倍精度浮動小数点を含む何らかの相互可用性を持つ表現をとる。Real図2は組み込みプリミティブ型を示している。単純継承を使うことで、以下に示す型についての記載を簡単にしている。"Any"クラスは一般的には全てのオブジェクト指向型システムで"Any"あるいは"Object"と呼ばれる最上位のものであることを表している。Anyクラスからの継承あるいはそれに対する大体可能性についてはopenEHRでは想定されていない(したがって、UMLでは点線で示されている)。11404のドキュメント内部にはDatatypesと表現されている。athttp://trac.edgewall.org/。