예제 #1
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;
        }