This project requires Golang to be installed - https://go.dev/doc/install
HIPAA-Verifier is responsible for the following -
-
Act as a registry for services that exchange data, described by -
- a
sourceor thedata owner- who is sending the data ? - a
destinationor thedata requester- who is requesting the data ? - a
type- the record type that is being exchanged - a list of
protect-rules (defined ahead) - a list of
verify-rules (defined ahead)
- a
-
Define a
identifypath andprotect-rule/verify-rulecorresponding to this field -- a
protect-ruledefines what logic/function is to be used to protect a certain field's value - a
verify-ruledefines what logic/function is to be used to verify that a certain field's value is protected
- a
- registration is part of the
hipaa/systems.gofile as a hard-coded value. - rule definitions are defined in the
hipaa/rule.gofile as a map of specific PHI field and corresponding rule - actual implementations of protect and verify of data are in
hipaa/protect.go
- Download dependencies -
make deps- Run the server -
make runThis will bring up a webserver at http://localhost:4000/ having the following 2 endpoints -
/protect - returns protected data after applying all protect-rules based on incoming request data
/verify - returns a true/false (boolean) based on whether the incoming request data passes verification rules or not.
The other services will call these endpoints to protect and check their compliance.