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; }