Health Ontology Mapper
Space shortcuts
Space Tools

ProxyGen Web Service SOW

 

  1. We need a new REST interface written that runs on a Java Servlet witin the Medical Center Network.

 

  1. Network routing will be restricted to point-to-point system access within the UCSF network.   System will require userid and password from UCSF Campus, MedCtr or SOM.

 

  1. The ProxyGen REST service will accept any alphanumeric patient identifier (MRN, SSN, PHONENUM, NAME etc…) and uses the Proxy MRN algorithm within UETL to either find or generate a proxy ID.  The associated Proxy ID is returned to the requester.

 

  1. The ProxyGen REST service should run over SSL

 

  1. The code within UETL that generates proxy IDs already exists in production but needs to be moved into a bean that can also be accessed by the ProxyGen REST service.  Specifically we need to create a proper JAR file for UETL that can be deployed on the app server.  That JAR file should contain both ProxyGen as well as the current UETL program.

 

  1. The existing algorithm of UETL must be retained.:

 

  • It attempts to look up any identifier and return the proxy number. 

 

  • If it can’t find the record in the Proxy Table then it creates a new proxy and returns that instead.

 

  1. The ProxyGen code must be re-entrant.  It must support simultaneous access from multiple clients without crashing or getting hung up.  This support for concurrency must be engineering into both the java code and the underlying database. Support for concurrency also applies to UETL itself.  While ProxyGen is running both the UETL UI and the UETL command line may be simultaneously running.

 

  1. All code created will be an open source extension of HOM as we are using UETL.  Progress reports must be provided on the HOM concall each week as outlined on the HOM Wiki.  We are contractually obligated to post all HOM extensions on the HOM SVN server specifically.  The SVN link is posted on the HOM Wiki at: https://community.i2b2.org/wiki/display/HOM/HOM+Home

 

  1. Once the code is written it must be tested by QA and the engineer needs to walk QA through that process and provide documentation for installation and operation of the ProxyGen web service in Production.  The ProxyGen service (since it is REST based) should be testable via any web browser.

 

  1.                      Will provide self service portlets for this service using JSR 168 technology.