open_ehr 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- 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,55 @@
|
|
1
|
+
archetype
|
2
|
+
adl-test-ENTRY.c_dv_quantity.test
|
3
|
+
|
4
|
+
concept
|
5
|
+
[at0000]
|
6
|
+
|
7
|
+
language
|
8
|
+
original_language = <[ISO_639-1::en]>
|
9
|
+
|
10
|
+
definition
|
11
|
+
ENTRY[at0000] matches {
|
12
|
+
types matches {
|
13
|
+
LIST[at0001] matches {
|
14
|
+
items cardinality matches {0..*} matches {
|
15
|
+
ELEMENT[at10005] matches { -- c_quantity
|
16
|
+
value matches {
|
17
|
+
C_DV_QUANTITY <
|
18
|
+
property = <[openehr::128]>
|
19
|
+
list = <
|
20
|
+
["1"] = <
|
21
|
+
units = <"yr">
|
22
|
+
>
|
23
|
+
["2"] = <
|
24
|
+
units = <"mth">
|
25
|
+
>
|
26
|
+
>
|
27
|
+
>
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
ontology
|
36
|
+
primary_language = <"en">
|
37
|
+
languages_available = <"en", ...>
|
38
|
+
term_definitions = <
|
39
|
+
["en"] = <
|
40
|
+
items = <
|
41
|
+
["at0000"] = <
|
42
|
+
text = <"domain types test">
|
43
|
+
description = <"domain types test">
|
44
|
+
>
|
45
|
+
["at0001"] = <
|
46
|
+
text = <"items">
|
47
|
+
description = <"items">
|
48
|
+
>
|
49
|
+
["at10005"] = <
|
50
|
+
text = <"c_quantity">
|
51
|
+
description = <"c_quantity node">
|
52
|
+
>
|
53
|
+
>
|
54
|
+
>
|
55
|
+
>
|
@@ -0,0 +1,58 @@
|
|
1
|
+
archetype
|
2
|
+
adl-test-ENTRY.c_dv_quantity.test
|
3
|
+
|
4
|
+
concept
|
5
|
+
[at0000]
|
6
|
+
|
7
|
+
language
|
8
|
+
original_language = <[ISO_639-1::en]>
|
9
|
+
|
10
|
+
definition
|
11
|
+
ENTRY[at0000] matches {
|
12
|
+
types matches {
|
13
|
+
LIST[at0001] matches {
|
14
|
+
items cardinality matches {0..*} matches {
|
15
|
+
ELEMENT[at10005] matches { -- c_quantity
|
16
|
+
value matches {
|
17
|
+
C_DV_QUANTITY <
|
18
|
+
list = <
|
19
|
+
["1"] = <
|
20
|
+
units = <"yr">
|
21
|
+
magnitude = <|0.0..200.0|>
|
22
|
+
precision = <|2|>
|
23
|
+
>
|
24
|
+
["2"] = <
|
25
|
+
units = <"mth">
|
26
|
+
magnitude = <|1.0..36.0|>
|
27
|
+
precision = <|2|>
|
28
|
+
>
|
29
|
+
>
|
30
|
+
>
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
ontology
|
39
|
+
primary_language = <"en">
|
40
|
+
languages_available = <"en", ...>
|
41
|
+
term_definitions = <
|
42
|
+
["en"] = <
|
43
|
+
items = <
|
44
|
+
["at0000"] = <
|
45
|
+
text = <"domain types test">
|
46
|
+
description = <"domain types test">
|
47
|
+
>
|
48
|
+
["at0001"] = <
|
49
|
+
text = <"items">
|
50
|
+
description = <"items">
|
51
|
+
>
|
52
|
+
["at10005"] = <
|
53
|
+
text = <"c_quantity">
|
54
|
+
description = <"c_quantity node">
|
55
|
+
>
|
56
|
+
>
|
57
|
+
>
|
58
|
+
>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
archetype
|
2
|
+
adl-test-ENTRY.c_dv_quantity.test
|
3
|
+
|
4
|
+
concept
|
5
|
+
[at0000]
|
6
|
+
|
7
|
+
language
|
8
|
+
original_language = <[ISO_639-1::en]>
|
9
|
+
|
10
|
+
definition
|
11
|
+
ENTRY[at0000] matches {
|
12
|
+
types matches {
|
13
|
+
LIST[at0001] matches {
|
14
|
+
items cardinality matches {0..*} matches {
|
15
|
+
ELEMENT[at10005] matches { -- c_quantity
|
16
|
+
value matches {
|
17
|
+
C_DV_QUANTITY <
|
18
|
+
property = <[openehr::128]>
|
19
|
+
>
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
ontology
|
28
|
+
primary_language = <"en">
|
29
|
+
languages_available = <"en", ...>
|
30
|
+
term_definitions = <
|
31
|
+
["en"] = <
|
32
|
+
items = <
|
33
|
+
["at0000"] = <
|
34
|
+
text = <"domain types test">
|
35
|
+
description = <"domain types test">
|
36
|
+
>
|
37
|
+
["at0001"] = <
|
38
|
+
text = <"items">
|
39
|
+
description = <"items">
|
40
|
+
>
|
41
|
+
["at10005"] = <
|
42
|
+
text = <"c_quantity">
|
43
|
+
description = <"c_quantity node">
|
44
|
+
>
|
45
|
+
>
|
46
|
+
>
|
47
|
+
>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
archetype
|
2
|
+
adl-test-ENTRY.c_dv_quantity.test
|
3
|
+
|
4
|
+
concept
|
5
|
+
[at0000]
|
6
|
+
|
7
|
+
language
|
8
|
+
original_language = <[ISO_639-1::en]>
|
9
|
+
|
10
|
+
definition
|
11
|
+
ENTRY[at0000] matches {
|
12
|
+
types matches {
|
13
|
+
LIST[at0001] matches {
|
14
|
+
items cardinality matches {0..*} matches {
|
15
|
+
ELEMENT[at10005] matches { -- c_quantity
|
16
|
+
value matches {
|
17
|
+
C_DV_QUANTITY <
|
18
|
+
list = <
|
19
|
+
["1"] = <
|
20
|
+
units = <"yr">
|
21
|
+
magnitude = <|0.0..200.0|>
|
22
|
+
precision = <|2|>
|
23
|
+
>
|
24
|
+
["2"] = <
|
25
|
+
units = <"mth">
|
26
|
+
magnitude = <|1.0..36.0|>
|
27
|
+
precision = <|2|>
|
28
|
+
>
|
29
|
+
>
|
30
|
+
property = <[openehr::128]>
|
31
|
+
>
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
ontology
|
40
|
+
primary_language = <"en">
|
41
|
+
languages_available = <"en", ...>
|
42
|
+
term_definitions = <
|
43
|
+
["en"] = <
|
44
|
+
items = <
|
45
|
+
["at0000"] = <
|
46
|
+
text = <"domain types test">
|
47
|
+
description = <"domain types test">
|
48
|
+
>
|
49
|
+
["at0001"] = <
|
50
|
+
text = <"items">
|
51
|
+
description = <"items">
|
52
|
+
>
|
53
|
+
["at10005"] = <
|
54
|
+
text = <"c_quantity">
|
55
|
+
description = <"c_quantity node">
|
56
|
+
>
|
57
|
+
>
|
58
|
+
>
|
59
|
+
>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
archetype
|
2
|
+
adl-test-ENTRY.constraint_binding.draft
|
3
|
+
concept
|
4
|
+
[at0000] -- empty definition test
|
5
|
+
|
6
|
+
language
|
7
|
+
original_language = <[ISO_639-1::en]>
|
8
|
+
|
9
|
+
definition
|
10
|
+
ENTRY[at0000] matches {*}
|
11
|
+
|
12
|
+
ontology
|
13
|
+
primary_language = <"en">
|
14
|
+
languages_available = <"en", ...>
|
15
|
+
|
16
|
+
term_definitions = <
|
17
|
+
["en"] = <
|
18
|
+
items = <
|
19
|
+
["at0000"] = <
|
20
|
+
text = <"most minimal">;
|
21
|
+
description = <"most minimal">
|
22
|
+
>
|
23
|
+
>
|
24
|
+
>
|
25
|
+
>
|
26
|
+
constraint_binding = <
|
27
|
+
["SNOMED_CT"] = <
|
28
|
+
items = <
|
29
|
+
["ac0001"] = <http://terminology.org?terminology_id=snomed_ct&&has_relation=102002;with_target=128004>
|
30
|
+
>
|
31
|
+
>
|
32
|
+
["ICD10"] = <
|
33
|
+
items = <
|
34
|
+
["ac0001"] = <http://terminology.org?terminology_id=icd10&&has_relation=a2;with_target=b19>
|
35
|
+
>
|
36
|
+
>
|
37
|
+
>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
archetype
|
2
|
+
adl-test-ENTRY.c_code_phrase.test
|
3
|
+
|
4
|
+
concept
|
5
|
+
[at0000]
|
6
|
+
|
7
|
+
language
|
8
|
+
original_language = <[ISO_639-1::en]>
|
9
|
+
|
10
|
+
definition
|
11
|
+
ENTRY[at0000] matches {
|
12
|
+
content matches {
|
13
|
+
LIST[at0001] matches {
|
14
|
+
items cardinality matches {0..*} matches {
|
15
|
+
ELEMENT[at0002] matches {
|
16
|
+
value matches {
|
17
|
+
DV_CODED_TEXT matches {
|
18
|
+
defining_code matches {[ac0001]}
|
19
|
+
}
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
ontology
|
28
|
+
primary_language = <"en">
|
29
|
+
languages_available = <"en", ...>
|
30
|
+
term_definitions = <
|
31
|
+
["en"] = <
|
32
|
+
items = <
|
33
|
+
["at0000"] = <
|
34
|
+
text = <"test">
|
35
|
+
description = <"desc">
|
36
|
+
>
|
37
|
+
["at0001"] = <
|
38
|
+
text = <"text">
|
39
|
+
description = <"desc">
|
40
|
+
>
|
41
|
+
>
|
42
|
+
>
|
43
|
+
>
|
@@ -0,0 +1,183 @@
|
|
1
|
+
archetype
|
2
|
+
adl-test-ENTRY.test.draft
|
3
|
+
|
4
|
+
concept
|
5
|
+
[at0000] -- basic data types test 1
|
6
|
+
|
7
|
+
language
|
8
|
+
original_language = <[ISO_639-1::en]>
|
9
|
+
|
10
|
+
definition
|
11
|
+
ENTRY[at0000] matches {
|
12
|
+
date_attributes matches {
|
13
|
+
LIST matches {
|
14
|
+
date_attr1 matches {yyyy-mm-dd}
|
15
|
+
date_attr2 matches {yyyy-??-??}
|
16
|
+
date_attr3 matches {yyyy-mm-??}
|
17
|
+
date_attr4 matches {yyyy-??-XX}
|
18
|
+
date_attr5 matches {1983-12-25}
|
19
|
+
date_attr6 matches {2000-01-01}
|
20
|
+
|
21
|
+
date_attr7 matches {|2004-09-20..2004-10-20|}
|
22
|
+
date_attr8 matches {|< 2004-09-20|}
|
23
|
+
date_attr9 matches {|<= 2004-09-20|}
|
24
|
+
date_attr10 matches {|> 2004-09-20|}
|
25
|
+
date_attr11 matches {|>= 2004-09-20|}
|
26
|
+
|
27
|
+
-- date_attr12 matches {2001-12-25, ...} -- Not currently in ADL syntax
|
28
|
+
|
29
|
+
-- with assumed values
|
30
|
+
date_attr13 matches {yyyy-mm-dd; 2000-01-01}
|
31
|
+
date_attr14 matches {yyyy-??-??; 2001-01-01}
|
32
|
+
date_attr15 matches {yyyy-mm-??; 2002-01-01}
|
33
|
+
date_attr16 matches {yyyy-??-XX; 2003-01-01}
|
34
|
+
date_attr17 matches {1983-12-25; 2004-01-01}
|
35
|
+
date_attr18 matches {2000-01-01; 2005-01-01}
|
36
|
+
|
37
|
+
date_attr19 matches {|2004-09-20..2004-10-20|; 2004-09-30}
|
38
|
+
date_attr20 matches {|< 2004-09-20|; 2004-09-01}
|
39
|
+
date_attr21 matches {|<= 2004-09-20|; 2003-09-20}
|
40
|
+
date_attr22 matches {|> 2004-09-20|; 2005-01-02}
|
41
|
+
date_attr23 matches {|>= 2004-09-20|; 2005-10-30}
|
42
|
+
|
43
|
+
-- single value as interval
|
44
|
+
date_attr24 matches {|2004-09-20|}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
time_attributes matches {
|
48
|
+
LIST matches {
|
49
|
+
time_attr1 matches {hh:mm:ss}
|
50
|
+
time_attr2 matches {hh:mm:XX}
|
51
|
+
time_attr3 matches {hh:??:XX}
|
52
|
+
time_attr4 matches {hh:??:??}
|
53
|
+
time_attr5 matches {22:00:05}
|
54
|
+
time_attr6 matches {00:00:59}
|
55
|
+
|
56
|
+
time_attr7 matches {12:35}
|
57
|
+
time_attr8 matches {12:35:45,666}
|
58
|
+
time_attr9 matches {12:35:45-0700}
|
59
|
+
time_attr10 matches {12:35:45+0800}
|
60
|
+
time_attr11 matches {12:35:45,999-0700}
|
61
|
+
time_attr12 matches {12:35:45,000+0800}
|
62
|
+
time_attr13 matches {12:35:45,000Z}
|
63
|
+
time_attr14 matches {12:35:45,995-0700}
|
64
|
+
time_attr15 matches {12:35:45,001+0800}
|
65
|
+
|
66
|
+
time_attr16 matches {|12:35..16:35|}
|
67
|
+
time_attr17 matches {|< 12:35|}
|
68
|
+
time_attr18 matches {|<= 12:35|}
|
69
|
+
time_attr19 matches {|> 12:35|}
|
70
|
+
time_attr20 matches {|>= 12:35|}
|
71
|
+
|
72
|
+
-- with assumed values
|
73
|
+
time_attr21 matches {hh:mm:ss; 10:00:00}
|
74
|
+
time_attr22 matches {hh:mm:XX; 10:00:00}
|
75
|
+
time_attr23 matches {hh:??:XX; 10:00:00}
|
76
|
+
time_attr24 matches {hh:??:??; 10:00:00}
|
77
|
+
time_attr25 matches {22:00:05; 10:00:00}
|
78
|
+
time_attr26 matches {00:00:59; 10:00:00}
|
79
|
+
|
80
|
+
time_attr27 matches {12:35; 10:00:00}
|
81
|
+
time_attr28 matches {12:35:45,666; 10:00:00}
|
82
|
+
time_attr29 matches {12:35:45-0700; 10:00:00}
|
83
|
+
time_attr30 matches {12:35:45+0800; 10:00:00}
|
84
|
+
time_attr31 matches {12:35:45,999-0700; 10:00:00}
|
85
|
+
time_attr32 matches {12:35:45,000+0800; 10:00:00}
|
86
|
+
time_attr33 matches {12:35:45,000Z; 10:00:00}
|
87
|
+
time_attr34 matches {12:35:45,995-0700; 10:00:00}
|
88
|
+
time_attr35 matches {12:35:45,001+0800; 10:00:00}
|
89
|
+
|
90
|
+
time_attr36 matches {|12:35..16:35|; 10:00:00}
|
91
|
+
time_attr37 matches {|< 12:35|; 10:00:00}
|
92
|
+
time_attr38 matches {|<= 12:35|; 10:00:00}
|
93
|
+
time_attr39 matches {|> 12:35|; 10:00:00}
|
94
|
+
time_attr40 matches {|>= 12:35|; 10:00:00}
|
95
|
+
|
96
|
+
-- single value as interval
|
97
|
+
time_attr41 matches {|12:35|}
|
98
|
+
|
99
|
+
-- time_attr7 matches {64:02:25, ...} -- Not currently in ADL syntax
|
100
|
+
|
101
|
+
time_attr6 matches {00:00:59,0}
|
102
|
+
}
|
103
|
+
}
|
104
|
+
date_time_attributes matches {
|
105
|
+
LIST matches {
|
106
|
+
date_time_attr1 matches {yyyy-mm-dd hh:mm:ss}
|
107
|
+
date_time_attr2 matches {yyyy-mm-dd hh:mm:??}
|
108
|
+
date_time_attr3 matches {yyyy-mm-dd hh:mm:XX}
|
109
|
+
date_time_attr4 matches {yyyy-mm-dd hh:??:XX}
|
110
|
+
date_time_attr5 matches {yyyy-??-?? ??:??:??}
|
111
|
+
date_time_attr6 matches {1983-12-25T22:00:05}
|
112
|
+
date_time_attr7 matches {2000-01-01T00:00:59}
|
113
|
+
|
114
|
+
date_time_attr8 matches {2000-01-01T00:00:59}
|
115
|
+
date_time_attr9 matches {2000-01-01T00:00:59,105}
|
116
|
+
date_time_attr10 matches {2000-01-01T00:00:59Z}
|
117
|
+
date_time_attr11 matches {2000-01-01T00:00:59+1200}
|
118
|
+
date_time_attr12 matches {2000-01-01T00:00:59,500Z}
|
119
|
+
date_time_attr13 matches {2000-01-01T00:00:59,500+1200}
|
120
|
+
date_time_attr14 matches {2000-01-01T00:00:59,000Z}
|
121
|
+
date_time_attr15 matches {2000-01-01T00:00:59,000+1200}
|
122
|
+
|
123
|
+
date_time_attr16 matches {|2000-01-01T00:00:00..2000-01-02T00:00:00|}
|
124
|
+
date_time_attr17 matches {|< 2000-01-01T00:00:00|}
|
125
|
+
date_time_attr18 matches {|<= 2000-01-01T00:00:00|}
|
126
|
+
date_time_attr19 matches {|> 2000-01-01T00:00:00|}
|
127
|
+
date_time_attr20 matches {|>= 2000-01-01T00:00:00|}
|
128
|
+
|
129
|
+
-- date_time_attr8 matches {2000-12-25T00:00:59, ...} -- Not currently in ADL syntax
|
130
|
+
|
131
|
+
-- with assumed values
|
132
|
+
date_time_attr1 matches {yyyy-mm-dd hh:mm:ss; 2006-03-31T01:12:00}
|
133
|
+
date_time_attr2 matches {yyyy-mm-dd hh:mm:??; 2006-03-31T01:12:00}
|
134
|
+
date_time_attr3 matches {yyyy-mm-dd hh:mm:XX; 2006-03-31T01:12:00}
|
135
|
+
date_time_attr4 matches {yyyy-mm-dd hh:??:XX; 2006-03-31T01:12:00}
|
136
|
+
date_time_attr5 matches {yyyy-??-?? ??:??:??; 2006-03-31T01:12:00}
|
137
|
+
date_time_attr6 matches {1983-12-25T22:00:05; 2006-03-31T01:12:00}
|
138
|
+
date_time_attr7 matches {2000-01-01T00:00:59; 2006-03-31T01:12:00}
|
139
|
+
|
140
|
+
date_time_attr8 matches {2000-01-01T00:00:59,000; 2006-03-31T01:12:00}
|
141
|
+
date_time_attr9 matches {2000-01-01T00:00:59,105; 2006-03-31T01:12:00}
|
142
|
+
date_time_attr10 matches {2000-01-01T00:00:59Z; 2006-03-31T01:12:00}
|
143
|
+
date_time_attr11 matches {2000-01-01T00:00:59+1200; 2006-03-31T01:12:00}
|
144
|
+
date_time_attr12 matches {2000-01-01T00:00:59,500Z; 2006-03-31T01:12:00}
|
145
|
+
date_time_attr13 matches {2000-01-01T00:00:59,500+1200; 2006-03-31T01:12:00}
|
146
|
+
date_time_attr14 matches {2000-01-01T00:00:59,000Z; 2006-03-31T01:12:00}
|
147
|
+
date_time_attr15 matches {2000-01-01T00:00:59,000+1200; 2006-03-31T01:12:00}
|
148
|
+
|
149
|
+
date_time_attr16 matches {|2000-01-01T00:00:00..2000-01-02T00:00:00|; 2006-03-31T01:12:00}
|
150
|
+
date_time_attr17 matches {|< 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
|
151
|
+
date_time_attr18 matches {|<= 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
|
152
|
+
date_time_attr19 matches {|> 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
|
153
|
+
date_time_attr20 matches {|>= 2000-01-01T00:00:00|; 2006-03-31T01:12:00}
|
154
|
+
|
155
|
+
-- newly supported pattern with "T" in the middle
|
156
|
+
date_time_attr21 matches {yyyy-??-??T??:??:??}
|
157
|
+
|
158
|
+
-- single value as interval
|
159
|
+
date_time_attr22 matches {|2000-01-01T00:00:00|}
|
160
|
+
|
161
|
+
-- datetime without specified seconds
|
162
|
+
date_time_attr23 matches {1995-03-17T12:01}
|
163
|
+
|
164
|
+
-- datetime without specified minute or seconds
|
165
|
+
date_time_attr23 matches {1995-03-17T12}
|
166
|
+
}
|
167
|
+
}
|
168
|
+
}
|
169
|
+
ontology
|
170
|
+
primary_language = <"en">
|
171
|
+
languages_available = <"en", ...>
|
172
|
+
terminologies_available = <"adl_test", ...>
|
173
|
+
|
174
|
+
term_definitions = <
|
175
|
+
["en"] = <
|
176
|
+
items = <
|
177
|
+
["at0000"] = <
|
178
|
+
text = <"test entry">;
|
179
|
+
description = <"test entry">
|
180
|
+
>
|
181
|
+
>
|
182
|
+
>
|
183
|
+
>
|
@@ -0,0 +1,97 @@
|
|
1
|
+
archetype
|
2
|
+
adl-test-ENTRY.domain_types.test
|
3
|
+
|
4
|
+
concept
|
5
|
+
[at0000]
|
6
|
+
|
7
|
+
language
|
8
|
+
original_language = <[ISO_639-1::en]>
|
9
|
+
|
10
|
+
definition
|
11
|
+
ENTRY[at0000] matches {
|
12
|
+
types matches {
|
13
|
+
LIST[at0001] matches {
|
14
|
+
items cardinality matches {0..*} matches {
|
15
|
+
ELEMENT[at10001] matches { -- ordinal
|
16
|
+
value matches {
|
17
|
+
0|[local::at0003.0], -- capsule
|
18
|
+
1|[local::at0003.1], -- powder
|
19
|
+
2|[local::at0003.2], -- tablet
|
20
|
+
3|[local::at0003.3], -- solution
|
21
|
+
4|[local::at0003.4] -- suspension
|
22
|
+
}
|
23
|
+
}
|
24
|
+
ELEMENT[at10002] matches { -- coded_text
|
25
|
+
value matches {
|
26
|
+
[local::
|
27
|
+
at2001.0, -- initial
|
28
|
+
at2001.1, -- wait
|
29
|
+
at2001.2] -- completed
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
-- not a domain type
|
34
|
+
-- here for testing C_QUANTITY parsing
|
35
|
+
|
36
|
+
ELEMENT[at10006] matches { -- count
|
37
|
+
value matches {
|
38
|
+
COUNT matches {
|
39
|
+
magnitude matches {|0..100|}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
-- not a domain type
|
45
|
+
-- here for verifying a bug fix
|
46
|
+
|
47
|
+
ELEMENT[at10006] matches { -- count
|
48
|
+
value matches {
|
49
|
+
COUNT matches {*}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
}
|
56
|
+
|
57
|
+
ontology
|
58
|
+
primary_language = <"en">
|
59
|
+
languages_available = <"en", ...>
|
60
|
+
term_definitions = <
|
61
|
+
["en"] = <
|
62
|
+
items = <
|
63
|
+
["at0000"] = <
|
64
|
+
text = <"domain types test">
|
65
|
+
description = <"domain types test">
|
66
|
+
>
|
67
|
+
["at0001"] = <
|
68
|
+
text = <"items">
|
69
|
+
description = <"items">
|
70
|
+
>
|
71
|
+
["at0002"] = <
|
72
|
+
text = <"*">
|
73
|
+
description = <"*">
|
74
|
+
>
|
75
|
+
["at0003.0"] = <
|
76
|
+
text = <"capsule">
|
77
|
+
description = <"">
|
78
|
+
>
|
79
|
+
["at0003.1"] = <
|
80
|
+
text = <"powder">
|
81
|
+
description = <"">
|
82
|
+
>
|
83
|
+
["at0003.2"] = <
|
84
|
+
text = <"tablet">
|
85
|
+
description = <"">
|
86
|
+
>
|
87
|
+
["at0003.3"] = <
|
88
|
+
text = <"solution">
|
89
|
+
description = <"">
|
90
|
+
>
|
91
|
+
["at0003.4"] = <
|
92
|
+
text = <"suspension">
|
93
|
+
description = <"">
|
94
|
+
>
|
95
|
+
>
|
96
|
+
>
|
97
|
+
>
|
@@ -0,0 +1,111 @@
|
|
1
|
+
archetype
|
2
|
+
adl-test-ENTRY.test.draft
|
3
|
+
|
4
|
+
concept
|
5
|
+
[at0000] -- basic data types test 1
|
6
|
+
|
7
|
+
language
|
8
|
+
original_language = <[ISO_639-1::en]>
|
9
|
+
|
10
|
+
definition
|
11
|
+
ENTRY[at0000] matches {
|
12
|
+
types matches {
|
13
|
+
LIST[at0001] matches {
|
14
|
+
items cardinality matches {0..*} matches {
|
15
|
+
ELEMENT[at1001] matches { -- duration
|
16
|
+
value matches {PT0s}
|
17
|
+
}
|
18
|
+
ELEMENT[at1002] matches { -- duration
|
19
|
+
value matches {P1d}
|
20
|
+
}
|
21
|
+
ELEMENT[at1003] matches { -- duration
|
22
|
+
value matches {PT2h5m0s}
|
23
|
+
}
|
24
|
+
ELEMENT[at1004] matches { -- duration
|
25
|
+
value matches {|PT1h55m0s..PT2h5m0s|}
|
26
|
+
}
|
27
|
+
ELEMENT[at1005] matches { -- duration
|
28
|
+
value matches {|<=PT1h|}
|
29
|
+
}
|
30
|
+
ELEMENT[at1006] matches { -- duration
|
31
|
+
value matches {P1DT1H2M3S}
|
32
|
+
}
|
33
|
+
ELEMENT[at1007] matches { -- duration
|
34
|
+
value matches {P1W2DT1H2M3S}
|
35
|
+
}
|
36
|
+
ELEMENT[at1008] matches { -- duration
|
37
|
+
value matches {P3M1W2DT1H2M3S}
|
38
|
+
}
|
39
|
+
ELEMENT[at1009] matches { -- duration pattern
|
40
|
+
value matches {PDTH}
|
41
|
+
}
|
42
|
+
ELEMENT[at1010] matches { -- duration interval
|
43
|
+
value matches {|PT10M|}
|
44
|
+
}
|
45
|
+
ELEMENT[at1011] matches { -- duration ISO8601 pattern
|
46
|
+
value matches {PYMWDTHMS}
|
47
|
+
}
|
48
|
+
ELEMENT[at1011] matches { -- duration with fractional seconds
|
49
|
+
value matches {|PT0.004s|}
|
50
|
+
}
|
51
|
+
ELEMENT[at1012] matches { -- duration with fractional seconds
|
52
|
+
value matches {|PT10.01s|}
|
53
|
+
}
|
54
|
+
ELEMENT[at1013] matches { -- duration with fractional seconds
|
55
|
+
value matches {|PT1.1s|}
|
56
|
+
}
|
57
|
+
ELEMENT[at1014] matches { -- duration with mixed Pattern and Interval
|
58
|
+
value matches {PTS/|PT0S..PT120S|}
|
59
|
+
}
|
60
|
+
-- matches {PT30s, PT45s, PT1m0s, PT2m0s} -- Not currently in ADL syntax
|
61
|
+
-- matches {|P1d +/PT4h|}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
LIST[at0002] matches {
|
66
|
+
items cardinality matches {0..*} matches {
|
67
|
+
ELEMENT[at1001] matches { -- duration with assumed values
|
68
|
+
value matches {PT0s; P1d}
|
69
|
+
}
|
70
|
+
ELEMENT[at1002] matches { -- duration with assumed values
|
71
|
+
value matches {P1d; P1d}
|
72
|
+
}
|
73
|
+
ELEMENT[at1003] matches { -- duration with assumed values
|
74
|
+
value matches {PT2h5m0s; P1d}
|
75
|
+
}
|
76
|
+
ELEMENT[at1004] matches { -- duration with assumed values
|
77
|
+
value matches {|PT1h55m0s..PT2h5m0s|; P1d}
|
78
|
+
}
|
79
|
+
ELEMENT[at1005] matches { -- duration with assumed values
|
80
|
+
value matches {|<=PT1h|; P1d}
|
81
|
+
}
|
82
|
+
ELEMENT[at1006] matches { -- duration
|
83
|
+
value matches {PDTH; P1d}
|
84
|
+
}
|
85
|
+
|
86
|
+
ELEMENT[at1010] matches { -- duration interval
|
87
|
+
value matches {|PT10M|; PT12M}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
92
|
+
}
|
93
|
+
ontology
|
94
|
+
primary_language = <"en">
|
95
|
+
languages_available = <"en", ...>
|
96
|
+
terminologies_available = <"adl_test", ...>
|
97
|
+
|
98
|
+
term_definitions = <
|
99
|
+
["en"] = <
|
100
|
+
items = <
|
101
|
+
["at0000"] = <
|
102
|
+
text = <"test entry">;
|
103
|
+
description = <"test entry">
|
104
|
+
>
|
105
|
+
["at0001"] = <
|
106
|
+
text = <"test list">;
|
107
|
+
description = <"test list">
|
108
|
+
>
|
109
|
+
>
|
110
|
+
>
|
111
|
+
>
|