openehr 1.1.0
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/.document +5 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/Gemfile +23 -0
- data/Guardfile +12 -0
- data/History.txt +36 -0
- data/PostInstall.txt +9 -0
- data/README.rdoc +82 -0
- data/Rakefile +44 -0
- data/VERSION +1 -0
- data/doc/openehr_terminology.xml +2700 -0
- data/lib/openehr.rb +11 -0
- data/lib/openehr/am.rb +8 -0
- data/lib/openehr/am/archetype.rb +133 -0
- data/lib/openehr/am/archetype/assertion.rb +190 -0
- data/lib/openehr/am/archetype/constraint_model.rb +328 -0
- data/lib/openehr/am/archetype/constraint_model/primitive.rb +327 -0
- data/lib/openehr/am/archetype/ontology.rb +126 -0
- data/lib/openehr/am/openehr_profile.rb +9 -0
- data/lib/openehr/am/openehr_profile/data_types.rb +13 -0
- data/lib/openehr/am/openehr_profile/data_types/basic.rb +114 -0
- data/lib/openehr/am/openehr_profile/data_types/quantity.rb +67 -0
- data/lib/openehr/am/openehr_profile/data_types/text.rb +22 -0
- data/lib/openehr/assumed_library_types.rb +691 -0
- data/lib/openehr/parser.rb +23 -0
- data/lib/openehr/parser/adl.rb +57 -0
- data/lib/openehr/parser/adl_grammar.tt +245 -0
- data/lib/openehr/parser/adl_parser.rb +52 -0
- data/lib/openehr/parser/cadl_grammar.tt +1527 -0
- data/lib/openehr/parser/cadl_node.rb +44 -0
- data/lib/openehr/parser/dadl.rb +13 -0
- data/lib/openehr/parser/dadl_grammar.tt +358 -0
- data/lib/openehr/parser/exception.rb +68 -0
- data/lib/openehr/parser/shared_token_grammar.tt +1229 -0
- data/lib/openehr/parser/validator.rb +19 -0
- data/lib/openehr/parser/xml_perser.rb +13 -0
- data/lib/openehr/rm.rb +15 -0
- data/lib/openehr/rm/common.rb +14 -0
- data/lib/openehr/rm/common/archetyped.rb +182 -0
- data/lib/openehr/rm/common/change_control.rb +332 -0
- data/lib/openehr/rm/common/directory.rb +29 -0
- data/lib/openehr/rm/common/generic.rb +216 -0
- data/lib/openehr/rm/common/resource.rb +154 -0
- data/lib/openehr/rm/composition.rb +103 -0
- data/lib/openehr/rm/composition/content.rb +22 -0
- data/lib/openehr/rm/composition/content/entry.rb +253 -0
- data/lib/openehr/rm/composition/content/navigation.rb +31 -0
- data/lib/openehr/rm/data_structures.rb +25 -0
- data/lib/openehr/rm/data_structures/history.rb +117 -0
- data/lib/openehr/rm/data_structures/item_structure.rb +218 -0
- data/lib/openehr/rm/data_structures/item_structure/representation.rb +63 -0
- data/lib/openehr/rm/data_types.rb +14 -0
- data/lib/openehr/rm/data_types/basic.rb +108 -0
- data/lib/openehr/rm/data_types/charset.lst +818 -0
- data/lib/openehr/rm/data_types/charset_extract.rb +24 -0
- data/lib/openehr/rm/data_types/encapsulated.rb +98 -0
- data/lib/openehr/rm/data_types/quantity.rb +402 -0
- data/lib/openehr/rm/data_types/quantity/date_time.rb +256 -0
- data/lib/openehr/rm/data_types/text.rb +169 -0
- data/lib/openehr/rm/data_types/time_specification.rb +75 -0
- data/lib/openehr/rm/data_types/uri.rb +83 -0
- data/lib/openehr/rm/demographic.rb +269 -0
- data/lib/openehr/rm/ehr.rb +162 -0
- data/lib/openehr/rm/integration.rb +27 -0
- data/lib/openehr/rm/security.rb +12 -0
- data/lib/openehr/rm/support.rb +14 -0
- data/lib/openehr/rm/support/definition.rb +15 -0
- data/lib/openehr/rm/support/identification.rb +412 -0
- data/lib/openehr/rm/support/measurement.rb +17 -0
- data/lib/openehr/rm/support/terminology.rb +135 -0
- data/lib/openehr/serializer.rb +272 -0
- data/lib/openehr/terminology.rb +7 -0
- data/lib/openehr/terminology/open_ehr_terminology.rb +41 -0
- data/lib/openehr/writer.rb +12 -0
- data/openehr.gemspec +472 -0
- data/spec/lib/openehr/am/archetype/archetype_spec.rb +103 -0
- data/spec/lib/openehr/am/archetype/assertion/assertion_spec.rb +60 -0
- data/spec/lib/openehr/am/archetype/assertion/assertion_variable_spec.rb +30 -0
- data/spec/lib/openehr/am/archetype/assertion/expr_binary_operator.rb +40 -0
- data/spec/lib/openehr/am/archetype/assertion/expr_item_spec.rb +28 -0
- data/spec/lib/openehr/am/archetype/assertion/expr_leaf_spec.rb +34 -0
- data/spec/lib/openehr/am/archetype/assertion/expr_operator_spec.rb +25 -0
- data/spec/lib/openehr/am/archetype/assertion/expr_unary_operator_spec.rb +26 -0
- data/spec/lib/openehr/am/archetype/assertion/operator_kind_spec.rb +114 -0
- data/spec/lib/openehr/am/archetype/constraint_model/archetype_constraint_spec.rb +56 -0
- data/spec/lib/openehr/am/archetype/constraint_model/archetype_internal_ref_spec.rb +36 -0
- data/spec/lib/openehr/am/archetype/constraint_model/archetype_slot_spec.rb +61 -0
- data/spec/lib/openehr/am/archetype/constraint_model/c_attribute_spec.rb +59 -0
- data/spec/lib/openehr/am/archetype/constraint_model/c_complex_object_spec.rb +39 -0
- data/spec/lib/openehr/am/archetype/constraint_model/c_defined_object_spec.rb +53 -0
- data/spec/lib/openehr/am/archetype/constraint_model/c_domain_type_spec.rb +25 -0
- data/spec/lib/openehr/am/archetype/constraint_model/c_multiple_attribute_spec.rb +23 -0
- data/spec/lib/openehr/am/archetype/constraint_model/c_object_spec.rb +61 -0
- data/spec/lib/openehr/am/archetype/constraint_model/c_primitive_object_spec.rb +33 -0
- data/spec/lib/openehr/am/archetype/constraint_model/c_reference_object_spec.rb +17 -0
- data/spec/lib/openehr/am/archetype/constraint_model/c_single_attribute_spec.rb +22 -0
- data/spec/lib/openehr/am/archetype/constraint_model/cardinality_spec.rb +68 -0
- data/spec/lib/openehr/am/archetype/constraint_model/constraint_ref_spec.rb +29 -0
- data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_boolean_spec.rb +57 -0
- data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_date_spec.rb +52 -0
- data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_date_time_spec.rb +136 -0
- data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_duration_spec.rb +41 -0
- data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_integer_spec.rb +67 -0
- data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_primitive_spec.rb +41 -0
- data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_real_spec.rb +19 -0
- data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_string_spec.rb +73 -0
- data/spec/lib/openehr/am/archetype/constraint_model/primitive/c_time_spec.rb +104 -0
- data/spec/lib/openehr/am/archetype/ontology/archetype_ontology_spec.rb +97 -0
- data/spec/lib/openehr/am/archetype/ontology/archetype_term_spec.rb +43 -0
- data/spec/lib/openehr/am/archetype/validity_kind_spec.rb +42 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/basic/c_dv_state_spec.rb +34 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/basic/non_terminal_state_spec.rb +36 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/basic/state_machine_spec.rb +34 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/basic/state_spec.rb +26 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/basic/terminal_state_spec.rb +18 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/basic/transition_spec.rb +62 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/quantity/c_dv_ordinal_spec.rb +41 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/quantity/c_dv_quantity_spec.rb +50 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/quantity/c_quantity_item_spec.rb +46 -0
- data/spec/lib/openehr/am/openehr_profile/data_types/text/c_code_phrase_spec.rb +34 -0
- data/spec/lib/openehr/assumed_library_types/interval_spec.rb +145 -0
- data/spec/lib/openehr/assumed_library_types/iso8601_date_spec.rb +236 -0
- data/spec/lib/openehr/assumed_library_types/iso8601_date_time_spec.rb +47 -0
- data/spec/lib/openehr/assumed_library_types/iso8601_duration_spec.rb +150 -0
- data/spec/lib/openehr/assumed_library_types/iso8601_time_spec.rb +234 -0
- data/spec/lib/openehr/assumed_library_types/iso8601_timezone_spec.rb +57 -0
- data/spec/lib/openehr/assumed_library_types/time_definitions_spec.rb +136 -0
- data/spec/lib/openehr/assumed_library_types/timezone_spec.rb +42 -0
- data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.assumed_types.v1.adl +88 -0
- data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.basic_types.v1.adl +143 -0
- data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.basic_types_fail.v1.adl +50 -0
- data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.most_minimal.v1.adl +27 -0
- data/spec/lib/openehr/parser/adl14/adl-test-ENTRY.structure_test1.v1.adl +46 -0
- data/spec/lib/openehr/parser/adl14/adl-test-SOME_TYPE.generic_type_basic.draft.adl +56 -0
- data/spec/lib/openehr/parser/adl14/adl-test-SOME_TYPE.generic_type_use_node.draft.adl +63 -0
- data/spec/lib/openehr/parser/adl14/adl-test-car.paths.test.adl +80 -0
- data/spec/lib/openehr/parser/adl14/adl-test-car.use_node.test.adl +87 -0
- data/spec/lib/openehr/parser/adl14/adl-test-composition.dv_coded_text.test.adl +29 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_bindings.test.adl +47 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_desc_missing_purpose.test.adl +45 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_description.test.adl +61 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_description2.test.adl +45 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_identification.test.adl +26 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_internal_ref.test.adl +36 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_internal_ref2.test.adl +36 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_language.test.adl +47 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_language_no_accreditation.test.adl +38 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_language_order_of_translation_details.test.adl +40 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_ontology.test.adl +25 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_slot.test.adl +40 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_slot.test2.adl +37 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.archetype_uncommonkeys.test.adl +29 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.basic_types.test.adl +272 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_code_phrase.test.adl +77 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_ordinal.test.adl +66 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_empty.test.adl +46 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_full.test.adl +64 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_full2.test.adl +64 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_full3.test.adl +64 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_item_units_only.test.adl +55 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_list.test.adl +58 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_property.test.adl +47 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.c_dv_quantity_reversed.test.adl +59 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.constraint_binding.test.adl +37 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.constraint_ref.test.adl +43 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.datetime.test.adl +183 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.domain_types.test.adl +97 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.durations.test.adl +109 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.empty_other_contributors.test.adl +42 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.missing_language.test.adl +23 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.mixed_node_types.draft.adl +61 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.most_minimal.test.adl +23 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.multi_language.test.adl +52 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.special_string.test.adl +88 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.structure_test1.test.adl +45 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.structure_test2.test.adl +45 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.term_binding.test.adl +37 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.term_binding2.test.adl +32 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.testtranslations.test.adl +83 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.translations_author_language.test.adl +34 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.translations_language_author.test.adl +34 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.unicode_BOM_support.test.adl +41 -0
- data/spec/lib/openehr/parser/adl14/adl-test-entry.unicode_support.test.adl +41 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-ACTION.imaging.v1.adl +275 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-ACTION.referral.v1.adl +351 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.auscultation-chest.v1.adl +765 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.auscultation.v1.adl +48 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.dimensions-circumference.v1.adl +134 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.dimensions.v1.adl +241 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-abdomen.v1.adl +321 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-chest.v1.adl +379 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-fetus.v1.adl +577 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-generic-joint.v1.adl +146 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-generic-lymphnode.v1.adl +176 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-generic-mass.v1.adl +221 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-generic.v1.adl +139 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-nervous_system.v1.adl +116 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-uterine_cervix.v1.adl +420 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-CLUSTER.exam-uterus.v1.adl +293 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-COMPOSITION.discharge.v1draft.adl +53 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-COMPOSITION.encounter.v1draft.adl +45 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-EVALUATION.adverse.v1.adl +411 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-EVALUATION.columna_vertebral.v1.adl +85 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-INSTRUCTION.medication.v1.adl +88 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-INSTRUCTION.referral.v1.adl +84 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.Laboratory_request.v1.adl +492 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.follow_up.v1draft.adl +94 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.imaging.v1.adl +127 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.medication-formulation.v1.adl +457 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.medication.v1.adl +869 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-ITEM_TREE.referral.v1.adl +494 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.apgar.v1.adl +545 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.blood_pressure.v1.adl +673 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.body_mass_index.v1.adl +166 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.lab_test.v1.adl +376 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-OBSERVATION.testassumedvalue.v1.adl +99 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-SECTION.findings.v1.adl +47 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-SECTION.reason_for_encounter.v1.adl +51 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-SECTION.summary.v1.adl +52 -0
- data/spec/lib/openehr/parser/adl14/openEHR-EHR-SECTION.vital_signs.v1.adl +54 -0
- data/spec/lib/openehr/parser/adl_archetype_internal_ref2_spec.rb +42 -0
- data/spec/lib/openehr/parser/adl_archetype_internal_ref_spec.rb +125 -0
- data/spec/lib/openehr/parser/adl_archetype_internal_ref_with_generics_spec.rb +258 -0
- data/spec/lib/openehr/parser/adl_archetype_ontology_binding_spec.rb +98 -0
- data/spec/lib/openehr/parser/adl_archetype_ontology_spec.rb +42 -0
- data/spec/lib/openehr/parser/adl_archetype_slot_cluster_spec.rb +101 -0
- data/spec/lib/openehr/parser/adl_archetype_slot_spec.rb +193 -0
- data/spec/lib/openehr/parser/adl_archetype_uncommon_term_keys_spec.rb +25 -0
- data/spec/lib/openehr/parser/adl_description_spec.rb +164 -0
- data/spec/lib/openehr/parser/adl_identification_spec.rb +18 -0
- data/spec/lib/openehr/parser/adl_language_no_accreditation_spec.rb +66 -0
- data/spec/lib/openehr/parser/adl_language_order_spec.rb +68 -0
- data/spec/lib/openehr/parser/adl_language_spec.rb +119 -0
- data/spec/lib/openehr/parser/adl_language_translation_author_language_spec.rb +50 -0
- data/spec/lib/openehr/parser/adl_language_translation_language_author_spec.rb +46 -0
- data/spec/lib/openehr/parser/adl_parser_spec.rb +347 -0
- data/spec/lib/openehr/parser/adl_path_spec.rb +176 -0
- data/spec/lib/openehr/parser/base_spec.rb +19 -0
- data/spec/lib/openehr/parser/basic_generic_type_spec.rb +18 -0
- data/spec/lib/openehr/parser/basic_type_spec.rb +2922 -0
- data/spec/lib/openehr/parser/c_dv_quantity_any_allowed_spec.rb +34 -0
- data/spec/lib/openehr/parser/c_dv_quantity_shared_example_for_lacked_items_spec.rb +36 -0
- data/spec/lib/openehr/parser/c_dv_quantity_shared_example_spec.rb +146 -0
- data/spec/lib/openehr/parser/cdv_ordinal_parse_spec.rb +231 -0
- data/spec/lib/openehr/parser/code_phrase_spec.rb +96 -0
- data/spec/lib/openehr/parser/constraint_binding_spec.rb +26 -0
- data/spec/lib/openehr/parser/constraint_ref_spec.rb +32 -0
- data/spec/lib/openehr/parser/date_time_spec.rb +1953 -0
- data/spec/lib/openehr/parser/duration_spec.rb +475 -0
- data/spec/lib/openehr/parser/dv_coded_text_parse_spec.rb +27 -0
- data/spec/lib/openehr/parser/empty_other_contributors_spec.rb +19 -0
- data/spec/lib/openehr/parser/lab_test_parser_spec.rb +14 -0
- data/spec/lib/openehr/parser/missing_language_spec.rb +20 -0
- data/spec/lib/openehr/parser/missing_purpose_spec.rb +23 -0
- data/spec/lib/openehr/parser/mixed_node_types_spec.rb +16 -0
- data/spec/lib/openehr/parser/most_minimal_adl_spec.rb +19 -0
- data/spec/lib/openehr/parser/multi_language_spec.rb +58 -0
- data/spec/lib/openehr/parser/parser_spec_helper.rb +7 -0
- data/spec/lib/openehr/parser/path_based_terminology_binding_spec.rb +30 -0
- data/spec/lib/openehr/parser/special_string_spec.rb +20 -0
- data/spec/lib/openehr/parser/structure_comment_spec.rb +21 -0
- data/spec/lib/openehr/parser/structure_nested_comments_spec.rb +22 -0
- data/spec/lib/openehr/parser/structure_spec.rb +202 -0
- data/spec/lib/openehr/parser/term_binding_spec.rb +54 -0
- data/spec/lib/openehr/parser/unicode_bom_spec.rb +17 -0
- data/spec/lib/openehr/parser/unicode_support_spec.rb +46 -0
- data/spec/lib/openehr/rm/common/archetyped/archetyped_spec.rb +50 -0
- data/spec/lib/openehr/rm/common/archetyped/feeder_audit_details_spec.rb +60 -0
- data/spec/lib/openehr/rm/common/archetyped/feeder_audit_spec.rb +51 -0
- data/spec/lib/openehr/rm/common/archetyped/link_spec.rb +42 -0
- data/spec/lib/openehr/rm/common/archetyped/locatable_spec.rb +89 -0
- data/spec/lib/openehr/rm/common/archetyped/pathable_spec.rb +42 -0
- data/spec/lib/openehr/rm/common/change_control/contribution_spec.rb +56 -0
- data/spec/lib/openehr/rm/common/change_control/imported_version_spec.rb +62 -0
- data/spec/lib/openehr/rm/common/change_control/original_version_spec.rb +71 -0
- data/spec/lib/openehr/rm/common/change_control/version_spec.rb +91 -0
- data/spec/lib/openehr/rm/common/change_control/versioned_object_spec.rb +284 -0
- data/spec/lib/openehr/rm/common/directory/folder_spec.rb +26 -0
- data/spec/lib/openehr/rm/common/generic/attestation_spec.rb +62 -0
- data/spec/lib/openehr/rm/common/generic/audit_details_spec.rb +51 -0
- data/spec/lib/openehr/rm/common/generic/participation_spec.rb +36 -0
- data/spec/lib/openehr/rm/common/generic/party_identified_spec.rb +64 -0
- data/spec/lib/openehr/rm/common/generic/party_proxy_spec.rb +18 -0
- data/spec/lib/openehr/rm/common/generic/party_related_spec.rb +24 -0
- data/spec/lib/openehr/rm/common/generic/revision_history_item_spec.rb +43 -0
- data/spec/lib/openehr/rm/common/generic/revision_history_spec.rb +45 -0
- data/spec/lib/openehr/rm/common/resource/authored_resource_spec.rb +68 -0
- data/spec/lib/openehr/rm/common/resource/resource_description_item_spec.rb +105 -0
- data/spec/lib/openehr/rm/common/resource/resource_description_spec.rb +74 -0
- data/spec/lib/openehr/rm/common/resource/translation_details_spec.rb +35 -0
- data/spec/lib/openehr/rm/composition/composition_spec.rb +92 -0
- data/spec/lib/openehr/rm/composition/content/content_item_spec.rb +14 -0
- data/spec/lib/openehr/rm/composition/content/entry/action_spec.rb +69 -0
- data/spec/lib/openehr/rm/composition/content/entry/activity_spec.rb +61 -0
- data/spec/lib/openehr/rm/composition/content/entry/admin_entry_spec.rb +38 -0
- data/spec/lib/openehr/rm/composition/content/entry/care_entry_spec.rb +37 -0
- data/spec/lib/openehr/rm/composition/content/entry/entry_spec.rb +98 -0
- data/spec/lib/openehr/rm/composition/content/entry/evaluation_spec.rb +37 -0
- data/spec/lib/openehr/rm/composition/content/entry/instruction_details_spec.rb +51 -0
- data/spec/lib/openehr/rm/composition/content/entry/instruction_spec.rb +62 -0
- data/spec/lib/openehr/rm/composition/content/entry/ism_transition_spec.rb +46 -0
- data/spec/lib/openehr/rm/composition/content/entry/observation_spec.rb +45 -0
- data/spec/lib/openehr/rm/composition/content/navigation/section_spec.rb +32 -0
- data/spec/lib/openehr/rm/composition/event_context_spec.rb +88 -0
- data/spec/lib/openehr/rm/data_structures/data_structure_spec.rb +21 -0
- data/spec/lib/openehr/rm/data_structures/history/event_spec.rb +44 -0
- data/spec/lib/openehr/rm/data_structures/history/history_spec.rb +67 -0
- data/spec/lib/openehr/rm/data_structures/history/interval_event_spec.rb +43 -0
- data/spec/lib/openehr/rm/data_structures/item_structure/item_list_spec.rb +53 -0
- data/spec/lib/openehr/rm/data_structures/item_structure/item_single_spec.rb +29 -0
- data/spec/lib/openehr/rm/data_structures/item_structure/item_table_spec.rb +147 -0
- data/spec/lib/openehr/rm/data_structures/item_structure/item_tree_spec.rb +48 -0
- data/spec/lib/openehr/rm/data_structures/item_structure/representation/cluster_spec.rb +26 -0
- data/spec/lib/openehr/rm/data_structures/item_structure/representation/element_spec.rb +22 -0
- data/spec/lib/openehr/rm/data_types/basic/data_value_spec.rb +17 -0
- data/spec/lib/openehr/rm/data_types/basic/dv_boolean_spec.rb +29 -0
- data/spec/lib/openehr/rm/data_types/basic/dv_identifier_spec.rb +108 -0
- data/spec/lib/openehr/rm/data_types/basic/dv_state_spec.rb +44 -0
- data/spec/lib/openehr/rm/data_types/encapsulated/dv_encapsulated_spec.rb +42 -0
- data/spec/lib/openehr/rm/data_types/encapsulated/dv_multimedia_spec.rb +79 -0
- data/spec/lib/openehr/rm/data_types/encapsulated/dv_parsable_spec.rb +34 -0
- data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_date_spec.rb +64 -0
- data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_date_time_spec.rb +26 -0
- data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_duration_spec.rb +44 -0
- data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_temporal_spec.rb +25 -0
- data/spec/lib/openehr/rm/data_types/quantity/date_time/dv_time_spec.rb +41 -0
- data/spec/lib/openehr/rm/data_types/quantity/dv_absolute_quantity_spec.rb +35 -0
- data/spec/lib/openehr/rm/data_types/quantity/dv_amount_spec.rb +105 -0
- data/spec/lib/openehr/rm/data_types/quantity/dv_count_spec.rb +12 -0
- data/spec/lib/openehr/rm/data_types/quantity/dv_interval_spec.rb +17 -0
- data/spec/lib/openehr/rm/data_types/quantity/dv_ordered_spec.rb +60 -0
- data/spec/lib/openehr/rm/data_types/quantity/dv_ordinal_spec.rb +74 -0
- data/spec/lib/openehr/rm/data_types/quantity/dv_proportion_spec.rb +162 -0
- data/spec/lib/openehr/rm/data_types/quantity/dv_quantified_spec.rb +36 -0
- data/spec/lib/openehr/rm/data_types/quantity/dv_quantity_spec.rb +78 -0
- data/spec/lib/openehr/rm/data_types/quantity/proportion_kind_spec.rb +24 -0
- data/spec/lib/openehr/rm/data_types/quantity/reference_range_spec.rb +43 -0
- data/spec/lib/openehr/rm/data_types/text/code_phrase_spec.rb +23 -0
- data/spec/lib/openehr/rm/data_types/text/dv_paragraph_spec.rb +13 -0
- data/spec/lib/openehr/rm/data_types/text/dv_text_spec.rb +79 -0
- data/spec/lib/openehr/rm/data_types/text/term_mapping_spec.rb +59 -0
- data/spec/lib/openehr/rm/data_types/uri/dv_ehr_uri_spec.rb +21 -0
- data/spec/lib/openehr/rm/data_types/uri/dv_uri_spec.rb +36 -0
- data/spec/lib/openehr/rm/demographic/actor_spec.rb +79 -0
- data/spec/lib/openehr/rm/demographic/address_spec.rb +33 -0
- data/spec/lib/openehr/rm/demographic/capability_spec.rb +37 -0
- data/spec/lib/openehr/rm/demographic/contact_spec.rb +45 -0
- data/spec/lib/openehr/rm/demographic/party_identity_spec.rb +32 -0
- data/spec/lib/openehr/rm/demographic/party_relationship_spec.rb +84 -0
- data/spec/lib/openehr/rm/demographic/party_spec.rb +131 -0
- data/spec/lib/openehr/rm/demographic/role_spec.rb +58 -0
- data/spec/lib/openehr/rm/ehr/ehr_access_spec.rb +33 -0
- data/spec/lib/openehr/rm/ehr/ehr_spec.rb +139 -0
- data/spec/lib/openehr/rm/ehr/ehr_status_spec.rb +52 -0
- data/spec/lib/openehr/rm/ehr/versioned_composition_spec.rb +33 -0
- data/spec/lib/openehr/rm/integration/generic_entry_spec.rb +31 -0
- data/spec/lib/openehr/rm/support/identification/access_group_ref_spec.rb +19 -0
- data/spec/lib/openehr/rm/support/identification/archetype_id_spec.rb +152 -0
- data/spec/lib/openehr/rm/support/identification/generic_id_spec.rb +33 -0
- data/spec/lib/openehr/rm/support/identification/hier_object_id_spec.rb +12 -0
- data/spec/lib/openehr/rm/support/identification/internet_id_spec.rb +12 -0
- data/spec/lib/openehr/rm/support/identification/iso_oid_spec.rb +12 -0
- data/spec/lib/openehr/rm/support/identification/locatable_ref_spec.rb +34 -0
- data/spec/lib/openehr/rm/support/identification/object_id_spec.rb +24 -0
- data/spec/lib/openehr/rm/support/identification/object_ref_spec.rb +33 -0
- data/spec/lib/openehr/rm/support/identification/object_version_id_spec.rb +59 -0
- data/spec/lib/openehr/rm/support/identification/party_ref_spec.rb +29 -0
- data/spec/lib/openehr/rm/support/identification/template_id_spec.rb +12 -0
- data/spec/lib/openehr/rm/support/identification/terminology_id_spec.rb +33 -0
- data/spec/lib/openehr/rm/support/identification/uid_based_id_spec.rb +50 -0
- data/spec/lib/openehr/rm/support/identification/uid_spec.rb +29 -0
- data/spec/lib/openehr/rm/support/identification/version_tree_id_spec.rb +104 -0
- data/spec/lib/openehr/rm/support/measurement_service_spec.rb +7 -0
- data/spec/lib/openehr/rm/support/terminology_service_spec.rb +24 -0
- data/spec/lib/openehr/serializer/adl-test-entry.most_minimal.test.adl +20 -0
- data/spec/lib/openehr/serializer/adl_serializer_spec.rb +47 -0
- data/spec/lib/openehr/serializer/openEHR-EHR-SECTION.test.v1.adl +38 -0
- data/spec/lib/openehr/serializer/openEHR-EHR-SECTION.test.v1.xml +58 -0
- data/spec/lib/openehr/serializer/sample_archetype_spec.rb +44 -0
- data/spec/lib/openehr/serializer/xml_serializer_spec.rb +49 -0
- data/spec/lib/openehr/terminology/open_ehr_terminology_spec.rb +40 -0
- data/spec/spec.opts +6 -0
- data/spec/spec_helper.rb +58 -0
- metadata +631 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel::Primitive
|
|
3
|
+
include OpenEHR::RM::DataTypes::Text
|
|
4
|
+
|
|
5
|
+
describe CPrimitive do
|
|
6
|
+
before(:each) do
|
|
7
|
+
default = DvText.new(:value => 'DEFAULT')
|
|
8
|
+
assumed = DvText.new(:value => 'ASSUMED')
|
|
9
|
+
@c_primitive = CPrimitive.new(:default_value => default,
|
|
10
|
+
:assumed_value => assumed)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'should be an instance of CPrimitive' do
|
|
14
|
+
@c_primitive.should be_an_instance_of CPrimitive
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'type is ANY' do
|
|
18
|
+
@c_primitive.type.should == 'ANY'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'default value should be assigned properly' do
|
|
22
|
+
@c_primitive.default_value.value.should == 'DEFAULT'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'assumed_value should be assigned properly' do
|
|
26
|
+
@c_primitive.assumed_value.value.should == 'ASSUMED'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'should be true when assumed_value is assigned' do
|
|
30
|
+
@c_primitive.should have_assumed_value
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'should not be true when assumed_value is not assigned' do
|
|
34
|
+
@c_primitive.assumed_value = nil
|
|
35
|
+
@c_primitive.should_not have_assumed_value
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'type should not empty' do
|
|
39
|
+
expect {@c_primitive.type = ''}.to raise_error
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel::Primitive
|
|
3
|
+
|
|
4
|
+
describe CReal do
|
|
5
|
+
before(:each) do
|
|
6
|
+
@c_real = CReal.new(:default_value => 1.5,
|
|
7
|
+
:assumed_value => 2.3,
|
|
8
|
+
:type => 'Real',
|
|
9
|
+
:list => [-1.5,20.3])
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it 'should be an instance of CReal' do
|
|
13
|
+
@c_real.should be_an_instance_of CReal
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'type is DvReal' do
|
|
17
|
+
@c_real.type.should == 'Real'
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel::Primitive
|
|
3
|
+
include OpenEHR::RM::DataTypes::Text
|
|
4
|
+
|
|
5
|
+
describe CString do
|
|
6
|
+
before(:each) do
|
|
7
|
+
@default_value = DvText.new(:value => 'default')
|
|
8
|
+
@c_string = CString.new(:default_value => @default_value,
|
|
9
|
+
:assumed_value => 'assumed',
|
|
10
|
+
:pattern => 't[a-z]st')
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'should be an instance of CString' do
|
|
14
|
+
@c_string.should be_an_instance_of CString
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'type is always String' do
|
|
18
|
+
@c_string.type.should == 'String'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'default should be assigned properly' do
|
|
22
|
+
@c_string.default_value.value.should == 'default'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'assumed_value should be assigned properly' do
|
|
26
|
+
@c_string.assumed_value.should == 'assumed'
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'pattern should be assigned properly by constructor' do
|
|
30
|
+
@c_string.pattern.should == 't[a-z]st'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'pattern should be assigned properly by method' do
|
|
34
|
+
@c_string.pattern = '.*'
|
|
35
|
+
@c_string.pattern.should == '.*'
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'should raise ArgumentError if either list or pattern is not nil' do
|
|
39
|
+
lambda {
|
|
40
|
+
@c_string.list = ['test','driven']
|
|
41
|
+
}.should raise_error ArgumentError
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it 'should raise ArgumentError if both list and pattern are nil' do
|
|
45
|
+
lambda {
|
|
46
|
+
@c_string.pattern = nil
|
|
47
|
+
}.should raise_error ArgumentError
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
describe 'list attribute' do
|
|
51
|
+
before(:each) do
|
|
52
|
+
@default_value = DvText.new(:value => 'default')
|
|
53
|
+
@c_string = CString.new(:default_value => @default_value,
|
|
54
|
+
:assumed_value => 'assumed',
|
|
55
|
+
:list => ['test', 'behavior'])
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it 'list should be assigned properly by constructor' do
|
|
59
|
+
@c_string.list.should == ['test', 'behavior']
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it 'list shoudl be assigned properly by method' do
|
|
63
|
+
@c_string.list = ['spec']
|
|
64
|
+
@c_string.list.should == ['spec']
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it 'should raise ArgumentError if both pattern and list is not nil' do
|
|
68
|
+
lambda {
|
|
69
|
+
@c_string.pattern = 'file.*'
|
|
70
|
+
}.should raise_error ArgumentError
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::RM::DataTypes::Quantity::DateTime
|
|
3
|
+
include OpenEHR::AM::Archetype
|
|
4
|
+
include OpenEHR::AM::Archetype::ConstraintModel::Primitive
|
|
5
|
+
|
|
6
|
+
describe CTime do
|
|
7
|
+
before(:each) do
|
|
8
|
+
default_value = DvTime.new(:value => '01:23:45')
|
|
9
|
+
assumed_value = DvTime.new(:value => '22:02:33')
|
|
10
|
+
range = Interval.new(:lower => DvTime.new(:value => '01:01:22'),
|
|
11
|
+
:upper => DvTime.new(:value => '23:55:59'))
|
|
12
|
+
@c_time = CTime.new(:default_value => default_value,
|
|
13
|
+
:assumed_value => assumed_value,
|
|
14
|
+
:range => range,
|
|
15
|
+
:minute_validity => ValidityKind::MANDATORY,
|
|
16
|
+
:second_validity => ValidityKind::OPTIONAL,
|
|
17
|
+
:millisecond_validity => ValidityKind::DISALLOWED)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'should be an instance of CTime' do
|
|
21
|
+
@c_time.should be_an_instance_of CTime
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'type is DvTime' do
|
|
25
|
+
@c_time.type.should == 'ISO8601_TIME'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it 'minute_validity should be assigned' do
|
|
29
|
+
@c_time.minute_validity.should be_equal ValidityKind::MANDATORY
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'seconds_validity should be assigned properly' do
|
|
33
|
+
@c_time.second_validity.should be_equal ValidityKind::OPTIONAL
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it 'millisecond_validity should be assigned properly' do
|
|
37
|
+
@c_time.millisecond_validity.should be_equal ValidityKind::DISALLOWED
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it 'should be true if range is not nil' do
|
|
41
|
+
@c_time.should be_validity_is_range
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it 'second_validity should not be MANDATORY if minute_validity is optional' do
|
|
45
|
+
@c_time.second_validity = ValidityKind::MANDATORY
|
|
46
|
+
lambda {
|
|
47
|
+
@c_time.minute_validity = ValidityKind::OPTIONAL
|
|
48
|
+
}.should raise_error ArgumentError
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it 'second_validity should be DISALLOWED if minute_validity is DISALLOWED' do
|
|
52
|
+
lambda {
|
|
53
|
+
@c_time.minute_validity = ValidityKind::DISALLOWED
|
|
54
|
+
}.should raise_error ArgumentError
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it 'should not raise ArgumentError if minute_validity and second_validity are DISALLOWED' do
|
|
58
|
+
@c_time.second_validity = ValidityKind::DISALLOWED
|
|
59
|
+
lambda {
|
|
60
|
+
@c_time.minute_validity = ValidityKind::DISALLOWED
|
|
61
|
+
}.should_not raise_error ArgumentError
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
it 'millisecond_validity should not be MANDATORY if second_validity is optional' do
|
|
65
|
+
@c_time.millisecond_validity = ValidityKind::MANDATORY
|
|
66
|
+
lambda {
|
|
67
|
+
@c_time.second_validity = ValidityKind::OPTIONAL
|
|
68
|
+
}.should raise_error ArgumentError
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
it 'millisecond_validity should be DISALLOWED if second_validity is DISALLOWED' do
|
|
72
|
+
lambda {
|
|
73
|
+
@c_time.second_validity = ValidityKind::DISALLOWED
|
|
74
|
+
}.should_not raise_error ArgumentError
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
it 'should raise ArgumentError if second_validity is DISALLOWED and millisecond_validity is OPTIONAL' do
|
|
78
|
+
@c_time.millisecond_validity = ValidityKind::OPTIONAL
|
|
79
|
+
lambda {
|
|
80
|
+
@c_time.second_validity = ValidityKind::DISALLOWED
|
|
81
|
+
}.should raise_error ArgumentError
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
describe 'pattern constraint' do
|
|
85
|
+
before(:all) do
|
|
86
|
+
@c_timep = CTime.new(:pattern => 'hh:mm:ss')
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
it 'pattern is hh:mm:ss' do
|
|
90
|
+
@c_timep.pattern.should == 'hh:mm:ss'
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
describe 'list constraint' do
|
|
95
|
+
before(:all) do
|
|
96
|
+
time = DvTime.new(:value => '09:51:17')
|
|
97
|
+
@c_timel = CTime.new(:list => [time])
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
it 'first item value is 09:51:17' do
|
|
101
|
+
@c_timel.list[0].value.should == '09:51:17'
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::Ontology
|
|
3
|
+
include OpenEHR::RM::DataTypes::Text
|
|
4
|
+
|
|
5
|
+
describe ArchetypeOntology do
|
|
6
|
+
before(:each) do
|
|
7
|
+
items = {'text' => 'Archetype Concept', 'desc' => 'concept description'}
|
|
8
|
+
term1 = {'at0000' => ArchetypeTerm.new(:code => 'at0000', :items => items)}
|
|
9
|
+
items = {'text' => 'Blood pressure'}
|
|
10
|
+
term2 = {'at0001' => ArchetypeTerm.new(:code => 'at0001', :items => items)}
|
|
11
|
+
term3 = {'at0002' => ArchetypeTerm.new(:code => 'at0002', :items => items)}
|
|
12
|
+
term_definitions = {'ja' => (term1.update term2), 'en' => term1}
|
|
13
|
+
items = {'text' => 'test', 'description' => 'test item'}
|
|
14
|
+
term4 = {'ac0003' => ArchetypeTerm.new(:code => 'ac0003', :items => items)}
|
|
15
|
+
constraint_definitions = {'ja' => term4}
|
|
16
|
+
code_phrase = stub(CodePhrase, :code_string => '163020007')
|
|
17
|
+
bind = {'at0000' => code_phrase}
|
|
18
|
+
term_bindings = {'SNOMED-CT(2003)' => bind}
|
|
19
|
+
@archetype_ontology =
|
|
20
|
+
ArchetypeOntology.new(:primary_language => "ja",
|
|
21
|
+
:languages_available => ['ja', 'en'],
|
|
22
|
+
:terminologies_available => ['SNOMED-CT(2003)'],
|
|
23
|
+
:term_definitions => term_definitions,
|
|
24
|
+
:constraint_definitions => constraint_definitions,
|
|
25
|
+
:term_bindings => term_bindings,
|
|
26
|
+
:specialisation_depth => 0)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'should be an instance of ArchetypeOntology' do
|
|
30
|
+
@archetype_ontology.should be_an_instance_of ArchetypeOntology
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'specialisation depth should be assigned properly' do
|
|
34
|
+
@archetype_ontology.specialisation_depth.should be_equal 0
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it 'primary language is ja' do
|
|
38
|
+
@archetype_ontology.primary_language.should == 'ja'
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it 'languages available are ja, en' do
|
|
42
|
+
@archetype_ontology.languages_available.should == ['ja', 'en']
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
it 'term_definition should be assigned properly' do
|
|
46
|
+
@archetype_ontology.term_definition(:lang => 'ja', :code => 'at0000').items['text'].should == 'Archetype Concept'
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
it 'term_codes should returnd all at codes' do
|
|
50
|
+
@archetype_ontology.term_codes.should == ['at0000','at0001']
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it 'constraint_definitions should be assigned properly' do
|
|
54
|
+
@archetype_ontology.constraint_definition(:lang => 'ja', :code => 'ac0003').items['text'].
|
|
55
|
+
should == 'test'
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it 'constrant_codes should return all ac codes' do
|
|
59
|
+
@archetype_ontology.constraint_codes.should == ['ac0003']
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it 'term_bindings should be assigned properly' do
|
|
63
|
+
@archetype_ontology.term_bindings['SNOMED-CT(2003)']['at0000'].
|
|
64
|
+
code_string.should == '163020007'
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it 'terminologies_available should return available terminology' do
|
|
68
|
+
@archetype_ontology.terminologies_available.should == ['SNOMED-CT(2003)']
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
it 'has language ja' do
|
|
72
|
+
@archetype_ontology.should have_language 'ja'
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
it 'has language en' do
|
|
76
|
+
@archetype_ontology.should have_language 'en'
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
it 'does not have language es' do
|
|
80
|
+
@archetype_ontology.should_not have_language 'es'
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
it 'has terminology SNOMED-CT(2003)' do
|
|
84
|
+
@archetype_ontology.should have_terminology 'SNOMED-CT(2003)'
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
it 'does not have MHLW code' do
|
|
88
|
+
@archetype_ontology.should_not have_terminology 'MHLW'
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
it 'term binding code_string is 163020007' do
|
|
92
|
+
@archetype_ontology.term_binding(:terminology => 'SNOMED-CT(2003)',
|
|
93
|
+
:code => 'at0000').code_string.
|
|
94
|
+
should == '163020007'
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::Ontology
|
|
3
|
+
|
|
4
|
+
describe ArchetypeTerm do
|
|
5
|
+
before(:each) do
|
|
6
|
+
items = {:text => 'text', :desc => 'description'}
|
|
7
|
+
@archetype_term = ArchetypeTerm.new(:code => 'at0001',
|
|
8
|
+
:items => items)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'should be an instance of ArchetypeTerm' do
|
|
12
|
+
@archetype_term.should be_an_instance_of ArchetypeTerm
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'code should be assigned properly' do
|
|
16
|
+
@archetype_term.code.should == 'at0001'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'should raise ArgumentError if code is nil' do
|
|
20
|
+
lambda {
|
|
21
|
+
@archetype_term.code = nil
|
|
22
|
+
}.should raise_error ArgumentError
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'should raise ArgumentError if code is empty' do
|
|
26
|
+
lambda {
|
|
27
|
+
@archetype_term.code = ''
|
|
28
|
+
}.should raise_error ArgumentError
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it 'items should be assigned properly' do
|
|
32
|
+
@archetype_term.items[:text].should == 'text'
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 'keys should be a set of keys of item' do
|
|
36
|
+
@archetype_term.keys.should == Set[:text, :desc]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it 'keys should be empty if items are nil' do
|
|
40
|
+
@archetype_term.items = nil
|
|
41
|
+
@archetype_term.keys.should == Set.new
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype
|
|
3
|
+
|
|
4
|
+
describe ValidityKind do
|
|
5
|
+
before(:each) do
|
|
6
|
+
@validity_kind = ValidityKind.new(:value => 1002)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
it 'should be an instance of ValidityKind' do
|
|
10
|
+
@validity_kind.should be_an_instance_of ValidityKind
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'mandatory should be equal 1001' do
|
|
14
|
+
ValidityKind::MANDATORY.should be_equal 1001
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'optional should be equal 1002' do
|
|
18
|
+
ValidityKind::OPTIONAL.should be_equal 1002
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'disallowed should be equal 1003' do
|
|
22
|
+
ValidityKind::DISALLOWED.should be_equal 1003
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'should not raise ArgumentError with valid value' do
|
|
26
|
+
lambda {
|
|
27
|
+
[1001, 1002, 1003].each {|value| @validity_kind.value = value}
|
|
28
|
+
}.should_not raise_error ArgumentError
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it 'should raise ArgumentError with invalid value such as 1000' do
|
|
32
|
+
lambda {
|
|
33
|
+
@validity_kind.value = 1000
|
|
34
|
+
}.should raise_error ArgumentError
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it 'should raise ArgumentError with invalid value such as 1004' do
|
|
38
|
+
lambda {
|
|
39
|
+
@validity_kind.value = 1004
|
|
40
|
+
}.should raise_error ArgumentError
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# ticket 192
|
|
2
|
+
require File.dirname(__FILE__) + '/../../../../../../spec_helper'
|
|
3
|
+
require 'openehr/am/openehr_profile/data_types/basic'
|
|
4
|
+
include ::OpenEHR::AM::OpenEHRProfile::DataTypes::Basic
|
|
5
|
+
include ::OpenEHR::AssumedLibraryTypes
|
|
6
|
+
require 'set'
|
|
7
|
+
|
|
8
|
+
describe CDvState do
|
|
9
|
+
before(:each) do
|
|
10
|
+
proposed_state = State.new(:name => 'PROPOSED')
|
|
11
|
+
complete_state = TerminalState.new(:name => 'COMPLETED')
|
|
12
|
+
finish = Transition.new(:event => 'finish', :next_state => complete_state)
|
|
13
|
+
transitions = Set[finish]
|
|
14
|
+
non_terminal_state = NonTerminalState.new(:name => 'IN_EXECUTION',
|
|
15
|
+
:transitions => transitions)
|
|
16
|
+
states = Set[proposed_state, non_terminal_state, complete_state]
|
|
17
|
+
state_machine = StateMachine.new(:states => states)
|
|
18
|
+
occurrences = Interval.new(:upper => 1, :lower => 1)
|
|
19
|
+
@c_dv_state = CDvState.new(:value => state_machine, :path => '/',
|
|
20
|
+
:occurrences => occurrences)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'is an instance of StateMachine' do
|
|
24
|
+
@c_dv_state.should be_an_instance_of CDvState
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'states size should be 3' do
|
|
28
|
+
@c_dv_state.value.states.size.should be 3
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it 'raise error if value is nil' do
|
|
32
|
+
expect {@c_dv_state.value = nil}.to raise_error
|
|
33
|
+
end
|
|
34
|
+
end
|