Generic Data Specification for Non-Supported ADCs
Version: 1
Release Date: April 6, 2023
Introduction
This is the generic data specification for the information ControlCheck (formally known as Bluesight for Controlled Substances) requires for dispensing data coming from ADC systems. ControlCheck ingests Administration data from the hospital's EMR and dispensing data from the hospital’s automated dispensing cabinets. ControlCheck then compares the two sets of data to ensure that all dispenses of controlled substances have a corresponding administration for an equal amount.
ControlCheck officially supports BD Pyxis and Omnicell, for which individual data specifications exist. The data specification below is provided so hospitals can create ControlCheck-compatible data loads for dispensing data. If your hospital cannot meet the following data specification, please discuss with your implementation specialist or contact help@kitcheck.com.
💡 Note: ControlCheck’s ability to troubleshoot unsupported ADC data loads is limited and we offer no guarantee that ControlCheck will work as intended using data from said ADC now or in the future.
File Transport
ADC files can be uploaded via the ControlCheck user interface. However, the delivery over SFTP is highly preferred. File transfers should occur once daily, in the middle of the night, containing Dispensing data from the previous day. Data dumps should be scheduled after any ETL process has been completed, which may cause delays for when events are available for reconciliation in the ControlCheck platform.
Recommended file transfer times are from 0400-0600 to ensure 1) data has migrated to the appropriate servers and 2) that Bluesight is able to process files in a timely manner prior to customer auditing. Additionally, it is recommended that the ADC file(s) can be sent at least 30 minutes after the EMR file for optimized processing and data ingestion.
Individual files should be generated per facility, although certain use cases would require including multiple facilities. Discuss with your implementation specialist before finalizing hospital groupings.
File Requirements
- Files must be formatted as .csv that conform to RFC 4180 and utilize UTF-8 for character encoding
- File size should not exceed 50 mb
- The file name should follow the schema and can only contain letters, numbers, and underscores.
- bluesight_healthsystem_hospitalname_ADCname_dispensedate.csv
- Output column headers must match the values specified below. The order in which those columns appear can be different than the order listed below. However, it is highly recommended that customers follow the order below for consistency and readability.
Pre-Implementation & Data Validation File
During implementation, your implementation specialist will request a historical data extract. This is a one-time request that will be manually uploaded into the application. The historical file upload would not depend on the SFTP being fully set up. Some requirements may differ during testing/validation, such as file size, naming, and date range.
Data Fields
Output Column Name | Required | Data Type | Formatting | Description |
---|---|---|---|---|
DRUG_NAME | Y | Varchar | Molecule(s), Concentration, Form Factor | Drug name for the drug that was dispensed. Should include molecule(s), concentration, and form factor. |
ITEM_ID | Y | String | N/A | The unique drug identifier of the medication. |
EVENT_TIME | Y | DateTime | ISO 8601 calendar dates and times with time zone designators; YYYY-MM-DD hh:mm:ss | Time the medication was dispensed. |
QUANTITY | Y | Numeric | N/A | The amount of drug dispensed or wasted. |
EVENT_TYPE | Y | String | N/A | The transaction type that occurred on the ADC (dispense, waste, override, etc.). |
PAT_NAME | Y | String | “Last Name, First Name” (includes quotes) | Name of the patient receiving the medication. |
ORDER_ID | Y | Numeric | N/A | The unique ID for the order associated with the dispense. |
PAT_MRN_ID | Y | Numeric | N/A | Unique Medical Record Number patient identifier for the patient receiving the medication. |
PAT_FIN_ID | Y | Numeric | N/A | Unique ID of that patient encounter/visit number associated with the dispense (i.e. financial information number). |
LOCATION | Y | String | N/A | The name or location of the cabinet the transaction occurred on. |
SUB_LOCATION | Y | String | N/A | The pocket name or number the medication was dispensed from. |
USER_NAME | Y | String | “Last Name, First Name” (includes quotes) | Name of the provider that dispensed the medication. |
USER_ID | Y | String | N/A | System login ID of the provider that dispensed the medication. |
USER_ROLE | Y | String | N/A | Role of the provider that dispensed the medication. |
WITNESS_NAME | Y | String | “Last Name, First Name” (includes quotes) | Name of the provider that witnessed the waste. |
WITNESS_USER_ID | Y | String | N/A | System login ID of the provider that witnessed the waste. |
WITNESS_USER_ROLE | Y | String | N/A | Role of the provider that witnessed the waste. |
OVERRIDE | Y | String | N/A | Indicates whether a dispense was an override or not. Expects one of the following values: 'Y', 'Override', 'Override Dispense', 'True', 'Yes', 'Override Dispense Next' |
OVERRIDE_REASON | Y | String | N/A | Reason the override was performed |