Ejemplo n.º 1
0
        /// <summary>This checks if a given type is a coded type.</summary>
        /// <remarks>This checks if a given type is a coded type. This also works for collection types (e.g. LIST is a coded type).</remarks>
        /// <param name="type"></param>
        /// <returns>whether the type is a coded type</returns>
        public static bool IsCodedType(string type)
        {
            if (StringUtils.IsBlank(type))
            {
                return(false);
            }
            Hl7TypeName parsedType  = Hl7TypeName.Parse(type);
            Hl7TypeName typeToCheck = parsedType;

            if (IsCollectionType(typeToCheck))
            {
                IList <Hl7TypeName> parsedTypeParameters = parsedType.Parameters;
                if (parsedTypeParameters.Count == 1)
                {
                    typeToCheck = parsedTypeParameters[0];
                }
            }
            IList <Hl7TypeName> parameters = typeToCheck.Parameters;

            if (parameters.Count == 1)
            {
                typeToCheck = parameters[0];
            }
            string rootType = typeToCheck.RootName;

            // FIXME - CDA - TM - SC (for R1) is not a coded type (though it likely should be modified to be one)
            return(Arrays.AsList("CD", "CV", "CE", "CO", "SC", "CS", "PQR").Contains(rootType));
        }
Ejemplo n.º 2
0
        public void ShouldStripWhitespace()
        {
            Hl7TypeName name = new Hl7TypeParser().Parse("SET<RTO<PQ, PQ>>");

            NUnit.Framework.Assert.AreEqual("SET<RTO<PQ,PQ>>", ((String)name.ToString()), "name");
            NUnit.Framework.Assert.AreEqual("SET", name.UnparameterizedName, "base");
            NUnit.Framework.Assert.AreEqual(1, name.Parameters.Count, "parameter count");

            Hl7TypeName parameter = name.Parameters[0];

            NUnit.Framework.Assert.AreEqual("RTO", parameter.UnparameterizedName, "parameter name");
            NUnit.Framework.Assert.AreEqual(2, parameter.Parameters.Count, "parameters of parameter count");
        }
Ejemplo n.º 3
0
 private static bool IsCollectionType(Hl7TypeName typeToCheck)
 {
     return(Arrays.AsList("LIST", "SET", "BAG", "COLLECTION").Contains(typeToCheck.RootName));
 }