Immunization HL7 submission - a test in PA

rpl121 wrote on Saturday, November 05, 2011:

Yesterday I emailed a test submission of immunization record of a single hypothetical patient.  I put in all the appropriate information, and I was able to generate an HL7 version 2.5.1 file.  I was able to see the lot number and other pertinent information in the file.  However, field (?component) containg the manufacturer’s name Sanofi Pasteur was prepended by MSD^ and appended by ^HL70227.  I can’t see where the MSD came from other than some stray coding somewhere.  Here is the response I received from my technical contact at the PA Dept of Health:

=====>
Dr. Leemhuis.

Do you have the ability to modify the HL7 version from 2.5.1 to be 2.4? Also, does your EHR support additional information that needs to be present in the HL7 message. For example: PV1 segment RXR segment lot number and manufacturer (MVX code). I see your message is providing the manufacturer but in the 3rd component it is showing the coding system to be HL70227 and should be MVX.

Thanks
Frank

Frank Caniglia, RHIA | Chief,

Statewide Immunization Information System
Bureau of Health Statistics and Research
Pennsylvania Department of Health
=====>

The good news is that this may count as a “test,” but unfortunately it appears to need some tweaking.  I’ll be digging around a bit in the code.  Does anybody have any ideas?

Ronald Leemhuis MD

rpl121 wrote on Saturday, November 05, 2011:

It appears that we may need to create a list of vaccine manufactures associated with the corresponding MVX cole.  (For example MSD is the MVX Code for Merck).  Then we could use a drop down menu on the immunization screen at the vaccine manufacturer data entry window.  Also, the the code contains  “HL70227” where I think we could substitute “MVX.”

Ronald Leemhuis MD

bradymiller wrote on Friday, November 11, 2011:

Hi Ron,

Could just add this list to list_options table where all the other list are stored. Then it’s easy to add it as a drop-down with the generate_select_list() function from library/options.inc.php .

-brady

bradymiller wrote on Friday, November 11, 2011:

meant Hi Ronald, not Ron. -brady

rpl121 wrote on Saturday, November 12, 2011:

Thanks, Brady, I’ll play around with this suggestion.  There is an official list of about 15-25 vaccine manufacturers and their two or three letter abbreviations to use in these fields.  I found it on a Medicare site, I believe.  I do see how one can log into OpenEMR as administrator and add new lists or change the sample User Defined lists.  This seems to be a situation where an official list makes more sense than having users have to customize this time after time.

Right now, it appears that MSD^ is hard coded as an abbreviation and that this is connected to the name of the vaccine manufacturer entered manually on the vaccination entry form.  It is then followed by ^ and a hard coded numerical identifier HL70227.  The HL70227 should be removed and replaced with a hard coded MVX.

I was thinking of using the vaccine manufacturer abbreviation as the ID for the new list and the full name as the Title.  Alternatively, I could but in consecutive numbers as ID and make the Title actually the whole concatenated string e.g. MSD^Merck^MVX or just MSD^Merck and tweak the code to handle what I decide.

It appears that a brute force way of making this work (not gradeful by any means) would be to take out the hard coded MSD^ in the code, change the HL70227 to MVX and when it comes time to type in the Manufacturer name manually, just type, for example, MSD^Merck instead of just Merck.

Sooner or later I’ll figure it out. 

We actually ran an email test with PA and failed mostly because PA requires version 2.4 and we have version 2.51, but also because of at least these small problems.  But we get credit for testing, not passing!

The state people seem so overwhelmed with their new responsibilities that they want to work with “vendors”  and then only the big ones.

Ron Leemhuis

bradymiller wrote on Saturday, November 12, 2011:

Hi,
Agreed would be better to add the list to the codebase. And would make the abbreviation the ID and the full name the Title(this works perfectly because the ID is what gets stored in the database). To add a list to the codebase means adding it to sql/database.sql and sql/4_1_0-to-4_1_1_upgrade.sql . For sql/database.sql, just follow what is done for other lists below the list_options table. And for the upgrade script, check out the previous 4_0_0-to-4_1_0_upgrade.sql script for numerous detials (note the “comments” before and after, which are indeed commands). Then adding a field in the immunizations table (in both database.sql and the upgrade script) along with a call to generate_select_list() in the immunization entry script should suffice. At this point, then will need to incorporate a mechanism for which manufacturer to use (since there will be two); this is sort of akin to the cvx codes and wouldn’t be too tough to figure out once the above pieces are in place.
-brady

drkay wrote on Wednesday, March 13, 2013:

Has there been any progress on adding the vaccine manufacturer’s list to OpenEMR?

James L. Kay, D.O., FAAP
Santiago Pediatrics
Mission Viejo, California

yehster wrote on Wednesday, March 13, 2013:

Brady,
Do you think it makes more sense to add the vaccine manufacturers to the list_options table or the the “codes” table at this point?

http://www2a.cdc.gov/vaccines/iis/iisstandards/vaccines.asp?rpt=mvx

yehster wrote on Wednesday, March 13, 2013:

Or actually, perhaps define a new external codes table…

sunsetsystems wrote on Wednesday, March 13, 2013:

In general, I’d say if a list is suitable for the list_options table then put it there.  “codes” is for more complicated or larger lists.

Rod
www.sunsetsystems.com

bradymiller wrote on Thursday, March 14, 2013:

Hi,

In theory, it is a code, so could use an external table. And then in code_types could add a immunization_vaccine toggle to it and flag it. Then could search it via the code set search mechanism/functions. However, it only appears to be 30 or so items that don’t appear to be updated very often (and pretty easy to add/modify items on the list as needed), so list_options should work fine and then could just place them all in a Select list where selecting it. It seems that list_options would be the best route.

-brady
OpenEMR

anonymous wrote on Thursday, March 14, 2013:

James-  Is your issue the same as in PA the originator of the thread?  Do you need to create a specific HL7 message or are you looking to modify the code set in OpenEMR?

drkay wrote on Friday, March 15, 2013:

To my surprise, it doesn’t seem like my immunization registry needs to get the vaccine manufacturer in the HL7 file. So, for us, it’s more that we need to document the name of the manufacturer of the vaccine that was given for legal purposes in the medical record.

yehster wrote on Tuesday, March 19, 2013:

http://cairweb.org/images/docs/CAIR_HL7v251_Spec_for_web.pdf
For reference the HL7 spec in California wants the MVX code in the message.  But as Dr. Kay points out, it’s a required field, but “empty” is allowed!

RXA-17: Substance manufacturer
This field contains the manufacturer of the vaccine administered.
Note: For vaccines, code system MVX should be used to code this field.
Position
Field
Status
1
identifier
required, but may be empty
2
text
optional
3
name of coding system
required
,
use
MVX
4
alternate identifier
ignored
5
alternate text
ignored
6
name of alternate coding system
ignored