Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Refactor Library API to use OpenFisca's interface?

Open
#132 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Refactor
Clarity
Needs clarification
Activity status
Stale
Domain
api

Research direction

No files, tests, or entry points are named. Start by comparing the current library API with the OpenFisca and PolicyEngine input/output formats, then examine the existing DMN models. Done means agreeing on a compatibility approach, such as direct support or adapters, and defining its scope.

Written by the indexing model from the issue text.

Description

big lift

The more I think about it, the more I think it would be best to support input/output compatibility with OpenFisca and/or PolicyEngine. Even though PolicyEngine is derived from OpenFisca, they have drifted in some ways from the OpenFisca base (I don't know how much in regard to I/O).

Why?

  • We haven't fully invented an I/O format that will cover all the benefit scenarios we want to support (and OpenFisca/PolicyEngine presumably have). Let's not reinvent the wheel.
  • It would probably make our project more compelling if people could plug it in to one of these other projects which have gained traction. Our project's reason to exist is to explore how to make it easier to create rules and screeners, not define JSON interfaces.

Why not?

  • Maybe the OF/PE JSON format is too cumbersome to model in DMN naturally?
  • Maybe the PolicyEngine format is more natural for policy scenario work than individual eligibility screening? I think this is being proven wrong by PE's use in tools like LA's Benefit Navigator
  • Might distract from our main goals in the short term.

I have talked about this idea w/ our friend Nick at Claimant, and he has done some initial experimenting with interoperability with PolicyEngine, but nothing to show for it yet.

This will take some dedication and focus to experiment and come up with a way forward. (It may involve rewriting an extensive amount of our DMN, and/or perhaps supporting "adapters" for converting from one format to another).

Originally posted by @prestoncabe in #46

Dominant language
Java
Stars
16
Forks
5
Avg merge
17h 24m
Merged PRs (30d)
23

Getting set up

We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from CodeForPhilly/benefit-decision-toolkit

All issues in CodeForPhilly/benefit-decision-toolkit

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.