HIPAA Compliance

HIPAA, the Healthcare Insurance Portability and Accountability Act, is a US federal law initiated in 1996 to ensure protection of an individual's Personal Health Information (PHI).

When a healthcare organization starts using Bigin to run their business smoothly and store customer information in a shared database, it is crucial that they can ensure the confidentiality of an individual's health information. In Bigin, we provide ways for healthcare organizations to secure and restrict export of individuals' health information and stay compliant with the HIPAA guidelines.

Organization API

A new key hipaa_compliance_enabled is added in the Organization API. The data type of this field is boolean, i.e true/false. This key is also retrieved in Fields Metadata and Layouts Metadata API, which represents if the field or layout stores personal health data or not.

Sample Request: To get Organization Data

Copiedcurl "https://www.zohoapis.com/bigin/v1/org"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Note:
  • If hipaa_compliance_enabled=true, HIPAA Compliance is enabled for the Org.

  • If hipaa_compliance_enabled=false, HIPAA Compliance is disabled.

Sample Response

Copied{
  "org": [
    {
      "country": "India",
      "photo_id": "7358375680a0dcf8c26dd5b86af1a28e6cce8d4ec7cba59bd9071012460de963ed4a34822bb8d7d2d49c63c6337195238b5730c7acd93b7eca3e4e90f1702fed",
      "city": "Chennai",
      "description": "This is a sample description.",
      "gapps_enabled": false,
      "domain_name": "org694902309",
      "street": "GST Road",
      "alias": "sample alias",
      "currency": "Indian Rupee",
      "id": "4150868000000225097",
      "state": "Tamil Nadu",
      "fax": "0987654321",
      "employee_count": "100",
      "zip": "603202",
      "website": "https://www.zylker.com/",
      "currency_symbol": "₹",
      "mobile": "0909090909",
      "currency_locale": "en_IN",
      "primary_zuid": "694579958",

Fields Metadata API

A new field property in Bigin named hipaa_compliance is introduced. The JSON object represents if Contains Personal Health Data option is enabled for a particular field.

Sample Request

Copiedcurl "https://www.zohoapis.com/bigin/v1/settings/fields?module=Contacts"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"

The boolean keys in the JSON object:

  • restricted_in_export: Represents if the data export is restricted for the field. The value is true if Restrict Data in Export option is enabled in the HIPAA compliance settings.

  • restricted: Represents if the field can be accessed via API. The value is true if Restrict Data access through API option is enabled in the HIPAA compliance settings.

This key is retrieved in Layouts Metadata API as well.

Note:

  • If hipaa_compliance_enabled=true, HIPAA Compliance is enabled for the respective field.

  • If hipaa_compliance_enabled=false, HIPAA Compliance is disabled for the respective field.

Sample Response

Copied{
  "system_mandatory": false,
  "private": null,
  "webhook": true,
  "json_type": "string",
  "crypt": null,
  "field_label": "Status",
  "tooltip": null,
  "created_source": "default",
  "field_read_only": false,
  "display_label": "Status",
  "ui_type": 1,
  "read_only": false,
  "association_details": null,
  "businesscard_supported": false,
  "currency": {},
  "id": "492070000007480002",
  "custom_field": true,
  "lookup": {},
  "hipaa_compliance": {
    "restricted_in_export": true,
    "restricted": false
  },
  "visible": true,
  "length": 255,
  "view_type": {
    "view": true,
    "edit": true,
    "quick_create": false,
    "create": true
  },
  "subform": null,
  "external": null,
  "api_name": "Status",
  "unique": {},
  "history_tracking": false,
  "data_type": "text",
  "formula": {},
  "hipaa_compliance_enabled": true,
  "decimal_place": null,
  "mass_update": true,
  "multiselectlookup": {},
  "pick_list_values": [],
  "auto_number": {}
}

Get Records API

The value of the fields with sensitive health data will be retrieved only when Restrict Data access through API option in the compliance settings is disabled. If the option is enabled, the value will be null.

Sample Request

Copiedcurl "https://www.zohoapis.com/bigin/v1/Contacts/492070000007480017"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"

Sample Response

Copied{
  "data": [
    {
      "Owner": {
        "name": "Patricia Boyle",
        "id": "492070000000209017",
        "email": "patricia.b@zohocorp.com"
      },
      "Email": null,
      "$currency_symbol": "AR$",
      "Visitor_Score": null,
      "Other_Phone": null,
      "Field_With_Health_Data": "*Sensitive Health Data*",
      "Mailing_State": null,
      "Other_State": null,
      "$followers": null,
      "Other_Country": null,
      "Last_Activity_Time": null,
      "Department": null,
      "$state": "save",
      "Unsubscribed_Mode": null,
      "$process_flow": false,
      "Assistant": null,
      "Exchange_Rate": 15,
      "Currency": "ARS",
      "Mailing_Country": null,
      "Data_Processing_Basis_Details": null,
      "id": "492070000007480017",
      "Data_Source": "Manual",
      "$approved": true,
      "Reporting_To": null,
      "$approval": {
        "delegate": false,
        "approve": false,
        "reject": false,
        "resubmit": false
      },
      "First_Visited_URL": null,
      "Days_Visited": null,
      "Account_Site_2": null,
      "Other_City": null,
      "$data_source_details": null,
      "Created_Time": "2021-03-15T16:15:18+05:30",
      "$followed": false,
      "$editable": true,
      "Home_Phone": null,
      "Last_Visited_Time": null,
      "Created_By": {
        "name": "Patricia Boyle",
        "id": "492070000000209017",
        "email": "patricia.b@zohocorp.com"
      },
      "Secondary_Email": null,
      "Description": null,
      "Vendor_Name": {
        "name": "v2",
        "id": "492070000007348082"
      },
      "Mailing_Zip": null,
      "Reports_To": null,
      "Number_Of_Chats": null,
      "$review_process": {
        "approve": false,
        "reject": false,
        "resubmit": false
      },
      "Twitter": null,
      "Other_Zip": null,
      "Mailing_Street": null,
      "Average_Time_Spent_Minutes": null,
      "$canvas_id": null,
      "Salutation": null,
      "Account_Number_1": null,
      "First_Name": "Patricia",
      "Full_Name": "Patricia Boyle",
      "Asst_Phone": null,
      "Record_Image": null,
      "Modified_By": {
        "name": "Patricia Boyle",
        "id": "492070000000209017",
        "email": "patricia.b@zohocorp.com"
      },
      "$review": null,
      "Skype_ID": null,
      "Phone": null,
      "Account_Name": null,
      "Email_Opt_Out": false,
      "Modified_Time": "2021-03-15T16:15:18+05:30",
      "Date_of_Birth": null,
      "Mailing_City": null,
      "Pick_List_1": null,
      "Unsubscribed_Time": null,
      "Title": null,
      "Other_Street": null,
      "Mobile": null,
      "Territories": null,
      "$orchestration": false,
      "$stop_processing": false,
      "First_Visited_Time": null,
      "Last_Name": "Boyle",
      "$in_merge": false,
      "Referrer": null,
      "Lead_Source": "Advertisement",
      "Tag": [],
      "Fax": null,
      "$approval_state": "approved"
    }
  ]
}

Search Records API

When you add a HIPAA compliance field to the search API criteria, the response will be retrieved only if the Restrict Data access through API option in the compliance settings is disabled. Otherwise, the system throws the INVALID_QUERY error. For further details, see the sample error response in the code pane.

Sample Error Response

Copied{
    "code": "INVALID_QUERY",
    "details": {
        "reason": "Cannot use the restricted field.",
        "api_name": "HIPAA"
    },
    "message": "the field in restricted in GDPR",
    "status": "error"
}

Bulk Read API

The value of the fields with sensitive health data will be retrieved only when Restrict Data access through API option in the compliance settings is disabled. If the option is enabled, the value will be empty in the result.

hipaa field with empty values

Sample Request

Copiedcurl "https://www.zohoapis.com/bigin/bulk/v1/read/554023000000568002/result"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"