Esempio n. 1
0
        public virtual void ShouldRenderASimpleMessageWithTemplates()
        {
            FindCandidatesQueryMessageBean tealBean = new FindCandidatesQueryMessageBean();

            tealBean.ControlActEventBean = new QueryControlActEventBean <FindCandidatesCriteria>();
            tealBean.ControlActEventBean.QueryByParameter.ParameterList = new FindCandidatesCriteria();
            MessageBeanBuilderSupport.PopulateMoreBetterStandardValues(tealBean);
            tealBean.ControlActEventBean.Code = Ca.Infoway.Messagebuilder.Domainvalue.Transport.HL7TriggerEventCode.FIND_CANDIDATES_QUERY;
            this.walker = new TealBeanRenderWalker(tealBean, MockVersionNumber.MOCK_MR2009, null, null, new MockTestCaseMessageDefinitionService
                                                       ());
            AuthorBean author = new AuthorBean();

            author.Time = new PlatformDate();
            author.Id   = new Identifier("1.2.3.4", "authorExtension");
            tealBean.ControlActEventBean.Author  = author;
            tealBean.ControlActEventBean.QueryId = new Identifier(UUID.RandomUUID().ToString());
            tealBean.ControlActEventBean.EventId = new Identifier(UUID.RandomUUID().ToString());
            tealBean.ControlActEventBean.GetCriteria().Gender = Ca.Infoway.Messagebuilder.Domainvalue.Payload.AdministrativeGender.MALE;
            XmlRenderingVisitor visitor = new XmlRenderingVisitor(MockVersionNumber.MOCK_MR2009);

            this.walker.Accept(visitor);
            string xml = visitor.ToXml().GetXmlMessage();

            System.Console.Out.WriteLine(xml);
            AssertValidHl7Message(xml);
        }
Esempio n. 2
0
        public virtual void ShouldRenderCompleteSolution()
        {
            FindCandidatesQueryMessageBean message = new FindCandidatesQueryMessageBean();

            message.ControlActEventBean = new QueryControlActEventBean <FindCandidatesCriteria>(new FindCandidatesCriteria());
            message.ControlActEventBean.GetCriteria().BirthDate = DateUtil.GetDate(1966, 0, 5);
            XmlRenderingVisitor visitor = new XmlRenderingVisitor(MockVersionNumber.MOCK_NEWFOUNDLAND);

            new TealBeanRenderWalker(message, MockVersionNumber.MOCK_NEWFOUNDLAND, null, null, this.service).Accept(visitor);
            System.Console.Out.WriteLine(visitor.ToXml().GetXmlMessage());
        }
Esempio n. 3
0
        public virtual void ShouldRenderASimpleHl7Message()
        {
            GenericResponseMessageBean tealBean = new GenericResponseMessageBean();

            MessageBeanBuilderSupport.PopulateMoreBetterStandardValues(tealBean);
            tealBean.Acknowledgement.AcknowledgementDetails.Add(CreateDetail(Ca.Infoway.Messagebuilder.Domainvalue.Transport.AcknowledgementDetailCode
                                                                             .SYNTAX_ERROR, "I hate you", Ca.Infoway.Messagebuilder.Domainvalue.Transport.AcknowledgementDetailType.ERROR));
            tealBean.Acknowledgement.AcknowledgementDetails.Add(CreateDetail(Ca.Infoway.Messagebuilder.Domainvalue.Transport.AcknowledgementDetailCode
                                                                             .UNKNOWN_SENDER, "Unauthorized user", Ca.Infoway.Messagebuilder.Domainvalue.Transport.AcknowledgementDetailType.ERROR));
            XmlRenderingVisitor visitor = new XmlRenderingVisitor(MockVersionNumber.MOCK_MR2009);

            this.walker = new TealBeanRenderWalker(tealBean, MockVersionNumber.MOCK_MR2009, null, null, new MockTestCaseMessageDefinitionService
                                                       ());
            this.walker.Accept(visitor);
            string xml = visitor.ToXml().GetXmlMessage();

            System.Console.Out.WriteLine(xml);
            AssertValidHl7Message(xml);
        }
Esempio n. 4
0
        public virtual ModelToXmlResult TransformToHl7(VersionNumber version, IInteraction messageBean, TimeZoneInfo dateTimeZone
                                                       , TimeZoneInfo dateTimeTimeZone, GenericCodeResolverRegistry codeResolverRegistryOverride)
        {
            CodeResolverRegistry.SetThreadLocalVersion(version);
            CodeResolverRegistry.SetThreadLocalCodeResolverRegistryOverride(codeResolverRegistryOverride);
            XmlRenderingVisitor visitor = new XmlRenderingVisitor(this.service.IsR2(version), this.service.IsCda(version), version);

            // TODO: Since the two boolean flags are derived from the version, we chould simplify this interface
            new TealBeanRenderWalker(messageBean, version, dateTimeZone, dateTimeTimeZone, this.service).Accept(visitor);
            CodeResolverRegistry.ClearThreadLocalVersion();
            CodeResolverRegistry.ClearThreadLocalCodeResolverRegistryOverride();
            ModelToXmlResult result = visitor.ToXml();

            if (this.service.IsCda(version))
            {
                PerformAdditionalCdaValidation(version, result.GetXmlMessage(), result);
            }
            if (!result.IsValid() && IsStrict())
            {
                throw new InvalidRenderInputException(result.GetHl7Errors());
            }
            return(result);
        }