| 1 | QANAHOC ;HISC/DAD-Ad Hoc Report interface for the QA Patient Incident Review file (#742) ;2/8/93  10:12
 | 
|---|
| 2 |  ;;2.0;Incident Reporting;**1,15,17,27,26**;08/07/1992
 | 
|---|
| 3 |  ; *** Set up required and optional variables and call Ad Hoc Rpt Gen
 | 
|---|
| 4 |  S QAQMRTN="MENU^QANAHOC",QAQORTN="OTHER^QANAHOC",QAQDIC=742
 | 
|---|
| 5 |  S QANXIT=0 D ^QAQAHOC0
 | 
|---|
| 6 |  K %Y,B,D,DIJ,DP,QAND0,QAQ,QANXIT,QAQFOUND,QB,QC
 | 
|---|
| 7 |  Q
 | 
|---|
| 8 | CONVERT ;Convert sort parameters for Incident Case Status.
 | 
|---|
| 9 |  ;Codes from ^DD(742.4,.09,0)
 | 
|---|
| 10 |  ;0 --->'Closed'               1 --->'Open'
 | 
|---|
| 11 |  ;2 --->'Deleted'              3 --->'Quick'
 | 
|---|
| 12 |  Q:'$D(QAQBEGIN(QB))!('$D(QAQEND(QB)))
 | 
|---|
| 13 |  Q:(QAQBEGIN(QB)=0)&(QAQEND(QB)=0)
 | 
|---|
| 14 |  Q:(QAQBEGIN(QB)=2)&(QAQEND(QB)=2)
 | 
|---|
| 15 |  ;Quit if the input vars do not exist, of if 'open' is not included in
 | 
|---|
| 16 |  ;the sort parameters.
 | 
|---|
| 17 |  ;If 'open' is included, and 'deleted' is not, screen out 'deleted'.
 | 
|---|
| 18 |  ;If 'open' is included, and 'closed' is not, screen out 'closed'.
 | 
|---|
| 19 |  I QAQBEGIN(QB)=0,(QAQEND(QB)=1) D  Q
 | 
|---|
| 20 |  . S TO(QB)=3
 | 
|---|
| 21 |  . S DIS(0)="S QAND0=$P($G(^QA(742,D0,0)),U,3) I $G(QAND0)]"""",($P($G(^QA(742.4,QAND0,0)),U,8))#3'>1"
 | 
|---|
| 22 |  I QAQBEGIN(QB)=0,(QAQEND(QB)=2) S TO(QB)=3 Q
 | 
|---|
| 23 |  I QAQBEGIN(QB)=1,(QAQEND(QB)=1) D  Q
 | 
|---|
| 24 |  . S TO(QB)=3
 | 
|---|
| 25 |  . S DIS(0)="S QAND0=$P($G(^QA(742,D0,0)),U,3) I $G(QAND0)]"""",($P($G(^QA(742.4,QAND0,0)),U,8)>0),($P($G(^QA(742.4,QAND0,0)),U,8)#3'>1)"
 | 
|---|
| 26 |  I QAQBEGIN(QB)=1,(QAQEND(QB)=2) S TO(QB)=3 Q
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 | MENU ; *** Build the menu array
 | 
|---|
| 29 |  F QA=1:1 S X=$P($T(TEXT+QA),";;",2,99) Q:X=""  S QAQMENU(QA)=X
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 | OTHER ; *** Set up other (optional) EN1^DIP variables, e.g.
 | 
|---|
| 32 |  ; *** DCOPIES,DHD,DHIT,DIOBEG,DIOEND,DIS(),IOP,PG
 | 
|---|
| 33 |  K DIS,QAQFOUND S QAQFOUND=0,DHIT="S QAQFOUND=1"
 | 
|---|
| 34 |  S DIOEND="I 'QAQFOUND W !!,""No data found for this report !!"""
 | 
|---|
| 35 |  ;Check if 'Incident Case Status' is a sort field.
 | 
|---|
| 36 |  F QB=0:0 S QB=$O(QAQOPTN("S",QB)) Q:QB'>0!(QANXIT)  D
 | 
|---|
| 37 |  . S QC=$O(QAQOPTN("S",QB,0)) Q:QC'>0
 | 
|---|
| 38 |  . I $P(QAQOPTN("S",QB,QC),";",1)=".03:,.09" S QANXIT=1 D CONVERT
 | 
|---|
| 39 |  F  S %=2 W !!?5,"Do you want the report to include 'deleted' records" D YN^DICN Q:"-12"[%  W !?5,"Please answer (Y)es or (N)o."
 | 
|---|
| 40 |  I %=2 D
 | 
|---|
| 41 |  . I $D(DIS(0)) S DIS(0)=DIS(0)_",($P($G(^QA(742,D0,0)),U,12)'=-1),($P($G(^QA(742.4,QAND0,0)),U,8)'=2)"
 | 
|---|
| 42 |  . E  S DIS(0)="S QAND0=$P($G(^QA(742,D0,0)),U,3) I $G(QAND0)]"""",($P($G(^QA(742,D0,0)),U,12)'=-1),($P($G(^QA(742.4,QAND0,0)),U,8)'=2)"
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 | TEXT ;;*** Sort Yes/No ^ Menu Text ^ ~Field # ^ DIR(0)
 | 
|---|
| 45 |  ;;1^Patient^~.01;"Patient"^PAO^2:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 46 |  ;;1^Patient Id^~.02;"Patient Id"^FAO^1:30^
 | 
|---|
| 47 |  ;;1^Date of Admission^~.04;"Date Of Admission"^DAO^::AET^S Y=$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_(1700+$E(Y,1,3))
 | 
|---|
| 48 |  ;;1^Patient Type^~.05;"Patient Type"^SO^0:OUTPATIENT;1:INPATIENT;^;I $D(Y(0))#2 S Y=$P(Y(0),U)
 | 
|---|
| 49 |  ;;1^Ward/Clinic^~.06;"Ward/Clinic"^PAO^44:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 50 |  ;;1^Treating Specialty^~.07;"Treating Specialty"^PAO^45.7:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 51 |  ;;1^Service^~.08;"Service"^PAO^730:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 52 |  ;;1^Responsible Service^.12,~.01;"Responsible Service"^PAO^730:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 53 |  ;;1^Medication Errors^~.11;"Medication Errors"^PAO^742.13:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 54 |  ;;0^Case Number^~.03:.01;"Case Number"^FAO^7:13^
 | 
|---|
| 55 |  ;;1^Incident^~.03:.02;"Incident"^PAO^742.1:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 56 |  ;;1^Incident Location^~.03:.04;"Incident Location"^PAO^742.5:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 57 |  ;;1^Type of Death^~.03:.15;"Type of Death"^PAO^742.14:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 58 |  ;;1^Level of Review^~.03:.12;"Level of Review"^SO^^;I $D(Y(0))#2 S Y=$P(Y(0),U)
 | 
|---|
| 59 |  ;;1^Date of Incident^~.03:.03;"Date of Incident"^DAO^::AET^S Y=$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_(1700+$E(Y,1,3))
 | 
|---|
| 60 |  ;;1^Incident Case Status^~.03:,.09;"Incident Case Status"^SO^0:CLOSED;1:OPEN;2:DELETED;^;I $D(Y(0))#2 S Y=$P(Y(0),U)
 | 
|---|
| 61 |  ;;1^Severity Level^~.1;"Severity Level"^SO^0:NO INJURY OR DISABILITY;1:MINOR;2:MAJOR;3:DEATH;^;I $D(Y(0))#2 S Y=$P(Y(0),U)
 | 
|---|
| 62 |  ;;1^National Case Status^~.03:.17;"National Case Status"^SO^^;I $D(Y(0))#2 S Y=$P(Y(0),U)
 | 
|---|
| 63 |  ;;0^Fall Assessment Score^~.09;"Fall Assessment Score"^FAO^1:3^
 | 
|---|
| 64 |  ;;0^Person Reporting the Incident^~.03:.06;"Person Reporting the Incident"^PAO^200:AEMNQZ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|
| 65 |  ;;0^Patient Diagnosis^.15,~.01;"Patient Diagnosis"^FAO^3:60^
 | 
|---|
| 66 |  ;;0^Medical Center Action^.03:.16;"Medical Center Action"^SO^1:CHANGE IN POLICY/PROCEDURE;2:EDUCATION/TRAINING;3:SYSTEMS CHANGE;4:DISCIPLINARY;5:DISTRICT COUNCIL NOTIFIED;6:NONE INDICATED;^;I $D(Y(0))#2 S Y=$P(Y(0),U)
 | 
|---|
| 67 |  ;;0^Incident Description^.03:.05;"Incident Description"^
 | 
|---|
| 68 |  ;;0^Pertinent Information^.03:.2;"Pertinent Information"^
 | 
|---|
| 69 |  ;;1^Division^~.03:52;"Division"^PAO^4:AEMNZQ^I $D(Y(0,0))#2 S Y=$P(Y(0,0),U)
 | 
|---|