open_ehr 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +22 -20
- data/README.rdoc +4 -3
- data/Rakefile +0 -5
- data/VERSION +1 -1
- data/lib/open_ehr/parser/adl_grammar.tt +30 -23
- data/lib/open_ehr/parser/cadl_grammar.tt +85 -59
- data/lib/open_ehr/parser/cadl_node.rb +18 -0
- data/lib/open_ehr/parser/dadl_grammar.tt +1 -1
- data/lib/open_ehr/parser/shared_token_grammar.tt +4 -4
- data/open_ehr.gemspec +104 -55
- data/spec/lib/open_ehr/parser/{adl → adl14}/adl-test-ENTRY.assumed_types.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/adl-test-ENTRY.basic_types.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/adl-test-ENTRY.basic_types_fail.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/adl-test-ENTRY.most_minimal.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/adl-test-ENTRY.structure_test1.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-SOME_TYPE.generic_type_basic.draft.adl +56 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-SOME_TYPE.generic_type_use_node.draft.adl +63 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-car.paths.test.adl +80 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-car.use_node.test.adl +87 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-composition.dv_coded_text.test.adl +29 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_bindings.test.adl +47 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_desc_missing_purpose.test.adl +45 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_description.test.adl +61 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_description2.test.adl +45 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_identification.test.adl +26 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_internal_ref.test.adl +36 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_internal_ref2.test.adl +36 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_language.test.adl +47 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_language_no_accreditation.test.adl +38 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_language_order_of_translation_details.test.adl +40 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_ontology.test.adl +25 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_slot.test.adl +40 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_slot.test2.adl +37 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_uncommonkeys.test.adl +29 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.basic_types.test.adl +272 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_code_phrase.test.adl +77 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_dv_ordinal.test.adl +66 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_dv_quantity_empty.test.adl +46 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_dv_quantity_full.test.adl +64 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_dv_quantity_full2.test.adl +64 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_dv_quantity_full3.test.adl +64 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_dv_quantity_item_units_only.test.adl +55 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_dv_quantity_list.test.adl +58 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_dv_quantity_property.test.adl +47 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.c_dv_quantity_reversed.test.adl +59 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.constraint_binding.test.adl +37 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.constraint_ref.test.adl +43 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.datetime.test.adl +183 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.domain_types.test.adl +97 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.durations.test.adl +111 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.empty_other_contributors.test.adl +42 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.missing_language.test.adl +23 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.mixed_node_types.draft.adl +61 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.most_minimal.test.adl +23 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.multi_language.test.adl +52 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.special_string.test.adl +88 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.structure_test1.test.adl +45 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.structure_test2.test.adl +45 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.term_binding.test.adl +37 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.term_binding2.test.adl +32 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.testtranslations.test.adl +83 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.translations_author_language.test.adl +34 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.translations_language_author.test.adl +34 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.unicode_BOM_support.test.adl +41 -0
- data/spec/lib/open_ehr/parser/adl14/adl-test-entry.unicode_support.test.adl +41 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-ACTION.imaging.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-ACTION.referral.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/adl14/openEHR-EHR-CLUSTER.auscultation.v1.adl +48 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.dimensions-circumference.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.dimensions.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-chest.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-fetus.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-generic.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-uterus.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-COMPOSITION.discharge.v1draft.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-COMPOSITION.encounter.v1draft.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-EVALUATION.adverse.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/adl14/openEHR-EHR-EVALUATION.columna_vertebral.v1.adl +85 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-INSTRUCTION.medication.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-INSTRUCTION.referral.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-ITEM_TREE.follow_up.v1draft.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-ITEM_TREE.imaging.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-ITEM_TREE.medication-formulation.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-ITEM_TREE.medication.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-ITEM_TREE.referral.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-OBSERVATION.apgar.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-OBSERVATION.blood_pressure.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/adl14/openEHR-EHR-OBSERVATION.testassumedvalue.v1.adl +99 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-SECTION.findings.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-SECTION.reason_for_encounter.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-SECTION.summary.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-SECTION.vital_signs.v1.adl +0 -0
- data/spec/lib/open_ehr/parser/adl_parser_spec.rb +2 -2
- data/spec/lib/open_ehr/parser/adl_path_spec.rb +180 -0
- metadata +132 -83
- data/bin/adl_validator.rb +0 -84
- data/lib/open_ehr/parser/scanner/adl_scanner.rb +0 -819
- data/spec/lib/open_ehr/parser/adl/openEHR-EHR-CLUSTER.auscultation.v1.adl +0 -217
- data/spec/lib/open_ehr/parser/adl/openEHR-EHR-cadl_sample.v1.adl +0 -9
- data/spec/rcov.opts +0 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
archetype (adl_version=1.4)
|
|
2
|
+
openEHR-EHR-CLUSTER.auscultation.v1
|
|
3
|
+
|
|
4
|
+
concept
|
|
5
|
+
[at0000] -- Auscultation
|
|
6
|
+
language
|
|
7
|
+
original_language = <[ISO_639-1::en]>
|
|
8
|
+
|
|
9
|
+
definition
|
|
10
|
+
CLUSTER[at0000] matches { -- Auscultation
|
|
11
|
+
items cardinality matches {0..*; unordered} matches {
|
|
12
|
+
CLUSTER[at0002] occurrences matches {0..1} matches { -- Findings
|
|
13
|
+
items cardinality matches {0..*; unordered} matches {
|
|
14
|
+
CLUSTER[at0009] occurrences matches {0..1} matches { -- Bowel sounds
|
|
15
|
+
items cardinality matches {0..*; unordered} matches {
|
|
16
|
+
ELEMENT[at0074] occurrences matches {0..*} matches { -- Specific Findings
|
|
17
|
+
value matches {
|
|
18
|
+
DV_CODED_TEXT matches {
|
|
19
|
+
defining_code matches {
|
|
20
|
+
[local::
|
|
21
|
+
at0078, -- Absent bowel sounds
|
|
22
|
+
at0079, -- Decreased bowel sounds
|
|
23
|
+
at0080, -- Increased bowel sounds
|
|
24
|
+
at0081] -- Tinkling bowel sounds
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
use_node ELEMENT /items[at0004] -- /items[Clinical Description]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
ontology
|
|
39
|
+
term_definitions = <
|
|
40
|
+
["en"] = <
|
|
41
|
+
items = <
|
|
42
|
+
["at0000"] = <
|
|
43
|
+
text = <"Auscultation">
|
|
44
|
+
description = <"Findings on Auscultation">
|
|
45
|
+
>
|
|
46
|
+
>
|
|
47
|
+
>
|
|
48
|
+
>
|
data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.dimensions-circumference.v1.adl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
archetype (adl_version=1.4)
|
|
2
|
+
openEHR-EHR-EVALUATION.columna_vertebral.v1
|
|
3
|
+
|
|
4
|
+
concept
|
|
5
|
+
[at0000] -- Columna vertebral
|
|
6
|
+
language
|
|
7
|
+
original_language = <[ISO_639-1::es]>
|
|
8
|
+
description
|
|
9
|
+
original_author = <
|
|
10
|
+
["name"] = <"">
|
|
11
|
+
>
|
|
12
|
+
details = <
|
|
13
|
+
["es"] = <
|
|
14
|
+
language = <[ISO_639-1::es]>
|
|
15
|
+
purpose = <"Evaluacion de columna vertebral">
|
|
16
|
+
use = <"Evaluacion de columna vertebral">
|
|
17
|
+
misuse = <"">
|
|
18
|
+
>
|
|
19
|
+
>
|
|
20
|
+
lifecycle_state = <"0">
|
|
21
|
+
other_contributors = <>
|
|
22
|
+
other_details = <
|
|
23
|
+
["references"] = <"">
|
|
24
|
+
["MD5-CAM-1.0.1"] = <"0CD148BEA5220C93A938A3038D526998">
|
|
25
|
+
>
|
|
26
|
+
|
|
27
|
+
definition
|
|
28
|
+
EVALUATION[at0000] matches { -- Columna vertebral
|
|
29
|
+
data matches {
|
|
30
|
+
ITEM_LIST[at0001] matches { -- Lista
|
|
31
|
+
items cardinality matches {0..*; unordered} matches {
|
|
32
|
+
ELEMENT[at0002] occurrences matches {0..1} matches { -- Exploracion clinica cervical anormal
|
|
33
|
+
value matches {
|
|
34
|
+
DV_BOOLEAN matches {
|
|
35
|
+
value matches {True, False; True}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
ELEMENT[at0003] occurrences matches {0..1} matches { -- Indicacion de collar cervical
|
|
40
|
+
value matches {
|
|
41
|
+
DV_CODED_TEXT matches {
|
|
42
|
+
defining_code matches {
|
|
43
|
+
[local::
|
|
44
|
+
at0004, -- Si
|
|
45
|
+
at0005] -- No
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
ontology
|
|
56
|
+
term_definitions = <
|
|
57
|
+
["es"] = <
|
|
58
|
+
items = <
|
|
59
|
+
["at0000"] = <
|
|
60
|
+
text = <"Columna vertebral">
|
|
61
|
+
description = <"Columna vertebral">
|
|
62
|
+
>
|
|
63
|
+
["at0001"] = <
|
|
64
|
+
text = <"Lista">
|
|
65
|
+
description = <"@ internal @">
|
|
66
|
+
>
|
|
67
|
+
["at0002"] = <
|
|
68
|
+
text = <"Exploracion clinica cervical anormal">
|
|
69
|
+
description = <"Exploracion clinica cervical anormal">
|
|
70
|
+
>
|
|
71
|
+
["at0003"] = <
|
|
72
|
+
text = <"Indicacion de collar cervical">
|
|
73
|
+
description = <"Indicacion de collar cervical">
|
|
74
|
+
>
|
|
75
|
+
["at0004"] = <
|
|
76
|
+
text = <"Si">
|
|
77
|
+
description = <"hay indicacion de collar cervical">
|
|
78
|
+
>
|
|
79
|
+
["at0005"] = <
|
|
80
|
+
text = <"No">
|
|
81
|
+
description = <"no hay indicacion de collar cervical">
|
|
82
|
+
>
|
|
83
|
+
>
|
|
84
|
+
>
|
|
85
|
+
>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/lib/open_ehr/parser/{adl → adl14}/openEHR-EHR-ITEM_TREE.medication-formulation.v1.adl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
archetype (adl_version=1.4)
|
|
2
|
+
openEHR-EHR-OBSERVATION.testassumedvalue.v1
|
|
3
|
+
|
|
4
|
+
concept
|
|
5
|
+
[at0000] -- Test assumed value
|
|
6
|
+
language
|
|
7
|
+
original_language = <[ISO_639-1::en]>
|
|
8
|
+
description
|
|
9
|
+
original_author = <
|
|
10
|
+
["name"] = <"">
|
|
11
|
+
>
|
|
12
|
+
details = <
|
|
13
|
+
["en"] = <
|
|
14
|
+
language = <[ISO_639-1::en]>
|
|
15
|
+
purpose = <"">
|
|
16
|
+
use = <"">
|
|
17
|
+
misuse = <"">
|
|
18
|
+
>
|
|
19
|
+
>
|
|
20
|
+
lifecycle_state = <"0">
|
|
21
|
+
other_contributors = <>
|
|
22
|
+
other_details = <
|
|
23
|
+
["references"] = <"">
|
|
24
|
+
["MD5-CAM-1.0.1"] = <"0B09C5A77713C376B458BDB09F83F018">
|
|
25
|
+
>
|
|
26
|
+
|
|
27
|
+
definition
|
|
28
|
+
OBSERVATION[at0000] matches { -- Test assumed value
|
|
29
|
+
data matches {
|
|
30
|
+
HISTORY[at0001] matches { -- Event Series
|
|
31
|
+
events cardinality matches {1..*; unordered} matches {
|
|
32
|
+
EVENT[at0002] occurrences matches {0..1} matches { -- Any event
|
|
33
|
+
data matches {
|
|
34
|
+
ITEM_TREE[at0003] matches { -- Tree
|
|
35
|
+
items cardinality matches {0..*; unordered} matches {
|
|
36
|
+
ELEMENT[at0004] occurrences matches {0..1} matches { -- New element
|
|
37
|
+
value matches {
|
|
38
|
+
DV_BOOLEAN matches {
|
|
39
|
+
value matches {True, False; True}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
state matches {
|
|
47
|
+
ITEM_TREE[at0005] matches { -- Tree
|
|
48
|
+
items cardinality matches {0..*; unordered} matches {
|
|
49
|
+
ELEMENT[at0006] occurrences matches {0..1} matches { -- New element
|
|
50
|
+
value matches {
|
|
51
|
+
DV_BOOLEAN matches {
|
|
52
|
+
value matches {True, False; True}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
ontology
|
|
66
|
+
term_definitions = <
|
|
67
|
+
["en"] = <
|
|
68
|
+
items = <
|
|
69
|
+
["at0000"] = <
|
|
70
|
+
text = <"Test assumed value">
|
|
71
|
+
description = <"unknown">
|
|
72
|
+
>
|
|
73
|
+
["at0001"] = <
|
|
74
|
+
text = <"Event Series">
|
|
75
|
+
description = <"@ internal @">
|
|
76
|
+
>
|
|
77
|
+
["at0002"] = <
|
|
78
|
+
text = <"Any event">
|
|
79
|
+
description = <"*">
|
|
80
|
+
>
|
|
81
|
+
["at0003"] = <
|
|
82
|
+
text = <"Tree">
|
|
83
|
+
description = <"@ internal @">
|
|
84
|
+
>
|
|
85
|
+
["at0004"] = <
|
|
86
|
+
text = <"New element">
|
|
87
|
+
description = <"*">
|
|
88
|
+
>
|
|
89
|
+
["at0005"] = <
|
|
90
|
+
text = <"Tree">
|
|
91
|
+
description = <"@ internal @">
|
|
92
|
+
>
|
|
93
|
+
["at0006"] = <
|
|
94
|
+
text = <"New element">
|
|
95
|
+
description = <"*">
|
|
96
|
+
>
|
|
97
|
+
>
|
|
98
|
+
>
|
|
99
|
+
>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -8,7 +8,7 @@ include OpenEHR::AM::Archetype::Ontology
|
|
|
8
8
|
describe ADLParser do
|
|
9
9
|
|
|
10
10
|
before (:all) do
|
|
11
|
-
@adl_dir = File.dirname(__FILE__) + '/
|
|
11
|
+
@adl_dir = File.dirname(__FILE__) + '/adl14/'
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
context 'openEHR-EHR-SECTION-summary.v1.adl' do
|
|
@@ -39,7 +39,7 @@ describe ADLParser do
|
|
|
39
39
|
@archetype.adl_version.should == '1.4'
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
it 'concept should be at0000
|
|
42
|
+
it 'concept should be at0000' do
|
|
43
43
|
@archetype.concept.should == 'at0000'
|
|
44
44
|
end
|
|
45
45
|
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
|
2
|
+
include OpenEHR::Parser
|
|
3
|
+
include OpenEHR::AM::Archetype
|
|
4
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
5
|
+
include OpenEHR::AM::Archetype::Assertion
|
|
6
|
+
include OpenEHR::AM::Archetype::Ontology
|
|
7
|
+
|
|
8
|
+
describe ADLParser do
|
|
9
|
+
before(:all) do
|
|
10
|
+
adl_dir = File.dirname(__FILE__) + '/adl14/'
|
|
11
|
+
adl_path_test_file = 'adl-test-car.paths.test.adl'
|
|
12
|
+
ap = OpenEHR::Parser::ADLParser.new(adl_dir + adl_path_test_file)
|
|
13
|
+
@root = ap.parse.definition
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
it 'root path is /' do
|
|
18
|
+
@root.path.should == '/'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
context 'wheels' do
|
|
22
|
+
before(:all) do
|
|
23
|
+
@wheels = @root.attributes[0]
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'wheels path is /wheels' do
|
|
27
|
+
@wheels.path.should == '/wheels'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
context 'first wheel' do
|
|
31
|
+
before(:all) do
|
|
32
|
+
@first_wheel = @wheels.children[0]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 'path is /wheels[at0001]' do
|
|
36
|
+
@first_wheel.path.should == '/wheels[at0001]'
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it 'description path is /wheels[at0001]/description' do
|
|
40
|
+
description = @first_wheel.attributes[0]
|
|
41
|
+
description.path.should == '/wheels[at0001]/description'
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it 'wheel parts path is /wheels[at0001]/parts' do
|
|
45
|
+
wheel_parts = @first_wheel.attributes[1]
|
|
46
|
+
wheel_parts.path.should == '/wheels[at0001]/parts'
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
context 'parts node' do
|
|
50
|
+
before(:all) do
|
|
51
|
+
@parts_node = @first_wheel.attributes[1].children[0]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
it 'parts node path is /wheels[at0001]/parts[at0002]' do
|
|
55
|
+
@parts_node.path.should == '/wheels[at0001]/parts[at0002]'
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
context 'somthing of wheel part' do
|
|
59
|
+
before(:all) do
|
|
60
|
+
@something = @parts_node.attributes[0]
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
it 'something of WHEEL_PART path is /wheels[at0001]/parts[at0002]/something' do
|
|
64
|
+
@something.path.should == '/wheels[at0001]/parts[at0002]/something'
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
context 'somthing else of wheel part' do
|
|
69
|
+
before(:all) do
|
|
70
|
+
@something_else = @parts_node.attributes[1]
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it 'something else of WHEEL_PART path is /wheels[at0001]/parts[at0002]/something_else' do
|
|
74
|
+
@something_else.path.should ==
|
|
75
|
+
'/wheels[at0001]/parts[at0002]/something_else'
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
context 'second wheel' do
|
|
82
|
+
before(:all) do
|
|
83
|
+
@second_wheel = @wheels.children[1]
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
it 'path is /wheels[at0003]' do
|
|
87
|
+
@second_wheel.path.should == '/wheels[at0003]'
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
it 'description path is /wheels[at0003]/description' do
|
|
91
|
+
description = @second_wheel.attributes[0]
|
|
92
|
+
description.path.should == '/wheels[at0003]/description'
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
it 'wheel parts path is /wheels[at0003]/parts' do
|
|
96
|
+
wheel_parts = @second_wheel.attributes[1]
|
|
97
|
+
wheel_parts.path.should == '/wheels[at0003]/parts'
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
context 'parts node' do
|
|
101
|
+
before(:all) do
|
|
102
|
+
@parts_node = @second_wheel.attributes[1].children[0]
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
it 'wheel parts node path is /wheels[at0003]/parts' do
|
|
106
|
+
@parts_node.path.should == '/wheels[at0003]/parts'
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
it 'wheel parts node target path is /wheels[at0001]/parts[at0002]' do
|
|
110
|
+
@parts_node.target_path.should == '/wheels[at0001]/parts[at0002]'
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
context 'third wheel' do
|
|
116
|
+
before(:all) do
|
|
117
|
+
@third_wheel = @wheels.children[2]
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
it 'path is /wheels[at0004]' do
|
|
121
|
+
@third_wheel.path.should == '/wheels[at0004]'
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
it 'description path is /wheels[at0004]/description' do
|
|
125
|
+
description = @third_wheel.attributes[0]
|
|
126
|
+
description.path.should == '/wheels[at0004]/description'
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
context 'parts node' do
|
|
130
|
+
before(:all) do
|
|
131
|
+
@parts_node = @third_wheel.attributes[1].children[0]
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
it 'parts node path is /wheels[at0004]/parts' do
|
|
135
|
+
@parts_node.path.should == '/wheels[at0004]/parts'
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
it 'parts node target path is /wheels[at0001]/parts[at0002]' do
|
|
139
|
+
@parts_node.target_path.should == '/wheels[at0001]/parts[at0002]'
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
context 'fourth wheel' do
|
|
145
|
+
before(:all) do
|
|
146
|
+
@fourth_wheel = @wheels.children[3]
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
it 'path is /wheels[at0005]' do
|
|
150
|
+
@fourth_wheel.path.should == '/wheels[at0005]'
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
it 'description path is /wheels[at0005]/description' do
|
|
154
|
+
description = @fourth_wheel.attributes[0]
|
|
155
|
+
description.path.should == '/wheels[at0005]/description'
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
context 'parts node' do
|
|
159
|
+
before(:all) do
|
|
160
|
+
@parts_node = @fourth_wheel.attributes[1].children[0]
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
it 'parts node path is /wheels[at0005]/parts' do
|
|
164
|
+
@parts_node.path.should == '/wheels[at0005]/parts'
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
it 'parts node target path is /engine[at0001]/parts[at0002]' do
|
|
168
|
+
@parts_node.target_path.should == '/engine[at0001]/parts[at0002]'
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
context 'fifhth wheel' do
|
|
174
|
+
it 'fifth wheel is nil' do
|
|
175
|
+
fifth_wheel = @wheels.children[4]
|
|
176
|
+
fifth_wheel.should be_nil
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
end
|