Skip to content

Commit

Permalink
Merge pull request #25 from laslabs/feature/0.1/readme-to-rst
Browse files Browse the repository at this point in the history
[IMP] Change ReadMe to RST
  • Loading branch information
Ted S committed Nov 10, 2016
2 parents fcbc49d + 9c60b69 commit b0c2c9b
Show file tree
Hide file tree
Showing 2 changed files with 124 additions and 126 deletions.
126 changes: 0 additions & 126 deletions README.md

This file was deleted.

124 changes: 124 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
| |Build Status|
| |Coveralls Status|
| |Codecov Status|
Python CarePoint Library
========================

This library will allow you to interact with CarePoint using Python.

| For the most part, it just provides some convenience wrappers to
encapsulate
| all of the tables within one object/session for easy use.
Most of the methods return SQLAlchemy ResultProxies.

Installation
------------

To install this module, you need to:

- Utilize a system able to access all CarePoint network resources
(database, SMB)
- This includes things like DNS entries for the NETBIOS names
- Setup UnixODBC - http://help.interfaceware.com/kb/904
- Install UnixODBC development headers -
``apt-get install unixodbc-dev``
- Install dependencies - ``pip install -r requirements.txt``
- Install library - ``pip install .``

Setup
-----

- Create an Active Directory user
- Give AD user permissions to CarePoint images and data net shares
- Give AD user read & write permissions on the following databases:
- cph
- grx\_master

Usage
-----

Connect to Database server
~~~~~~~~~~~~~~~~~~~~~~~~~~

::

from carepoint import Carepoint

cp = Carepoint(
server='127.0.0.1',
user='test_db_user',
passwd='db_pass',
)

Perform a search for a patient with the last name Smith
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

res = cp.search(
cp['Patient'],
{'lname': 'Smith'},
)
for row in res:
print row.fname

Perform a patient search, but only return the ``mname`` column
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

res = cp.search(
cp['Patient'],
{'lname': 'Smith'},
['mname'],
)
for row in res:
print row.mname

Get patients modified in 2015
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

res = cp.search(
cp['Patient'],
{
'chg_date': {
'<=': '2015-12-31',
'>=': '2015-01-01',
}
},
)
for row in res:
print row.fname

Get image using SMB path from database
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

cp = Carepoint(**opts)
img_rec = cp.search(cp['FdbImg']).first()
image_file = cp.get_file(img_rec.IMAGE_PATH)
image_data = image_file.read()

Known Issues / Road Map
-----------------------

- More usage samples
- A decent amount of models are missing
- Create documentation of models
- Add some basic validations
- Create a column type that will retrieve file from SMB path in DB
- Better SMB support (allow ftimes, dir list, caching)
- FDB images only serve from store ID 1’s net share
- Having to pass the model to the Carepoint object is annoying, object

.. |Build Status| image:: https://api.travis-ci.org/laslabs/Python-Carepoint.svg?branch=release%2F0.1
:target: https://travis-ci.org/laslabs/Python-Carepoint
.. |Coveralls Status| image:: https://coveralls.io/repos/laslabs/Python-Carepoint/badge.svg?branch=release%2F0.1
:target: https://coveralls.io/r/laslabs/Python-Carepoint?branch=release%2F0.1
.. |Codecov Status| image:: https://codecov.io/gh/laslabs/Python-Carepoint/branch/release%2F0.1/graph/badge.svg
:target: https://codecov.io/gh/laslabs/Python-Carepoint

0 comments on commit b0c2c9b

Please sign in to comment.