プロジェクト

全般

プロフィール

YADL » 履歴 » バージョン 3

KOBAYASHI Shinji, 2011/04/11 13:45

1 1 KOBAYASHI Shinji
h1. YADL
2
3
h2. Background
4
5
ADL is one of the openEHR official formalism to express archetype, defined as "ADL 1.4"http://www.openehr.org/svn/specification/TRUNK/publishing/architecture/am/adl1.4.pdf
6 2 KOBAYASHI Shinji
Many archetypes are registered on "Clinical Knowledge Manager":http://www.openehr.org/knowledge/ shown such as bellow:
7 1 KOBAYASHI Shinji
<pre>
8 2 KOBAYASHI Shinji
archetype (adl_version=1.4)
9 3 KOBAYASHI Shinji
	openEHR-EHR-OBSERVATION.sample.v1
10 2 KOBAYASHI Shinji
11 1 KOBAYASHI Shinji
concept
12 3 KOBAYASHI Shinji
	[at0000]	-- sample archetype
13 1 KOBAYASHI Shinji
language
14 3 KOBAYASHI Shinji
	original_language = <[ISO_639-1::ja]>
15 1 KOBAYASHI Shinji
description
16
	original_author = <
17 3 KOBAYASHI Shinji
		["name"] = <"">
18 1 KOBAYASHI Shinji
	>
19
	details = <
20 3 KOBAYASHI Shinji
		["ja"] = <
21
			language = <[ISO_639-1::ja]>
22
			purpose = <"">
23
			use = <"">
24
			misuse = <"">
25 1 KOBAYASHI Shinji
		>
26 3 KOBAYASHI Shinji
	>
27
	lifecycle_state = <"0">
28
	other_contributors = <>
29
	other_details = <
30
		["references"] = <"">
31
		["MD5-CAM-1.0.1"] = <"F5DEA5434726E79CFB3CEA0A7796E501">
32
	>
33 1 KOBAYASHI Shinji
34 3 KOBAYASHI Shinji
definition
35
	OBSERVATION[at0000] matches {	-- sample archetype
36
		data matches {
37
			HISTORY[at0001] matches {	-- Event Series
38
				events cardinality matches {1..*; unordered} matches {
39
					EVENT[at0002] occurrences matches {0..1} matches {	-- Any event
40
						data matches {
41
							ITEM_TREE[at0003] matches {	-- Tree
42
								items cardinality matches {0..*; unordered} matches {
43
									ELEMENT[at0004] occurrences matches {0..1} matches {	-- Description
44
										value matches {
45
											DV_TEXT matches {*}
46
										}
47
									}
48
								}
49
							}
50
						}
51
					}
52
				}
53
			}
54
		}
55
	}
56 1 KOBAYASHI Shinji
57 3 KOBAYASHI Shinji
ontology
58
	term_definitions = <
59
		["ja"] = <
60
			items = <
61
				["at0000"] = <
62
					text = <"sample archetype">
63
					description = <"sample archetype to discuss its  formalism.">
64
				>
65
				["at0001"] = <
66
					text = <"Event Series">
67
					description = <"@ internal @">
68
				>
69
				["at0002"] = <
70
					text = <"Any event">
71
					description = <"*">
72
				>
73
				["at0003"] = <
74
					text = <"Tree">
75
					description = <"@ internal @">
76
				>
77
				["at0004"] = <
78
					text = <"Description">
79
					description = <"*">
80
				>
81
			>
82
		>
83
	>
84 1 KOBAYASHI Shinji
</pre>
85
86
Otherwise, ADL is not so common formalism such as XML or OWL.
87
XML serialisation is considered more popular alternative to express archetype.
88
XML form of archetype is shown bellow
89
<pre>
90
<?xml version="1.0"?>
91
<archetype xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.openehr.org/v1">
92
  <original_language>
93
    <terminology_id>
94
      <value>ISO_639-1</value>
95
    </terminology_id>
96 3 KOBAYASHI Shinji
    <code_string>ja</code_string>
97 2 KOBAYASHI Shinji
  </original_language>
98
  <description>
99 3 KOBAYASHI Shinji
    <original_author id="name" />
100
    <lifecycle_state>0</lifecycle_state>
101
    <other_details id="MD5-CAM-1.0.1">F5DEA5434726E79CFB3CEA0A7796E501</other_details>
102 2 KOBAYASHI Shinji
    <details>
103
      <language>
104
        <terminology_id>
105
          <value>ISO_639-1</value>
106
        </terminology_id>
107 3 KOBAYASHI Shinji
        <code_string>ja</code_string>
108
      </language>
109
      <purpose />
110
      <use />
111
      <misuse />
112
    </details>
113
  </description>
114
  <archetype_id>
115
    <value>openEHR-EHR-OBSERVATION.sample.v1</value>
116
  </archetype_id>
117
  <adl_version>1.4</adl_version>
118
  <concept>at0000</concept>
119
  <definition>
120
    <rm_type_name>OBSERVATION</rm_type_name>
121
    <occurrences>
122
      <lower_included>true</lower_included>
123
      <upper_included>true</upper_included>
124
      <lower_unbounded>false</lower_unbounded>
125
      <upper_unbounded>false</upper_unbounded>
126
      <lower>1</lower>
127
      <upper>1</upper>
128
    </occurrences>
129
    <node_id>at0000</node_id>
130
    <attributes xsi:type="C_SINGLE_ATTRIBUTE">
131
      <rm_attribute_name>data</rm_attribute_name>
132
      <existence>
133
        <lower_included>true</lower_included>
134
        <upper_included>true</upper_included>
135
        <lower_unbounded>false</lower_unbounded>
136
        <upper_unbounded>false</upper_unbounded>
137
        <lower>1</lower>
138
        <upper>1</upper>
139
      </existence>
140
 ... snips ...
141
      <items code="at0004">
142
        <items id="text">Description</items>
143
        <items id="description">*</items>
144 2 KOBAYASHI Shinji
      </items>
145
    </term_definitions>
146
  </ontology>
147
</pre>
148 3 KOBAYASHI Shinji
149
XML form is exploding by tags and lacks simplicity of ADL formalism.
150
YAML form is remarked as easy and simple formalism, which is recognised te be an alternative for XML.
151
Sample YAML form is considered as bellow:
152
<pre>
153
arhetype:
154
  archetype_id: openEHR-EHR-OBSERVATION.sample.v1
155
  concept:
156
    at0000: sample archetype
157
  language:
158
    original_language: [ISO_639-1::ja]
159
  description:
160
..snips..
161
</pre>
162
YAML format is more similar to ADL than XML and seems very comprehensive form. So our project will challenge to implement YADL(Yet another ADL) as alternative formalism for archetype and our Ruby implementation.
163
164
h2. Methods
165
166
We should implement YAML scheme to express archetype as cADL and YAML instance to express dADL.
167
168
h2. Result
169
170
on going.