/// <summary> /// Launches the inpatient grouper processing. /// </summary> private void LaunchInpatientGrouperProcessing() { try { if (DatasetItem.DRGMDCMappingStatus != DrgMdcMappingStatusEnum.Intializing) { DatasetItem.DRGMDCMappingStatus = DrgMdcMappingStatusEnum.Intializing; } SaveImportEntry(DatasetItem); DatasetSysTrayProcessor.ProcessDataset(DatasetItem); ServiceLocator.Current.GetInstance <IEventAggregator>() .GetEvent <UpdateDrgMdsStatusEvent>() .Publish(DatasetItem.Id.ToString()); } catch (Exception e) { Logger.Write(e, "Failed to launch grouper application."); throw; } }
/// <summary> /// Called when [process dataset DRG record]. /// </summary> /// <param name="item">The item.</param> private void OnProcessDatasetDRGRecord(Dataset item) { if (!item.ContentType.Name.EqualsIgnoreCase("Inpatient Discharge")) { return; } if (!item.DRGMDCMappingStatus.In(new [] { DrgMdcMappingStatusEnum.Error, DrgMdcMappingStatusEnum.Pending })) { return; } item.DRGMDCMappingStatus = DrgMdcMappingStatusEnum.Intializing; Service.Save(item, (dataset, exception) => { if (exception == null) { item = (Dataset)dataset; } }); DatasetSysTrayProcessor.ProcessDataset(item); UpdateDrgMdsStatus(item.Id.ToString()); }