Пример #1
0
        public void TestCreateANoteWithPregnancy()
        {
            using (RpcBroker broker = GetConnectedBroker())
            {
                this.SignonToBroker(broker, 2);

                DsioCreateANoteCommand command = new DsioCreateANoteCommand(broker);

                DsioPregnancy preg = this.GetOrCreatePregnancy(broker, TestConfiguration.DefaultPatientDfn);

                Assert.IsNotNull(preg);

                command.AddCommandArguments(TestConfiguration.DefaultPatientDfn, "PHONE CALL #1 (FIRST CONTACT)", "Tue Note", "A Subject Goes Here", new DsioNoteData(), preg.Ien);

                RpcResponse response = command.Execute();

                Assert.AreEqual(RpcResponseStatus.Success, response.Status);
            }
        }
Пример #2
0
        public void TestGetPatientChecklistItem()
        {
            using (RpcBroker broker = this.GetConnectedBroker())
            {
                this.SignonToBroker(broker, 2);

                DsioGetMccPatientChecklistCommand command = new DsioGetMccPatientChecklistCommand(broker);

                DsioPregnancy preg = this.GetOrCreatePregnancy(broker, TestConfiguration.DefaultPatientDfn);

                Assert.IsNotNull(preg);

                command.AddCommandArguments(TestConfiguration.DefaultPatientDfn, "", preg.Ien, DsioChecklistCompletionStatus.Unknown);

                RpcResponse response = command.Execute();

                Assert.AreEqual(RpcResponseStatus.Success, response.Status);

                broker.Disconnect();
            }
        }
        public DsioPregnancy AddCurrentPregnancy(IRpcBroker broker, string patientDfn)
        {
            DsioSavePregDetailsCommand command = new DsioSavePregDetailsCommand(broker);

            DsioPregnancy newPreg = new DsioPregnancy()
            {
                EDD        = DateTime.Now.AddMonths(6).ToString(VistaDates.VistADateOnlyFormat),
                RecordType = "CURRENT",
                PatientDfn = patientDfn
            };

            command.AddCommandArguments(newPreg, false);

            RpcResponse response = command.Execute();

            Assert.AreEqual(RpcResponseStatus.Success, response.Status);

            newPreg.Ien = command.Ien;

            return(newPreg);
        }
        public void TestSavePregnancy()
        {
            using (RpcBroker broker = this.GetConnectedBroker())
            {
                this.SignonToBroker(broker, 2);

                DsioSavePregDetailsCommand command = new DsioSavePregDetailsCommand(broker);

                DsioPregnancy preg = new DsioPregnancy();
                //preg.PatientDfn = "704";
                //preg.PatientDfn = "100007";
                //preg.PatientDfn = "763";
                preg.PatientDfn = TestConfiguration.DefaultPatientDfn;
                preg.Ien        = "";
                preg.RecordType = "HISTORICAL";
                //preg.FatherOfFetusIen = "U";
                preg.EDD = "";
                //preg.StartDate = "09/13/2014";
                //preg.StartDate = "";
                preg.EndDate         = "";
                preg.ObstetricianIen = "";
                preg.LDFacilityIen   = "";
                preg.HighRisk        = "1";
                preg.HighRiskDetails = @"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum";

                preg.GestationalAgeAtDelivery = "145";
                preg.LengthOfLabor            = "12";
                preg.TypeOfDelivery           = "Caesarean";
                preg.Anesthesia      = "Epidural";
                preg.PretermDelivery = "YES";
                preg.Outcome         = "P";

                command.AddCommandArguments(preg, false);

                RpcResponse response = command.Execute();

                Assert.AreEqual(RpcResponseStatus.Success, response.Status);
            }
        }
Пример #5
0
        public void TestSaveNewPatientChecklistItem()
        {
            using (RpcBroker broker = this.GetConnectedBroker())
            {
                this.SignonToBroker(broker, 2);

                DsioPregnancy preg = this.GetOrCreatePregnancy(broker, TestConfiguration.DefaultPatientDfn);

                Assert.IsNotNull(preg);

                DsioSaveMccPatChecklistCommand command = new DsioSaveMccPatChecklistCommand(broker);

                DsioPatientChecklistItem item = new DsioPatientChecklistItem()
                {
                    PatientDfn          = TestConfiguration.DefaultPatientDfn,
                    PregnancyIen        = preg.Ien,
                    Category            = "First Trimester Requirements",
                    Description         = "Friday Tests",
                    ItemType            = DsioChecklistItemType.Lab,
                    DueCalculationType  = DsioChecklistCalculationType.None,
                    DueCalculationValue = "0",
                    CompletionStatus    = DsioChecklistCompletionStatus.Complete,
                    Link            = "12345",
                    SpecificDueDate = Util.GetFileManDate(new DateTime(2014, 9, 1)),
                    CompletionLink  = "54321",
                    Note            = "Checklist Item Note Text",
                    InProgress      = "1",
                    EducationIen    = TestConfiguration.ValidEducationIen
                };

                command.AddCommandArguments(item);

                RpcResponse response = command.Execute();

                Assert.AreEqual(RpcResponseStatus.Success, response.Status);

                broker.Disconnect();
            }
        }
        protected DsioPregnancy GetAnyPregnancy(IRpcBroker broker, string patientDfn)
        {
            DsioPregnancy returnVal = null;

            DsioGetPregDetailsCommand command = new DsioGetPregDetailsCommand(broker);

            command.AddCommandArguments(patientDfn, "");

            RpcResponse response = command.Execute();

            if (response.Status == RpcResponseStatus.Success)
            {
                if (command.PregnancyList != null)
                {
                    if (command.PregnancyList.Count > 0)
                    {
                        returnVal = command.PregnancyList[0];
                    }
                }
            }

            return(returnVal);
        }
        public void TestCreateAndRetrieveHistoricalPregnancy()
        {
            using (RpcBroker broker = this.GetConnectedBroker())
            {
                this.SignonToBroker(broker, 2);

                DsioSavePregDetailsCommand createCommand = new DsioSavePregDetailsCommand(broker);

                DsioPregnancy preg = new DsioPregnancy();
                preg.PatientDfn       = TestConfiguration.DefaultPatientDfn;
                preg.Ien              = "";
                preg.RecordType       = "HISTORICAL";
                preg.FatherOfFetusIen = "U";
                preg.EDD              = "";
                preg.StartDate        = "";
                preg.EndDate          = "05/05/2011";
                preg.ObstetricianIen  = "";
                preg.LDFacilityIen    = "";

                preg.GestationalAgeAtDelivery = "145";
                preg.LengthOfLabor            = "12";
                preg.TypeOfDelivery           = "Caesarean";
                preg.Anesthesia      = "Epidural";
                preg.PretermDelivery = "YES";
                preg.Outcome         = "PretermDelivery";

                preg.Comment  = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
                preg.HighRisk = "1";

                preg.HighRiskDetails = "eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";

                createCommand.AddCommandArguments(preg, false);

                RpcResponse response = createCommand.Execute();

                Assert.IsNotNull(response);
                Assert.AreEqual(RpcResponseStatus.Success, response.Status);
                Assert.IsFalse(string.IsNullOrWhiteSpace(createCommand.Ien));

                string ien = createCommand.Ien;

                DsioGetPregDetailsCommand getCommand = new DsioGetPregDetailsCommand(broker);

                getCommand.AddCommandArguments(TestConfiguration.DefaultPatientDfn, ien);

                response = getCommand.Execute();

                Assert.AreEqual(RpcResponseStatus.Success, response.Status);
                Assert.IsNotNull(getCommand.PregnancyList);
                Assert.IsTrue(getCommand.PregnancyList.Count > 0);
                Assert.IsTrue(getCommand.PregnancyList.Count == 1);

                DsioPregnancy returnedPreg = getCommand.PregnancyList[0];

                Assert.AreEqual(preg.PatientDfn, returnedPreg.PatientDfn);
                Assert.AreNotEqual(preg.Ien, returnedPreg.Ien);
                Assert.AreEqual(preg.RecordType, returnedPreg.RecordType);
                Assert.IsTrue(preg.FatherOfFetusIen.Equals(returnedPreg.FatherOfFetusIen, StringComparison.InvariantCultureIgnoreCase));
                Assert.AreEqual(preg.EDD, returnedPreg.EDD);
                Assert.AreEqual(preg.StartDate, returnedPreg.StartDate);
                Assert.AreEqual(preg.EndDate, returnedPreg.EndDate);

                Assert.AreEqual(preg.GestationalAgeAtDelivery, returnedPreg.GestationalAgeAtDelivery);
                Assert.AreEqual(preg.LengthOfLabor, returnedPreg.LengthOfLabor);
                Assert.AreEqual(preg.Anesthesia, returnedPreg.Anesthesia);
                Assert.AreEqual(preg.Comment, returnedPreg.Comment);
                Assert.AreEqual(preg.HighRiskDetails, returnedPreg.HighRiskDetails);

                Assert.AreEqual(preg.HighRisk, returnedPreg.HighRisk);
                Assert.AreEqual(preg.TypeOfDelivery, returnedPreg.TypeOfDelivery);
                Assert.AreEqual(preg.PretermDelivery, returnedPreg.PretermDelivery);
                Assert.AreEqual(preg.Outcome, returnedPreg.Outcome);
            }
        }
        private PregnancyDetails CreatePregnancy(DsioPregnancy dsioPregnancy)
        {
            // *** Creates a strongly typed Pregnancy object ***

            PregnancyDetails returnVal = new PregnancyDetails();

            // *** Parse the end date ***
            returnVal.EndDate = VistaDates.ParseDateString(dsioPregnancy.EndDate, VistaDates.VistADateOnlyFormat);

            // *** Parse the EDD ***
            returnVal.EDD = VistaDates.ParseDateString(dsioPregnancy.EDD, VistaDates.VistADateOnlyFormat);
            //returnVal.EDD = VistaDates.ParseDateString(dsioPregnancy.EDD, VistaDates.VistADateFormatSix);

            // *** Set FOF and IEN ***
            returnVal.FatherOfFetusIen = dsioPregnancy.FatherOfFetusIen;
            if (!string.IsNullOrWhiteSpace(dsioPregnancy.FatherOfFetus))
            {
                returnVal.FatherOfFetus = dsioPregnancy.FatherOfFetus;
            }

            // *** Set pregnancy IEN ***
            returnVal.Ien = dsioPregnancy.Ien;

            // *** Set OB and IEN ***
            returnVal.ObstetricianIen = dsioPregnancy.ObstetricianIen;
            if (!string.IsNullOrWhiteSpace(dsioPregnancy.Obstetrician))
            {
                returnVal.Obstetrician = dsioPregnancy.Obstetrician;
            }

            // *** Set patient DFN ***
            returnVal.PatientDfn = dsioPregnancy.PatientDfn;

            // *** Set L&D and IEN ***
            returnVal.PlannedLaborDeliveryFacilityIen = dsioPregnancy.LDFacilityIen;
            if (!string.IsNullOrWhiteSpace(dsioPregnancy.LDFacility))
            {
                returnVal.PlannedLaborDeliveryFacility = dsioPregnancy.LDFacility;
            }

            // *** Determine record type ***
            //returnVal.RecordType = (dsioPregnancy.RecordType == DsioPregnancy.CurrentPregnancyType) ? PregnancyRecordType.Current : PregnancyRecordType.Historical;

            if (dsioPregnancy.RecordType == DsioPregnancy.CurrentPregnancyType)
            {
                returnVal.RecordType = PregnancyRecordType.Current;
            }
            else if (dsioPregnancy.RecordType == DsioPregnancy.CurrentPregnancyType.Substring(0, 1))
            {
                returnVal.RecordType = PregnancyRecordType.Current;
            }
            else if (dsioPregnancy.RecordType == DsioPregnancy.HistoricalPregnancyType)
            {
                returnVal.RecordType = PregnancyRecordType.Historical;
            }
            else if (dsioPregnancy.RecordType == DsioPregnancy.HistoricalPregnancyType.Substring(0, 1))
            {
                returnVal.RecordType = PregnancyRecordType.Historical;
            }

            // *** Parse start date ***
            returnVal.StartDate = VistaDates.ParseDateString(dsioPregnancy.StartDate, VistaDates.VistADateOnlyFormat);

            // *** Create babies on pregnancy object ***
            foreach (DsioBaby dsioBaby in dsioPregnancy.Babies)
            {
                int babyNum = -1;
                int.TryParse(dsioBaby.Number, out babyNum);

                Baby baby = new Baby()
                {
                    Ien = dsioBaby.Ien, BabyNum = babyNum
                };

                returnVal.Babies.Add(baby);
            }

            // *** High Risk ***
            returnVal.HighRisk        = (dsioPregnancy.HighRisk == "1");
            returnVal.HighRiskDetails = dsioPregnancy.HighRiskDetails;

            // *** Created ***
            returnVal.Created = VistaDates.ParseDateString(dsioPregnancy.Created, VistaDates.VistADateFormatFour);

            returnVal.GestationalAgeAtDelivery = dsioPregnancy.GestationalAgeAtDelivery;
            returnVal.LengthOfLabor            = dsioPregnancy.LengthOfLabor;
            returnVal.TypeOfDelivery           = dsioPregnancy.TypeOfDelivery;
            returnVal.Anesthesia      = dsioPregnancy.Anesthesia;
            returnVal.PretermDelivery = dsioPregnancy.PretermDelivery;
            returnVal.Outcome         = dsioPregnancy.Outcome;
            returnVal.Comment         = dsioPregnancy.Comment;

            return(returnVal);
        }
        private DsioPregnancy CreateDsioPregnancy(PregnancyDetails pregnancy)
        {
            DsioPregnancy dsioPregnancy = new DsioPregnancy();

            // *** Convert EDD ***
            if (pregnancy.EDD != DateTime.MinValue)
            {
                dsioPregnancy.EDD = pregnancy.EDD.ToString(VistaDates.VistADateOnlyFormat);
            }

            // *** Convert End Date ***
            if (pregnancy.EndDate != DateTime.MinValue)
            {
                dsioPregnancy.EndDate = pregnancy.EndDate.ToString(VistaDates.VistADateOnlyFormat);
            }

            // *** Convert FOF ***
            if (pregnancy.FatherOfFetusIen != null)
            {
                dsioPregnancy.FatherOfFetusIen = pregnancy.FatherOfFetusIen;
            }

            // *** Set Ien ***
            dsioPregnancy.Ien = pregnancy.Ien;

            // *** Set OB ***
            if (pregnancy.ObstetricianIen != null)
            {
                dsioPregnancy.ObstetricianIen = pregnancy.ObstetricianIen;
            }

            // *** Set planned delivery facility ***
            if (pregnancy.PlannedLaborDeliveryFacilityIen != null)
            {
                dsioPregnancy.LDFacilityIen = pregnancy.PlannedLaborDeliveryFacilityIen;
            }

            // *** Set patient dfn ***
            dsioPregnancy.PatientDfn = pregnancy.PatientDfn;

            // *** Set record type ***
            //dsioPregnancy.RecordType = (pregnancy.RecordType == PregnancyRecordType.Current) ? DsioPregnancy.CurrentPregnancyType : DsioPregnancy.HistoricalPregnancyType;
            dsioPregnancy.RecordType = (pregnancy.RecordType == PregnancyRecordType.Current) ? DsioPregnancy.CurrentPregnancyType.Substring(0, 1) : DsioPregnancy.HistoricalPregnancyType.Substring(0, 1);

            // *** Set start date ***
            if (pregnancy.StartDate != DateTime.MinValue)
            {
                dsioPregnancy.StartDate = pregnancy.StartDate.ToString(VistaDates.VistADateOnlyFormat);
            }

            // *** High Risk ***
            dsioPregnancy.HighRisk        = (pregnancy.HighRisk) ? "1" : "0";
            dsioPregnancy.HighRiskDetails = pregnancy.HighRiskDetails;

            dsioPregnancy.GestationalAgeAtDelivery = pregnancy.GestationalAgeAtDelivery;
            dsioPregnancy.LengthOfLabor            = pregnancy.LengthOfLabor;
            dsioPregnancy.TypeOfDelivery           = pregnancy.TypeOfDelivery;
            dsioPregnancy.Anesthesia      = pregnancy.Anesthesia;
            dsioPregnancy.PretermDelivery = pregnancy.PretermDelivery;
            dsioPregnancy.Outcome         = pregnancy.Outcome;
            dsioPregnancy.Comment         = pregnancy.Comment;

            return(dsioPregnancy);
        }