We designed the data model around canonical entities: well with aliases, facility, train, manifold, flowline, replacement project, work order and source. Precedence was set field by field. The latest flowing wells export governed status and receiving facility. The latest allocation export governed oil, water and gas and was never replaced by a test value without a flag. The master well list governed home facility. The signed test record governed service test position. The integrity export governed risk. Each stored value kept its raw and accepted form, source date, load time, authority rule, confidence and conflict flag.
Five layers were built: current, context, history, changes and sources. A well profile read in four views: now, context, history and changes, with routing shown as home facility against actual receiving facility. Most domains refreshed at the weekend, well status more often, with the data-as-of date shown for each. Facility flow diagrams and P&IDs were stitched into a process graph with designed, as-built, temporary, planned, isolated and flowing connections kept distinct. The build was SQLite and JSON behind a browser view, with a Power BI model from the same tables.