OpenEMR API
From OpenEMR Project Wiki
Overview
- This is a project that started in June, 2012, to auto-document the OpenEMR codebase. The project is still in an early phase.
API Documentation Links
- OpenEMR 4.1.2
- [http://www.open-emr.org/apidocs/dev/ OpenEMR Developer Version}
API
- Most recent API run can be found here: http://www.open-emr.org/apidocs/
- (Was completed with phpDocumentor using following command on ubuntu: sudo phpdoc -t apidocs -o HTML:frames:earthli -d . --ignore apidocs/,gacl/,phpmyadmin/,library/adodb/,interface/main/calendar/pnadodb/ --defaultpackagename OpenEMR --title "OpenEMR API Documentation" --sourcecode)
- Next run:
- Try to fix following parameter: --sourcecode (considered an unstable option and doesn't appear to be working) to get it to link to the source code (or figure out another mechanism)
- Will also try other documentation software.
Plan
- Success of this project is driven by proper documentation of the OpenEMR codebase. There are three phases:
- 1. All new code requires proper documenting as outlined on the How to Document Your Code Properly wiki page.
- 2. Convert old code to new documentation standards as outlined on the How to Document Your Code Properly wiki page.
- 3. Organize codebase API by optimizing the #package, #sub-package and #category params.
- Sourceforge forum on this topic can be found here: http://sourceforge.net/p/openemr/discussion/202506/thread/d97d1489
- A related github repo can be found here: http://github.com/kevmccor/code-doc-oemr
Issues
- Directories/Files to ignore:
- apidocs/
- Reason - This is the API docs directory
- gacl/
- Reason - This is an embedded module with an API already included. Additionally, connector functions can be found at library/acl.inc .
- phpmyadmin/
- Reason - This is an embedded application that does not communicate directly with OpenEMR.
- library/adodb/
- Reason - This is an embedded module and connector functions can be found at library/sql.inc
- interface/main/calendar/pnadodb/
- Reason - This is an embedded module and connector functions can be found at library/sql.inc
- Note that duplicate function names are not listed. Thus will need to ensure unique functions names in functions that are meant to be used in other scripts.