  In this paper we formalize a combinatorial object for describing link
diagrams called a Planar Diagram Code. PD-codes are used by the KnotTheory
Mathematica package developed by Bar-Natan, et al. We present the set of
PD-codes as a stand alone object and discuss its relationship with link
diagrams. We give an explicit algorithm for reconstructing a knot diagram on a
surface from a PD-code. We also discuss the intrinsic symmetries of PD-codes
(i.e., invertibility and chirality). The moves analogous to the Reidemeister
moves are also explored, and we show that the given set of PD-codes modulo
these combinatorial Reidemeister moves is equivalent to classical link theory.
