I’ve just installed OpenEMR (on Windows 7, using xampp) and am now trying to import SNOMED. To work around the known bug I’ve downloaded an old version (July 2014) but I still get an error: “ERROR: Unable to copy the file.”
The PHP log says:
PHP Warning: mkdir(): No such file or directory in C:\xampp\htdocs\openemr\library\standard_tables_capture.inc on line 36
In line 36 mkdir is called to create a directory in $GLOBALS[‘temporary_files_dir’]. When I print this path to the log, it says
C:\Users[my user dir]\LOCALS~1\Temp
Well, I agree with PHP that this directory ‘LOCALS~1\Temp’ does not exist, but why oh why is it trying to create a directory there? The original setting of ‘temporary_files_dir’ in the interface (Administration/Globals/Miscellaneous/Path to Temporary files) was C:/windows/temp. The parameter is also assigned this value in globals.inc.php#67. Changing either setting doesn’t make a blind bit of difference. Can someone please tell me where this other path has come from and how I can change it?
Change php.ini settings as described here. Should do this anyway.
Download the prescribable file, see 1.
Administration/Lists/Code Types, check “Active” & uncheck “Hide”; see 2.
Run “Native Data Load”. No message of success.
Check in Administration/Codes if successful, see 3.
If you wish to update at a later point in time, load the weekly prescribable files (see 1); but uncheck box to avoid deleting the previous download (see 4). In this case there will be a notice that codes were added successfully.
Just did all of this the 2101 Demo. Have a look, if anything is unclear.
Thanks for your detailed response. What you’re saying is that, to import SNOMED CT, I should import RxNorm which contains the US edition of SNOMED.
I’m afraid that does not fit in with my requirements… I’m looking into creating an EPD-demo on the Dutch edition of SNOMED CT. For that I should import the core (i.e. international edition) and (subsequently) the Dutch Extension. The US edition contains at the same time too much and not enough. The RxNorm does not and will never contain the Dutch extension, so importing that would be a dead end.
I changed the php.ini settings, restarted Apache and tried to import the SNOMED distribution through the Native data load but this failed with the same error message as before:
PHP Warning: POST Content-Length of 825599548 bytes exceeds the limit of 33554432 bytes in Unknown on line 0
Presumably it fails because it expects a different sort of file, i.e. the RxNorm?
Could you tell me why you recommend using native data load instead of external data loads, which is recommended in the documentation? Also, do you have an idea how/where I can change the global variable temp_files_dir?
Sorry, my mistake. I should not be half awake when posting. Native Data Load definitely won’t work for SNOMED.
I’ve signed up for an account. Approval takes 3 business days as you know.
Because the database is rather large & we have no need of it in our practice, we’ve never installed it. Unfortunately users with experience installing SNOMED have yet to post in this thread. I jumped in offering what little help I can.
To better understand the download, I will need to see the process for myself. Even though this is the proverbial “blind leading the blind”, dogged persistence usually is rewarded.
The changes to ‘temporary_files_dir’ that you have described are having no effect since a line of code is being activated (PHP >= 5.2.1) that overides the original value (line 409 /interface/globals.php)
Do note that the SNOMED packages since 1/2015 will not work. Need to use a SNOMED package prior to that. To get the newer pacakges to work will require fixes in the the codebase (the layout of the SNOMED packages were changed in 1/2015).
The US extension is not required, and is completed after doing the core SNOMED package. If want to support the Dutch extension package, will require some codebase changes to support.
Notably, regarding the US extension, the last extension package for this has been since 2013, and the more recent releases have been full SNOMED US packages (this is something OpenEMR does not yet support).
If your interested in trying to fix the codebase to support the newer SNOMED packages and/or to support the Dutch extension, I’d be glad to provide guidance and would be a good mentored project.
I changed the temporary_files_dir in interface/globals.php#409 to a directory that actually exists and that worked. Many thanks to you all for your suggestions!
Brady, I would be interested in contributing to this developer project. I will send you an email.