earthians / marley Goto Github PK
View Code? Open in Web Editor NEWOpen Source Health Information System
Home Page: https://frappehealth.com
License: GNU General Public License v3.0
Open Source Health Information System
Home Page: https://frappehealth.com
License: GNU General Public License v3.0
Need to have radiology workflows in healthcare.
Integrate with PACS to fetch DICOM data.
Add dicom viewer to view dicom files directly from healthcare module.
There is a field for Healthcare Practitioner in Sales Invoice but it is not getting updated on Patient Appointment done with "Invoice Appointments automatically " configured
Is your feature request related to a problem? Please describe.
If the inpatient record has the same items [same inpatient occupancy added multiple times after transfers] and when creating a sales invoice for this patient the items table in the sales invoice will have multiple entries for the same item. As you can see in the image below, Deluxe Room is present twice, Instead, it can be one item with qty=2(1.5+0.5).
Describe the solution you'd like
The healthcare services when added to the sales invoice need to be grouped by item and their quantities added.
Currently Patient Appointment doctype has series hard coded in the doctype definition but like other doctypes it should be controlled using the naming_series field
Previously I was able to create a Practitioner Schedule without issue. Since the last ERPNext update when I try to create a Practitioner Schedule the Practitioner Schedule Doctype has no visible fields to enter data into and I am unable to save Practitioner Schedule doctype due to mandatory fields.
erpnext 11.0.3-beta.24
foundation 0.0.1
frappe 11.0.3-beta.29
Issue: Feature Request
I am testing this software for a health facility. Its fantastic!! Great thanks to its creators!!!
is it possible for invoices to be generated automatically in the below mentioned scenarios
IN my view, invoices should be generated automatically for any services rendered and all the stock moves updated at the same time. I have not been able to figure out this feature here.
your assistance will highly be appreciated.
Thanks in advance
Currently one can create an appointment for a Medical Department, Healthcare Practitioner and Date, then select a time-slot.
In Radiology, you create appointments for equipments instead of healthcare practitioners, for example, CT-Floor-1 on 2020-05-10 at 08:00.
Of course I can create a Healthcare Practitioner called "CT-Floor-1", but it would be very nice to be able to create Equipments and appointments for them.
As far as I know currently is not possible to define Equipmens, am I right?, do you plan to implement this?.
Unfortunately ERPNEXT healthcare application does not support DICOM while it is a key feature for healthcare ERP.
I did some search and found this project that revives DICOM old python legacy library with complete new python 3.X and 2.7 libraries, see:
https://github.com/pydicom/pynetdicom
My question:
Can this be used in future ERPNEXT healthcare app to support the DICOM standard protocol?
And
Can anyone recommend a path for me to work on integrating this library with the current health care app??
Thanks for your support
If consultation is cancelled, then the status of Appointment should become Open again. Perhaps we can also have button/select option to set Appointment as Closed/Cancelled.
A portal user is assigned a single role at the time of registration. But for a patient to be able to order a healthcare package online, he needs to be assigned a customer role as well.
The portal requirements for a patient to place the orders online for health-packages
Frappe Requirements
ERPNext Requirements
Healthcare Domain Requirements
I have suggestion that Laboratory Module should be independent of Healthcare Module. its because of its nature medical labs do exists without the complete healthcare system. Some good software for healthcare like GNU Health provide independent software for lab management.
some features which i would like to see is.
Only Healthcare domain is active on fresh ERPNext instance.
Installed Apps
ERPNext: v11.1.10 (master)
Frappe Framework: v11.1.10 (master)
Uncaught TypeError: Cannot read property '__islocal' of undefined
at frm.fields_dict.patient_relation.grid.get_field.get_query (eval at setup (script_manager.js:155), <anonymous>:132:16)
at o.set_custom_query (link.js:300)
at HTMLInputElement.<anonymous> (link.js:157)
at utils.js:645
frm.fields_dict.patient_relation.grid.get_field.get_query @ VM706:132
set_custom_query @ link.js:300
(anonymous) @ link.js:157
(anonymous) @ utils.js:645
setTimeout (async)
(anonymous) @ utils.js:649
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
Feature Request : Healthcare , Pharmacy
For Pharmacy to deliver drugs prescribed by the doctor to the patient
Drug Prescription added in consultation should be linked to Sales invoice
In Sales Invoice drugs can be loaded from Patient Appointment ID .
Customer = Patient
Patient Appointment ID select list should be filtered from the selected Patient
Patient Appointment ID select list, should show the date and time of the consultation to select the latest and the right consultation
Qty of the drugs can be determined from the dosage and the period
Prescription qty to be ignored if the drug is of category syrup (liquid)
i think we need to link it with item group or can be handled via UOM
There should be selection of the batch available from the stock for the drugs as it is normally FIFO
So as a newbie to Healthcare with ERPNext I am trying to feel my way forward. I apologise if this ground is well trodden but I am struggling a little in trying to tap the right resources.
So my first issue is that I wish to attach a patient to a location (this is required for emergencies, transport planning and effectiveness studies). I understand that there is a relationship between patient and customer (as used in the CRM world of ERPnext). Here in Tanzania addresses are pretty loose at the street level and postcoding is in its infancy, but there is a fairly well defined hierarchy of region, district, ward, village. I have a pretty well populated spreadsheet of this information with geolocation (lat/lon) information for the villages.
I read that many customers (roughly patient) can be associated with an address and many addresses with a customer and so I hope to be able to upload my data and as part of patient registration establish their village of residence - ensuring a reasonable level of accuracy eg there are many similar named villages in different districts and regions.
My testing to date seems to show that despite creation of a few addresses the customer form tells me that no addresses are added yet and that I should create a "new address" in essentially free form ie without verification of spelling or confirmation of eg district for a given village.
Can anyone make suggestions as to my best route forward?
After the successful installation of ERPNext. And the activation of all modules. I don't see the healthcare module in the modules. How to make it visible please. I have already checked that it is enabled in "Domain Settings". But it is not always visible.
As i have commented https://discuss.erpnext.com/t/erpnext-healthcare-merged-to-develop/28205/20
Also i have noticed that by default Administrator cannot delete the Patient record (correct) but don't see also the Status option to disable the record if the same is not correct.
I have created two Patients with same name and on the first the Customer name was the Patient record name and on the Second before creating the Patient i created the Customer in order to select it when creating the Patient .... But ended up with two Patients with same name and no option to disable the record with Customer name as Record number.
I would like to add multiple practitioners to 1 appointment. They could be optional to the appointment
Error reported on discussion group.
https://discuss.erpnext.com/t/healthcare-please-specify-company/73252
when giving appointment to a patient, system wants very detailed information and a patient record. but think like that: a new patient calls clinic and wants to take appointment, the secretary only need patient name and phone number. no need to patient record saved to system and no need to any other info. becouse, maybe the patient wont come to appointment, so what we do the patient record. so i think the patient record mandatory is bad for first appointment taken on telephone. we can take appointment in calendar without any records saved. just name and phone info and maybe a small note. my suggestion is remove all mandatory fields in appointment section
Healthcare Practitioner is not searchable by practitioner_name in Patient Encounter
I was getting an error when trying to update using "bench update --reset" from version 9.1.6 to any newer version. From the forum, a user having a similar error had to permanently delete files from "Deleted Files" to be able to update but I didn't work for me. To solve the issue I had to restore a backup of my pre-update installation, deactivate the "Healthcare Domain" and redo the update which worked this time. I will try to deactivate the "Healthcare Domain" each time I perform an update until this issue is resolved.
Executing execute:frappe.get_single('Domain Settings').save() in site1.local (1bd3e0294da19198)
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 94, in
main()
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 722, in call
return self.main(*args, **kwargs)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/init.py", line 24, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 217, in migrate
migrate(context.verbose, rebuild_website=rebuild_website)
File "/home/frappe/frappe-bench/apps/frappe/frappe/migrate.py", line 31, in migrate
frappe.modules.patch_handler.run_all()
File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 29, in run_all
if not run_single(patchmodule = patch):
File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 63, in run_single
return execute_patch(patchmodule, method, methodargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 81, in execute_patch
exec(patchmodule.split("execute:")[1],globals())
File "", line 1, in
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 256, in save
return self._save(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 307, in _save
self.run_post_save_methods()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 827, in run_post_save_methods
self.run_method("on_update")
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 702, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 964, in composer
return composed(self, method, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 947, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 696, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/domain_settings/domain_settings.py", line 20, in on_update
domain.setup_domain()
File "/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/domain/domain.py", line 32, in setup_domain
frappe.get_attr(self.data.on_setup)()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/healthcare/setup.py", line 15, in setup_healthcare
create_healthcare_item_groups()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/healthcare/setup.py", line 183, in create_healthcare_item_groups
insert_record(records)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/healthcare/setup.py", line 268, in insert_record
doc.insert(ignore_permissions=True)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 217, in insert
self._validate_links()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 671, in _validate_links
frappe.LinkValidationError)
File "/home/frappe/frappe-bench/apps/frappe/frappe/init.py", line 319, in throw
msgprint(msg, raise_exception=exc, title=title, indicator='red')
File "/home/frappe/frappe-bench/apps/frappe/frappe/init.py", line 309, in msgprint
_raise_exception()
File "/home/frappe/frappe-bench/apps/frappe/frappe/init.py", line 282, in _raise_exception
raise raise_exception(encode(msg))
frappe.exceptions.LinkValidationError: Could not find Parent Item Group: All Item Groups
Please, is there an official documentation on how to integrate MedDream DICOM Viewer in ERPNext Healthcare. This is for manage Medical Imaging in the application.
Currently, free follow-ups (Fee Validity) are based on Patient Registration, but, I believe free follow-ups should be based on consultations (invoiced Patient Encounter).
If I go to a hospital, I will first have to register myself there and get an OP Card. But that registration doesn't provide me any free consultation(in most cases). Once I'm registered in their database, I can schedule a consultation and pay the consultation fee. After consultation, the doctor might ask me to get some tests done. Let's consider my test results came after few days. I can consult the doctor with my test results without paying the fee again.
Usually, almost all hospitals allows a fixed number of free follow-ups for a fixed number of days after every paid consultation.
Let me know your thoughts on the flow and how we can improve the current one. Will be more than happy to contribute.
As a work around, we added a hook to create Fee Validity after every paid consultation.
Hi Guys,
I have encountered one issue in Healthcare practitioner. eventhough I have created the master entries for practitioners with all time schedules, the practitioners data is not fetching in any linked forms. for example in patient appointment form etc. seems like the get_practitioner_list is having some issue. I have seen a similar issue here. https://github.com/frappe/erpnext/issues/16638
but its too old and the code has been changed ever since. hope the team will look into it.. really appreciate all your helps and support.
Enabling the healthcare module forces SI to have the patient field compulsorily selected which shouldn't be the case as there might be other services and products which the company sell in which being a patient along with being a customer is not mandatory.
Version 11.X.X
frappe/erpnext#12646
Is your feature request related to a problem? Please describe.
We need to maintain a record of and automate billing according to the services used for an inpatient like oxygen, ventilator support, HFNC etc.
Describe the solution you'd like
Like Inpatient occupancy table we will need nursing items table to keep track of services used during inpatient. During final Invoice, these should be fetched with Get Items from
-> Healthcare Services
.
I see that this is part of the road map. Let me know how can I contribute.
Hello ERPNext Community,
I found a issue when creating a new Patient Appointment, in Healthcare module. Concretely, when I click the “Check Availability” button, a new dialog window opens. In this, I should select the “Medical Department”, “Healthcare Practitioner” and the “Date” of the appointment. Both “Medical Department” and “Healthcare Practitioner” are link fields. I have no problem with “Medical Department” and “Date”. However, when I what to select the Practitioner, the field doesn’t fetch the list of available Practitioners:
It should fetch the active Practitioners I’ve created:
I thought it could be because it seems to filter Practitioners based on Department. However, I removed the following piece of code (it appears two times) and nothing happened:
frm.set_query("practitioner", function() {
return {
filters: {
'department': frm.doc.department
}
};
});
No errors in console (JS nor Python).
Testing Scenario:
Discussion in the forum: https://discuss.erpnext.com/t/patient-appointment-form-doesnt-fetch-practitioner-data/45403
One can Choose Naming as Auto Name because of Naming can be customized for every docs.
Auto Name Does not work as We can not set Auto Name in Healthcare Setting and this form can not be customzed
Output of bench version
13.1
(paste here)
## Steps to reproduce the issue
1.Just Auto Name option also required in addition to naming series and relevant code to use auto name for patient naming
2.
3.
### Observed result
### Expected result
### Stacktrace / full error message
(paste here)
## Additional information
OS version / distribution, `ERPNext` install method, etc.
It would be great if we can see the health care Module can configure as website.. I am struggling to understand from where I can establish connection between Healthcare module and website module.
Regards,
Chandrasekhar
Hi ,
In the Healthcare domain, clicking on the 'Invoice Patient Registration' button returns a 'Company not found error'
Please help fix asap
Thanks
When a new Patient is created, a new Customer is created but mobile number is not copied to the Customer doctype which makes it difficult to have the contact details in any of the customer related Sales reports
Healthcare module
Output of bench version
(paste here)
(paste here)
OS version / distribution, ERPNext
install method, etc.
This standard query shows list of all Healthcare Practitioner and does not allow passing filter parameters. In Patient Appointment it shows all Healthcare Patients within a Department even if the Healthcare Practitioner is of specific Department.
Hi,
I have been doing reports via Report Builder, but through this via, cannot be added columns with information about different document types.
So, I want to use standard reports types. When I open an standard report type (see the picture), I can add columns with information of different associated report types. What I have seen is that healthcare module does not have any standard report type. So, if you could make an standard report for patients would be excellent.
Version 13-dev
according to https://docs.erpnext.com/docs/user/manual/en/healthcare/fee_validity
although it is not exactly for Version 13, however if not enable "Free follow-ups", fee validity should not auto create
however, no matter disable or enable, it will created when appointment create
it will pop like this "Patient03 has fee validity till 2021-04-21" when appointment applied
fee validity should not auto create
I would like that to make the overlap protection on creating of appointments or therapy sessions optional.
hello can any 1 help me that how can i fix this issue...
The appointment field is showing nothing here in v.11 of Erpnext although i have saved 4 to 5 appointments in appointment doctype......
Thanks in advance...
These are the Patient Appointment which i have saved but these are not showing in the patient Encounter
Lab tests are created individually. Their results are individually generated on different documents.
In a scenario where one patient does 5 tests, 5 printouts are required.
Either we could club multiple tests of same department into 1 Lab Test document or maybe keep a print format that fetches test results of that patient all in one print.
Although, I prefer to allow multiple tests in one document. In that way, it is easier to manage.
Hi,
There is a common scenario these days where in doctors have a revenue sharing deal with Hospitals. Currently we just have an option to have them as a fixed salary employees. If we can start a discussion around on how to do it best using perhaps existing Sales Person feature or otherwise I will be very happy to do it.
There could be one of following revenue sharing scenarios.
@akurungadam What do you think? Tagging you because I think this would need fair amount of discussion before we decide on things.
This repository contains all of ERPNext's histories, and everything apart from the healthcare module was deleted in one commit.
I feel we should instead only keep history (or commits) pertaining to the healthcare module. This would bring down the size of the repo considerably for starters. That alone will reduce the overhead to develop and maintain this app. Debugging across histories will be easier since we won't be dealing with so much baggage (909MiB at this point alone) 😅.
cc: @ChillarAnand
We are a hospital located in Kenya, testing your platform for possible adoption. We are thankful for a great system.
Though we have one humble request:
Most of our patients pay using their insurance cards, a few pay directly using cash.
If it is possible to include an option for "using insurance cards" as a means of payment, we would be grateful.
Thanks in advance.
Write a better README with
Upon running 'Delete all the Transactions for this Company', Healthcare Service Units are also removed, including the root.
And it's not possible to add any other units as the root is removed.
But for some weird reasons, I was able to add the root back via Quick Entry after like 3 tries. Another bug, I guess?
Adding doctype to this list will solve the issue.
https://github.com/frappe/erpnext/blob/develop/erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py#L176-L183
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.