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,162 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::RM::DataTypes::Quantity
|
|
3
|
+
include OpenEHR::RM::DataTypes::Quantity::ProportionKind
|
|
4
|
+
|
|
5
|
+
describe DvProportion do
|
|
6
|
+
before(:all) do
|
|
7
|
+
@dv_proportion0 = DvProportion.new(:numerator => 2,
|
|
8
|
+
:denominator => 3,
|
|
9
|
+
:type => PK_RATIO,
|
|
10
|
+
:accuracy => 1,
|
|
11
|
+
:accuracy_percent => true)
|
|
12
|
+
@dv_proportion1 = DvProportion.new(:numerator => 3,
|
|
13
|
+
:denominator => 1,
|
|
14
|
+
:type => PK_UNITARY)
|
|
15
|
+
@dv_proportion2 = DvProportion.new(:numerator => 5,
|
|
16
|
+
:denominator => 100,
|
|
17
|
+
:type => PK_PERCENT)
|
|
18
|
+
@dv_proportion3 = DvProportion.new(:numerator => 7,
|
|
19
|
+
:denominator => 8,
|
|
20
|
+
:type => PK_FRACTION)
|
|
21
|
+
@dv_proportion4 = DvProportion.new(:numerator => 9,
|
|
22
|
+
:denominator => 10,
|
|
23
|
+
:type => PK_INTEGER_FRACTION)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
describe 'PK_RATIO type' do
|
|
27
|
+
it 'should be an instance of DvProportion' do
|
|
28
|
+
@dv_proportion0.should be_an_instance_of DvProportion
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it 's numerator should be equal 2' do
|
|
32
|
+
@dv_proportion0.numerator.should be_equal 2
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 's denominator should be equal 3' do
|
|
36
|
+
@dv_proportion0.denominator.should be_equal 3
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it 's type should be equal 0' do
|
|
40
|
+
@dv_proportion0.type.should == 0
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it 's magnitude should be 2/3' do
|
|
44
|
+
@dv_proportion0.magnitude.should == 2.0/3.0
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it 's accuracy should be 1' do
|
|
48
|
+
@dv_proportion0.accuracy.should == 1
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it 'is_integral? should be true' do
|
|
52
|
+
@dv_proportion0.is_integral?.should be_true
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
it 'should be comperable to same type DvProportion' do
|
|
56
|
+
dv_propotion_type = DvProportion.new(:numerator => 3,
|
|
57
|
+
:denominator => 4,
|
|
58
|
+
:type => 0)
|
|
59
|
+
@dv_proportion0.is_strictly_comparable_to?(dv_propotion_type).
|
|
60
|
+
should be_true
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
it 'should not be comparable to other type DvPropotion' do
|
|
64
|
+
@dv_proportion0.is_strictly_comparable_to?(@dv_proportion1).
|
|
65
|
+
should_not be_true
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
it 'should not be comperable to other class' do
|
|
69
|
+
@dv_proportion0.is_strictly_comparable_to?(1).
|
|
70
|
+
should_not be_true
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it 'should raise ArguentError with invalid type -1' do
|
|
74
|
+
lambda {
|
|
75
|
+
@dv_proportion0.type = -1
|
|
76
|
+
}.should raise_error ArgumentError
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
it 'should raise ArgumentError with invalid type 5' do
|
|
80
|
+
lambda {
|
|
81
|
+
@dv_proportion0.type = 5
|
|
82
|
+
}.should raise_error ArgumentError
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
it 's precision should be 0' do
|
|
86
|
+
@dv_proportion0.precision = 0
|
|
87
|
+
@dv_proportion0.precision.should == 0
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
it 'should raise ArgumentError when is_integral? and precision !=0' do
|
|
91
|
+
lambda {@dv_proportion0.precision = 1}.should raise_error ArgumentError
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
it 'shoud not raise ArgumentError when is_not ntegral' do
|
|
95
|
+
@dv_proportion0.numerator = 2.5
|
|
96
|
+
lambda {
|
|
97
|
+
@dv_proportion0.precision = 1
|
|
98
|
+
}.should_not raise_error ArgumentError
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
describe 'PK_UNITARY type' do
|
|
103
|
+
it 'should be an instance of DvPropotion' do
|
|
104
|
+
@dv_proportion1.should be_an_instance_of DvProportion
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
it 'should raise ArgumentError without denominator 1' do
|
|
108
|
+
lambda {
|
|
109
|
+
@dv_proportion1.denominator = 10
|
|
110
|
+
}.should raise_error ArgumentError
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
describe 'PK_PERCENT type' do
|
|
115
|
+
it 'should be an instance of DvProportion' do
|
|
116
|
+
@dv_proportion2.should be_an_instance_of DvProportion
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
it 'should raise ArgumentError without denominator 100' do
|
|
120
|
+
lambda {
|
|
121
|
+
@dv_proportion2.denominator = 101
|
|
122
|
+
}.should raise_error ArgumentError
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
describe 'PK_FRACTION type' do
|
|
127
|
+
it 'should be an instance of DvProportion' do
|
|
128
|
+
@dv_proportion3.should be_an_instance_of DvProportion
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
it 'should raise ArgumentError with fractional denominator' do
|
|
132
|
+
lambda {
|
|
133
|
+
@dv_proportion3.denominator = 0.5
|
|
134
|
+
}.should raise_error ArgumentError
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
it 'should raise ArgumentError with fractional numerator' do
|
|
138
|
+
lambda {
|
|
139
|
+
@dv_proportion3.numerator = 0.5
|
|
140
|
+
}.should raise_error ArgumentError
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
describe 'PK_FRACTION_INTEGER type' do
|
|
145
|
+
it 'should be an instance of DvProportion' do
|
|
146
|
+
@dv_proportion4.should be_an_instance_of DvProportion
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
it 'should raise ArgumentError with fractional denominator' do
|
|
150
|
+
lambda {
|
|
151
|
+
@dv_proportion4.denominator = 0.5
|
|
152
|
+
}.should raise_error ArgumentError
|
|
153
|
+
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
it 'should raise ArgumentError with fractional numerator' do
|
|
157
|
+
lambda {
|
|
158
|
+
@dv_proportion4.numerator = 0.5
|
|
159
|
+
}.should raise_error ArgumentError
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::RM::DataTypes::Quantity
|
|
3
|
+
|
|
4
|
+
describe DvQuantified do
|
|
5
|
+
before(:all) do
|
|
6
|
+
@dv_quantified = DvQuantified.new(:magnitude => 1,
|
|
7
|
+
:magnitude_status => '=')
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it 'should be an instance of DvQuantified' do
|
|
11
|
+
@dv_quantified.should be_an_instance_of DvQuantified
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it 's magnitude should be 1' do
|
|
15
|
+
@dv_quantified.magnitude.should be_equal 1
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 's magnitude_status should be =' do
|
|
19
|
+
@dv_quantified.magnitude_status.should == '='
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it 's comparable to other DvQuantified' do
|
|
23
|
+
dv_quantified = DvQuantified.new(:magnitude => 2)
|
|
24
|
+
@dv_quantified.should < dv_quantified
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'should raise ArgumentError with invalid magnitude_status' do
|
|
28
|
+
lambda {
|
|
29
|
+
@dv_quantified.magnitude_status = '+'
|
|
30
|
+
}.should raise_error ArgumentError
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 's accuracy should be unknown' do
|
|
34
|
+
@dv_quantified.should be_accuracy_unknown
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::RM::DataTypes::Quantity
|
|
3
|
+
|
|
4
|
+
describe DvQuantity do
|
|
5
|
+
before(:each) do
|
|
6
|
+
@dv_quantity = DvQuantity.new(:magnitude => 3,
|
|
7
|
+
:units => 'mg',
|
|
8
|
+
:precision => 0)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'should be an instance of DvQuantity' do
|
|
12
|
+
@dv_quantity.should be_instance_of DvQuantity
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 's units should be mg' do
|
|
16
|
+
@dv_quantity.units.should == 'mg'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
describe 'Mathematical Operation' do
|
|
20
|
+
before(:each) do
|
|
21
|
+
@dv_quantity5 = DvQuantity.new(:magnitude => 5,
|
|
22
|
+
:units => 'mg')
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'should be comparable to 5mg' do
|
|
26
|
+
@dv_quantity.is_strictly_comparable_to?(@dv_quantity5).should be_true
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'should be 8mg added 5mg' do
|
|
30
|
+
dv_quantity = @dv_quantity + @dv_quantity5
|
|
31
|
+
dv_quantity.magnitude.should == 8
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it 'should be -2mg minus 5mg' do
|
|
35
|
+
dv_quantity = @dv_quantity - @dv_quantity5
|
|
36
|
+
dv_quantity.magnitude.should == -2
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it 's unit should be mg' do
|
|
40
|
+
(@dv_quantity + @dv_quantity5).units.should == 'mg'
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it 'should not be comparable to 8km' do
|
|
45
|
+
dv_quantity = DvQuantity.new(:magnitude => 8,
|
|
46
|
+
:units => 'km')
|
|
47
|
+
@dv_quantity.is_strictly_comparable_to?(dv_quantity).should_not be_true
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it 'should return false with other type' do
|
|
51
|
+
@dv_quantity.is_strictly_comparable_to?(1).should_not be_true
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
it 's precision should be equal 0' do
|
|
55
|
+
@dv_quantity.precision.should == 0
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it 'should be integral' do
|
|
59
|
+
@dv_quantity.is_integral?.should be_true
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it 'should not be integral do' do
|
|
63
|
+
@dv_quantity.precision = 3
|
|
64
|
+
@dv_quantity.is_integral?.should_not be_true
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it 'should not raise ArgumentError with -1 precision' do
|
|
68
|
+
lambda {
|
|
69
|
+
@dv_quantity.precision = -1
|
|
70
|
+
}.should_not raise_error ArgumentError
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it 'should raise ArgumentError with -2 precision' do
|
|
74
|
+
lambda {
|
|
75
|
+
@dv_quantity.precision = -2
|
|
76
|
+
}.should raise_error ArgumentError
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::RM::DataTypes::Quantity
|
|
3
|
+
|
|
4
|
+
describe ProportionKind do
|
|
5
|
+
it 'should be valid proportion kind 0' do
|
|
6
|
+
ProportionKind.should be_valid_proportion_kind 0
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
it 'should be valid proportion kind 2' do
|
|
10
|
+
ProportionKind.should be_valid_proportion_kind 2
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'should be valid proportionkind 4' do
|
|
14
|
+
ProportionKind.should be_valid_proportion_kind 4
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it 'should not be valid proportionkind -1' do
|
|
18
|
+
ProportionKind.should_not be_valid_proportion_kind -1
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'should not be valid proportionkind 5' do
|
|
22
|
+
ProportionKind.should_not be_valid_proportion_kind 5
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::RM::DataTypes::Quantity
|
|
3
|
+
|
|
4
|
+
describe ReferenceRange do
|
|
5
|
+
before(:each) do
|
|
6
|
+
dv_interval ||= stub(DvInterval)
|
|
7
|
+
@mock_dv_interval ||= mock('dv_interval')
|
|
8
|
+
@reference_range = ReferenceRange.new(:meaning => 'test',
|
|
9
|
+
:range => dv_interval)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it 'should be an instance of DvInterval' do
|
|
13
|
+
@reference_range.should be_an_instance_of ReferenceRange
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 's meaning should be test' do
|
|
17
|
+
@reference_range.meaning.should == 'test'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'should be in range' do
|
|
21
|
+
@mock_dv_interval.should_receive(:has?).with(1).and_return(true)
|
|
22
|
+
@reference_range.range = @mock_dv_interval
|
|
23
|
+
@reference_range.is_in_range?(1).should be_true
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it 'should be out of range' do
|
|
27
|
+
@mock_dv_interval.should_receive(:has?).with(-1).and_return(false)
|
|
28
|
+
@reference_range.range = @mock_dv_interval
|
|
29
|
+
@reference_range.is_in_range?(-1).should be_false
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'should raise ArgumentError with nil meaning' do
|
|
33
|
+
lambda {
|
|
34
|
+
@reference_range.meaning = nil
|
|
35
|
+
}.should raise_error ArgumentError
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'should raise ArgumentError with nil range' do
|
|
39
|
+
lambda {
|
|
40
|
+
@reference_range.range = nil
|
|
41
|
+
}.should raise_error ArgumentError
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::RM::DataTypes::Text
|
|
3
|
+
include OpenEHR::RM::Support::Identification
|
|
4
|
+
|
|
5
|
+
describe CodePhrase do
|
|
6
|
+
before(:each) do
|
|
7
|
+
terminology_id = TerminologyID.new(:value => 'openehr')
|
|
8
|
+
@code_phrase = CodePhrase.new(:code_string => '535',
|
|
9
|
+
:terminology_id => terminology_id)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it 'should be an instance of CodePhrase' do
|
|
13
|
+
@code_phrase.should be_an_instance_of CodePhrase
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 's code_string should be 535' do
|
|
17
|
+
@code_phrase.code_string.should == '535'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 's terminology_id.name should be openehr' do
|
|
21
|
+
@code_phrase.terminology_id.name.should == 'openehr'
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::RM::DataTypes::Text
|
|
3
|
+
|
|
4
|
+
describe DvParagraph do
|
|
5
|
+
before(:each) do
|
|
6
|
+
items_dummy = Array[1,2]
|
|
7
|
+
@dv_paragraph = DvParagraph.new(:items => items_dummy)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it 's items should be_size 2' do
|
|
11
|
+
@dv_paragraph.items.size.should be_equal 2
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
|
2
|
+
include OpenEHR::RM::DataTypes::Text
|
|
3
|
+
include OpenEHR::RM::Support::Identification
|
|
4
|
+
include OpenEHR::RM::DataTypes::URI
|
|
5
|
+
|
|
6
|
+
describe DvText do
|
|
7
|
+
before(:each) do
|
|
8
|
+
terminology_id = TerminologyID.new(:value => 'openehr')
|
|
9
|
+
language = CodePhrase.new(:terminology_id => terminology_id,
|
|
10
|
+
:code_string => 'ja')
|
|
11
|
+
encoding = CodePhrase.new(:terminology_id => terminology_id,
|
|
12
|
+
:code_string => 'utf-8')
|
|
13
|
+
term = stub(CodePhrase, :code_string => 'C92')
|
|
14
|
+
term_mapping = stub(TermMapping, :target => term)
|
|
15
|
+
hyperlink = stub(DvUri, :value => 'http://openehr.jp/ruby')
|
|
16
|
+
@dv_text = DvText.new(:value => 'test',
|
|
17
|
+
:formatting => 'font = 12pt',
|
|
18
|
+
:language => language,
|
|
19
|
+
:encoding => encoding,
|
|
20
|
+
:mappings => [term_mapping],
|
|
21
|
+
:hyperlink => hyperlink)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'should be an instance of DvText' do
|
|
25
|
+
@dv_text.should be_an_instance_of DvText
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it 's value should be test' do
|
|
29
|
+
@dv_text.value.should == 'test'
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'should raise ArgumentError, when value include \n' do
|
|
33
|
+
lambda {
|
|
34
|
+
@dv_text.value = "not valid value\n"
|
|
35
|
+
}.should raise_error(ArgumentError)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'should raise ArgumentError, when value is nil' do
|
|
39
|
+
lambda {
|
|
40
|
+
@dv_text.value = nil
|
|
41
|
+
}.should raise_error(ArgumentError)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it 'formatting should be font' do
|
|
45
|
+
@dv_text.formatting.should == 'font = 12pt'
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
it 'should raise ArgumentError, when formatting is empty' do
|
|
49
|
+
lambda{@dv_text.formatting = ""}.should raise_error(ArgumentError)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it 'has 1 mapping' do
|
|
53
|
+
@dv_text.mappings.size.should be 1
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
it '1st item of mappings is C92' do
|
|
57
|
+
@dv_text.mappings[0].target.code_string.should == 'C92'
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it 'raise error if mappings are empty' do
|
|
61
|
+
expect {@dv_text.mappings = Array.new}.to raise_error
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
it 'does not raise error if mappings are nil' do
|
|
65
|
+
expect {@dv_text.mappings = nil}.not_to raise_error
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
it 'hyperlink is http://openehr.jp/ruby' do
|
|
69
|
+
@dv_text.hyperlink.value.should == 'http://openehr.jp/ruby'
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
it 's language code_string should be ja' do
|
|
73
|
+
@dv_text.language.code_string.should == 'ja'
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
it 's encoding should be utf-8' do
|
|
77
|
+
@dv_text.encoding.code_string.should == 'utf-8'
|
|
78
|
+
end
|
|
79
|
+
end
|