/// <summary> /// Create organization scoper /// </summary> private MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Organization CreateOrganization(HealthcareParticipant scoper, List <MARC.Everest.Connectors.IResultDetail> details) { if (scoper == null) { return(null); } PN tName = null; if (scoper.LegalName != null) { tName = CreatePN(scoper.LegalName, details); } var id = scoper.AlternateIdentifiers.Find(o => o.Domain != this.m_configService.OidRegistrar.GetOid("CR_PID").Oid); // Basic return value var retVal = new MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Organization( SET <II> .CreateSET(CreateII(id, details)), scoper.Type != null ? CreateCD <String>(scoper.Type, details) : null, tName != null ? BAG <ON> .CreateBAG(new ON(tName.Use[0], tName.Part)) : null, null ); // Find all representatives foreach (HealthcareParticipant rep in scoper.FindAllComponents(HealthServiceRecordSiteRoleType.RepresentitiveOf)) { var cp = new MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.ContactParty( CreateIISet(rep.AlternateIdentifiers, details), rep.Type != null ? CreateCD <String>(rep.Type, details) : null, rep.PrimaryAddress != null ? BAG <AD> .CreateBAG(CreateAD(rep.PrimaryAddress, details)) : null, null, null ); // Add telecoms if (rep.TelecomAddresses != null) { cp.Telecom = new BAG <TEL>(); foreach (var tel in rep.TelecomAddresses) { cp.Telecom.Add(CreateTEL(tel, details)); } } // Person info if (rep.Classifier == HealthcareParticipant.HealthcareParticipantType.Person && rep.LegalName != null) { cp.ContactPerson = new MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Person( BAG <EN> .CreateBAG(CreatePN(rep.LegalName, details)) ); } retVal.ContactParty.Add(cp); } return(retVal); }
public virtual object Parse(System.Xml.XmlReader s, System.Type useType, System.Type currentInteractionType, MARC.Everest.Formatters.XML.ITS1.XmlIts1FormatterParseResult resultContext) { System.String nil = s.GetAttribute("nil", MARC.Everest.Formatters.XML.ITS1.XmlIts1Formatter.NS_XSI); if(!System.String.IsNullOrEmpty(nil) && System.Convert.ToBoolean(nil)) return null;; MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.ContactParty instance = new MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.ContactParty();; if(s.NodeType != System.Xml.XmlNodeType.Element) throw new System.InvalidOperationException(System.String.Format("Expected node type of Element, actual node type is '{0}'", s.NodeType)); if(s.GetAttribute("classCode") != null){ if(!"CON".Equals(s.GetAttribute("classCode"))) resultContext.AddResultDetail(new MARC.Everest.Connectors.FixedValueMisMatchedResultDetail(s.GetAttribute("classCode"), "CON", false, s.ToString())); instance.ClassCode = (MARC.Everest.DataTypes.CS<System.String>)MARC.Everest.Connectors.Util.FromWireFormat(s.GetAttribute("classCode"), typeof(MARC.Everest.DataTypes.CS<System.String>)); } if(s.GetAttribute("nullFlavor") != null) instance.NullFlavor = (MARC.Everest.DataTypes.CS<MARC.Everest.DataTypes.NullFlavor>)MARC.Everest.Connectors.Util.FromWireFormat(s.GetAttribute("nullFlavor"), typeof(MARC.Everest.DataTypes.CS<MARC.Everest.DataTypes.NullFlavor>)); if(s.IsEmptyElement) return instance; string sName = s.Name; int sDepth = s.Depth; s.Read(); while(!(s.NodeType == System.Xml.XmlNodeType.EndElement && s.Name == sName && s.Depth == sDepth)) { string oldName = s.LocalName; try { if(s.NodeType == System.Xml.XmlNodeType.Element) { if(s.LocalName == "id" ) { object d8be71d934dd84cefa11647be742aa0a6 = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II>), currentInteractionType, resultContext); instance.Id = d8be71d934dd84cefa11647be742aa0a6 is MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II> ? d8be71d934dd84cefa11647be742aa0a6 as MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II> : (MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II>)MARC.Everest.Connectors.Util.FromWireFormat(d8be71d934dd84cefa11647be742aa0a6, typeof(MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.II>)); } else if(s.LocalName == "code" ) { object d5ab8ef4eaf1a42a29d504719ed7b4804 = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.CE<System.String>), currentInteractionType, resultContext); instance.Code = d5ab8ef4eaf1a42a29d504719ed7b4804 is MARC.Everest.DataTypes.CE<System.String> ? d5ab8ef4eaf1a42a29d504719ed7b4804 as MARC.Everest.DataTypes.CE<System.String> : (MARC.Everest.DataTypes.CE<System.String>)MARC.Everest.Connectors.Util.FromWireFormat(d5ab8ef4eaf1a42a29d504719ed7b4804, typeof(MARC.Everest.DataTypes.CE<System.String>)); } else if(s.LocalName == "addr" ) { object dacee4e1f2c6f4a5f84dfe7f291b6bd63 = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.AD>), currentInteractionType, resultContext); instance.Addr = dacee4e1f2c6f4a5f84dfe7f291b6bd63 is MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.AD> ? dacee4e1f2c6f4a5f84dfe7f291b6bd63 as MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.AD> : (MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.AD>)MARC.Everest.Connectors.Util.FromWireFormat(dacee4e1f2c6f4a5f84dfe7f291b6bd63, typeof(MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.AD>)); } else if(s.LocalName == "telecom" ) { object d7e110f245f8b4610ab388587f6d8634c = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.TEL>), currentInteractionType, resultContext); instance.Telecom = d7e110f245f8b4610ab388587f6d8634c is MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.TEL> ? d7e110f245f8b4610ab388587f6d8634c as MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.TEL> : (MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.TEL>)MARC.Everest.Connectors.Util.FromWireFormat(d7e110f245f8b4610ab388587f6d8634c, typeof(MARC.Everest.DataTypes.BAG<MARC.Everest.DataTypes.TEL>)); } else if(s.LocalName == "contactPerson" ) { object d3f9fa1d66a264e72b14ed96931f1bb04 = Host.ParseObject(s, typeof(MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Person), currentInteractionType, resultContext); instance.ContactPerson = d3f9fa1d66a264e72b14ed96931f1bb04 is MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Person ? d3f9fa1d66a264e72b14ed96931f1bb04 as MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Person : (MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Person)MARC.Everest.Connectors.Util.FromWireFormat(d3f9fa1d66a264e72b14ed96931f1bb04, typeof(MARC.Everest.RMIM.UV.NE2008.COCT_MT150003UV03.Person)); } else if(s.LocalName == "realmCode" ) { object d9a6dddece679439aa22ea20462309243 = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>>), currentInteractionType, resultContext); instance.RealmCode = d9a6dddece679439aa22ea20462309243 is MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>> ? d9a6dddece679439aa22ea20462309243 as MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>> : (MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>>)MARC.Everest.Connectors.Util.FromWireFormat(d9a6dddece679439aa22ea20462309243, typeof(MARC.Everest.DataTypes.SET<MARC.Everest.DataTypes.CS<System.String>>)); } else if(s.LocalName == "typeId" ) { object d1d860b4ac20b4e1b8776f6605e97f83e = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.II), currentInteractionType, resultContext); instance.TypeId = d1d860b4ac20b4e1b8776f6605e97f83e is MARC.Everest.DataTypes.II ? d1d860b4ac20b4e1b8776f6605e97f83e as MARC.Everest.DataTypes.II : (MARC.Everest.DataTypes.II)MARC.Everest.Connectors.Util.FromWireFormat(d1d860b4ac20b4e1b8776f6605e97f83e, typeof(MARC.Everest.DataTypes.II)); } else if(s.LocalName == "templateId" ) { object dd7db895cf42141eda28865ba692cf300 = Host.ParseObject(s, typeof(MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II>), currentInteractionType, resultContext); instance.TemplateId = dd7db895cf42141eda28865ba692cf300 is MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II> ? dd7db895cf42141eda28865ba692cf300 as MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II> : (MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II>)MARC.Everest.Connectors.Util.FromWireFormat(dd7db895cf42141eda28865ba692cf300, typeof(MARC.Everest.DataTypes.LIST<MARC.Everest.DataTypes.II>)); } else { resultContext.AddResultDetail(new MARC.Everest.Connectors.NotImplementedElementResultDetail(MARC.Everest.Connectors.ResultDetailType.Warning, s.LocalName, s.NamespaceURI, s.ToString(), null)); } } } catch (System.Exception e) { resultContext.AddResultDetail(new MARC.Everest.Connectors.ResultDetail(MARC.Everest.Connectors.ResultDetailType.Error, e.Message, s.ToString(), e)); } finally { if(oldName.Equals(s.LocalName)) s.Read(); } } return instance; }