[613] | 1 | VAFCMS02 ;BP-CIOFO/JRP-PIVOT FILE RETRANSMISSION ;8/3/1998
|
---|
| 2 | ;;5.3;Registration;**209,149**;Aug 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | PATIENT ;Transmit demographic data for user selected entry in PATIENT file (#2)
|
---|
| 5 | ;Input : None
|
---|
| 6 | ;Output : None
|
---|
| 7 | ;Notes : Creates entry in ADT/HL7 PIVOT file (#391.71) and flags
|
---|
| 8 | ; for transmission
|
---|
| 9 | ;
|
---|
| 10 | N DFN,PIVOTNUM,PIVOTPTR,VPTR
|
---|
| 11 | F W !! S DFN=$$GETDFN^VAFCMS01() Q:(DFN<1) D
|
---|
| 12 | .;Create entry in ADT/HL7 PIVOT file (returns pivot number)
|
---|
| 13 | .S VPTR=DFN_";DPT("
|
---|
| 14 | .S PIVOTNUM=+$$PIVNW^VAFHPIVT(DFN,$$NOW^XLFDT(),4,VPTR)
|
---|
| 15 | .I ('PIVOTNUM) D Q
|
---|
| 16 | ..W !!,"** UNABLE TO TRANSMIT DEMOGRAPHIC DATA **"
|
---|
| 17 | ..W !," UNABLE TO CREATE ENTRY IN ADT/HL7 PIVOT FILE"
|
---|
| 18 | ..W !!
|
---|
| 19 | ..H 2
|
---|
| 20 | .;Convert pivot number to pointer
|
---|
| 21 | .S PIVOTPTR=+$O(^VAT(391.71,"D",PIVOTNUM,0))
|
---|
| 22 | .I ('PIVOTPTR) D Q
|
---|
| 23 | ..W !!,"** UNABLE TO TRANSMIT DEMOGRAPHIC DATA **"
|
---|
| 24 | ..W !," UNABLE TO PROPERLY CREATE ENTRY IN ADT/HL7 PIVOT FILE"
|
---|
| 25 | ..W !!
|
---|
| 26 | ..H 2
|
---|
| 27 | .;Transmit
|
---|
| 28 | .D DEMO(PIVOTPTR)
|
---|
| 29 | .W !,"Demographic data queued for transmission"
|
---|
| 30 | Q
|
---|
| 31 | ;
|
---|
| 32 | PIVOT ;Retransmit user selected entry in ADT/HL7 PIVOT file (#391.71)
|
---|
| 33 | ;Input : None
|
---|
| 34 | ;Output : None
|
---|
| 35 | ;
|
---|
| 36 | N PIVOT
|
---|
| 37 | F W !! S PIVOT=$$GETPIVOT() Q:(PIVOT<1) D
|
---|
| 38 | .D RETRAN(PIVOT)
|
---|
| 39 | .W !,"Selected entry queued for retransmission"
|
---|
| 40 | Q
|
---|
| 41 | ;
|
---|
| 42 | GETPIVOT() ;Get pointer to ADT/HL7 PIVOT file (#391.71)
|
---|
| 43 | ;Input : None
|
---|
| 44 | ;Output : Pointer to ADT/HL7 PIVOT file
|
---|
| 45 | ; -1 returned if no selection made
|
---|
| 46 | ;Notes : Pivot file entry must point to a valid patient
|
---|
| 47 | ; : Selection of event types 2 (outpatient) and 5 (treating
|
---|
| 48 | ; facility update) are not supported/allowed
|
---|
| 49 | ;
|
---|
| 50 | N DIC,X,Y,DTOUT,DUOUT
|
---|
| 51 | S DIC="^VAT(391.71,"
|
---|
| 52 | S DIC(0)="AEMNQ"
|
---|
| 53 | S DIC("S")="I "",1,3,4,""[+$P(^(0),""^"",4) I $D(^DPT(+$P(^(0),""^"",3),0))"
|
---|
| 54 | D ^DIC
|
---|
| 55 | Q +Y
|
---|
| 56 | ;
|
---|
| 57 | RETRAN(PIVOT) ;Retransmit entry in ADT/HL7 PIVOT file (#391.71)
|
---|
| 58 | ;Input : PIVOT - Pointer to entry in ADT/HL7 PIVOT file (#391.71)
|
---|
| 59 | ;Output : None
|
---|
| 60 | ;Notes : Support for pivot event types 2 (outpatient) and 5
|
---|
| 61 | ; (treating facility update) not implemented
|
---|
| 62 | ;
|
---|
| 63 | ;
|
---|
| 64 | N NODE,TYPE
|
---|
| 65 | ;Get event type out of pivot file
|
---|
| 66 | S NODE=$G(^VAT(391.71,PIVOT,0))
|
---|
| 67 | S TYPE=+$P(NODE,"^",4)
|
---|
| 68 | ;Inpatient (A/D/T)
|
---|
| 69 | I TYPE=1 D Q
|
---|
| 70 | .N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSK
|
---|
| 71 | .S ZTRTN="ADT^VAFCMS02("_PIVOT_")"
|
---|
| 72 | .S ZTDESC="Retransmit admission history message(s) via HL7"
|
---|
| 73 | .S ZTDTH=$H
|
---|
| 74 | .S ZTIO=""
|
---|
| 75 | .D ^%ZTLOAD
|
---|
| 76 | ;Register
|
---|
| 77 | I TYPE=3 D Q
|
---|
| 78 | .N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSK
|
---|
| 79 | .S ZTRTN="REG^VAFCMS02("_PIVOT_")"
|
---|
| 80 | .S ZTDESC="Retransmit registration message via HL7"
|
---|
| 81 | .S ZTDTH=$H
|
---|
| 82 | .S ZTIO=""
|
---|
| 83 | .D ^%ZTLOAD
|
---|
| 84 | ;Demographic update
|
---|
| 85 | I TYPE=4 D DEMO(PIVOT) Q
|
---|
| 86 | Q
|
---|
| 87 | ;
|
---|
| 88 | ADT(PIVOT) ;Transmit Admit/Discharge/Transfer entry in pivot file
|
---|
| 89 | ;Input : PIVOT - Pointer to entry in ADT/HL7 PIVOT file (#391.71)
|
---|
| 90 | ;Output : None
|
---|
| 91 | ;
|
---|
| 92 | N NODE,DFN,ADMSSN,HISTORY
|
---|
| 93 | ;Clean up HL7 variables
|
---|
| 94 | K ^TMP("HLS",$J) D KILL^HLTRANS
|
---|
| 95 | ;Get required info out of pivot file
|
---|
| 96 | S NODE=$G(^VAT(391.71,PIVOT,0))
|
---|
| 97 | S DFN=+$P(NODE,"^",3)
|
---|
| 98 | S ADMSSN=+$P(NODE,"^",5)
|
---|
| 99 | ;Build list of A/D/T events (i.e. movements) for related admission
|
---|
| 100 | D BLDHIST^VAFCADT3(DFN,ADMSSN,"HISTORY")
|
---|
| 101 | ;Transmit A/D/T history for related admission
|
---|
| 102 | D ENTIRE^VAFCADT4(PIVOT)
|
---|
| 103 | ;Clean up HL7 variables
|
---|
| 104 | K ^TMP("HLS",$J) D KILL^HLTRANS
|
---|
| 105 | S:($D(ZTQUEUED)) ZTREQ="@"
|
---|
| 106 | Q
|
---|
| 107 | REG(PIVOT) ;Transmit Registration entry in pivot file
|
---|
| 108 | ;Input : PIVOT - Pointer to entry in ADT/HL7 PIVOT file (#391.71)
|
---|
| 109 | ;Output : None
|
---|
| 110 | ;
|
---|
| 111 | N NODE,DFN,DATE,RESULT
|
---|
| 112 | ;Clean up HL7 variables
|
---|
| 113 | K ^TMP("HLS",$J) D KILL^HLTRANS
|
---|
| 114 | ;Get required info out of pivot file
|
---|
| 115 | S NODE=$G(^VAT(391.71,PIVOT,0))
|
---|
| 116 | S DFN=+$P(NODE,"^",3),USER=+$P(NODE,"^",9)
|
---|
| 117 | S DATE=+NODE
|
---|
| 118 | ;Generate/send message
|
---|
| 119 | S RESULT=$$EN^VAFCA04(DFN,DATE,USER,PIVOT)
|
---|
| 120 | ;Clean up HL7 variables
|
---|
| 121 | K ^TMP("HLS",$J) D KILL^HLTRANS
|
---|
| 122 | S:($D(ZTQUEUED)) ZTREQ="@"
|
---|
| 123 | Q
|
---|
| 124 | DEMO(PIVOT) ;Transmit Demographic Update entry in pivot file
|
---|
| 125 | ;Input : PIVOT - Pointer to entry in ADT/HL7 PIVOT file (#391.71)
|
---|
| 126 | ;Output : None
|
---|
| 127 | ;
|
---|
| 128 | ;Flag entry in pivot file for transmission (let background job send it)
|
---|
| 129 | D XMITFLAG^VAFCDD01(PIVOT)
|
---|
| 130 | Q
|
---|