/// <summary> /// Convert from DICOM format to Common Data Format. /// </summary> /// <param name="dicomFormat">DICOM format.</param> public override void FromDicomFormat(System.String dicomFormat) { // remove any trailing spaces from the name dicomFormat = dicomFormat.TrimEnd(' '); // split the incoming dicom format into the three component groups System.String[] nameComponentGroups = new System.String[3]; nameComponentGroups = dicomFormat.Split('='); // split the first component group into the five components if (nameComponentGroups.Length > 0) { System.String[] nameComponents = new System.String[5]; nameComponents = nameComponentGroups[0].Split('^'); // save the individual components switch(nameComponents.Length) { case 1: _surname = nameComponents[0]; break; case 2: _surname = nameComponents[0]; _firstName = nameComponents[1]; break; case 3: _surname = nameComponents[0]; _firstName = nameComponents[1]; _middleName = nameComponents[2]; break; case 4: _surname = nameComponents[0]; _firstName = nameComponents[1]; _middleName = nameComponents[2]; _prefix = nameComponents[3]; break; case 5: _surname = nameComponents[0]; _firstName = nameComponents[1]; _middleName = nameComponents[2]; _prefix = nameComponents[3]; _suffix = nameComponents[4]; break; default: break; } // save the ideographic name - if present if (nameComponentGroups.Length > 1) { _ideographicName = nameComponentGroups[1]; } // save the phonetic name - if present if (nameComponentGroups.Length > 2) { _phoneticName = nameComponentGroups[2]; } } }
/// <summary> /// Convert from HL7 format to Common Data Format. /// </summary> /// <param name="hl7Format">HL7 format.</param> public override void FromHl7Format(System.String hl7Format) { // <family name (ST)> ^ // <given name (ST)> ^ // <middle initial or name (ST)> ^ // <suffix (e.g., JR or III) (ST)> ^ // <prefix (e.g., DR) (ST)> ^ // <degree (e.g., MD) (ST)> // remove any trailing spaces from the name hl7Format = hl7Format.TrimEnd(' '); // split the HL7 format into the six components System.String[] nameComponents = new System.String[6]; nameComponents = hl7Format.Split('^'); // save the individual components switch(nameComponents.Length) { case 1: _surname = nameComponents[0]; break; case 2: _surname = nameComponents[0]; _firstName = nameComponents[1]; break; case 3: _surname = nameComponents[0]; _firstName = nameComponents[1]; _middleName = nameComponents[2]; break; case 4: _surname = nameComponents[0]; _firstName = nameComponents[1]; _middleName = nameComponents[2]; _suffix = nameComponents[3]; break; case 5: _surname = nameComponents[0]; _firstName = nameComponents[1]; _middleName = nameComponents[2]; _suffix = nameComponents[3]; _prefix = nameComponents[4]; break; case 6: _surname = nameComponents[0]; _firstName = nameComponents[1]; _middleName = nameComponents[2]; _suffix = nameComponents[3]; _prefix = nameComponents[4]; _degree = nameComponents[5]; break; default: break; } }
/// <summary> /// /// </summary> /// <param name="affectedEntity"></param> /// <param name="tag"></param> /// <param name="root"></param> /// <param name="format"></param> public DicomTagValueAutoSetUid(AffectedEntityEnum affectedEntity, DvtkData.Dimse.Tag tag, System.String root, int format) : base(affectedEntity, tag) { _root = root.TrimEnd('.'); _format = format; }