Section 17
Data Model & System Architecture

Data Model & System Architecture

Visual reference for the complete ABSD_ entity model, key relationships, SEQNO history pattern, and end-to-end data flow from external sources through to client-facing products

8
Entity Domains
60+
Core Tables
LRNO
Primary Key
SEQNO
History Key
7
Flow Layers
Key identifier: ABSD_OVGE.LRNO is the universal vessel key — all vessel-domain tables join on LRNO. Company tables use ABSD_OWGE.OW_CODE. The bridge between domains is ABSD_HIOW which holds both LRNO (vessel) and OW_CODE (owner). Note: LRNO = VSL_DESIGNATION.IMO_NUM — the same 7-digit number stored under different column names in different table families.

Entity Domain Overview

The ABSD_ schema is organised into eight functional domains. Every vessel-domain table uses LRNO + SEQNO as a composite key — SEQNO '00' is the current active record; '01', '02'… are historical versions in descending date order.

Vessel Identity 7 tables
  • ABSD_OVGEAnchor — LRNO, CLASS, STATCODE, J06 fields
  • ABSD_OVNAName history (NEWNA, EXNA)
  • ABSD_OVTYShip type (STATCODE, STATDESC)
  • ABSD_OVCACallsign & MMSI
  • ABSD_OVCSClassification survey schedule
  • ABSD_OVDOCISM/DOC certificates
  • ABSD_OVSMCSafety Management Certificate
Ownership & Flag History 10 tables
  • ABSD_HIOWOwnership — LRNO ↔ OW_CODE bridge
  • ABSD_HIMAShip manager history
  • ABSD_HISMTechnical manager history
  • ABSD_HIOPOperator history
  • ABSD_HIPPP&I Club history
  • ABSD_HIGBOBeneficial owner history
  • ABSD_HIFLFlag & callsign history
  • ABSD_HITLTitle (LDT / scrap) history
  • ABSD_HIDRDraught history
  • ABSD_HISTStatus history
Company / Owner 8 tables
  • ABSD_OWGEAnchor — OW_CODE, company type
  • ABSD_OWNACompany name history
  • ABSD_OWCOContact details
  • ABSD_OWAD1Primary address
  • ABSD_OWAD2Secondary address
  • ABSD_OWANAlias / trading name
  • ABSD_OWCACompany callsign
  • ABSD_OWSTFleet statistics (trigger-computed)
Structure & Build 8 tables
  • ABSD_STDEStructural design (LOA, LBP, beam, depth)
  • ABSD_STSESurvey dates & special surveys
  • ABSD_NCONNew construction order details
  • ABSD_NCON_CONFIConfirmed newbuild dimensions
  • ABSD_HILELength history
  • ABSD_HILCLoad capacity history
  • ABSD_HIMTMain engine type history
  • ABSD_LRSCLR survey — class renewal
Machinery & Equipment 7 tables
  • ABSD_HIMOMain engine history (SEQNO per engine)
  • ABSD_HIGEGenerator / electrical history
  • ABSD_MATHMain engine technical detail
  • ABSD_MAAUAuxiliary engine sets
  • ABSD_MAEM1Emergency generator
  • ABSD_MASPSpeed & power data
  • ABSD_HIPUPropulsion unit (thruster) history
Cargo & Functional 12 tables
  • ABSD_FUGECargo / fuel general (GT, NT, DWT)
  • ABSD_FUDI1/2Dimensional data (LOA, draught)
  • ABSD_FUSFSpecial features code table
  • ABSD_FUSF2Extended special features
  • ABSD_FUCA1/2Cargo capacity (bale/grain)
  • ABSD_FUCO1/2Container capacity (TEU)
  • ABSD_FUHA1/2Hatch dimensions
  • ABSD_FUUN1/2Undesignated / misc cargo data
  • ABSD_FULCLiquid cargo (tank capacities)
  • ABSD_FULI1-3Lifting gear (crane, derrick)
  • ABSD_FURO1/2Ro-Ro capacity
  • ABSD_FUTOTowing & bollard pull
Casualty 10 tables
  • ABSD_CADICasualty details (date, type, place)
  • ABSD_CAGE1/2Casualty general (vessel state at event)
  • ABSD_CACOCasualty consequence
  • ABSD_CACTCasualty contributing factor
  • ABSD_CAGCCasualty general classification
  • ABSD_CALACasualty life loss / injury
  • ABSD_CAPRCasualty previous event
  • ABSD_CAPOCasualty port
  • ABSD_HAADHull accident additional data
  • ABSD_HACOHull accident consequence
Codebooks & Reference 9 tables
  • ABSD_CBCOROOTCountry code master (3-type dispatch)
  • ABSD_CBPPROOTPort code master
  • ABSD_CBUB1Universal builder code
  • ABSD_CBCYCurrency + sanctions status
  • ABSD_CBCACasualty type codes
  • ABSD_CBFTFuel type codes
  • ABSD_CBPPNAMEPort name (word-wrap trigger)
  • ABSD_CBPPSTREPort street / address
  • ABSD_CBCONOTECountry notes

Entity Relationship Diagram

The diagram below shows the 21 most-referenced core entities and their relationships. All vessel-domain tables join on LRNO (blue/teal lines). The company domain uses OW_CODE (green). The ABSD_HIOW table is the bridge — it holds both LRNO and OW_CODE, linking vessel records to company records.

ABSD_OVGE LRNO char(7) · Vessel Anchor CLASS · STATCODE · J06_AUTHOR ABSD_OVNA Name history · SEQNO NEWNA · EXNA · LNCHDATE ABSD_OVTY Ship type · STATCODE STATCODE · STATADD · STATDATE ABSD_OVCA Callsign · MMSI CALLSIGN · MMSI · VHF_CH ABSD_OVCS Classification survey CLASS_CERT · SURVEY_DATE ABSD_OVSMC Safety Mgmt Cert SMC_ISSUER · DOC_ISSUER ABSD_OVDOC ISM / DOC documents DOC_NUM · ISS_DATE · EXP_DATE ABSD_HIFL Flag & callsign history FLAG · CALLSIGN · MMSI · SEQNO ABSD_HIOW Ownership ↔ OW_CODE bridge LRNO · OW_CODE · EFF_DATE ABSD_HIMA Ship manager history OW_CODE · EFF_DATE · SEQNO ABSD_HIOP Operator history OW_CODE · EFF_DATE · SEQNO ABSD_HITL Title / LDT history LDT · SCRAP_PRICE · OW_CODE ABSD_HIPP P&I Club history OW_CODE · CLUB_CODE ABSD_OWGE Company anchor · OW_CODE PK OW_CODE · CO_TYPE · COUNTRY ABSD_OWNA Company name history CO_NAME · SHORTNAME · SEQNO ABSD_STDE Structure design LOA · LBP · BEAM · DEPTH · GRT ABSD_NCON New construction YARD · KEEL_DATE · DEL_DATE ABSD_STSE Special survey schedule LAST_SS · NEXT_SS · ANN_DATE ABSD_HIMO Main engine history ENGINE_TYPE · MCR_KW · SEQNO ABSD_MAAU Auxiliary engines AUX_TYPE · SETS · POWER_KW ABSD_FUGE Cargo / fuel general GT · NT · DWT · DEADWEIGHT ABSD_CADI Casualty details INC_DATE · TYPE · LOCATION via OW_CODE SEQNO='00' current record LEGEND Vessel Identity (LRNO) Ownership History (LRNO) Company (OW_CODE) Structure & Build (LRNO) Machinery (LRNO) Cargo / Functional (LRNO) Casualty (LRNO) OW_CODE relationship All vessel-domain lines join on LRNO · All company-domain lines join on OW_CODE · ABSD_HIOW bridges the two domains

SEQNO History Model

Every ABSD_ table uses a two-part primary key: LRNO + SEQNO. SEQNO '00' is always the current active record. When a field changes, the existing row is moved to SEQNO '01' (then previous '01' shifts to '02', etc.) and a new row with SEQNO '00' is inserted. This means history is always accessible by filtering WHERE SEQNO > '00'.

Exception — ABSD_HIFL: The flag/callsign history table uses 95 fixed SEQNO slots ('01''95') with explicit rotation logic. See Section 10k for the trigger pattern.

ABSD_HIOW Example — Ownership History

'00'
CURRENT
Active owner
today
'01'
PREV
Previous owner
(most recent change)
'02'
OLDER
Second-most-recent
ownership
'03'
OLDER
Third ownership
record…
···
'N'
OLDEST
Earliest known
ownership

Query pattern: SELECT * FROM ABSD_HIOW WHERE LRNO='1234567' AND SEQNO='00' — returns the current owner. WHERE SEQNO > '00' — returns all historical records in descending date order.

Data Flow Architecture

The diagram below shows the complete end-to-end data journey — from raw external feeds through staging, pipeline processing, the core ABSD_ database, trigger-enforced business rules, output tables, and finally client-facing products. Data can only reach the core database through the pipeline layer; no external source writes directly to ABSD_ tables.

1External Data Sources
🌎 45+ Flag-State Registries
Belize, IOM, Panama, Malta, Singapore, Norway…
⚓ Classification Societies
DNV, BV, IRS, IACS XML, CCS, KR, RS, NK, RINA…
📋 PSC Inspection MOUs
Paris (daily), Tokyo, USCG, AMSA, Black Sea…
📌 Sanctions Authorities
OFAC SDN/Non-SDN, EU, UN, UK OFSI, Australia…
⚙ EDM Platform
Classification API, PSC inspection XML backfill
🌄 Newbuild Yards (SBR)
Shipbuilder Returns — direct yard submissions
⚔ Jane's Fighting Ships
Naval & military vessel intelligence
2Staging & Landing Tables
TIP_* (45+ tables)
Raw flag-state staging
tblTIP_* structured feeds
IOM, PAN3, IR2, CCS, TL2
tblThirdPartyData
Classic TIP pipeline queue
tblTIPMISFlexTemp
FlexTemp pipeline queue
tblPSC_* (26 tables)
PSC inspection staging
tblAMSA_Inspections
AMSA detailed deficiency codes
ofac_* / tblOFAC_*
OFAC SDN + Non-SDN staging
tblMIRS_* (77 tables)
Sanctions match MASTERLOAD
tblEDM_BF_* staging
EDM SSIS landing tables
DNV / BV / IRS / IACS
Machinery & survey staging
janes_all
Naval vessel staging
Panama_NewData_MonthlyAmends
Monthly bulk flag feed
3Pipeline Processing
TIP/MIS Classic Pipeline
LRNO match → LRF compare → validate → review
FlexTemp Pipeline
Field-mapping → BR/DM rules engine → reject queue
EDM SSIS Backfill
tblEDM_BF_SSIS_CONTROL → spEDM_BF_*
OFAC/MIS Matching Engine
Levenshtein ≤ 3 → analyst review → SanctionAgreed
PSC Loaders
spInsertPSC_* — upsert by IMO + inspection date
Janes Matching
spJanesLRNOMatch — name + year-of-build
Analyst Review UI
Keep / Learn / Overwrite decision per field
Auto-Processing Rules
tblThirdPartyAutoProcess — nightly no-touch apply
4Core ABSD_ Database  —  460+ Tables
OV* Vessel Identity
OVGE · OVNA · OVTY · OVCA · OVCS · OVDOC · OVSMC
HI* History
HIOW · HIMA · HISM · HIOP · HIPP · HIFL · HITL · HIST
MA* Machinery
HIMO · HIGE · HIMT · MATH · MAAU · MAEM1 · MASP
ST* Structure
STDE · STSE · LRSC · LRSU · LRWD · LRGE
FU* Functional
FUGE · FUDI · FUSF · FUCA · FUCO · FUUN · FULC · FURO
CA* Casualty
CADI · CAGE1 · CACO · CACT · CAGC · CALA · CAPR
OW* Company
OWGE · OWNA · OWCO · OWAD1/2 · OWAN · OWST
CB* Codebooks
CBCOROOT · CBPPROOT · CBUB1 · CBCY · CBCA · CBFT
NCON Newbuildings
NCON · NCON_CONFI · ABSD_SALE · ABSD_TANKER
SUPPLEMENTAL_ABSD_*
19 extension tables for EDM-era fields
5Business Rules Engine  —  282 Triggers
TRIGGER_DISABLE Guard
Global + 12 table-specific guard tables
Field Validation
40+ valStandard* SPs called by triggers
Cascade Logic
HIOW → OWST recomputation, CBCOROOT 3-type dispatch
J06 Audit Fields
OVGE.J06_AUTHOR + J06_LNCHDATE on every change
tblChanges
Field-level change log via spAnnotateChange
tblAnnotationLogGeneral
Analyst annotation & workflow audit
ABSD_SHIP_SEARCH Sync
spABSD_SHIP_SEARCH_SYNC — 9-step rebuild
VSL_ Table Updates
Triggers write to 1,498 VSL_ readable tables
6Output & Scoring Layer
VSL_ Tables (1,498)
Readable, denormalised vessel views maintained by triggers
Views (1,498)
vwFleetDetails · vwCasualty · vwABSD_OWGE_EDM…
Production_* Tables (23)
Denormalised publication output — spProduction_*
tblRiskScreeningData / Score
AIS + PSC + Class risk dimensions per vessel
tblSustainabilityData
ESG indicators, EEDI, CO₂ estimates
SUPPLEMENTAL_ABSD_* (19)
EDM-era extension tables with their own triggers
ABSD_SHIP_SEARCH
Full-text search index rebuilt by sync procedure
tblFlexible_Bucket
EAV bucket for schema-free field extensions
7Client-Facing Products
🌊 LR World Fleet Register
Core fleet database — primary output
📰 Lloyd's List Intelligence
News, fleet tracking, port calls
🌎 Sea-web
Online vessel search & intelligence platform
⚙ APS — Automated Production
Internal publication generation system
📋 FSW — Fairplay Ship World
Commercial sales, charter, demolition listings
⚠ LR Risk Intelligence
Risk scoring, sanctions screening, ESG
🔌 Third-party Data Exports
API feeds, CSV/XML bulk exports to partners
📊 Statistical Reports
IMO, ISL, flag-state annual safety statistics