[613] | 1 | ORRECP ; BSL - VOE RECORD PRINT UTILITY; 11/02/06 [11/02/06 01:43am]
|
---|
| 2 | ;;1.0;ORDER ENTRY/RESULTS REPORTING;****;Nov 02, 2006;Build 1
|
---|
| 3 | ;Two primary tags one for all of today's data (TODAY) and one for date range (HIST)
|
---|
| 4 | ;
|
---|
| 5 | ALLCALL(OROOT,ORDFN,ID,ALPHA,OMEGA,DTRANGE,REMOTE,ORMAX,ORFHIE) ; call all the record data procedure calls and wrap them into a single large report
|
---|
| 6 | ;We must have all the same return parameters and must concatenate them all so
|
---|
| 7 | ;we have a single continious report. Store the previous return parameter into a temp variable
|
---|
| 8 | ;then combine when the called routine returns.
|
---|
| 9 | ;
|
---|
| 10 | N ORAM,ORY,ORTMP,ORLST,ORVISIT,ORDCS,ORTIUY,ORREF,ORRET,ORNXT,ORALID,ORCRDET,ORPRBID,ORPDET,ORPROB,ORVIT,ORGRPS,I
|
---|
| 11 | N ORCNTXT,OREDT,OREVT,ORUSER,FILTER,SKIP
|
---|
| 12 | I $G(U)="" S U="^"
|
---|
| 13 | Q:'$G(ORDFN)
|
---|
| 14 | I $L($G(DTRANGE)),'$G(ALPHA) S ALPHA=$$FMADD^XLFDT(DT,-DTRANGE),OMEGA=$$NOW^XLFDT
|
---|
| 15 | Q:'$G(ALPHA) Q:'$G(OMEGA)
|
---|
| 16 | Q:$G(ORDFN)=""!('$D(^DPT(ORDFN)))
|
---|
| 17 | I $G(OROOT)="" S OROOT=""
|
---|
| 18 | S ORAM=""
|
---|
| 19 | D ACTIVE^ORWPS(.ORAM,ORDFN) ;ACTIVE MEDICATIONS
|
---|
| 20 | M ORTMP("ACTIVE")=ORAM
|
---|
| 21 | K ORY S ORY=""
|
---|
| 22 | ;S TO=$S($G(ALPHA)'="":ALPHA,1:"")
|
---|
| 23 | ;S FROM=$S($G(OMEGA)'="":OMEGA,1:"")
|
---|
| 24 | D INTERIM^ORWLRR(.ORY,ORDFN,OMEGA,ALPHA) ;LABS
|
---|
| 25 | M ORTMP("LABS")=ORY
|
---|
| 26 | S ORVIT=""
|
---|
| 27 | ;S ORSDT=$S($G(ALPHA)'="":ALPHA,1:"")
|
---|
| 28 | ;S OREDT=$S($G(OMEGA)'="":OMEGA,1:"")
|
---|
| 29 | D VITALS^ORWRP1(.ORVIT,ORDFN,"",ALPHA,OMEGA,"") ;VITALS
|
---|
| 30 | M ORTMP("VITALS")=@ORVIT
|
---|
| 31 | S ORTMP("IMMUN")="" ; IMMUNIZATIONS ARE RETRIEVED IN THE PRINT SECTION.
|
---|
| 32 | S (ORPROB,ORCNTXT)=""
|
---|
| 33 | D PROBL^ORQQPL3(.ORPROB,ORDFN,ORCNTXT) ;PROBLEMS
|
---|
| 34 | M ORTMP("PROB")=ORPROB
|
---|
| 35 | K ORAY S ORAY=""
|
---|
| 36 | D LIST^ORQQAL(.ORAY,ORDFN) ;ALLERGIES
|
---|
| 37 | M ORTMP("ALLERGIES")=ORAY
|
---|
| 38 | K ORLST S ORLST=""
|
---|
| 39 | D LIST^ORQQPXRM(.ORLST,ORDFN,"")
|
---|
| 40 | M ORTMP("CR")=ORLST
|
---|
| 41 | S ORVISIT="",SKIP=0
|
---|
| 42 | ;S BEG=$S($G(OMEGA)'="":OMEGA,1:"")
|
---|
| 43 | ;S END=$S($G(ALPHA)'="":ALPHA,1:"")
|
---|
| 44 | D VST1^ORWCV(.ORVISIT,ORDFN,ALPHA,OMEGA,SKIP) ;VISITS
|
---|
| 45 | M ORTMP("VISITS")=ORVISIT
|
---|
| 46 | S (ORREF,OREVT,ORGRPS)="",FILTER=1
|
---|
| 47 | ;S DTFROM=$S($G(ALPHA)'="":ALPHA,1:"")
|
---|
| 48 | ;S DTTHRU=$S($G(OMEGA)'="":OMEGA,1:"")
|
---|
| 49 | D AGET^ORWORR(.ORREF,ORDFN,"2^0",ORGRPS,ALPHA,OMEGA,OREVT) ;ORDERS
|
---|
| 50 | M ORTMP("ORDERS")=^TMP("ORR",$J)
|
---|
| 51 | S ORDCS="",ORUSER=DUZ
|
---|
| 52 | D GTDCCTX^ORWTIU(.ORDCS,ORUSER) ;DISCHARGE SUMMARIES
|
---|
| 53 | M ORTMP("DC")=ORDCS
|
---|
| 54 | ;The notes section is a two step process where the notes list is acquired and then the content of each note
|
---|
| 55 | ;in the list is concatenated to the
|
---|
| 56 | S ORTIUY=""
|
---|
| 57 | ;EJK CLASS IS A POINTER TO FILE 8925.1, SO THIS IEN NEEDS TO BE DETERMINED.
|
---|
| 58 | D CONTEXT^TIUSRVLO(.ORTIUY,3,1,ORDFN,-1,-1,0,100,"D",1) ;GET LIST OF NOTES
|
---|
| 59 | S I=0
|
---|
| 60 | S ORTMP("NOTES")=""
|
---|
| 61 | F S I=$O(^TMP("TIUR",$J,I)) Q:I="" S ORTMP("NOTES",I)=$P($G(^TMP("TIUR",$J,I)),U,1)
|
---|
| 62 | ;
|
---|
| 63 | D PRINT^ORRECP1
|
---|
| 64 | Q
|
---|