public async Task <List <PatientAppointment> > getPatientDeviceCRM(string patientGuid, DateTime startdate, DateTime enddate)
        {
            try
            {
                List <PatientAppointment> list = new List <PatientAppointment>();

                // Get Patient from CRM
                SoapEntityRepository entityRepository = SoapEntityRepository.GetService();

                QueryExpression query = new QueryExpression("msemr_appointmentemr");

                if (string.IsNullOrEmpty(patientGuid))
                {
                    throw new ValidationException("Patient Id must be specified");
                }

                query.Criteria.AddCondition("msemr_actorpatient", ConditionOperator.Equal, new Guid(patientGuid));
                //query.Criteria.AddCondition("msemr_planstartdate", ConditionOperator.GreaterEqual, Convert.ToDateTime(startdate));
                //query.Criteria.AddCondition("msemr_planenddate", ConditionOperator.LessEqual, Convert.ToDateTime(enddate));

                query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true);

                EntityCollection entitycollection = entityRepository.GetEntityCollection(query);


                if (entitycollection != null)
                {
                    for (int i = 0; i < entitycollection.Entities.Count; i++)
                    {
                        PatientAppointment obj = new PatientAppointment();
                        obj = getPatientAppointmentModelFilled(entitycollection[i], obj, "");
                        list.Add(obj);
                    }
                }



                return(list);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 2
0
        public async Task <Post> createPost(Post post)
        {
            //SoapCredential.UserName = AppSettings.GetByKey("USERNAME");
            //SoapCredential.Password = AppSettings.GetByKey("PASSWORD");
            //SoapCredential.Domain = AppSettings.GetByKey("DOMAIN");

            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();

            // xrm.mzk_patientorder patientOrderEntity = new xrm.mzk_patientorder();
            //  xrm.Post postentity = new xrm.Post();
            try
            {
                //var whoAmIRequest = new WhoAmIRequest();
                //var whoAmIResponse = (WhoAmIResponse)entityRepository..Execute(whoAmIRequest);
                //var currentUserRef = new EntityReference(
                //    SystemUser.EntityLogicalName, whoAmIResponse.UserId);

                // RegardingObjectId

                xrm.Post postentity = new xrm.Post()
                {
                    Text              = post.text,
                    Source            = new OptionSetValue((int)PostSource.ManualPost),
                    RegardingObjectId = new EntityReference("systemuser", Guid.Parse(post.UserId))
                };


                Id = Convert.ToString(entityRepository.CreateEntity(postentity));
                if (!string.IsNullOrEmpty(Id))
                {
                    post.Id = Id;
                }
            }



            catch (Exception ex)
            {
                throw ex;
            }

            return(post);
        }
Esempio n. 3
0
        public bool createStatusLog(int caseStatus, string caseId)
        {
            try
            {
                SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
                mzk_caselog          entity           = new mzk_caselog();

                entity.mzk_CaseStatus = new OptionSetValue(caseStatus);
                entity.mzk_caseid     = new EntityReference(xrm.Incident.EntityLogicalName, new Guid(caseId));

                entityRepository.CreateEntity(entity);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 4
0
        public Products getProductDetails(string productId)
        {
            string itemId = string.Empty;
            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();

            xrm.Product products = (xrm.Product)entityRepository.GetEntity(xrm.Product.EntityLogicalName, new Guid(productId), new ColumnSet(true));
            Products    model    = new Products();

            if (products != null)
            {
                if (products.Attributes.Contains("name"))
                {
                    model.Name = products.Name;
                }

                if (products.Attributes.Contains("productnumber"))
                {
                    model.ProductNumber = products.ProductNumber;
                }

                if (products.ProductId.HasValue)
                {
                    model.ProductId = products.ProductId.Value.ToString();
                }

                if (products.mzk_ProductType != null)
                {
                    model.Type = products.mzk_ProductType.Value.ToString();
                }

                if (products.mzk_Contrast.HasValue)
                {
                    model.contrastOrder = products.mzk_Contrast.Value;
                }

                if (products.Attributes.Contains("mzk_specimensource"))
                {
                    model.IsSpecimenSource = (bool)products.Attributes["mzk_specimensource"];
                }
            }

            return(model);
        }
Esempio n. 5
0
        public async Task <bool> addPatientEncounterEducationalResource(List <EducationalResource> educationalResourceList)
        {
            try
            {
                SoapEntityRepository entityRepository = SoapEntityRepository.GetService();

                foreach (EducationalResource resource in educationalResourceList)
                {
                    mzk_patientencountereducationalresource mzk_patientencountereducationalresource = new mzk_patientencountereducationalresource();

                    mzk_patientencountereducationalresource.mzk_name = resource.name;
                    if (!string.IsNullOrEmpty(resource.patientEncounterId))
                    {
                        mzk_patientencountereducationalresource.mzk_patientencounter = new EntityReference("mzk_patientencounter", new Guid(resource.patientEncounterId));
                    }
                    if (!string.IsNullOrEmpty(resource.patientId))
                    {
                        mzk_patientencountereducationalresource.mzk_customer = new EntityReference("contact", new Guid(resource.patientId));
                    }

                    if (!string.IsNullOrEmpty(resource.educationalResourceId))
                    {
                        mzk_patientencountereducationalresource.mzk_educationalresource = new EntityReference("mzk_educationalresource", new Guid(resource.educationalResourceId));
                        entityRepository.CreateEntity(mzk_patientencountereducationalresource);
                    }
                    else
                    {
                        patientEncounterEducationalResourceId = Convert.ToString(entityRepository.CreateEntity(mzk_patientencountereducationalresource));

                        resource.note.EntityType = mzk_patientencountereducationalresource.EntityLogicalName;
                        resource.note.ObjectId   = patientEncounterEducationalResourceId;

                        Notes  notes = new Notes();
                        string x     = await notes.AddNotes(resource.note);
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 6
0
        public EntityCollection getReferralProducts(string workOrderId)
        {
            try
            {
                QueryExpression query = new QueryExpression(xrm.msdyn_workorder.EntityLogicalName);
                query.Criteria.AddCondition("msdyn_workorderid", ConditionOperator.Equal, new Guid(workOrderId));

                LinkEntity WorkOrderCase = new LinkEntity(xrm.msdyn_workorder.EntityLogicalName, xrm.Incident.EntityLogicalName, "msdyn_servicerequest", "incidentid", JoinOperator.Inner)
                {
                };
                LinkEntity CaseReferral = new LinkEntity(xrm.Incident.EntityLogicalName, xrm.Opportunity.EntityLogicalName, "mzk_referral", "opportunityid", JoinOperator.Inner)
                {
                };
                LinkEntity ReferralPatientSpecificItem = new LinkEntity(xrm.Opportunity.EntityLogicalName, "mzk_patientspecificitem", "opportunityid", "mzk_referral", JoinOperator.Inner)
                {
                };
                LinkEntity PatientSpecificItemProduct = new LinkEntity("mzk_patientspecificitem", "product", "mzk_product", "productid", JoinOperator.Inner)
                {
                    LinkCriteria =
                    {
                        Conditions =
                        {
                            new ConditionExpression("mzk_producttype", ConditionOperator.Equal, 8)  // 8 = Retail/Ancillery Items
                        }
                    },
                    Columns     = new ColumnSet("productid", "name", "productnumber", "description", "defaultuomid", "mzk_unitid", "mzk_producttype", "entityimage"),
                    EntityAlias = "Product",
                };
                ReferralPatientSpecificItem.LinkEntities.Add(PatientSpecificItemProduct);
                CaseReferral.LinkEntities.Add(ReferralPatientSpecificItem);
                WorkOrderCase.LinkEntities.Add(CaseReferral);
                query.LinkEntities.Add(WorkOrderCase);

                SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
                EntityCollection     entitycollection = entityRepository.GetEntityCollection(query);
                return(entitycollection);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 7
0
        public static Guid getProductId(string itemId)
        {
            Guid productId = Guid.Empty;

            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            QueryExpression      query            = new QueryExpression("product");

            query.Criteria.AddCondition("mzk_axitemid", ConditionOperator.Equal, itemId);
            query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("name", "productnumber", "productid");
            EntityCollection entitycollection = entityRepository.GetEntityCollection(query);

            if (entitycollection != null && entitycollection.Entities != null && entitycollection.Entities.Count > 0)
            {
                Product products = (Product)entitycollection.Entities[0];

                productId = products.ProductId.Value;
            }

            return(productId);
        }
Esempio n. 8
0
        public async Task <bool> PostRequestNewInsurance(string practiceId, Insurance insurance, string userCreatedBy)
        {
            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            int    value  = 275380002;
            Entity entity = new Entity(Account.EntityLogicalName);

            entity.Attributes["mzk_accounttype"]    = new OptionSetValue(value);
            entity.Attributes["mzk_usercreatedby"]  = userCreatedBy; //Addition
            entity.Attributes["mzk_usermodifiedby"] = userCreatedBy; //Addition
            entity.Attributes["name"]                     = insurance.insuranceName;
            entity.Attributes["telephone2"]               = insurance.phone;
            entity.Attributes["fax"]                      = insurance.fax;
            entity.Attributes["address1_composite"]       = insurance.address1;
            entity.Attributes["address2_composite"]       = insurance.address2;
            entity.Attributes["address1_city"]            = insurance.city;
            entity.Attributes["address1_stateorprovince"] = insurance.state;
            entity.Attributes["address1_postalcode"]      = insurance.zip;
            entityRepository.CreateEntity(entity);
            return(true);
        }
Esempio n. 9
0
        public List <ActionManager> getList()
        {
            List <ActionManager> list = new List <ActionManager>();

            QueryExpression query = new QueryExpression(xrm.mzk_actionmanager.EntityLogicalName);

            query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true);

            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            EntityCollection     entitycollection = entityRepository.GetEntityCollection(query);

            foreach (xrm.mzk_actionmanager entity in entitycollection.Entities)
            {
                ActionManager model = new ActionManager();
                model.Id   = entity.Id.ToString();
                model.name = entity.mzk_actionname;
                list.Add(model);
            }
            return(list);
        }
Esempio n. 10
0
        public List <AgeGroup> getList()
        {
            List <AgeGroup> list = new List <AgeGroup>();

            QueryExpression query = new QueryExpression(xrm.mzk_agevalidation.EntityLogicalName);

            query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true);

            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            EntityCollection     entitycollection = entityRepository.GetEntityCollection(query);

            foreach (Entity entity in entitycollection.Entities)
            {
                AgeGroup model = new AgeGroup();
                model.Id          = entity.Id.ToString();
                model.Description = entity.Attributes["mzk_name"].ToString();
                list.Add(model);
            }
            return(list);
        }
Esempio n. 11
0
        public List <Mentions> getMentions(string name)
        {
            List <Mentions> mentionsList = new List <Mentions>();

            QueryExpression query = new QueryExpression("systemuser");

            query.ColumnSet         = new Microsoft.Xrm.Sdk.Query.ColumnSet("fullname", "systemuserid");
            SoapCredential.UserName = AppSettings.GetByKey("USERNAME");
            SoapCredential.Password = AppSettings.GetByKey("PASSWORD");
            SoapCredential.Domain   = AppSettings.GetByKey("DOMAIN");
            if (!string.IsNullOrEmpty(name.ToLower()))
            {
                ConditionExpression conditionLikeFullName = new ConditionExpression();
                conditionLikeFullName.AttributeName = "fullname";
                conditionLikeFullName.Operator      = ConditionOperator.Like;
                conditionLikeFullName.Values.Add("%" + name + "%");
                query.Criteria.AddCondition(conditionLikeFullName);

                SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
                EntityCollection     entitycollection = entityRepository.GetEntityCollection(query);
                foreach (Entity entity in entitycollection.Entities)
                {
                    Mentions model = new Mentions();
                    //model.userId = entity.Id.ToString();
                    if (entity.Attributes.Contains("fullname"))
                    {
                        model.name = entity.Attributes["fullname"].ToString();
                    }

                    if (entity.Attributes.Contains("systemuserid"))
                    {
                        model.id = entity.Attributes["systemuserid"].ToString();
                    }

                    model.type = xrm.SystemUser.EntityTypeCode.ToString();
                    mentionsList.Add(model);
                }
            }

            return(mentionsList);
        }
Esempio n. 12
0
        private List <MeasurementUnit> getUnitValues(string mmtCodeId)
        {
            List <MeasurementUnit> listModel        = new List <MeasurementUnit>();
            SoapEntityRepository   entityRepository = SoapEntityRepository.GetService();

            QueryExpression query = new QueryExpression(mzk_mmtcode.EntityLogicalName);

            query.ColumnSet = new ColumnSet(true);
            query.Criteria.AddCondition("mzk_mmtcodeid", ConditionOperator.Equal, new Guid(mmtCodeId));

            LinkEntity linkUnits = new LinkEntity(mzk_mmtcode.EntityLogicalName, mzk_unit.EntityLogicalName, "mzk_unitgroup", "mzk_unitgroup", JoinOperator.Inner);

            linkUnits.Columns = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_code", "mzk_description", "mzk_baseunit");

            query.LinkEntities.Add(linkUnits);

            EntityCollection entitycollection = entityRepository.GetEntityCollection(query);

            foreach (Entity entity in entitycollection.Entities)
            {
                MeasurementUnit model = new MeasurementUnit();
                if (entity.Attributes.Contains("mzk_baseunit"))
                {
                    model.isDefault = false;
                }
                else
                {
                    model.isDefault = true;
                }
                if (entity.Attributes.Contains("mzk_unit1.mzk_code"))
                {
                    model.unitId = (entity.Attributes["mzk_unit1.mzk_code"] as AliasedValue).Value.ToString();
                }

                model.Id = entity.Id.ToString();

                listModel.Add(model);
            }

            return(listModel);
        }
Esempio n. 13
0
        public async Task <string> AddNotes(Notes notes)
        {
            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();

            xrm.Annotation annotationNotes = new xrm.Annotation();

            if (!string.IsNullOrEmpty(notes.NoteText))
            {
                annotationNotes.NoteText = notes.NoteText;
            }

            if (!string.IsNullOrEmpty(notes.Subject))
            {
                annotationNotes.Subject = notes.Subject;
            }

            if (!string.IsNullOrEmpty(notes.ObjectId))
            {
                annotationNotes.ObjectId = new Microsoft.Xrm.Sdk.EntityReference(notes.EntityType, new Guid(notes.ObjectId));
            }

            if (!string.IsNullOrEmpty(notes.fileName))
            {
                annotationNotes.FileName = notes.fileName;
            }

            if (!string.IsNullOrEmpty(notes.mimeType))
            {
                annotationNotes.MimeType = notes.mimeType;
            }

            if (!string.IsNullOrEmpty(notes.file))
            {
                annotationNotes.DocumentBody = notes.file;
            }


            Id = Convert.ToString(entityRepository.CreateEntity(annotationNotes));

            return(Id.ToString());
        }
Esempio n. 14
0
        public async Task <bool> markPhysicalDischarge(string caseGuid)
        {
            try
            {
                SoapEntityRepository entityRepository = SoapEntityRepository.GetService();

                xrm.Incident entity = (xrm.Incident)entityRepository.GetEntity(xrm.Incident.EntityLogicalName, new Guid(caseGuid), new Microsoft.Xrm.Sdk.Query.ColumnSet(true));

                if (entity != null)
                {
                    if (entity.Attributes.Contains("mzk_casestatus"))
                    {
                        mzk_casestatus caseStatus = (mzk_casestatus)((OptionSetValue)entity.Attributes["mzk_casestatus"]).Value;

                        if (caseStatus != mzk_casestatus.FinanciallyDischarged)
                        {
                            throw new ValidationException("Only Financially discharged cases can be Physically discharged");
                        }

                        entity.mzk_casestatus = new OptionSetValue((int)mzk_casestatus.PhysicallyDischarged);

                        entityRepository.UpdateEntity(entity);

                        this.createStatusLog((int)mzk_casestatus.PhysicallyDischarged, caseGuid);

                        if (AppSettings.GetByKey("OperationsIntegration").ToLower() == true.ToString().ToLower())
                        {
                            CaseRepository caseRepo = new CaseRepository();

                            caseRepo.updateCaseStatus(caseGuid, HMCaseStatus.PhysicalDischarge);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(true);
        }
Esempio n. 15
0
        public List <Role> getRoles(string userId)
        {
            List <Role> role = new List <Role>();

            #region Role
            QueryExpression query = new QueryExpression(SystemUserRoles.EntityLogicalName);
            query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true);
            query.Criteria.AddCondition("systemuserid", ConditionOperator.Equal, new Guid(userId));
            #endregion
            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            EntityCollection     entitycollection = entityRepository.GetEntityCollection(query);
            foreach (SystemUserRoles entity in entitycollection.Entities)
            {
                Role model = new Role();

                model.roleid = entity.RoleId;

                role.Add(model);
            }
            return(role);
        }
Esempio n. 16
0
        /* public async Task<List<Concept>> getConceptData(Concept concept, int pageNumber = 0)
         * {
         *   List<Concept> Concept = new List<Concept>();
         #region Concept
         *   QueryExpression query = new QueryExpression("mzk_concept");
         *
         *   if (Convert.ToInt32(concept.ConceptType) == (int)mzk_conceptmzk_Category.Diagnosis)
         *   {
         *       FilterExpression childFilter = query.Criteria.AddFilter(LogicalOperator.Or);
         *
         *       childFilter.AddCondition("mzk_conceptname", ConditionOperator.Like, ("%" + concept.name.ToLower() + "%"));
         *       childFilter.AddCondition("mzk_conceptnumber", ConditionOperator.Like, ("%" + concept.name.ToLower() + "%"));
         *   }
         *   else
         *   {
         *       ConditionExpression condition1 = new ConditionExpression();
         *       condition1.AttributeName = "mzk_conceptname";
         *       condition1.Operator = ConditionOperator.Like;
         *       condition1.Values.Add("%" + concept.name.ToLower() + "%");
         *
         *       FilterExpression filter1 = new FilterExpression();
         *
         *       filter1.Conditions.Add(condition1);
         *
         *       query.Criteria.AddFilter(filter1);
         *   }
         *
         *   ConditionExpression condition2 = new ConditionExpression();
         *   condition2.AttributeName = "mzk_category";
         *   condition2.Operator = ConditionOperator.Equal;
         *   condition2.Values.Add(concept.ConceptType);
         *
         *
         *   FilterExpression filter2 = new FilterExpression();
         *
         *   filter2.Conditions.Add(condition2);
         *
         *   query.Criteria.AddFilter(filter2);
         *   query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_conceptname", "mzk_conceptid", "mzk_conceptnumber", "mzk_icdcodeid");
         *   LinkEntity EntityUserFavourite;
         *   if (!string.IsNullOrEmpty(concept.filter) && concept.filter == "favourite")
         *   {
         *       EntityUserFavourite = new LinkEntity("mzk_concept", "mzk_userfavourite", "mzk_conceptid", "mzk_conceptid", JoinOperator.Inner);
         *
         *       EntityUserFavourite.Columns = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_userfavouriteid");
         *       EntityUserFavourite.LinkCriteria.AddCondition("mzk_userid", ConditionOperator.Equal, concept.UserId);
         *   }
         *   else
         *   {
         *       EntityUserFavourite = new LinkEntity("mzk_concept", "mzk_userfavourite", "mzk_conceptid", "mzk_conceptid", JoinOperator.LeftOuter);
         *       EntityUserFavourite.Columns = new Microsoft.Xrm.Sdk.Query.ColumnSet(true);
         *   }
         *   EntityUserFavourite.EntityAlias = "ConceptFavourite";
         *   if (!string.IsNullOrEmpty(concept.UserId))
         *   {
         *       EntityUserFavourite.LinkCriteria.AddCondition("mzk_userid", ConditionOperator.Equal, concept.UserId);
         *       query.LinkEntities.Add(EntityUserFavourite);
         *   }
         *
         *   if (pageNumber > 0)
         *   {
         *       query.PageInfo = new PagingInfo();
         *       query.PageInfo.Count = Convert.ToInt32(AppSettings.GetByKey("PageSize"));
         *       query.PageInfo.PageNumber = pageNumber;
         *       query.PageInfo.PagingCookie = null;
         *       query.PageInfo.ReturnTotalRecordCount = true;
         *   }
         *
         #endregion
         *   SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
         *   EntityCollection entitycollection = entityRepository.GetEntityCollection(query);
         *
         *   List<string> conceptExistList = new List<string>();
         *
         *   if (!string.IsNullOrEmpty(concept.EncounterId) && Convert.ToInt32(concept.ConceptType) == (int)mzk_conceptmzk_Category.Diagnosis)
         *   {
         *       query = new QueryExpression(mzk_patientencounterdiagnosis.EntityLogicalName);
         *
         *       query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true);
         *       query.Criteria.AddCondition("mzk_patientencounterid", ConditionOperator.Equal, concept.EncounterId);
         *       query.Criteria.AddCondition("mzk_status", ConditionOperator.Equal, (int)mzk_patientencounterdiagnosismzk_Status.Active);
         *
         *       EntityCollection entitycollectionDiagnosis = entityRepository.GetEntityCollection(query);
         *
         *       foreach (Entity entity in entitycollectionDiagnosis.Entities)
         *       {
         *           mzk_patientencounterdiagnosis order = (mzk_patientencounterdiagnosis)entity;
         *
         *           conceptExistList.Add(order.mzk_DiagnosisConceptId.Id.ToString());
         *       }
         *   }
         *
         *   foreach (Entity entity in entitycollection.Entities)
         *   {
         *       Concept model = new Concept();
         *       if (entity.Attributes.Contains("mzk_conceptname"))
         *           model.name = entity.Attributes["mzk_conceptname"].ToString();
         *
         *       if (entity.Attributes.Contains("mzk_conceptnumber"))
         *           model.ConceptNumber = entity.Attributes["mzk_conceptnumber"].ToString();
         *
         *       if (entity.Attributes.Contains("mzk_icdcodeid"))
         *           model.ICDCode = ((EntityReference)entity.Attributes["mzk_icdcodeid"]).Name;
         *
         *       if (entity.Attributes.Contains("mzk_conceptid"))
         *           model.conceptId = entity.Id.ToString();
         *
         *       if (!string.IsNullOrEmpty(concept.EncounterId))
         *       {
         *           model.isAdded = !conceptExistList.Exists(item => item == entity.Id.ToString());
         *           //model.isAdded = this.DuplicateDetection(concept.EncounterId, model.conceptId);
         *       }
         *
         *       //Favourite  "mzk_userfavourite5.mzk_userfavouriteid"
         *       if (entity.Attributes.Contains("ConceptFavourite.mzk_userfavouriteid"))
         *           model.FavouriteId = (entity.Attributes["ConceptFavourite.mzk_userfavouriteid"] as AliasedValue).Value.ToString();
         *
         *       Concept.Add(model);
         *   }
         *
         *   if (pageNumber > 0 && entitycollection != null)
         *   {
         *       Pagination.totalCount = entitycollection.TotalRecordCount;
         *   }
         *
         *   return Concept;
         * }
         */
        public bool DuplicateDetection(string EncounterId, string conceptId)
        {
            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            QueryExpression      query            = new QueryExpression(mzk_patientencounterdiagnosis.EntityLogicalName);

            query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true);
            query.Criteria.AddCondition("mzk_patientencounterid", ConditionOperator.Equal, EncounterId);
            query.Criteria.AddCondition("mzk_diagnosisconceptid", ConditionOperator.Equal, conceptId);
            query.Criteria.AddCondition("mzk_status", ConditionOperator.Equal, (int)mzk_patientencounterdiagnosismzk_Status.Active);

            EntityCollection entitycollection = entityRepository.GetEntityCollection(query);

            if (entitycollection != null && entitycollection.Entities != null && entitycollection.Entities.Count > 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Esempio n. 17
0
        public async Task <bool> getConfigurationTimeZone()
        {
            SoapEntityRepository repo  = SoapEntityRepository.GetService();
            QueryExpression      query = new QueryExpression("mzk_configuration");
            LinkEntity           ConfigurationTimeZone = new LinkEntity("mzk_configuration", "mzk_ordertimezone", "mzk_configurationid", "mzk_configuration", JoinOperator.Inner)
            {
                Columns     = new ColumnSet("mzk_timezone"),
                EntityAlias = "TimeZone"
            };

            query.LinkEntities.Add(ConfigurationTimeZone);
            EntityCollection entityCollection = repo.GetEntityCollection(query);

            foreach (Entity entity in entityCollection.Entities)
            {
                DateTime date = DateTime.UtcNow;
                date = TimeZoneInfo.ConvertTime(date, entity.GetAttributeValue <AliasedValue>("TimeZone.mzk_timezone").Value as TimeZoneInfo);
                //date = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(date, entity.GetAttributeValue<AliasedValue>("TimeZone.mzk_timezone").Value.ToString());
            }
            return(true);
        }
Esempio n. 18
0
        public async Task <bool> createRescheduleRequest(string workOrderId, DateTime startDate, DateTime endDate)
        {
            bool status = true;
            int  count  = 0;
            SoapEntityRepository repo = SoapEntityRepository.GetService();

            Entity entity = repo.GetEntity(xrm.msdyn_workorder.EntityLogicalName, new Guid(workOrderId), new ColumnSet("mzk_numberoftimerescheduled"));

            if (entity.Attributes.Contains("mzk_numberoftimerescheduled"))
            {
                count = Int32.Parse(entity["mzk_numberoftimerescheduled"].ToString());
            }


            Entity workOrder = repo.GetEntity("msdyn_workorder", new Guid(workOrderId), new ColumnSet("mzk_scheduledstartdatetime"));//new Entity("msdyn_workorder", new Guid(workOrderId));

            workOrder["mzk_lastscheduledstartdatetime"] = workOrder["mzk_scheduledstartdatetime"];
            workOrder["mzk_scheduledstartdatetime"]     = startDate;
            workOrder["mzk_scheduledenddatetime"]       = endDate;
            workOrder["mzk_numberoftimerescheduled"]    = count + 1;

            repo.UpdateEntity(workOrder);

            QueryExpression query = new QueryExpression("bookableresourcebooking");

            query.Criteria.AddCondition("msdyn_workorder", ConditionOperator.Equal, workOrder.Id);

            EntityCollection collection = repo.GetEntityCollection(query);

            if (collection != null && collection.Entities != null && collection.Entities.Count > 0)
            {
                Entity booking = collection.Entities[0];
                booking["starttime"] = startDate;
                booking["endtime"]   = endDate;
                booking["msdyn_actualarrivaltime"] = null;
                repo.UpdateEntity(booking);
            }

            return(status);
        }
Esempio n. 19
0
        public List <OptionSet> getOptionSetItems(string entityName, string optionSetAttributeName)
        {
            try
            {
                SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
                List <OptionSet>     OptionSet        = new List <OptionSet>();
                OptionMetadata[]     optionList       = null;

                if (string.IsNullOrEmpty(entityName))
                {
                    optionList = entityRepository.GetOptionSetItems(optionSetAttributeName);
                }
                else
                {
                    optionList = entityRepository.GetOptionSetItems(entityName, optionSetAttributeName);
                }

                if (optionList != null)
                {
                    foreach (OptionMetadata o in optionList)
                    {
                        OptionSet model = new OptionSet();
                        model.OptionSetName  = o.Label.LocalizedLabels[0].Label;
                        model.OptionSetValue = o.Value.Value.ToString();

                        if (!string.IsNullOrEmpty(o.Color))
                        {
                            model.OptionSetColor = o.Color.ToString();
                        }
                        //model.defaultValue = optionList.FirstOrDefault().Value.Value;// o.Value.GetValueOrDefault();
                        OptionSet.Add(model);
                    }
                }
                return(OptionSet);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 20
0
        public List <Products> getProduct(string Type)
        {
            List <Products> Products = new List <Products>();

            #region Product
            QueryExpression query = new QueryExpression("product");

            ConditionExpression conditionType = new ConditionExpression();
            conditionType.AttributeName = "mzk_producttype";
            conditionType.Operator      = ConditionOperator.Equal;
            conditionType.Values.Add(Type);

            FilterExpression filterType = new FilterExpression();
            filterType.Conditions.Add(conditionType);

            query.Criteria.AddFilter(filterType);
            query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("name", "productnumber", "productid");
            #endregion
            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            EntityCollection     entitycollection = entityRepository.GetEntityCollection(query);

            foreach (Entity entity in entitycollection.Entities)
            {
                Products model = new Products();
                if (entity.Attributes.Contains("name"))
                {
                    model.Name = entity.Attributes["name"].ToString();
                }
                if (entity.Attributes.Contains("productnumber"))
                {
                    model.ProductNumber = entity.Attributes["productnumber"].ToString();
                }
                if (entity.Attributes.Contains("productid"))
                {
                    model.ProductId = entity.Id.ToString();
                }
                Products.Add(model);
            }
            return(Products);
        }
Esempio n. 21
0
 public async Task <List <FrequentlyAskedQuestions> > getFAQS(string patientId)
 {
     try
     {
         if (!string.IsNullOrEmpty(patientId))
         {
             SoapEntityRepository            entityRepository = SoapEntityRepository.GetService();
             List <FrequentlyAskedQuestions> FAQS             = new List <FrequentlyAskedQuestions>();
             FAQS = getGeneralFAQS(entityRepository).Result;
             FAQS.AddRange(getContractSpecificFAQS(patientId, entityRepository).Result);
             return(FAQS);
         }
         else
         {
             throw new ValidationException("Patient Id missing");
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 22
0
        public List <Clinic> getClinicsList(mzk_orgunittype clinicType)
        {
            List <Clinic> listModel = new List <Clinic>();
            Clinic        model;

            try
            {
                SoapEntityRepository repo  = SoapEntityRepository.GetService();
                QueryExpression      query = new QueryExpression(msdyn_organizationalunit.EntityLogicalName);

                query.Criteria.AddCondition("mzk_type", ConditionOperator.Equal, (int)clinicType);
                query.Criteria.AddCondition("mzk_isscheduled", ConditionOperator.Equal, true);

                query.ColumnSet = new ColumnSet("msdyn_organizationalunitid", "msdyn_name");

                EntityCollection entityCollection = repo.GetEntityCollection(query);

                foreach (Entity entity in entityCollection.Entities)
                {
                    msdyn_organizationalunit orgUnit = (msdyn_organizationalunit)entity;

                    model = new Clinic();

                    if (entity.Attributes.Contains("mzk_organizationalunitid"))
                    {
                        model.id         = orgUnit.msdyn_organizationalunitId.Value.ToString();
                        model.clinicName = orgUnit.msdyn_name;

                        listModel.Add(model);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(listModel);
        }
Esempio n. 23
0
        public async Task <bool> saveCommunication(Communication post)
        {
            try
            {
                if (post != null)
                {
                    SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
                    Entity entity = new Entity("mzk_communication");
                    if (!string.IsNullOrEmpty(post.patientId))
                    {
                        entity["regardingobjectid"] = new EntityReference(xrm.Contact.EntityLogicalName, new Guid(post.patientId));
                        if (!string.IsNullOrEmpty(post.subject))
                        {
                            entity["subject"] = post.subject;
                            if (!string.IsNullOrEmpty(post.description))
                            {
                                entity["description"] = post.description;
                            }

                            entityRepository.CreateEntity(entity);
                            return(true);
                        }
                        else
                        {
                            throw new ValidationException("Subject field is mandatory");
                        }
                    }
                    else
                    {
                        throw new ValidationException("Patient Id field is mandatory");
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 24
0
        public static mzk_casetype getCaseType(string encounterId, string caseId = "")
        {
            try
            {
                mzk_casetype caseType = mzk_casetype.OutPatient;

                PatientCase model = new PatientCase();

                QueryExpression query = new QueryExpression(xrm.Incident.EntityLogicalName);

                query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_casetype");

                if (string.IsNullOrEmpty(caseId))
                {
                    LinkEntity enc = new LinkEntity(xrm.Incident.EntityLogicalName, mzk_patientencounter.EntityLogicalName, "incidentid", "mzk_caseid", JoinOperator.Inner);
                    enc.LinkCriteria.AddCondition("mzk_patientencounterid", ConditionOperator.Equal, new Guid(encounterId));
                    query.LinkEntities.Add(enc);
                }
                else
                {
                    query.Criteria.AddCondition("incidentid", ConditionOperator.Equal, new Guid(caseId));
                }

                SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
                EntityCollection     entitycollection = entityRepository.GetEntityCollection(query);

                if (entitycollection != null && entitycollection.Entities != null && entitycollection.Entities.Count > 0)
                {
                    xrm.Incident entity = (xrm.Incident)entitycollection.Entities[0];
                    caseType = entity.mzk_CaseType != null ? (mzk_casetype)entity.mzk_CaseType.Value : caseType;
                }

                return(caseType);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 25
0
        public List <EncounterSetup> getEncounterSetup(string type)
        {
            List <EncounterSetup> EncounterSetup = new List <EncounterSetup>();

            #region Patient Encounter Setup
            QueryExpression  query       = new QueryExpression("mzk_encountersetup");
            FilterExpression childFilter = query.Criteria.AddFilter(LogicalOperator.And);
            childFilter.AddCondition("mzk_type", ConditionOperator.Equal, type);
            query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_code", "mzk_description");
            #endregion
            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            EntityCollection     entitycollection = entityRepository.GetEntityCollection(query);

            foreach (Entity entity in entitycollection.Entities)
            {
                EncounterSetup model = new EncounterSetup();
                model.Code        = entity.Id.ToString();//.Attributes["mzk_ordersetupid"].ToString();
                model.Description = entity.Attributes["mzk_description"].ToString();
                EncounterSetup.Add(model);
            }
            return(EncounterSetup);
        }
Esempio n. 26
0
        public static bool createLog(string messageId, mzk_messagetype messageType, string refId, mzk_messagedirection direction, mzk_acknowledgecode ackCode, string _textMessage = "")
        {
            try
            {
                SoapEntityRepository repo = SoapEntityRepository.GetService();

                Entity Hl7IntegrationLogs = new Entity("mzk_hl7integrationlogs");

                if (!string.IsNullOrEmpty(messageId))
                {
                    Hl7IntegrationLogs["mzk_messagecontrolid"] = messageId;
                }

                Hl7IntegrationLogs["mzk_messagetype"] = new OptionSetValue((int)messageType);

                if (!string.IsNullOrEmpty(refId))
                {
                    Hl7IntegrationLogs["mzk_refid"] = refId;
                }

                Hl7IntegrationLogs["mzk_messagedirection"] = new OptionSetValue((int)direction);

                Hl7IntegrationLogs["mzk_acknowledgecode"] = new OptionSetValue((int)ackCode);

                if (!string.IsNullOrEmpty(_textMessage))
                {
                    Hl7IntegrationLogs["mzk_textmessage"] = _textMessage;
                }

                repo.CreateEntity(Hl7IntegrationLogs);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 27
0
        public async Task <string> addPatientProblem(PatientProblem patientProblem)
        {
            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            Entity patientProblemEntity           = new Entity("mzk_patientproblem");

            if (patientProblem.problemId != null && patientProblem.problemId != string.Empty)
            {
                patientProblemEntity.Attributes["mzk_diagnosisconceptid"] = new EntityReference("mzk_concept", new Guid(patientProblem.problemId));
            }
            else
            {
                throw new ValidationException("Problem must be selected");
            }

            if (patientProblem.PatientId != null && patientProblem.PatientId != string.Empty)
            {
                patientProblemEntity.Attributes["mzk_customerid"] = new EntityReference("contact", new Guid(patientProblem.PatientId));
            }
            if (patientProblem.onSetNotes != null && patientProblem.onSetNotes != string.Empty)
            {
                patientProblemEntity.Attributes["mzk_onsetnotes"] = patientProblem.onSetNotes;
            }
            if (patientProblem.onSetDate != null && patientProblem.onSetDate != DateTime.MinValue)
            {
                patientProblemEntity.Attributes["mzk_onsetdate"] = Convert.ToDateTime(patientProblem.onSetDate);
            }
            if (patientProblem.ProblemType != 0 && patientProblem.ProblemType.ToString() != string.Empty)
            {
                patientProblemEntity.Attributes["mzk_problemtype"] = new OptionSetValue(patientProblem.ProblemType);
            }
            //if (patientProblem.Chronicity != 0 && patientProblem.Chronicity.ToString() != string.Empty)
            //patientProblemEntity.Attributes["mzk_chronicity"] = new OptionSetValue(patientProblem.Chronicity);

            patientProblemEntity.Attributes["mzk_status"] = new OptionSetValue((int)mzk_patientproblemmzk_status.Active);
            Id = entityRepository.CreateEntity(patientProblemEntity);

            return(Id.ToString());
        }
Esempio n. 28
0
        public async Task <List <Clinic> > getUserClinicsTree(string resourceId = null)
        {
            List <Clinic> listModel = new List <Clinic>();
            Clinic        model;

            try
            {
                SoapEntityRepository repo  = SoapEntityRepository.GetService();
                QueryExpression      query = new QueryExpression(mzk_resourceclinic.EntityLogicalName);

                query.Criteria.AddCondition("mzk_resource", ConditionOperator.Equal, new Guid(resourceId));

                query.ColumnSet = new ColumnSet(true);

                EntityCollection entityCollection = repo.GetEntityCollection(query);

                foreach (Entity entity in entityCollection.Entities)
                {
                    mzk_resourceclinic resourceClinic = (mzk_resourceclinic)entity;

                    model = new Clinic();

                    if (entity.Attributes.Contains("mzk_organizationalunit"))
                    {
                        model.id         = resourceClinic.mzk_OrganizationalUnit.Id.ToString();
                        model.clinicName = resourceClinic.mzk_OrganizationalUnit.Name;

                        listModel.Add(model);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(listModel);
        }
Esempio n. 29
0
        public async Task <bool> updatePatientProblems(List <PatientProblem> problemList)
        {
            try
            {
                SoapEntityRepository entityRepository = SoapEntityRepository.GetService();

                foreach (PatientProblem model in problemList)
                {
                    Entity entity = null;
                    if (!string.IsNullOrEmpty(model.Id.ToString()))
                    {
                        entity = entityRepository.GetEntity("mzk_patientproblem", new Guid(model.Id.ToString()), new Microsoft.Xrm.Sdk.Query.ColumnSet(true));
                    }
                    entity.Attributes["mzk_status"] = new OptionSetValue(Convert.ToInt32(mzk_patientproblemmzk_status.Resolved));
                    entityRepository.UpdateEntity(entity);
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 30
0
        public static Dictionary <string, Products> getProduct(List <string> itemId)
        {
            Dictionary <string, Products> productList = new Dictionary <string, Products>();

            SoapEntityRepository entityRepository = SoapEntityRepository.GetService();
            QueryExpression      query            = new QueryExpression("product");

            FilterExpression childFilter = query.Criteria.AddFilter(LogicalOperator.Or);

            foreach (string item in itemId)
            {
                if (!string.IsNullOrEmpty(item))
                {
                    childFilter.AddCondition("mzk_axitemid", ConditionOperator.Equal, item);
                }
            }

            query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("name", "productnumber", "productid", "mzk_axitemid", "mzk_producttype");
            EntityCollection entitycollection = entityRepository.GetEntityCollection(query);

            foreach (Entity entity in entitycollection.Entities)
            {
                Product  products = (Product)entity;
                Products prod     = new Products();

                prod.ProductId = products.ProductId.Value.ToString();

                if (products.mzk_ProductType != null)
                {
                    prod.Type = products.mzk_ProductType.Value.ToString();
                }

                productList.Add(products.mzk_AXItemId, prod);
            }

            return(productList);
        }