SNOMED, RXNORM, CDC encoding?

drpwayne wrote on Tuesday, November 18, 2014:

Hello. I downloaded the latest OpenEMR Windows zip file this weekend to learn something about the system. It’s a very impressive project, and kudos to all the developers. I found a few issues, though, that probably affect certification and meaningful use. Mainly, the code sets that are required for coding problem list, family history, medications, language, race, etc. are not present. For example, in entering a new patient, the ethnicity and race choices come from the CDC code set, but the codes themselves are not inserted into the patient_data table. Same for tobacco use choices, which come from SNOMED-CT, and the patient’s problem list and family history, which also should come from SNOMED-CT. Medications should be coded as RXCUI from RXNORM, and labs as LOINC; languages from the ISO language set. I could not find any of these code sets in OpenEMR tables. Am I missing something?
Thank you.

bradymiller wrote on Tuesday, November 18, 2014:

Hi Peter (question for Rod below),

For most of these things, need to use the most recent development codebase to test them out. There is a daily build for window here (just replace the openemr folder in xammp with this and remove the mysql database and do a reinstall):
http://www.open-emr.org/wiki/index.php/OpenEMR_Downloads#Daily_snapshots

From your list above, I am not sure about labs as LOINC. Rod would know about, though, (any thoughts Rod?).

Rather than store the code in the patient_data database directly, they are linked by association in the list_options table (this is where a lot of the data mapping happens and they can be configured/viewed at Administration->Lists).

Code types is a vital component also. Take a look at Administration->Lists->Code Types where one can turn on and configure code types (for example, allowing SNOMED-CT for diagnosis codes and problem list entries; after looking at this, it will makes sense for us to add a toggle for Family History also at some point in order to allow SNOMED for family history but ICD9 for dx codes). See this wiki page for further details:
http://www.open-emr.org/wiki/index.php/Code_Types
(this page also provides instructions on importing all the reference code sets)

-brady
OpenEMR

blankev wrote on Tuesday, November 18, 2014:

IS there anything we can do with the Language table to make it compatible with the ISO language set?

Is the word Dutch enough if it is following the Iso Set or is there more to it like translation definitions… because that is is something beyond my scope of efforts. Or is there a need to change the top row with a different number? Lang_code and Lang_number (Brady, if changes are needed, can this be changed and not loose connections with past translation imports of OpenEMR>)

fsgl wrote on Tuesday, November 18, 2014:

Issue 1, Code Sets
OpenEMR was certified in 2011 as noted in the IT Product List with the existing code sets. Seemed to have worked fine as a number of us achieved Meaningful Use in 2011, 2012 & 2013.

Issue 2, Tables
patient_data -> Race & Ethnicity columns.
history_data -> Family History, Lifestyle (tobacco use).
lists -> Medical Problems, Allergies, Medications, etc. (Issues).
See Table Structure for a synopsis of the tables.

drpwayne wrote on Wednesday, November 19, 2014:

Thank you, Brady and others. I will study the list of tables and will download a more recent build. Why is it necessary to remove the mysql database, though? I think if all the tables are myISAM tables, then mySQL will recognize they are part of openemr when they’re in the xampp/mysql/data/openemr folder.

  • Peter

sunsetsystems wrote on Wednesday, November 19, 2014:

Yes, LOINC codes are expected for identifying lab results.

Also a recent feature is a loader for RXCUI codes.

Rod
http://www.sunsetsystems.com/

bradymiller wrote on Wednesday, November 19, 2014:

Hi,

Yes, you can keep the database(just easier to remove if don’t need to). If want to keep database, then would want to follow the upgrade instructions:
http://www.open-emr.org/wiki/index.php/Windows_Upgrade_4.1.1_to_4.1.2
(there is no upgrade instructions for 4.1.2 to 4.1.3 yet, but is basically the same).

-brady
OpenEMR

bradymiller wrote on Thursday, November 20, 2014:

Hi Pimm,

No need to change the language translation table for this. This is strictly for patient demographics.

-brady
OpenEMR

drpwayne wrote on Friday, November 21, 2014:

Still confused about where the code sets come into OpenEMR. The new standard states that the codes must be in the system, e.g., “English” may be a descriptor of a language but the database must store “eng” as the ISO639-2 representation. I don’t see in the list_options table where the ISO639-2 codes are kept, nor any place else in OpenEMR. Similarly with other code sets. The descriptors are apparently not enough, the actual codes have to be present for stage 2 MU. For example, the test description for patient demographics:

This test evaluates the capability for an HER technology
to enable a user to electronically record, change,and access
a patient’s demographic data describing their:
preferred language, according to the standard specified by the Library of Congress,
ISO 639-2 alpha-3 codes limited to those that also have a corresponding alpha=2 code in ISO 639-1

Thanks for guidance.

  • peter

bradymiller wrote on Saturday, November 22, 2014:

Hi Peter,

For language codes, check out Administration->Lists->Languages->“ISO 639-2 Code” (this is stored in the list_options table at notes sql-column).

-brady
OpenEMR

bradymiller wrote on Saturday, November 22, 2014:

Note above is on development codebase (and not in version 4.1.2).

drpwayne wrote on Saturday, November 22, 2014:

Thank you, Brady.

davidbruchmann wrote on Thursday, December 11, 2014:

Concerning ISO 639-2 Code I propose to change in for Indonesian to id.
I remarked it already in the table that it seems being wrong in the database and stumble now about this discussion and know where the codes shall coming from.

bradymiller wrote on Sunday, December 14, 2014:

Hi David,

Are you talking about the lang_code in the google docs spreadsheet:

If so, I changed it to id (note this is not used anywhere in OpenEMR, and it’s very limited since only holds two characters).

-brady
OpenEMR

pyceshealthcare wrote on Wednesday, June 03, 2015:

I am attempting to load SNOMED into OpenEmr 4.2.0 (Windows 7 OS) and I keep getting an error when I try to load SnomedCT_RF2Release_INT_20150131 OR RF1 (INT or US release). When I go to Openemr, Admin, Other, External Data Loads, SNOMED: ERROR Unsupported Database Load File stating “Openemr does not recognize the incoming file in contrib directory. This is most likely because you need to configure the release in the supported_external_dataloads table in MySQL database.”

I am unsure how to configure the supported_external_dataloads table, as there is no line in the table referring to SNOMED. Am I to add a new line in the table, if so how should each field (load id, type, source, release name, file name, and checksum) be configured.

I changed the php.ini to account for large file size and memory overruns. Attempted to import SNOMED into the supported_external_dataloads table and the openemr database, MYSQL reported a successful import but I don’t see the SNOMED data.

In the standard_tables_manage.php there is a space between ( and $db == ‘SNOMED’), does this matter in loading SNOMED through the Openemr Admin functions.

} else if ( $db == ‘SNOMED’) {
if ($version == “US Extension”) {
if (!snomed_import(TRUE)) {
echo htmlspecialchars( xl(‘ERROR: Unable to load the file into the database.’), ENT_NOQUOTES)."
";
temp_dir_cleanup($db);
exit;

I have tried both INT and US downloads from UMLS for SNOMED to no avail. RXNORM worked on the first attempt.

Please advise.
vr, David L Gilbert

tmccormi wrote on Wednesday, June 03, 2015:

One thing I have found is that you have to put the INT release in the dir by itself, load that one, then replace it with the US one and then load that one.

INT must be loaded before US and they must be loaded one at a time … not sure why but that has worked for me.

–Tony

pyceshealthcare wrote on Wednesday, June 03, 2015:

Thanks Tony for your response, however, that was tried and it didn’t work. The file (SnomedCT_RF1Release_INT_20150131) placed in the htdocs/openemr/contrib/snomed folder is the latest from the UMLS site (nih). The only other file in the folder is a readme file that was there from the program’s initial install. I have tried previous year downloads as well and still unsuccessful.

bradymiller wrote on Thursday, June 04, 2015:

Hi,

New SNOMED releases are not working(because file names and packages were changed; need to get a prior release where RF1 and RF2 were combined in one package). Currently ongoing mentor project to fix this:
http://www.open-emr.org/wiki/index.php/Active_Projects#Developer_Starter_Projects
(note this is a mentored project and may take awhile, so feel fix to pursue a fix if needed)

-brady
OpenEMR