This project is designed to load data into the VistA Electronic Medical Record for demo or teaching purposes.
The project originally started as a way to create case studies for students at medical schools. In more recent years, the project has been used to add data to VistA to create data for QA of the VistA software itself. The project is used by the Synthea FHIR Loader to load synthetic patient data generated by Synthea.
Check the releases section for the latest KIDS build and Windows .msi installer. The Windows .exe requires .Net installed.
The KIDS build requires a regular install in KIDS in VistA. After install, you need to set-up a VistA user that can import data. The requirements are:
- Secondary menu option of ISI DATA IMPORT
- Access Code/Verify Code
- Initials (to file labs)
- LRLAB, LRVERIFY security keys (to file labs)
- ORES, PROVIDER security keys (to file meds)
- Authorized to Write meds = Y (to file meds)
- Valid Person Class (to file encounters)
The software has two audiences, and two sets of documentation based on your use case.
If you want to use the software to load patient cases for didactic purposes, see the [user guide](./Documentation/vista_data_loader_user_guide 2.2.pdf) under the [Documentation][./Documentation] directory. The VistA Dataloader allows user to create patient medical records on an Excel spreadsheet and import them into VistA EHR. Two sample Excel spreadsheets are provided in the documentation directory, one with English Data and another with Korean Data. There are more advanced documents for various other use cases (like batch importing).
If you want to load data into a VistA system for testing, you need to decide which APIs you will use: the RPCs or the direct M APIs. The RPCs can be found here; the direct APIs can be found in the API Documentation.
Examples of mostly calling the RPC API can be found in the Unit Test for labs.
- v2.0 was the first released version, focused on medical/nursing students.
- v2.1-2.5 were bug fix releases; and software started being used to load data into VistA for QA purposes.
- v3.0 had minor changes for Synthea; the broker was changed to to use the "Plan 6" UTF-8 broker.
- v3.1 added the ability to import lab panels, but only via APIs. That functionality is not avilable via the .Net exe.
The VistA Loader has two components: the C# VistA DataLoader client and the MUMPS ISI DATA IMPORT routines. You will need to rebuild the C# VistA DataLoader project, which will create a installer to install VistA DataLoader on Windows.
- Install the FOIA VistA or VEHU instance
- Install VISTA_DATALOADER_3P1.KID on the running VistA
- Setup a user, i.e., fakedoc1 so that it will have access to the ISI DATA IMPORT routines SECONDARY MENU OPTIONS ISI DATA IMPORT
- Install Visual Studio community version (2017).
- Install MSI Installer plugin for Visual Studio - Download from https://marketplace.visualstudio.com/items?itemName=visualstudioclient.MicrosoftVisualStudio2017InstallerProjects
- From Visual Studio, open the Data Loader.sln solution. Rebuild all of the projects.
- Assuming no errors, rebuild the DataLoaderInstaller project. Depending on whether you are building for debug or release versions, you will find an Windows installer under the DataLoaderInstall/bin directory.
- Install and run the VistA DataLoader client.
- Configure the Excel spreadsheet template with the test patient records.
- From the VistA DataLoader client, connect to VistA. Open the spreadsheet and import the test patient to VistA. You can use the data-loader-korean.xls to load an example patient record. The data-loader-korean.xls has data only for one patient, and the clinical data include only allergy, vitals, and medications. Please make sure that the provider names specified in each tab, i.e., "Entered by" exist as an user in the VistA database. You also need to make sure that the medications entries are available in the VistA drug file.
- Check the error log to see what data elements are imported successful or failed. Failure are usually caused by misconfiguration.
Software licensed under Apache 2.0.