open_ehr 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +2 -0
- data/Guardfile +6 -4
- data/History.txt +4 -1
- data/README.rdoc +7 -7
- data/VERSION +1 -1
- data/lib/open_ehr/parser/adl_grammar.tt +4 -1
- data/lib/open_ehr/parser/cadl_grammar.tt +3 -3
- data/open_ehr.gemspec +6 -3
- data/spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.lab_test.v1.adl +376 -0
- data/spec/lib/open_ehr/parser/lab_test_parser_spec.rb +14 -0
- data/spec/spec.opts +1 -1
- metadata +41 -38
data/.rspec
ADDED
data/Guardfile
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
guard '
|
1
|
+
guard 'spork' do
|
2
|
+
watch('spec/spec_helper.rb')
|
3
|
+
end
|
4
|
+
|
5
|
+
guard 'rspec', :version => 2, :cli => '--drb' do
|
2
6
|
watch(%r{^spec/.+_spec\.rb})
|
3
7
|
watch(%r{^lib/(.+)\.rb}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
4
8
|
watch('spec/spec_helper.rb') { "spec" }
|
5
9
|
watch(%r{^lib/open_ehr/parser/.+\.tt}) { "spec/lib/open_ehr/parser" }
|
6
10
|
end
|
7
11
|
|
8
|
-
|
9
|
-
watch('spec/spec_helper.rb')
|
10
|
-
end
|
12
|
+
notification :libnotify, :timeout => 5, :transient => true, :append => false
|
data/History.txt
CHANGED
data/README.rdoc
CHANGED
@@ -5,11 +5,11 @@ Ruby openEHR implementation project.
|
|
5
5
|
|
6
6
|
= Version
|
7
7
|
|
8
|
-
Release-1.0.
|
8
|
+
Release-1.0.1
|
9
9
|
|
10
10
|
= Requirements
|
11
11
|
|
12
|
-
* Ruby 1.9.
|
12
|
+
* Ruby 1.9.2 or later recommended
|
13
13
|
* Tested with Ruby 1.9.3 on Linux and FreeBSD.
|
14
14
|
* It would work with some adjustment on Ruby 1.8 or earlier,
|
15
15
|
but not confirmed.
|
@@ -18,7 +18,7 @@ Release-1.0.0
|
|
18
18
|
|
19
19
|
== DESCRIPTION:
|
20
20
|
|
21
|
-
This is the fist stable branch version 1.0.
|
21
|
+
This is the fist stable branch version 1.0.x release of Ruby openEHR
|
22
22
|
implementation project. This release is based on openEHR specification
|
23
23
|
release 1.0.2. We implemented almost of the specifications of the openEHR.
|
24
24
|
The work is still in progress to implement related tools, such as
|
@@ -26,7 +26,7 @@ archetype validator or serializer.
|
|
26
26
|
The intention is to have a sample EHR to utilize all over the world
|
27
27
|
quickly with Ruby on Rails for many other porject.
|
28
28
|
From this release we changed license from MPL 1.1 to Apache 2.0 license,
|
29
|
-
as regards to the other openEHR
|
29
|
+
as regards to the other openEHR artefact license.
|
30
30
|
|
31
31
|
This package includes:
|
32
32
|
* ADL 1.4 parser
|
@@ -37,14 +37,14 @@ This package excludes:
|
|
37
37
|
* ADL validator(in progress)
|
38
38
|
* Data store/retrieve would be separate to the other project.
|
39
39
|
|
40
|
-
Almost all classes passed the test constructed by RSpec2
|
41
|
-
|
40
|
+
Almost all classes passed the test constructed by RSpec2. These spec
|
41
|
+
files are under /spec.
|
42
42
|
|
43
43
|
Some specifications are not well determined yet, such as rm/security
|
44
44
|
and so on. We postponed to implement such classes.
|
45
45
|
|
46
46
|
Terminology and Demographic server will be implemented in other
|
47
|
-
|
47
|
+
projects.
|
48
48
|
|
49
49
|
= Authors
|
50
50
|
* Main codes
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.1
|
@@ -159,7 +159,10 @@ module OpenEHR
|
|
159
159
|
:other_details => attrs['other_details'])
|
160
160
|
details[lang] = item
|
161
161
|
end
|
162
|
-
oc = params['other_contributors']
|
162
|
+
oc = params['other_contributors']
|
163
|
+
if oc.instance_of? Hash
|
164
|
+
oc = oc.values
|
165
|
+
end
|
163
166
|
OpenEHR::RM::Common::Resource::ResourceDescription.new(
|
164
167
|
:original_author => params['original_author'],
|
165
168
|
:other_contributors => oc,
|
@@ -82,7 +82,7 @@ module OpenEHR
|
|
82
82
|
rule c_complex_object_body
|
83
83
|
c_any '' {
|
84
84
|
def value(node)
|
85
|
-
Hash[:attributes => c_any.value(node)]
|
85
|
+
Hash[:attributes => [c_any.value(node)]]
|
86
86
|
end
|
87
87
|
}
|
88
88
|
/ c_attributes '' {
|
@@ -283,7 +283,7 @@ module OpenEHR
|
|
283
283
|
'*' space {
|
284
284
|
def value(node)
|
285
285
|
OpenEHR::AM::Archetype::ConstraintModel::CAttribute.new(
|
286
|
-
:path => node.path, :rm_attribute_name =>
|
286
|
+
:path => node.path, :rm_attribute_name => 'ANY',
|
287
287
|
:exsitence => OpenEHR::AssumedLibraryTypes::Interval.new(
|
288
288
|
:lower => 1, :upper => 1))
|
289
289
|
end
|
@@ -387,7 +387,7 @@ module OpenEHR
|
|
387
387
|
rule c_attr_values
|
388
388
|
c_any '' {
|
389
389
|
def value(node)
|
390
|
-
c_any.value
|
390
|
+
[c_any.value(node)]
|
391
391
|
end
|
392
392
|
}
|
393
393
|
/ c_object more_co:(c_object '')* {
|
data/open_ehr.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "open_ehr"
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Shinji KOBAYASHI", "Akimichi Tatsukawa"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2012-01-06"
|
13
13
|
s.description = "This project is an implementation of the openEHR specification on Ruby."
|
14
14
|
s.email = "skoba@moss.gr.jp"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
]
|
18
18
|
s.files = [
|
19
19
|
".document",
|
20
|
+
".rspec",
|
20
21
|
"Gemfile",
|
21
22
|
"Guardfile",
|
22
23
|
"History.txt",
|
@@ -228,6 +229,7 @@ Gem::Specification.new do |s|
|
|
228
229
|
"spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.apgar.v1.adl",
|
229
230
|
"spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.blood_pressure.v1.adl",
|
230
231
|
"spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl",
|
232
|
+
"spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.lab_test.v1.adl",
|
231
233
|
"spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.testassumedvalue.v1.adl",
|
232
234
|
"spec/lib/open_ehr/parser/adl14/openEHR-EHR-SECTION.findings.v1.adl",
|
233
235
|
"spec/lib/open_ehr/parser/adl14/openEHR-EHR-SECTION.reason_for_encounter.v1.adl",
|
@@ -264,6 +266,7 @@ Gem::Specification.new do |s|
|
|
264
266
|
"spec/lib/open_ehr/parser/duration_spec.rb",
|
265
267
|
"spec/lib/open_ehr/parser/dv_coded_text_parse_spec.rb",
|
266
268
|
"spec/lib/open_ehr/parser/empty_other_contributors_spec.rb",
|
269
|
+
"spec/lib/open_ehr/parser/lab_test_parser_spec.rb",
|
267
270
|
"spec/lib/open_ehr/parser/missing_language_spec.rb",
|
268
271
|
"spec/lib/open_ehr/parser/missing_purpose_spec.rb",
|
269
272
|
"spec/lib/open_ehr/parser/mixed_node_types_spec.rb",
|
@@ -399,7 +402,7 @@ Gem::Specification.new do |s|
|
|
399
402
|
s.homepage = "http://github.com/skoba/ruby-impl-openehr"
|
400
403
|
s.licenses = ["The openEHR Open Source Software license(mozilla tri-license)"]
|
401
404
|
s.require_paths = ["lib"]
|
402
|
-
s.rubygems_version = "1.8.
|
405
|
+
s.rubygems_version = "1.8.13"
|
403
406
|
s.summary = "Ruby implementation of the openEHR specification"
|
404
407
|
|
405
408
|
if s.respond_to? :specification_version then
|
@@ -0,0 +1,376 @@
|
|
1
|
+
archetype (adl_version=1.4)
|
2
|
+
openEHR-EHR-OBSERVATION.lab_test.v1
|
3
|
+
|
4
|
+
concept
|
5
|
+
[at0000] -- Laboratory test
|
6
|
+
language
|
7
|
+
original_language = <[ISO_639-1::en]>
|
8
|
+
translations = <
|
9
|
+
["ar-sy"] = <
|
10
|
+
language = <[ISO_639-1::ar-sy]>
|
11
|
+
author = <
|
12
|
+
["name"] = <"Mona Saleh">
|
13
|
+
>
|
14
|
+
>
|
15
|
+
>
|
16
|
+
description
|
17
|
+
original_author = <
|
18
|
+
["name"] = <"Dr Ian McNicoll">
|
19
|
+
["organisation"] = <"Ocean Informatics, United Kingdom">
|
20
|
+
["email"] = <"ian.mcnicoll@oceaninformatics.com">
|
21
|
+
["date"] = <"07/11/2009">
|
22
|
+
>
|
23
|
+
details = <
|
24
|
+
["en"] = <
|
25
|
+
language = <[ISO_639-1::en]>
|
26
|
+
purpose = <"To record the result of a laboratory test which may be used to record a single valued test but will often be specialised or templated to represent multiple value or 'panel' tests.
|
27
|
+
This archetype also acts as the parent for specialisations appropriate for more specific laboratory tests microbiology, histopathology.">
|
28
|
+
use = <"May be used to represent 'standard' single-value laboratory test results but will often be specialised or templated to represent multi-value results, sometimes referred to as panels. May also be specialised to more highly structured laboratory tests such as microbiology or histopathology.
|
29
|
+
|
30
|
+
Will normally be reported back to the requesting clinician within the context of an overall Composition-based laboratory report.">
|
31
|
+
keywords = <"lab", "pathology", "biochemistry", "haematology", "microbiology", "immunology", "laboratory">
|
32
|
+
misuse = <"Specialisations may be more appropriate for specific structured reports such as for microbiology or histopathology.">
|
33
|
+
copyright = <"© openEHR Foundation">
|
34
|
+
>
|
35
|
+
["ar-sy"] = <
|
36
|
+
language = <[ISO_639-1::ar-sy]>
|
37
|
+
purpose = <"لتسجيل نتيجة اختبار المعمل, و التي قد يتم استخدامها لتسجيل اختبار ذي قيمة واحدة, و عادة ما يتم بعد ذلك المزيد من التخصيص أو الوضع في قالب لتمثيل اختبار متعدد القيم أو رتل من الاختبارات.
|
38
|
+
و يمثل هذا النموذج كوالد (أب) للتخصيصات الأخرى لاختبارات معملية أكثر تحديدا مثل الميكروبيولوجيا و الهيستوباثولوجيا.">
|
39
|
+
use = <"قد يستخدم لتسجيل نتيجة اختبار المعمل, و التي قد يتم استخدامها لتسجيل اختبار ذي قيمة واحدة, و عادة ما يتم بعد ذلك المزيد من التخصيص أو الوضع في قالب لتمثيل اختبار متعدد القيم أو رتل من الاختبارات.
|
40
|
+
|
41
|
+
يتم بعد ذلك تقديم التقرير للطبيب السريري الذي قام بطلب الاختبار في سياق تقرير معملي متكامل.">
|
42
|
+
keywords = <"المعمل - المختبر", "الباثولوجيا - المرضية", "الكيمياء الحيوية", "الدمويات", "الميكروبيولوجيا", "المناعيات - علم المناعة">
|
43
|
+
misuse = <"قد تكون التخصيصات أكثر مناسبة للتقارير المركبة مثل حالات الميكروبيولوجيا أو الهيستوباثولوجيا.">
|
44
|
+
copyright = <"© openEHR Foundation">
|
45
|
+
>
|
46
|
+
>
|
47
|
+
lifecycle_state = <"AuthorDraft">
|
48
|
+
other_contributors = <"Koray Atalag, University of Auckland, New Zealand", "Heath Frankel, Ocean Informatics, Australia", "Sam Heard, Ocean Informatics, Australia (Editor)", "Heather Leslie, Ocean Informatics, Australia", "Ian McNicoll, Ocean Informatics, United Kingdom (Editor)", "David Rowed, VAMC Clinic, Australia (Editor)", "Mona Saleh (Translator)">
|
49
|
+
other_details = <
|
50
|
+
["MD5-CAM-1.0.1"] = <"F6054E644F13ABC06CEA75C74E058F8A">
|
51
|
+
["references"] = <"NEHTA, Australia. Pathology Episode v1.0 - Data Group library [Internet]. 2009;[cited 2009 Dec 8 ] Available from: http://www.nehta.gov.au/data-group-library/data-specifications/dgl-pathology
|
52
|
+
|
53
|
+
IHE. IHE, Laboratory Technical Framework, Volume 3 Content [Internet]. 2008;Available from: http://www.ihe.net/Technical_Framework/upload/ihe_lab_TF_rel2_1-Vol-3_FT_2008-08-08.pdf.">
|
54
|
+
>
|
55
|
+
|
56
|
+
definition
|
57
|
+
OBSERVATION[at0000] matches { -- Laboratory test
|
58
|
+
data matches {
|
59
|
+
HISTORY[at0001] matches { -- Event Series
|
60
|
+
events cardinality matches {1..*; unordered} matches {
|
61
|
+
EVENT[at0002] occurrences matches {0..*} matches { -- Any event
|
62
|
+
data matches {
|
63
|
+
ITEM_TREE[at0003] matches { -- Tree
|
64
|
+
items cardinality matches {0..*; unordered} matches {
|
65
|
+
ELEMENT[at0005] occurrences matches {0..1} matches { -- Test name
|
66
|
+
value matches {
|
67
|
+
DV_TEXT matches {*}
|
68
|
+
}
|
69
|
+
}
|
70
|
+
ELEMENT[at0077] occurrences matches {0..1} matches { -- Diagnostic service
|
71
|
+
value matches {
|
72
|
+
DV_TEXT matches {*}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
ELEMENT[at0073] occurrences matches {0..1} matches { -- Test status
|
76
|
+
value matches {
|
77
|
+
DV_CODED_TEXT matches {
|
78
|
+
defining_code matches {
|
79
|
+
[local::
|
80
|
+
at0037, -- Interim
|
81
|
+
at0038, -- Final
|
82
|
+
at0039, -- Supplementary
|
83
|
+
at0040, -- Corrected (amended)
|
84
|
+
at0074, -- Aborted
|
85
|
+
at0079] -- Never performed
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
allow_archetype CLUSTER[at0065] occurrences matches {0..*} matches { -- Specimen detail
|
91
|
+
include
|
92
|
+
archetype_id/value matches {/openEHR-EHR-CLUSTER\.specimen\.v1/}
|
93
|
+
exclude
|
94
|
+
archetype_id/value matches {/.*/}
|
95
|
+
}
|
96
|
+
ELEMENT[at0078] occurrences matches {0..*} matches {*}
|
97
|
+
allow_archetype CLUSTER[at0089] occurrences matches {0..*} matches { -- Per-result annotation
|
98
|
+
include
|
99
|
+
archetype_id/value matches {/openEHR-EHR-CLUSTER\.lab_result_annotation(-[a-zA-Z0-9_]+)*\.v1/}
|
100
|
+
exclude
|
101
|
+
archetype_id/value matches {/.*/}
|
102
|
+
}
|
103
|
+
ELEMENT[at0057] occurrences matches {0..1} matches { -- Overall interpretation
|
104
|
+
value matches {
|
105
|
+
DV_TEXT matches {*}
|
106
|
+
}
|
107
|
+
}
|
108
|
+
ELEMENT[at0010] occurrences matches {0..*} matches { -- Multimedia representation
|
109
|
+
value matches {
|
110
|
+
DV_MULTIMEDIA matches {
|
111
|
+
media_type matches {[openEHR::]}
|
112
|
+
}
|
113
|
+
}
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
}
|
119
|
+
}
|
120
|
+
}
|
121
|
+
}
|
122
|
+
protocol matches {
|
123
|
+
ITEM_TREE[at0004] matches { -- Tree
|
124
|
+
items cardinality matches {0..*; unordered} matches {
|
125
|
+
ELEMENT[at0062] occurrences matches {0..1} matches { -- Requestor order identifier
|
126
|
+
value matches {
|
127
|
+
DV_TEXT matches {*}
|
128
|
+
}
|
129
|
+
}
|
130
|
+
allow_archetype CLUSTER[at0090] occurrences matches {0..*} matches { -- Requestor
|
131
|
+
include
|
132
|
+
archetype_id/value matches {/.*/}
|
133
|
+
}
|
134
|
+
ELEMENT[at0063] occurrences matches {0..1} matches { -- Receiver order Identifier
|
135
|
+
value matches {
|
136
|
+
DV_TEXT matches {*}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
allow_archetype CLUSTER[at0017] occurrences matches {0..*} matches { -- Receiving laboratory
|
140
|
+
include
|
141
|
+
archetype_id/value matches {/openEHR-EHR-CLUSTER\.organisation\.v1/}
|
142
|
+
exclude
|
143
|
+
archetype_id/value matches {/.*/}
|
144
|
+
}
|
145
|
+
ELEMENT[at0068] occurrences matches {0..1} matches { -- Laboratory test result identifier
|
146
|
+
value matches {
|
147
|
+
DV_TEXT matches {*}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
ELEMENT[at0075] occurrences matches {0..1} matches { -- Datetime result issued
|
151
|
+
value matches {
|
152
|
+
DV_DATE_TIME matches {*}
|
153
|
+
}
|
154
|
+
}
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
ontology
|
163
|
+
term_definitions = <
|
164
|
+
["en"] = <
|
165
|
+
items = <
|
166
|
+
["at0000"] = <
|
167
|
+
text = <"Laboratory test">
|
168
|
+
description = <"To record the result of a laboratory test which may be used to record a single valued test but will often be specialised or templated to represent multiple value or 'panel' tests.
|
169
|
+
This archetype also acts as the parent for specialisations appropriate for more specific laboratory tests microbiology, histopathology.">
|
170
|
+
>
|
171
|
+
["at0001"] = <
|
172
|
+
text = <"Event Series">
|
173
|
+
description = <"@ internal @">
|
174
|
+
>
|
175
|
+
["at0002"] = <
|
176
|
+
text = <"Any event">
|
177
|
+
description = <"Any event.">
|
178
|
+
>
|
179
|
+
["at0003"] = <
|
180
|
+
text = <"Tree">
|
181
|
+
description = <"@ internal @">
|
182
|
+
>
|
183
|
+
["at0004"] = <
|
184
|
+
text = <"Tree">
|
185
|
+
description = <"@ internal @">
|
186
|
+
>
|
187
|
+
["at0005"] = <
|
188
|
+
text = <"Test name">
|
189
|
+
description = <"Specific identifier for this lab test. e.g. Full blood count , blood glucose, urine microbiology. May equate to the result name for a single value result. Commonly a coded term e.g from LOINC or SNOMED-CT.">
|
190
|
+
>
|
191
|
+
["at0010"] = <
|
192
|
+
text = <"Multimedia representation">
|
193
|
+
description = <"Representations of the whole test in mutlimedia e.g image, audio, video.">
|
194
|
+
>
|
195
|
+
["at0017"] = <
|
196
|
+
text = <"Receiving laboratory">
|
197
|
+
description = <"Demographic details of the laboratory with responsibility for the test. Details of secondary laboratories may also be included.">
|
198
|
+
>
|
199
|
+
["at0037"] = <
|
200
|
+
text = <"Interim">
|
201
|
+
description = <"This is an initial or interim result - further updates are anticipated.">
|
202
|
+
>
|
203
|
+
["at0038"] = <
|
204
|
+
text = <"Final">
|
205
|
+
description = <"This is the final result. No further alterations are anticipated.">
|
206
|
+
>
|
207
|
+
["at0039"] = <
|
208
|
+
text = <"Supplementary">
|
209
|
+
description = <"This is a supplementary result ehich should be appended to a previous result.">
|
210
|
+
>
|
211
|
+
["at0040"] = <
|
212
|
+
text = <"Corrected (amended)">
|
213
|
+
description = <"This is a correction which should completely replace any previous results.">
|
214
|
+
>
|
215
|
+
["at0057"] = <
|
216
|
+
text = <"Overall interpretation">
|
217
|
+
description = <"An overall interpretative comment on this test.">
|
218
|
+
>
|
219
|
+
["at0062"] = <
|
220
|
+
text = <"Requestor order identifier">
|
221
|
+
description = <"The local ID assigned to the order by the order requester. Equivalent to the Placer Order Identifier.">
|
222
|
+
>
|
223
|
+
["at0063"] = <
|
224
|
+
text = <"Receiver order Identifier">
|
225
|
+
description = <"The local ID assigned to the test order by the order filler, usually by the (LIS) Laboratory Information System. Equivalent to the DICOM Accession Number and the Filler Order Identifier.">
|
226
|
+
>
|
227
|
+
["at0065"] = <
|
228
|
+
text = <"Specimen detail">
|
229
|
+
description = <"Details of the specimen being reported where all individual results are derived from the same specimen.">
|
230
|
+
>
|
231
|
+
["at0068"] = <
|
232
|
+
text = <"Laboratory test result identifier">
|
233
|
+
description = <"The identifier given to the laboratory test result of a pathology investigation.">
|
234
|
+
>
|
235
|
+
["at0073"] = <
|
236
|
+
text = <"Test status">
|
237
|
+
description = <"The status of the lab test as a whole.">
|
238
|
+
>
|
239
|
+
["at0074"] = <
|
240
|
+
text = <"Aborted">
|
241
|
+
description = <"The test was aborted and never completed.">
|
242
|
+
>
|
243
|
+
["at0075"] = <
|
244
|
+
text = <"Datetime result issued">
|
245
|
+
description = <"The date and/or time that the result was issued for the recorded ‘test status’.">
|
246
|
+
comment = <"The date and time related to the results status is useful for version control and cumulative results for the report.">
|
247
|
+
>
|
248
|
+
["at0077"] = <
|
249
|
+
text = <"Diagnostic service">
|
250
|
+
description = <"The type of high-level diagnostic service e.g. biochemistry, haematology.">
|
251
|
+
>
|
252
|
+
["at0078"] = <
|
253
|
+
text = <"Result">
|
254
|
+
description = <"The result of the test.">
|
255
|
+
>
|
256
|
+
["at0079"] = <
|
257
|
+
text = <"Never performed">
|
258
|
+
description = <"The test was never performed.">
|
259
|
+
>
|
260
|
+
["at0089"] = <
|
261
|
+
text = <"Per-result annotation">
|
262
|
+
description = <"Slot to allow an annotation to be added to a particular test result at run-time.">
|
263
|
+
>
|
264
|
+
["at0090"] = <
|
265
|
+
text = <"Requestor">
|
266
|
+
description = <"Details of the clinician or organisation requesting the laboratory test.">
|
267
|
+
>
|
268
|
+
>
|
269
|
+
>
|
270
|
+
["ar-sy"] = <
|
271
|
+
items = <
|
272
|
+
["at0000"] = <
|
273
|
+
text = <"الاختبار المعملي">
|
274
|
+
description = <"لتسجيل نتيجة الاختبار و التي قد تستخدم إما لتسجيل اختبار ذي قيمة واحدة كما أنه قد يتم تخصيصه أو وضعه في قالب لتمثيل الاختبارات متعددة القيمة أو رتل من الاختبارات.
|
275
|
+
يستخدم هذا النموذج كوالد (أب) للتخصيصات المناسبة لاختبارات أكثر تحديدا مثل حالات الميكروبيولوجيا و الهيستوباثولوجيا.">
|
276
|
+
>
|
277
|
+
["at0001"] = <
|
278
|
+
text = <"*Event Series(en)">
|
279
|
+
description = <"*@ internal @(en)">
|
280
|
+
>
|
281
|
+
["at0002"] = <
|
282
|
+
text = <"إحدى الوقائع">
|
283
|
+
description = <"إحدى الوقائع">
|
284
|
+
>
|
285
|
+
["at0003"] = <
|
286
|
+
text = <"*Tree(en)">
|
287
|
+
description = <"*@ internal @(en)">
|
288
|
+
>
|
289
|
+
["at0004"] = <
|
290
|
+
text = <"*Tree(en)">
|
291
|
+
description = <"*@ internal @(en)">
|
292
|
+
>
|
293
|
+
["at0005"] = <
|
294
|
+
text = <"اسم الاختبار">
|
295
|
+
description = <"تعريف معين لهوية هذا الاختبار. مثل العد الدموي الشامل, الغلوكوز (سكر العنب) في الدم. قد يكون هو نفسه اسم النتيجة في الاختبارات ذات النتيجة المتكونة من قيمة وحيدة. عادة ما يكون مُصطَلحاً مُرمَزًا مثل لوينك و سنوميد-سي تي.">
|
296
|
+
>
|
297
|
+
["at0010"] = <
|
298
|
+
text = <"تمثيل الوسائط المتعددة">
|
299
|
+
description = <"تمثيلات الاختبار الكلي عن طريق الوسائط المتعددة مثل: الصورة, الصوت, و الفيديو">
|
300
|
+
>
|
301
|
+
["at0017"] = <
|
302
|
+
text = <"المعمل المستقبل لطلب الاختبار">
|
303
|
+
description = <"التفاصيل الديموغرافية عن المعمل المسئول عن الاختبار. قد يتضمن معلومات عن معامل أخرى ثانوية.">
|
304
|
+
>
|
305
|
+
["at0037"] = <
|
306
|
+
text = <"مؤقت">
|
307
|
+
description = <"هذه هي النتيجة المبدئية أو المؤقتة - المزيد من التحديثات للنتيجة متوقَّعة أو منتظَرة">
|
308
|
+
>
|
309
|
+
["at0038"] = <
|
310
|
+
text = <"نهائية">
|
311
|
+
description = <"هذه هي النتيجة النهائية. لا يوجد المزيد من التعديلات المتوقَّعة">
|
312
|
+
>
|
313
|
+
["at0039"] = <
|
314
|
+
text = <"تكميلية">
|
315
|
+
description = <"هذه هي نتيجة تكميلية بالإضافة إلى النتيجة الموَقتة">
|
316
|
+
>
|
317
|
+
["at0040"] = <
|
318
|
+
text = <"بعد التصحيح – معدَّلة">
|
319
|
+
description = <"هذا هو تصحيح لابد و أن يحل محلّ أي نتائج سابقة">
|
320
|
+
>
|
321
|
+
["at0057"] = <
|
322
|
+
text = <"التفسير الإجمالي">
|
323
|
+
description = <"تعليق تفسيري إجمالي حول هذا الاختبار">
|
324
|
+
>
|
325
|
+
["at0062"] = <
|
326
|
+
text = <"عنصر معرِّف فريد بواسطة طالب الاختبار">
|
327
|
+
description = <"العنصر التعريفي الفريد الذي يتم إعطاؤه للأمر بالاختبار بواسطة من يقوم بإجراء الأمر. مكافئ للعنصر التعريفي للأمر بواسطة من يقوم بطلب إجرائه.">
|
328
|
+
>
|
329
|
+
["at0063"] = <
|
330
|
+
text = <"عنصر معرِّف فريد بواسطة مستقبل الاختبار">
|
331
|
+
description = <"العنصر التعريفي الذي يتم إعطاؤه للأمر بالاختبار بواسطة منفذ الاختبار, عادةً النظام المعلومات الخاص بالمعمل. يكافئ رقم الإضافة الخاص بـ دايكوم, و معرِّف أمر الاختبار ">
|
332
|
+
>
|
333
|
+
["at0065"] = <
|
334
|
+
text = <"تفاصيل العيِّنة">
|
335
|
+
description = <"تفاصيل العينة حيث جميع النتائج مشتقة من نفس العينة">
|
336
|
+
>
|
337
|
+
["at0068"] = <
|
338
|
+
text = <"العنصر التعريفي الخاص بنتيجة الاختبار">
|
339
|
+
description = <"العنصر التعريفي الذي تم إعطاؤه لنتيجة اختبار معملي خاص بالباثولوجيا – المَرَضية">
|
340
|
+
>
|
341
|
+
["at0073"] = <
|
342
|
+
text = <"حالة الاختبار">
|
343
|
+
description = <"حالة الاختبار المعملي ككل">
|
344
|
+
>
|
345
|
+
["at0074"] = <
|
346
|
+
text = <"مُلغاة">
|
347
|
+
description = <"تم إلغاء الاختبار و لم يتم استكماله بعد ذلك.">
|
348
|
+
>
|
349
|
+
["at0075"] = <
|
350
|
+
text = <"تاريخ و وقت إصدار النتيجة">
|
351
|
+
description = <"التاريخ و / أو الوقت الذي تم فيه إصدار النتيجة لحالة الاختبار المسجَّلة.">
|
352
|
+
comment = <"التاريخ و الوقت المتعلق بحالة النتائج هو من النقاط المفيدة للتحكم في الروايات المتعددة و النتائج التراكمية الخاصة بالتقرير.">
|
353
|
+
>
|
354
|
+
["at0077"] = <
|
355
|
+
text = <"الخدمة التشخيصية">
|
356
|
+
description = <"نوع الخدمة التشخيصية - مستوى عالي من التشخيص - مثلا: الكيمياء الحيوية و الدمويات">
|
357
|
+
>
|
358
|
+
["at0078"] = <
|
359
|
+
text = <"النتيجة">
|
360
|
+
description = <"نتيجة الاختبار">
|
361
|
+
>
|
362
|
+
["at0079"] = <
|
363
|
+
text = <"لم يتم عملها على الإطلاق">
|
364
|
+
description = <"لم يتم عمل الاختبار على الإطلاق">
|
365
|
+
>
|
366
|
+
["at0089"] = <
|
367
|
+
text = <"ملاحظات ما قبل الاختبار">
|
368
|
+
description = <"شرفة تسمح بإضافة ملاحظات حول نتيجة اختبار معين في أثناء إجرائه">
|
369
|
+
>
|
370
|
+
["at0090"] = <
|
371
|
+
text = <"الطالب">
|
372
|
+
description = <"تفاصيل حول الطبيب السريري أو المؤسسة التي تطلب الاختبار المعملي.">
|
373
|
+
>
|
374
|
+
>
|
375
|
+
>
|
376
|
+
>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
2
|
+
require File.dirname(__FILE__) + '/parser_spec_helper'
|
3
|
+
|
4
|
+
describe ADLParser do
|
5
|
+
context 'lab_test parser error_check' do
|
6
|
+
before(:all) do
|
7
|
+
@archetype = adl14_archetype('openEHR-EHR-OBSERVATION.lab_test.v1.adl')
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'is an instance of archetype' do
|
11
|
+
@archetype.should be_an_instance_of OpenEHR::AM::Archetype::Archetype
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/spec/spec.opts
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: open_ehr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2012-01-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: xml-simple
|
17
|
-
requirement: &
|
17
|
+
requirement: &17217846980 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *17217846980
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: activesupport
|
28
|
-
requirement: &
|
28
|
+
requirement: &17217845180 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *17217845180
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: locale
|
39
|
-
requirement: &
|
39
|
+
requirement: &17217843360 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *17217843360
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: builder
|
50
|
-
requirement: &
|
50
|
+
requirement: &17217841320 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *17217841320
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: jeweler
|
61
|
-
requirement: &
|
61
|
+
requirement: &17217856520 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *17217856520
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: i18n
|
72
|
-
requirement: &
|
72
|
+
requirement: &17217855320 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *17217855320
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: treetop
|
83
|
-
requirement: &
|
83
|
+
requirement: &17217854180 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :runtime
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *17217854180
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: polyglot
|
94
|
-
requirement: &
|
94
|
+
requirement: &17217852960 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: '0'
|
100
100
|
type: :runtime
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *17217852960
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: rdoc
|
105
|
-
requirement: &
|
105
|
+
requirement: &17217852340 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ! '>='
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: '0'
|
111
111
|
type: :runtime
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *17217852340
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: rspec
|
116
|
-
requirement: &
|
116
|
+
requirement: &17217851460 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ! '>='
|
@@ -121,10 +121,10 @@ dependencies:
|
|
121
121
|
version: '0'
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *17217851460
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: guard-rspec
|
127
|
-
requirement: &
|
127
|
+
requirement: &17217850660 !ruby/object:Gem::Requirement
|
128
128
|
none: false
|
129
129
|
requirements:
|
130
130
|
- - ! '>='
|
@@ -132,10 +132,10 @@ dependencies:
|
|
132
132
|
version: '0'
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
|
-
version_requirements: *
|
135
|
+
version_requirements: *17217850660
|
136
136
|
- !ruby/object:Gem::Dependency
|
137
137
|
name: ruby-debug19
|
138
|
-
requirement: &
|
138
|
+
requirement: &17217865380 !ruby/object:Gem::Requirement
|
139
139
|
none: false
|
140
140
|
requirements:
|
141
141
|
- - ! '>='
|
@@ -143,10 +143,10 @@ dependencies:
|
|
143
143
|
version: '0'
|
144
144
|
type: :development
|
145
145
|
prerelease: false
|
146
|
-
version_requirements: *
|
146
|
+
version_requirements: *17217865380
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: spork
|
149
|
-
requirement: &
|
149
|
+
requirement: &17217862480 !ruby/object:Gem::Requirement
|
150
150
|
none: false
|
151
151
|
requirements:
|
152
152
|
- - ! '>='
|
@@ -154,10 +154,10 @@ dependencies:
|
|
154
154
|
version: 0.9.0.rc2
|
155
155
|
type: :development
|
156
156
|
prerelease: false
|
157
|
-
version_requirements: *
|
157
|
+
version_requirements: *17217862480
|
158
158
|
- !ruby/object:Gem::Dependency
|
159
159
|
name: guard-spork
|
160
|
-
requirement: &
|
160
|
+
requirement: &17217858020 !ruby/object:Gem::Requirement
|
161
161
|
none: false
|
162
162
|
requirements:
|
163
163
|
- - ! '>='
|
@@ -165,10 +165,10 @@ dependencies:
|
|
165
165
|
version: '0'
|
166
166
|
type: :development
|
167
167
|
prerelease: false
|
168
|
-
version_requirements: *
|
168
|
+
version_requirements: *17217858020
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: simplecov
|
171
|
-
requirement: &
|
171
|
+
requirement: &17217873300 !ruby/object:Gem::Requirement
|
172
172
|
none: false
|
173
173
|
requirements:
|
174
174
|
- - ! '>='
|
@@ -176,10 +176,10 @@ dependencies:
|
|
176
176
|
version: '0'
|
177
177
|
type: :development
|
178
178
|
prerelease: false
|
179
|
-
version_requirements: *
|
179
|
+
version_requirements: *17217873300
|
180
180
|
- !ruby/object:Gem::Dependency
|
181
181
|
name: rb-inotify
|
182
|
-
requirement: &
|
182
|
+
requirement: &17217872080 !ruby/object:Gem::Requirement
|
183
183
|
none: false
|
184
184
|
requirements:
|
185
185
|
- - ! '>='
|
@@ -187,10 +187,10 @@ dependencies:
|
|
187
187
|
version: '0'
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
|
-
version_requirements: *
|
190
|
+
version_requirements: *17217872080
|
191
191
|
- !ruby/object:Gem::Dependency
|
192
192
|
name: libnotify
|
193
|
-
requirement: &
|
193
|
+
requirement: &17217871520 !ruby/object:Gem::Requirement
|
194
194
|
none: false
|
195
195
|
requirements:
|
196
196
|
- - ! '>='
|
@@ -198,7 +198,7 @@ dependencies:
|
|
198
198
|
version: '0'
|
199
199
|
type: :development
|
200
200
|
prerelease: false
|
201
|
-
version_requirements: *
|
201
|
+
version_requirements: *17217871520
|
202
202
|
description: This project is an implementation of the openEHR specification on Ruby.
|
203
203
|
email: skoba@moss.gr.jp
|
204
204
|
executables: []
|
@@ -207,6 +207,7 @@ extra_rdoc_files:
|
|
207
207
|
- README.rdoc
|
208
208
|
files:
|
209
209
|
- .document
|
210
|
+
- .rspec
|
210
211
|
- Gemfile
|
211
212
|
- Guardfile
|
212
213
|
- History.txt
|
@@ -418,6 +419,7 @@ files:
|
|
418
419
|
- spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.apgar.v1.adl
|
419
420
|
- spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.blood_pressure.v1.adl
|
420
421
|
- spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl
|
422
|
+
- spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.lab_test.v1.adl
|
421
423
|
- spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.testassumedvalue.v1.adl
|
422
424
|
- spec/lib/open_ehr/parser/adl14/openEHR-EHR-SECTION.findings.v1.adl
|
423
425
|
- spec/lib/open_ehr/parser/adl14/openEHR-EHR-SECTION.reason_for_encounter.v1.adl
|
@@ -454,6 +456,7 @@ files:
|
|
454
456
|
- spec/lib/open_ehr/parser/duration_spec.rb
|
455
457
|
- spec/lib/open_ehr/parser/dv_coded_text_parse_spec.rb
|
456
458
|
- spec/lib/open_ehr/parser/empty_other_contributors_spec.rb
|
459
|
+
- spec/lib/open_ehr/parser/lab_test_parser_spec.rb
|
457
460
|
- spec/lib/open_ehr/parser/missing_language_spec.rb
|
458
461
|
- spec/lib/open_ehr/parser/missing_purpose_spec.rb
|
459
462
|
- spec/lib/open_ehr/parser/mixed_node_types_spec.rb
|
@@ -600,7 +603,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
600
603
|
version: '0'
|
601
604
|
segments:
|
602
605
|
- 0
|
603
|
-
hash:
|
606
|
+
hash: 4208906272673240754
|
604
607
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
605
608
|
none: false
|
606
609
|
requirements:
|
@@ -609,7 +612,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
609
612
|
version: '0'
|
610
613
|
requirements: []
|
611
614
|
rubyforge_project:
|
612
|
-
rubygems_version: 1.8.
|
615
|
+
rubygems_version: 1.8.13
|
613
616
|
signing_key:
|
614
617
|
specification_version: 3
|
615
618
|
summary: Ruby implementation of the openEHR specification
|