Comments (4)
This is a very good overview of a feature that I think should be
prioritised for this round of development - it has been in discussion
for a while and should not take too much time with our new development
standards.
My one comment would be that it may be better to first achieve storing
documents on only one server and simply reporting that the file is not
available if another server (PAX for example) tried to gain access to
the file. Given this base case I think we'll be in a strong position to
add the rsync policy in the future. Primarily this is because BHIMA does
not officially support symmetric or syncing databases across multiple
nodes - implementing this feature right now would specifically be for
our current implementation case.
We could also add a user_uuid
or uploader_uuid
and note
field to
keep track of some additional meta data.
On 02/02/2016 09:12, Jonathan Niles wrote:
Feature Proposal: Patient Documents
This feature proposal expands the medical history records of the
application.One way to preserve patient documents is to scan them into the
computer, upload them, and directly link them to a patient entity. In
order to successfully accomplish this, we'll need to develop an
appropriate method of linking, storing, backing up, and syncing
patient documents.In brief, a new database table, |patient_attachment|, will need to be
created with the following columns: |patient_uuid|, |document_uuid|,
|label|, |timestamp|. Any uploaded document will have the file name
rewritten to a |new uuid()|. The |patient_attachment| table stores the
original document name in the |label| field (editable in the future).
The documents are stored on disk in a folder specified by the
environmental variable |UPLOAD_DIR|.We will need to design a way to sync documents across radio networks
as well. Something like rsync https://en.wikipedia.org/wiki/Rsync
might come in handy there.The server side API should support the following routes:
- |POST /patients| should allow an additional array of "attachments"
(five maximum).- |POST /patients/:uuid/attachments| should add attachments to the
patient- |DELETE /patients/:uuid/attachments/:uuid| should delete an
attachment from the patient's attachments matching the provided ID.- |DELETE /patients/:uuid/attachments| should delete all attachments
from the patient entity.- |GET /patients/:uuid| should return an |attachments| array on the
patient object with ids for all of the entity's attachments- |GET /patients/:uuid/attachments/| should return a list of patient
attachments- |GET /patients/:uuid/attachments/:uuid| should serve the
attachment to the browser as a download.On the client side, the |/patients/:uuid/edit| route should allow a
user to upload, remove, and show attachments much like patient groups
or debtor groups.Interested in feedback on this @IMA-WorldHealth/local-contributors
https://github.com/orgs/IMA-WorldHealth/teams/local-contributors.—
Reply to this email directly or view it on GitHub
#63.
from bhima.
I would favor user_uuid
for simplicity with the rest of our database.
I agree, getting the initial uploading of documents should be the development focus. Once on the ground at PAX we can judge how strong the need is to share the scanned documents between locations.
from bhima.
In working on this, I think Patient Documents
will make a lot more sense to our users. I'll be renaming this feature to Patient Documents
, but implementing identical functionality.
from bhima.
Closed via #452.
from bhima.
Related Issues (20)
- Add validation of requisition feature
- Add a dashboard for SEMI indicators HOT 1
- Remove "optional" from the search criteria on Stock Movements page
- Stock Movements Registry Performance Issues
- Invoice Receipts show a negative sign (-) for negative values
- Vouchers have multiple parentheses on their total description
- Improved purchase order module
- Add user account page
- Restriction on shipping management
- Displayed stock values with 4 decimal places
- Problem on the management of product packaging HOT 3
- Convert end-to-end tests to Playwright HOT 1
- Satisfaction rate report HOT 1
- Duplicate colors in the color selector
- Render the total row in the correct currency on the Payroll Multiple Page
- Why are all employees not automatically configured for the payment of each pay period?
- Strange NaN error during multiple payroll indice configuration
- Implementation of modules for budget management HOT 2
- Improved Depot Management assignation of depot
- Do we still need the stock changes report?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bhima.