open_ehr 0.6.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. data/Gemfile +10 -2
  2. data/Gemfile.lock +58 -18
  3. data/Guardfile +2 -1
  4. data/History.txt +10 -3
  5. data/Manifest.txt +3 -5
  6. data/README.rdoc +36 -32
  7. data/Rakefile +1 -1
  8. data/VERSION +1 -1
  9. data/bin/adl_validator.rb +84 -0
  10. data/lib/open_ehr/am/archetype/constraint_model/primitive.rb +11 -7
  11. data/lib/open_ehr/am/archetype/constraint_model.rb +4 -16
  12. data/lib/open_ehr/am/archetype/ontology.rb +37 -6
  13. data/lib/open_ehr/am/archetype.rb +6 -7
  14. data/lib/open_ehr/am/open_ehr_profile/data_types/text.rb +5 -2
  15. data/lib/open_ehr/parser/adl.rb +19 -0
  16. data/lib/open_ehr/parser/adl_grammar.tt +155 -0
  17. data/lib/open_ehr/parser/adl_parser.rb +48 -0
  18. data/lib/open_ehr/parser/cadl_grammar.tt +803 -0
  19. data/lib/open_ehr/parser/dadl.rb +13 -0
  20. data/lib/open_ehr/parser/dadl_grammar.tt +358 -0
  21. data/lib/open_ehr/parser/exception.rb +68 -0
  22. data/lib/open_ehr/parser/scanner/adl_scanner.rb +819 -0
  23. data/lib/open_ehr/parser/shared_token_grammar.tt +1200 -0
  24. data/lib/open_ehr/parser/validator.rb +20 -0
  25. data/lib/open_ehr/parser.rb +16 -12
  26. data/lib/open_ehr.rb +1 -0
  27. data/open_ehr.gemspec +364 -0
  28. data/spec/lib/open_ehr/am/archetype/archetype_spec.rb +7 -2
  29. data/spec/lib/open_ehr/am/archetype/constraint_model/c_multiple_attribute_spec.rb +0 -6
  30. data/spec/lib/open_ehr/am/archetype/constraint_model/c_object_spec.rb +10 -10
  31. data/spec/lib/open_ehr/am/archetype/constraint_model/c_single_attribute_spec.rb +0 -6
  32. data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_boolean_spec.rb +5 -0
  33. data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_date_time_spec.rb +5 -0
  34. data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_duration_spec.rb +5 -0
  35. data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_integer_spec.rb +5 -0
  36. data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_primitive_spec.rb +8 -6
  37. data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_real_spec.rb +7 -2
  38. data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_string_spec.rb +5 -0
  39. data/spec/lib/open_ehr/am/archetype/constraint_model/primitive/c_time_spec.rb +5 -0
  40. data/spec/lib/open_ehr/am/archetype/ontology/archetype_ontology_spec.rb +27 -7
  41. data/spec/lib/open_ehr/am/archetype/ontology/archetype_term_spec.rb +3 -3
  42. data/spec/lib/open_ehr/parser/adl/adl-test-ENTRY.assumed_types.v1.adl +88 -0
  43. data/spec/lib/open_ehr/parser/adl/adl-test-ENTRY.basic_types.v1.adl +143 -0
  44. data/spec/lib/open_ehr/parser/adl/adl-test-ENTRY.basic_types_fail.v1.adl +50 -0
  45. data/spec/lib/open_ehr/parser/adl/adl-test-ENTRY.most_minimal.v1.adl +27 -0
  46. data/spec/lib/open_ehr/parser/adl/adl-test-ENTRY.structure_test1.v1.adl +46 -0
  47. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-ACTION.imaging.v1.adl +275 -0
  48. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-ACTION.referral.v1.adl +351 -0
  49. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl +765 -0
  50. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.auscultation.v1.adl +217 -0
  51. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.dimensions-circumference.v1.adl +134 -0
  52. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.dimensions.v1.adl +241 -0
  53. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl +321 -0
  54. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-chest.v1.adl +379 -0
  55. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-fetus.v1.adl +577 -0
  56. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl +146 -0
  57. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl +176 -0
  58. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl +221 -0
  59. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-generic.v1.adl +139 -0
  60. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl +116 -0
  61. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl +420 -0
  62. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.exam-uterus.v1.adl +293 -0
  63. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-COMPOSITION.discharge.v1draft.adl +53 -0
  64. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-COMPOSITION.encounter.v1draft.adl +45 -0
  65. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-EVALUATION.adverse.v1.adl +411 -0
  66. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-INSTRUCTION.medication.v1.adl +88 -0
  67. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-INSTRUCTION.referral.v1.adl +84 -0
  68. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl +492 -0
  69. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-ITEM_TREE.follow_up.v1draft.adl +94 -0
  70. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-ITEM_TREE.imaging.v1.adl +127 -0
  71. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-ITEM_TREE.medication-formulation.v1.adl +457 -0
  72. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-ITEM_TREE.medication.v1.adl +869 -0
  73. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-ITEM_TREE.referral.v1.adl +494 -0
  74. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-OBSERVATION.apgar.v1.adl +545 -0
  75. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-OBSERVATION.blood_pressure.v1.adl +673 -0
  76. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl +166 -0
  77. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-SECTION.findings.v1.adl +47 -0
  78. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-SECTION.reason_for_encounter.v1.adl +51 -0
  79. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-SECTION.summary.v1.adl +52 -0
  80. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-SECTION.vital_signs.v1.adl +54 -0
  81. data/spec/lib/open_ehr/parser/adl/openEHR-EHR-cadl_sample.v1.adl +9 -0
  82. data/spec/lib/open_ehr/parser/adl_parser_spec.rb +210 -0
  83. data/spec/lib/open_ehr/parser/base_spec.rb +19 -0
  84. data/spec/spec.opts +2 -1
  85. data/spec/spec_helper.rb +3 -0
  86. metadata +166 -52
  87. data/doc/README_rdoc.html +0 -148
  88. data/doc/created.rid +0 -2
  89. data/doc/images/brick.png +0 -0
  90. data/doc/images/brick_link.png +0 -0
  91. data/doc/images/bug.png +0 -0
  92. data/doc/images/bullet_black.png +0 -0
  93. data/doc/images/bullet_toggle_minus.png +0 -0
  94. data/doc/images/bullet_toggle_plus.png +0 -0
  95. data/doc/images/date.png +0 -0
  96. data/doc/images/find.png +0 -0
  97. data/doc/images/loadingAnimation.gif +0 -0
  98. data/doc/images/macFFBgHack.png +0 -0
  99. data/doc/images/package.png +0 -0
  100. data/doc/images/page_green.png +0 -0
  101. data/doc/images/page_white_text.png +0 -0
  102. data/doc/images/page_white_width.png +0 -0
  103. data/doc/images/plugin.png +0 -0
  104. data/doc/images/ruby.png +0 -0
  105. data/doc/images/tag_green.png +0 -0
  106. data/doc/images/wrench.png +0 -0
  107. data/doc/images/wrench_orange.png +0 -0
  108. data/doc/images/zoom.png +0 -0
  109. data/doc/index.html +0 -54
  110. data/doc/js/darkfish.js +0 -116
  111. data/doc/js/jquery.js +0 -32
  112. data/doc/js/quicksearch.js +0 -114
  113. data/doc/js/thickbox-compressed.js +0 -10
  114. data/doc/rdoc.css +0 -706
  115. data/lib/#open_ehr.rb# +0 -11
@@ -0,0 +1,146 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-generic-joint.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam-generic.v1
5
+
6
+ concept
7
+ [at0000.1.1] -- Examination of a named joint
8
+ language
9
+ original_language = <[ISO_639-1::en]>
10
+ description
11
+ original_author = <
12
+ ["name"] = <"unknown">
13
+ >
14
+ details = <
15
+ ["en"] = <
16
+ language = <[ISO_639-1::en]>
17
+ purpose = <"A generic cluster for recording findings on physical examination.">
18
+ use = <"">
19
+ keywords = <"examination", "physical">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"Initial">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1.1] matches { -- Examination of a named joint
28
+ items cardinality matches {0..*; unordered} matches {
29
+ ELEMENT[at0.9.1] matches { -- Joint
30
+ value matches {
31
+ DV_TEXT matches {*}
32
+ }
33
+ }
34
+ CLUSTER[at0004] occurrences matches {0..1} matches { -- Normal statements
35
+ items cardinality matches {0..*; unordered} matches {
36
+ ELEMENT[at0005] occurrences matches {0..*} matches { -- Normal statement
37
+ value matches {
38
+ DV_TEXT matches {*}
39
+ }
40
+ }
41
+ }
42
+ }
43
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Clinical description
44
+ value matches {
45
+ DV_TEXT matches {*}
46
+ }
47
+ }
48
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Findings
49
+ items cardinality matches {0..*; unordered} matches {
50
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
51
+ include
52
+ archetype_id/value matches {/palpation\.v1draft/}
53
+ archetype_id/value matches {/inspection\.v1draft/}
54
+ archetype_id/value matches {/move-joint\.v1draft/}
55
+ exclude
56
+ archetype_id/value matches {/.*/}
57
+ }
58
+ CLUSTER[at0.1] occurrences matches {0..1} matches { -- Size
59
+ items cardinality matches {0..*; unordered} matches {
60
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
61
+ include
62
+ archetype_id/value matches {/dimensions\.v1/}
63
+ archetype_id/value matches {/size\.v1draft/}
64
+ }
65
+ }
66
+ }
67
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
68
+ items cardinality matches {0..*; unordered} matches {
69
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
70
+ include
71
+ archetype_id/value matches {/exam\.v1/}
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
78
+ value matches {
79
+ DV_MULTIMEDIA matches {
80
+ media_type matches {
81
+ [openEHR::
82
+ 426,
83
+ 427,
84
+ 429]
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+
92
+ ontology
93
+ term_definitions = <
94
+ ["en"] = <
95
+ items = <
96
+ ["at0.1"] = <
97
+ description = <"Information about the size of the object for examination">
98
+ text = <"Size">
99
+ >
100
+ ["at0.9"] = <
101
+ description = <"The object of examination">
102
+ text = <"Object">
103
+ >
104
+ ["at0.9.1"] = <
105
+ description = <"The joint examined">
106
+ text = <"Joint">
107
+ >
108
+ ["at0000"] = <
109
+ description = <"Generic examination cluster for describing a finding on physical examination">
110
+ text = <"Examination">
111
+ >
112
+ ["at0000.1"] = <
113
+ description = <"Generic examination cluster for describing a finding on physical examination">
114
+ text = <"Examination of a named body part">
115
+ >
116
+ ["at0000.1.1"] = <
117
+ description = <"Generic examination cluster for describing findings relating to a joint on physical examination">
118
+ text = <"Examination of a named joint">
119
+ >
120
+ ["at0002"] = <
121
+ description = <"Textural description of the part examined">
122
+ text = <"Clinical description">
123
+ >
124
+ ["at0003"] = <
125
+ description = <"More focused examination findings">
126
+ text = <"Detail">
127
+ >
128
+ ["at0004"] = <
129
+ description = <"A group of statements about the normality of the examination">
130
+ text = <"Normal statements">
131
+ >
132
+ ["at0005"] = <
133
+ description = <"A specific statement of normality">
134
+ text = <"Normal statement">
135
+ >
136
+ ["at0006"] = <
137
+ description = <"Drawing or image of the area examined">
138
+ text = <"Image">
139
+ >
140
+ ["at0008"] = <
141
+ description = <"Clinical findings">
142
+ text = <"Findings">
143
+ >
144
+ >
145
+ >
146
+ >
@@ -0,0 +1,176 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam-generic.v1
5
+
6
+ concept
7
+ [at0000.1.1] -- Examination of lymph nodes
8
+ language
9
+ original_language = <[ISO_639-1::en]>
10
+ description
11
+ original_author = <
12
+ ["name"] = <"unknown">
13
+ >
14
+ details = <
15
+ ["en"] = <
16
+ language = <[ISO_639-1::en]>
17
+ purpose = <"For recording findings on physical examination of lymph nodes">
18
+ use = <"">
19
+ keywords = <"examination", "physical", "lymph", "nodes">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"OrganisationDraft">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1.1] matches { -- Examination of lymph nodes
28
+ items cardinality matches {0..*; unordered} matches {
29
+ ELEMENT[at0.9.1] matches { -- Lymph node group
30
+ value matches {
31
+ DV_TEXT matches {*}
32
+ }
33
+ }
34
+ CLUSTER[at0004] occurrences matches {0..1} matches { -- Normal statements
35
+ items cardinality matches {0..*; unordered} matches {
36
+ ELEMENT[at0005] occurrences matches {0..*} matches { -- Normal statement
37
+ value matches {
38
+ DV_TEXT matches {*}
39
+ }
40
+ }
41
+ }
42
+ }
43
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Clinical description
44
+ value matches {
45
+ DV_TEXT matches {*}
46
+ }
47
+ }
48
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Findings
49
+ items cardinality matches {0..*; unordered} matches {
50
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
51
+ include
52
+ archetype_id/value matches {/palpation\.v1draft/}
53
+ archetype_id/value matches {/inspection\.v1draft/}
54
+ exclude
55
+ archetype_id/value matches {/.*/}
56
+ }
57
+ CLUSTER[at0.1] occurrences matches {0..1} matches { -- Size
58
+ items cardinality matches {0..*; unordered} matches {
59
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
60
+ include
61
+ archetype_id/value matches {/size\.v1draft/}
62
+ }
63
+ }
64
+ }
65
+ CLUSTER[at0003.0.1] occurrences matches {0..1} matches { -- Individual nodes
66
+ items cardinality matches {0..*; unordered} matches {
67
+ CLUSTER[at0.0.12] occurrences matches {0..1} matches { -- Node
68
+ items cardinality matches {1..*; unordered} matches {
69
+ ELEMENT[at0.0.11] occurrences matches {0..1} matches { -- Node name
70
+ value matches {
71
+ DV_TEXT matches {*}
72
+ }
73
+ }
74
+ ELEMENT[at0.0.13] occurrences matches {0..1} matches { -- Description
75
+ value matches {
76
+ DV_TEXT matches {*}
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
86
+ value matches {
87
+ DV_MULTIMEDIA matches {
88
+ media_type matches {
89
+ [openEHR::
90
+ 426,
91
+ 427,
92
+ 429]
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ ontology
101
+ term_definitions = <
102
+ ["en"] = <
103
+ items = <
104
+ ["at0.0.10"] = <
105
+ description = <"All major lymph nodes">
106
+ text = <"Lymph nodes">
107
+ >
108
+ ["at0.0.11"] = <
109
+ description = <"The name of the node">
110
+ text = <"Node name">
111
+ comment = <"SNOMED Lymphnode">
112
+ >
113
+ ["at0.0.12"] = <
114
+ description = <"Group of findings relating to an individual node">
115
+ text = <"Node">
116
+ >
117
+ ["at0.0.13"] = <
118
+ description = <"Description of individual node">
119
+ text = <"Description">
120
+ >
121
+ ["at0.1"] = <
122
+ description = <"Information about the size of the object for examination">
123
+ text = <"Size">
124
+ >
125
+ ["at0.9"] = <
126
+ description = <"The object of examination">
127
+ text = <"Object">
128
+ >
129
+ ["at0.9.1"] = <
130
+ description = <"The group of nodes examined">
131
+ text = <"Lymph node group">
132
+ comment = <"SNOMED query LymphnodeGroup">
133
+ >
134
+ ["at0000"] = <
135
+ description = <"Generic examination cluster for describing a finding on physical examination">
136
+ text = <"Examination">
137
+ >
138
+ ["at0000.1"] = <
139
+ description = <"Generic examination cluster for describing a finding on physical examination">
140
+ text = <"Examination of a named body part">
141
+ >
142
+ ["at0000.1.1"] = <
143
+ description = <"For recording the findings on physical examination of lymph nodes">
144
+ text = <"Examination of lymph nodes">
145
+ >
146
+ ["at0002"] = <
147
+ description = <"Textural description of the part examined">
148
+ text = <"Clinical description">
149
+ >
150
+ ["at0003"] = <
151
+ description = <"More focused examination findings">
152
+ text = <"Detail">
153
+ >
154
+ ["at0003.0.1"] = <
155
+ description = <"More focused examination findings on each node">
156
+ text = <"Individual nodes">
157
+ >
158
+ ["at0004"] = <
159
+ description = <"A group of statements about the normality of the examination">
160
+ text = <"Normal statements">
161
+ >
162
+ ["at0005"] = <
163
+ description = <"A specific statement of normality">
164
+ text = <"Normal statement">
165
+ >
166
+ ["at0006"] = <
167
+ description = <"Drawing or image of the area examined">
168
+ text = <"Image">
169
+ >
170
+ ["at0008"] = <
171
+ description = <"Clinical findings">
172
+ text = <"Findings">
173
+ >
174
+ >
175
+ >
176
+ >
@@ -0,0 +1,221 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-generic-mass.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam-generic.v1
5
+
6
+ concept
7
+ [at0000.1] -- Examination of a named mass
8
+ language
9
+ original_language = <[ISO_639-1::en]>
10
+ description
11
+ original_author = <
12
+ ["name"] = <"unknown">
13
+ >
14
+ details = <
15
+ ["en"] = <
16
+ language = <[ISO_639-1::en]>
17
+ purpose = <"A generic cluster for recording findings on physical examination of the findings when examining a pathological mass occupying lesion which might be a swelling, lump or mass.">
18
+ use = <"">
19
+ keywords = <"examination", "physical">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"Initial">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1.1] matches { -- Examination of a mass lesion
28
+ items cardinality matches {0..*; unordered} matches {
29
+ ELEMENT[at0.9] matches { -- Object
30
+ value matches {
31
+ DV_CODED_TEXT matches {
32
+ defining_code matches {
33
+ [local::
34
+ at0.0.1, -- Mass
35
+ at0.0.2, -- Lump
36
+ at0.0.3] -- Swelling
37
+ }
38
+ }
39
+ }
40
+ }
41
+ CLUSTER[at0004] occurrences matches {0..1} matches { -- Normal statements
42
+ items cardinality matches {0..*; unordered} matches {
43
+ ELEMENT[at0005] occurrences matches {0..*} matches { -- Normal statement
44
+ value matches {
45
+ DV_TEXT matches {*}
46
+ }
47
+ }
48
+ }
49
+ }
50
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Clinical description
51
+ value matches {
52
+ DV_TEXT matches {*}
53
+ }
54
+ }
55
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Findings
56
+ items cardinality matches {0..*; unordered} matches {
57
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
58
+ include
59
+ archetype_id/value matches {/palpation\.v1draft/}
60
+ archetype_id/value matches {/inspection\.v1draft/}
61
+ }
62
+ CLUSTER[at0.1] occurrences matches {0..1} matches { -- Size
63
+ items cardinality matches {0..*; unordered} matches {
64
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
65
+ include
66
+ archetype_id/value matches {/dimensions\.v1/}
67
+ archetype_id/value matches {/size\.v1draft/}
68
+ }
69
+ }
70
+ }
71
+ ELEMENT[at0.0.4] occurrences matches {0..1} matches { -- Location
72
+ value matches {
73
+ DV_TEXT matches {*}
74
+ }
75
+ }
76
+ ELEMENT[at0.0.5] occurrences matches {0..1} matches { -- Arising from
77
+ value matches {
78
+ DV_TEXT matches {*}
79
+ }
80
+ }
81
+ ELEMENT[at0.0.6] occurrences matches {0..1} matches { -- Mobility
82
+ value matches {
83
+ DV_CODED_TEXT matches {
84
+ defining_code matches {
85
+ [local::
86
+ at0.0.7, -- Highly mobile
87
+ at0.0.8, -- Mobile
88
+ at0.0.9, -- Fixed
89
+ at0.0.10] -- Adherent
90
+ }
91
+ }
92
+ }
93
+ }
94
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
95
+ include
96
+ archetype_id/value matches {/palpation\.v1draft/}
97
+ archetype_id/value matches {/auscultation\.v1draft/}
98
+ archetype_id/value matches {/inspection\.v1draft/}
99
+ exclude
100
+ archetype_id/value matches {/.*/}
101
+ }
102
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
103
+ items cardinality matches {0..*; unordered} matches {
104
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
105
+ include
106
+ archetype_id/value matches {/exam\.v1/}
107
+ }
108
+ }
109
+ }
110
+ }
111
+ }
112
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
113
+ value matches {
114
+ DV_MULTIMEDIA matches {
115
+ media_type matches {
116
+ [openEHR::
117
+ 426,
118
+ 427,
119
+ 429]
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ ontology
128
+ term_definitions = <
129
+ ["en"] = <
130
+ items = <
131
+ ["at0.0.1"] = <
132
+ description = <"The object is a mass lesion">
133
+ text = <"Mass">
134
+ >
135
+ ["at0.0.10"] = <
136
+ description = <"The mass merges with surrounding structures">
137
+ text = <"Adherent">
138
+ >
139
+ ["at0.0.2"] = <
140
+ description = <"The object is a lump">
141
+ text = <"Lump">
142
+ >
143
+ ["at0.0.3"] = <
144
+ description = <"The object of examination is a swelling">
145
+ text = <"Swelling">
146
+ >
147
+ ["at0.0.4"] = <
148
+ description = <"The location of the mass">
149
+ text = <"Location">
150
+ >
151
+ ["at0.0.5"] = <
152
+ description = <"The organ or body structure from which the lesion is arising">
153
+ text = <"Arising from">
154
+ >
155
+ ["at0.0.6"] = <
156
+ description = <"The mobility of the mass lesion">
157
+ text = <"Mobility">
158
+ >
159
+ ["at0.0.7"] = <
160
+ description = <"The mass lesion is apparently untethered to surrounding structures">
161
+ text = <"Highly mobile">
162
+ >
163
+ ["at0.0.8"] = <
164
+ description = <"The mass is tethered but moves freely">
165
+ text = <"Mobile">
166
+ >
167
+ ["at0.0.9"] = <
168
+ description = <"The mass is fixed to surrounding structures">
169
+ text = <"Fixed">
170
+ >
171
+ ["at0.1"] = <
172
+ description = <"Information about the size of the object for examination">
173
+ text = <"Size">
174
+ >
175
+ ["at0.9"] = <
176
+ description = <"The object of examination">
177
+ text = <"Object">
178
+ >
179
+ ["at0000"] = <
180
+ description = <"Generic examination cluster for describing a finding on physical examination">
181
+ text = <"Examination">
182
+ >
183
+ ["at0000.1"] = <
184
+ description = <"For describing findings on physical examination relating to a mass">
185
+ text = <"Examination of a named mass">
186
+ >
187
+ ["at0000.1.1"] = <
188
+ description = <"Generic examination cluster for describing the findings on physical examination of a mass, lump or swelling">
189
+ text = <"Examination of a mass lesion">
190
+ >
191
+ ["at0001"] = <
192
+ description = <"The object of the examination">
193
+ text = <"Object">
194
+ >
195
+ ["at0002"] = <
196
+ description = <"Textural description of the part examined">
197
+ text = <"Clinical description">
198
+ >
199
+ ["at0003"] = <
200
+ description = <"More focused examination findings">
201
+ text = <"Detail">
202
+ >
203
+ ["at0004"] = <
204
+ description = <"A group of statements about the normality of the examination">
205
+ text = <"Normal statements">
206
+ >
207
+ ["at0005"] = <
208
+ description = <"A specific statement of normality">
209
+ text = <"Normal statement">
210
+ >
211
+ ["at0006"] = <
212
+ description = <"Drawing or image of the area examined">
213
+ text = <"Image">
214
+ >
215
+ ["at0008"] = <
216
+ description = <"Clinical findings">
217
+ text = <"Findings">
218
+ >
219
+ >
220
+ >
221
+ >
@@ -0,0 +1,139 @@
1
+ archetype (adl_version=1.4)
2
+ openEHR-EHR-CLUSTER.exam-generic.v1
3
+ specialize
4
+ openEHR-EHR-CLUSTER.exam.v1
5
+
6
+ concept
7
+ [at0000.1] -- Examination of a named body part
8
+ language
9
+ original_language = <[ISO_639-1::en]>
10
+ description
11
+ original_author = <
12
+ ["name"] = <"unknown">
13
+ >
14
+ details = <
15
+ ["en"] = <
16
+ language = <[ISO_639-1::en]>
17
+ purpose = <"A generic cluster for recording findings on physical examination.">
18
+ use = <"">
19
+ keywords = <"examination", "physical">
20
+ misuse = <"">
21
+ >
22
+ >
23
+ lifecycle_state = <"Initial">
24
+ other_contributors = <>
25
+
26
+ definition
27
+ CLUSTER[at0000.1] matches { -- Examination of a named body part
28
+ items cardinality matches {0..*; unordered} matches {
29
+ ELEMENT[at0.9] matches { -- Object
30
+ value matches {
31
+ DV_TEXT matches {*}
32
+ }
33
+ }
34
+ CLUSTER[at0004] occurrences matches {0..1} matches { -- Normal statements
35
+ items cardinality matches {0..*; unordered} matches {
36
+ ELEMENT[at0005] occurrences matches {0..*} matches { -- Normal statement
37
+ value matches {
38
+ DV_TEXT matches {*}
39
+ }
40
+ }
41
+ }
42
+ }
43
+ ELEMENT[at0002] occurrences matches {0..1} matches { -- Clinical description
44
+ value matches {
45
+ DV_TEXT matches {*}
46
+ }
47
+ }
48
+ CLUSTER[at0008] occurrences matches {0..1} matches { -- Findings
49
+ items cardinality matches {0..*; unordered} matches {
50
+ allow_archetype CLUSTER occurrences matches {0..*} matches {
51
+ include
52
+ archetype_id/value matches {/palpation\.v1draft/}
53
+ archetype_id/value matches {/auscultation\.v1draft/}
54
+ archetype_id/value matches {/inspection\.v1draft/}
55
+ archetype_id/value matches {/percussion\.v1draft/}
56
+ exclude
57
+ archetype_id/value matches {/.*/}
58
+ }
59
+ CLUSTER[at0.1] occurrences matches {0..1} matches { -- Size
60
+ items cardinality matches {0..*; unordered} matches {
61
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
62
+ include
63
+ archetype_id/value matches {/dimensions\.v1/}
64
+ archetype_id/value matches {/size\.v1draft/}
65
+ }
66
+ }
67
+ }
68
+ CLUSTER[at0003] occurrences matches {0..1} matches { -- Detail
69
+ items cardinality matches {0..*; unordered} matches {
70
+ allow_archetype CLUSTER occurrences matches {0..1} matches {
71
+ include
72
+ archetype_id/value matches {/exam-generic\.v1/}
73
+ }
74
+ }
75
+ }
76
+ }
77
+ }
78
+ ELEMENT[at0006] occurrences matches {0..*} matches { -- Image
79
+ value matches {
80
+ DV_MULTIMEDIA matches {
81
+ media_type matches {
82
+ [openEHR::
83
+ 426,
84
+ 427,
85
+ 429]
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+
93
+ ontology
94
+ term_definitions = <
95
+ ["en"] = <
96
+ items = <
97
+ ["at0.1"] = <
98
+ description = <"Information about the size of the object for examination">
99
+ text = <"Size">
100
+ >
101
+ ["at0.9"] = <
102
+ description = <"The object of examination">
103
+ text = <"Object">
104
+ >
105
+ ["at0000"] = <
106
+ description = <"Generic examination cluster for describing a finding on physical examination">
107
+ text = <"Examination">
108
+ >
109
+ ["at0000.1"] = <
110
+ description = <"Generic examination cluster for describing a finding on physical examination">
111
+ text = <"Examination of a named body part">
112
+ >
113
+ ["at0002"] = <
114
+ description = <"Textural description of the part examined">
115
+ text = <"Clinical description">
116
+ >
117
+ ["at0003"] = <
118
+ description = <"More focused examination findings">
119
+ text = <"Detail">
120
+ >
121
+ ["at0004"] = <
122
+ description = <"A group of statements about the normality of the examination">
123
+ text = <"Normal statements">
124
+ >
125
+ ["at0005"] = <
126
+ description = <"A specific statement of normality">
127
+ text = <"Normal statement">
128
+ >
129
+ ["at0006"] = <
130
+ description = <"Drawing or image of the area examined">
131
+ text = <"Image">
132
+ >
133
+ ["at0008"] = <
134
+ description = <"Clinical findings">
135
+ text = <"Findings">
136
+ >
137
+ >
138
+ >
139
+ >