Пример #1
0
        public PatientInfo RegisterPatient(IPatientData iPatientData)
        {
            PatientData patientData = Mapper.Map <IPatientData, PatientData>(iPatientData);  //map properties into patient data

            if (!patientData.IsValid())
            {
                return(GetErrorResponse <PatientInfo>(patientData.ErrorMessages));
            }
            patientData.PatientGivenId = GetNewPatientGivenId();
            patientData.CreatedDate    = DateTime.Now;

            string uniqueDataExistMessage = UniqueDataExist(patientData);

            if (uniqueDataExistMessage != null)
            {
                return(GetErrorResponse <PatientInfo>(uniqueDataExistMessage));
            }

            int status = regPatientDao.RegisterPatient(patientData);      //register patient

            if (ExecutionError(status))
            {
                return(GetErrorResponse <PatientInfo>("Error occured saving patient details"));
            }

            PatientInfo patientInfo = new PatientInfo();

            patientInfo.PatientGivenId = patientData.PatientGivenId;

            return(GetSuccessResponse($"User {patientData.Username} has been registered successfully.", patientInfo));
        }
        private void CopyFrom(IPatientData other)
        {
            if (other == null)
            {
                return;
            }

            PatientId         = other.PatientId;
            PatientsName      = other.PatientsName;
            PatientsBirthDate = other.PatientsBirthDate;
            PatientsBirthTime = other.PatientsBirthTime;
            PatientsSex       = other.PatientsSex;

            PatientSpeciesDescription = other.PatientSpeciesDescription;
            PatientSpeciesCodeSequenceCodingSchemeDesignator = other.PatientSpeciesCodeSequenceCodingSchemeDesignator;
            PatientSpeciesCodeSequenceCodeValue   = other.PatientSpeciesCodeSequenceCodeValue;
            PatientSpeciesCodeSequenceCodeMeaning = other.PatientSpeciesCodeSequenceCodeMeaning;
            PatientBreedDescription = other.PatientBreedDescription;
            PatientBreedCodeSequenceCodingSchemeDesignator = other.PatientBreedCodeSequenceCodingSchemeDesignator;
            PatientBreedCodeSequenceCodeValue   = other.PatientBreedCodeSequenceCodeValue;
            PatientBreedCodeSequenceCodeMeaning = other.PatientBreedCodeSequenceCodeMeaning;
            ResponsiblePerson       = other.ResponsiblePerson;
            ResponsiblePersonRole   = other.ResponsiblePersonRole;
            ResponsibleOrganization = other.ResponsibleOrganization;
        }
Пример #3
0
        public IPatientData ReconcilePatientInformation(IPatientData patientInfo)
        {
            Platform.CheckMemberIsSet(StudyTree, "StudyTree");

            var testPatientInformation = new PatientInformation {
                PatientId = patientInfo.PatientId
            };

            testPatientInformation = Reconcile(testPatientInformation, DefaultPatientReconciliationSettings.Default.PatientReconciliationRulesXml, "patient-reconciliation-rules");

            foreach (var patient in StudyTree.Patients)
            {
                var reconciledPatientInfo = new PatientInformation {
                    PatientId = patient.PatientId
                };
                reconciledPatientInfo = Reconcile(reconciledPatientInfo, DefaultPatientReconciliationSettings.Default.PatientReconciliationRulesXml, "patient-reconciliation-rules");

                if (reconciledPatientInfo.PatientId == testPatientInformation.PatientId)
                {
                    return new PatientInformation(patient)
                           {
                               PatientId = reconciledPatientInfo.PatientId
                           }
                }
                ;
            }

            return(null);
        }
Пример #4
0
        public IPatientData ReconcileSearchCriteria(IPatientData patientInfo)
        {
            var patientInformation = new PatientInformation {
                PatientId = patientInfo.PatientId
            };

            return(Reconcile(patientInformation, DefaultPatientReconciliationSettings.Default.SearchReconciliationRulesXml, "search-reconciliation-rules"));
        }
 private void CopyFrom(IPatientData other)
 {
     PatientId         = other.PatientId;
     PatientsName      = other.PatientsName;
     PatientsBirthDate = other.PatientsBirthDate;
     PatientsBirthTime = other.PatientsBirthTime;
     PatientsSex       = other.PatientsSex;
 }
Пример #6
0
		private void CopyFrom(IPatientData other)
		{
			PatientId = other.PatientId;
			PatientsName = other.PatientsName;
			PatientsBirthDate = other.PatientsBirthDate;
			PatientsBirthTime = other.PatientsBirthTime;
			PatientsSex = other.PatientsSex;
		}
Пример #7
0
        /// <summary>
        /// Initializes a new instance of <see cref="StudyItem"/>.
        /// </summary>
        public StudyItem(IPatientData patient, IStudyData study, IDicomServiceNode server)
            : base(patient, study, null)
        {
            Platform.CheckForNullReference(server, "server");
            Platform.CheckForNullReference(study, "study");
            Platform.CheckForEmptyString(study.StudyInstanceUid, "study.StudyInstanceUid");

            Server = server;
        }
Пример #8
0
        public void ReadingTest(IPatientData reading, IBedsideMonitor monitor)
        {
            SetLimits(monitor);

            for (int i = 0; i < AlarmTesters.Count; i++)
                if (_AlarmTesters[i].ValueOutsideLimits(reading.Values[i]))
                {
                    ModuleAlarm?.Invoke(this, null);
                }
        }
Пример #9
0
        /// <summary>
        /// Initializes a new instance of <see cref="StudyItem"/>.
        /// </summary>
        public StudyItem(IPatientData patient, IStudyData study, IDicomServiceNode server)
        // TODO (CR Nov 2012) - null is passed to the base class (Macro.Dicom.ServiceModel.Query.Identifier) causing
        // some of the properties in the base such as SpecificCharacterSet, InstanceAvailability, RetrieveAE not being copied as one would expect
            : base(patient, study, null)
        {
            Platform.CheckForNullReference(server, "server");
            Platform.CheckForNullReference(study, "study");
            Platform.CheckForEmptyString(study.StudyInstanceUid, "study.StudyInstanceUid");

            Server = server;
        }
Пример #10
0
        public void ReadingTest(IPatientData reading, IBedsideMonitor monitor)
        {
            SetLimits(monitor);

            for (int i = 0; i < AlarmTesters.Count; i++)
            {
                if (_AlarmTesters[i].ValueOutsideLimits(reading.Values[i]))
                {
                    ModuleAlarm?.Invoke(this, null);
                }
            }
        }
		/// <summary>
		/// Readings test.
		/// </summary>
		/// <param name="readings">Readings.</param>
		public void ReadingsTest(IPatientData readings){
			if (_breathingRateTester.ValueOutsideLimits (readings.BreathingRate)) {
				if (BreathingRateAlarm != null) BreathingRateAlarm (this, null);
			}
            if (_pulseRateTester.ValueOutsideLimits(readings.PulseRate))
            {
				if (PulseRateAlarm != null) PulseRateAlarm (this, null);
			}
			if (_systolicBpTester.ValueOutsideLimits (readings.SystolicBloodPressure)) {
				if (SystolicBloodPressureAlarm != null) SystolicBloodPressureAlarm (this, null);
			}
			if (_diastolicBpTester.ValueOutsideLimits (readings.DiastolicBloodPressure)) {
				if (DiastolicBloodPressureAlarm != null) DiastolicBloodPressureAlarm (this, null);
			}
			if (_temperatureTester.ValueOutsideLimits (readings.Temperature)) {
				if (TemperatureAlarm != null) TemperatureAlarm (this, null);
			}            
		}
Пример #12
0
        internal PatientInformation(IPatientData patientData)
        {
            PatientId         = patientData.PatientId;
            PatientsName      = patientData.PatientsName;
            PatientsBirthDate = patientData.PatientsBirthDate;
            PatientsBirthTime = patientData.PatientsBirthTime;
            PatientsSex       = patientData.PatientsSex;

            PatientSpeciesDescription = patientData.PatientSpeciesDescription;
            PatientSpeciesCodeSequenceCodingSchemeDesignator = patientData.PatientSpeciesCodeSequenceCodingSchemeDesignator;
            PatientSpeciesCodeSequenceCodeValue   = patientData.PatientSpeciesCodeSequenceCodeValue;
            PatientSpeciesCodeSequenceCodeMeaning = patientData.PatientSpeciesCodeSequenceCodeMeaning;
            PatientBreedDescription = patientData.PatientBreedDescription;
            PatientBreedCodeSequenceCodingSchemeDesignator = patientData.PatientBreedCodeSequenceCodingSchemeDesignator;
            PatientBreedCodeSequenceCodeValue   = patientData.PatientBreedCodeSequenceCodeValue;
            PatientBreedCodeSequenceCodeMeaning = patientData.PatientBreedCodeSequenceCodeMeaning;
            ResponsiblePerson       = patientData.ResponsiblePerson;
            ResponsiblePersonRole   = patientData.ResponsiblePersonRole;
            ResponsibleOrganization = patientData.ResponsibleOrganization;
        }
Пример #13
0
        private void OpenPediatricGrowthChartApplication(object sender, EventArgs e)
        {
            IPatientData patientData = ActiveMdiChild as IPatientData;

            if (patientData == null)
            {
                MessageBox.Show(this, "No patient has been selected, please select a patient", "No patient selected", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            SMARTForm smartForm = new SMARTForm();

            smartForm.MdiParent   = this;
            smartForm.WindowState = FormWindowState.Maximized;

            string           applicationKey = ReflectionUtility.GetPropertyValue(sender, "Tag", string.Empty) as string;
            SmartApplication application    = Globals.GetSmartApplicationSettings(applicationKey);

            smartForm.Show();
            smartForm.LoadSmartApp(application, Globals.ApplicationSettings.FhirBaseUrl, "0a25036c-ed4c-4fad-a806-3dec4d58bc42");
        }
        private void CopyFrom(IPatientData other)
        {
            PatientId = other.PatientId;
            PatientsName = other.PatientsName;
            PatientsBirthDate = other.PatientsBirthDate;
            PatientsBirthTime = other.PatientsBirthTime;
            PatientsSex = other.PatientsSex;

            PatientSpeciesDescription = other.PatientSpeciesDescription;
            PatientSpeciesCodeSequenceCodingSchemeDesignator = other.PatientSpeciesCodeSequenceCodingSchemeDesignator;
            PatientSpeciesCodeSequenceCodeValue = other.PatientSpeciesCodeSequenceCodeValue;
            PatientSpeciesCodeSequenceCodeMeaning = other.PatientSpeciesCodeSequenceCodeMeaning;
            PatientBreedDescription = other.PatientBreedDescription;
            PatientBreedCodeSequenceCodingSchemeDesignator = other.PatientBreedCodeSequenceCodingSchemeDesignator;
            PatientBreedCodeSequenceCodeValue = other.PatientBreedCodeSequenceCodeValue;
            PatientBreedCodeSequenceCodeMeaning = other.PatientBreedCodeSequenceCodeMeaning;
            ResponsiblePerson = other.ResponsiblePerson;
            ResponsiblePersonRole = other.ResponsiblePersonRole;
            ResponsibleOrganization = other.ResponsibleOrganization;
        }
		internal PatientInformation(IPatientData patientData)
		{
			PatientId = patientData.PatientId;
			PatientsName = patientData.PatientsName;
			PatientsBirthDate = patientData.PatientsBirthDate;
			PatientsBirthTime = patientData.PatientsBirthTime;
			PatientsSex = patientData.PatientsSex;

			PatientSpeciesDescription = patientData.PatientSpeciesDescription;
			PatientSpeciesCodeSequenceCodingSchemeDesignator = patientData.PatientSpeciesCodeSequenceCodingSchemeDesignator;
			PatientSpeciesCodeSequenceCodeValue = patientData.PatientSpeciesCodeSequenceCodeValue;
			PatientSpeciesCodeSequenceCodeMeaning = patientData.PatientSpeciesCodeSequenceCodeMeaning;
			PatientBreedDescription = patientData.PatientBreedDescription;
			PatientBreedCodeSequenceCodingSchemeDesignator = patientData.PatientBreedCodeSequenceCodingSchemeDesignator;
			PatientBreedCodeSequenceCodeValue = patientData.PatientBreedCodeSequenceCodeValue;
			PatientBreedCodeSequenceCodeMeaning = patientData.PatientBreedCodeSequenceCodeMeaning;
			ResponsiblePerson = patientData.ResponsiblePerson;
			ResponsiblePersonRole = patientData.ResponsiblePersonRole;
			ResponsibleOrganization = patientData.ResponsibleOrganization;

		}
Пример #16
0
		/// <summary>
		/// Readings test.
		/// </summary>
		/// <param name="readings">Readings.</param>
		public void ReadingsTest(IPatientData readings, MainWindow window, int index){
			if (_breathingRateTester.ValueOutsideLimits (readings.BreathingRate)) {
			    if (BreathingRateAlarm != null)
			    {
			        BreathingRateAlarm (this, null);
                    window.ListOfRectangles[index].Alarming(true); //setting the coloured rectangle box to true giving it a colour value of red.
			    }
			}
            if (_pulseRateTester.ValueOutsideLimits(readings.PulseRate))
            {
                if (PulseRateAlarm != null)
                {
                    window.ListOfRectangles[index].Alarming(true);
                    PulseRateAlarm(this, null);
                }

            }
			if (_systolicBpTester.ValueOutsideLimits (readings.SystolicBloodPressure)) {
			    if (SystolicBloodPressureAlarm != null)
			    {
                    window.ListOfRectangles[index].Alarming(true); 
                    SystolicBloodPressureAlarm(this, null);
			    }
			}
			if (_diastolicBpTester.ValueOutsideLimits (readings.DiastolicBloodPressure)) {
			    if (DiastolicBloodPressureAlarm != null)
			    {
                    window.ListOfRectangles[index].Alarming(true); 
                    DiastolicBloodPressureAlarm(this, null);
			    }
			}
			if (_temperatureTester.ValueOutsideLimits (readings.Temperature)) {
			    if (TemperatureAlarm != null)
			    {
                    window.ListOfRectangles[index].Alarming(true); 
                    TemperatureAlarm(this, null);
			    }
			}            
		}
 /// <summary>
 /// Readings test.
 /// </summary>
 /// <param name="readings">Readings.</param>
 public void ReadingsTest(IPatientData readings)
 {
     if (_breathingRateTester.ValueOutsideLimits(readings.BreathingRate))
     {
         if (BreathingRateAlarm != null)
         {
             BreathingRateAlarm(this, null);
         }
     }
     if (_pulseRateTester.ValueOutsideLimits(readings.PulseRate))
     {
         if (PulseRateAlarm != null)
         {
             PulseRateAlarm(this, null);
         }
     }
     if (_systolicBpTester.ValueOutsideLimits(readings.SystolicBloodPressure))
     {
         if (SystolicBloodPressureAlarm != null)
         {
             SystolicBloodPressureAlarm(this, null);
         }
     }
     if (_diastolicBpTester.ValueOutsideLimits(readings.DiastolicBloodPressure))
     {
         if (DiastolicBloodPressureAlarm != null)
         {
             DiastolicBloodPressureAlarm(this, null);
         }
     }
     if (_temperatureTester.ValueOutsideLimits(readings.Temperature))
     {
         if (TemperatureAlarm != null)
         {
             TemperatureAlarm(this, null);
         }
     }
 }
Пример #18
0
 public void ReadingTest(IPatientData reading)
 {
     if (breathingTester.ValueOutsideLimits (reading.BreathingRate))
     {
         if (BreathingRateAlarm != null) BreathingRateAlarm(this, null);
     }
     if (diastolicTester.ValueOutsideLimits (reading.DiastolicRate))
     {
         if (DiastolicRateAlarm != null) DiastolicRateAlarm(this, null);
     }
     if (pulseTester.ValueOutsideLimits (reading.PulseRate))
     {
         if (PulseRateAlarm != null) PulseRateAlarm(this, null);
     }
     if (systolicTester.ValueOutsideLimits (reading.SystolicRate))
     {
         if (SystolicRateAlarm != null) SystolicRateAlarm(this, null);
     }
     if (temperatureTester.ValueOutsideLimits (reading.TemperatureRate))
     {
         if (TemperaturerateAlarm != null) TemperaturerateAlarm(this, null);
     }
 }
Пример #19
0
 /// <summary>
 /// Creates a new <see cref="IPatient"/> <see langword="object"/> based on <see cref="IPatientData"/> and <see cref="IPatientSocialData"/>
 /// </summary>
 /// <param name="_data">The container that represents the patients private data</param>
 /// <param name="_socialData">The container that represents the patiens social data</param>
 /// <returns>A new populated <see cref="IPatient"/> <see langword="object"/> that increments the ID counter</returns>
 public static IPatient Create(IPatientData _data, IPatientSocialData _socialData)
 {
     return(new Patient()
     {
         Address = _data.Address,
         ChildFathersName = _socialData.ChildFathersName,
         ChildFathersSSN = _socialData.ChildFathersSSN,
         CivilStatus = _socialData.CivilStatus,
         Cohibitable = _socialData.Cohibitable,
         DoctorsAddress = _data.DoctorsAddress,
         DoctorsName = _data.DoctorsName,
         DoctorsPhone = _data.DoctorsPhone,
         Email = _data.Email,
         Name = _data.Name,
         Nationality = _socialData.Nationality,
         NeedTranslator = _socialData.NeedTranslator,
         OtherInfo = _socialData.OtherInfo,
         PrivateGP = _data.PrivateGP,
         PrivatePhone = _data.PrivatePhone,
         SSN = _data.SSN,
         TranslatorLanguage = _socialData.TranslatorLanguage,
         WorkPhone = _data.WorkPhone
     });
 }
Пример #20
0
        private void smartAppLaunchToolbarItem_Click(object sender, EventArgs e)
        {
            IPatientData patientData = ActiveMdiChild as IPatientData;

            if (patientData == null)
            {
                MessageBox.Show(this, "No patient has been selected, please select a patient", "No patient selected", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            string applicationKey = ReflectionUtility.GetPropertyValue(sender, "Tag", string.Empty) as string;
            SmartApplicationDetails application = Globals.GetSmartApplicationSettings(applicationKey);

            // Read in the clinical context
            var context = new SmartAppContext()
            {
                LaunchContext = Guid.NewGuid().ToFhirId(), PatientNameForDebug = patientData.Patient.Name.FirstOrDefault().Text
            };

            context.ContextProperties.Add(new System.Collections.Generic.KeyValuePair <string, string>("patient", patientData.Patient.Id));

            // Read in the User context
            context.ContextProperties.Add(new System.Collections.Generic.KeyValuePair <string, string>("organization", Globals.ApplicationSettings.organization));
            context.ContextProperties.Add(new System.Collections.Generic.KeyValuePair <string, string>("practitioner", Globals.ApplicationSettings.practitioner));
            context.ContextProperties.Add(new System.Collections.Generic.KeyValuePair <string, string>("practitionerrole", Globals.ApplicationSettings.practitionerrole));

            Console.WriteLine($"Opening Smart App {application.Name}: {context.LaunchContext}             Patient/{patientData.Patient.Id} {patientData.Patient.Name.FirstOrDefault().Text}");
            SMARTForm smartForm = new SMARTForm();

            smartForm.MdiParent   = this;
            smartForm.WindowState = ActiveMdiChild.WindowState; // FormWindowState.Maximized;

            // Open the Smart Host with the selected application and context
            smartForm.LoadSmartApp(application, context);
            smartForm.Show();
        }
Пример #21
0
 public CoronaStatistics(IPatientData patientData, CoronaVirusDbContext coronaVirusDbContext)
 {
     this.patientData          = patientData;
     this.coronaVirusDbContext = coronaVirusDbContext;
 }
		public IPatientData ReconcileSearchCriteria(IPatientData patientInfo)
		{
			var patientInformation = new PatientInformation{ PatientId = patientInfo.PatientId };
			return Reconcile(patientInformation, DefaultPatientReconciliationSettings.Default.SearchReconciliationRulesXml, "search-reconciliation-rules");
		}
		public IPatientData ReconcilePatientInformation(IPatientData patientInfo)
		{
			Platform.CheckMemberIsSet(StudyTree, "StudyTree");

			var testPatientInformation = new PatientInformation{ PatientId = patientInfo.PatientId };
			testPatientInformation = Reconcile(testPatientInformation, DefaultPatientReconciliationSettings.Default.PatientReconciliationRulesXml, "patient-reconciliation-rules");

			foreach (var patient in StudyTree.Patients)
			{
				var reconciledPatientInfo = new PatientInformation { PatientId = patient.PatientId };
				reconciledPatientInfo = Reconcile(reconciledPatientInfo, DefaultPatientReconciliationSettings.Default.PatientReconciliationRulesXml, "patient-reconciliation-rules");

				if (reconciledPatientInfo.PatientId == testPatientInformation.PatientId)
					return new PatientInformation(patient) { PatientId = reconciledPatientInfo.PatientId };
			}

			return null;
		}
        public override PriorStudyFinderResult FindPriorStudies()
        {
            _cancel = false;
            var results = new Dictionary <string, StudyItem>();

            IPatientReconciliationStrategy reconciliationStrategy = new DefaultPatientReconciliationStrategy();

            reconciliationStrategy.SetStudyTree(Viewer.StudyTree);

            var patientIds = new Dictionary <string, string>();

            foreach (Patient patient in Viewer.StudyTree.Patients)
            {
                if (_cancel)
                {
                    break;
                }

                IPatientData reconciled = reconciliationStrategy.ReconcileSearchCriteria(patient);
                patientIds[reconciled.PatientId] = reconciled.PatientId;
            }

            int failedCount  = 0;
            int successCount = 0;

            foreach (var priorsServer in ServerDirectory.GetPriorsServers(true))
            {
                if (_cancel)
                {
                    break;
                }

                try
                {
                    using (var bridge = new StudyRootQueryBridge(priorsServer.GetService <IStudyRootQuery>()))
                    {
                        foreach (string patientId in patientIds.Keys)
                        {
                            //#10790: don't search for priors if patient id is empty
                            if (string.IsNullOrEmpty(patientId))
                            {
                                continue;
                            }

                            var identifier = new StudyRootStudyIdentifier {
                                PatientId = patientId
                            };

                            IList <StudyRootStudyIdentifier> studies = bridge.StudyQuery(identifier);

                            Platform.Log(LogLevel.Debug, "Found {0} prior studies on server '{1}'", studies.Count, priorsServer.Name);

                            foreach (StudyRootStudyIdentifier study in studies)
                            {
                                if (_cancel)
                                {
                                    break;
                                }

                                //Eliminate false positives right away.
                                IPatientData reconciled = reconciliationStrategy.ReconcilePatientInformation(study);
                                if (reconciled == null)
                                {
                                    continue;
                                }

                                StudyItem studyItem = ConvertToStudyItem(study);
                                if (studyItem == null || results.ContainsKey(studyItem.StudyInstanceUid))
                                {
                                    continue;
                                }

                                if (!results.ContainsKey(studyItem.StudyInstanceUid))
                                {
                                    results[studyItem.StudyInstanceUid] = studyItem;
                                }
                            }
                        }
                    }

                    ++successCount;
                }
                catch (Exception e)
                {
                    ++failedCount;
                    Platform.Log(LogLevel.Error, e, "Failed to query server: {0}", priorsServer.Name);
                }
            }

            if (_cancel)
            {
                //Just pretend the query never happened.
                return(new PriorStudyFinderResult(new StudyItemList(), true));
            }

            if (failedCount > 0)
            {
                PriorStudyLoaderExceptionPolicy.NotifyFailedQuery();

                if (successCount == 0)
                {
                    throw new Exception("The search for prior studies has failed.");
                }
            }
            else
            {
                //Even if success count is zero, we'll still consider it "successful".
                PriorStudyLoaderExceptionPolicy.NotifySuccessfulQuery();
            }

            Platform.Log(LogLevel.Debug, "Found {0} prior studies in total.", results.Count);

            return(new PriorStudyFinderResult(new StudyItemList(results.Values), failedCount == 0));
        }
Пример #25
0
        private void PopulatePatient(DicomMessageBase response, IEnumerable <DicomTag> tagList, IPatientData row)
        {
            DicomDataset dataSet = response.DataSet;

            dataSet[DicomTags.RetrieveAeTitle].SetStringValue(Partition.AeTitle);

            var characterSet = GetPreferredCharacterSet();

            if (!string.IsNullOrEmpty(characterSet))
            {
                dataSet[DicomTags.SpecificCharacterSet].SetStringValue(characterSet);
                dataSet.SpecificCharacterSet = characterSet;
            }

            IList <IStudyData> relatedStudies = row.LoadRelatedStudies();
            IStudyData         studyData      = null;

            if (relatedStudies.Count > 0)
            {
                studyData = relatedStudies.First();
            }

            foreach (DicomTag tag in tagList)
            {
                try
                {
                    switch (tag.TagValue)
                    {
                    case DicomTags.PatientsName:
                        dataSet[DicomTags.PatientsName].SetStringValue(row.PatientName);
                        break;

                    case DicomTags.PatientId:
                        dataSet[DicomTags.PatientId].SetStringValue(row.PatientId);
                        break;

                    case DicomTags.IssuerOfPatientId:
                        dataSet[DicomTags.IssuerOfPatientId].SetStringValue(row.IssuerOfPatientId);
                        break;

                    case DicomTags.NumberOfPatientRelatedStudies:
                        dataSet[DicomTags.NumberOfPatientRelatedStudies].AppendInt32(row.NumberOfRelatedStudies);
                        break;

                    case DicomTags.NumberOfPatientRelatedSeries:
                        dataSet[DicomTags.NumberOfPatientRelatedSeries].AppendInt32(row.NumberOfRelatedSeries);
                        break;

                    case DicomTags.NumberOfPatientRelatedInstances:
                        dataSet[DicomTags.NumberOfPatientRelatedInstances].AppendInt32(
                            row.NumberOfRelatedInstances);
                        break;

                    case DicomTags.QueryRetrieveLevel:
                        dataSet[DicomTags.QueryRetrieveLevel].SetStringValue("PATIENT");
                        break;

                    case DicomTags.PatientsSex:
                        if (studyData == null)
                        {
                            dataSet[DicomTags.PatientsSex].SetNullValue();
                        }
                        else
                        {
                            dataSet[DicomTags.PatientsSex].SetStringValue(studyData.PatientSex);
                        }
                        break;

                    case DicomTags.PatientsBirthDate:
                        if (studyData == null)
                        {
                            dataSet[DicomTags.PatientsBirthDate].SetNullValue();
                        }
                        else
                        {
                            dataSet[DicomTags.PatientsBirthDate].SetDateTime(0, studyData.PatientBirthday);
                        }
                        break;

                    // Meta tags that should have not been in the RQ, but we've already set
                    case DicomTags.RetrieveAeTitle:
                    case DicomTags.InstanceAvailability:
                    case DicomTags.SpecificCharacterSet:
                        break;

                    default:
                        if (!tag.IsPrivate)
                        {
                            dataSet[tag].SetNullValue();
                        }

                        break;
                    }
                }
                catch (Exception e)
                {
                    Log.Logger.Error(e, "Unexpected error setting tag {0} in C-FIND-RSP", dataSet[tag].Tag.ToString());
                    if (!tag.IsPrivate)
                    {
                        dataSet[tag].SetNullValue();
                    }
                }
            }
        }
Пример #26
0
 public PatientDataService(IPatientData patientData)
 {
     _patientData = patientData;
 }
Пример #27
0
 public DeleteModel(IPatientData patientData)
 {
     this.patientData = patientData;
 }
Пример #28
0
        /// <summary>
        /// Readings test.
        /// </summary>
        /// <param name="readings">Readings.</param>
        public void ReadingsTest(IPatientData readings){

            if (_breathingRateTester.ValueOutsideLimits(readings.BreathingRate) || _breathingRateTester1.ValueOutsideLimits(readings.BreathingRate) || _breathingRateTester2.ValueOutsideLimits(readings.BreathingRate) || _breathingRateTester3.ValueOutsideLimits(readings.BreathingRate) || _breathingRateTester4.ValueOutsideLimits(readings.BreathingRate) || _breathingRateTester5.ValueOutsideLimits(readings.BreathingRate) || _breathingRateTester6.ValueOutsideLimits(readings.BreathingRate) || _breathingRateTester7.ValueOutsideLimits(readings.BreathingRate)) 
            {
				if (BreathingRateAlarm != null) BreathingRateAlarm (this, null);
                if (BreathingRateAlarm1 != null) BreathingRateAlarm1(this, null);
                if (BreathingRateAlarm2 != null) BreathingRateAlarm2(this, null);
                if (BreathingRateAlarm3 != null) BreathingRateAlarm3(this, null);
                if (BreathingRateAlarm4 != null) BreathingRateAlarm4(this, null);
                if (BreathingRateAlarm5 != null) BreathingRateAlarm5(this, null);
                if (BreathingRateAlarm6 != null) BreathingRateAlarm6(this, null);
                if (BreathingRateAlarm7 != null) BreathingRateAlarm7(this, null);
			}
            if (_pulseRateTester.ValueOutsideLimits(readings.PulseRate) || _pulseRateTester1.ValueOutsideLimits(readings.PulseRate) || _pulseRateTester2.ValueOutsideLimits(readings.PulseRate) || _pulseRateTester3.ValueOutsideLimits(readings.PulseRate) || _pulseRateTester4.ValueOutsideLimits(readings.PulseRate) || _pulseRateTester5.ValueOutsideLimits(readings.PulseRate) || _pulseRateTester6.ValueOutsideLimits(readings.PulseRate) || _pulseRateTester7.ValueOutsideLimits(readings.PulseRate))
            {
                if (PulseRateAlarm != null) PulseRateAlarm(this, null);
                if (PulseRateAlarm1 != null) PulseRateAlarm1(this, null);
                if (PulseRateAlarm2 != null) PulseRateAlarm2(this, null);
                if (PulseRateAlarm3 != null) PulseRateAlarm3(this, null);
                if (PulseRateAlarm4 != null) PulseRateAlarm4(this, null);
                if (PulseRateAlarm5 != null) PulseRateAlarm5(this, null);
                if (PulseRateAlarm6 != null) PulseRateAlarm6(this, null);
                if (PulseRateAlarm7 != null) PulseRateAlarm7(this, null);
			}
            if (_systolicBpTester.ValueOutsideLimits(readings.SystolicBloodPressure) || _systolicBpTester1.ValueOutsideLimits(readings.SystolicBloodPressure) || _systolicBpTester2.ValueOutsideLimits(readings.SystolicBloodPressure) || _systolicBpTester3.ValueOutsideLimits(readings.SystolicBloodPressure) || _systolicBpTester4.ValueOutsideLimits(readings.SystolicBloodPressure) || _systolicBpTester5.ValueOutsideLimits(readings.SystolicBloodPressure) || _systolicBpTester6.ValueOutsideLimits(readings.SystolicBloodPressure) || _systolicBpTester7.ValueOutsideLimits(readings.SystolicBloodPressure)) 
            {
				if (SystolicBloodPressureAlarm != null) SystolicBloodPressureAlarm (this, null);
                if (SystolicBloodPressureAlarm1 != null) SystolicBloodPressureAlarm1(this, null);
                if (SystolicBloodPressureAlarm2 != null) SystolicBloodPressureAlarm2(this, null);
                if (SystolicBloodPressureAlarm3 != null) SystolicBloodPressureAlarm3(this, null);
                if (SystolicBloodPressureAlarm4 != null) SystolicBloodPressureAlarm4(this, null);
                if (SystolicBloodPressureAlarm5 != null) SystolicBloodPressureAlarm5(this, null);
                if (SystolicBloodPressureAlarm6 != null) SystolicBloodPressureAlarm6(this, null);
                if (SystolicBloodPressureAlarm7 != null) SystolicBloodPressureAlarm7(this, null);
			}
            if (_diastolicBpTester.ValueOutsideLimits(readings.DiastolicBloodPressure) || _diastolicBpTester1.ValueOutsideLimits(readings.DiastolicBloodPressure) || _diastolicBpTester2.ValueOutsideLimits(readings.DiastolicBloodPressure) || _diastolicBpTester3.ValueOutsideLimits(readings.DiastolicBloodPressure) || _diastolicBpTester4.ValueOutsideLimits(readings.DiastolicBloodPressure) || _diastolicBpTester5.ValueOutsideLimits(readings.DiastolicBloodPressure) || _diastolicBpTester6.ValueOutsideLimits(readings.DiastolicBloodPressure) || _diastolicBpTester7.ValueOutsideLimits(readings.DiastolicBloodPressure)) 
            {
				if (DiastolicBloodPressureAlarm != null) DiastolicBloodPressureAlarm (this, null);
                if (DiastolicBloodPressureAlarm1 != null) DiastolicBloodPressureAlarm1(this, null);
                if (DiastolicBloodPressureAlarm2 != null) DiastolicBloodPressureAlarm2(this, null);
                if (DiastolicBloodPressureAlarm3 != null) DiastolicBloodPressureAlarm3(this, null);
                if (DiastolicBloodPressureAlarm4 != null) DiastolicBloodPressureAlarm4(this, null);
                if (DiastolicBloodPressureAlarm5 != null) DiastolicBloodPressureAlarm5(this, null);
                if (DiastolicBloodPressureAlarm6 != null) DiastolicBloodPressureAlarm6(this, null);
                if (DiastolicBloodPressureAlarm7 != null) DiastolicBloodPressureAlarm7(this, null);
			}
            if (_temperatureTester.ValueOutsideLimits(readings.Temperature) || _temperatureTester1.ValueOutsideLimits(readings.Temperature) || _temperatureTester2.ValueOutsideLimits(readings.Temperature) || _temperatureTester3.ValueOutsideLimits(readings.Temperature) || _temperatureTester4.ValueOutsideLimits(readings.Temperature) || _temperatureTester5.ValueOutsideLimits(readings.Temperature) || _temperatureTester6.ValueOutsideLimits(readings.Temperature) || _temperatureTester7.ValueOutsideLimits(readings.Temperature))
            {
                if (TemperatureAlarm != null) TemperatureAlarm(this, null);
                if (TemperatureAlarm1 != null) TemperatureAlarm1(this, null);
                if (TemperatureAlarm2 != null) TemperatureAlarm2(this, null);
                if (TemperatureAlarm3 != null) TemperatureAlarm3(this, null);
                if (TemperatureAlarm4 != null) TemperatureAlarm4(this, null);
                if (TemperatureAlarm5 != null) TemperatureAlarm5(this, null);
                if (TemperatureAlarm6 != null) TemperatureAlarm6(this, null);
                if (TemperatureAlarm7 != null) TemperatureAlarm7(this, null);               
			}

        }
Пример #29
0
 public EditModel(IAppointmentData appointmentData, IHtmlHelper htmlHelper, IPatientData patientData)
 {
     this.appointmentData = appointmentData;
     this.htmlHelper      = htmlHelper;
     this.patientData     = patientData;
 }
Пример #30
0
 public StatisticsModel(IPatientData patientData, IAppointmentData appointmentData, CoronaStatistics coronaStatistics)
 {
     this.patientData      = patientData;
     this.appointmentData  = appointmentData;
     this.coronaStatistics = coronaStatistics;
 }
Пример #31
0
 public ListModel(IPatientData patientData)
 {
     this.patientData = patientData;
 }
Пример #32
0
 public PatientService(IPatientDataFactory patientDataFactory)
 {
     _patientData = new PatientDataFactory().Create();
 }
 public OccupancyManagementController(IPatientData patientData)
 {
     this.patientRepo = patientData;
 }
Пример #34
0
 public PatientInfoController(IPatientData patientData, IApiErrorHandler apiErrorHandler)
 {
     _patientData     = patientData;
     _apiErrorHandler = apiErrorHandler;
 }
Пример #35
0
 public WorkItemPatient(IPatientData p) 
     : base(p)
 { }
Пример #36
0
 public EditModel(IPatientData patientData, IDoctorData doctorData, IHtmlHelper htmlHelper)
 {
     this.patientData = patientData;
     this.doctorData  = doctorData;
     this.htmlHelper  = htmlHelper;
 }
Пример #37
0
 public PatientRootPatientIdentifier(IPatientData other)
 {
     CopyFrom(other);
 }
 public StudyRootStudyIdentifier(IPatientData patientData, IStudyData studyData, IIdentifier identifier)
     : base(studyData, identifier)
 {
     CopyFrom(patientData);
 }
 public StudyRootStudyIdentifier(IPatientData patientData, IStudyData studyData, IIdentifier identifier)
     : base(studyData, identifier)
 {
     CopyFrom(patientData);
 }
Пример #40
0
 public NotificationPatient(IPatientData p)
     : base(p)
 {
 }
Пример #41
0
 /// <summary>
 /// Initializes a new instance of <see cref="StudyItem"/>.
 /// </summary>
 public StudyItem(IPatientData patient, IStudyData study, IIdentifier identifier)
     : base(patient, study, identifier)
 {
     Platform.CheckForNullReference(study, "study");
     Platform.CheckForEmptyString(study.StudyInstanceUid, "study.StudyInstanceUid");
 }
 public PatientRootPatientIdentifier(IPatientData other)
 {
     CopyFrom(other);
 }
Пример #43
0
 public WorkItemPatient(IPatientData p)
     : base(p)
 {
 }
 public NotificationPatient(IPatientData p)
     : base(p)
 { }