From cb4f47ffc8d052de2d277d064ddeb67a2545339d Mon Sep 17 00:00:00 2001 From: george Date: Tue, 18 Nov 2008 19:56:27 +0000 Subject: [PATCH] Allergy SNOMED analysis files --- p/KBAICSNA.m | 210 +++++++++++++++++++++++++++++++++++++++++++++++++++ p/KBAICX1.m | 90 ++++++++++++++++++++++ 2 files changed, 300 insertions(+) create mode 100644 p/KBAICSNA.m create mode 100644 p/KBAICX1.m diff --git a/p/KBAICSNA.m b/p/KBAICSNA.m new file mode 100644 index 0000000..5cafb9f --- /dev/null +++ b/p/KBAICSNA.m @@ -0,0 +1,210 @@ +KBAICSNA ; CCDCCR/GPL - SNOMED CT ANALYSIS ROUTINES; 10/14/08 + ;;0.1;CCDCCR;nopatch;noreleasedate + ;Copyright 2008 WorldVistA. Licensed under the terms of the GNU + ;General Public License See attached copy of the License. + ; + ;This program is free software; you can redistribute it and/or modify + ;it under the terms of the GNU General Public License as published by + ;the Free Software Foundation; either version 2 of the License, or + ;(at your option) any later version. + ; + ;This program is distributed in the hope that it will be useful, + ;but WITHOUT ANY WARRANTY; without even the implied warranty of + ;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ;GNU General Public License for more details. + ; + ;You should have received a copy of the GNU General Public License along + ;with this program; if not, write to the Free Software Foundation, Inc., + ;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + ; + ; THESE ROUTINES ANALYZE THE POTENTIAL RETRIEVAL OF SNOMED CT CODES + ; FOR PATIENT DRUG ALLERGIES FOR INCLUSION IN THE CCR OR CCD + ; USING THE VISTA LEXICON ^LEX + ; +ANALYZE(BEGIEN,IENCNT) ; SNOMED RETRIEVAL ANALYSIS ROUTINE + ; BEGINS AT BEGIEN AND GOES FOR IENCNT DRUGS IN GMRD + ; TO RESUME AT NEXT DRUG, USE BEGIEN="" + ; USE RESET^KBAICSNA TO RESET TO TOP OF DRUG LIST + ; + N SNOARY,SNOTMP,SNOI,SNOIEN,RATTR + N CCRGLO + D ASETUP ; SET UP VARIABLES AND GLOBALS + D AINIT ; INITIALIZE ATTRIBUTE VALUE TABLE + I '$D(@SNOBASE@("RESUME")) S @SNOBASE@("RESUME")=$O(@GMRBASE@(1)) ;1ST TME + S RESUME=@SNOBASE@("RESUME") ; WHERE WE LEFT OFF LAST RUN + S SNOIEN=BEGIEN ; BEGIN WITH THE BEGIEN RECORD + I SNOIEN="" S SNOIEN=RESUME + I +SNOIEN=0 D Q ; AT THE END OF THE ALLERGY LIST + . W "END OF DRUG LIST, CALL RESET^KBAICSNA",! + F SNOI=1:1:IENCNT D Q:+SNOIEN=0 ; FOR IENCNT NUMBER OF PATIENTS OR END + . ;D CCRRPC^GPLCCR(.CCRGLO,SNOIEN,"CCR","","","") ;PROCESS THE CCR + . W SNOIEN,@GMRBASE@(SNOIEN,0),! + . N SNORTN,TTERM ; RETURN ARRAY + . S TTERM=$P(@GMRBASE@(SNOIEN,0),"^",1)_" ALLERGY" + . D TEXTRPC(.SNORTN,TTERM) + . I '$D(SNORTN) Q ; + . S TVUID=$$GET1^DIQ(120.82,SNOIEN,"VUID") + . W "VUID:",VUID,! + . K @SNOBASE@("VARS",SNOIEN) ; CLEAR OUT OLD VARS + . I $P(TTMP,"^",1)=1 S @SNOBASE@("VARS",SNOIEN)=TTERM_"^"_TTMP_"^"_SNORTN(0) + . ; + . ; EVALUATE THE VARIABLES AND CREATE AN ATTRIBUTE MAP + . ; + . S RATTR=$$SETATTR(SNOIEN) ; SET THE ATTRIBUTE STRING BASED ON THE VARS + . S @SNOBASE@("ATTR",SNOIEN)=RATTR ; SAVE THE ATRIBUTES FOR THIS DRUG + . ; + . N CATNAME,CATTBL + . S CATNAME="" + . D CPUSH(.CATNAME,SNOBASE,"SNOTBL",SNOIEN,RATTR) ; ADD TO CATEGORY + . ; W "CATEGORY NAME: ",CATNAME,! + . ; + . S SNOIEN=$O(@GMRBASE@(SNOIEN)) ; NEXT RECORD + . S @SNOBASE@("RESUME")=SNOIEN ; WHERE WE ARE LEAVING OFF THIS RUN + ; D PARY^GPLXPATH(@SNOBASE@("ATTRTBL")) + Q + ; +TEXTRPC(ORTN,ITEXT) ; CALL THE LEXICON WITH ITEXT AND RETURN RESULTS IN ORTN + ; + ;N TTMP + W ITEXT,! + S TTMP=$$TEXT^LEXTRAN(ITEXT,"","","SCT","ORTN") + Q + ; +ASETUP ; SET UP GLOBALS AND VARS SNOBASE AND SNOTBL + I '$D(SNOBASE) S SNOBASE=$NA(^TMP("GPLSNO")) + I '$D(@SNOBASE) S @SNOBASE="" + I '$D(GMRBASE) S GMRBASE=$NA(^GMRD(120.82)) + I '$D(SNOTBL) S SNOTBL=$NA(^TMP("GPLSNO","SNOTBL","TABLE")) ; ATTR TABLE + S ^TMP("GPLSNO","TABLES","SNOTBL")=SNOTBL ; TABLE OF TABLES + Q + ; +AINIT ; INITIALIZE ATTRIBUTE TABLE + I '$D(SNOBASE) D ASETUP ; FOR COMMAND LINE CALLS + K @SNOTBL + D APUSH^GPLRIMA(SNOTBL,"CODE") + D APUSH^GPLRIMA(SNOTBL,"NOCODE") + D APUSH^GPLRIMA(SNOTBL,"MULTICODE") + D APUSH^GPLRIMA(SNOTBL,"SUBMULTI") + D APUSH^GPLRIMA(SNOTBL,"DONE") + Q +APOST(PRSLT,PTBL,PVAL) ; POST AN ATTRIBUTE PVAL TO PRSLT USING PTBL + ; PSRLT AND PTBL ARE PASSED BY NAME. PVAL IS A STRING + ; PTBL IS THE NAME OF A TABLE IN @SNOBASE@("TABLES") - "SNOTBL"=ALL VALUES + ; PVAL WILL BE PLACED IN THE STRING PRSLT AT $P(X,U,@PTBL@(PVAL)) + I '$D(SNOBASE) D ASETUP ; FOR COMMANDLINE PROCESSING + N USETBL + I '$D(@SNOBASE@("TABLES",PTBL)) D Q ; NO TABLE + . W "ERROR NO SUCH TABLE",! + S USETBL=@SNOBASE@("TABLES",PTBL) + S $P(@PRSLT,U,@USETBL@(PVAL))=PVAL + Q +SETATTR(SDFN) ; SET ATTRIBUTES BASED ON VARS + N SBASE,SATTR + S SBASE=$NA(@SNOBASE@("VARS",SDFN)) + D APOST("SATTR","SNOTBL","DONE") + I $P(TTMP,"^",1)=1 D APOST("SATTR","SNOTBL","CODE") + I $P(TTMP,"^",1)=-1 D APOST("SATTR","SNOTBL","NOCODE") + Q SATTR ; GPL + I $D(@SBASE@("PROBLEMS",1)) D ; + . D APOST("SATTR","SNOTBL","PROBLEMS") + . ; W "POSTING PROBLEMS",! + I $D(@SBASE@("VITALS",1)) D APOST("SATTR","SNOTBL","VITALS") + I $D(@SBASE@("MEDS",1)) D ; IF THE PATIENT HAS MEDS VARIABLES + . D APOST("SATTR","SNOTBL","MEDS") + . N ZR,ZI + . D GETPA^GPLRIMA(.ZR,SDFN,"MEDS","MEDPRODUCTNAMECODEVALUE") ;CHECK FOR MED CODES + . I ZR(0)>0 D ; VAR LOOKUP WAS GOOD, CHECK FOR NON=NULL RETURN + . . F ZI=1:1:ZR(0) D ; LOOP THROUGH RETURNED VAR^VALUE PAIRS + . . . I $P(ZR(ZI),"^",2)'="" D APOST("SATTR","SNOTBL","MEDSCODE") ;CODES + . ; D PATD^KBAICSNA(2,"MEDS","MEDPRODUCTNAMECODEVALUE") CHECK FOR MED CODES + D APOST("SATTR","SNOTBL","NOTEXTRACTED") ; OUTPUT NOT YET PRODUCED + ; W "ATTRIBUTES: ",SATTR,! + Q SATTR + ; +RESET ; KILL RESUME INDICATOR TO START OVER. ALSO KILL SNO TMP VALUES + K ^TMP("GPLSNO","RESUME") + K ^TMP("GPLSNO") + Q + ; +CLIST ; LIST THE CATEGORIES + ; + I '$D(SNOBASE) D ASETUP ; FOR COMMAND LINE CALLS + N CLBASE,CLNUM,ZI,CLIDX + S CLBASE=$NA(@SNOBASE@("SNOTBL","CATS")) + S CLNUM=@CLBASE@(0) + F ZI=1:1:CLNUM D ; LOOP THROUGH THE CATEGORIES + . S CLIDX=@CLBASE@(ZI) + . W "(",$P(@CLBASE@(CLIDX),"^",1) + . W ":",$P(@CLBASE@(CLIDX),"^",2),") " + . W CLIDX,! + ; D PARY^GPLXPATH(CLBASE) + Q + ; +CPUSH(CATRTN,CBASE,CTBL,CDFN,CATTR) ; ADD PATIENTS TO CATEGORIES + ; AND PASS BACK THE NAME OF THE CATEGORY TO WHICH THE PATIENT + ; WAS ADDED IN CATRTN, WHICH IS PASSED BY REFERENCE + ; CBASE IS WHERE TO PUT THE CATEGORIES PASSED BY NAME + ; CTBL IS THE NAME OF THE TABLE USED TO CREATE THE ATTRIBUTES, + ; PASSED BY NAME AND USED TO CREATE CATEGORY NAMES IE "@CTBL_X" + ; WHERE X IS THE CATEGORY NUMBER. CTBL(0) IS THE NUMBER OF CATEGORIES + ; CATBL(X)=CATTR STORES THE ATTRIBUTE IN THE CATEGORY + ; CDFN IS THE PATIENT DFN, CATTR IS THE ATTRIBUTE STRING + ; THE LIST OF PATIENTS IN A CATEGORY IS STORED INDEXED BY CATEGORY + ; NUMBER IE CTBL_X(CDFN)="" + ; + ; N CCTBL,CENTRY,CNUM,CCOUNT,CPATLIST + S CCTBL=$NA(@CBASE@(CTBL,"CATS")) + ; W "CBASE: ",CCTBL,! + ; + I '$D(@CCTBL@(CATTR)) D ; FIRST PATIENT IN THIS CATEGORY + . D PUSH^GPLXPATH(CCTBL,CATTR) ; ADD THE CATEGORY TO THE ARRAY + . S CNUM=@CCTBL@(0) ; ARRAY ENTRY NUMBER FOR THIS CATEGORY + . S CENTRY=CTBL_"_"_CNUM_U_0 ; TABLE ENTRY DEFAULT + . S @CCTBL@(CATTR)=CENTRY ; DEFAULT NON INCREMENTED TABLE ENTRY + . ; NOTE THAT P1 IS THE CATEGORY NAME MADE UP OF THE TABLE NAME + . ; AND CATGORY ARRAY NUMBER. P2 IS THE COUNT WHICH IS INITIALLY 0 + ; + S CCOUNT=$P(@CCTBL@(CATTR),U,2) ; COUNT OF PATIENTS IN THIS CATEGORY + S CCOUNT=CCOUNT+1 ; INCREMENT THE COUNT + S $P(@CCTBL@(CATTR),U,2)=CCOUNT ; PUT IT BACK + ; + S CATRTN=$P(@CCTBL@(CATTR),U,1) ; THE CATEGORY NAME WHICH IS RETURNED + ; + S CPATLIST=$NA(@CBASE@(CTBL,"IENS",CATRTN)) ; BASE OF PAT LIST FOR THIS CAT + ; W "IENS BASE: ",CPATLIST,! + S @CPATLIST@(CDFN)="" ; ADD THIS PATIENT TO THE CAT PAT LIST + ; + Q + ; +REUSE ; GET SAVED VALUES FROM ^TMP("GPLSAV") AND PUT THEM IN A DATABASE + ; + D ASETUP + D AINIT + N SNOI,SNOJ,SNOK,SNOSNO,SNOSEC,SNOIEN,SNOOLD,SNOSRCH + D DO^KBAICX1 ; INITIALIZE GPLSAV VARIABLES + S SAVBASE=$NA(^TMP("GPLSAV","VARS")) + S CSVARY=$NA(^TMP("GPLSNO","CSV")) + K @CSVARY + D PUSH^GPLXPATH(CSVARY,"OLDCODE|GMRText|MediationCode|MediationText") ; header for CSV file + S SNOI="" + F D Q:$O(@SAVBASE@(SNOI))="" ;THE WHOLE LIST + . S SNOI=$O(@SAVBASE@(SNOI)) + . S SNOJ=@SAVBASE@(SNOI) + . S SNOK=$P($P(SNOJ,"^",1)," ALLERGY",1) + . S SNOSRCH=$P(SNOJ,"^",1) ;SEARCH TERM USED TO OBTAIN SNOMED CODE + . S SNOIEN=$P(SNOJ,"^",3) ; IEN OF ELEMENT IN LEXICON + . S SNOSNO=$P(SNOJ,"^",4) ; SNOMED CODE + . S SNOSEC=$P(SNOJ,"^",5) ; SECTION OF SNOMED FOR THIS CODE + . S SNOOLD=$P(SNOJ,"^",7) ; OLD NUMBER FOR THIS CODE + . D PUSH^GPLXPATH(CSVARY,SNOOLD_"|"_$P(SNOSRCH," ALLERGY",1)_"|"_SNOSNO_"|"_SNOSRCH_"("_SNOSEC_")") + . W "SEARCH:",SNOSRCH," IEN:",SNOIEN," CODE:",SNOSNO," SEC:",SNOSEC," OLD:",SNOOLD,! + . W SNOK,! + . W SNOJ,! + S OARY=$NA(@CSVARY@(1)) ; SETUP FOR OUTPUT ROUTINE + D PARY^GPLXPATH(CSVARY) + S OFILE="GMR_ALLERGY_MAPPING_TABLE.csv" + S ODIR="/home/glilly/" + S ZY=$$OUTPUT^GPLXPATH(OARY,OFILE,ODIR) + I ZY W "WROTE ",OFILE," to ",ODIR,! + Q + ; diff --git a/p/KBAICX1.m b/p/KBAICX1.m new file mode 100644 index 0000000..a2f5a6b --- /dev/null +++ b/p/KBAICX1.m @@ -0,0 +1,90 @@ +KBAICX1 ; CCDCCR/GPL - LOADS SNOMED CODES INTO ^TMP; 10/15/08 + ;;0.2;CCDCCR;nopatch;noreleasedate +DO ; + S ^TMP("GPLSAV","VARS",3)="CHOCOLATE ALLERGY^1^7476359^300912001^disorder^20050701^F-C3111^1" + S ^TMP("GPLSAV","VARS",6)="STRAWBERRIES ALLERGY^1^7164395^91938006^disorder^20050701^D5-00331^1" + S ^TMP("GPLSAV","VARS",7)="EGGS ALLERGY^1^7164379^91930004^disorder^20050701^D5-00340^1" + S ^TMP("GPLSAV","VARS",9)="POLLEN ALLERGY^1^7476355^300910009^disorder^20050701^F-C310E^1" + S ^TMP("GPLSAV","VARS",10)="MOLD ALLERGY^1^7942600^419474003^disorder^20050701^F-C3128^1" + S ^TMP("GPLSAV","VARS",13)="ANIMAL HAIR ALLERGY^1^7476357^300911008^disorder^20050701^F-C310F^1" + S ^TMP("GPLSAV","VARS",14)="DUST ALLERGY^1^7561285^390952000^disorder^20050701^F-C300E^1" + S ^TMP("GPLSAV","VARS",15)="IODINE ALLERGY^1^7464505^294914009^disorder^20050701^DF-1006F^1" + S ^TMP("GPLSAV","VARS",20)="CHEESE ALLERGY^1^7476363^300914000^disorder^20050701^D5-00305^1" + S ^TMP("GPLSAV","VARS",22)="CITRUS ALLERGY^1^7939822^418085001^disorder^20050701^D5-00335^1" + S ^TMP("GPLSAV","VARS",24)="CORN ALLERGY^1^7942798^419573007^disorder^20050701^F-C3144^1" + S ^TMP("GPLSAV","VARS",26)="FISH ALLERGY^1^7608411^417532002^disorder^20050701^D5-00322^1" + S ^TMP("GPLSAV","VARS",29)="MILK ALLERGY^1^7414545^266931007^finding^20050701^C-F2979^1" + S ^TMP("GPLSAV","VARS",31)="NUTS ALLERGY^1^7164387^91934008^disorder^20050701^D5-00310^1" + S ^TMP("GPLSAV","VARS",33)="PEPPERMINT ALLERGY^1^7462059^293690005^disorder^20050701^DF-10F75^1" + S ^TMP("GPLSAV","VARS",36)="PORK ALLERGY^1^7939488^417918006^disorder^20050701^F-C312B^1" + S ^TMP("GPLSAV","VARS",37)="POTATO ALLERGY^1^7942890^419619007^disorder^20050701^F-C3136^1" + S ^TMP("GPLSAV","VARS",40)="SHRIMP ALLERGY^1^7943596^419972009^disorder^20050701^D5-00325^1" + S ^TMP("GPLSAV","VARS",44)="TOMATO ALLERGY^1^7941210^418779002^disorder^20050701^F-C3131^1" + S ^TMP("GPLSAV","VARS",46)="WHEAT ALLERGY^1^7944000^420174000^disorder^20050701^F-C3132^1" + S ^TMP("GPLSAV","VARS",52)="ALCOHOL ALLERGY^1^7463339^294330005^disorder^20050701^DF-1120D^1" + S ^TMP("GPLSAV","VARS",55)="ASCORBIC ACID ALLERGY^1^7464557^294940003^disorder^20050701^DF-10089^1" + S ^TMP("GPLSAV","VARS",56)="ASPARTAME ALLERGY^1^7942012^419180003^disorder^20050701^F-C312A^1" + S ^TMP("GPLSAV","VARS",57)="ASPIRIN ALLERGY^1^7461853^293586001^disorder^20050701^DF-10F0E^1" + S ^TMP("GPLSAV","VARS",62)="BOTULISM ANTITOXIN ALLERGY^1^7464013^294668002^disorder^20050701^DF-11358^1" + S ^TMP("GPLSAV","VARS",65)="CAFFEINE ALLERGY^1^7940340^418344001^disorder^20050701^DF-1144C^1" + S ^TMP("GPLSAV","VARS",66)="CALCITONIN, SALMON ALLERGY^1^7464357^294840004^disorder^20050701^DF-113FF^1" + S ^TMP("GPLSAV","VARS",69)="CETYLPYRIDINIUM ALLERGY^1^7463559^294441006^disorder^20050701^DF-1127A^1" + S ^TMP("GPLSAV","VARS",92)="FLUPHENAZINE DECANOATE ALLERGY^1^7462541^293931005^disorder^20050701^DF-11062^1" + S ^TMP("GPLSAV","VARS",94)="GELATIN ALLERGY^1^7464371^294847001^disorder^20050701^F-C3116^1" + S ^TMP("GPLSAV","VARS",98)="INSULIN ALLERGY^1^7464105^294714000^disorder^20050701^DF-11384^1" + S ^TMP("GPLSAV","VARS",109)="POVIDONE IODINE ALLERGY^1^7464509^294916006^disorder^20050701^DF-10073^1" + S ^TMP("GPLSAV","VARS",116)="SALICYLIC ACID ALLERGY^1^7463081^294201000^disorder^20050701^DF-1118F^1" + S ^TMP("GPLSAV","VARS",122)="TESTOSTERONE ALLERGY^1^7464229^294776007^disorder^20050701^DF-113C0^1" + S ^TMP("GPLSAV","VARS",125)="PENICILLIN ALLERGY^1^7164391^91936005^disorder^20050701^DF-10074^1" + S ^TMP("GPLSAV","VARS",131)="PEANUTS ALLERGY^1^7164389^91935009^disorder^20050701^D5-00311^1" + S ^TMP("GPLSAV","VARS",138)="APPLE JUICE ALLERGY^1^7940280^418314004^disorder^20050701^D5-00333^1" + S ^TMP("GPLSAV","VARS",144)="SULFA DRUGS ALLERGY^1^7164397^91939003^disorder^20050701^DF-10072^1" + S ^TMP("GPLSAV","VARS",161)="FERROUS SULFATE ALLERGY^1^7464481^294902001^disorder^20050701^DF-1006B^1" + S ^TMP("GPLSAV","VARS",199)="CONTRAST MEDIA ALLERGY^1^7461955^293637006^disorder^20050701^DF-10F41^1" + S ^TMP("GPLSAV","VARS",203)="WASP VENOM ALLERGY^1^7508115^320868003^product^20050701^C-B0508^1" + S ^TMP("GPLSAV","VARS",210)="COCONUT OIL ALLERGY^1^7943280^419814004^disorder^20050701^DF-1144E^1" + S ^TMP("GPLSAV","VARS",257)="NICKEL ALLERGY^1^7943228^419788000^disorder^20050701^F-C313B^1" + S ^TMP("GPLSAV","VARS",268)="MILDEW ALLERGY^1^7942600^419474003^disorder^20050701^F-C3128^1" + S ^TMP("GPLSAV","VARS",272)="METAL ALLERGY^1^7476365^300915004^disorder^20050701^F-C3112^1" + S ^TMP("GPLSAV","VARS",273)="METOCLOPRAMIDE ALLERGY^1^7462029^293675006^disorder^20050701^DF-10F66^1" + S ^TMP("GPLSAV","VARS",276)="MEAT ALLERGY^1^7941282^418815008^disorder^20050701^F-C312C^1" + S ^TMP("GPLSAV","VARS",289)="LEGUMES ALLERGY^1^7592039^409136006^disorder^20050701^F-C3123^1" + S ^TMP("GPLSAV","VARS",318)="VEGETABLES ALLERGY^1^7592039^409136006^disorder^20050701^F-C3123^1" + S ^TMP("GPLSAV","VARS",325)="TREE POLLEN ALLERGY^1^7942178^419263009^disorder^20050701^F-C3139^1" + S ^TMP("GPLSAV","VARS",337)="TAPE ALLERGY^1^7585411^405649006^disorder^20050701^F-C3122^1" + S ^TMP("GPLSAV","VARS",348)="SUNLIGHT ALLERGY^1^7399083^258155009^disorder^20050701^D0-75245^1" + S ^TMP("GPLSAV","VARS",355)="STRAW ALLERGY^1^7164395^91938006^disorder^20050701^D5-00331^1" + S ^TMP("GPLSAV","VARS",374)="SMALLPOX VACCINE ALLERGY^1^7463991^294657002^disorder^20050701^DF-1134D^1" + S ^TMP("GPLSAV","VARS",390)="WOOD ALLERGY^1^7579397^402595004^disorder^20050701^F-C311A^1" + S ^TMP("GPLSAV","VARS",394)="WEED POLLEN ALLERGY^1^7942072^419210001^disorder^20050701^F-C313A^1" + S ^TMP("GPLSAV","VARS",399)="SALT ALLERGY^1^7464471^294897002^disorder^20050701^DF-10066^1" + S ^TMP("GPLSAV","VARS",407)="RUBBER ALLERGY^1^7942476^419412007^disorder^20050701^F-C312E^1" + S ^TMP("GPLSAV","VARS",455)="PESTICIDES ALLERGY^1^7463933^294628001^disorder^20050701^DF-11332^1" + S ^TMP("GPLSAV","VARS",457)="PERFUME ALLERGY^1^7476351^300908007^disorder^20050701^F-C310D^1" + S ^TMP("GPLSAV","VARS",461)="PEPPERONI ALLERGY^1^7462059^293690005^disorder^20050701^DF-10F75^1" + S ^TMP("GPLSAV","VARS",462)="WATERMELONS ALLERGY^1^7942248^419298007^disorder^20050701^D5-00332^1" + S ^TMP("GPLSAV","VARS",464)="WALNUTS ALLERGY^1^7164399^91940001^disorder^20050701^D5-00312^1" + S ^TMP("GPLSAV","VARS",471)="SHELLFISH ALLERGY^1^7476361^300913006^disorder^20050701^D5-00321^1" + S ^TMP("GPLSAV","VARS",473)="SEAFOOD ALLERGY^1^7164393^91937001^disorder^20050701^D5-00320^1" + S ^TMP("GPLSAV","VARS",478)="RAGWEED ALLERGY^1^7940774^418561004^disorder^20050701^F-C312D^1" + S ^TMP("GPLSAV","VARS",486)="OATS ALLERGY^1^7942336^419342009^disorder^20050701^F-C3135^1" + S ^TMP("GPLSAV","VARS",488)="MUSTARD ALLERGY^1^7462171^293746007^disorder^20050701^DF-10FAB^1" + S ^TMP("GPLSAV","VARS",498)="ETHYL ALCOHOL ALLERGY^1^7943932^420140004^disorder^20050701^DF-1144D^1" + S ^TMP("GPLSAV","VARS",518)="GRASS ALLERGY^1^7941030^418689008^disorder^20050701^F-C3138^1" + S ^TMP("GPLSAV","VARS",522)="LOBSTER ALLERGY^1^7940904^418626004^disorder^20050701^D5-00323^1" + S ^TMP("GPLSAV","VARS",543)="SALMON ALLERGY^1^7464357^294840004^disorder^20050701^DF-113FF^1" + S ^TMP("GPLSAV","VARS",544)="RYE ALLERGY^1^7940020^418184004^disorder^20050701^F-C3134^1" + S ^TMP("GPLSAV","VARS",599)="BEE VENOM ALLERGY^1^7508115^320868003^product^20050701^C-B0508^1" + S ^TMP("GPLSAV","VARS",608)="ANTHRAX VACCINE ALLERGY^1^7463959^294641002^disorder^20050701^DF-1133E^1" + S ^TMP("GPLSAV","VARS",611)="ANIMAL DANDER ALLERGY^1^7351255^232347008^disorder^20050701^F-C3006^1" + S ^TMP("GPLSAV","VARS",613)="ALUMINUM ALLERGY^1^7578823^402306009^disorder^20050701^F-C3121^1" + S ^TMP("GPLSAV","VARS",621)="WOOL ALLERGY^1^7463339^294330005^disorder^20050701^DF-1120D^1" + S ^TMP("GPLSAV","VARS",634)="GRASS POLLEN ALLERGY^1^7941030^418689008^disorder^20050701^F-C3138^1" + S ^TMP("GPLSAV","VARS",645)="FRUIT ALLERGY^1^7164383^91932007^disorder^20050701^D5-00330^1" + S ^TMP("GPLSAV","VARS",686)="CITRUS FRUIT ALLERGY^1^7939822^418085001^disorder^20050701^D5-00335^1" + S ^TMP("GPLSAV","VARS",694)="DOG DANDER ALLERGY^1^7942194^419271008^disorder^20050701^F-C3014^1" + S ^TMP("GPLSAV","VARS",696)="JUICE ALLERGY^1^7940280^418314004^disorder^20050701^D5-00333^1" + S ^TMP("GPLSAV","VARS",703)="RED MEAT ALLERGY^1^7941282^418815008^disorder^20050701^F-C312C^1" + S ^TMP("GPLSAV","VARS",715)="PEPPER ALLERGY^1^7462059^293690005^disorder^20050701^DF-10F75^1" + Q + ;