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,56 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
|
|
4
|
+
describe ArchetypeConstraint do
|
|
5
|
+
before(:each) do
|
|
6
|
+
parent = stub(ArchetypeConstraint, :path => '/data/[at0001]')
|
|
7
|
+
@archetype_constraint =
|
|
8
|
+
ArchetypeConstraint.new(:path => '/data/events[at0003]/data/items[at0025]/value/magnitude',
|
|
9
|
+
:parent => parent)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it 'should be an instance of ArchetypeConstraint' do
|
|
13
|
+
@archetype_constraint.should be_an_instance_of ArchetypeConstraint
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'path should be assigned properly' do
|
|
17
|
+
@archetype_constraint.path.should == '/data/events[at0003]/data/items[at0025]/value/magnitude'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'should raise ArgumentError when path is not assigned' do
|
|
21
|
+
lambda {
|
|
22
|
+
@archetype_constraint.path = nil
|
|
23
|
+
}.should raise_error ArgumentError
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'has_path? should return true if it has path' do
|
|
27
|
+
@archetype_constraint.should have_path 'events[at0003]'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'has_path? should return false if ti does not have path' do
|
|
31
|
+
@archetype_constraint.should_not have_path 'events[at0004]'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it 'parent should assigned properly' do
|
|
35
|
+
@archetype_constraint.parent.path.should == '/data/[at0001]'
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'is congruent means this node starts from parent node' do
|
|
39
|
+
@archetype_constraint.should_not be_congruent
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it 'is congruent when path starts with parent path' do
|
|
43
|
+
@archetype_constraint.path = '/data/[at0001]/test'
|
|
44
|
+
@archetype_constraint.should be_congruent
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it 'node_conforms_to return true if path is follower' do
|
|
48
|
+
other = stub(ArchetypeConstraint, :path => '/data/events[at0003]')
|
|
49
|
+
@archetype_constraint.node_conforms_to?(other).should be_true
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it 'node_conforms_to return false if path is other lineage' do
|
|
53
|
+
other = stub(ArchetypeConstraint, :path => '/event/')
|
|
54
|
+
@archetype_constraint.node_conforms_to?(other).should be_false
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
|
4
|
+
|
|
5
|
+
describe ArchetypeInternalRef do
|
|
6
|
+
before(:each) do
|
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
|
8
|
+
@archetype_internal_ref =
|
|
9
|
+
ArchetypeInternalRef.new(:path => '/event/[at0001]/',
|
|
10
|
+
:rm_type_name => 'DV_TIME',
|
|
11
|
+
:node_id => 'ac0001',
|
|
12
|
+
:occurrences => occurrences,
|
|
13
|
+
:target_path => '/data/[at0002]')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'should be an instance of ArchetypeInternalRef' do
|
|
17
|
+
@archetype_internal_ref.should be_an_instance_of ArchetypeInternalRef
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'target_path should be assigned properly' do
|
|
21
|
+
@archetype_internal_ref.target_path.should == '/data/[at0002]'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'should raise ArgumentError when target_path is nil.' do
|
|
25
|
+
lambda {
|
|
26
|
+
@archetype_internal_ref.target_path = nil
|
|
27
|
+
}.should raise_error ArgumentError
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'should raise ArgumentError when target_path is empty.' do
|
|
31
|
+
lambda {
|
|
32
|
+
@archetype_internal_ref.target_path = ''
|
|
33
|
+
}.should raise_error ArgumentError
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
|
4
|
+
|
|
5
|
+
describe ArchetypeSlot do
|
|
6
|
+
before(:each) do
|
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
|
8
|
+
includes = stub(Set, :empty? => false, :size => 2)
|
|
9
|
+
excludes = stub(Set, :empty? => false, :size => 10)
|
|
10
|
+
@archetype_slot = ArchetypeSlot.new(:path => '/event/[at0001]/',
|
|
11
|
+
:rm_type_name => 'DV_TIME',
|
|
12
|
+
:node_id => 'ac0001',
|
|
13
|
+
:occurrences => occurrences,
|
|
14
|
+
:includes => includes,
|
|
15
|
+
:excludes => excludes)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'should be an instance of ArchetypeSlot' do
|
|
19
|
+
@archetype_slot.should be_an_instance_of ArchetypeSlot
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it 'includes should be assigned properly' do
|
|
23
|
+
@archetype_slot.includes.size.should be_equal 2
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'should raise ArgumentError when includes are empty' do
|
|
27
|
+
lambda {
|
|
28
|
+
@archetype_slot.includes = Set.new
|
|
29
|
+
}.should raise_error ArgumentError
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'excludes should be assigned properly' do
|
|
33
|
+
@archetype_slot.excludes.size.should be_equal 10
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it 'should raise ArgumentError when excludes are empty' do
|
|
37
|
+
lambda {
|
|
38
|
+
@archetype_slot.excludes = Set.new
|
|
39
|
+
}.should raise_error ArgumentError
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it 'any_allowed should be false when includes and excludes are not nil' do
|
|
43
|
+
@archetype_slot.should_not be_any_allowed
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it 'any_allowed should be false when includes are nil and excludes are not nil' do
|
|
47
|
+
@archetype_slot.includes = nil
|
|
48
|
+
@archetype_slot.should_not be_any_allowed
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it 'any_allowed should be false when includes are not nil and excludes are nil' do
|
|
52
|
+
@archetype_slot.excludes = nil
|
|
53
|
+
@archetype_slot.should_not be_any_allowed
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
it 'any_allowed should be true when includes and excludes are nil' do
|
|
57
|
+
@archetype_slot.includes = nil
|
|
58
|
+
@archetype_slot.excludes = nil
|
|
59
|
+
@archetype_slot.should be_any_allowed
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
|
4
|
+
|
|
5
|
+
describe CAttribute do
|
|
6
|
+
before(:each) do
|
|
7
|
+
existence = Interval.new(:lower => 0, :upper => 1)
|
|
8
|
+
children = stub(CObject, :rm_type_name => 'DV_AMOUNT')
|
|
9
|
+
@c_attribute = CAttribute.new(:path => '/event/[at0001]/',
|
|
10
|
+
:rm_attribute_name => 'DV_TEXT',
|
|
11
|
+
:existence => existence,
|
|
12
|
+
:children => children)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'should be an instance of CAttribute' do
|
|
16
|
+
@c_attribute.should be_an_instance_of CAttribute
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'rm_attribute_name should be assigned properly' do
|
|
20
|
+
@c_attribute.rm_attribute_name.should == 'DV_TEXT'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'should raise ArguemntError rm_attribute_name is empty' do
|
|
24
|
+
lambda {
|
|
25
|
+
@c_attribute.rm_attribute_name = ''
|
|
26
|
+
}.should raise_error ArgumentError
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'should raise ArgumentError rm_attribute_name is nil' do
|
|
30
|
+
lambda {
|
|
31
|
+
@c_attribute.rm_attribute_name = nil
|
|
32
|
+
}.should raise_error ArgumentError
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 'existence should be assigned properly' do
|
|
36
|
+
@c_attribute.existence.lower.should be_equal 0
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it 'existence.lower should be more than 0' do
|
|
40
|
+
invalid_existence = Interval.new(:lower => -1, :upper => 1)
|
|
41
|
+
lambda {
|
|
42
|
+
@c_attribute.existence = invalid_existence
|
|
43
|
+
}.should raise_error ArgumentError
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it 'existence.upper should be equal or less than 1' do
|
|
47
|
+
invalid_existence = Interval.new(:lower => 0, :upper => 2)
|
|
48
|
+
lambda {
|
|
49
|
+
@c_attribute.existence = invalid_existence
|
|
50
|
+
}.should raise_error ArgumentError
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it 'children should be assigned properly' do
|
|
54
|
+
@c_attribute.children.rm_type_name.should == 'DV_AMOUNT'
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
|
4
|
+
|
|
5
|
+
describe CComplexObject do
|
|
6
|
+
before(:each) do
|
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
|
8
|
+
parent = stub(CAttribute, :rm_attribute_name => 'DV_DATE')
|
|
9
|
+
attributes = stub(Set, :empty? => false, :size => 3)
|
|
10
|
+
@c_complex_object = CComplexObject.new(:path => '/event/[at0001]/',
|
|
11
|
+
:rm_type_name => 'DV_TIME',
|
|
12
|
+
:node_id => 'ac0001',
|
|
13
|
+
:occurrences => occurrences,
|
|
14
|
+
:attributes => attributes)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'should be an instance of CComplexObject' do
|
|
18
|
+
@c_complex_object.should be_an_instance_of CComplexObject
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'attributes should be assigned properly' do
|
|
22
|
+
@c_complex_object.attributes.size.should be_equal 3
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'any_allowed should be false when attributes are not empty' do
|
|
26
|
+
@c_complex_object.should_not be_any_allowed
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
it 'any_allowed should be true when attributes are nil' do
|
|
31
|
+
@c_complex_object.attributes = nil
|
|
32
|
+
@c_complex_object.should be_any_allowed
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 'any_allowed should be true when attributes are empty' do
|
|
36
|
+
@c_complex_object.attributes = Set.new
|
|
37
|
+
@c_complex_object.should be_any_allowed
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
|
4
|
+
|
|
5
|
+
describe CDefinedObject do
|
|
6
|
+
before(:each) do
|
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
|
8
|
+
parent = stub(CAttribute, :rm_attribute_name => 'DV_DATE')
|
|
9
|
+
@c_defined_object = CDefinedObject.new(:path => '/event/[at0001]/',
|
|
10
|
+
:rm_type_name => 'DV_TIME',
|
|
11
|
+
:node_id => 'ac0001',
|
|
12
|
+
:occurrences => occurrences,
|
|
13
|
+
:assumed_value => 'ANY')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'should be an instance of CDefinedObject' do
|
|
17
|
+
@c_defined_object.should be_an_instance_of CDefinedObject
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'should be assigned properly' do
|
|
21
|
+
@c_defined_object.assumed_value.should == 'ANY'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'has_assumed_value should be true' do
|
|
25
|
+
@c_defined_object.should have_assumed_value
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it 'has_assumed_value should not be true' do
|
|
29
|
+
@c_defined_object.assumed_value = nil
|
|
30
|
+
@c_defined_object.should_not have_assumed_value
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'default_value should raise NotImplementedError' do
|
|
34
|
+
lambda {
|
|
35
|
+
@c_defined_object.default_value
|
|
36
|
+
}.should raise_error NotImplementedError
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it 'valid_value should raise NotImplementedError' do
|
|
40
|
+
lambda {
|
|
41
|
+
@c_defined_object.valid_value?(1)
|
|
42
|
+
}.should raise_error NotImplementedError
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
it 'any_allowed should raise NotImplementedError' do
|
|
46
|
+
lambda {
|
|
47
|
+
@c_defined_object.any_allowed?
|
|
48
|
+
}.should raise_error NotImplementedError
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
|
4
|
+
|
|
5
|
+
describe CDomainType do
|
|
6
|
+
before(:each) do
|
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
|
8
|
+
parent = stub(CAttribute, :rm_attribute_name => 'DV_DATE')
|
|
9
|
+
@c_domain_type = CDomainType.new(:path => '/event/[at0001]/',
|
|
10
|
+
:rm_type_name => 'DV_TIME',
|
|
11
|
+
:node_id => 'ac0001',
|
|
12
|
+
:occurrences => occurrences)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'should be an instance of CDomainType' do
|
|
16
|
+
@c_domain_type.should be_an_instance_of CDomainType
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'standard_equivalent should raise NotImplementedError' do
|
|
20
|
+
lambda {
|
|
21
|
+
@c_domain_type.standard_equivalent
|
|
22
|
+
}.should raise_error NotImplementedError
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
|
4
|
+
|
|
5
|
+
describe CMultipleAttribute do
|
|
6
|
+
before(:each) do
|
|
7
|
+
existence = Interval.new(:upper =>0, :lower => 0)
|
|
8
|
+
cardinality = stub(Cardinality, :ordered? => true)
|
|
9
|
+
@c_multiple_attribute =
|
|
10
|
+
CMultipleAttribute.new(:path => '/event/at001',
|
|
11
|
+
:rm_attribute_name => 'DV_DATE',
|
|
12
|
+
:existence => existence,
|
|
13
|
+
:cardinality => cardinality)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'should be an instance of CMulitipleAttribute' do
|
|
17
|
+
@c_multiple_attribute.should be_an_instance_of CMultipleAttribute
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'cardinality should be assigned properly' do
|
|
21
|
+
@c_multiple_attribute.cardinality.should be_ordered
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
include OpenEHR::AssumedLibraryTypes
|
|
4
|
+
|
|
5
|
+
describe CObject do
|
|
6
|
+
before(:each) do
|
|
7
|
+
occurrences = Interval.new(:lower => 0, :upper => 1)
|
|
8
|
+
parent = stub(CAttribute, :rm_attribute_name => 'DV_DATE')
|
|
9
|
+
@c_object = CObject.new(:path => '/event/[at0001]/',
|
|
10
|
+
:rm_type_name => 'DV_TIME',
|
|
11
|
+
:node_id => 'ac0001',
|
|
12
|
+
:occurrences => occurrences,
|
|
13
|
+
:parent => parent)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'should be an instance of CObject' do
|
|
17
|
+
@c_object.should be_an_instance_of CObject
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'rm_type_name should be assigned properly' do
|
|
21
|
+
@c_object.rm_type_name.should == 'DV_TIME'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'should raise ArgumentError when rm_type_name was assigned nil' do
|
|
25
|
+
lambda {
|
|
26
|
+
@c_object.rm_type_name = nil
|
|
27
|
+
}.should raise_error ArgumentError
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'should raise ArgumentError when rm_type_name was assigned empty' do
|
|
31
|
+
lambda {
|
|
32
|
+
@c_object.rm_type_name = ''
|
|
33
|
+
}.should raise_error ArgumentError
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it 'node_id should be assigned properly' do
|
|
37
|
+
@c_object.node_id.should == 'ac0001'
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# it 'should raise ArgumentError when node_id was assigned nil' do
|
|
41
|
+
# lambda {
|
|
42
|
+
# @c_object.node_id = nil
|
|
43
|
+
# }.should raise_error ArgumentError
|
|
44
|
+
# end
|
|
45
|
+
|
|
46
|
+
it 'should raise ArgumentError when node_id was assigned empty' do
|
|
47
|
+
lambda {
|
|
48
|
+
@c_object.node_id = ''
|
|
49
|
+
}.should raise_error ArgumentError
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it 'occurences should be assigned properly' do
|
|
53
|
+
@c_object.occurrences.lower.should be_equal 0
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# it 'should raise ArgumentError when occurences was assigned nil' do
|
|
57
|
+
# lambda {
|
|
58
|
+
# @c_object.occurrences = nil
|
|
59
|
+
# }.should raise_error ArgumentError
|
|
60
|
+
# end
|
|
61
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::AM::Archetype::ConstraintModel
|
|
3
|
+
include OpenEHR::AM::Archetype::ConstraintModel::Primitive
|
|
4
|
+
include OpenEHR::AssumedLibraryTypes
|
|
5
|
+
|
|
6
|
+
describe CPrimitiveObject do
|
|
7
|
+
before(:each) do
|
|
8
|
+
interval = Interval.new(:lower => 0, :upper => 1)
|
|
9
|
+
item = stub(CPrimitive, :node_id => 'at0001')
|
|
10
|
+
@c_primitive_object = CPrimitiveObject.new(:path => 'event/test',
|
|
11
|
+
:rm_type_name => 'DV_TEXT',
|
|
12
|
+
:node_id => 'ac0001',
|
|
13
|
+
:occurrences => interval,
|
|
14
|
+
:item => item)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'should be an instance of CPrimitiveObject' do
|
|
18
|
+
@c_primitive_object.should be_an_instance_of CPrimitiveObject
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'item should be assigned properly' do
|
|
22
|
+
@c_primitive_object.item.node_id.should == 'at0001'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'should allowed any' do
|
|
26
|
+
@c_primitive_object.should_not be_any_allowed
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'should not any allowed' do
|
|
30
|
+
@c_primitive_object.item = nil
|
|
31
|
+
@c_primitive_object.should be_any_allowed
|
|
32
|
+
end
|
|
33
|
+
end
|