Pathnovo Logo

Cross-schema relationships

How the 22 document types link via shared identifiers.

Every schema inherits the common title_block, so documents can already be joined on core project fields. The keys below carry the heavy lifting for cross-document reconciliation.

Linking keys

equipment_tag_numbers
The most universal join key. Present in every title_block.
purchase_order_no
Ties every vendor-supplied document to a single procurement record.
procurement_package_id
Groups every document belonging to one purchased package.
parent_equipment_tag
Detail / seal drawings point back to the equipment they describe.
line_number
Joins P&IDs, tag lists, cable schedules, and instrument datasheets on piping context.
pid_reference / pid_number
Instrument back-pointer from datasheets and tag lists to the P&ID sheet.

How classes interlink

1. Data Sheets

Spec source
7. Tag Lists via equipment_tag_numbers
Every datasheet tag appears in the consolidated tag list.
3. P&ID Vendor Level via purchase_order_no + procurement_package_id
Vendor P&IDs share the PO/package as the matching datasheets.
2. Engineering Drawings via parent_equipment_tag
GA, detail, and seal drawings describe the datasheet items.
5. Performance Curves via equipment_tag_numbers
Gas turbine datasheets pair with performance-curve sets.

2. Engineering Drawings

Geometric representation
1. Data Sheets via parent_equipment_tag
Nozzle details, seal drawings, and 3D models point back to a datasheet item.
6. P&ID Project Level via reference_drawings[].drawing_number
Project P&IDs cite GA drawings by document number.
4. Cable Schedules via equipment_tag_numbers
SLD tags appear as cable endpoints.

3. P&ID Vendor Level

Package functional schematic
6. P&ID Project Level via continuation_refs.to_drawing
Vendor P&IDs tie into project P&IDs at package boundaries.
4. Cable Schedules via instrument tag + line_number
Cable endpoints match instruments shown on vendor P&IDs.
1. Data Sheets via equipment / instrument tag
Every tag traces to a matching datasheet.
7. Tag Lists via equipment/instrument/line tags
Tag list rows are populated from the three payload arrays.

4. Cable Schedules

Electrical + instrumentation wiring
3. P&ID Vendor Level via from.tag_equipment_no / to.tag_equipment_no
Endpoints are instruments on vendor P&IDs.
6. P&ID Project Level via from.equipment_tag / to.equipment_tag
Plant-wide cabling references project P&IDs.
2. Engineering Drawings via feeders_loads.cable_ref
SLD feeders cite cable_number used here.
7. Tag Lists via cable_number / cable_tag
Cable IDs join the tag list.

5. Performance Curves

Quantitative equipment behavior
1. Data Sheets via tag_numbers + service
Each curve set belongs to a turbine/motor datasheet.
7. Tag Lists via tag_numbers
Curve-owning equipment is in the tag list.

6. P&ID Project Level

Plant-wide functional schematic
3. P&ID Vendor Level via reference_drawings + continuation_refs
Project P&IDs reference vendor package P&IDs.
7. Tag Lists via equipment/instrument/line/valve tags
Primary source for tag-list population.
2. Engineering Drawings via reference_drawings[]
Cite GA, SLD, and detail drawings.

7. Tag Lists

Master cross-reference register
1. Data Sheets via datasheet_reference
Points back to the datasheet.
6. P&ID Project Level via pid_reference + pid_sheet
Points back to the P&ID sheet where the tag appears.
3. P&ID Vendor Level via pid_reference
Resolves to vendor P&IDs when tagged from a package.
4. Cable Schedules via tag_number
Shared keys with cable schedule endpoints.