= アーキタイプ定義言語 1.4 = この文書は[http://www.openehr.org/svn/specification/TAGS/Release-1.0.1/publishing/architecture/am/adl.pdf ADL 1.4]の翻訳です。内容の正確性については保証しないので原文を参照してください。 [[TOC]] == Copyright Notice == © Copyright openEHR Foundation 2001 - 2007 All Rights Reserved 1. This document is protected by copyright and/or database right throughout the world and is owned by the openEHR Foundation. 1. You may read and print the document for private, non-commercial use. 1. You may use this document (in whole or in part) for the purposes of making presentations and education, so long as such purposes are non-commercial and are designed to comment on, further the goals of, or inform third parties about, openEHR. 1. You must not alter, modify, add to or delete anything from the document you use (except as is permitted in paragraphs 2 and 3 above). 1. You shall, in any use of this document, include an acknowledgement in the form: "© Copyright openEHR Foundation 2001-2007. All rights reserved. www.openEHR.org" 1. This document is being provided as a service to the academic community and on a non-commercial basis. Accordingly, to the fullest extent permitted under applicable law, the openEHR Foundation accepts no liability and offers no warranties in relation to the materials and documentation and their content. 1. If you wish to commercialise, license, sell, distribute, use or otherwise copy the materials and documents on this site other than as provided for in paragraphs 1 to 6 above, you must comply with the terms and conditions of the openEHR Free Commercial Use Licence, or enter into a separate written agreement with openEHR Foundation covering such activities. The terms and conditions of the openEHR Free Commercial Use Licence can be found at [http://www.openehr.org/free_commercial_use.htm http://www.openehr.org/free_commercial_use.htm] == Trademarks == “Microsoft” and “.Net” are registered trademarks of the Microsoft Corporation. “Java” is a registered trademark of Sun Microsystems. “Linux” is a registered trademark of Linus Torvalds. == Acknowledgements == Sebastian Garde, Central Qld University, Australia, for german translations. == 1. はじめに == 1. Introduction === 1.1 目的 === 1.1 Purpose この文書にはアーキタイプ定義言語(ADL; Archetype Definition Language)の文法と設計原則について記述されている。想定する読者はソフトウェア開発者や技術指向のドメインスペシャリスト、技術顧問(SME; Subject Matter Expert)である。ADLは当初ツールによって読み書きすることを想定していたが、人間にとっても読むことができるものであり一般のテキストエディタを使ってADLアーキタイプを手で編集することもできる。 This document describes the design basis and syntax of the Archetype Definition Language (ADL). It is intended for software developers, technically-oriented domain specialists and subject matter experts (SMEs). Although ADL is primarily intended to be read and written by tools, it is quite readable by humans and ADL archetypes can be hand-edited using a normal text editor. 想定する読者を下記に示す * 健康情報の標準を作成する標準化団体 * openEHRを使ってソフトウェア開発をする団体 * openEHRを使う学術グループ * オープンソースヘルスケアコミュニティ * 医療情報学者や健康情報に興味を持つ臨床家 * 健康データの管理者 The intended audience includes: * Standards bodies producing health informatics standards; * Software development organisations using openEHR; * Academic groups using openEHR; * The open source healthcare community; * Medical informaticians and clinicians interested in health information; * Health data managers. === 1.2 関連する文書 === 1.2 Related Documents この文書を読む前に読むべき文書は以下のものである。 * openEHR技術概要 ([http://www.openehr.org/svn/specification/TAGS/Release-1.0.1/publishing/html/architecture/overview/Output/front.html Original], [wiki:"Archtectural Overview" 日本語訳]) 関連する文書は以下のものである * [http://www.openehr.org/svn/specification/TAGS/Release-1.0.1/publishing/architecture/am/aom.pdf openEHRアーキタイプオブジェクトモデル] * [http://www.openehr.org/svn/specification/TAGS/Release-1.0.1/publishing/architecture/am/openehr_archetype_profile.pdf openEHRアーキタイププロファイル] Prerequisite documents for reading this document include: * The openEHR Architecture Overview Related documents include: * The openEHR Archetype Object Model (AOM) * The openEHR Archetype Profile (oAP) === 1.3 命名規則 === 1.3 Nomenclature この文書では、「属性」(attribute)はオブジェクトもデルで定義された型に登録される任意のプロパティを意味する。プリミティブ属性や関連や集約といった関係を表す種類の属性も含まれる。XML「属性」(XML 'Attribute')は常に明示的に「XML属性」(XML attribute)と常に表記します。 In this document, the term ‘attribute’ denotes any stored property of a type defined in an object model, including primitive attributes and any kind of relationship such as an association or aggregation. XML ‘attributes’ are always referred to explicitly as ‘XML attributes’. === 1.4 状況 === 1.4 Status この文書は開発段階のものであり、標準プロセスに提案し、実装作業を行うために発行されている。 This document is under development, and is published as a proposal for input to standards processes and implementation works. この文書は http://www.openehr.org/specification/TAGS/Release-1.0.1/publishing/architecture/am/adl.pdf で入手できる。 This document is available at http://www.openehr.org/specification/TAGS/Release-1.0.1/publishing/architecture/am/adl.pdf. この文書の最新版は http://www.openehr.org/specification/TAGS/Release-1.0.1/publishing/architecture/am/adl.pdf から入手できる。 The latest version of this document can be found in PDF format at http://svn.openehr.org/specification/TRUNK/publishing/architecture/am/adl.pdf. 新しいバージョンが出れば、openehr-announce@openehr.org で案内される。 New versions are announced on openehr-announce@openehr.org. == 2 概要 == 2 Overview === 2.1 ADLとは何か === 2.1 What is ADL? アーキタイプ定義言語(ADL; Archetype Definition Language)はアーキタイプを表現する形式言語であり、ドメインエントリーの制約ベースのモデルである。つまり、「構造化されたビジネスルール」といってもいいようなものである。アーキタイプの概念はBealによって記載されている[[FootNote(Beale T. Archetypes: Constraint-based Domain Models for Future-proof Information Systems. OOPSLA 2002 workshop on behavioural semantics.[BR] Available at http://www.deepthought.com.au/it/archetypes.html)]], [[FootNote(Beale T. Archetypes: Constraint-based Domain Models for Future-proof Information Systems. OOPSLA 2002 workshop on behavioural semantics.[BR] Available at http://www.deepthought.com.au/it/archetypes.html)]]。 Archetype Definition Language (ADL) is a formal language for expressing archetypes, which are constraint-based models of domain entities, or what some might call ‘structured business rules’. The archetype concept is described by Beale [1], [2]. The openEHR Archetype Object Model [3] describes the definitive semantic model of archetypes, in the form of an object model. The ADL syntax is one possible serialisation of an archetype. The openEHR archetype framework is described in terms of Archetype Definitions and Principles [6] and an Archetype System [7]. Other semantic formalisms considered in the course of the development of ADL, and some which remain relevant are described in detailed in section 10 on page 109. ADL uses three other syntaxes, cADL (constraint form of ADL), dADL (data definition form of ADL), and a version of first-order predicate logic (FOPL), to describe constraints on data which are instances of some information model (e.g. expressed in UML). It is most useful when very generic information models are used for describing the data in a system, for example, where the logical concepts PATIENT, DOCTOR and HOSPITAL might all be represented using a small number of classes such as PARTY and ADDRESS. In such cases, archetypes are used to constrain the valid structures of instances of these generic classes to represent the desired domain concepts. In this way future-proof information systems can be built - relatively simple information models and database schemas can be defined, and archetypes supply the semantic modelling, completely outside the software. ADL can thus be used to write archetypes for any domain where formal object model(s) exist which describe data instances. When archetypes are used at runtime in particular contexts, they are composed into larger constraint structures, with local or specialist constraints added, via the use of templates. The formalism of templates is dADL. Archetypes can be specialised by creating an archetypes that reference existing archetypes as parents; such archetypes can only make certain changes while remaining compatible with the parent. Another major function of archetypes is to connect information structures to formal terminologies. Archetypes are language-neutral, and can be authored in and translated into any language. Finally, archetypes are completely path-addressable in a manner similar to XML data, using path expressions that are directly convertible to Xpath expressions. 2.1.1 Structure Archetypes expressed in ADL resemble programming language files, and have a defined syntax. ADL itself is a very simple “glue” syntax, which uses two other syntaxes for expressing structured constraints and data, respectively. The cADL syntax is used to express the archetype definition, while the dADL syntax is used to express data which appears in the language, description, ontology, and revision_history sections of an ADL archetype. The top-level structure of an ADL archetype is shown in FIGURE 1. [[FootNote]]