コード例 #1
0
        private void CheckNameForTn(EntityName entityName, FormatContext context)
        {
            int numParts = entityName.Parts.Count;

            if (numParts > 1)
            {
                // only 1 allowed
                RecordError(context, "TN values can only have one name part. Parts found: " + numParts);
            }
            if (numParts >= 1)
            {
                EntityNamePart tnPart = entityName.Parts[0];
                if (tnPart.Type != null)
                {
                    // no part types allowed
                    RecordError(context, "TN values can not have a name part type. Part type found: " + tnPart.Type.Value);
                }
                if (tnPart.Qualifier != null)
                {
                    // no qualifier allowed
                    RecordError(context, "TN values can not have any qualifiers. Qualifier found: " + tnPart.Qualifier.CodeValue);
                }
            }
            if (!entityName.Uses.IsEmpty())
            {
                // uses not allowed
                RecordError(context, "TN values can not have any uses specified. Uses found: " + entityName.Uses.ToString());
            }
        }
コード例 #2
0
        protected CreatedBy_1 CreateAuthor_1()
        {
            CreatedBy_1 author = new CreatedBy_1();

            author.Time = new PlatformDate();

            Ca.Infoway.Messagebuilder.Model.Pcs_mr2009_r02_04_02.Common.Coct_mt090102ca.HealthcareWorker authorPerson =
                new Ca.Infoway.Messagebuilder.Model.Pcs_mr2009_r02_04_02.Common.Coct_mt090102ca.HealthcareWorker();

            Identifier healthcareProviderId = new Identifier(
                "2.16.840.1.113883.3.19.3.163.1.2", "200202888");

            PersonName     pn     = PersonName.CreateFirstNameLastName("Samantha", "Black");
            EntityNamePart prefix = new EntityNamePart("Dr.",
                                                       PersonNamePartType.PREFIX);

            pn.Uses.Add(EntityNameUse.LEGAL);
            pn.AddNamePart(prefix);

            Identifier id = new Identifier("2.16.840.1.113883.3.19.3.163.77.1",
                                           "samantha.black");

            authorPerson.AssignedPerson = new ActingPerson();
            authorPerson.AssignedPerson.AsHealthCareProviderId = healthcareProviderId;
            authorPerson.AssignedPerson.Name = pn;

            authorPerson.Id.Add(id);
            author.AuthorPerson = authorPerson;

            return(author);
        }
        private Custodian CreateCustodian()
        {
            EntityNamePart namePart = new EntityNamePart("Community Health and Hospitals");

            OrganizationName name = new OrganizationName();

            name.AddNamePart(namePart);

            CustodianOrganization organization = new CustodianOrganization();

            organization.Id.Add(new Identifier("2.16.840.1.113883.4.6", "99999999"));
            organization.Name    = name;
            organization.Telecom = CreateTelecom("555-555-1002", Ca.Infoway.Messagebuilder.Domainvalue.Basic.TelecommunicationAddressUse.WORKPLACE);
            organization.Addr    = CreateAddress("1002 Healthcare Drive", "Portland", "OR", "99123", "US");

            AssignedCustodian assignedCustodian = new AssignedCustodian();

            assignedCustodian.RepresentedCustodianOrganization = organization;

            Custodian custodian = new Custodian();

            custodian.AssignedCustodian = assignedCustodian;

            return(custodian);
        }
コード例 #4
0
        private string AddNullFlavor(EntityNamePart namePart)
        {
            NullFlavor nullFlavor = namePart.NullFlavor;

            return(nullFlavor == null || StringUtils.IsBlank(nullFlavor.CodeValue) ? string.Empty : " nullFlavor=\"" + nullFlavor.CodeValue
                   + "\"");
        }
コード例 #5
0
        private string AddQualifier(EntityNamePart namePart)
        {
            EntityNamePartQualifier qualifier = namePart.Qualifier;

            return(qualifier == null || StringUtils.IsBlank(qualifier.CodeValue) ? string.Empty : " qualifier=\"" + qualifier.CodeValue
                   + "\"");
        }
コード例 #6
0
 private void AssertNamePartAsExpected(string message, EntityNamePart namePart, NamePartType expectedType, string expectedValue
                                       , string expectedQualifier)
 {
     Assert.AreEqual(expectedType, namePart.Type, message + " type");
     Assert.AreEqual(expectedValue, namePart.Value, message + " value");
     Assert.AreEqual(expectedQualifier, namePart.Qualifier == null ? null : namePart.Qualifier.CodeValue, message + " qualifier"
                     );
 }
コード例 #7
0
        // Record Target Set up
        protected Patient CreateRecordTarget()
        {
            // Set the Patient we're querying against
            Patient patient = new Patient();

            // Set patient identifier(s)d
            patient.Id.Add(new Identifier("2.16.840.1.113883.3.19.3.163.1", "9880897949"));

            // Set Patient Name
            patient.PatientPerson      = new ActingPerson();
            patient.PatientPerson.Name = PersonName.CreateFirstNameLastName("Cyril", "Lambert");
            EntityNamePart prefix = new EntityNamePart("Mr.", PersonNamePartType.PREFIX);

            patient.PatientPerson.Name.Uses.Add(EntityNameUse.LEGAL);
            patient.PatientPerson.Name.AddNamePart(prefix);

            // Now set the patient's birthdate
            patient.PatientPerson.BirthTime = new PlatformDate(new DateTime(1949, 11, 05)); // client birth date

            // Set Gender
            patient.PatientPerson.AdministrativeGenderCode = AdministrativeGender.MALE;

            // Set the address for this patient
            PostalAddress addr = new PostalAddress();

            addr.Uses.Add(X_BasicPostalAddressUse.HOME);
            addr.Uses.Add(X_BasicPostalAddressUse.PHYSICAL);
            addr.Uses.Add(X_BasicPostalAddressUse.POSTAL);

            PostalAddressPart part = new PostalAddressPart();

            part.Type  = null;
            part.Value = "1234 Main Street";
            addr.AddPostalAddressPart(part);

            part       = new PostalAddressPart();
            part.Type  = PostalAddressPartType.CITY;
            part.Value = "Calgary";
            addr.AddPostalAddressPart(part);

            part       = new PostalAddressPart();
            part.Type  = PostalAddressPartType.STATE;
            part.Value = "Alberta";
            addr.AddPostalAddressPart(part);

            part       = new PostalAddressPart();
            part.Type  = PostalAddressPartType.COUNTRY;
            part.Value = "Canada";
            addr.AddPostalAddressPart(part);

            patient.Addr = addr;

            return(patient);
        }
コード例 #8
0
        // leave this up to subclasses to decide if they want to do any validations
        private void AppendNamePart(StringBuilder buffer, EntityNamePart namePart)
        {
            string openTag  = string.Empty;
            string closeTag = string.Empty;

            if (namePart.Type != null)
            {
                openTag  = "<" + namePart.Type.Value + AddQualifier(namePart) + ">";
                closeTag = "</" + namePart.Type.Value + ">";
            }
            buffer.Append(openTag);
            buffer.Append(XmlStringEscape.Escape(namePart.Value));
            buffer.Append(closeTag);
        }
コード例 #9
0
        private void AppendNamePart(StringBuilder buffer, EntityNamePart namePart, int indentLevel)
        {
            string openTag       = string.Empty;
            string closeTag      = string.Empty;
            bool   valueProvided = namePart.Value != null;

            if (namePart.Type != null)
            {
                openTag = "<" + namePart.Type.Value + AddQualifier(namePart) + AddNullFlavor(namePart) + (valueProvided ? string.Empty :
                                                                                                          "/") + ">";
                closeTag = "</" + namePart.Type.Value + ">";
            }
            Indenter.IndentBuffer(buffer, indentLevel);
            buffer.Append(openTag);
            if (valueProvided)
            {
                buffer.Append(XmlStringEscape.Escape(namePart.Value));
                buffer.Append(closeTag);
            }
            buffer.Append(SystemUtils.LINE_SEPARATOR);
        }
コード例 #10
0
 private void AssertNamePartAsExpected(string message, EntityNamePart namePart, NamePartType expectedType, string expectedValue
                                       , string expectedQualifier)
 {
     AssertNamePartAsExpected(message, namePart, expectedType, expectedValue, expectedQualifier, null);
 }
コード例 #11
0
 // 1 warning stating EN treated as PN, 1 for missing "use"
 private void AssertNamePartAsExpected(string message, EntityNamePart namePart, NamePartType expectedType, string expectedValue
                                       )
 {
     Assert.AreEqual(expectedType, namePart.Type, message + " type");
     Assert.AreEqual(expectedValue, namePart.Value, message + " value");
 }