Wenn PERSON_RECORD_TYPE als Argument oder Ergebnistyp einer Prozedur oder Funktion verwendet wird, können Sie ALL_ARGUMENTS abfragen. Die Informationen sind dort ein wenig verschlüsselt (die Hierarchie der mehrstufigen Kapselung von Datensätzen und Sammlungen ist in den Spalten POSITION, SEQUENCE und DATA_LEVEL codiert), wie auch immer sie vorhanden sind.
Ich glaube nicht, dass eine solche Frage auf eine falsche Architektur hinweist. Für die automatische PLSQL-Codegenerierung ist dies eine völlig legitime Anforderung, leider mit sehr schwacher PLSQL-Sprachunterstützung.