Exemplo 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);
        }
Exemplo 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());
        }
Exemplo n.º 3
0
        public virtual void ShouldRenderNonStructuralAttributeWithNullFlavorForCDA()
        {
            this.visitor = new XmlRenderingVisitor(true, true, null);
            IIImpl       attributeValue = new IIImpl(Ca.Infoway.Messagebuilder.Domainvalue.Nullflavor.NullFlavor.MASKED);
            Relationship relationship   = CreateNonStructuralRelationship();

            ExerciseVisitorOverInteractionWithAttribute(attributeValue, relationship);
            string xml = this.visitor.ToXml().GetXmlMessage();

            AssertXmlEquals("xml", "<ClinicalDocument xmlns=\"urn:hl7-org:v3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:sdtc=\"urn:hl7-org:sdtc\" xmlns:cda=\"urn:hl7-org:v3\""
                            + ">" + "<id nullFlavor=\"MSK\"/>" + "</ClinicalDocument>", xml);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
        public virtual void SetUp()
        {
            ignoredAsNotAllowedOriginalValue = Runtime.GetProperty(ConformanceLevelUtil.IGNORED_AS_NOT_ALLOWED);

            CodeResolverRegistry.RegisterResolver(typeof(ActStatus), new EnumBasedCodeResolver(typeof(Ca.Infoway.Messagebuilder.Domainvalue.Controlact.ActStatus
                                                                                                      )));
            CodeResolverRegistry.RegisterResolver(typeof(Realm), new EnumBasedCodeResolver(typeof(Domainvalue.Transport.Realm)));
            this.visitor         = new XmlRenderingVisitor(MockVersionNumber.MOCK_MR2009);
            this.partBridge      = new MockPartBridge();
            this.attributeBridge = new MockAttributeBridge("aPropertyName");
            this.interation      = new Interaction();
            this.interation.Name = "ABCD_IN123456CA";
            Argument argument = new Argument();

            argument.Name = "ABCD_MT987654CA.Baby";
            argument.TemplateParameterName = "act";
            argument.TraversalName         = "bambino";
            this.interation.Arguments.Add(argument);
        }
Exemplo n.º 6
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);
        }
Exemplo n.º 7
0
 public Buffer(XmlRenderingVisitor _enclosing, string name, int indent)
 {
     this._enclosing = _enclosing;
     this.name       = name;
     this.indent     = indent;
 }