Skip to content
Travis Haussler edited this page Jun 21, 2024 · 2 revisions

Setup Instructions

Table of Contents

Installing a Virtual Machine

Even if you use a PC in the general course of business, you may still find it more convenient to code in a Unix OS. A lightweight Linux VM from somewhere like VMware player can be a quick and easy solution.

Downloading and setting up the Linux VM

  • (time required: ~30-60 min)
  • Download latest VMware player (free) LINK
  • Download a Linux installation to use on the VM (free)
    • Try Mint XFCE first - it's lightweight and might be all we need LINK
    • Save the ISO to a directory of your choice
  • Create the VM with the Linux installation
    • Detailed Steps: LINK
    • Highlights:
      • “Create a new Virtual Machine” and choose “I will install the operating system later”
      • Select a guest operating system: Linux with version “other linux 5.x kernel 64-bit”
      • Might want at least 100gb of space for your VM filesystem. The synthea data logs can get big
        • As an aside - if you ever try to log into your VM and it loops on the login page, the likely culprit is low disk space - enter the terminal with "ctr-alt-f1" and login there, then proceed to delete some files to free up space. Start with the raw /output/fhir/ files from synthea runs.
      • Right click on your new VM in the home menu of VMware workstation and go into settings
        • Allocate more memory - maybe 4gb depending on how much your physical machine has. I have 32gb RAM and usually only use up to half of it, so 4-8 would be fine to allocate when using, I think
        • I increased processors to 4 - no idea how important this is
        • Under CD/DVD (IDE) select “use ISO image file” and point to where you put your Mint ISO
        • No further changes to settings
      • Hit “play virtual machine” - it will send you to a welcome screen and auto-start Linux Mint after a 10 sec countdown.
      • Once launched and at the desktop screen for Linux, click “install Linux Mint” and proceed to step “b” below
    • Go through the install, reboot, and then setup instructions
      • You can safely select “erase disk and install Linux Mint”; this is only referring to the VM disk space you allocated in step 3.a.iii.
      • After the install finishes, restart.
      • Once it boots back up, you can move onto configuration suggestions - make sure not to enable timeshift - it eats up your disk space and makes it difficult to login (reference topic discussion)
      • I did the update manager with whatever it suggested. Select the banner that suggests you “change mirror to a local one” to make this much, much faster. In the popup, just click on the two sources and give it a sec to test speeds and select the top speed option for each.
      • Install GIT from the software manager; we will need it later
      • Restart now or after you install your preferred IDE

IDE Example setup in IntelliJ

  • Within your VM, install JetBrains Toolbox from the JetBrains website: LINK
  • Install IntelliJ IDEA Community Edition from the toolbox
    • Note as of Summer '23 - version 2022.1.4 is the latest that supports the Python plugins for some reason, so install this version.

Coding and running Environment

Using a local IDE of your choice, add the GIT repos we will need and set up the virtual environment to access helper functions

GitHub Setup

  • Create a GITHUB account if you have not already - GitHub
  • Git clone ssh://git@github.com/orchid-initiative/synthetic-database-project to your IDE
  • Generate SSH keys on your machine and then add your key to your GitHub account
  • Run: $ sudo apt install python3-pip (Installs the Python3 version of "pip" on your system, allowing you to easily install and manage Python packages)

Program Execution

  • Download and execute synthea: synthea setup page
    • Install synthea-with-dependencies.jar: Download Link
    • Move synthea-with-dependencies.jar into your project directory (where run_synthea.py lives)
    • Run: $ python run_synthea.py -- If the command 'python' is not found, use 'python3'
    • Then add arguments as needed and re-run

Clone this wiki locally