Changeset 186 for ccr/trunk/p/CCRMEDS1.m
- Timestamp:
- Oct 6, 2008, 11:46:35 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ccr/trunk/p/CCRMEDS1.m
r182 r186 113 113 . ; 114 114 . N DIRNUM S DIRNUM=0 ; Sigline number 115 . S DIRCNT=0 ; COUNT OF MULTIPLE DIRECTIONS 115 116 . F S DIRNUM=$O(^PSRX(RXIEN,6,DIRNUM)) Q:DIRNUM="" D 116 . . S @MAP@("M",DIRNUM,"MEDDIRECTIONDESCRIPTIONTEXT")="" ; This is reserved for systems not able to generate the sig in components. 117 . . S @MAP@("M",DIRNUM,"MEDDOSEINDICATOR")="1" ; means that we are specifying it. See E2369-05. 117 . . S DIRCNT=DIRCNT+1 ; INCREMENT DIRECTIONS COUNT 118 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDDIRECTIONDESCRIPTIONTEXT")="" ; This is reserved for systems not able to generate the sig in components. 119 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDDOSEINDICATOR")="1" ; means that we are specifying it. See E2369-05. 118 120 . . N SIGDATA S SIGDATA=^PSRX(RXIEN,6,DIRNUM,0) 119 . . S @MAP@("M", DIRNUM,"MEDDELIVERYMETHOD")=$P(SIGDATA,U,9)120 . . S @MAP@("M", DIRNUM,"MEDDOSEVALUE")=$P(SIGDATA,U,1)121 . . S @MAP@("M", DIRNUM,"MEDDOSEUNIT")=@MAP@("MEDCONCUNIT")122 . . S @MAP@("M", DIRNUM,"MEDRATEVALUE")="" ; For inpatient123 . . S @MAP@("M", DIRNUM,"MEDRATEUNIT")="" ; For inpatient124 . . S @MAP@("M", DIRNUM,"MEDVEHICLETEXT")="" ; For inpatient125 . . S @MAP@("M", DIRNUM,"MEDDIRECTIONROUTETEXT")=$$GET1^DIQ(51.2,$P(SIGDATA,U,7),.01)126 . . S @MAP@("M", DIRNUM,"MEDFREQUENCYVALUE")=$P(SIGDATA,U,8)121 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDDELIVERYMETHOD")=$P(SIGDATA,U,9) 122 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDDOSEVALUE")=$P(SIGDATA,U,1) 123 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDDOSEUNIT")=@MAP@("MEDCONCUNIT") 124 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDRATEVALUE")="" ; For inpatient 125 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDRATEUNIT")="" ; For inpatient 126 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDVEHICLETEXT")="" ; For inpatient 127 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDDIRECTIONROUTETEXT")=$$GET1^DIQ(51.2,$P(SIGDATA,U,7),.01) 128 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDFREQUENCYVALUE")=$P(SIGDATA,U,8) 127 129 . . ; Invervals... again another call. 128 130 . . ; In the wisdom of the original programmers, the schedule is a free text field … … 141 143 . . . N SUB S SUB=$O(SCHEDATA(0)) 142 144 . . . S INTERVAL=SCHEDATA(SUB,2) 143 . . S @MAP@("M", DIRNUM,"MEDINTERVALVALUE")=INTERVAL144 . . S @MAP@("M", DIRNUM,"MEDINTERVALUNIT")="Minute"145 . . S @MAP@("M", DIRNUM,"MEDDURATIONVALUE")=$P(SIGDATA,U,5)146 . . S @MAP@("M", DIRNUM,"MEDDURATIONUNIT")=""147 . . S @MAP@("M", DIRNUM,"MEDPRNFLAG")=$P(SIGDATA,U,8)["PRN"148 . . S @MAP@("M", DIRNUM,"MEDPROBLEMOBJECTID")=""149 . . S @MAP@("M", DIRNUM,"MEDPROBLEMTYPETXT")=""150 . . S @MAP@("M", DIRNUM,"MEDPROBLEMDESCRIPTION")=""151 . . S @MAP@("M", DIRNUM,"MEDPROBLEMCODEVALUE")=""152 . . S @MAP@("M", DIRNUM,"MEDPROBLEMCODINGSYSTEM")=""153 . . S @MAP@("M", DIRNUM,"MEDPROBLEMCODINGVERSION")=""154 . . S @MAP@("M", DIRNUM,"MEDPROBLEMSOURCEACTORID")=""155 . . S @MAP@("M", DIRNUM,"MEDSTOPINDICATOR")=""156 . . S @MAP@("M", DIRNUM,"MEDDIRSEQ")=DIRNUM145 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDINTERVALVALUE")=INTERVAL 146 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDINTERVALUNIT")="Minute" 147 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDDURATIONVALUE")=$P(SIGDATA,U,5) 148 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDDURATIONUNIT")="" 149 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDPRNFLAG")=$P(SIGDATA,U,8)["PRN" 150 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDPROBLEMOBJECTID")="" 151 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDPROBLEMTYPETXT")="" 152 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDPROBLEMDESCRIPTION")="" 153 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDPROBLEMCODEVALUE")="" 154 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDPROBLEMCODINGSYSTEM")="" 155 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDPROBLEMCODINGVERSION")="" 156 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDPROBLEMSOURCEACTORID")="" 157 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDSTOPINDICATOR")="" 158 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDDIRSEQ")=DIRNUM 157 159 . . N DIRMOD S DIRMOD=$P(SIGDATA,U,6) 158 . . S @MAP@("M", DIRNUM,"MEDMULDIRMOD")=$S(DIRMOD="T":"THEN",DIRMOD="A":"AND",DIRMOD="X":"EXCEPT",1:"")160 . . S @MAP@("M","DIRECTIONS",DIRCNT,"MEDMULDIRMOD")=$S(DIRMOD="T":"THEN",DIRMOD="A":"AND",DIRMOD="X":"EXCEPT",1:"") 159 161 . ; 160 162 . ; --- END OF DIRECTIONS --- … … 169 171 . D MAP^GPLXPATH(MINXML,MAP,RESULT) 170 172 . ; D PARY^GPLXPATH(RESULT) 173 . ; MAPPING DIRECTIONS 174 . N MEDDIR1,DIRXML1 S DIRXML1="MEDDIR1" ; VARIABLE AND NAME VARIABLE TEMPLATE 175 . N MEDDIR2,DIRXML2 S DIRXML2="MEDDIR2" ; VARIABLE AND NAME VARIABLE RESULT 176 . D QUERY^GPLXPATH(MINXML,"//Medications/Medication/Directions",DIRXML1) 177 . D REPLACE^GPLXPATH(RESULT,"","//Medications/Medication/Directions") 178 . ; N MDZ1,MDZNA 179 . I DIRCNT>0 D ; IF THERE ARE DIRCTIONS 180 . . F MDZ1=1:1:DIRCNT D ; FOR EACH DIRECTION 181 . . . S MDZNA=$NA(@MAP@("M","DIRECTIONS",MDZ1)) 182 . . . D MAP^GPLXPATH(DIRXML1,MDZNA,DIRXML2) 183 . . . D INSINNER^GPLXPATH(RESULT,DIRXML2) 171 184 . D:MEDCOUNT=1 CP^GPLXPATH(RESULT,OUTXML) ; First one is a copy 172 185 . D:MEDCOUNT>1 INSINNER^GPLXPATH(OUTXML,RESULT) ; AFTER THE FIRST, INSERT INNER XML
Note:
See TracChangeset
for help on using the changeset viewer.