예제 #1
0
        public void testTermBindingWithMultiTerminologies()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.term_binding.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();

            // verify the first term binding
            org.openehr.am.archetype.ontology.OntologyBinding binding = (org.openehr.am.archetype.ontology.OntologyBinding)archetype.getOntology().getTermBindingList().get(0);
            Assert.AreEqual("SNOMED_CT", binding.getTerminology(), "wrong binding terminology");

            org.openehr.am.archetype.ontology.TermBindingItem item = (org.openehr.am.archetype.ontology.TermBindingItem)binding.getBindingList().get(0);

            Assert.AreEqual("at0000", item.getCode(), "wrong local code");
            Assert.AreEqual(1, item.getTerms().size(), "wrong terms size");
            Assert.AreEqual("[snomed_ct::1000339]", item.getTerms().get(0), "wrong term");

            // verify the second term binding
            binding = (org.openehr.am.archetype.ontology.OntologyBinding)archetype.getOntology().getTermBindingList().get(1);
            Assert.AreEqual("ICD10", binding.getTerminology(), "wrong binding terminology");

            item = (org.openehr.am.archetype.ontology.TermBindingItem)binding.getBindingList().get(0);

            Assert.AreEqual("at0000", item.getCode(), "wrong local code");
            Assert.AreEqual(2, item.getTerms().size(), "wrong terms size");
            Assert.AreEqual("[icd10::1000]", item.getTerms().get(0), "wrong 1st term");
            Assert.AreEqual("[icd10::1001]", item.getTerms().get(1), "wrong 2nd term");
        }
예제 #2
0
        public void testParseLanguageWithAccreditationBeforeLanguage()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_language_order_of_translation_details.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);

            Map translations = archetype.getTranslations();

            TranslationDetails td = (TranslationDetails)translations.get("de");

            Assert.IsNotNull(td);
            Map map = td.getAuthor();

            Assert.IsNotNull(map);
            Assert.AreEqual("Harry Potter", map.get("name"));
            Assert.AreEqual("*****@*****.**",
                            map.get("email"));

            Assert.AreEqual(null, td.getAccreditation());

            map = td.getOtherDetails();
            Assert.AreEqual("Ron Weasley", map.get("review 1"));
            Assert.AreEqual("Rubeus Hagrid", map.get("review 2"));
        }
예제 #3
0
        public void testPathBasedBindingWithinInternalReference()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\openEHR-EHR-OBSERVATION.test_internal_ref_binding.v1.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();

            org.openehr.am.archetype.ontology.OntologyBinding binding = (org.openehr.am.archetype.ontology.OntologyBinding)archetype.getOntology().getTermBindingList().get(0);
            Assert.AreEqual("DDB00", binding.getTerminology(), "wrong binding terminology");


            org.openehr.am.archetype.ontology.TermBindingItem item1 = (org.openehr.am.archetype.ontology.TermBindingItem)binding.getBindingList().get(0);
            Assert.AreEqual(1, item1.getTerms().size(), "wrong terms size");

            Assert.AreEqual("/data[at0001]/events[at0002]/data[at0003]/items[at0004]",
                            item1.getCode(), "wrong local code path");
            Assert.AreEqual("[DDB00::12345]", item1.getTerms().get(0), "wrong term");

            org.openehr.am.archetype.ontology.TermBindingItem item2 = (org.openehr.am.archetype.ontology.TermBindingItem)binding.getBindingList().get(1);
            Assert.AreEqual(1, item2.getTerms().size(), "wrong terms size");

            Assert.AreEqual("/data[at0001]/events[at0005]/data[at0003]/items[at0004]",
                            item2.getCode(), "wrong local code path");
            Assert.AreEqual("[DDB00::98765]", item2.getTerms().get(0), "wrong term");

            Assert.IsTrue(archetype.physicalPaths().contains("/data[at0001]/events[at0002]/data[at0003]/items[at0004]"));
            Assert.IsTrue(archetype.physicalPaths().contains("/data[at0001]/events[at0005]/data[at0003]/items[at0004]")); // path within an archetype internal ref. Must be included in the physical paths!
            Assert.IsFalse(archetype.physicalPaths().contains("/data[at0001]/events[at9999]/data[at0003]/items[at0004]"));
        }
예제 #4
0
 public void testParseCDvQuantityReversed()
 {
     string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.c_dv_quantity_reversed.test.adl");
     se.acode.openehr.parser.ADLParser parser = new se.acode.openehr.parser.ADLParser(adl);
     archetype = parser.parse();
     Assert.IsNotNull(archetype);
 }
예제 #5
0
        public void testBindings()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_bindings.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            org.openehr.am.archetype.ontology.ArchetypeOntology ontology = archetype.getOntology();

            Assert.IsNotNull(ontology);
            object          a           = ontology.getTermBindingList().get(0);
            OntologyBinding termBinding = a as OntologyBinding;

            Assert.AreEqual("SNOMED-CT", termBinding.getTerminology(), "term bindings wrong");

            TermBindingItem tbi = (TermBindingItem)termBinding.getBindingList().get(0);

            Assert.AreEqual("[SNOMED-CT::123456]", tbi.getTerms().get(0), "term binding item wrong");
            OntologyBinding constrBinding = (OntologyBinding)ontology.getConstraintBindingList().get(0);

            Assert.AreEqual("SNOMED-CT", constrBinding.getTerminology(), "binding ontology wrong");

            QueryBindingItem qbi = (QueryBindingItem)constrBinding.getBindingList().get(0);

            Assert.AreEqual("http://openEHR.org/testconstraintbinding", qbi.getQuery().getUrl(), "query binding item wrong");
        }
예제 #6
0
        public void testConstraintBindingWithMultiTerminologies()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.constraint_binding.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            java.util.List list = archetype.getOntology().getConstraintBindingList();

            Assert.AreEqual(2, list.size(), "unexpected number of onotology binding");

            // verify the first constraint binding
            org.openehr.am.archetype.ontology.OntologyBinding binding = (org.openehr.am.archetype.ontology.OntologyBinding)list.get(0);
            Assert.AreEqual("SNOMED_CT", binding.getTerminology(), "unexpected binding terminology");

            org.openehr.am.archetype.ontology.QueryBindingItem item = (org.openehr.am.archetype.ontology.QueryBindingItem)binding.getBindingList().get(0);

            Assert.AreEqual("ac0001", item.getCode(), "unexpected local code");
            Assert.AreEqual("http://terminology.org?terminology_id=snomed_ct&&has_relation=102002;with_target=128004", item.getQuery().getUrl(), "exexpected query");

            // verify the second constraint binding
            binding = (org.openehr.am.archetype.ontology.OntologyBinding)list.get(1);
            Assert.AreEqual("ICD10", binding.getTerminology(), "unexpected binding terminology");

            item = (org.openehr.am.archetype.ontology.QueryBindingItem)binding.getBindingList().get(0);

            Assert.AreEqual("ac0001", item.getCode(), "unexpected local code");
            Assert.AreEqual("http://terminology.org?terminology_id=icd10&&has_relation=a2;with_target=b19",
                            item.getQuery().getUrl(), "exexpected query");
        }
예제 #7
0
        public void testParseInternalRefWithCommentWithSlashAfterOnlyOneSlashInTarget()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_internal_ref2.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
        }
예제 #8
0
        public void testParsingWithoutUTF8Encoding()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.unicode_BOM_support.test.adl", System.Text.Encoding.GetEncoding("ISO-8859-1"));

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
        }
예제 #9
0
        public void testParse()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_identification.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            Assert.AreEqual("1.4", archetype.getAdlVersion(), "adl_version wrong");
        }
예제 #10
0
        public void TestParseRegularExpressions()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.regular_expression.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            Assert.IsNotNull(archetype.getDefinition());
        }
예제 #11
0
        public void TestMethod1()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.most_minimal.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            Assert.AreEqual("en", archetype.getOriginalLanguage().getCodeString(), "originalLanguage wrong");
        }
예제 #12
0
        public void TestMethod1()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.empty_other_contributors.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            Assert.IsNull(archetype.getDescription().getOtherContributors());
        }
예제 #13
0
        public void TestMethod1()
        {
            bool   missingLanguageCompatible = true;
            bool   emptyPurposeCompatible    = false;
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.missing_language.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl, missingLanguageCompatible, emptyPurposeCompatible);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            Assert.AreEqual("zh", archetype.getOriginalLanguage().getCodeString(), "originalLanguage wrong");
        }
예제 #14
0
        public void testArchetypeUncommonTerm()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_uncommonkeys.test.adl");

            se.acode.openehr.parser.ADLParser  parser             = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype          = parser.parse();
            org.openehr.am.archetype.ontology.ArchetypeTerm aterm = archetype.getOntology().termDefinition("at0000");

            Assert.AreEqual("another key value", aterm.getItem("anotherkey").ToString(), "key value wrong");
            Assert.AreEqual("test text", aterm.getItem("text").ToString(), "key value wrong");
            Assert.AreEqual("test description", aterm.getItem("description").ToString(), "key value wrong");
        }
예제 #15
0
        public void testParseTermDefinition()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_ontology.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            org.openehr.am.archetype.ontology.ArchetypeOntology ontology = archetype.getOntology();
            org.openehr.am.archetype.ontology.ArchetypeTerm     term     = ontology.termDefinition("en", "at0000");
            Assert.AreEqual("some text", term.getItem("text"), "text wrong");
            Assert.AreEqual("some comment", term.getItem("comment"), "comment wrong");
            Assert.AreEqual("some description", term.getItem("description"), "description wrong");
        }
예제 #16
0
        public void TestMethod1()
        {
            bool   missingLanguageCompatible = false;
            bool   emptyPurposeCompatible    = true;
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_desc_missing_purpose.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl, missingLanguageCompatible, emptyPurposeCompatible);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            ResourceDescriptionItem c = (ResourceDescriptionItem)archetype.getDescription().getDetails().get(0);

            Assert.IsNotNull(c.getPurpose(), "purpose null");
        }
예제 #17
0
        public void testParseEmptyCDvQuantity()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.c_dv_quantity_empty.test.adl");
            se.acode.openehr.parser.ADLParser parser = new se.acode.openehr.parser.ADLParser(adl);
            archetype = parser.parse();
            node = archetype.node("/types[at0001]/items[at10005]/value");
            Assert.IsTrue(node is org.openehr.am.openehrprofile.datatypes.quantity.CDvQuantity, "CDvQuantity expected");

            org.openehr.am.openehrprofile.datatypes.quantity.CDvQuantity cdvquantity = (org.openehr.am.openehrprofile.datatypes.quantity.CDvQuantity)node;
            Assert.IsNull(cdvquantity.getList());
            Assert.IsNull(cdvquantity.getProperty());
            Assert.IsNull(cdvquantity.getAssumedValue());
            Assert.IsTrue(cdvquantity.isAnyAllowed());
        }
예제 #18
0
        public void testParseIncludesExcludes()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_slot.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            ArchetypeConstraint node = archetype.node("/content[at0001]");
            // Type e = typeof(node);
            ArchetypeSlot slot = (ArchetypeSlot)node;

            Assert.AreEqual("at0001", slot.getNodeId(), "nodeId wrong");
            Assert.AreEqual("SECTION", slot.getRmTypeName(), "rmTypeName wrong");
            Interval a = new Interval(0, 1);

            // Assert.AreEqual(  a, slot.getOccurrences());//错误???

            Assert.AreEqual("/content[at0001]", slot.path(), "path wrong");

            Assert.AreEqual(1, slot.getIncludes().size(), "includes total wrong");
            Assert.AreEqual(2, slot.getExcludes().size(), "Excludes total wrong");

            object         b         = slot.getIncludes().iterator().next();
            Assertion      assertion = (Assertion)b;
            ExpressionItem item      = assertion.getExpression();

            Assert.IsInstanceOfType(item, typeof(ExpressionBinaryOperator));
            //assertTrue("expressionItem type wrong",
            //	item instanceof ExpressionBinaryOperator);
            ExpressionBinaryOperator bo      = (ExpressionBinaryOperator)item;
            ExpressionItem           leftOp  = bo.getLeftOperand();
            ExpressionItem           rightOp = bo.getRightOperand();

            Assert.IsInstanceOfType(leftOp, typeof(ExpressionLeaf));
            //assertTrue("left operator type wrong",
            //    leftOp instanceof ExpressionLeaf);
            ExpressionLeaf left = (ExpressionLeaf)leftOp;

            Assert.AreEqual("domain_concept", left.getItem(), "left value wrong");
            Assert.IsInstanceOfType(rightOp, typeof(ExpressionLeaf));
            //  assertTrue("right operator type wrong", rightOp instanceof ExpressionLeaf);
            ExpressionLeaf right = (ExpressionLeaf)rightOp;

            Assert.IsInstanceOfType(right.getItem(), typeof(CString));
            // assertTrue("right item type wrong", right.getItem() instanceof CString);
            CString cstring = (CString)right.getItem();

            Assert.AreEqual("blood_pressure.v1", cstring.getPattern(), "right value wrong");
        }
예제 #19
0
        public void testParseSingleInclude()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_slot.test2.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            ArchetypeConstraint node = archetype.node("/content[at0001]");

            ArchetypeSlot slot = (ArchetypeSlot)node;

            Assert.AreEqual("at0001", slot.getNodeId(), "nodeId wrong");
            Assert.AreEqual("SECTION", slot.getRmTypeName(), "rmTypeName wrong");

            //  Assert.AreEqual("occurrences wrong", new Interval<Integer>(0, 1),slot.getOccurrences());

            Assert.AreEqual("/content[at0001]", slot.path(), "path wrong");

            Assert.AreEqual(1, slot.getIncludes().size(), "includes total wrong");

            Assertion      assertion = (Assertion)slot.getIncludes().iterator().next();
            ExpressionItem item      = assertion.getExpression();
            //assertTrue("expressionItem type wrong",
            //      item instanceof ExpressionBinaryOperator);
            ExpressionBinaryOperator bo      = (ExpressionBinaryOperator)item;
            ExpressionItem           leftOp  = bo.getLeftOperand();
            ExpressionItem           rightOp = bo.getRightOperand();

            //assertTrue("left operator type wrong",
            //        leftOp instanceof ExpressionLeaf);
            ExpressionLeaf left = (ExpressionLeaf)leftOp;

            Assert.AreEqual("archetype_id/value", left.getItem(), "left value wrong");

            //assertTrue("right operator type wrong",
            //        rightOp instanceof ExpressionLeaf);
            ExpressionLeaf right = (ExpressionLeaf)rightOp;
            //assertTrue("right item type wrong", right.getItem() instanceof CString);
            string cstring = Convert.ToString(right.getItem());

            //Assert.AreEqual("right value wrong", "openEHR-EHR-CLUSTER\\.device\\.v1",
            //        cstring.getPattern());

            Assert.IsNotNull("stringExpression missing", assertion.getStringExpression());
            String expectedStringExpression =
                "archetype_id/value matches {/openEHR-EHR-CLUSTER\\.device\\.v1/}";

            Assert.AreEqual(expectedStringExpression, assertion.getStringExpression(), "stringExpression wrong, got: " + assertion.getStringExpression());
        }
예제 #20
0
        public void testPathBasedBinding()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.term_binding2.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();

            org.openehr.am.archetype.ontology.OntologyBinding binding = (org.openehr.am.archetype.ontology.OntologyBinding)archetype.getOntology().getTermBindingList().get(0);
            Assert.AreEqual("LNC205", binding.getTerminology(), "wrong binding terminology");

            org.openehr.am.archetype.ontology.TermBindingItem item = (org.openehr.am.archetype.ontology.TermBindingItem)binding.getBindingList().get(0);

            Assert.AreEqual("/data[at0002]/events[at0003]/data[at0001]/item[at0004]",
                            item.getCode(), "wrong local code path");
            Assert.AreEqual(1, item.getTerms().size(), "wrong terms size");
            Assert.AreEqual("[LNC205::8310-5]", item.getTerms().get(0), "wrong term");
        }
예제 #21
0
        public void testParseInternalRefWithGenerics()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-SOME_TYPE.generic_type_use_node.draft.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            ArchetypeConstraint node = archetype.node("/interval_attr2");

            //assertTrue("ArchetypeInternalRef expected, actual: " + node.getClass(),
            //  node instanceof ArchetypeInternalRef);
            Assert.IsInstanceOfType(node, typeof(ArchetypeInternalRef));
            ArchetypeInternalRef refe = (ArchetypeInternalRef)node;

            Assert.AreEqual("INTERVAL<QUANTITY>", refe.getRmTypeName());
            Assert.AreEqual("/interval_attr[at0001]", refe.getTargetPath());
        }
예제 #22
0
        public void TestMethod1()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.mixed_node_types.draft.adl");

            se.acode.openehr.parser.ADLParser parser = new se.acode.openehr.parser.ADLParser(adl);

            try
            {
                org.openehr.am.archetype.Archetype archetype = parser.parse();
                Assert.IsNotNull(archetype);
            }
            catch (Exception e)
            {
                string a = e.Message;
                Console.Write(a);
                // fail("failed to parse mixed node types");
            }
        }
예제 #23
0
        public void testParseTranslationsLanguageAuthor()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.translations_language_author.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            Map translations = archetype.getTranslations();

            Assert.IsNotNull(translations);

            TranslationDetails td = (TranslationDetails)translations.get("de");

            Assert.IsNotNull(td);
            Map map = td.getAuthor();

            Assert.IsNotNull(map);
        }
예제 #24
0
        public void testParseInternalRefWithOverwrittingOccurrences()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_internal_ref.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            ArchetypeConstraint node = archetype.node("/attribute2");

            Assert.IsInstanceOfType(node, typeof(ArchetypeInternalRef));

            ArchetypeInternalRef refff = (ArchetypeInternalRef)node;


            Assert.AreEqual("SECTION", refff.getRmTypeName(), "rmType wrong");
            Assert.AreEqual("/attribute1", refff.getTargetPath(), "path wrong");

            Interval occurrences = new Interval(1, 2);
            //Assert.AreEqual( occurrences, refff.getOccurrences());//错误???
        }
예제 #25
0
        public void testParseLanguageSection()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_language.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);

            java.util.Map translations = archetype.getTranslations();
            Assert.IsNotNull(translations);
            TranslationDetails td = (TranslationDetails)translations.get("de");

            Assert.IsNotNull(td, "translation de missing");
            java.util.Map map = td.getAuthor();
            Assert.IsNotNull(map);
            Assert.AreEqual("Harry Potter", map.get("name"));
            Assert.AreEqual("*****@*****.**", map.get("email"));

            Assert.AreEqual("British Medical Translator id 00400595", td.getAccreditation());

            map = td.getOtherDetails();
            Assert.AreEqual("Ron Weasley", map.get("review 1"));
            Assert.AreEqual("Rubeus Hagrid", map.get("review 2"));
        }
예제 #26
0
        public void testTimeConstraints()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.datetime.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            int           n             = archetype.getDefinition().getAttributes().size();
            List <object> AttributeList = new List <object>();

            for (int i = 0; i < n; i++)
            {
                object Attribute = archetype.getDefinition().getAttributes().get(i);
                AttributeList.Add(Attribute);
            }
            CAttribute       ca = (CAttribute)AttributeList[1];
            CComplexObject   a  = (CComplexObject)ca.getChildren().get(0);
            CSingleAttribute b  = (CSingleAttribute)a.getAttributes().get(0);

            Assert.IsNotNull(ca);
            Assert.IsNotNull(b);
            assertCTime((CSingleAttribute)a.getAttributes().get(0), "hh:mm:ss", null, null, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(1), "hh:mm:XX", null, null, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(2), "hh:??:XX", null, null, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(3), "hh:??:??", null, null, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(4), null, null, new String[] { "22:00:05" },
                        null);

            assertCTime((CSingleAttribute)a.getAttributes().get(5), null, null, new String[] { "00:00:59" },
                        null);

            assertCTime((CSingleAttribute)a.getAttributes().get(6), null, null, new String[] { "12:35" },
                        null);

            assertCTime((CSingleAttribute)a.getAttributes().get(7), null, null, new String[] { "12:35:45.666" },
                        null);

            assertCTime((CSingleAttribute)a.getAttributes().get(8), null, null, new String[] { "12:35:45-0700" },
                        null);

            assertCTime((CSingleAttribute)a.getAttributes().get(9), null, null, new String[] { "12:35:45+0800" },
                        null);

            assertCTime((CSingleAttribute)a.getAttributes().get(10), null, null, new String[] { "12:35:45.999-0700" }, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(11), null, null,
                        new String[] { "12:35:45.000+0800" }, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(12), null, null,
                        new String[] { "12:35:45.000+0000" }, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(13), null, null,
                        new String[] { "12:35:45.995-0700" }, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(14), null, null,
                        new String[] { "12:35:45.001+0800" }, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(15), null, new Interval(time("12:35"),
                                                                                        time("16:35")), null, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(16), null, lessThan(time("12:35")), null, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(17), null, lessEqual(time("12:35")), null, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(18), null, greaterThan(time("12:35")), null, null);

            assertCTime((CSingleAttribute)a.getAttributes().get(19), null, greaterEqual(time("12:35")), null, null);
        }
 //[TestMethod]
 public UnicodeSupportTest()
 {
     string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.unicode_support.test.adl", System.Text.Encoding.GetEncoding("UTF-8"));
     se.acode.openehr.parser.ADLParser parser = new se.acode.openehr.parser.ADLParser(adl);
     archetype = parser.parse();
 }
예제 #28
0
 //[TestMethod]
 public CCodePhraseTest()
 {
     string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.c_code_phrase.test.adl");
     se.acode.openehr.parser.ADLParser parser = new se.acode.openehr.parser.ADLParser(adl);
     archetype = parser.parse();
 }
예제 #29
0
        public void testDateConstraints()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.datetime.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            int           n             = archetype.getDefinition().getAttributes().size();
            List <object> AttributeList = new List <object>();

            for (int i = 0; i < n; i++)
            {
                object Attribute = archetype.getDefinition().getAttributes().get(i);
                AttributeList.Add(Attribute);
            }
            CAttribute       ca = (CAttribute)AttributeList[0];
            CComplexObject   a  = (CComplexObject)ca.getChildren().get(0);
            CSingleAttribute b  = (CSingleAttribute)a.getAttributes().get(0);

            Assert.IsNotNull(ca);
            Assert.IsNotNull(b);

            assertCDate(b, "yyyy-mm-dd", null, null, null);

            assertCDate((CSingleAttribute)a.getAttributes().get(1), "yyyy-??-??", null, null, null);

            assertCDate((CSingleAttribute)a.getAttributes().get(2), "yyyy-mm-??", null, null, null);

            assertCDate((CSingleAttribute)a.getAttributes().get(3), "yyyy-??-XX", null, null, null);

            assertCDate((CSingleAttribute)a.getAttributes().get(4), null, null, new String[] { "1983-12-25" },
                        null);

            assertCDate((CSingleAttribute)a.getAttributes().get(5), null, null, new String[] { "2000-01-01" },
                        null);

            assertCDate((CSingleAttribute)a.getAttributes().get(6), null, new Interval(date("2004-09-20"),
                                                                                       date("2004-10-20")), null, null);

            assertCDate((CSingleAttribute)a.getAttributes().get(7), null, lessThan(date("2004-09-20")), null,
                        null);

            assertCDate((CSingleAttribute)a.getAttributes().get(8), null, lessEqual(date("2004-09-20")), null,
                        null);

            assertCDate((CSingleAttribute)a.getAttributes().get(9), null, greaterThan(date("2004-09-20")), null,
                        null);

            assertCDate((CSingleAttribute)a.getAttributes().get(10), null, greaterEqual(date("2004-09-20")), null,
                        null);

            // test assumed values
            assertCDate((CSingleAttribute)a.getAttributes().get(11), "yyyy-mm-dd", null, null, "2000-01-01");

            assertCDate((CSingleAttribute)a.getAttributes().get(12), "yyyy-??-??", null, null, "2001-01-01");

            assertCDate((CSingleAttribute)a.getAttributes().get(13), "yyyy-mm-??", null, null, "2002-01-01");

            assertCDate((CSingleAttribute)a.getAttributes().get(14), "yyyy-??-XX", null, null, "2003-01-01");

            assertCDate((CSingleAttribute)a.getAttributes().get(15), null, null, new String[] { "1983-12-25" },
                        "2004-01-01");

            assertCDate((CSingleAttribute)a.getAttributes().get(16), null, null, new String[] { "2000-01-01" },
                        "2005-01-01");

            assertCDate((CSingleAttribute)a.getAttributes().get(17), null, new Interval(
                            date("2004-09-20"), date("2004-10-20")), null,
                        "2004-09-30");

            assertCDate((CSingleAttribute)a.getAttributes().get(18), null, lessThan(date("2004-09-20")), null,
                        "2004-09-01");

            assertCDate((CSingleAttribute)a.getAttributes().get(19), null, lessEqual(date("2004-09-20")), null,
                        "2003-09-20");

            assertCDate((CSingleAttribute)a.getAttributes().get(20), null, greaterThan(date("2004-09-20")), null,
                        "2005-01-02");

            assertCDate((CSingleAttribute)a.getAttributes().get(21), null, greaterEqual(date("2004-09-20")), null,
                        "2005-10-30");
        }
예제 #30
0
        public void testParseFullArchetypeDescription()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.archetype_description.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            org.openehr.rm.common.resource.ResourceDescription description = archetype.getDescription();

            java.util.Map originalAuthor = description.getOriginalAuthor();
            Assert.AreEqual("Sam Heard", originalAuthor.get("name").ToString(), "name wrong");
            Assert.AreEqual("Ocean Informatics", originalAuthor.get("organisation").ToString(), "organisation wrong");
            Assert.AreEqual("23/04/2006", originalAuthor.get("date").ToString(), "date wrong");
            Assert.AreEqual("*****@*****.**", originalAuthor.get("email").ToString(), "email wrong");

            // List<String> otherContributors = description.getOtherContributors();
            Assert.IsNotNull(description.getOtherContributors());
            Assert.AreEqual(1, description.getOtherContributors().size());
            Assert.AreEqual("Ian McNicoll, MD", description.getOtherContributors().get(0));

            Assert.AreEqual("AuthorDraft", description.getLifecycleState(), "lifecycleState wrong");

            Assert.AreEqual("www.aihw.org.au/data_sets/diabetic_archetypes.html", description.getResourcePackageUri(), "resourcePackageUri");

            //Map<String, String> map = description.getOtherDetails();
            Assert.AreEqual("details 1", description.getOtherDetails().get("other 1"));
            Assert.AreEqual("details 2", description.getOtherDetails().get("other 2"));
            //List<ResourceDescriptionItem> details = description.getDetails();
            Assert.IsNotNull(description.getDetails());
            Assert.AreEqual(1, description.getDetails().size(), "details size wrong");

            ResourceDescriptionItem item = (ResourceDescriptionItem)description.getDetails().get(0);

            Assert.IsNotNull(description.getDetails().get(0));
            CodePhrase language = new CodePhrase("ISO_639-1", "en");

            Assert.AreEqual(language, item.getLanguage(), "language wrong");

            Assert.AreEqual(
                "For recording a problem, condition or"
                + " issue that has ongoing significance to the person's health.",
                item.getPurpose(), "purpose wrong");


            Assert.AreEqual("Used for recording any problem, present or"
                            + " past - so is used for recording past history as well as "
                            + "current problems. Used with changed 'Subject of care' for "
                            + "recording problems of relatives and so for family history.",
                            item.getUse(), "use wrong");

            Assert.AreEqual("Use specialisations for medical "
                            + "diagnoses, 'openEHR-EHR-EVALUATION.problem-diagnosis' and "
                            + "histological diagnoses 'openEHR-EHR-EVALUATION.problem-"
                            + "diagnosis-histological'", item.getMisuse(), "misuse wrong");

            Assert.AreEqual("copyright (c) 2004 The openEHR " + "Foundation", item.getCopyright(), "copyright wrong");

            List <String> keywords = new List <String>();

            keywords.Add("issue");
            keywords.Add("condition");
            Assert.AreEqual(keywords[0], item.getKeywords().get(0), "keywords wrong");
            Assert.AreEqual(keywords[1], item.getKeywords().get(1), "keywords wrong");
            ResourceDescriptionItem b = (ResourceDescriptionItem)description.getDetails().get(0);

            //map = description.getDetails().get(0).getOriginalResourceUri();
            Assert.AreEqual("http://guidelines.are.us/wherever/fr",
                            b.getOriginalResourceUri().get("ligne guide"));
            Assert.AreEqual("http://some%20medline%20ref", b.getOriginalResourceUri().get("medline"));

            // map =b.getOtherDetails();
            Assert.AreEqual("item details 1", b.getOtherDetails().get("item other 1"));
            Assert.AreEqual("item details 2", b.getOtherDetails().get("item other 2"));
        }
예제 #31
0
        public void testDateTimeConstraintsWithAssumedValues()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.datetime.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            int           n             = archetype.getDefinition().getAttributes().size();
            List <object> AttributeList = new List <object>();

            for (int i = 0; i < n; i++)
            {
                object Attribute = archetype.getDefinition().getAttributes().get(i);
                AttributeList.Add(Attribute);
            }
            CAttribute       ca = (CAttribute)AttributeList[2];
            CComplexObject   a  = (CComplexObject)ca.getChildren().get(0);
            CSingleAttribute b  = (CSingleAttribute)a.getAttributes().get(0);

            assertCDateTime((CSingleAttribute)a.getAttributes().get(20), "yyyy-mm-dd hh:mm:ss", null, null,
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(21), "yyyy-mm-dd hh:mm:??", null, null,
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(22), "yyyy-mm-dd hh:mm:XX", null, null,
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(23), "yyyy-mm-dd hh:??:XX", null, null,
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(24), "yyyy-??-?? ??:??:??", null, null,
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(25), null, null,
                            new String[] { "1983-12-25T22:00:05" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(26), null, null,
                            new String[] { "2000-01-01T00:00:59" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(27), null, null,
                            new String[] { "2000-01-01T00:00:59.000" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(28), null, null,
                            new String[] { "2000-01-01T00:00:59.105" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(29), null, null,
                            new String[] { "2000-01-01T00:00:59+0000" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(30), null, null,
                            new String[] { "2000-01-01T00:00:59+1200" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(31), null, null,
                            new String[] { "2000-01-01T00:00:59.500+0000" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(32), null, null,
                            new String[] { "2000-01-01T00:00:59.500+1200" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(33), null, null,
                            new String[] { "2000-01-01T00:00:59.000+0000" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(34), null, null,
                            new String[] { "2000-01-01T00:00:59.000+1200" },
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(35), null, new Interval(
                                dateTime("2000-01-01T00:00:00"),
                                dateTime("2000-01-02T00:00:00")), null,
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(36), null,
                            lessThan(dateTime("2000-01-01T00:00:00")), null,
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(37), null,
                            lessEqual(dateTime("2000-01-01T00:00:00")), null,
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(38), null,
                            greaterThan(dateTime("2000-01-01T00:00:00")), null,
                            "2006-03-31T01:12:00");

            assertCDateTime((CSingleAttribute)a.getAttributes().get(39), null,
                            greaterEqual(dateTime("2000-01-01T00:00:00")), null,
                            "2006-03-31T01:12:00");
        }
예제 #32
0
 //[TestMethod]
 public CDvQuantityTest()
 {
     string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-entry.c_dv_quantity_full.test.adl");
     se.acode.openehr.parser.ADLParser parser = new se.acode.openehr.parser.ADLParser(adl);
     archetype = parser.parse();
 }