Real Time Information Director User Documentation

RTID Metadata Language
Hewlett-Packard Company 65 529618-002
Now we’ll see how the metadata prescribes partitioning for another table, called
OTHERSTATUS, which is where the unique identifier for a patient is explicitly
requested. The PartitionedSystemKey class requires several parameters: the name of the
column in the OTHERSTATUS table where the new key must be stored, the name of the
column in the OTHERSTATUS table where the partition ID must be stored, the
PartitionedKeyDispenser defined earlier in the metadata, and the partitioning strategy.
public static EnrichedRecord otherStatusRecord =
new EnrichedRecord("OTHERSTATUS",
new PartitionedSystemKey("UNIQUEIDENTIFIER", "PARTITIONID",
personIdDispenser,
new RoundRobinPartitionId(STARTING_PARTITION,
NO_OF_PARTITIONS)));
The EHR.java class goes on to prescribe the partitioning of various
other tables.
Remember that, once you define an EnrichedRecord, you can refer to that record in place
of a table or record name in other places, and indeed the document definition
PersonalData.java refers to many of the EnrichedRecord objects defined in EHR.java.
Branch Library Example
The Library.java file, in the branch library example, declares various enriched records
with system keys. The next several pages explain some of the code related to partitioning
(some, but not all, because the class contains similar code to partition a large number of
tables).
The Library class requires the inclusion of the package that contains the document
definitions for the partitioned library example. It also imports two classes you’d need for
your own solution:
The EnrichedRecord class provides a convenient way to specify an enrichment
that multiple document definitions are likely to need. You’ll see EnrichedRecord
used later to incorporate partitioning into various database tables. Once you’ve
defined an enriched record, you can refer to it in place of a table or record name in
the invocation of other metadata classes. In fact, any enrichments that specify
artificial keys or partitioning should certainly be specified in an enriched record;
this enriched record, or some further-enriched record derived from it, should be
passed to all DocumentRecords and RelatedRecords that use the table.
The Enrichment classes are required, because you have to use many of them to
specify partitioning.
package com.hp.lab.library.partitioned;
import com.hp.rtid.metadata.EnrichedRecord;
import com.hp.rtid.metadata.enrichment.*;