Modeling Drug Substitutions & Switches - Data Capture and Reporting

I am looking at ways of modeling drug substitutions (similar drugs) and switches (Different drugs), within OpenMRS.

Currently we are just maintaining observations in different encounters, but I am wondering if there is a more structured way to do this, to simplify tracking and reporting

Seems like we need more specifics here, Steven. Are you looking to identify changes with a particular drug class, or between first line and second line treatments? I think some of these can be managed through membership in convenience sets, but if you are looking at something broader, like exchanges within a therapeutic category or ATC class, then that would require using reference maps.

Andrew the first one seems more like what I am looking for. However the challenge that we are having is that in order to report on substitutions and switches, we need to recursively query the history of drug pickups in order to determine when these changes happened.

Hence my question is there another way to record changes in treatment drugs, and frequency other than observations, that has been thought about, discussed or used anywhere else.

@dev5 @dev4 Have you come across a similar scenario in any of your implementation projects? Has a design approach been thought about or even conceptualized for this over the years?

Anyone knows if #software:bahmni has any such features or support

Any input on this? Anywhere in the architecture plan for current and future?

For this one @slubwama and I are thinking like this

  1. Create Programs for each of the regime lines, First Line, Second Line, Third Line as defined in the national treatment algorithms

  2. Patients are assigned to each program depending on the drug line that they are taking.

  3. On Enrollment, the regimen they are taking is saved in the current regimen program attribute (given that these have now been added to core)

  4. Switches - I am thinking we can include states in the program status while including the regimen with each state change (no details yet)

What do you think