Creating Group Templates and Normalizers for Units / Creating Group Templates for Units |
This topic provides examples of unit templates with a brief commentary on some of their usage subtleties.
The following table provides some simple examples of templates without modifiers or ranges. When modifiers are not specified, each part is assumed to be required and allows only a single word.
Template | Allows | Filters Out |
---|---|---|
{4 West} {Room} {$Room#} {$Role} |
4 West Room 101 Nurse 4 West Room 102 PCA 4 West Room 301 Nurse |
5 West Room 101 Nurse 4 West Room 101 4 West Room 1 0 1 Nurse |
In the previous example, notice that the template filters out the 4 West Room 1 0 1 Nurse group, even though it allows the group named 4 West Room 101 Nurse. Because the template does not use a modifier, the input room number must be a single word.
The following table provides examples of template parts that use modifiers to further restrict the allowed group names.
Template | Allows | Filters Out |
---|---|---|
{E D} {Pod} {$Pod#(1,2)} {$Role(1,3)} |
E D Pod 1 0 Nurse E D Pod 1 P C A E D Pod 1 0 1 Nurse |
ED Pod 1 0 Nurse E R Pod 1 0 P C A |
In the above example, notice that while E D Pod 1 0 1 Nurse is allowed by the template, it is not allowed as a Pod whose number is "101" and a Role whose name is "Nurse"; instead, it allows a group name with Pod number "10" and with a role named "1 Nurse". Because the {$Pod#(1,2)} modifier constrains the Pod number to two words, the initial "1 0" is interpreted as the number; however, the {$Role(1,3)} modifier allows up to three words, and the next two words of input ("1 Nurse") are identified as the Role. A template with a pre-filter such as this requires additional processing in the group name normalizer to achieve the expected behavior.
Finally, the following table provides sample templates with both modifiers and ranges to further limit allowed group names.
Template | Allows | Filters Out |
---|---|---|
{4 West} {Room} {$Room#([400-499],1,3)} {$Role('Nurse' 'P C A',1,3)} |
4 West Room 400 Nurse 4 West Room 4 0 0 Nurse 4 West Room 4 0 0 P C A |
4 West Room 100 Nurse 4 West Room 400 PCA |
In the previous example, notice that the template allows a group named 4 West Room 4 0 0 Nurse, even though the Room number is "4 0 0" and the range is set to 400-499. A numeric range ignores the spaces between the digits in the input value and allows the group name.
Also in the previous example, notice that the template filters out a group named 4 West Room 400 PCA, even though the range includes the "P C A" string. A string range allows only exact matches for character spacing, although it ignores the case of the characters.