CodeForPhilly / CodeForPhilly/benefit-decision-toolkit

Refactor Library API to use OpenFisca's interface?

Open
#132 0 comments 0 reactions 0 assignees View on GitHub
big lift
Dominant language
Java
Stars
15
Forks
5
Avg merge
1d 2h
Merged PRs (30d)
23

Description

> 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](https://www.loom.com/share/9e012c258a3e4a8e844a91f35fb28988?sid=be377ad8-21c7-40e7-afac-5ca0c32ad88d)
> - 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](https://github.com/CodeForPhilly/benefit-decision-toolkit/issues/46#issuecomment-2629142069)_

Contributor guide

No contributing guide indexed for this repository

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.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.