Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BCSVMD

BCSVMD.m

Go to the documentation of this file.
BCSVMD ;IHS/CIA/BWF - CSV Phase One Management of Data ;16-Apr-2010 09:58;JSH
 ;;1.0;BCSV;;APR 23, 2010;Build 44
 ;=================================================================
 Q
INIT ;
 S DLM="|",DDLM=";;"
 Q
GET ;EP
 ; Gather data from fields that are to be moved and store for later use.\
 ; Variable XREFS is used for multiple fields that have a file level xref that needs to be re-indexed.
 ; Single fields with x-refs will be handled by file manager upon calling FILE^DIE
 N QUIT,I,LINE,DATA,IHSFILE,IHSFLD,IHSROOT,VAFILE,VAFLD,AUMCSV,AUMDATA,DATAROOT,DEL,GLOBNODE,IHSDATA,MULT,NIHSFILE,DLM,DDLM
 D INIT
 S QUIT=0
 F I=1:1  D  Q:QUIT
 .S MULT=0
 .S LINE=$T(FLDLST+I)
 .S DATA=$P(LINE,DDLM,2)
 .I DATA="Q"!(DATA="") S QUIT=1 Q
 .S IHSFILE=$P(DATA,DLM),OIHSFLD=$P(DATA,DLM,2),NIHSFLD=$P(DATA,DLM,3),NIHSFILE=$P(DATA,DLM,4),DEL=$P(DATA,DLM,5),XREFS=$P(DATA,DLM,6)
 .I IHSFILE=""!(OIHSFLD="") S QUIT=1 Q
 .; Quit if the field does not exist. This is done so filemanger will not look for fields that do not exist in site.
 .I '$D(^DD(IHSFILE,OIHSFLD)) Q
 .I NIHSFLD="",DEL'="D" Q
 .D FIELD^DID(IHSFILE,OIHSFLD,"N","GLOBAL SUBSCRIPT LOCATION;MULTIPLE-VALUED","AUMDATA")
 .I $G(AUMDATA("MULTIPLE-VALUED"))=1 S MULT=1
 .S IHSROOT=$$ROOT^DILFD(IHSFILE)
 .S LOOPSTR=IHSROOT_"AUMCSV)"
 .S AUMCSV=0
 .F  S AUMCSV=$O(@LOOPSTR) Q:'AUMCSV  D
 ..I MULT D  Q
 ...S GLOBNODE=$P(AUMDATA("GLOBAL SUBSCRIPT LOCATION"),";")
 ...I 'GLOBNODE S GLOBNODE=""""_GLOBNODE_""""
 ...S DATAROOT=IHSROOT_AUMCSV_","_GLOBNODE_")"
 ...I DEL="D" K @DATAROOT Q
 ...S ^XTMP("AUMCSVMD","I",IHSFILE,NIHSFLD,AUMCSV,"MULT")=""
 ...S ^XTMP("AUMCSVMD","I",IHSFILE,NIHSFLD,AUMCSV,"XREFS")=XREFS
 ...M ^XTMP("AUMCSVMD",IHSFILE,NIHSFLD,AUMCSV)=@DATAROOT
 ...I DEL'="SD" K @DATAROOT
 ..I DEL="D" S FDA(IHSFILE,AUMCSV,OIHSFLD)="" D FILE^DIE(,"FDA") K FDA Q
 ..S IHSDATA=$$GET1^DIQ(IHSFILE,AUMCSV,OIHSFLD,"I")
 ..S FDA(IHSFILE,AUMCSV_",",OIHSFLD)="" D FILE^DIE(,"FDA") K FDA
 ..I NIHSFILE'="" S ^XTMP("AUMCSVMD",NIHSFILE,NIHSFLD,AUMCSV)=IHSDATA Q
 ..S ^XTMP("AUMCSVMD",IHSFILE,NIHSFLD,AUMCSV)=IHSDATA
 ..I DEL'="SD" S FDA(IHSFILE,AUMCSV,OIHSFLD)="" D FILE^DIE(,"FDA") K FDA
 D DELDUM,ICDSET,CALDELDD
 K QUIT,I,LINE,DATA,IHSFILE,NIHSFLD,OIHSFLD,IHSROOT
 Q
PUT ;
 ; Put the data back into the correct field(s)
 N IHSFILE,NEWFLD,IEN,CNT,SUBSCRPT,ROOT,FLDDATA,FL,XREF,NEWLOC
 M ^DIC(81.3)=^AUTTCMOD
 S IHSFILE=0
 F  S IHSFILE=$O(^XTMP("AUMCSVMD",IHSFILE)) Q:'IHSFILE  D
 .S NEWFLD=0
 .F  S NEWFLD=$O(^XTMP("AUMCSVMD",IHSFILE,NEWFLD)) Q:'NEWFLD  D
 ..S IEN=0,CNT=0
 ..F  S IEN=$O(^XTMP("AUMCSVMD",IHSFILE,NEWFLD,IEN)) Q:'IEN  D
 ...I $D(^XTMP("AUMCSVMD","I",IHSFILE,NEWFLD,IEN,"MULT")) D  Q
 ....S QUIT=0
 ....S XREFS=$G(^XTMP("AUMCSVMD","I",IHSFILE,NEWFLD,IEN,"XREFS"))
 ....D FIELD^DID(IHSFILE,NEWFLD,"N","GLOBAL SUBSCRIPT LOCATION","NEWLOC")
 ....S SUBSCRPT=$G(NEWLOC("GLOBAL SUBSCRIPT LOCATION")) Q:SUBSCRPT=""
 ....S SUBSCRPT=$P(SUBSCRPT,";"),SUBSCRPT=$C(34)_SUBSCRPT_$C(34)
 ....S ROOT=$$ROOT^DILFD(IHSFILE)_IEN_","_SUBSCRPT_")"
 ....M @ROOT=^XTMP("AUMCSVMD",IHSFILE,NEWFLD,IEN)
 ....Q:XREFS=""
 ....S DIK=$P(ROOT,")")_","
 ....F J=1:1 D  Q:QUIT
 .....S XREF=$P(XREFS,",",J)
 .....I XREF="" S QUIT=1 Q
 .....S DIK(1)=NEWFLD_"^"_XREF D ENALL^DIK
 ...S FLDDATA=$G(^XTMP("AUMCSVMD",IHSFILE,NEWFLD,IEN))
 ...S ROOT=$$ROOT^DILFD(IHSFILE)_IEN_")"
 ...S FDA(IHSFILE,IEN_",",NEWFLD)=$G(FLDDATA) D FILE^DIE(,"FDA") K FDA
 I $D(FDA) D FILE^DIE(,"FDA") K FDA
 F FL=80,80.1,80.2,80.3,81,81.1,81.3 D
 .S ^DD(FL,.01,"DEL",.01,0)="I 1"
 Q
SNCFLDS ;
 ; Synchronization of data for new fields added to IHS dictionaries
 N QUIT,I,LINE,FILE,FLDLST,TRGT,XREFS,FILE,FIELD,ROOT,LOOPSTR,IEN,JQUIT,FIELD,MULT,DLM,DDLM
 N VERINFO
 D INIT
 D UPDCODES^BCSVUT ; Moved to insure all data items are brought in before attempting to update the data
 S QUIT=0
 F I=1:1 D  Q:QUIT
 .S LINE=$$READ("IMPORT",I)
 .I LINE="Q"!(LINE="") S QUIT=1 Q
 .S FILE=$P(LINE,DLM)
 .S FLDLST=$P(LINE,DLM,2)
 .S TRGT=$P(LINE,DLM,3) I TRGT["(" S TRGT=$TR(TRGT,"(","|")
 .S XREFS=$P(LINE,DLM,4)
 .I FILE=""!(FLDLST="") S QUIT=1 Q
 .I XREFS'="" D XREFS(XREFS)
 .S ROOT=$$ROOT^DILFD(FILE)
 .S LOOPSTR=ROOT_"IEN)"
 .S IEN=0
 .F  S IEN=$O(@LOOPSTR) Q:'IEN  D
 ..I $D(^XCSV(TRGT,"MAP","Z",IEN)) Q
 ..I FILE=80,$$GET1^DIQ(80,IEN,.01,"E")=.9999 S FUNC="VER"_$TR(FILE,".",""),INACT=1 D VERSION^BCSVUT(IEN,FUNC,INACT) Q
 ..I FILE=80.1,$$GET1^DIQ(80.1,IEN,.01,"E")=333333 S FUNC="VER"_$TR(FILE,".","") D VERSION^BCSVUT(IEN,FUNC) Q
 ..I '$D(^XCSV(TRGT,"MAP",IEN)) Q
 ..S MAPIEN=$P(^XCSV(TRGT,"MAP",IEN),"^",1)
 ..S JQUIT=0
 ..F J=1:1  D  Q:JQUIT
 ...S FIELD=$P(FLDLST,";",J) I FIELD="" S JQUIT=1 Q
 ...; If the field is in a subfile, use the appropriate logic to get the data from ^XCSV and set into IHS files
 ...D FIELD^DID(FILE,FIELD,"N","MULTIPLE-VALUED","MULT")
 ...I $G(MULT("MULTIPLE-VALUED"))=1 D MULT(FILE,FIELD,TRGT,IEN,XREFS,MAPIEN) Q
 ...; If the field is not in a subfile, use the single field logic.
 ...D SINGLE(FILE,FIELD,TRGT,IEN,MAPIEN)
 Q
SNCFLDS2 ;
 ; Synchronization of data for new fields added to IHS dictionaries
 N QUIT,I,LINE,FILE,FLDLST,TRGT,XREFS,FILE,FIELD,ROOT,LOOPSTR,IEN,JQUIT,FIELD,DLM,DDLM,FUNC,J
 D INIT
 S QUIT=0
 F I=1:1 D  Q:QUIT
 .S LINE=$$READ("UPDATE",I)
 .I LINE="Q"!(LINE="") S QUIT=1 Q
 .S FILE=$P(LINE,DLM)
 .S FLDLST=$P(LINE,DLM,2)
 .S TRGT=$P(LINE,DLM,3) I TRGT["(" S TRGT=$TR(TRGT,"(","|")
 .I '$D(^XCSV("ICD9","REVMAP")) D INDEX
 .S XREFS=$P(LINE,DLM,4)
 .S FUNC=$P(LINE,DLM,5)
 .I FILE=""!(FLDLST="") S QUIT=1 Q
 .I XREFS'="" D XREFS(XREFS)
 .S ROOT=$$ROOT^DILFD(FILE)
 .S LOOPSTR=ROOT_"IEN)"
 .S IEN=0
 .F  S IEN=$O(@LOOPSTR) Q:'IEN  D
 ..I $D(^XCSV(TRGT,"MAP","Z",IEN)) Q
 ..I FILE=80,$$GET1^DIQ(80,IEN,.01,"E")=.9999 Q
 ..I $D(^XCSV(TRGT,"MAP",IEN)) D
 ...S MAPIEN=$P(^XCSV(TRGT,"MAP",IEN),"^",1)
 ...S JQUIT=0
 ...F J=1:1 D  Q:JQUIT
 ....S FIELD=$P(FLDLST,";",J) I FIELD="" S JQUIT=1 Q
 ....; If the field is in a subfile, use the appropriate logic to get the data from ^XCSV and set into IHS files
 ....D FIELD^DID(FILE,FIELD,"N","MULTIPLE-VALUED","MULT")
 ....I $G(MULT("MULTIPLE-VALUED"))=1 D MULT(FILE,FIELD,TRGT,IEN,XREFS,MAPIEN) Q
 ....; If the field is not in a subfile, use the single field logic.
 ....D SINGLE(FILE,FIELD,TRGT,IEN,MAPIEN)
 ..E  D VERSION^BCSVUT(IEN,FUNC)
 D XREFUPD
 ;D UPDCODES^BCSVUT
 D RPALL^BCSVUT
 D FIX^BCSVP1
 Q
BLDLST(FIL) ;
 ; Build a list of all files that are located in a subfile (these are the multiples)
 N SUBFIL,FLD
 S SUBFIL=0
 F  S SUBFIL=$O(^DD(FIL,"SB",SUBFIL)) Q:'SUBFIL  D
 .S FLD=0
 .F  S FLD=$O(^DD(FIL,"SB",SUBFIL,FLD)) Q:'FLD  D
 ..S ^XTMP("AUMCSVMD","SB",FIL,FLD,SUBFIL)=""
 Q
INDEX ;
 N IHSIEN,VAIEN
 S IHSIEN=0
 F  S IHSIEN=$O(^XCSV("ICD9","MAP",IHSIEN)) Q:'IHSIEN  D
 .S VAIEN=$P($G(^XCSV("ICD9","MAP",IHSIEN)),"^")
 .S ^XCSV("ICD9","REVMAP",VAIEN)=IHSIEN
 Q
READ(TAG,INCR) ;
 N LINE
 S LINE=$T(@TAG+INCR)
 S DATA=$P(LINE,DDLM,2)
 Q DATA
 ;
SINGLE(FILE,FLD,TRGT,IEN,MAPIEN) ;
 ; Input - FILE - IHS File Number
 ;         FLD  - IHS Field Number
 ;
 N ROOT,DATA,VAIEN,DATALOC,NODE,NEWDAT,DATAPC,CSVDAT,IHSDAT,PIECE,FLDZERO,FLDTYP,TARGET
 S ROOT=$$ROOT^DILFD(FILE)
 S DATA=$G(^XCSV(TRGT,"MAP",MAPIEN))
 S VAIEN=$P(DATA,"^")
 D FIELD^DID(FILE,FLD,"N","GLOBAL SUBSCRIPT LOCATION","CSVDAT")
 I '$D(CSVDAT) Q
 S DATALOC=$G(CSVDAT("GLOBAL SUBSCRIPT LOCATION"))
 S NODE=$P(DATALOC,";",1),PIECE=$P(DATALOC,";",2)
 I NODE=""!(PIECE="") Q
 S NEWDAT=$G(^XCSV(TRGT,"DATA",MAPIEN,NODE))
 S DATAPC=$P(NEWDAT,"^",PIECE)
 S IHSDAT=$$GET1^DIQ(FILE,IEN_",",FLD)
 I IHSDAT="",NEWDAT="" Q
 S FLDZERO=$G(^DD(FILE,FLD,0))
 S FLDTYP=$P(FLDZERO,U,2)
 I FLDTYP["P" D
 .S TARGET=$P(FLDZERO,U,3),TARGET=$TR($P(TARGET,","),"(","|")
 .I $P(TARGET,"|",2)="" S TARGET=$P(TARGET,"|")
 .Q:DATAPC=""
 .I $D(^XCSV(TARGET,"MAP","B",DATAPC)) S DATAPC=$G(^XCSV(TARGET,"MAP","B",DATAPC)) Q
 .E  S DATAPC=""
 I FILE=80,((FLD=14)!(FLD=15)) S DATAPC=$$AGECON80^BCSVUT(DATAPC,IEN,FLD)
 I FILE=81,((FLD=10.01)!(FLD=10.02)) S DATAPC=$$AGECON^BCSVUT(DATAPC)
 S FDA(FILE,IEN_",",FLD)=DATAPC D FILE^DIE(,"FDA") K FDA
 Q
MULT(FILE,FLD,TRGT,IEN,XREFS,MAPIEN) ;
 N ROOT,SUBLOC,MERGELOC,DIK,XREFFLD,XREFNM,SUBLOC2,TEMPSUB
 S ROOT=$$ROOT^DILFD(FILE)
 D FIELD^DID(FILE,FLD,"N","GLOBAL SUBSCRIPT LOCATION","SUBLOC")
 I '$D(SUBLOC) Q
 S SUBLOC=$P(SUBLOC("GLOBAL SUBSCRIPT LOCATION"),";")
 S TEMPSUB=SUBLOC
 I 'SUBLOC D
 .I SUBLOC=0 Q
 .S SUBLOC2=$C(34)_SUBLOC_$C(34)
 .S MERGELOC=ROOT_IEN_","_SUBLOC2_")"
 I '$D(MERGELOC) S MERGELOC=ROOT_IEN_","_SUBLOC_")"
 S DIK=ROOT_IEN_","_SUBLOC_",",DA(1)=IEN
 I $D(XREFDATA(SUBLOC)) D
 .S XREFFLD=0
 .F  S XREFFLD=$O(XREFDATA(SUBLOC,XREFFLD)) Q:'XREFFLD  D
 ..S XREFNM=0
 ..F  S XREFNM=$O(XREFDATA(SUBLOC,XREFFLD,XREFNM)) Q:XREFNM=""  D
 ...S DIK(1)=XREFFLD_"^"_XREFNM D ENALL2^DIK
 K @MERGELOC
 M @MERGELOC=^XCSV(TRGT,"DATA",MAPIEN,SUBLOC)
 I $D(XREFDATA(SUBLOC)) D
 .S XREFFLD=0
 .F  S XREFFLD=$O(XREFDATA(SUBLOC,XREFFLD)) Q:'XREFFLD  D
 ..S XREFNM=0
 ..F  S XREFNM=$O(XREFDATA(SUBLOC,XREFFLD,XREFNM)) Q:XREFNM=""  D
 ...S DIK(1)=XREFFLD_"^"_XREFNM D ENALL^DIK
 Q
CLEAN(TRGT,IEN,XREFDATA,FIELD,MERGELOC,ROOT,SUBLOC) ;
 N SUBIEN,CLOOPSTR,TEST,DATANODE,ROOTCHK,IHSPTR,VAPTR,XREFNM,XREFFLD
 S SUBIEN=0
 S CLOOPSTR=$P(MERGELOC,")"),CLOOPSTR=CLOOPSTR_",SUBIEN)"
 I 'SUBLOC D
 .I SUBLOC=0 Q
 .S SUBLOC=$C(34)_SUBLOC_$C(34)
 S TEST=ROOT_IEN_","_SUBLOC_")"
 I '$D(@TEST) Q
 F  S SUBIEN=$O(@CLOOPSTR) Q:'SUBIEN  D
 .S DIK=ROOT_IEN_","_SUBLOC_",",DA(1)=SUBIEN
 .S DATANODE=$P(CLOOPSTR,")"),DATANODE=DATANODE_",0)"
 .S VAPTR=$G(@DATANODE)
 .S ROOTCHK=ROOT_VAPTR_")"
 .I '$D(^XCSV(TRGT,"REVMAP",VAPTR)) Q
 .I '$D(@ROOTCHK)!('$D(^XCSV(TRGT,"REVMAP",VAPTR))) D
 ..I $D(XREFDATA(SUBLOC)) D
 ...S XREFFLD=0
 ...F  S XREFFLD=$O(XREFDATA(SUBLOC,XREFFLD)) Q:'XREFFLD  D
 ....K @CLOOPSTR
 ....S XREFNM=0
 ....F  S XREFNM=$O(XREFDATA(SUBLOC,XREFFLD,XREFNM)) Q:XREFNM=""  D
 .....S DIK(1)=XREFFLD_"^"_XREFNM D EN2^DIK
 .S IHSPTR=$G(^XCSV(TRGT,"REVMAP",VAPTR))
 .I IHSPTR=VAPTR Q
 .I IHSPTR'=VAPTR D  Q
 ..I $D(XREFDATA(SUBLOC)) D
 ...S XREFFLD=0
 ...F  S XREFFLD=$O(XREFDATA(SUBLOC,XREFFLD)) Q:'XREFFLD  D
 ....S XREFNM=0
 ....F  S XREFNM=$O(XREFDATA(SUBLOC,XREFFLD,XREFNM)) Q:XREFNM=""  D
 .....S DIK(1)=XREFFLD_"^"_XREFNM D EN2^DIK
 ..I FIELD=20 D  Q
 ...K @DATANODE
 ...S ^ICD9(IEN,"N",IHSPTR,0)=IHSPTR
 ...I $D(XREFDATA(SUBLOC)) D
 ....S XREFFLD=0
 ....F  S XREFFLD=$O(XREFDATA(SUBLOC,XREFFLD)) Q:'XREFFLD  D
 .....S XREFNM=0
 .....F  S XREFNM=$O(XREFDATA(SUBLOC,XREFFLD,XREFNM)) Q:XREFNM=""  D
 ......S DIK(1)=XREFFLD_"^"_XREFNM D EN1^DIK
 ..S @DATANODE=IHSPTR
 ..I $D(XREFDATA(SUBLOC)) D
 ...S XREFFLD=0
 ...F  S XREFFLD=$O(XREFDATA(SUBLOC,XREFFLD)) Q:'XREFFLD  D
 ....S XREFNM=0
 ....F  S XREFNM=$O(XREFDATA(SUBLOC,XREFFLD,XREFNM)) Q:XREFNM=""  D
 .....S DIK(1)=XREFFLD_"^"_XREFNM D EN1^DIK
 Q
XREFS(XREFS) ;
 N QUIT,DATA,I,LOC,FLD,JQUIT,J,FLDS,XREF
 S QUIT=0
 S ^XTMP("XREFS",XREFS)=""
 F I=1:1 D  Q:QUIT
 .S DATA=$P(XREFS,";",I) I DATA="" S QUIT=1 Q
 .S LOC=$P(DATA,","),FLDS=$P(DATA,",",2),XREF=$P(DATA,",",3)
 .S JQUIT=0
 .F J=1:1 D  Q:JQUIT
 ..S FLD=$P(FLDS,"/",J) I FLD="" S JQUIT=1 Q
 ..S XREFDATA(LOC,FLD,XREF)=""
 Q
DELDUM ;
 N DA,DATA,NEWDAT
 S DA(1)=0
 F  S DA(1)=$O(^ICD9(DA(1))) Q:'DA(1)  D
 .S DA=0
 .F  S DA=$O(^ICD9(DA(1),9999999.21,DA)) Q:'DA  D
 ..I $P(^ICD9(DA(1),9999999.21,DA,0),"^",2)'="" S $P(^ICD9(DA(1),9999999.21,DA,0),"^",2)=""
 Q
ICDSET ;
 S ^ICD(541,0)="DRG541^20.041^1^99^17^1^^38.7"
 S ^ICD(542,0)="DRG542^12.028^1^99^17^1^^27.5"
 S ^ICD(543,0)="DRG543^4.457^1^99^1^1^^8.7"
 S ^ICD("ADS","DRG541 ",3041001,541,1)=""
 S ^ICD("ADS","DRG542 ",3041001,542,1)=""
 S ^ICD("ADS","DRG543 ",3041001,543,1)=""
 S ^ICD("B","DRG541",541)=""
 S ^ICD("B","DRG542",542)=""
 S ^ICD("B","DRG543",543)=""
 Q
CALDELDD ;
 M ^TMP("BCSVMD","DIC|81.1")=^DIC(81.1)
 N FL F FL=80,80.1,80.2,80.3,81,81.1 D DELDD(FL)
 M ^DIC(81.1)=^TMP("BCSVMD","DIC|81.1")
 Q
DELDD(FILE) ;
 N DIU
 I '$G(FILE) Q
 S DIU=FILE,DIU(0)="" D EN^DIU2
 Q
XREFUPD ;
 N DIK,IEN
 K ^ICD9("AB")
 S DIK="^ICD9(",DIK(1)=".01^AB" D ENALL^DIK
 S DIK="^ICPT(",DIK(1)=".01^E^F^ACT" D ENALL^DIK
 S DIK(1)=".01^M"
 S IEN=0 F  S IEN=$O(^DIC(81.3,IEN)) Q:'IEN  D
 .S DIK="^DIC(81.3,"_IEN_",10,",DA(1)=IEN
 .D ENALL^DIK
 Q
 ; Format for FLDLST - IHS FILE|OLD IHS FIELD|NEW IHS FIELD|NEW IHS FILE (optional)|DELETe (this is set to 'D' if we are only deleting the field, 'SD' to suppress deletion)
 ; Deletion is for fields that will only be deleted, suppressing deletion is reserved for file 9999999.88. This is to prevent the deletion of fields from this file,
 ; as they are being moved to 81.3, and should no longer be used. However, it is felt that the original file (9999999.88) should be left intact.
FLDLST ;
 ;;80|2100000|||D
 ;;80|2100002|||D
 ;;80.1|2100000|||D
 ;;80.1|2100002|||D
 ;;80.2|8|99999992|||D
 ;;81|6|9999999.05
 ;;81|7|9999999.06
 ;;81|8|9999999.07
 ;;81|4|9999999.1|||AI
 ;;81|66|||D
 ;;81|409.5|||D
 ;;81|9999999.03|||D
 ;;9999999.88|.03|9999999.01|81.3|SD
 ;;9999999.88|.04|9999999.02|81.3|SD
 ;;9999999.88|1|||D
 ;;Q
 ;
 ; List of fields being brought from the VA DD structure into IHS. This is the list of fields that will need
 ; to have their data moved from the VA files into the appropriate locations within the IHS files.
 ; FORMAT - IHSFILE|LIST OF FIELDS TO BE GATHERED FOR DATA INSERTION INTO IHS FILES FROM XCSV GLOBAL|XCSV ROOT|FIELDS ASSOC. WITH XREF (separated by /);XREF TO RE-INDEX|VERSIONED DATA LOCATION INFORMATION
IMPORT ;
 ;;80.1|12;20;66;67;68;71|ICD0|66,.01,B;66,.02,ACT;67,.01,AST;68,.01,ADS
 ;;80|14;15;16;66;67;68;71;72|ICD9|20,.01,B;30,.01,B;40,.01,ACC;66,.01,B;66,.02,ACT;67,.01,AST;68,.01,ADS
 ;;80.2|14;15;16;66;68;71;900|ICD|68,.01,ADS
 ;;81|6;7;8;10.01;10.02;10.03;50;61;62|ICPT|61,.01,AST;62,.01,ADS;50,.01,C
 ;;81.1|4;5;6|DIC(81.1|
 ;;81.3|.03;.04;5;7;8;10;50;60;61;62|DIC(81.3|61,.01,AST;62,.01,ASD
 ;;
 ;;Q
UPDATE ;
 ;;80.1|2;4;5;7;8;9.5;10;50;51;52;53;54;55;100|ICD0||VER801^BCSVUT
 ;;80|2;3;5;5.5;5.7;5.9;9.5;10;20;30;40;60;61;62;63;64;65;70;100;101;103|ICD9|"N",.01,B;"R",.01,B;2,.01,ACC|VER80^BCSVUT
 ;;80.2|.06;1;2;3;4;5;7;7.5;10;11;12;13;20;30|ICD||VER802^BCSVUT
 ;;81|2;3;5;60|ICPT||VER81^BCSVUT
 ;;81.1|2;3;100|DIC(81.1||VER811^BCSVUT
 ;;81.3|.02|DIC(81.3||VER813^BCSVUT
 ;;80.3|.001;1|ICM||VER803^BCSVUT
 ;;Q
 Q