An open source health and human services application server and data warehouse. Chat with us at: https://gitter.im/hslynk/Lobby?source=orgpage Documentation is at: https://github.com/servinglynk/hslynk-open-source-docs
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
hmis-admin
hmis-authorization-service
hmis-base-model
hmis-base-serialize
hmis-base-service
hmis-chronichomeless-v2014
hmis-client-dedup
hmis-client-deidentify
hmis-clientapi-v2014
hmis-clientapi-v2015
hmis-clientapi-v2016
hmis-clientapi-v2017
hmis-core-client
hmis-core-common
hmis-developer-service
hmis-fileupload-core
hmis-global-household
hmis-globalapi
hmis-hud-reports
hmis-load-processor-v2014
hmis-load-processor-v2015
hmis-load-processor-v2016
hmis-load-processor-v2017
hmis-model-v2014
hmis-model-v2015
hmis-model-v2016
hmis-model-v2017
hmis-notification-core
hmis-notification-service
hmis-report-core
hmis-report-service
hmis-s3-client
hmis-serialize-v2014
hmis-serialize-v2015
hmis-serialize-v2016
hmis-serialize-v2017
hmis-service-v2014
hmis-service-v2015
hmis-service-v2016
hmis-service-v2017
hmis-survey-views
hmis-upload-service
hmis-user-service
sync-general
sync-years
.gitignore
.gitignore.swp
CONTRIBUTING.md
LICENSE
README.md
pom.xml

README.md

HSLynk is a human services platform developed by ServingLynk, Inc. in conjunction with a community of third-party developers and users. Pay-per-use hosting is offered at http://hslynk.com. The docs, wiki, and issue tracker are all located at: https://github.com/servinglynk/hmis-lynk-open-source-docs/wiki

Build Status

HSLynk Human Services Data Warehouse

All subdirectories in this repository contain HSLynk microservice code. Our issue tracker and wiki is in a separate repo (https://github.com/servinglynk/hmis-lynk-open-source-docs), to keep the code repo lean.

Prerequisites

How to Run on local machine

Make a local copy database.properties with the below config in /hmis-base-model/src/main/resources

app.jndi.name=jdbc/multischema
db.driver=org.postgresql.Driver

db.url=jdbc:postgresql://localhost:POSTGRES_PORT/hmis
db.username=postgres
db.password=


hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.show_sql=true
entitymanager.packages.to.scan=com.servinglynk.hmis.warehouse.entity
hibernate.default.schema=base
# change this indexing location value to point to your local system path (the value below is setup for the server)
solr.search.indexing.location=/usr/share/hmisindexing
db.initsize=10
db.maxactive=100
db.minidle=20
db.maxidle=20
db.maxwait=60000
#Also adding some more properties
git clone https://github.com/servinglynk/hmis-lynk-open-source.git
cd hmis-lynk-open-source
mvn clean install -DskipTests

Note: if you wish to run the unit tests, remove "-DskipTests" from the mvn command above,

Deploy instructions

Tomcat is used to deploy this app.

First time steps

  • Create database:
Open Eclipse and navigate to
Base Schema
/hmis-base-model/build.xml
 replace <pathelement location="/Users/sdolia/.m2/repository/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>
 to wherever you have <pathelement location="MAVEN_HOME/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>

run setupDB
    MasterData
    SSN_decrypt

v2014   (You need to run this if you plan to load data in the 2014 schema)
 /hmis-model-v2014/build.xml
  replace <pathelement location="/Users/sdolia/.m2/repository/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>
 to wherever you have <pathelement location="MAVEN_HOME/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>

run setupDB2014

v2015   (You need to run this if you plan to load data in the 2015 schema)
 /hmis-model-v2015/build.xml
  replace <pathelement location="/Users/sdolia/.m2/repository/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>
 to wherever you have <pathelement location="MAVEN_HOME/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>



run setupDB2015

v2016  (You need to run this if you plan to load data in the 2016 schema)
 /hmis-model-v2016/build.xml
  replace <pathelement location="/Users/sdolia/.m2/repository/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>
 to wherever you have <pathelement location="MAVEN_HOME/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>

run setupDB2016

v2017 (You need to run this if you plan to load data in the 2017 schema)
 /hmis-model-v2017/build.xml
  replace <pathelement location="/Users/sdolia/.m2/repository/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>
 to wherever you have <pathelement location="MAVEN_HOME/org/postgresql/postgresql/9.3-1101-jdbc41/postgresql-9.3-1101-jdbc41.jar"/>

run setupDB2017

Git Eclipse Maven Howto: Below is an example showing how to import Maven projects from the GitHub

In this example:
Git repository:https://github.com/hserv
Project: coordinated-entry
Sub project


Open Eclipse
File => Import
Git => Projects from Git => Next
	HiLight Clone URI => Next	
	
	URI:https://github.com/hserv/coordinated-entry
	Host;github.com
	Repository Path:/hserv/coordinated-entry
	
	Connection
	Protocol https
	
	Authentication 
	User:
	Password:
	
	=> Next
	
	Select survey_global_project
	->Next
	
	Local Destination
	
	Directory
	c:/Users/xxxx/git/coordinated-entry
	
	
Select import Wizard
	Click Maven 
	HiLight Existing Maven Projects
	=> Next
		
	Root Directory
	Browse to c:/Users/xxxx/git/coordinated-entry
	Check Project(s) to import from the list of projects (survey-api)
		=> Finish
		
	Projects have been imported and show in the Package Explorer window
	
	HiLight survey-api
	Right Click 
		HiLight Run As
			Maven install

Deploy steps

  • Open server.xml in your tomcat and add the below line.
  • Deploy microservices you want in eclipse or any IDE.

Project Description

  • hmis-admin :
    Hmis admin UI application for admin related activity for HMIS.
  • hmis-authorization-service :
    Authorization service is a microservice which takes care of authentication and authorization and is a means to acquire authentication token whichn will be required to call other microservices.
  • hmis-base-model :
    Hmis base model is project which points to the base postgres schema.
  • hmis-base-serialize :
    Hmis base serialize contains pojos to serialize/de-serialize apis from the base base schema.
  • hmis-user-service :
    Microservice containing apis providing hmis user,projects, organization, roles specific information.
  • hmis-base-service :
    Base service is a common service layer across all the hmis version specific schema and also contains service layer for the base service schema.
  • hmis-chronichomeless-v2014: Background process to calculate Chronic homelessness in the 2014 schema.
  • hmis-client-dedup :
    Microservice to determine dedup client id from OPEN EMPI.
  • hmis-client-deidentify :
    Standalone java project to de-identify (remove) client specific information from the source file. Client information like First Name, Last Name, DOB, SSN.
  • hmis-clientapi-v2014 :
    Microservice which has apis against the 2014 schema (HUD Version 4.0.1)
  • hmis-clientapi-v2015 :
    Microservice which has apis against the 2015 schema (HUD Version 4.1.1)
  • hmis-clientapi-v2016m :
    Microservice which has apis against the 2016 schema (HUD Version 5.1)
  • hmis-clientapi-v2017 :
    Microservice which has apis against the 2017 schema (HUD Version 6.1)
  • hmis-core-client :
    Common project across all the projects to communicate between microservices.
  • hmis-core-common :
    Common library across all the projects containing basic utils and classes.
  • hmis-developer-service :
    Microservice which contains apis to provision trusted app, developer company, developer service.
  • hmis-global-household :
    Microservice containing apis related to global house hold.
  • hmis-globalapi :
    Microservice containing apis related to global house hold.
  • hmis-hud-reports :
    Project which calculates/generates HUD APR reports.
  • hmis-load-processor-v2014 :
    Processes uploaded files agains the 2014 schema.
  • hmis-load-processor-v2015 :
    Processes uploaded files agains the 2015 schema.
  • hmis-load-processor-v2016 :
    Processes uploaded files agains the 2016 schema.
  • hmis-load-processor-v2017 :
    Processes uploaded files agains the 2016 schema.
  • hmis-model-v2014 :
    Java library containing Hibernate entities related to the 2014 data model.
  • hmis-model-v2015 :
    Java library containing Hibernate entities related to the 2015 data model.
  • hmis-model-v2016 :
    Java library containing Hibernate entities related to the 2016 data model.
  • hmis-model-v2017 :
    Java library containing Hibernate entities related to the 2017 data model.
  • hmis-serialize-v2014 :
    Java library containing pojos to serialize/de-serialize apis related to the 2014 database schema. HUD version 4.0.1.
  • hmis-serialize-v2015 :
    Java library containing pojos to serialize/de-serialize apis related to the 2015 database schema. HUD version 4.1.1.
  • hmis-serialize-v2016 :
    Java library containing pojos to serialize/de-serialize apis related to the 2016 database schema. HUD version 5.1.
  • hmis-serialize-v2017 :
    Java library containing pojos to serialize/de-serialize apis related to the 2017 database schema. HUD version 6.1.
  • hmis-service-v2014 :
    Java library containing spring service layer classes for 2014 apis and data model.
  • hmis-service-v2015 :
    Java library containing spring service layer classes for 2015 apis and data model.
  • hmis-service-2016 :
    Java library containing spring service layer classes for 2016 apis and data model.
  • hmis-service-v2017 :
    Java library containing spring service layer classes for 2017 apis and data model.
  • hmis-s3-client :
    Java library containing code to connect to Amazon S3 for hmis.
  • hmis-upload-service :
    Microservice to upload xml,zip or .7z files and to know the fetch the bulk uploads by status.
  • hmis-notification-core :
    Java library to send email notification for functionalities like welcome email etc.
  • hmis-notification-service :
    Microservice which uses hmis-notification-core to send notifications.
  • hmis-report-core :
    Java library containing core report functionality.
  • hmis-report-service :
    Microservice which would be used to request a report for users.
  • sync-general :
    Sync process to sync data from postgres CES schema to HBASE.
  • sync-years :
    Sync process to sync data from postgres HMIS version specific schema to HBASE.