public void AddPerformer(NPFIT_000091_Role template,
            p_performer_000091.serviceEventPerformer typeCode,
            IVLTS_Helper timespan)
        {
            if (Performer == null)
            {
                Performer = new List<p_performer_000091>();
            }

            p_performer_000091 newPerformer = new p_performer_000091(typeCode);
            newPerformer.role = template;

            if (timespan != null)
            {
                newPerformer.time = timespan.IVLTS;
            }

            newPerformer.templateId = TEMPLATEID;
            newPerformer.templateText = TEMPLATETEXT;

            Performer.Add(newPerformer);
        }
        public void AddPerformer(NPFIT_000091_Role template,
            p_performer_000091.serviceEventPerformer typeCode,
            p_performer_000091.participationFunction functionCode,
            IVLTS_Helper timespan)
        {
            if (Performer == null)
            {
                Performer = new List<p_performer_000091>();
            }

            #region functionCode
            string thisFunctionCode = "";
            string thisDisplayName = "";

            switch (functionCode)
            {
                case p_performer_000091.participationFunction.NotSet:
                    thisFunctionCode = null;
                    thisDisplayName = null;
                    break;
                case p_performer_000091.participationFunction.ADMPHYS:
                    thisFunctionCode = "ADMPHYS";
                    thisDisplayName = "admitting physician";
                    break;
                case p_performer_000091.participationFunction.ANEST:
                    thisFunctionCode = "ANEST";
                    thisDisplayName = "Anaesthetist";
                    break;
                case p_performer_000091.participationFunction.ANRS:
                    thisFunctionCode = "ANRS";
                    thisDisplayName = "Anaesthesia nurse";
                    break;
                case p_performer_000091.participationFunction.ATTPHYS:
                    thisFunctionCode = "ATTPHYS";
                    thisDisplayName = "admitting physician";
                    break;
                case p_performer_000091.participationFunction.DISPHYS:
                    thisFunctionCode = "DISPHYS";
                    thisDisplayName = "discharging physician";
                    break;
                case p_performer_000091.participationFunction.FASST:
                    thisFunctionCode = "FASST";
                    thisDisplayName = "first assistant";
                    break;
                case p_performer_000091.participationFunction.MDWF:
                    thisFunctionCode = "MDWF";
                    thisDisplayName = "midwife";
                    break;
                case p_performer_000091.participationFunction.NASST:
                    thisFunctionCode = "NASST";
                    thisDisplayName = "nurse assitant";
                    break;
                case p_performer_000091.participationFunction.PCP:
                    thisFunctionCode = "PCP";
                    thisDisplayName = "primary care physician";
                    break;
                case p_performer_000091.participationFunction.PRISURG:
                    thisFunctionCode = "PRISURG";
                    thisDisplayName = "primary surgeon";
                    break;
                case p_performer_000091.participationFunction.RNDPHYS:
                    thisFunctionCode = "RNDPHYS";
                    thisDisplayName = "rounding physician";
                    break;
                case p_performer_000091.participationFunction.SASST:
                    thisFunctionCode = "SASST";
                    thisDisplayName = "second assistant";
                    break;
                case p_performer_000091.participationFunction.SNRS:
                    thisFunctionCode = "SNRS";
                    thisDisplayName = "scrub nurse";
                    break;
                case p_performer_000091.participationFunction.TASST:
                    thisFunctionCode = "TASST";
                    thisDisplayName = "third assistant";
                    break;
                default:
                    break;
            }
            #endregion

            p_performer_000091 newPerformer = new p_performer_000091(typeCode);
            newPerformer.role = template;

            if (thisFunctionCode != null)
            {
                newPerformer.functionCode = new CV<string>(thisFunctionCode, "2.16.840.1.113883.5.88");
                newPerformer.functionCode.DisplayName = thisDisplayName;
            }

            if (timespan != null)
            {
                newPerformer.time = timespan.IVLTS;
            }

            newPerformer.templateId = TEMPLATEID;
            newPerformer.templateText = TEMPLATETEXT;

            Performer.Add(newPerformer);
        }