Esempio n. 1
0
 private void FormEhrLabOrders_Load(object sender, EventArgs e)
 {
     IsImport = true;          //this can be changed later, but for now there is never a need to edit a lab specimen.
     if (IsImport || IsViewOnly)
     {
         foreach (Control c in Controls)
         {
             c.Enabled = false;
         }
         butCancel.Text    = "Close";
         butCancel.Enabled = true;
     }
     FillGridCondition();
     FillGridReject();
     //Times
     textCollectionDateTimeStart.Text = EhrLab.formatDateFromHL7(EhrLabSpecimenCur.CollectionDateTimeStart);
     textCollectionDateTimeEnd.Text   = EhrLab.formatDateFromHL7(EhrLabSpecimenCur.CollectionDateTimeEnd);
     //Coded Value
     textSpecimenTypeID.Text                = EhrLabSpecimenCur.SpecimenTypeID;
     textSpecimenTypeText.Text              = EhrLabSpecimenCur.SpecimenTypeText;
     textSpecimenTypeCodeSystemName.Text    = EhrLabSpecimenCur.SpecimenTypeCodeSystemName;
     textSpecimenTypeIDAlt.Text             = EhrLabSpecimenCur.SpecimenTypeIDAlt;
     textSpecimenTypeTextAlt.Text           = EhrLabSpecimenCur.SpecimenTypeTextAlt;
     textSpecimenTypeCodeSystemNameAlt.Text = EhrLabSpecimenCur.SpecimenTypeCodeSystemNameAlt;
 }
Esempio n. 2
0
 ///<summary>Inserts one EhrLab into the database.  Returns the new priKey.</summary>
 public static long Insert(EhrLab ehrLab)
 {
     if (DataConnection.DBtype == DatabaseType.Oracle)
     {
         ehrLab.EhrLabNum = DbHelper.GetNextOracleKey("ehrlab", "EhrLabNum");
         int loopcount = 0;
         while (loopcount < 100)
         {
             try {
                 return(Insert(ehrLab, true));
             }
             catch (Oracle.DataAccess.Client.OracleException ex) {
                 if (ex.Number == 1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated"))
                 {
                     ehrLab.EhrLabNum++;
                     loopcount++;
                 }
                 else
                 {
                     throw ex;
                 }
             }
         }
         throw new ApplicationException("Insert failed.  Could not generate primary key.");
     }
     else
     {
         return(Insert(ehrLab, false));
     }
 }
Esempio n. 3
0
 private void butSave_Click(object sender, EventArgs e)
 {
     if (PatCur == null)
     {
         MsgBox.Show(this, "Please attach to patient first.");
         return;
     }
     //Check lab dates to see if these labs already exist.
     for (int i = 0; i < ListEhrLabs.Count; i++)
     {
         EhrLab tempLab = null;              //lab from DB if it exists.
         tempLab = EhrLabs.GetByGUID(ListEhrLabs[i].PlacerOrderUniversalID, ListEhrLabs[i].PlacerOrderNum);
         if (tempLab == null)
         {
             tempLab = EhrLabs.GetByGUID(ListEhrLabs[i].FillerOrderUniversalID, ListEhrLabs[i].FillerOrderNum);
         }
         if (tempLab != null)
         {
             //validate Date of Lab and attached patient.
             //Date
             if (tempLab.ResultDateTime.CompareTo(ListEhrLabs[i].ResultDateTime) < 0)                   //string compare dates will return 1+ if tempLab Date is greater.
             {
                 MsgBox.Show(this, "This lab already exists in the database and has a more recent timestamp.");
                 continue;
             }
             if (PatCur.PatNum != tempLab.PatNum)
             {
                 //do nothing. We are importing an updated lab result and the previous lab result was attached to the wrong patient.
                 //or do something. later maybe.
             }
         }
         ListEhrLabs[i].PatNum = PatCur.PatNum;
         Provider prov = Providers.GetProv(Security.CurUser.ProvNum);
         if (Security.CurUser.ProvNum != 0 && EhrProvKeys.GetKeysByFLName(prov.LName, prov.FName).Count > 0)            //The user who is currently logged in is a provider and has a valid EHR key.
         {
             ListEhrLabs[i].IsCpoe = true;
         }
         ListEhrLabs[i] = EhrLabs.SaveToDB(ListEhrLabs[i]);               //SAVE
         for (int j = 0; j < ListEhrLabs[i].ListEhrLabResults.Count; j++) //EHR TRIGGER
         {
             if (CDSPermissions.GetForUser(Security.CurUser.UserNum).ShowCDS&& CDSPermissions.GetForUser(Security.CurUser.UserNum).LabTestCDS)
             {
                 FormCDSIntervention FormCDSI = new FormCDSIntervention();
                 FormCDSI.ListCDSI = EhrTriggers.TriggerMatch(ListEhrLabs[i].ListEhrLabResults[j], PatCur);
                 FormCDSI.ShowIfRequired(false);
             }
         }
     }
     DialogResult = DialogResult.OK;
     //Done!
 }
        private void butViewParent_Click(object sender, EventArgs e)
        {
            EhrLab ehrLabParent = null;

            ehrLabParent = EhrLabs.GetByGUID(EhrLabCur.ParentPlacerOrderUniversalID, EhrLabCur.ParentPlacerOrderNum);
            if (ehrLabParent == null)
            {
                ehrLabParent = EhrLabs.GetByGUID(EhrLabCur.ParentFillerOrderUniversalID, EhrLabCur.ParentFillerOrderNum);
            }
            if (ehrLabParent == null)
            {
                return;
            }
            FormEhrLabOrderEdit2014 FormELOE = new FormEhrLabOrderEdit2014();

            FormELOE.EhrLabCur  = ehrLabParent;
            FormELOE.IsViewOnly = true;
            FormELOE.Text       = Lan.g(this, "Parent Lab Order - READ ONLY");
            FormELOE.ShowDialog();
        }
Esempio n. 5
0
        private void butImport_Click(object sender, EventArgs e)
        {
            MsgBoxCopyPaste MBCP = new MsgBoxCopyPaste("Paste HL7 Lab Message Text Here.");

            MBCP.textMain.SelectAll();
            MBCP.ShowDialog();
            if (MBCP.DialogResult != DialogResult.OK)
            {
                return;
            }
            List <EhrLab> listEhrLabs;

            try {
                listEhrLabs = EhrLabs.ProcessHl7Message(MBCP.textMain.Text); //Not a typical use of the msg box copy paste
                if (listEhrLabs[0].PatNum == PatCur.PatNum)                  //only need to check the first lab.
                //nothing to do here. Imported lab matches the current patient.
                {
                }
                else                 //does not match current patient, redirect to import form which displays patient information and is build for importing.
                {
                    FormEhrLabOrderImport FormLOI = new FormEhrLabOrderImport();
                    FormLOI.PatCur        = PatCur;
                    FormLOI.Hl7LabMessage = MBCP.textMain.Text;
                    FormLOI.ShowDialog();
                    FillGrid();
                    return;
                }
                //else if(listEhrLabs[0].PatNum==0) {
                //	if(MessageBox.Show("Lab patient does not match current patient. Lab patient name is "
                //		+MBCP.textMain.Text.Split(new string[] { "\r\n" },StringSplitOptions.RemoveEmptyEntries)[1].Split('|')[5].Split('~')[0].Split('^')[1]+" "//first name
                //		+MBCP.textMain.Text.Split(new string[] { "\r\n" },StringSplitOptions.RemoveEmptyEntries)[1].Split('|')[5].Split('~')[0].Split('^')[1]+" "//last name
                //		+"\r\nWould you like to import lab for the current patient?","",MessageBoxButtons.OKCancel)!=DialogResult.OK)
                //	{
                //		return;
                //	}
                //	//User agreed to import current lab(s) for current patient.
                //	for(int i=0;i<listEhrLabs.Count;i++) {
                //		listEhrLabs[i].PatNum=PatCur.PatNum;
                //		//TODO: Import external OIDs and PatIDs so that we can identify this patient next time.
                //	}
                //}
                //else {//Patnum is already associated with another patient.
                //	MessageBox.Show("This lab contains patient information for a different patient. Lab patient name is "
                //		+MBCP.textMain.Text.Split(new string[] { "\r\n" },StringSplitOptions.RemoveEmptyEntries)[1].Split('|')[5].Split('~')[0].Split('^')[1]+" "//first name
                //		+MBCP.textMain.Text.Split(new string[] { "\r\n" },StringSplitOptions.RemoveEmptyEntries)[1].Split('|')[5].Split('~')[0].Split('^')[1]);
                //	return;
                //}
            }
            catch (Exception Ex) {
                MessageBox.Show(this, "Unable to import lab.\r\n" + Ex.Message);
                return;
            }
            for (int i = 0; i < listEhrLabs.Count; i++)
            {
                EhrLab tempLab = null;              //lab from DB if it exists.
                tempLab = EhrLabs.GetByGUID(listEhrLabs[i].PlacerOrderUniversalID, listEhrLabs[i].PlacerOrderNum);
                if (tempLab == null)
                {
                    tempLab = EhrLabs.GetByGUID(listEhrLabs[i].FillerOrderUniversalID, listEhrLabs[i].FillerOrderNum);
                }
                if (tempLab != null)
                {
                    //Date validation.
                    //if(tempLab.ResultDateTime.CompareTo(listEhrLabs[i].ResultDateTime)<=0) {//string compare dates will return 1+ if tempLab Date is greater.
                    //	MsgBox.Show(this,"This lab already exists in the database and has a more recent timestamp.");
                    //	continue;
                    //}
                    //TODO: The code above works, but ignores more recent lab results. Although the lab order my be unchanged there may be updated lab results.
                    //It would be better to check for updated results, unfortunately results have no unique identifiers.
                }
                Provider prov = Providers.GetProv(Security.CurUser.ProvNum);
                if (Security.CurUser.ProvNum != 0 && EhrProvKeys.GetKeysByFLName(prov.LName, prov.FName).Count > 0)            //The user who is currently logged in is a provider and has a valid EHR key.
                {
                    ListEhrLabs[i].IsCpoe = true;
                }
                listEhrLabs[i] = EhrLabs.SaveToDB(listEhrLabs[i]);               //SAVE
                for (int j = 0; j < listEhrLabs[i].ListEhrLabResults.Count; j++) //EHR TRIGGER
                {
                    if (CDSPermissions.GetForUser(Security.CurUser.UserNum).ShowCDS&& CDSPermissions.GetForUser(Security.CurUser.UserNum).LabTestCDS)
                    {
                        FormCDSIntervention FormCDSI = new FormCDSIntervention();
                        FormCDSI.ListCDSI = EhrTriggers.TriggerMatch(listEhrLabs[i].ListEhrLabResults[j], PatCur);
                        FormCDSI.ShowIfRequired(false);
                    }
                }
            }
            FillGrid();
        }
Esempio n. 6
0
		///<summary>Converts a DataTable to a list of objects.</summary>
		public static List<EhrLab> TableToList(DataTable table){
			List<EhrLab> retVal=new List<EhrLab>();
			EhrLab ehrLab;
			for(int i=0;i<table.Rows.Count;i++) {
				ehrLab=new EhrLab();
				ehrLab.EhrLabNum                                    = PIn.Long  (table.Rows[i]["EhrLabNum"].ToString());
				ehrLab.PatNum                                       = PIn.Long  (table.Rows[i]["PatNum"].ToString());
				string orderControlCode=table.Rows[i]["OrderControlCode"].ToString();
				if(orderControlCode==""){
					ehrLab.OrderControlCode                           =(HL70119)0;
				}
				else try{
					ehrLab.OrderControlCode                           =(HL70119)Enum.Parse(typeof(HL70119),orderControlCode);
				}
				catch{
					ehrLab.OrderControlCode                           =(HL70119)0;
				}
				ehrLab.PlacerOrderNum                               = PIn.String(table.Rows[i]["PlacerOrderNum"].ToString());
				ehrLab.PlacerOrderNamespace                         = PIn.String(table.Rows[i]["PlacerOrderNamespace"].ToString());
				ehrLab.PlacerOrderUniversalID                       = PIn.String(table.Rows[i]["PlacerOrderUniversalID"].ToString());
				ehrLab.PlacerOrderUniversalIDType                   = PIn.String(table.Rows[i]["PlacerOrderUniversalIDType"].ToString());
				ehrLab.FillerOrderNum                               = PIn.String(table.Rows[i]["FillerOrderNum"].ToString());
				ehrLab.FillerOrderNamespace                         = PIn.String(table.Rows[i]["FillerOrderNamespace"].ToString());
				ehrLab.FillerOrderUniversalID                       = PIn.String(table.Rows[i]["FillerOrderUniversalID"].ToString());
				ehrLab.FillerOrderUniversalIDType                   = PIn.String(table.Rows[i]["FillerOrderUniversalIDType"].ToString());
				ehrLab.PlacerGroupNum                               = PIn.String(table.Rows[i]["PlacerGroupNum"].ToString());
				ehrLab.PlacerGroupNamespace                         = PIn.String(table.Rows[i]["PlacerGroupNamespace"].ToString());
				ehrLab.PlacerGroupUniversalID                       = PIn.String(table.Rows[i]["PlacerGroupUniversalID"].ToString());
				ehrLab.PlacerGroupUniversalIDType                   = PIn.String(table.Rows[i]["PlacerGroupUniversalIDType"].ToString());
				ehrLab.OrderingProviderID                           = PIn.String(table.Rows[i]["OrderingProviderID"].ToString());
				ehrLab.OrderingProviderLName                        = PIn.String(table.Rows[i]["OrderingProviderLName"].ToString());
				ehrLab.OrderingProviderFName                        = PIn.String(table.Rows[i]["OrderingProviderFName"].ToString());
				ehrLab.OrderingProviderMiddleNames                  = PIn.String(table.Rows[i]["OrderingProviderMiddleNames"].ToString());
				ehrLab.OrderingProviderSuffix                       = PIn.String(table.Rows[i]["OrderingProviderSuffix"].ToString());
				ehrLab.OrderingProviderPrefix                       = PIn.String(table.Rows[i]["OrderingProviderPrefix"].ToString());
				ehrLab.OrderingProviderAssigningAuthorityNamespaceID= PIn.String(table.Rows[i]["OrderingProviderAssigningAuthorityNamespaceID"].ToString());
				ehrLab.OrderingProviderAssigningAuthorityUniversalID= PIn.String(table.Rows[i]["OrderingProviderAssigningAuthorityUniversalID"].ToString());
				ehrLab.OrderingProviderAssigningAuthorityIDType     = PIn.String(table.Rows[i]["OrderingProviderAssigningAuthorityIDType"].ToString());
				string orderingProviderNameTypeCode=table.Rows[i]["OrderingProviderNameTypeCode"].ToString();
				if(orderingProviderNameTypeCode==""){
					ehrLab.OrderingProviderNameTypeCode               =(HL70200)0;
				}
				else try{
					ehrLab.OrderingProviderNameTypeCode               =(HL70200)Enum.Parse(typeof(HL70200),orderingProviderNameTypeCode);
				}
				catch{
					ehrLab.OrderingProviderNameTypeCode               =(HL70200)0;
				}
				string orderingProviderIdentifierTypeCode=table.Rows[i]["OrderingProviderIdentifierTypeCode"].ToString();
				if(orderingProviderIdentifierTypeCode==""){
					ehrLab.OrderingProviderIdentifierTypeCode         =(HL70203)0;
				}
				else try{
					ehrLab.OrderingProviderIdentifierTypeCode         =(HL70203)Enum.Parse(typeof(HL70203),orderingProviderIdentifierTypeCode);
				}
				catch{
					ehrLab.OrderingProviderIdentifierTypeCode         =(HL70203)0;
				}
				ehrLab.SetIdOBR                                     = PIn.Long  (table.Rows[i]["SetIdOBR"].ToString());
				ehrLab.UsiID                                        = PIn.String(table.Rows[i]["UsiID"].ToString());
				ehrLab.UsiText                                      = PIn.String(table.Rows[i]["UsiText"].ToString());
				ehrLab.UsiCodeSystemName                            = PIn.String(table.Rows[i]["UsiCodeSystemName"].ToString());
				ehrLab.UsiIDAlt                                     = PIn.String(table.Rows[i]["UsiIDAlt"].ToString());
				ehrLab.UsiTextAlt                                   = PIn.String(table.Rows[i]["UsiTextAlt"].ToString());
				ehrLab.UsiCodeSystemNameAlt                         = PIn.String(table.Rows[i]["UsiCodeSystemNameAlt"].ToString());
				ehrLab.UsiTextOriginal                              = PIn.String(table.Rows[i]["UsiTextOriginal"].ToString());
				ehrLab.ObservationDateTimeStart                     = PIn.String(table.Rows[i]["ObservationDateTimeStart"].ToString());
				ehrLab.ObservationDateTimeEnd                       = PIn.String(table.Rows[i]["ObservationDateTimeEnd"].ToString());
				string specimenActionCode=table.Rows[i]["SpecimenActionCode"].ToString();
				if(specimenActionCode==""){
					ehrLab.SpecimenActionCode                         =(HL70065)0;
				}
				else try{
					ehrLab.SpecimenActionCode                         =(HL70065)Enum.Parse(typeof(HL70065),specimenActionCode);
				}
				catch{
					ehrLab.SpecimenActionCode                         =(HL70065)0;
				}
				ehrLab.ResultDateTime                               = PIn.String(table.Rows[i]["ResultDateTime"].ToString());
				string resultStatus=table.Rows[i]["ResultStatus"].ToString();
				if(resultStatus==""){
					ehrLab.ResultStatus                               =(HL70123)0;
				}
				else try{
					ehrLab.ResultStatus                               =(HL70123)Enum.Parse(typeof(HL70123),resultStatus);
				}
				catch{
					ehrLab.ResultStatus                               =(HL70123)0;
				}
				ehrLab.ParentObservationID                          = PIn.String(table.Rows[i]["ParentObservationID"].ToString());
				ehrLab.ParentObservationText                        = PIn.String(table.Rows[i]["ParentObservationText"].ToString());
				ehrLab.ParentObservationCodeSystemName              = PIn.String(table.Rows[i]["ParentObservationCodeSystemName"].ToString());
				ehrLab.ParentObservationIDAlt                       = PIn.String(table.Rows[i]["ParentObservationIDAlt"].ToString());
				ehrLab.ParentObservationTextAlt                     = PIn.String(table.Rows[i]["ParentObservationTextAlt"].ToString());
				ehrLab.ParentObservationCodeSystemNameAlt           = PIn.String(table.Rows[i]["ParentObservationCodeSystemNameAlt"].ToString());
				ehrLab.ParentObservationTextOriginal                = PIn.String(table.Rows[i]["ParentObservationTextOriginal"].ToString());
				ehrLab.ParentObservationSubID                       = PIn.String(table.Rows[i]["ParentObservationSubID"].ToString());
				ehrLab.ParentPlacerOrderNum                         = PIn.String(table.Rows[i]["ParentPlacerOrderNum"].ToString());
				ehrLab.ParentPlacerOrderNamespace                   = PIn.String(table.Rows[i]["ParentPlacerOrderNamespace"].ToString());
				ehrLab.ParentPlacerOrderUniversalID                 = PIn.String(table.Rows[i]["ParentPlacerOrderUniversalID"].ToString());
				ehrLab.ParentPlacerOrderUniversalIDType             = PIn.String(table.Rows[i]["ParentPlacerOrderUniversalIDType"].ToString());
				ehrLab.ParentFillerOrderNum                         = PIn.String(table.Rows[i]["ParentFillerOrderNum"].ToString());
				ehrLab.ParentFillerOrderNamespace                   = PIn.String(table.Rows[i]["ParentFillerOrderNamespace"].ToString());
				ehrLab.ParentFillerOrderUniversalID                 = PIn.String(table.Rows[i]["ParentFillerOrderUniversalID"].ToString());
				ehrLab.ParentFillerOrderUniversalIDType             = PIn.String(table.Rows[i]["ParentFillerOrderUniversalIDType"].ToString());
				ehrLab.ListEhrLabResultsHandlingF                   = PIn.Bool  (table.Rows[i]["ListEhrLabResultsHandlingF"].ToString());
				ehrLab.ListEhrLabResultsHandlingN                   = PIn.Bool  (table.Rows[i]["ListEhrLabResultsHandlingN"].ToString());
				ehrLab.TQ1SetId                                     = PIn.Long  (table.Rows[i]["TQ1SetId"].ToString());
				ehrLab.TQ1DateTimeStart                             = PIn.String(table.Rows[i]["TQ1DateTimeStart"].ToString());
				ehrLab.TQ1DateTimeEnd                               = PIn.String(table.Rows[i]["TQ1DateTimeEnd"].ToString());
				ehrLab.IsCpoe                                       = PIn.Bool  (table.Rows[i]["IsCpoe"].ToString());
				ehrLab.OriginalPIDSegment                           = PIn.String(table.Rows[i]["OriginalPIDSegment"].ToString());
				retVal.Add(ehrLab);
			}
			return retVal;
		}
Esempio n. 7
0
		///<summary>Updates one EhrLab in the database.  Uses an old object to compare to, and only alters changed fields.  This prevents collisions and concurrency problems in heavily used tables.</summary>
		public static void Update(EhrLab ehrLab,EhrLab oldEhrLab){
			string command="";
			if(ehrLab.PatNum != oldEhrLab.PatNum) {
				if(command!=""){ command+=",";}
				command+="PatNum = "+POut.Long(ehrLab.PatNum)+"";
			}
			if(ehrLab.OrderControlCode != oldEhrLab.OrderControlCode) {
				if(command!=""){ command+=",";}
				command+="OrderControlCode = '"+POut.String(ehrLab.OrderControlCode.ToString())+"'";
			}
			if(ehrLab.PlacerOrderNum != oldEhrLab.PlacerOrderNum) {
				if(command!=""){ command+=",";}
				command+="PlacerOrderNum = '"+POut.String(ehrLab.PlacerOrderNum)+"'";
			}
			if(ehrLab.PlacerOrderNamespace != oldEhrLab.PlacerOrderNamespace) {
				if(command!=""){ command+=",";}
				command+="PlacerOrderNamespace = '"+POut.String(ehrLab.PlacerOrderNamespace)+"'";
			}
			if(ehrLab.PlacerOrderUniversalID != oldEhrLab.PlacerOrderUniversalID) {
				if(command!=""){ command+=",";}
				command+="PlacerOrderUniversalID = '"+POut.String(ehrLab.PlacerOrderUniversalID)+"'";
			}
			if(ehrLab.PlacerOrderUniversalIDType != oldEhrLab.PlacerOrderUniversalIDType) {
				if(command!=""){ command+=",";}
				command+="PlacerOrderUniversalIDType = '"+POut.String(ehrLab.PlacerOrderUniversalIDType)+"'";
			}
			if(ehrLab.FillerOrderNum != oldEhrLab.FillerOrderNum) {
				if(command!=""){ command+=",";}
				command+="FillerOrderNum = '"+POut.String(ehrLab.FillerOrderNum)+"'";
			}
			if(ehrLab.FillerOrderNamespace != oldEhrLab.FillerOrderNamespace) {
				if(command!=""){ command+=",";}
				command+="FillerOrderNamespace = '"+POut.String(ehrLab.FillerOrderNamespace)+"'";
			}
			if(ehrLab.FillerOrderUniversalID != oldEhrLab.FillerOrderUniversalID) {
				if(command!=""){ command+=",";}
				command+="FillerOrderUniversalID = '"+POut.String(ehrLab.FillerOrderUniversalID)+"'";
			}
			if(ehrLab.FillerOrderUniversalIDType != oldEhrLab.FillerOrderUniversalIDType) {
				if(command!=""){ command+=",";}
				command+="FillerOrderUniversalIDType = '"+POut.String(ehrLab.FillerOrderUniversalIDType)+"'";
			}
			if(ehrLab.PlacerGroupNum != oldEhrLab.PlacerGroupNum) {
				if(command!=""){ command+=",";}
				command+="PlacerGroupNum = '"+POut.String(ehrLab.PlacerGroupNum)+"'";
			}
			if(ehrLab.PlacerGroupNamespace != oldEhrLab.PlacerGroupNamespace) {
				if(command!=""){ command+=",";}
				command+="PlacerGroupNamespace = '"+POut.String(ehrLab.PlacerGroupNamespace)+"'";
			}
			if(ehrLab.PlacerGroupUniversalID != oldEhrLab.PlacerGroupUniversalID) {
				if(command!=""){ command+=",";}
				command+="PlacerGroupUniversalID = '"+POut.String(ehrLab.PlacerGroupUniversalID)+"'";
			}
			if(ehrLab.PlacerGroupUniversalIDType != oldEhrLab.PlacerGroupUniversalIDType) {
				if(command!=""){ command+=",";}
				command+="PlacerGroupUniversalIDType = '"+POut.String(ehrLab.PlacerGroupUniversalIDType)+"'";
			}
			if(ehrLab.OrderingProviderID != oldEhrLab.OrderingProviderID) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderID = '"+POut.String(ehrLab.OrderingProviderID)+"'";
			}
			if(ehrLab.OrderingProviderLName != oldEhrLab.OrderingProviderLName) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderLName = '"+POut.String(ehrLab.OrderingProviderLName)+"'";
			}
			if(ehrLab.OrderingProviderFName != oldEhrLab.OrderingProviderFName) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderFName = '"+POut.String(ehrLab.OrderingProviderFName)+"'";
			}
			if(ehrLab.OrderingProviderMiddleNames != oldEhrLab.OrderingProviderMiddleNames) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderMiddleNames = '"+POut.String(ehrLab.OrderingProviderMiddleNames)+"'";
			}
			if(ehrLab.OrderingProviderSuffix != oldEhrLab.OrderingProviderSuffix) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderSuffix = '"+POut.String(ehrLab.OrderingProviderSuffix)+"'";
			}
			if(ehrLab.OrderingProviderPrefix != oldEhrLab.OrderingProviderPrefix) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderPrefix = '"+POut.String(ehrLab.OrderingProviderPrefix)+"'";
			}
			if(ehrLab.OrderingProviderAssigningAuthorityNamespaceID != oldEhrLab.OrderingProviderAssigningAuthorityNamespaceID) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderAssigningAuthorityNamespaceID = '"+POut.String(ehrLab.OrderingProviderAssigningAuthorityNamespaceID)+"'";
			}
			if(ehrLab.OrderingProviderAssigningAuthorityUniversalID != oldEhrLab.OrderingProviderAssigningAuthorityUniversalID) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderAssigningAuthorityUniversalID = '"+POut.String(ehrLab.OrderingProviderAssigningAuthorityUniversalID)+"'";
			}
			if(ehrLab.OrderingProviderAssigningAuthorityIDType != oldEhrLab.OrderingProviderAssigningAuthorityIDType) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderAssigningAuthorityIDType = '"+POut.String(ehrLab.OrderingProviderAssigningAuthorityIDType)+"'";
			}
			if(ehrLab.OrderingProviderNameTypeCode != oldEhrLab.OrderingProviderNameTypeCode) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderNameTypeCode = '"+POut.String(ehrLab.OrderingProviderNameTypeCode.ToString())+"'";
			}
			if(ehrLab.OrderingProviderIdentifierTypeCode != oldEhrLab.OrderingProviderIdentifierTypeCode) {
				if(command!=""){ command+=",";}
				command+="OrderingProviderIdentifierTypeCode = '"+POut.String(ehrLab.OrderingProviderIdentifierTypeCode.ToString())+"'";
			}
			if(ehrLab.SetIdOBR != oldEhrLab.SetIdOBR) {
				if(command!=""){ command+=",";}
				command+="SetIdOBR = "+POut.Long(ehrLab.SetIdOBR)+"";
			}
			if(ehrLab.UsiID != oldEhrLab.UsiID) {
				if(command!=""){ command+=",";}
				command+="UsiID = '"+POut.String(ehrLab.UsiID)+"'";
			}
			if(ehrLab.UsiText != oldEhrLab.UsiText) {
				if(command!=""){ command+=",";}
				command+="UsiText = '"+POut.String(ehrLab.UsiText)+"'";
			}
			if(ehrLab.UsiCodeSystemName != oldEhrLab.UsiCodeSystemName) {
				if(command!=""){ command+=",";}
				command+="UsiCodeSystemName = '"+POut.String(ehrLab.UsiCodeSystemName)+"'";
			}
			if(ehrLab.UsiIDAlt != oldEhrLab.UsiIDAlt) {
				if(command!=""){ command+=",";}
				command+="UsiIDAlt = '"+POut.String(ehrLab.UsiIDAlt)+"'";
			}
			if(ehrLab.UsiTextAlt != oldEhrLab.UsiTextAlt) {
				if(command!=""){ command+=",";}
				command+="UsiTextAlt = '"+POut.String(ehrLab.UsiTextAlt)+"'";
			}
			if(ehrLab.UsiCodeSystemNameAlt != oldEhrLab.UsiCodeSystemNameAlt) {
				if(command!=""){ command+=",";}
				command+="UsiCodeSystemNameAlt = '"+POut.String(ehrLab.UsiCodeSystemNameAlt)+"'";
			}
			if(ehrLab.UsiTextOriginal != oldEhrLab.UsiTextOriginal) {
				if(command!=""){ command+=",";}
				command+="UsiTextOriginal = '"+POut.String(ehrLab.UsiTextOriginal)+"'";
			}
			if(ehrLab.ObservationDateTimeStart != oldEhrLab.ObservationDateTimeStart) {
				if(command!=""){ command+=",";}
				command+="ObservationDateTimeStart = '"+POut.String(ehrLab.ObservationDateTimeStart)+"'";
			}
			if(ehrLab.ObservationDateTimeEnd != oldEhrLab.ObservationDateTimeEnd) {
				if(command!=""){ command+=",";}
				command+="ObservationDateTimeEnd = '"+POut.String(ehrLab.ObservationDateTimeEnd)+"'";
			}
			if(ehrLab.SpecimenActionCode != oldEhrLab.SpecimenActionCode) {
				if(command!=""){ command+=",";}
				command+="SpecimenActionCode = '"+POut.String(ehrLab.SpecimenActionCode.ToString())+"'";
			}
			if(ehrLab.ResultDateTime != oldEhrLab.ResultDateTime) {
				if(command!=""){ command+=",";}
				command+="ResultDateTime = '"+POut.String(ehrLab.ResultDateTime)+"'";
			}
			if(ehrLab.ResultStatus != oldEhrLab.ResultStatus) {
				if(command!=""){ command+=",";}
				command+="ResultStatus = '"+POut.String(ehrLab.ResultStatus.ToString())+"'";
			}
			if(ehrLab.ParentObservationID != oldEhrLab.ParentObservationID) {
				if(command!=""){ command+=",";}
				command+="ParentObservationID = '"+POut.String(ehrLab.ParentObservationID)+"'";
			}
			if(ehrLab.ParentObservationText != oldEhrLab.ParentObservationText) {
				if(command!=""){ command+=",";}
				command+="ParentObservationText = '"+POut.String(ehrLab.ParentObservationText)+"'";
			}
			if(ehrLab.ParentObservationCodeSystemName != oldEhrLab.ParentObservationCodeSystemName) {
				if(command!=""){ command+=",";}
				command+="ParentObservationCodeSystemName = '"+POut.String(ehrLab.ParentObservationCodeSystemName)+"'";
			}
			if(ehrLab.ParentObservationIDAlt != oldEhrLab.ParentObservationIDAlt) {
				if(command!=""){ command+=",";}
				command+="ParentObservationIDAlt = '"+POut.String(ehrLab.ParentObservationIDAlt)+"'";
			}
			if(ehrLab.ParentObservationTextAlt != oldEhrLab.ParentObservationTextAlt) {
				if(command!=""){ command+=",";}
				command+="ParentObservationTextAlt = '"+POut.String(ehrLab.ParentObservationTextAlt)+"'";
			}
			if(ehrLab.ParentObservationCodeSystemNameAlt != oldEhrLab.ParentObservationCodeSystemNameAlt) {
				if(command!=""){ command+=",";}
				command+="ParentObservationCodeSystemNameAlt = '"+POut.String(ehrLab.ParentObservationCodeSystemNameAlt)+"'";
			}
			if(ehrLab.ParentObservationTextOriginal != oldEhrLab.ParentObservationTextOriginal) {
				if(command!=""){ command+=",";}
				command+="ParentObservationTextOriginal = '"+POut.String(ehrLab.ParentObservationTextOriginal)+"'";
			}
			if(ehrLab.ParentObservationSubID != oldEhrLab.ParentObservationSubID) {
				if(command!=""){ command+=",";}
				command+="ParentObservationSubID = '"+POut.String(ehrLab.ParentObservationSubID)+"'";
			}
			if(ehrLab.ParentPlacerOrderNum != oldEhrLab.ParentPlacerOrderNum) {
				if(command!=""){ command+=",";}
				command+="ParentPlacerOrderNum = '"+POut.String(ehrLab.ParentPlacerOrderNum)+"'";
			}
			if(ehrLab.ParentPlacerOrderNamespace != oldEhrLab.ParentPlacerOrderNamespace) {
				if(command!=""){ command+=",";}
				command+="ParentPlacerOrderNamespace = '"+POut.String(ehrLab.ParentPlacerOrderNamespace)+"'";
			}
			if(ehrLab.ParentPlacerOrderUniversalID != oldEhrLab.ParentPlacerOrderUniversalID) {
				if(command!=""){ command+=",";}
				command+="ParentPlacerOrderUniversalID = '"+POut.String(ehrLab.ParentPlacerOrderUniversalID)+"'";
			}
			if(ehrLab.ParentPlacerOrderUniversalIDType != oldEhrLab.ParentPlacerOrderUniversalIDType) {
				if(command!=""){ command+=",";}
				command+="ParentPlacerOrderUniversalIDType = '"+POut.String(ehrLab.ParentPlacerOrderUniversalIDType)+"'";
			}
			if(ehrLab.ParentFillerOrderNum != oldEhrLab.ParentFillerOrderNum) {
				if(command!=""){ command+=",";}
				command+="ParentFillerOrderNum = '"+POut.String(ehrLab.ParentFillerOrderNum)+"'";
			}
			if(ehrLab.ParentFillerOrderNamespace != oldEhrLab.ParentFillerOrderNamespace) {
				if(command!=""){ command+=",";}
				command+="ParentFillerOrderNamespace = '"+POut.String(ehrLab.ParentFillerOrderNamespace)+"'";
			}
			if(ehrLab.ParentFillerOrderUniversalID != oldEhrLab.ParentFillerOrderUniversalID) {
				if(command!=""){ command+=",";}
				command+="ParentFillerOrderUniversalID = '"+POut.String(ehrLab.ParentFillerOrderUniversalID)+"'";
			}
			if(ehrLab.ParentFillerOrderUniversalIDType != oldEhrLab.ParentFillerOrderUniversalIDType) {
				if(command!=""){ command+=",";}
				command+="ParentFillerOrderUniversalIDType = '"+POut.String(ehrLab.ParentFillerOrderUniversalIDType)+"'";
			}
			if(ehrLab.ListEhrLabResultsHandlingF != oldEhrLab.ListEhrLabResultsHandlingF) {
				if(command!=""){ command+=",";}
				command+="ListEhrLabResultsHandlingF = "+POut.Bool(ehrLab.ListEhrLabResultsHandlingF)+"";
			}
			if(ehrLab.ListEhrLabResultsHandlingN != oldEhrLab.ListEhrLabResultsHandlingN) {
				if(command!=""){ command+=",";}
				command+="ListEhrLabResultsHandlingN = "+POut.Bool(ehrLab.ListEhrLabResultsHandlingN)+"";
			}
			if(ehrLab.TQ1SetId != oldEhrLab.TQ1SetId) {
				if(command!=""){ command+=",";}
				command+="TQ1SetId = "+POut.Long(ehrLab.TQ1SetId)+"";
			}
			if(ehrLab.TQ1DateTimeStart != oldEhrLab.TQ1DateTimeStart) {
				if(command!=""){ command+=",";}
				command+="TQ1DateTimeStart = '"+POut.String(ehrLab.TQ1DateTimeStart)+"'";
			}
			if(ehrLab.TQ1DateTimeEnd != oldEhrLab.TQ1DateTimeEnd) {
				if(command!=""){ command+=",";}
				command+="TQ1DateTimeEnd = '"+POut.String(ehrLab.TQ1DateTimeEnd)+"'";
			}
			if(ehrLab.IsCpoe != oldEhrLab.IsCpoe) {
				if(command!=""){ command+=",";}
				command+="IsCpoe = "+POut.Bool(ehrLab.IsCpoe)+"";
			}
			if(ehrLab.OriginalPIDSegment != oldEhrLab.OriginalPIDSegment) {
				if(command!=""){ command+=",";}
				command+="OriginalPIDSegment = '"+POut.String(ehrLab.OriginalPIDSegment)+"'";
			}
			if(command==""){
				return;
			}
			command="UPDATE ehrlab SET "+command
				+" WHERE EhrLabNum = "+POut.Long(ehrLab.EhrLabNum);
			Db.NonQ(command);
		}
Esempio n. 8
0
		///<summary>Inserts one EhrLab into the database.  Provides option to use the existing priKey.</summary>
		public static long Insert(EhrLab ehrLab,bool useExistingPK){
			if(!useExistingPK && PrefC.RandomKeys) {
				ehrLab.EhrLabNum=ReplicationServers.GetKey("ehrlab","EhrLabNum");
			}
			string command="INSERT INTO ehrlab (";
			if(useExistingPK || PrefC.RandomKeys) {
				command+="EhrLabNum,";
			}
			command+="PatNum,OrderControlCode,PlacerOrderNum,PlacerOrderNamespace,PlacerOrderUniversalID,PlacerOrderUniversalIDType,FillerOrderNum,FillerOrderNamespace,FillerOrderUniversalID,FillerOrderUniversalIDType,PlacerGroupNum,PlacerGroupNamespace,PlacerGroupUniversalID,PlacerGroupUniversalIDType,OrderingProviderID,OrderingProviderLName,OrderingProviderFName,OrderingProviderMiddleNames,OrderingProviderSuffix,OrderingProviderPrefix,OrderingProviderAssigningAuthorityNamespaceID,OrderingProviderAssigningAuthorityUniversalID,OrderingProviderAssigningAuthorityIDType,OrderingProviderNameTypeCode,OrderingProviderIdentifierTypeCode,SetIdOBR,UsiID,UsiText,UsiCodeSystemName,UsiIDAlt,UsiTextAlt,UsiCodeSystemNameAlt,UsiTextOriginal,ObservationDateTimeStart,ObservationDateTimeEnd,SpecimenActionCode,ResultDateTime,ResultStatus,ParentObservationID,ParentObservationText,ParentObservationCodeSystemName,ParentObservationIDAlt,ParentObservationTextAlt,ParentObservationCodeSystemNameAlt,ParentObservationTextOriginal,ParentObservationSubID,ParentPlacerOrderNum,ParentPlacerOrderNamespace,ParentPlacerOrderUniversalID,ParentPlacerOrderUniversalIDType,ParentFillerOrderNum,ParentFillerOrderNamespace,ParentFillerOrderUniversalID,ParentFillerOrderUniversalIDType,ListEhrLabResultsHandlingF,ListEhrLabResultsHandlingN,TQ1SetId,TQ1DateTimeStart,TQ1DateTimeEnd,IsCpoe,OriginalPIDSegment) VALUES(";
			if(useExistingPK || PrefC.RandomKeys) {
				command+=POut.Long(ehrLab.EhrLabNum)+",";
			}
			command+=
				     POut.Long  (ehrLab.PatNum)+","
				+"'"+POut.String(ehrLab.OrderControlCode.ToString())+"',"
				+"'"+POut.String(ehrLab.PlacerOrderNum)+"',"
				+"'"+POut.String(ehrLab.PlacerOrderNamespace)+"',"
				+"'"+POut.String(ehrLab.PlacerOrderUniversalID)+"',"
				+"'"+POut.String(ehrLab.PlacerOrderUniversalIDType)+"',"
				+"'"+POut.String(ehrLab.FillerOrderNum)+"',"
				+"'"+POut.String(ehrLab.FillerOrderNamespace)+"',"
				+"'"+POut.String(ehrLab.FillerOrderUniversalID)+"',"
				+"'"+POut.String(ehrLab.FillerOrderUniversalIDType)+"',"
				+"'"+POut.String(ehrLab.PlacerGroupNum)+"',"
				+"'"+POut.String(ehrLab.PlacerGroupNamespace)+"',"
				+"'"+POut.String(ehrLab.PlacerGroupUniversalID)+"',"
				+"'"+POut.String(ehrLab.PlacerGroupUniversalIDType)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderID)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderLName)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderFName)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderMiddleNames)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderSuffix)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderPrefix)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderAssigningAuthorityNamespaceID)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderAssigningAuthorityUniversalID)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderAssigningAuthorityIDType)+"',"
				+"'"+POut.String(ehrLab.OrderingProviderNameTypeCode.ToString())+"',"
				+"'"+POut.String(ehrLab.OrderingProviderIdentifierTypeCode.ToString())+"',"
				+    POut.Long  (ehrLab.SetIdOBR)+","
				+"'"+POut.String(ehrLab.UsiID)+"',"
				+"'"+POut.String(ehrLab.UsiText)+"',"
				+"'"+POut.String(ehrLab.UsiCodeSystemName)+"',"
				+"'"+POut.String(ehrLab.UsiIDAlt)+"',"
				+"'"+POut.String(ehrLab.UsiTextAlt)+"',"
				+"'"+POut.String(ehrLab.UsiCodeSystemNameAlt)+"',"
				+"'"+POut.String(ehrLab.UsiTextOriginal)+"',"
				+"'"+POut.String(ehrLab.ObservationDateTimeStart)+"',"
				+"'"+POut.String(ehrLab.ObservationDateTimeEnd)+"',"
				+"'"+POut.String(ehrLab.SpecimenActionCode.ToString())+"',"
				+"'"+POut.String(ehrLab.ResultDateTime)+"',"
				+"'"+POut.String(ehrLab.ResultStatus.ToString())+"',"
				+"'"+POut.String(ehrLab.ParentObservationID)+"',"
				+"'"+POut.String(ehrLab.ParentObservationText)+"',"
				+"'"+POut.String(ehrLab.ParentObservationCodeSystemName)+"',"
				+"'"+POut.String(ehrLab.ParentObservationIDAlt)+"',"
				+"'"+POut.String(ehrLab.ParentObservationTextAlt)+"',"
				+"'"+POut.String(ehrLab.ParentObservationCodeSystemNameAlt)+"',"
				+"'"+POut.String(ehrLab.ParentObservationTextOriginal)+"',"
				+"'"+POut.String(ehrLab.ParentObservationSubID)+"',"
				+"'"+POut.String(ehrLab.ParentPlacerOrderNum)+"',"
				+"'"+POut.String(ehrLab.ParentPlacerOrderNamespace)+"',"
				+"'"+POut.String(ehrLab.ParentPlacerOrderUniversalID)+"',"
				+"'"+POut.String(ehrLab.ParentPlacerOrderUniversalIDType)+"',"
				+"'"+POut.String(ehrLab.ParentFillerOrderNum)+"',"
				+"'"+POut.String(ehrLab.ParentFillerOrderNamespace)+"',"
				+"'"+POut.String(ehrLab.ParentFillerOrderUniversalID)+"',"
				+"'"+POut.String(ehrLab.ParentFillerOrderUniversalIDType)+"',"
				+    POut.Bool  (ehrLab.ListEhrLabResultsHandlingF)+","
				+    POut.Bool  (ehrLab.ListEhrLabResultsHandlingN)+","
				+    POut.Long  (ehrLab.TQ1SetId)+","
				+"'"+POut.String(ehrLab.TQ1DateTimeStart)+"',"
				+"'"+POut.String(ehrLab.TQ1DateTimeEnd)+"',"
				+    POut.Bool  (ehrLab.IsCpoe)+","
				+"'"+POut.String(ehrLab.OriginalPIDSegment)+"')";
			if(useExistingPK || PrefC.RandomKeys) {
				Db.NonQ(command);
			}
			else {
				ehrLab.EhrLabNum=Db.NonQ(command,true);
			}
			return ehrLab.EhrLabNum;
		}
Esempio n. 9
0
		///<summary>Inserts one EhrLab into the database.  Returns the new priKey.</summary>
		public static long Insert(EhrLab ehrLab){
			if(DataConnection.DBtype==DatabaseType.Oracle) {
				ehrLab.EhrLabNum=DbHelper.GetNextOracleKey("ehrlab","EhrLabNum");
				int loopcount=0;
				while(loopcount<100){
					try {
						return Insert(ehrLab,true);
					}
					catch(Oracle.DataAccess.Client.OracleException ex){
						if(ex.Number==1 && ex.Message.ToLower().Contains("unique constraint") && ex.Message.ToLower().Contains("violated")){
							ehrLab.EhrLabNum++;
							loopcount++;
						}
						else{
							throw ex;
						}
					}
				}
				throw new ApplicationException("Insert failed.  Could not generate primary key.");
			}
			else {
				return Insert(ehrLab,false);
			}
		}
        private void butOk_Click(object sender, EventArgs e)
        {
            if (IsImport || IsViewOnly)
            {
                DialogResult = DialogResult.OK;
                return;
            }
            if (!EntriesAreValid())
            {
                return;
            }
            if (Security.CurUser.ProvNum != 0 && Providers.GetProv(Security.CurUser.ProvNum).EhrKey != "")         //The user who is currently logged in is a provider and has a valid EHR key.
            {
                EhrLabCur.IsCpoe = true;
            }
            if (EhrLabCur.PatNum == 0 && PatCurNum != null)
            {
                EhrLabCur.PatNum = PatCurNum;
            }
            //EhrLabCur.OrderControlCode=((HL70119)comb);//TODO:UI and this value.
            if (checkAutoID.Checked)
            {
                EhrLabCur.PlacerOrderNum             = EhrLabs.GetNextOrderNum().ToString();
                EhrLabCur.PlacerOrderNamespace       = "";
                EhrLabCur.PlacerOrderUniversalID     = OIDInternals.GetForType(IdentifierType.LabOrder).IDRoot;
                EhrLabCur.PlacerOrderUniversalIDType = "ISO";
            }
            else
            {
                EhrLabCur.PlacerOrderNum             = textPlacerOrderNum.Text;
                EhrLabCur.PlacerOrderNamespace       = textPlacerOrderNamespace.Text;
                EhrLabCur.PlacerOrderUniversalID     = textPlacerOrderUniversalID.Text;
                EhrLabCur.PlacerOrderUniversalIDType = textPlacerOrderUniversalIDType.Text;
            }
            EhrLabCur.FillerOrderNum              = textFillerOrderNum.Text;
            EhrLabCur.FillerOrderNamespace        = textFillerOrderNamespace.Text;
            EhrLabCur.FillerOrderUniversalID      = textFillerOrderUniversalID.Text;
            EhrLabCur.FillerOrderUniversalIDType  = textFillerOrderUniversalIDType.Text;
            EhrLabCur.PlacerGroupNum              = textPlacerGroupNum.Text;
            EhrLabCur.PlacerGroupNamespace        = textPlacerGroupNamespace.Text;
            EhrLabCur.PlacerGroupUniversalID      = textPlacerGroupUniversalID.Text;
            EhrLabCur.PlacerGroupUniversalIDType  = textPlacerGroupUniversalIDType.Text;
            EhrLabCur.OrderingProviderID          = textOrderingProvIdentifier.Text;
            EhrLabCur.OrderingProviderLName       = textOrderingProvLastName.Text;
            EhrLabCur.OrderingProviderFName       = textOrderingProvFirstName.Text;
            EhrLabCur.OrderingProviderMiddleNames = textOrderingProvMiddleName.Text;
            EhrLabCur.OrderingProviderSuffix      = textOrderingProvSuffix.Text;
            EhrLabCur.OrderingProviderPrefix      = textOrderingProvPrefix.Text;
            EhrLabCur.OrderingProviderAssigningAuthorityNamespaceID = textOrderingProvAANID.Text;
            EhrLabCur.OrderingProviderAssigningAuthorityUniversalID = textOrderingProvAAUID.Text;
            EhrLabCur.OrderingProviderAssigningAuthorityIDType      = textOrderingProvAAUIDType.Text;
            EhrLabCur.OrderingProviderNameTypeCode       = ((HL70200)comboOrderingProvNameType.SelectedIndex - 1);
            EhrLabCur.OrderingProviderIdentifierTypeCode = ((HL70203)comboOrderingProvIdType.SelectedIndex - 1);
            //EhrLabCur.SetIdOBR=PIn.Long("");//TODO: UI and Save
            EhrLabCur.UsiID                    = textUsiID.Text;
            EhrLabCur.UsiText                  = textUsiText.Text;
            EhrLabCur.UsiCodeSystemName        = textUsiCodeSystemName.Text;
            EhrLabCur.UsiIDAlt                 = textUsiIDAlt.Text;
            EhrLabCur.UsiTextAlt               = textUsiTextAlt.Text;
            EhrLabCur.UsiCodeSystemNameAlt     = textUsiCodeSystemNameAlt.Text;
            EhrLabCur.UsiTextOriginal          = textUsiTextOriginal.Text;
            EhrLabCur.ObservationDateTimeStart = EhrLab.formatDateToHL7(textObservationDateTimeStart.Text.Trim());
            EhrLabCur.ObservationDateTimeEnd   = EhrLab.formatDateToHL7(textObservationDateTimeEnd.Text.Trim());
            EhrLabCur.SpecimenActionCode       = ((HL70065)comboSpecimenActionCode.SelectedIndex - 1);
            EhrLabCur.ResultDateTime           = EhrLab.formatDateToHL7(textResultDateTime.Text.Trim());//upper right hand corner of form.
            EhrLabCur.ResultStatus             = ((HL70123)comboResultStatus.SelectedIndex - 1);
            //TODO: parent result.

            /*
             * EhrLabCur.ParentObservationID=
             * EhrLabCur.ParentObservationText=
             * EhrLabCur.ParentObservationCodeSystemName=
             * EhrLabCur.ParentObservationIDAlt=
             * EhrLabCur.ParentObservationTextAlt=
             * EhrLabCur.ParentObservationCodeSystemNameAlt=
             * EhrLabCur.ParentObservationTextOriginal=
             * EhrLabCur.ParentObservationSubID=
             * EhrLabCur.ParentPlacerOrderNum=
             * EhrLabCur.ParentPlacerOrderNamespace=
             * EhrLabCur.ParentPlacerOrderUniversalID=
             * EhrLabCur.ParentPlacerOrderUniversalIDType=
             * EhrLabCur.ParentFillerOrderNum=
             * EhrLabCur.ParentFillerOrderNamespace=
             * EhrLabCur.ParentFillerOrderUniversalID=
             * EhrLabCur.ParentFillerOrderUniversalIDType=
             */
            EhrLabCur.ListEhrLabResultsHandlingF = checkResultsHandlingF.Checked;
            EhrLabCur.ListEhrLabResultsHandlingN = checkResultsHandlingN.Checked;
            //EhrLabCur.TQ1SetId=//TODO:this
            EhrLabCur.TQ1DateTimeStart = EhrLab.formatDateToHL7(textTQ1Start.Text);
            EhrLabCur.TQ1DateTimeEnd   = EhrLab.formatDateToHL7(textTQ1Stop.Text);
            EhrLabs.SaveToDB(EhrLabCur);
            Patient patCur = Patients.GetPat(EhrLabCur.PatNum);

            for (int i = 0; i < EhrLabCur.ListEhrLabResults.Count; i++)
            {
                if (CDSPermissions.GetForUser(Security.CurUser.UserNum).ShowCDS&& CDSPermissions.GetForUser(Security.CurUser.UserNum).LabTestCDS)
                {
                    FormCDSIntervention FormCDSI = new FormCDSIntervention();
                    FormCDSI.ListCDSI = EhrTriggers.TriggerMatch(EhrLabCur.ListEhrLabResults[i], patCur);
                    FormCDSI.ShowIfRequired(false);
                }
            }
            DialogResult = DialogResult.OK;
        }
 private void FormLabPanelEdit_Load(object sender, EventArgs e)
 {
     Height = System.Windows.Forms.Screen.GetWorkingArea(this).Height;
     this.SetDesktopLocation(DesktopLocation.X, 0);
     if (IsNew)
     {
         checkAutoID.Checked = true;
         checkAutoID.Visible = true;
     }
     if (IsImport || IsViewOnly)
     {
         foreach (Control c in this.Controls)
         {
             c.Enabled = false;
         }
         butViewParent.Enabled = true;
         gridMain.Enabled      = true;
         gridNotes.Enabled     = true;
         gridSpecimen.Enabled  = true;
         butCancel.Text        = "Close";
         butCancel.Enabled     = true;
         //butAddNote.Enabled=false;
         //butAddCopyTo.Enabled=false;
         //butAddClinicalInfo.Enabled=false;
         //butAdd.Enabled=false;
         //butAddSpecimens.Enabled=false;
         //butPatientPick.Enabled=false;
         //textName.Enabled=false;
         //butProvPicker.Enabled=false;
         //butServicePicker.Enabled=false;
         //butParentPicker.Enabled=false;
         //butDelete.Enabled=false;
         ////combos
         //comboOrderingProvIdType.Enabled=false;
         //comboOrderingProvNameType.Enabled=false;
         //comboResultStatus.Enabled=false;
         //comboSpecimenActionCode.Enabled=false;
         //TODO:hide the rest of the controls that shouldn't show if importing or view only.
     }
     //Parent Result
     if (EhrLabCur.ParentPlacerOrderNum != "")
     {
         textParentOrderNum.Text = EhrLabCur.ParentPlacerOrderNum;
     }
     else if (EhrLabCur.ParentFillerOrderNum != "")
     {
         textParentOrderNum.Text = EhrLabCur.ParentFillerOrderNum;
     }
     FillOrderNums();
     FillProvInfo();
     //Results Handling
     checkResultsHandlingF.Checked = EhrLabCur.ListEhrLabResultsHandlingF;
     checkResultsHandlingN.Checked = EhrLabCur.ListEhrLabResultsHandlingN;
     //UpdateTime
     textResultDateTime.Text = EhrLab.formatDateFromHL7(EhrLabCur.ResultDateTime);
     FillUsi();            //Service Identifier
     FillGrid();           //LabResults
     textObservationDateTimeStart.Text = EhrLab.formatDateFromHL7(EhrLabCur.ObservationDateTimeStart);
     textObservationDateTimeEnd.Text   = EhrLab.formatDateFromHL7(EhrLabCur.ObservationDateTimeEnd);
     //TQ1
     textTQ1Start.Text = EhrLab.formatDateFromHL7(EhrLabCur.TQ1DateTimeStart);
     textTQ1Stop.Text  = EhrLab.formatDateFromHL7(EhrLabCur.TQ1DateTimeEnd);
     FillGridNotes();
     FillGridResultsCopyTo();
     FillGridClinicalInformation();
     FillGridSpecimen();
     //Specimen Action Code
     FillComboSpecimenActionCode();
     //Result Status
     FillComboResultStatus();
     //Only allow image editing on existing labs
     if (EhrLabCur == null || EhrLabCur.EhrLabNum <= 0 || EhrLabCur.PatNum <= 0)
     {
         butManageImages.Enabled   = false;
         labelManageImages.Visible = true;
     }
     else
     {
         butManageImages.Enabled   = true;
         labelManageImages.Visible = false;
     }
 }
Esempio n. 12
0
        private void butOk_Click(object sender, EventArgs e)
        {
            if (!EntriesAreValid())
            {
                return;
            }
            //Saving happens in the parent form
            EhrLabResultCur.ObservationIdentifierID                = textObsID.Text;
            EhrLabResultCur.ObservationIdentifierText              = textObsIDText.Text;
            EhrLabResultCur.ObservationIdentifierCodeSystemName    = textObsIDCodeSystemName.Text;
            EhrLabResultCur.ObservationIdentifierIDAlt             = textObsIDAlt.Text;
            EhrLabResultCur.ObservationIdentifierTextAlt           = textObsIDTextAlt.Text;
            EhrLabResultCur.ObservationIdentifierCodeSystemNameAlt = textObsIDCodeSystemNameAlt.Text;
            EhrLabResultCur.ObservationIdentifierTextOriginal      = textObsIDOrigText.Text;
            EhrLabResultCur.ObservationIdentifierSub               = textObsSub.Text;
            EhrLabResultCur.AbnormalFlags = "";
            for (int i = 0; i < listAbnormalFlags.SelectedIndices.Count; i++)
            {
                if (i > 0)
                {
                    EhrLabResultCur.AbnormalFlags += ",";
                }
                EhrLabResultCur.AbnormalFlags += ((HL70078)listAbnormalFlags.SelectedIndices[i]).ToString();
            }
            //Observation Value
            EhrLabResultCur.ObservationDateTime     = EhrLab.formatDateToHL7(textObsDateTime.Text);
            EhrLabResultCur.AnalysisDateTime        = EhrLab.formatDateToHL7(textAnalysisDateTime.Text);
            EhrLabResultCur.ObservationResultStatus = ((HL70085)comboObsStatus.SelectedIndex - 1);
            EhrLabResultCur.ValueType      = ((HL70125)comboObsValueType.SelectedIndex - 1);
            EhrLabResultCur.referenceRange = textReferenceRange.Text;
            switch (((HL70125)comboObsValueType.SelectedIndex - 1))
            {
            case HL70125.CE:
            case HL70125.CWE:
                break;                        //nothing to do here. yet.

            case HL70125.DT:
            case HL70125.TS:
                EhrLabResultCur.ObservationValueDateTime = EhrLab.formatDateToHL7(textObsValue.Text);
                break;

            case HL70125.NM:
                EhrLabResultCur.ObservationValueNumeric = PIn.Double(textObsValue.Text);
                break;

            case HL70125.FT:
            case HL70125.ST:
            case HL70125.TX:
                EhrLabResultCur.ObservationValueText = textObsValue.Text;                      //should not contain |~^&# characters
                break;

            case HL70125.TM:
                EhrLabResultCur.ObservationValueTime = PIn.Time(textObsValue.Text);
                break;

            case HL70125.SN:
                break;                        //nothing to do here yet.
            }
            //if(((HL70125)comboObsValueType.SelectedIndex-1)==HL70125.DT
            //	|| ((HL70125)comboObsValueType.SelectedIndex-1)==HL70125.TS
            //	|| ((HL70125)comboObsValueType.SelectedIndex-1)==HL70125.TM)
            //{
            //	EhrLabResultCur.ObservationValueDateTime=EhrLab.formatDateToHL7(textObsValue.Text);
            //}
            //else {
            //	EhrLabResultCur.ObservationValueNumeric=PIn.Double(textObsValue.Text);
            //}
            //Coded Element
            EhrLabResultCur.ObservationValueCodedElementID                = textObsElementID.Text;
            EhrLabResultCur.ObservationValueCodedElementText              = textObsElementText.Text;
            EhrLabResultCur.ObservationValueCodedElementCodeSystemName    = textObsElementCodeSystem.Text;
            EhrLabResultCur.ObservationValueCodedElementIDAlt             = textObsElementIDAlt.Text;
            EhrLabResultCur.ObservationValueCodedElementTextAlt           = textObsElementTextAlt.Text;
            EhrLabResultCur.ObservationValueCodedElementCodeSystemNameAlt = textObsElementCodeSystemAlt.Text;
            EhrLabResultCur.ObservationValueCodedElementTextOriginal      = textObsElementOrigText.Text;
            //Structured Numeric
            EhrLabResultCur.ObservationValueComparator        = textStructNumComp.Text;
            EhrLabResultCur.ObservationValueNumber1           = PIn.Double(textStructNumFirst.Text);
            EhrLabResultCur.ObservationValueSeparatorOrSuffix = textStructNumSeparator.Text;
            EhrLabResultCur.ObservationValueNumber2           = PIn.Double(textStructNumSecond.Text);
            //Units
            EhrLabResultCur.UnitsID                = textObsUnitsID.Text;
            EhrLabResultCur.UnitsText              = textObsUnitsText.Text;
            EhrLabResultCur.UnitsCodeSystemName    = textObsUnitsCodeSystem.Text;
            EhrLabResultCur.UnitsIDAlt             = textObsUnitsIDAlt.Text;
            EhrLabResultCur.UnitsTextAlt           = textObsUnitsTextAlt.Text;
            EhrLabResultCur.UnitsCodeSystemNameAlt = textObsUnitsCodeSystemAlt.Text;
            EhrLabResultCur.UnitsTextOriginal      = textObsUnitsTextOrig.Text;
            //Performing Organization
            EhrLabResultCur.PerformingOrganizationName = textPerfOrgName.Text;
            EhrLabResultCur.PerformingOrganizationNameAssigningAuthorityNamespaceId     = textPerfOrgNamespaceID.Text;
            EhrLabResultCur.PerformingOrganizationNameAssigningAuthorityUniversalId     = textPerfOrgUniversalID.Text;
            EhrLabResultCur.PerformingOrganizationNameAssigningAuthorityUniversalIdType = textPerfOrgAssignIdType.Text;
            EhrLabResultCur.PerformingOrganizationIdentifierTypeCode        = ((HL70203)comboPerfOrgIdType.SelectedIndex - 1);
            EhrLabResultCur.PerformingOrganizationIdentifier                = textPerfOrgIdentifier.Text;
            EhrLabResultCur.PerformingOrganizationAddressStreet             = textPerfOrgStreet.Text;
            EhrLabResultCur.PerformingOrganizationAddressOtherDesignation   = textPerfOrgOtherDesignation.Text;
            EhrLabResultCur.PerformingOrganizationAddressCity               = textPerfOrgCity.Text;
            EhrLabResultCur.PerformingOrganizationAddressStateOrProvince    = ((USPSAlphaStateCode)comboPerfOrgState.SelectedIndex - 1);
            EhrLabResultCur.PerformingOrganizationAddressZipOrPostalCode    = textPerfOrgZip.Text;
            EhrLabResultCur.PerformingOrganizationAddressCountryCode        = textPerfOrgCountry.Text;
            EhrLabResultCur.PerformingOrganizationAddressAddressType        = ((HL70190)comboPerfOrgAddressType.SelectedIndex - 1);
            EhrLabResultCur.PerformingOrganizationAddressCountyOrParishCode = textPerfOrgCounty.Text;
            EhrLabResultCur.MedicalDirectorID          = textMedDirIdentifier.Text;
            EhrLabResultCur.MedicalDirectorLName       = textMedDirLastName.Text;
            EhrLabResultCur.MedicalDirectorFName       = textMedDirFirstName.Text;
            EhrLabResultCur.MedicalDirectorMiddleNames = textMedDirMiddleName.Text;
            EhrLabResultCur.MedicalDirectorSuffix      = textMedDirSuffix.Text;
            EhrLabResultCur.MedicalDirectorPrefix      = textMedDirPrefix.Text;
            EhrLabResultCur.MedicalDirectorAssigningAuthorityNamespaceID = textMedDirNamespaceID.Text;
            EhrLabResultCur.MedicalDirectorAssigningAuthorityUniversalID = textMedDirUniversalID.Text;
            EhrLabResultCur.MedicalDirectorAssigningAuthorityIDType      = textMedDirAssignIdType.Text;
            EhrLabResultCur.MedicalDirectorNameTypeCode       = ((HL70200)comboMedDirNameType.SelectedIndex - 1);
            EhrLabResultCur.MedicalDirectorIdentifierTypeCode = ((HL70203)comboMedDirIdType.SelectedIndex - 1);
            //Saving happens in parent form.
            DialogResult = DialogResult.OK;
        }
Esempio n. 13
0
 private void FormLabResultEdit_Load(object sender, EventArgs e)
 {
     if (IsImport || IsViewOnly)
     {
         foreach (Control c in this.Controls)
         {
             c.Enabled = false;
         }
         butCancel.Enabled = true;
         butCancel.Text    = "Close";
         gridNotes.Enabled = true;
         //butAddNote.Enabled=false;
         //butObsIdLoinc.Enabled=false;
         //butCodedElementSnomed.Enabled=false;
         //butUnitOfMeasureUCUM.Enabled=false;
         //butOk.Enabled=false;
         //combos
     }
     //textObsDateTime.Text=EhrLab.formatDateFromHL7(EhrLabResultCur.ObservationDateTime);
     //textAnalysisDateTime.Text=EhrLab.formatDateFromHL7(EhrLabResultCur.AnalysisDateTime);
     #region Observation Identifier (LOINC Codes)
     textObsIDCodeSystemName.Text = EhrLabResultCur.ObservationIdentifierCodeSystemName;
     textObsID.Text     = EhrLabResultCur.ObservationIdentifierID;
     textObsIDText.Text = EhrLabResultCur.ObservationIdentifierText;
     textObsIDCodeSystemNameAlt.Text = EhrLabResultCur.ObservationIdentifierCodeSystemNameAlt;
     textObsIDAlt.Text      = EhrLabResultCur.ObservationIdentifierIDAlt;
     textObsIDTextAlt.Text  = EhrLabResultCur.ObservationIdentifierTextAlt;
     textObsIDOrigText.Text = EhrLabResultCur.ObservationIdentifierTextOriginal;
     textObsSub.Text        = EhrLabResultCur.ObservationIdentifierSub;
     #endregion
     #region Abnormal Flags
     listAbnormalFlags.Items.Clear();
     listAbnormalFlags.BeginUpdate();
     List <string> listAbnormalFlagsStr = EhrLabResults.GetHL70078Descriptions();
     listAbnormalFlags.Items.AddRange(listAbnormalFlagsStr.ToArray());
     listAbnormalFlags.EndUpdate();
     string[] abnormalFlags = EhrLabResultCur.AbnormalFlags.Split(',');
     for (int i = 0; i < abnormalFlags.Length; i++)
     {
         if (abnormalFlags[i] == "")
         {
             continue;
         }
         listAbnormalFlags.SetSelected((int)Enum.Parse(typeof(HL70078), abnormalFlags[i], true), true);
     }
     #endregion
     #region Observation Value
     textObsDateTime.Text      = EhrLab.formatDateFromHL7(EhrLabResultCur.ObservationDateTime);
     textAnalysisDateTime.Text = EhrLab.formatDateFromHL7(EhrLabResultCur.AnalysisDateTime);
     #region Observation Status
     comboObsStatus.Items.Clear();
     comboObsStatus.BeginUpdate();
     //Fill obs status combo with HL70085 enum.  Not sure if blank is acceptable.
     List <string> listObsStatus = EhrLabResults.GetHL70085Descriptions();
     comboObsStatus.Items.AddRange(listObsStatus.ToArray());
     comboObsStatus.EndUpdate();
     comboObsStatus.SelectedIndex = (int)Enum.Parse(typeof(HL70085), EhrLabResultCur.ObservationResultStatus.ToString(), true) + 1;
     #endregion
     #region Value Type
     comboObsValueType.Items.Clear();
     comboObsValueType.BeginUpdate();
     //Fill obs value type combo with HL70125 enum.  Not sure if blank is acceptable.
     List <string> listObsValueType = EhrLabResults.GetHL70125Descriptions();
     comboObsValueType.Items.AddRange(listObsValueType.ToArray());
     comboObsValueType.EndUpdate();
     comboObsValueType.SelectedIndex = (int)Enum.Parse(typeof(HL70125), EhrLabResultCur.ValueType.ToString(), true) + 1;
     #endregion
     textObsValue.Text = GetObservationText();
     #region Coded Elements
     textObsElementCodeSystem.Text    = EhrLabResultCur.ObservationValueCodedElementCodeSystemName;
     textObsElementID.Text            = EhrLabResultCur.ObservationValueCodedElementID;
     textObsElementText.Text          = EhrLabResultCur.ObservationValueCodedElementText;
     textObsElementCodeSystemAlt.Text = EhrLabResultCur.ObservationValueCodedElementCodeSystemNameAlt;
     textObsElementIDAlt.Text         = EhrLabResultCur.ObservationValueCodedElementIDAlt;
     textObsElementTextAlt.Text       = EhrLabResultCur.ObservationValueCodedElementTextAlt;
     textObsElementOrigText.Text      = EhrLabResultCur.ObservationValueCodedElementTextOriginal;
     #endregion
     #region Structured Numeric
     textStructNumComp.Text      = EhrLabResultCur.ObservationValueComparator;
     textStructNumFirst.Text     = EhrLabResultCur.ObservationValueNumber1.ToString();
     textStructNumSeparator.Text = EhrLabResultCur.ObservationValueSeparatorOrSuffix;
     textStructNumSecond.Text    = EhrLabResultCur.ObservationValueNumber2.ToString();
     #endregion
     #region Unit of Measure
     textObsUnitsCodeSystem.Text    = EhrLabResultCur.UnitsCodeSystemName;
     textObsUnitsID.Text            = EhrLabResultCur.UnitsID;
     textObsUnitsText.Text          = EhrLabResultCur.UnitsText;
     textObsUnitsCodeSystemAlt.Text = EhrLabResultCur.UnitsCodeSystemNameAlt;
     textObsUnitsIDAlt.Text         = EhrLabResultCur.UnitsIDAlt;
     textObsUnitsTextAlt.Text       = EhrLabResultCur.UnitsTextAlt;
     textObsUnitsTextOrig.Text      = EhrLabResultCur.UnitsTextOriginal;
     #endregion
     #endregion
     #region Performing Organization
     #region Name
     textPerfOrgName.Text = EhrLabResultCur.PerformingOrganizationName;
     #region Identifier Type
     comboPerfOrgIdType.Items.Clear();
     comboPerfOrgIdType.BeginUpdate();
     //Fill identifier type combo with HL70203 enum.  Not sure if blank is acceptable.
     List <string> listPerfOrgIdType = EhrLabs.GetHL70203Descriptions();
     comboPerfOrgIdType.Items.AddRange(listPerfOrgIdType.ToArray());
     comboPerfOrgIdType.EndUpdate();
     comboPerfOrgIdType.SelectedIndex = (int)Enum.Parse(typeof(HL70203), EhrLabResultCur.PerformingOrganizationIdentifierTypeCode.ToString(), true) + 1;
     #endregion
     textPerfOrgIdentifier.Text = EhrLabResultCur.PerformingOrganizationIdentifier;
     #region Assigning Authority
     textPerfOrgAssignIdType.Text = EhrLabResultCur.PerformingOrganizationNameAssigningAuthorityUniversalIdType;
     textPerfOrgNamespaceID.Text  = EhrLabResultCur.PerformingOrganizationNameAssigningAuthorityNamespaceId;
     textPerfOrgUniversalID.Text  = EhrLabResultCur.PerformingOrganizationNameAssigningAuthorityUniversalId;
     #endregion
     #endregion
     #region Address
     #region Address Type
     comboPerfOrgAddressType.Items.Clear();
     comboPerfOrgAddressType.BeginUpdate();
     //Fill address type combo with HL70190 enum.  Not sure if blank is acceptable.
     List <string> listPerfOrgAddressType = EhrLabResults.GetHL70190Descriptions();
     comboPerfOrgAddressType.Items.AddRange(listPerfOrgAddressType.ToArray());
     comboPerfOrgAddressType.EndUpdate();
     comboPerfOrgAddressType.SelectedIndex = (int)Enum.Parse(typeof(HL70190), EhrLabResultCur.PerformingOrganizationAddressAddressType.ToString(), true) + 1;
     #endregion
     textPerfOrgStreet.Text           = EhrLabResultCur.PerformingOrganizationAddressStreet;
     textPerfOrgOtherDesignation.Text = EhrLabResultCur.PerformingOrganizationAddressOtherDesignation;
     textPerfOrgCity.Text             = EhrLabResultCur.PerformingOrganizationAddressCity;
     #region State or Province
     comboPerfOrgState.Items.Clear();
     comboPerfOrgState.BeginUpdate();
     //Fill state combo with USPSAlphaStateCode enum.  Not sure if blank is acceptable.
     List <string> listPerfOrgState = EhrLabResults.GetUSPSAlphaStateCodeDescriptions();
     comboPerfOrgState.Items.AddRange(listPerfOrgState.ToArray());
     comboPerfOrgState.EndUpdate();
     comboPerfOrgState.SelectedIndex = (int)Enum.Parse(typeof(USPSAlphaStateCode), EhrLabResultCur.PerformingOrganizationAddressStateOrProvince.ToString(), true) + 1;
     #endregion
     textPerfOrgZip.Text     = EhrLabResultCur.PerformingOrganizationAddressZipOrPostalCode;
     textPerfOrgCountry.Text = EhrLabResultCur.PerformingOrganizationAddressCountryCode;
     textPerfOrgCounty.Text  = EhrLabResultCur.PerformingOrganizationAddressCountyOrParishCode;
     #endregion
     #region Medical Director
     #region Identifier Type
     comboMedDirIdType.Items.Clear();
     comboMedDirIdType.BeginUpdate();
     //Fill medical director type combo with HL70203 enum.  Not sure if blank is acceptable.
     List <string> listMedDirIdType = EhrLabs.GetHL70203Descriptions();
     comboMedDirIdType.Items.AddRange(listMedDirIdType.ToArray());
     comboMedDirIdType.EndUpdate();
     comboMedDirIdType.SelectedIndex = (int)Enum.Parse(typeof(HL70203), EhrLabResultCur.MedicalDirectorIdentifierTypeCode.ToString(), true) + 1;
     #endregion
     textMedDirIdentifier.Text = EhrLabResultCur.MedicalDirectorID;
     #region Name Type
     comboMedDirNameType.Items.Clear();
     comboMedDirNameType.BeginUpdate();
     //Fill medical director name combo with HL70200 enum.  Not sure if blank is acceptable.
     List <string> listMedDirNameType = EhrLabResults.GetHL70200Descriptions();
     comboMedDirNameType.Items.AddRange(listMedDirIdType.ToArray());
     comboMedDirNameType.EndUpdate();
     comboMedDirNameType.SelectedIndex = (int)Enum.Parse(typeof(HL70200), EhrLabResultCur.MedicalDirectorNameTypeCode.ToString(), true) + 1;
     #endregion
     textMedDirLastName.Text   = EhrLabResultCur.MedicalDirectorLName;
     textMedDirFirstName.Text  = EhrLabResultCur.MedicalDirectorFName;
     textMedDirMiddleName.Text = EhrLabResultCur.MedicalDirectorMiddleNames;
     textMedDirSuffix.Text     = EhrLabResultCur.MedicalDirectorSuffix;
     textMedDirPrefix.Text     = EhrLabResultCur.MedicalDirectorPrefix;
     #region Assigning Authority
     textMedDirAssignIdType.Text = EhrLabResultCur.MedicalDirectorAssigningAuthorityIDType;
     textMedDirNamespaceID.Text  = EhrLabResultCur.MedicalDirectorAssigningAuthorityNamespaceID;
     textMedDirUniversalID.Text  = EhrLabResultCur.MedicalDirectorAssigningAuthorityUniversalID;
     #endregion
     #endregion
     #endregion
     textReferenceRange.Text = EhrLabResultCur.referenceRange;
     FillGridNotes();
 }
Esempio n. 14
0
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <EhrLab> TableToList(DataTable table)
        {
            List <EhrLab> retVal = new List <EhrLab>();
            EhrLab        ehrLab;

            for (int i = 0; i < table.Rows.Count; i++)
            {
                ehrLab           = new EhrLab();
                ehrLab.EhrLabNum = PIn.Long(table.Rows[i]["EhrLabNum"].ToString());
                ehrLab.PatNum    = PIn.Long(table.Rows[i]["PatNum"].ToString());
                string orderControlCode = table.Rows[i]["OrderControlCode"].ToString();
                if (orderControlCode == "")
                {
                    ehrLab.OrderControlCode = (HL70119)0;
                }
                else
                {
                    try{
                        ehrLab.OrderControlCode = (HL70119)Enum.Parse(typeof(HL70119), orderControlCode);
                    }
                    catch {
                        ehrLab.OrderControlCode = (HL70119)0;
                    }
                }
                ehrLab.PlacerOrderNum              = PIn.String(table.Rows[i]["PlacerOrderNum"].ToString());
                ehrLab.PlacerOrderNamespace        = PIn.String(table.Rows[i]["PlacerOrderNamespace"].ToString());
                ehrLab.PlacerOrderUniversalID      = PIn.String(table.Rows[i]["PlacerOrderUniversalID"].ToString());
                ehrLab.PlacerOrderUniversalIDType  = PIn.String(table.Rows[i]["PlacerOrderUniversalIDType"].ToString());
                ehrLab.FillerOrderNum              = PIn.String(table.Rows[i]["FillerOrderNum"].ToString());
                ehrLab.FillerOrderNamespace        = PIn.String(table.Rows[i]["FillerOrderNamespace"].ToString());
                ehrLab.FillerOrderUniversalID      = PIn.String(table.Rows[i]["FillerOrderUniversalID"].ToString());
                ehrLab.FillerOrderUniversalIDType  = PIn.String(table.Rows[i]["FillerOrderUniversalIDType"].ToString());
                ehrLab.PlacerGroupNum              = PIn.String(table.Rows[i]["PlacerGroupNum"].ToString());
                ehrLab.PlacerGroupNamespace        = PIn.String(table.Rows[i]["PlacerGroupNamespace"].ToString());
                ehrLab.PlacerGroupUniversalID      = PIn.String(table.Rows[i]["PlacerGroupUniversalID"].ToString());
                ehrLab.PlacerGroupUniversalIDType  = PIn.String(table.Rows[i]["PlacerGroupUniversalIDType"].ToString());
                ehrLab.OrderingProviderID          = PIn.String(table.Rows[i]["OrderingProviderID"].ToString());
                ehrLab.OrderingProviderLName       = PIn.String(table.Rows[i]["OrderingProviderLName"].ToString());
                ehrLab.OrderingProviderFName       = PIn.String(table.Rows[i]["OrderingProviderFName"].ToString());
                ehrLab.OrderingProviderMiddleNames = PIn.String(table.Rows[i]["OrderingProviderMiddleNames"].ToString());
                ehrLab.OrderingProviderSuffix      = PIn.String(table.Rows[i]["OrderingProviderSuffix"].ToString());
                ehrLab.OrderingProviderPrefix      = PIn.String(table.Rows[i]["OrderingProviderPrefix"].ToString());
                ehrLab.OrderingProviderAssigningAuthorityNamespaceID = PIn.String(table.Rows[i]["OrderingProviderAssigningAuthorityNamespaceID"].ToString());
                ehrLab.OrderingProviderAssigningAuthorityUniversalID = PIn.String(table.Rows[i]["OrderingProviderAssigningAuthorityUniversalID"].ToString());
                ehrLab.OrderingProviderAssigningAuthorityIDType      = PIn.String(table.Rows[i]["OrderingProviderAssigningAuthorityIDType"].ToString());
                string orderingProviderNameTypeCode = table.Rows[i]["OrderingProviderNameTypeCode"].ToString();
                if (orderingProviderNameTypeCode == "")
                {
                    ehrLab.OrderingProviderNameTypeCode = (HL70200)0;
                }
                else
                {
                    try{
                        ehrLab.OrderingProviderNameTypeCode = (HL70200)Enum.Parse(typeof(HL70200), orderingProviderNameTypeCode);
                    }
                    catch {
                        ehrLab.OrderingProviderNameTypeCode = (HL70200)0;
                    }
                }
                string orderingProviderIdentifierTypeCode = table.Rows[i]["OrderingProviderIdentifierTypeCode"].ToString();
                if (orderingProviderIdentifierTypeCode == "")
                {
                    ehrLab.OrderingProviderIdentifierTypeCode = (HL70203)0;
                }
                else
                {
                    try{
                        ehrLab.OrderingProviderIdentifierTypeCode = (HL70203)Enum.Parse(typeof(HL70203), orderingProviderIdentifierTypeCode);
                    }
                    catch {
                        ehrLab.OrderingProviderIdentifierTypeCode = (HL70203)0;
                    }
                }
                ehrLab.SetIdOBR                 = PIn.Long(table.Rows[i]["SetIdOBR"].ToString());
                ehrLab.UsiID                    = PIn.String(table.Rows[i]["UsiID"].ToString());
                ehrLab.UsiText                  = PIn.String(table.Rows[i]["UsiText"].ToString());
                ehrLab.UsiCodeSystemName        = PIn.String(table.Rows[i]["UsiCodeSystemName"].ToString());
                ehrLab.UsiIDAlt                 = PIn.String(table.Rows[i]["UsiIDAlt"].ToString());
                ehrLab.UsiTextAlt               = PIn.String(table.Rows[i]["UsiTextAlt"].ToString());
                ehrLab.UsiCodeSystemNameAlt     = PIn.String(table.Rows[i]["UsiCodeSystemNameAlt"].ToString());
                ehrLab.UsiTextOriginal          = PIn.String(table.Rows[i]["UsiTextOriginal"].ToString());
                ehrLab.ObservationDateTimeStart = PIn.String(table.Rows[i]["ObservationDateTimeStart"].ToString());
                ehrLab.ObservationDateTimeEnd   = PIn.String(table.Rows[i]["ObservationDateTimeEnd"].ToString());
                string specimenActionCode = table.Rows[i]["SpecimenActionCode"].ToString();
                if (specimenActionCode == "")
                {
                    ehrLab.SpecimenActionCode = (HL70065)0;
                }
                else
                {
                    try{
                        ehrLab.SpecimenActionCode = (HL70065)Enum.Parse(typeof(HL70065), specimenActionCode);
                    }
                    catch {
                        ehrLab.SpecimenActionCode = (HL70065)0;
                    }
                }
                ehrLab.ResultDateTime = PIn.String(table.Rows[i]["ResultDateTime"].ToString());
                string resultStatus = table.Rows[i]["ResultStatus"].ToString();
                if (resultStatus == "")
                {
                    ehrLab.ResultStatus = (HL70123)0;
                }
                else
                {
                    try{
                        ehrLab.ResultStatus = (HL70123)Enum.Parse(typeof(HL70123), resultStatus);
                    }
                    catch {
                        ehrLab.ResultStatus = (HL70123)0;
                    }
                }
                ehrLab.ParentObservationID                = PIn.String(table.Rows[i]["ParentObservationID"].ToString());
                ehrLab.ParentObservationText              = PIn.String(table.Rows[i]["ParentObservationText"].ToString());
                ehrLab.ParentObservationCodeSystemName    = PIn.String(table.Rows[i]["ParentObservationCodeSystemName"].ToString());
                ehrLab.ParentObservationIDAlt             = PIn.String(table.Rows[i]["ParentObservationIDAlt"].ToString());
                ehrLab.ParentObservationTextAlt           = PIn.String(table.Rows[i]["ParentObservationTextAlt"].ToString());
                ehrLab.ParentObservationCodeSystemNameAlt = PIn.String(table.Rows[i]["ParentObservationCodeSystemNameAlt"].ToString());
                ehrLab.ParentObservationTextOriginal      = PIn.String(table.Rows[i]["ParentObservationTextOriginal"].ToString());
                ehrLab.ParentObservationSubID             = PIn.String(table.Rows[i]["ParentObservationSubID"].ToString());
                ehrLab.ParentPlacerOrderNum               = PIn.String(table.Rows[i]["ParentPlacerOrderNum"].ToString());
                ehrLab.ParentPlacerOrderNamespace         = PIn.String(table.Rows[i]["ParentPlacerOrderNamespace"].ToString());
                ehrLab.ParentPlacerOrderUniversalID       = PIn.String(table.Rows[i]["ParentPlacerOrderUniversalID"].ToString());
                ehrLab.ParentPlacerOrderUniversalIDType   = PIn.String(table.Rows[i]["ParentPlacerOrderUniversalIDType"].ToString());
                ehrLab.ParentFillerOrderNum               = PIn.String(table.Rows[i]["ParentFillerOrderNum"].ToString());
                ehrLab.ParentFillerOrderNamespace         = PIn.String(table.Rows[i]["ParentFillerOrderNamespace"].ToString());
                ehrLab.ParentFillerOrderUniversalID       = PIn.String(table.Rows[i]["ParentFillerOrderUniversalID"].ToString());
                ehrLab.ParentFillerOrderUniversalIDType   = PIn.String(table.Rows[i]["ParentFillerOrderUniversalIDType"].ToString());
                ehrLab.ListEhrLabResultsHandlingF         = PIn.Bool(table.Rows[i]["ListEhrLabResultsHandlingF"].ToString());
                ehrLab.ListEhrLabResultsHandlingN         = PIn.Bool(table.Rows[i]["ListEhrLabResultsHandlingN"].ToString());
                ehrLab.TQ1SetId           = PIn.Long(table.Rows[i]["TQ1SetId"].ToString());
                ehrLab.TQ1DateTimeStart   = PIn.String(table.Rows[i]["TQ1DateTimeStart"].ToString());
                ehrLab.TQ1DateTimeEnd     = PIn.String(table.Rows[i]["TQ1DateTimeEnd"].ToString());
                ehrLab.IsCpoe             = PIn.Bool(table.Rows[i]["IsCpoe"].ToString());
                ehrLab.OriginalPIDSegment = PIn.String(table.Rows[i]["OriginalPIDSegment"].ToString());
                retVal.Add(ehrLab);
            }
            return(retVal);
        }
Esempio n. 15
0
        ///<summary>Updates one EhrLab in the database.  Uses an old object to compare to, and only alters changed fields.  This prevents collisions and concurrency problems in heavily used tables.</summary>
        public static void Update(EhrLab ehrLab, EhrLab oldEhrLab)
        {
            string command = "";

            if (ehrLab.PatNum != oldEhrLab.PatNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PatNum = " + POut.Long(ehrLab.PatNum) + "";
            }
            if (ehrLab.OrderControlCode != oldEhrLab.OrderControlCode)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderControlCode = '" + POut.String(ehrLab.OrderControlCode.ToString()) + "'";
            }
            if (ehrLab.PlacerOrderNum != oldEhrLab.PlacerOrderNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PlacerOrderNum = '" + POut.String(ehrLab.PlacerOrderNum) + "'";
            }
            if (ehrLab.PlacerOrderNamespace != oldEhrLab.PlacerOrderNamespace)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PlacerOrderNamespace = '" + POut.String(ehrLab.PlacerOrderNamespace) + "'";
            }
            if (ehrLab.PlacerOrderUniversalID != oldEhrLab.PlacerOrderUniversalID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PlacerOrderUniversalID = '" + POut.String(ehrLab.PlacerOrderUniversalID) + "'";
            }
            if (ehrLab.PlacerOrderUniversalIDType != oldEhrLab.PlacerOrderUniversalIDType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PlacerOrderUniversalIDType = '" + POut.String(ehrLab.PlacerOrderUniversalIDType) + "'";
            }
            if (ehrLab.FillerOrderNum != oldEhrLab.FillerOrderNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "FillerOrderNum = '" + POut.String(ehrLab.FillerOrderNum) + "'";
            }
            if (ehrLab.FillerOrderNamespace != oldEhrLab.FillerOrderNamespace)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "FillerOrderNamespace = '" + POut.String(ehrLab.FillerOrderNamespace) + "'";
            }
            if (ehrLab.FillerOrderUniversalID != oldEhrLab.FillerOrderUniversalID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "FillerOrderUniversalID = '" + POut.String(ehrLab.FillerOrderUniversalID) + "'";
            }
            if (ehrLab.FillerOrderUniversalIDType != oldEhrLab.FillerOrderUniversalIDType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "FillerOrderUniversalIDType = '" + POut.String(ehrLab.FillerOrderUniversalIDType) + "'";
            }
            if (ehrLab.PlacerGroupNum != oldEhrLab.PlacerGroupNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PlacerGroupNum = '" + POut.String(ehrLab.PlacerGroupNum) + "'";
            }
            if (ehrLab.PlacerGroupNamespace != oldEhrLab.PlacerGroupNamespace)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PlacerGroupNamespace = '" + POut.String(ehrLab.PlacerGroupNamespace) + "'";
            }
            if (ehrLab.PlacerGroupUniversalID != oldEhrLab.PlacerGroupUniversalID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PlacerGroupUniversalID = '" + POut.String(ehrLab.PlacerGroupUniversalID) + "'";
            }
            if (ehrLab.PlacerGroupUniversalIDType != oldEhrLab.PlacerGroupUniversalIDType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "PlacerGroupUniversalIDType = '" + POut.String(ehrLab.PlacerGroupUniversalIDType) + "'";
            }
            if (ehrLab.OrderingProviderID != oldEhrLab.OrderingProviderID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderID = '" + POut.String(ehrLab.OrderingProviderID) + "'";
            }
            if (ehrLab.OrderingProviderLName != oldEhrLab.OrderingProviderLName)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderLName = '" + POut.String(ehrLab.OrderingProviderLName) + "'";
            }
            if (ehrLab.OrderingProviderFName != oldEhrLab.OrderingProviderFName)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderFName = '" + POut.String(ehrLab.OrderingProviderFName) + "'";
            }
            if (ehrLab.OrderingProviderMiddleNames != oldEhrLab.OrderingProviderMiddleNames)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderMiddleNames = '" + POut.String(ehrLab.OrderingProviderMiddleNames) + "'";
            }
            if (ehrLab.OrderingProviderSuffix != oldEhrLab.OrderingProviderSuffix)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderSuffix = '" + POut.String(ehrLab.OrderingProviderSuffix) + "'";
            }
            if (ehrLab.OrderingProviderPrefix != oldEhrLab.OrderingProviderPrefix)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderPrefix = '" + POut.String(ehrLab.OrderingProviderPrefix) + "'";
            }
            if (ehrLab.OrderingProviderAssigningAuthorityNamespaceID != oldEhrLab.OrderingProviderAssigningAuthorityNamespaceID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderAssigningAuthorityNamespaceID = '" + POut.String(ehrLab.OrderingProviderAssigningAuthorityNamespaceID) + "'";
            }
            if (ehrLab.OrderingProviderAssigningAuthorityUniversalID != oldEhrLab.OrderingProviderAssigningAuthorityUniversalID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderAssigningAuthorityUniversalID = '" + POut.String(ehrLab.OrderingProviderAssigningAuthorityUniversalID) + "'";
            }
            if (ehrLab.OrderingProviderAssigningAuthorityIDType != oldEhrLab.OrderingProviderAssigningAuthorityIDType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderAssigningAuthorityIDType = '" + POut.String(ehrLab.OrderingProviderAssigningAuthorityIDType) + "'";
            }
            if (ehrLab.OrderingProviderNameTypeCode != oldEhrLab.OrderingProviderNameTypeCode)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderNameTypeCode = '" + POut.String(ehrLab.OrderingProviderNameTypeCode.ToString()) + "'";
            }
            if (ehrLab.OrderingProviderIdentifierTypeCode != oldEhrLab.OrderingProviderIdentifierTypeCode)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OrderingProviderIdentifierTypeCode = '" + POut.String(ehrLab.OrderingProviderIdentifierTypeCode.ToString()) + "'";
            }
            if (ehrLab.SetIdOBR != oldEhrLab.SetIdOBR)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "SetIdOBR = " + POut.Long(ehrLab.SetIdOBR) + "";
            }
            if (ehrLab.UsiID != oldEhrLab.UsiID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UsiID = '" + POut.String(ehrLab.UsiID) + "'";
            }
            if (ehrLab.UsiText != oldEhrLab.UsiText)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UsiText = '" + POut.String(ehrLab.UsiText) + "'";
            }
            if (ehrLab.UsiCodeSystemName != oldEhrLab.UsiCodeSystemName)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UsiCodeSystemName = '" + POut.String(ehrLab.UsiCodeSystemName) + "'";
            }
            if (ehrLab.UsiIDAlt != oldEhrLab.UsiIDAlt)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UsiIDAlt = '" + POut.String(ehrLab.UsiIDAlt) + "'";
            }
            if (ehrLab.UsiTextAlt != oldEhrLab.UsiTextAlt)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UsiTextAlt = '" + POut.String(ehrLab.UsiTextAlt) + "'";
            }
            if (ehrLab.UsiCodeSystemNameAlt != oldEhrLab.UsiCodeSystemNameAlt)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UsiCodeSystemNameAlt = '" + POut.String(ehrLab.UsiCodeSystemNameAlt) + "'";
            }
            if (ehrLab.UsiTextOriginal != oldEhrLab.UsiTextOriginal)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "UsiTextOriginal = '" + POut.String(ehrLab.UsiTextOriginal) + "'";
            }
            if (ehrLab.ObservationDateTimeStart != oldEhrLab.ObservationDateTimeStart)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ObservationDateTimeStart = '" + POut.String(ehrLab.ObservationDateTimeStart) + "'";
            }
            if (ehrLab.ObservationDateTimeEnd != oldEhrLab.ObservationDateTimeEnd)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ObservationDateTimeEnd = '" + POut.String(ehrLab.ObservationDateTimeEnd) + "'";
            }
            if (ehrLab.SpecimenActionCode != oldEhrLab.SpecimenActionCode)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "SpecimenActionCode = '" + POut.String(ehrLab.SpecimenActionCode.ToString()) + "'";
            }
            if (ehrLab.ResultDateTime != oldEhrLab.ResultDateTime)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ResultDateTime = '" + POut.String(ehrLab.ResultDateTime) + "'";
            }
            if (ehrLab.ResultStatus != oldEhrLab.ResultStatus)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ResultStatus = '" + POut.String(ehrLab.ResultStatus.ToString()) + "'";
            }
            if (ehrLab.ParentObservationID != oldEhrLab.ParentObservationID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentObservationID = '" + POut.String(ehrLab.ParentObservationID) + "'";
            }
            if (ehrLab.ParentObservationText != oldEhrLab.ParentObservationText)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentObservationText = '" + POut.String(ehrLab.ParentObservationText) + "'";
            }
            if (ehrLab.ParentObservationCodeSystemName != oldEhrLab.ParentObservationCodeSystemName)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentObservationCodeSystemName = '" + POut.String(ehrLab.ParentObservationCodeSystemName) + "'";
            }
            if (ehrLab.ParentObservationIDAlt != oldEhrLab.ParentObservationIDAlt)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentObservationIDAlt = '" + POut.String(ehrLab.ParentObservationIDAlt) + "'";
            }
            if (ehrLab.ParentObservationTextAlt != oldEhrLab.ParentObservationTextAlt)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentObservationTextAlt = '" + POut.String(ehrLab.ParentObservationTextAlt) + "'";
            }
            if (ehrLab.ParentObservationCodeSystemNameAlt != oldEhrLab.ParentObservationCodeSystemNameAlt)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentObservationCodeSystemNameAlt = '" + POut.String(ehrLab.ParentObservationCodeSystemNameAlt) + "'";
            }
            if (ehrLab.ParentObservationTextOriginal != oldEhrLab.ParentObservationTextOriginal)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentObservationTextOriginal = '" + POut.String(ehrLab.ParentObservationTextOriginal) + "'";
            }
            if (ehrLab.ParentObservationSubID != oldEhrLab.ParentObservationSubID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentObservationSubID = '" + POut.String(ehrLab.ParentObservationSubID) + "'";
            }
            if (ehrLab.ParentPlacerOrderNum != oldEhrLab.ParentPlacerOrderNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentPlacerOrderNum = '" + POut.String(ehrLab.ParentPlacerOrderNum) + "'";
            }
            if (ehrLab.ParentPlacerOrderNamespace != oldEhrLab.ParentPlacerOrderNamespace)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentPlacerOrderNamespace = '" + POut.String(ehrLab.ParentPlacerOrderNamespace) + "'";
            }
            if (ehrLab.ParentPlacerOrderUniversalID != oldEhrLab.ParentPlacerOrderUniversalID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentPlacerOrderUniversalID = '" + POut.String(ehrLab.ParentPlacerOrderUniversalID) + "'";
            }
            if (ehrLab.ParentPlacerOrderUniversalIDType != oldEhrLab.ParentPlacerOrderUniversalIDType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentPlacerOrderUniversalIDType = '" + POut.String(ehrLab.ParentPlacerOrderUniversalIDType) + "'";
            }
            if (ehrLab.ParentFillerOrderNum != oldEhrLab.ParentFillerOrderNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentFillerOrderNum = '" + POut.String(ehrLab.ParentFillerOrderNum) + "'";
            }
            if (ehrLab.ParentFillerOrderNamespace != oldEhrLab.ParentFillerOrderNamespace)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentFillerOrderNamespace = '" + POut.String(ehrLab.ParentFillerOrderNamespace) + "'";
            }
            if (ehrLab.ParentFillerOrderUniversalID != oldEhrLab.ParentFillerOrderUniversalID)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentFillerOrderUniversalID = '" + POut.String(ehrLab.ParentFillerOrderUniversalID) + "'";
            }
            if (ehrLab.ParentFillerOrderUniversalIDType != oldEhrLab.ParentFillerOrderUniversalIDType)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ParentFillerOrderUniversalIDType = '" + POut.String(ehrLab.ParentFillerOrderUniversalIDType) + "'";
            }
            if (ehrLab.ListEhrLabResultsHandlingF != oldEhrLab.ListEhrLabResultsHandlingF)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ListEhrLabResultsHandlingF = " + POut.Bool(ehrLab.ListEhrLabResultsHandlingF) + "";
            }
            if (ehrLab.ListEhrLabResultsHandlingN != oldEhrLab.ListEhrLabResultsHandlingN)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "ListEhrLabResultsHandlingN = " + POut.Bool(ehrLab.ListEhrLabResultsHandlingN) + "";
            }
            if (ehrLab.TQ1SetId != oldEhrLab.TQ1SetId)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TQ1SetId = " + POut.Long(ehrLab.TQ1SetId) + "";
            }
            if (ehrLab.TQ1DateTimeStart != oldEhrLab.TQ1DateTimeStart)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TQ1DateTimeStart = '" + POut.String(ehrLab.TQ1DateTimeStart) + "'";
            }
            if (ehrLab.TQ1DateTimeEnd != oldEhrLab.TQ1DateTimeEnd)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "TQ1DateTimeEnd = '" + POut.String(ehrLab.TQ1DateTimeEnd) + "'";
            }
            if (ehrLab.IsCpoe != oldEhrLab.IsCpoe)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "IsCpoe = " + POut.Bool(ehrLab.IsCpoe) + "";
            }
            if (ehrLab.OriginalPIDSegment != oldEhrLab.OriginalPIDSegment)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "OriginalPIDSegment = '" + POut.String(ehrLab.OriginalPIDSegment) + "'";
            }
            if (command == "")
            {
                return;
            }
            command = "UPDATE ehrlab SET " + command
                      + " WHERE EhrLabNum = " + POut.Long(ehrLab.EhrLabNum);
            Db.NonQ(command);
        }
Esempio n. 16
0
        ///<summary>Inserts one EhrLab into the database.  Provides option to use the existing priKey.</summary>
        public static long Insert(EhrLab ehrLab, bool useExistingPK)
        {
            if (!useExistingPK && PrefC.RandomKeys)
            {
                ehrLab.EhrLabNum = ReplicationServers.GetKey("ehrlab", "EhrLabNum");
            }
            string command = "INSERT INTO ehrlab (";

            if (useExistingPK || PrefC.RandomKeys)
            {
                command += "EhrLabNum,";
            }
            command += "PatNum,OrderControlCode,PlacerOrderNum,PlacerOrderNamespace,PlacerOrderUniversalID,PlacerOrderUniversalIDType,FillerOrderNum,FillerOrderNamespace,FillerOrderUniversalID,FillerOrderUniversalIDType,PlacerGroupNum,PlacerGroupNamespace,PlacerGroupUniversalID,PlacerGroupUniversalIDType,OrderingProviderID,OrderingProviderLName,OrderingProviderFName,OrderingProviderMiddleNames,OrderingProviderSuffix,OrderingProviderPrefix,OrderingProviderAssigningAuthorityNamespaceID,OrderingProviderAssigningAuthorityUniversalID,OrderingProviderAssigningAuthorityIDType,OrderingProviderNameTypeCode,OrderingProviderIdentifierTypeCode,SetIdOBR,UsiID,UsiText,UsiCodeSystemName,UsiIDAlt,UsiTextAlt,UsiCodeSystemNameAlt,UsiTextOriginal,ObservationDateTimeStart,ObservationDateTimeEnd,SpecimenActionCode,ResultDateTime,ResultStatus,ParentObservationID,ParentObservationText,ParentObservationCodeSystemName,ParentObservationIDAlt,ParentObservationTextAlt,ParentObservationCodeSystemNameAlt,ParentObservationTextOriginal,ParentObservationSubID,ParentPlacerOrderNum,ParentPlacerOrderNamespace,ParentPlacerOrderUniversalID,ParentPlacerOrderUniversalIDType,ParentFillerOrderNum,ParentFillerOrderNamespace,ParentFillerOrderUniversalID,ParentFillerOrderUniversalIDType,ListEhrLabResultsHandlingF,ListEhrLabResultsHandlingN,TQ1SetId,TQ1DateTimeStart,TQ1DateTimeEnd,IsCpoe,OriginalPIDSegment) VALUES(";
            if (useExistingPK || PrefC.RandomKeys)
            {
                command += POut.Long(ehrLab.EhrLabNum) + ",";
            }
            command +=
                POut.Long(ehrLab.PatNum) + ","
                + "'" + POut.String(ehrLab.OrderControlCode.ToString()) + "',"
                + "'" + POut.String(ehrLab.PlacerOrderNum) + "',"
                + "'" + POut.String(ehrLab.PlacerOrderNamespace) + "',"
                + "'" + POut.String(ehrLab.PlacerOrderUniversalID) + "',"
                + "'" + POut.String(ehrLab.PlacerOrderUniversalIDType) + "',"
                + "'" + POut.String(ehrLab.FillerOrderNum) + "',"
                + "'" + POut.String(ehrLab.FillerOrderNamespace) + "',"
                + "'" + POut.String(ehrLab.FillerOrderUniversalID) + "',"
                + "'" + POut.String(ehrLab.FillerOrderUniversalIDType) + "',"
                + "'" + POut.String(ehrLab.PlacerGroupNum) + "',"
                + "'" + POut.String(ehrLab.PlacerGroupNamespace) + "',"
                + "'" + POut.String(ehrLab.PlacerGroupUniversalID) + "',"
                + "'" + POut.String(ehrLab.PlacerGroupUniversalIDType) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderID) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderLName) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderFName) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderMiddleNames) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderSuffix) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderPrefix) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderAssigningAuthorityNamespaceID) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderAssigningAuthorityUniversalID) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderAssigningAuthorityIDType) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderNameTypeCode.ToString()) + "',"
                + "'" + POut.String(ehrLab.OrderingProviderIdentifierTypeCode.ToString()) + "',"
                + POut.Long(ehrLab.SetIdOBR) + ","
                + "'" + POut.String(ehrLab.UsiID) + "',"
                + "'" + POut.String(ehrLab.UsiText) + "',"
                + "'" + POut.String(ehrLab.UsiCodeSystemName) + "',"
                + "'" + POut.String(ehrLab.UsiIDAlt) + "',"
                + "'" + POut.String(ehrLab.UsiTextAlt) + "',"
                + "'" + POut.String(ehrLab.UsiCodeSystemNameAlt) + "',"
                + "'" + POut.String(ehrLab.UsiTextOriginal) + "',"
                + "'" + POut.String(ehrLab.ObservationDateTimeStart) + "',"
                + "'" + POut.String(ehrLab.ObservationDateTimeEnd) + "',"
                + "'" + POut.String(ehrLab.SpecimenActionCode.ToString()) + "',"
                + "'" + POut.String(ehrLab.ResultDateTime) + "',"
                + "'" + POut.String(ehrLab.ResultStatus.ToString()) + "',"
                + "'" + POut.String(ehrLab.ParentObservationID) + "',"
                + "'" + POut.String(ehrLab.ParentObservationText) + "',"
                + "'" + POut.String(ehrLab.ParentObservationCodeSystemName) + "',"
                + "'" + POut.String(ehrLab.ParentObservationIDAlt) + "',"
                + "'" + POut.String(ehrLab.ParentObservationTextAlt) + "',"
                + "'" + POut.String(ehrLab.ParentObservationCodeSystemNameAlt) + "',"
                + "'" + POut.String(ehrLab.ParentObservationTextOriginal) + "',"
                + "'" + POut.String(ehrLab.ParentObservationSubID) + "',"
                + "'" + POut.String(ehrLab.ParentPlacerOrderNum) + "',"
                + "'" + POut.String(ehrLab.ParentPlacerOrderNamespace) + "',"
                + "'" + POut.String(ehrLab.ParentPlacerOrderUniversalID) + "',"
                + "'" + POut.String(ehrLab.ParentPlacerOrderUniversalIDType) + "',"
                + "'" + POut.String(ehrLab.ParentFillerOrderNum) + "',"
                + "'" + POut.String(ehrLab.ParentFillerOrderNamespace) + "',"
                + "'" + POut.String(ehrLab.ParentFillerOrderUniversalID) + "',"
                + "'" + POut.String(ehrLab.ParentFillerOrderUniversalIDType) + "',"
                + POut.Bool(ehrLab.ListEhrLabResultsHandlingF) + ","
                + POut.Bool(ehrLab.ListEhrLabResultsHandlingN) + ","
                + POut.Long(ehrLab.TQ1SetId) + ","
                + "'" + POut.String(ehrLab.TQ1DateTimeStart) + "',"
                + "'" + POut.String(ehrLab.TQ1DateTimeEnd) + "',"
                + POut.Bool(ehrLab.IsCpoe) + ","
                + "'" + POut.String(ehrLab.OriginalPIDSegment) + "')";
            if (useExistingPK || PrefC.RandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                ehrLab.EhrLabNum = Db.NonQ(command, true);
            }
            return(ehrLab.EhrLabNum);
        }