Skip to content

Releases: WorldVistA/VistA-FHIR-Data-Loader

0.6 Final Release (v4 KIDS build)

20 Feb 17:03
Compare
Choose a tag to compare

Changes

  • Support for Lab Panel loading (requires VistA Dataloader 3.1)
  • Remove all code that called out to un-well-known external URLs (even if it is not actually used) to protect against dead domain names in the future
  • Switch from custom JSON encoder to XLFJSON that's is now part of the VistA Kernel
  • Remove adjusting decimal places for lab loader as that's now done by the VistA Dataloader automatically
  • Update "already loaded message" to contain the file name
  • Labs are loaded with Collection Samples for each lab. Previously, we used to guess the collection samples, resulting in strange labs such as WBC in CSF.
  • Suppress printing of empty lines from DATA2PCE API (set DIQUIET).
  • Check for lab keys before starting to load data
  • Add a single file input mode (now default) when importing patients from Synthea
  • Add lab rollover call - it's a no-op if it is not needed; otherwise, if taskman is down, the rollover may never happen and you will get lots of messages to the screen from the lab package saying that a rollover is needed
  • Various cosmetic output changes to import output (print file name, add line feeds)
  • Lab and Lab Panels counters are initialized to zero. No data will now mean zero; previous no data showed as an empty string, which was not friendly
  • Don't log vitals when importing labs
  • Handle non-numeric values for labs (e.g. 1+, TRACE for Urine results)
  • Skip calculated labs (only GFR right now)
  • Don't call lab loader if lab is not mapped
  • All zwrites commented out for SAC compliance
  • Don't re-initialize maps for every panel call; it was not necessary as they were already initialized
  • Not finding a panel now counts as a failure. Previously, it was ignored
  • Dynamically determine if a lab is part of a panel. If not, don't add it to the panel, but file it individually. The end users may choose to add the lab to a panel; and if they do, the software will automatically file it with its panel.
  • Removed unused code in SYNFPAN
  • Make Synthea users not login users (no verify code); remove addition to intro message.
  • ENV check for install: Make sure you hold XUMGR key
  • Map panels:
    • 24321-2, 51990-0: BMP
    • 24357-6, 24356-8: UA
    • 24323-8: CMP
    • 50190-8: Iron Group
    • 57698-3: Lipid Profile
    • 58410-2: CBC
    • 34528-0: COAG PROFILE
    • 24339-4: BLOOD GASES
  • Map lots of additional labs.
  • Add check/message on XUMGR key in KIDS
  • Apply copyright notices to all files
  • Create release notes for v0.6
  • If non-numeric value from adjustment is not successful, fail immediately
  • Standardize the recording of failing tests
  • Support collection samples "Blood Venous", "Platlet Poor Plasma", "Blood Arterial"
  • Handle "Presence" value of zero to be "NEG" in VistA.
  • Handle "Urine Leukocytes not detected"

Install

Install these KIDS build in order:

0.6 T4

17 Feb 16:46
Compare
Choose a tag to compare
0.6 T4 Pre-release
Pre-release

Changes since T3:

  • If non-numeric value from adjustment is not successful, fail immediately
  • Standardize the recording of failing tests
  • Support collection samples "Blood Venous", "Platlet Poor Plasma", "Blood Arterial"
  • Handle "Presence" value of zero to be "NEG" in VistA.
  • Handle "Urine Leukocytes not detected"
  • Support PT panel and Venous/Arterial Blood gases (in progress, doesn't fully work yet)
  • Support labs: URINE BLOOD, PROTIME, INR, TROPONIN, MAGNESIUM, RDW-CV, COMPUTED CREATININE CLEARANCE, PTT, FERRITIN, PH

Install these KIDS build in order:

0.6 T3

10 Feb 21:51
Compare
Choose a tag to compare
0.6 T3 Pre-release
Pre-release

Changes since T2:

  • Add message on XUMGR key in KIDS (otherwise stops without saying anything)
  • Only mark panel labs loaded after panel is successful
  • Apply copyright notices to all files
  • Create release notes for v0.6

0.6 T2

05 Feb 01:59
Compare
Choose a tag to compare
0.6 T2 Pre-release
Pre-release

Changes since T1

  • Labs are loaded with Collection Samples for each lab. Previously, we used to guess the collection samples, resulting in strange labs such as WBC in CSF.
  • Suppress printing of empty lines from DATA2PCE API (set DIQUIET).
  • Check for lab keys before starting to load data
  • Add a single file input mode (now default) when importing patients from Synthea
  • Add lab rollover call - it's a no-op if it is not needed; otherwise, if taskman is down, the rollover may never happen and you will get lots of messages to the screen from the lab package saying that a rollover is needed
  • Various cosmetic output changes to import output (print file name, add line feeds)
  • Lab and Lab Panels counters are initialized to zero. No data will now mean zero; previous no data showed as an empty string, which was not friendly
  • Don't log vitals when importing labs
  • Handle non-numeric values for labs (e.g. 1+, TRACE for Urine results)
  • Skip calculated labs (only GFR right now)
  • Don't call lab loader if lab is not mapped
  • All zwrites commented out for SAC compliance
  • Don't re-initialize maps for every panel call; it was not necessary as they were already initialized
  • Not finding a panel now counts as a failure. Previously, it was ignored
  • Dynamically determine if a lab is part of a panel. If not, don't add it to the panel, but file it individually. The end users may choose to add the lab to a panel; and if they do, the software will automatically file it with its panel.
  • Removed unused code in SYNFPAN
  • Make Synthea users not login users (no verify code); remove addition to intro message.
  • ENV check for install: Make sure you hold XUMGR key
  • Map additional panels:
    • 24356-8: UA
    • 24323-8: CMP
    • 50190-8: Iron Group
  • Map additional labs:
    • 89579-7: Troponin
    • 2502-3: Iron Saturation
    • 2508-7: TIBC
    • 2498-4: IRON
    • 5799-2: Leukocyte Estrase, Urine
    • 5802-4: Nitrite, Urine
    • 5821-4: Urine WBC/HPF
    • 13945-1: Urine RBC/HPF
    • 5787-7: Epith Cells
    • 24124-0: Urine Casts
    • 8247-9: Urine Mucus
    • 5769-5: Urine Bacteria
    • 20570-8: HCT

Install

Install these KIDS build in order:

v0.6 T1

05 Feb 01:41
Compare
Choose a tag to compare
v0.6 T1 Pre-release
Pre-release

Changes

  • Support for Lab Panel loading (requires VistA Dataloader 3.1)
  • Remove all code that called out to un-well-known external URLs (even if it is not actually used) to protect against dead domain names in the future
  • Switch from custom JSON encoder to XLFJSON that's is now part of the VistA Kernel
  • Remove adjusting decimal places for lab loader as that's now done by the VistA Dataloader automatically
  • Update "already loaded message" to contain the file name

Install Instructions

Install these KIDS build in order:

Usage Instructions

See README

FHIR Data Loader v0.5 VA Version

26 Dec 20:59
133d386
Compare
Choose a tag to compare

Fixed issues

  • Counters: It was found that the same exact counter was used for all items that were
    converted to use globals rather than local variables. That counter was
    @eval@("status","loaded") & @eval@("status","errors"). This caused us to get
    bad numbers for each item as they were all effectively combined together.
  • Save log: Immunizations, Allergies, and Problems were load log was not saved.
    Investigation eventually revealed that the save actually did indeed happen, but
    it was killed after the save as the save was done in two spots, each with a
    kill before it; and the last kill has no data to save. We removed the incorrect
    spot.
  • Disable Allergy Bulletin: This caused each load to pause on FOIA
  • Add new loinc code for Blood Pressure 85354-9
  • Fix LOINC lookup in Lab file
  • Add filename index to quickly identify patients which have already been loaded. Patients which have been loaded before won't be loaded and decoded before quitting; the quitting process is now almost instantaneous.
  • Added setting of PSOMAILX for importing meds (new requirement as of PSO*7*753)

Install Instructions

Combined FHIR Importer/Exporter 0.4

19 Nov 14:58
Compare
Choose a tag to compare

This release is notable for two features:

  • Latest Synthea code (last 3 months) fixed issues with Decimal points. Unfortunately, this broke the lab importer code in a bad way--it goes into an infinite loop. Now, this is kludge fixed by removing all decimals from labs.
  • This KIDS build includes the FHIR-on-VistA code, so you need a single build for import and export.

VA Version of VistA FHIR Data Loader

15 Aug 18:33
Compare
Choose a tag to compare

This it the VA Version of the VistA FHIR Data Loader. The differences between the regular version and this version are:

  • VA Cache Systems run on limited symbol table space, so this version manages symbol table use conservatively to prevent <STORE> errors.
  • There is no downloading of extra code from the internet for MASH components
  • There is no HTTPS set-up
  • All percent namespaced code has been moved over to non-percent code.
  • This code runs completely without the Web Server; and uses menu options for main operations. In the original version, historically, all operations went through the Web Server.
  • README has been updated to describe the use of this version without HTTP commands.

T Versions History:

  • T1 - Initial
  • T2 - Fix Lab and Vitals issues
  • T3 - Fix Encounter, Medications, Procedures, CarePlans issues, fix error counters
  • T4 - FHIR4 issue with Encounters
  • T5 - FHIR4 issue with Allergies; add ETS1.01 dependency; Create user menus; fix lab printing in ISI routines on Cache.
  • T6 - Fix counters; problems, immunizations and allergies didn't log when loading; disable allergy bulletin in FOIA; VPR menu.

VistA Synthetic FHIR Loader version 0.31

01 Aug 16:27
Compare
Choose a tag to compare

This release adds a menu system over the 0.3 release for people who are not using or can't use the web server. The menus are:

  • [SYNMENU] Synthetic Patients Importer Menu
    • [SYN LOAD FILES] Load Patients from Filesystem
    • [SYN FHIR JSON] View Ingested Patients' FHIR JSON
    • [SYN LOAD LOG] Load Log

VistA Synthetic FHIR Loader version 0.3

23 Jul 14:00
Compare
Choose a tag to compare

This is the third release for this project.

This release provides these highlights:

  • FHIR R4 Support. The previous release only supported FHIR DSTU3.
  • Entry point FILE^SYNFHIR(directory) which will load patients directly from a directory. The only way to add patients previously was via a POST call to the web server. More on this functionality can be found in the README file.

For install instructions, see README.

There are some other non-user facing changes which are listed here:

  • /showfhir web service supports ?dfn={} and ?icn={} in addition to the previously supported ?ien={}.
  • /vpr web service supports /vpr/dfn, /vpr?icn={}, and /vpr?ien={}. Previously, it only supported /vpr/dfn.
  • Reconciliation with code collisions with the FHIR-On-VistA Project which currently shares the same name and numberspace.
  • Removal of SYNDHPMAP and SYNDHPMAPO.
  • Careplan Import Improvement
  • A dependency of this project, the VistA-DataLoader was updated to the latest upstream version, 3.0. This required a change in how the hospital location was set-up in our software.
  • Per discussions with a VA developer using the 0.2 version, change the build type from combined build to multi build.
  • Tested against PCE Standardization T5. We have found some bugs dealing with changes in how Provider Narratives are handled. Discussions with the VA developer responsible for PCE Standardization resulted in the decision that we will bundle the fixes in this build.

Trying to learn from mistakes: We released several versions, and it look 17 versions of 0.2 till we reached the final stable version. I didn't make a list of what got changed in each version previously for 0.2. I will do that for 0.3:

T Release Changes
T1 Initial 0.3 Release
T2 Include a new build in the Multibuild for PCE Standardization T5 build
T3 Bug in $$HL^SYNINIT got fixed
T4 FHIR 4 change in reason -> reasonCode in encounters was not addressed (#37)

Instances Tested:

  • OSEHRA April 2019 on YottaDB.
  • VEHU April 2019 on GT.M.
  • VEHU Jan 2019 with a the 0.2 version installed on GT.M.
  • FOIA June 2019 on Cache.
  • VEHU April 2019 on Cache.

Testing Performed:

  • Install of PCE Standardization works correctly
  • Install of VistA FHIR Importer (this build) works correctly
  • /addpatient POST works correctly on 2 patients.
  • FILE^SYNFHIR works correctly on 2 patients.
  • /loadstatus?latest=1 works correctly.