Giter Club home page Giter Club logo

Comments (9)

ruchamahabal avatar ruchamahabal commented on August 11, 2024 2

I'll give you a scenario:
Assume we have free follow-up enabled and number of free follow-ups are 2.
I went to doctor A. This is my first ever visit and hence I get 2 free follow-up. He suggested me to get some tests done. I get the result after a day and visits him. Both the visits are free.

Note: I didn't pay my consultation fees here. In settings, we enabled free follow-ups only, not free consultation. But my first visit (which is a consultation) was counted as a follow-up and hence I wasn't charged. And my second visit (which is a follow-up) was
deducted from the free follow-ups. My remaining free follow-ups are zero.

This has been fixed in frappe/erpnext#27156. Now you have to pay for first consultation and "follow ups" are free.

After few months, I went to the same doctor A. I pay the consultation fee since I don't have a free follow-up. He asked me to get some more tests done. I get the result after a day and I visit him. I will have to pay another consultation fee to see him since I don't have any free follow-ups left.

I hope you understand the issue now.

To tackle this issue; every time a patient paid consultation fees, we generated a fee validity. Thereby making follow-up(s) free.

Afaik, this use case was never part of the feature. Can be considered though. Thanks for bringing it up. This can be a part of healthcare settings because different hospitals might have different use cases.

  • Enable free follow-ups after every consultation or only the first one

from marley.

ChillarAnand avatar ChillarAnand commented on August 11, 2024

Thanks, @rtdany10 for the suggestion.

Currently, fee validity is based on appointment. Should we make it configurable so that users can select Appointment/Encounter in healthcare settings?

@ruchamahabal @akurungadam Thoughts?

from marley.

rtdany10 avatar rtdany10 commented on August 11, 2024

Currently, fee validity is based on appointment.

I disagree to this. According to me, fee validity is based on patient registration.

You can see it here:
https://github.com/frappe/healthcare/blob/c9fd664a76119c6921ba2be593ee3ef50a1d0efa/healthcare/healthcare/doctype/fee_validity/fee_validity.py#L26

This if condition makes sure free follow-up is given only to new patients. Old patients doesn't get free follow ups.
In most hospitals, it doesn't matter if you're an old patient or a new patient; if you paid for a consultation, you get a/some free follow-up(like in the scenario mentioned above).

I believe fee validity should be created irrespective of the patient being new or old.

from marley.

akurungadam avatar akurungadam commented on August 11, 2024

Thanks Dany and Anand, considering that Patient Encounter can be invoiced without having appointments, we should be adding this. Maybe moving the Fee Validity logic to Patient Encounter is also an option - I'm not altogether sure, we’ll need to check and come back

Currently, free follow-ups (Fee Validity) are based on Patient Registration

BTW, @rtdany10 Fee Validity is not really based on Patient Registration (new Patient), Patient Appointment insert should be doing this currently I guess?

I believe fee validity should be created irrespective of the patient being new or old.

It should be, will check this and if required do a fix, thanks

from marley.

rtdany10 avatar rtdany10 commented on August 11, 2024

BTW, @rtdany10 Fee Validity is not really based on Patient Registration (new Patient), Patient Appointment insert should be doing this currently I guess?

Although Patient Appointment insertion does the function call, it checks if the patient is new or old before creating fee validity. In case the patient is old, it returns null (as seen in the link in my above comment).

It should be, will check this and if required do a fix, thanks

We overrode few functions using a custom app to generate fee validity whenever a patient paid for a consultation(ie Sales Invoice against Patient Encounter/Appointment). Can send a pull request with the same once this issue is confirmed.

from marley.

ruchamahabal avatar ruchamahabal commented on August 11, 2024

Although Patient Appointment insertion does the function call, it checks if the patient is new or old before creating fee validity. In case the patient is old, it returns null (as seen in the link in my above comment).

check_is_new_patient checks if there is an existing appointment of that patient with the selected practitioner. Doesn't matter if patient registration was old.

https://github.com/frappe/healthcare/blob/cb3fbab0ed7deeaffdace12926c7b7c8c64661ed/healthcare/healthcare/doctype/fee_validity/fee_validity.py#L40-L56

In most hospitals, it doesn't matter if you're an old patient or a new patient; if you paid for a consultation, you get a/some free follow-up(like in the scenario mentioned above).

This has to end after a certain number of consultations right? How should we make sure from which consultation should we be using the free follow-ups. Maybe you can explain the model you are trying to map.

from marley.

rtdany10 avatar rtdany10 commented on August 11, 2024

In most hospitals, it doesn't matter if you're an old patient or a new patient; if you paid for a consultation, you get a/some free follow-up(like in the scenario mentioned above).

This has to end after a certain number of consultations right? How should we make sure from which consultation should we be using the free follow-ups. Maybe you can explain the model you are trying to map.

I'll give you a scenario:
Assume we have free follow-up enabled and number of free follow-ups are 2.
I went to doctor A. This is my first ever visit and hence I get 2 free follow-up. He suggested me to get some tests done. I get the result after a day and visits him. Both the visits are free.

Note: I didn't pay my consultation fees here. In settings, we enabled free follow-ups only, not free consultation. But my first visit (which is a consultation) was counted as a follow-up and hence I wasn't charged. And my second visit (which is a follow-up) was
deducted from the free follow-ups. My remaining free follow-ups are zero.

After few months, I went to the same doctor A. I pay the consultation fee since I don't have a free follow-up. He asked me to get some more tests done. I get the result after a day and I visit him. I will have to pay another consultation fee to see him since I don't have any free follow-ups left.

I hope you understand the issue now.

To tackle this issue; every time a patient paid consultation fees, we generated a fee validity. Thereby making follow-up(s) free.

from marley.

akurungadam avatar akurungadam commented on August 11, 2024

This is by booking Patient Appointment I suppose? Will check the implementation and apply a fix soon, thanks for reporting.

from marley.

rtdany10 avatar rtdany10 commented on August 11, 2024

This has been fixed in frappe/erpnext#27156. Now you have to pay for first consultation and "follow ups" are free.

My bad, I missed that. Thank you!
Been lazy to report this issue for a long time that I didn't realize it got fixed. Sorry for your time.

Afaik, this use case was never part of the feature. Can be considered though. Thanks for bringing it up. This can be a part of healthcare settings because different hospitals might have different use cases.

Thank you :)

from marley.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.