Skip to content

Data Dictionary ‐ Spouses

KP Hunsinger edited this page Jul 6, 2026 · 1 revision

Updated data dictionary to reflect spouse variables:

Created in response to https://github.com/SuffolkLITLab/docassemble-MATC1ADivorceJointPetition/issues/54


1) Intake & Eligibility (main joint petition interview)

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
Intake & Eligibility Petitioner A users[0] spouse A attributes (pending standardization) Individual object main interview, downstream filings In use Keep for DAL compatibility; document alias mapping while #54 is implemented
Intake & Eligibility Petitioner B users[1] spouse B attributes (pending standardization) Individual object main interview, downstream filings In use Same as above
Intake & Eligibility Joint party framing users list petitioners, spouses (conceptual) list of Individual routing logic In use Keep “joint petitioners on equal footing” language
Intake & Eligibility Marriage eligibility legal_marriage boolean intake gating In use No naming conflict
Intake & Eligibility MA jurisdiction massachusetts_residency boolean intake gating In use No naming conflict
Intake & Eligibility MA fallback jurisdiction couple_ever_lived_in_massachusetts boolean conditional screen In use Ask only if residency is false
Intake & Eligibility MA fallback jurisdiction breakdown_in_massachusetts boolean conditional screen In use Ask only if residency is false
Intake & Eligibility Joint intent divorce_affirm boolean gating/confirmation In use Keep both-name interpolation
Intake & Eligibility Joint intent joint_petition_affirm boolean gating/confirmation In use Keep
Intake & Eligibility Filing intent notarize_affirm boolean gating/confirmation In use Keep 90-day language explicit
Intake & Eligibility SA status separation_agreement_reached boolean branch logic In use Keep
Intake & Eligibility SA status parties_will_negotiate boolean branch logic In use Keep
Intake & Eligibility SA status separation_agreement_documented boolean branch logic In use Keep
Intake & Eligibility SA method separation_agreement_format text/radio branch logic/handoff In use Keep; clarify upload/interview/file-later paths
Intake & Eligibility SA upload separation_agreement_upload file filing bundle input In use Keep notarization requirement text
Intake & Eligibility Child-trigger routing has_children_together (or existing canonical equivalent) any ad hoc children trigger vars boolean trigger for child filings Needed/partially implemented Add/confirm canonical var in main interview
Intake & Eligibility Child support worksheet trigger child_support_guidelines_worksheet_needed ad hoc CSG trigger vars boolean CSG routing Needed by current status Per issue #51 feedback: trigger when children exist, even if waiver
Intake & Eligibility Findings trigger child_support_amount_matches_guidelines_exactly + derived findings_and_determinations_needed ad hoc findings trigger vars boolean Findings routing Needed by current status Trigger findings unless exact guideline amount is used

2) Joint Petition for Divorce (CJD-101A)

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
Joint Petition (CJD-101A) Petitioner A name users[0].name.full() users1_name_full text caption/signature blocks In use Map template field labels to canonical party object
Joint Petition (CJD-101A) Petitioner B name users[1].name.full() users2_name_full text caption/signature blocks In use Same
Joint Petition (CJD-101A) Petitioner A address users[0].address.* users1_address_*, users1_signatory_address_* address attrs contact/signature In use Standardize address source object once
Joint Petition (CJD-101A) Petitioner B address users[1].address.* users2_address_*, users2_signatory_address_* address attrs contact/signature In use Same
Joint Petition (CJD-101A) Signatory A/B resolution helper var (recommended): petition_signer[0/1] direct users[*] and sometimes attorneys[*] object signature fields Mixed Add explicit signer resolver: attorney if represented, else user
Joint Petition (CJD-101A) Name-change request A/B users[*].request_name_change, users[*].former_name_last users1_former_name, users2_former_name_last boolean/text relief section In use Keep but standardize former-name key (former_name_last)
Joint Petition (CJD-101A) Marriage/place/date marriage_location, marriage_date text/date marriage section In use Keep
Joint Petition (CJD-101A) Marital home marital_home object marital_home_on_one_line Address object + computed string marriage section In use Keep object as canonical, string as display
Joint Petition (CJD-101A) Children list display children[i].name_full() + children[i].birthdate children1_name_plus_birthdate etc. object/date attachment block In use Keep computed display vars as output-only aliases
Joint Petition (CJD-101A) Relief checkboxes request_divorce, request_approve_separation_agreement, request_separation_agreement_merge, request_survive_separation_agreement_survive template label variants boolean relief In use Ensure SA approval logic aligns with “file later within 90 days” option

3) Separation Agreement (MATCSeparationAgreement)

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
Separation Agreement Party 1 users[0] spouse labels internal to package Individual party blocks throughout SA In use Confirm import mapping from main interview
Separation Agreement Party 2 users[1] spouse labels internal to package Individual party blocks throughout SA In use Same
Separation Agreement Signature/notary identities users[*] or resolved signer helper attorney-party mixed references object execution section Mixed Add shared signer helper conventions across packages
Separation Agreement Child support terms linkage child support decision vars from main SA-local child support flags booleans/text support sections Partial Align triggers with CSG/Findings rules (children => CSG always)

4) Financial Statement (MATCFinancialStatement)

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
Financial Statement Filing person users[0] then users[1] (run-per-party pattern) interview-specific user aliases Individual one run per petitioner In use Keep “run twice” model; document party index passed into package
Financial Statement Party name/address/contact sourced from selected petitioner object package-local field names object attrs header/body In use Add explicit adapter block in main interview for clarity

5) Child Care or Custody Disclosure Affidavit (MATCChildCareOrCustodyDisclosureAffidavit)

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
Child Care/Custody Disclosure Affiant party reference selected petitioner object from users[*] package-local “party/spouse” labels Individual affiant block In use Confirm canonical party handoff var
Child Care/Custody Disclosure Child records children list package-local child aliases list of Individual children child entries In use Keep list canonical
Child Care/Custody Disclosure Supplemental page trigger computed from len(children) and form limits ad hoc counters numeric/boolean appendix logic In use Keep logic centralized if possible

6) Child Support Guidelines Worksheet (MATCCSGWorksheet)

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
CSG Worksheet Parent A/B identities users[0], users[1] parent/spouse aliases Individual worksheet party blocks In use Standardize labels to parent A/B while retaining users index
CSG Worksheet Trigger variable child_support_guidelines_worksheet_needed older “if child support addressed” logic boolean routing from main Needs update Per latest feedback: trigger whenever children exist
CSG Worksheet If not completed in-app csg_external_filing_acknowledged (recommended) none boolean warning/compliance screen Needed Add instruction acknowledgment in main interview

7) Findings & Determinations (MATCFindingsAndDeterminations)

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
Findings & Determinations Parent identities users[0], users[1] parent/spouse aliases Individual caption/party sections In use Standardize mapping adapter
Findings & Determinations Trigger variable findings_and_determinations_needed (derived) older “only deviations?” logic boolean routing from main Needs update Current status says: if children, trigger unless exact guideline amount
Findings & Determinations Guideline comparison child_support_amount_matches_guidelines_exactly ad hoc support match vars boolean trigger derivation Needed Add canonical var in main

8) Motion to Convert 1B to 1A (MATCMotionToAmend)

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
Motion to Convert Moving parties users[0], users[1] spouse/petitioner aliases Individual caption/signature In use (standalone package) Main interview integration still pending per status map
Motion to Convert Existing case metadata docket_number, court/division vars package-local aliases text/number header In use Ensure shared naming with main JP interview on integration

9) Joint Motion to File Marriage Certificate Late (CJD 400-related package)

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
Motion to File Marriage Certificate Late Joint movants users[0], users[1] spouse aliases Individual caption/signature Package exists; integration pending Add main-interview trigger when marriage certificate not uploaded
Motion to File Marriage Certificate Late Trigger marriage_certificate_uploaded (recommended) ad hoc upload checks boolean routing Needs integration If false, include motion in filing bundle

10) Report of Absolute Divorce (R-408) + Affidavit of Irretrievable Breakdown + Affidavit of Indigency

Filing / Interview Role on Form Canonical Variable (recommended) Legacy / Alias Names Seen Data Type Where Used Current Status Notes / Next Action
R-408 Party names and case metadata users[*], case vars (docket_number, division) template aliases object/text report fields In use Keep canonical party sources
Affidavit of Irretrievable Breakdown Joint affiants users[0], users[1] spouse aliases Individual affidavit text/signature In use Keep
Affidavit of Indigency Per-person filing selected users[*] package-local user alias Individual fee-waiver workflow In use via include Document “run per petitioner” convention

GitHub-AI-Recommended project-wide naming rule (so #54 is resolved cleanly)

Use this as the canonical convention and keep aliases temporarily:

  • Canonical party objects: users[0], users[1]
  • Optional readability aliases (set once in main):
    • petitioner_a = users[0]
    • petitioner_b = users[1]
  • Do not duplicate truth sources (avoid separate mutable spouse-name vars)
  • Keep template/PDF field labels as output mappings only, not canonical interview variables.