Cypress is a repeatable testing tool of Electronic Health Records (EHR) and EHR
modules in calculating eCQMs used by CMS's Quality Reporting Programs. The
Cypress validator is open source and freely available for use by software
development and IT communities including vendors and testing labs. Cypress
serves as an official testing tool for EHR Certification program. It is an
alternative to the difficult-to-obtain (and costly) validator used by the more
government-controlled National Committee for Quality Assurance (NCQA).
Eschewing the older notes I have on Cypress (for versions 5 and 6), I'm
starting over for version 7 which I need to validate QRDA for 2023/4. As of
21 September 2023, the latest version is 7.2.0.1.
Resources
Important note: When searching for Cypress Validator-related content in your
search engine, be aware that there is a community, Cypress.io, related to
software testing and unrelated to what we're discussing here. The first
three links below (plus my old guide here) is where
I base the instructions on this page.
Installation
This can be done on Windows, Macintosh OSX and Linux. I'm only concerned with
the latter here. I'm using Linux Mint, an Ubuntu, Debian derivative. I have Sun
(Oracle) Virtual Box already installed and working. If you're not reading these
instructions on the machine you intend the installation on, switch there now.
- Begin by reading the page at
Cypress 7 VM Install Instructions. You're going to use Virtual
Box in this installation.
- Download the VM image to use in Virtual Box from
Cypress.cypress_7.1.1_Public_VM.ova. I suggest dropping it in
your ~/Downloads subdirectory.
- I would suggest downloading and installing all the update your machine's
OS needs:
# apt-get update && apt-get upgrade -y && apt-get autoremove && apt-get autoclean
# apt-get --with-new-pkgs upgrade -y (if necessary)
If the Linux kernel was updated, reboot.
- Launch VirtualBox and create a new VM. Once launched, click on
File → Import Appliance..., then navigate to where you saved
the recent download. Follow these instructions:
- Launch VirtualBox.
- Click Import.
- Browse to Cypress.cypress_7.1.1_Public_VM.ova, select it and
click Open.
Click Next.
- Accept everything except Networking as already configured,
click Import and wait for a minute or so.
- When control comes back you'll be looking at the summary. You need
to change Networking. Be certain to choose
Bridged Adapter. When you do, you'll see it find the
adapter name the same as you'd see if, in the host OS, you issued
the command, ifconfig.
- Power on (Start) the new VM.
- If you get an error to the effect that you cannot start it, it's
probably because your BIOS doesn't have VT-x enabled. Fix that.
(See
Tirion: VT-x.)
- Once your VM is installed, up and running, you can get into it via
its very console or, if more convenient, you can ssh into
it using these credentials:
- Username: ubuntu
- Password: CypressPwd
- Once in, obtain and copy the IP address (you'll need it later)
of the VM by
$ ifconfig
You will probably be prompted that this command doesn't exist.
Follow the instructions given in the console to install the missing
utility, then try ifconfig again.
- vagrant is the host name, but you can make an entry such as
this in your development host's /etc/hosts/:
192.168.0.120 vagrant crypress
Here end the instructions tried for Cypress 7. I have reached this point
successfully.
You can leave your new VM running. Go sign up, by following the link in
(either) the Cypress 5 or 6 instructions, with the
National Library of Medicine's Unified Medical Language System
(UMLS). (You do not need a company's help to do this.)
- Click on the Sign Up button.
- I clicked Google and used my personal, Google identity.
- Follow the instructions.
- Eventually, you will be able to Generate an API Key; at
that point you'll see a Username and an API Key.
Copy down both so that you can enter them later in a sign-in
dialog.
Now, return to the Cypress 5 Install Instructions and follow the
instruction to install the bundle and setup your application. This
reveals a long page of instructions.
- Download the bundle of your choice. Click on the link provided,
bundle-2019.zip. It's here that you'll need that
username and API key you copied in an earlier step. (Even though
you'd be tempted to use your e-mail address and a password.)
- The rest of the instructions for this step appear vague and muddled
from this point, so I'll explain differently.
- The Cypress VM installed and running is a web server. Launch it from
your browser by typing in a new tab its IP address and pressing
return. You should see a pleasant photo of cypresses and a sign-in
box.
- Create a sign-up by clicking the Sign up link, entering an
e-mail address, a password and clicking I agree to the above
Terms and Conditions. Remember the e-mail address (can be
bogus) and password.
- Now, turn to the VM console or the ssh session you still
have in progress and type:
$ sudo cypress run rake cypress:add_admin[e-mail]
[sudo] password for ubuntu: CypressPwd
where e-mail is the e-mail address you just used (might have
been bogus, that's okay). Successful completion of this step will
give that (bogus?) e-mail address/user you signed up with
administrator privileges.
- If you are using the Cypress validator as I am, for de-identified
documents in testing, you do not need TLS/SSL or need to change the
file /etc/nginx/sites-enabled/default. And, you do not need
to restart nginx.
- You have finished setting up the Cypress software.
At this point, launch and sign in to the Cypress web interface (from your
browser),
- Click Remember me, click the (gear icon) Admin tab,
then the Bundles tab, then use the + Import
Bundle tab to navigate to find the 2Gb zip file you
downloaded. This will take a few minutes to complete.
- While you're in this interface, you may as well create a vendor.
Click Dashboard, then fill out for a new vendor. This can
all be bogus. I did this (this is Munsters fodder):
Vendor Name: Mockingbird Heights Clinic
Vendor ID : 1313
URL : http://www.mockingbirdheightsclinic.com
Address : 1320 Mockingbird Boulevard, Mockingbird Heights
State : CA
Zip : 90210
- Click Add Vendor.
This sets up your Cypress validator, ready for use.