- VAFCMGA ;ALB/JRP,LTL-DEMOGRAPHIC MERGE SCREEN ACTIONS ;31-OCT-96
- ;;5.3;Registration;**149,477,479**;Aug 13, 1993
- ;
- ;NOTE: The VAFCMGA* routines contain line tags used to implement
- ; the actions of a List Manager user interface. All line
- ; tags assume that the following variables and arrays are
- ; defined.
- ;
- ;Input : VAFCDFN - Pointer to entry in PATIENT file (#2) to merge
- ; data into
- ; VAFCARR - Array contain data to merge (full global reference)
- ; VAFCARR() should be set as follows:
- ; VAFCARR(File,Field) = Value
- ; Where File = File number Value is from
- ; Field = Field number Value is from
- ; Value = Info to merge
- ; Notes: Dates must be in FileMan format
- ; : Special considerations for Value
- ; "@" - Displays <DELETE> and deletes
- ; local value if merged
- ; "^text" - Displays text and ignores
- ; field if merged
- ; NULL - Displays <UNSPECIFIED> and
- ; ignores field if merged
- ; Doesn't exist - Displays <UNSPECIFIED>
- ; and ignores field
- ; if merged
- ; VAFCFROM - Text denoting where merge data cam from (1-35)
- ; VAFCEVDT - Date/time merge data was instantiated (FileMan)
- ; All variables set by List Manager Interface
- ; Display area and variables required List Manager interface
- ; Display
- ; VALMAR(Line,0) = Line of text in display
- ; Indexes
- ; VALMAR("IDX",Line,Entry) = ""
- ; VALMAR("E2F",Entry,N) = File^Field
- ; N => Allows for multiple fields per entry (starts with 1)
- ; VALMAR("E2G",Entry) = Group entry is contained in
- ; VALMAR("GRP",Group) = First line of group in display
- ; Note: The E2F and E2G indexes are only set if the data
- ; to merge does not match the local data
- ;
- MRGALL ;Merge all differences
- ;
- ;Input : See above note on input variables
- ;Output : VALMAR() array will be rebuilt accordingly
- ;
- ;Declare variables
- N VAFCDOTS,ENTRY,REBUILD,FILE,FIELD,VALUE,REPEAT
- N TMP,IENS,FDAROOT,MSGROOT,QUOTE
- S FDAROOT="^TMP(""VAFC-MERGE-UPLOAD"","_$J_",""FDA"")"
- S MSGROOT="^TMP(""VAFC-MERGE-UPLOAD"","_$J_",""MSG"")"
- S QUOTE=$C(34)
- S IENS=VAFCDFN_","
- K @FDAROOT,@MSGROOT
- ;Build array of differences to merge
- N DGNOFDEL S DGNOFDEL=1 ;**477 stop NOK Name x-ref from firing.
- NEW EASZIPLK S EASZIPLK=1 ;**477 zipcode lookup for GMT
- S ENTRY=""
- F S ENTRY=$O(@VALMAR@("E2F",ENTRY)) Q:(ENTRY="") D
- .;Remember which group(s) to rebuild
- .S TMP=$G(@VALMAR@("E2G",ENTRY))
- .S:(TMP'="") REBUILD(TMP)=""
- .;Loop through list of fields contained in the entry
- .S REPEAT=""
- .F S REPEAT=$O(@VALMAR@("E2F",ENTRY,REPEAT)) Q:(REPEAT="") D
- ..S TMP=$G(@VALMAR@("E2F",ENTRY,REPEAT))
- ..S FILE=+$P(TMP,"^",1)
- ..S FIELD=+$P(TMP,"^",2)
- ..;Get remote value
- ..S VALUE=$G(@VAFCARR@(FILE,FIELD))
- ..;Screen for ignore conditions
- ..I $P(VALUE,U,3) S VALMSG=$S($G(VALMSG)]"":VALMSG_","_ENTRY,1:"Can't merge unresolved item(s) "_ENTRY) Q
- ..S VALUE=$P(VALUE,U)
- ..Q:(VALUE="")
- ..;Convert "@" to @
- ..S:(VALUE=(QUOTE_"@"_QUOTE)) VALUE="@"
- ..;Move data into upload array
- ..;I $S(ENTRY=6:0,ENTRY=7:0,ENTRY=9:0,1:1) S @FDAROOT@(FILE,IENS,FIELD)=VALUE ;let zipcode populate city, state and county for merge all ;**477 for GMT ;**479 address removed
- .. S @FDAROOT@(FILE,IENS,FIELD)=VALUE ;**479 address removed - allow merge
- ..;Prepare for undo
- ..S ^TMP("VAFC-UNDO",$J,"FDA",FILE,IENS,FIELD)=$$GET1^DIQ(FILE,IENS,FIELD)
- ;Merge differences
- I (+$O(@FDAROOT@(0))) D FILE^DIE("E",FDAROOT,MSGROOT)
- ;Rebuild required portion of display
- S VAFCDOTS=1
- S ENTRY=""
- F S ENTRY=$O(REBUILD(ENTRY)) Q:(ENTRY="") D RBLDGRP^VAFCMGB(ENTRY)
- ;No more differences
- S:('$D(@VALMAR@("E2F"))) VALMSG="** No differences found **"
- ;Done - refresh List Manager display
- S VALMBCK="R"
- Q
- MRGSLCT ;Merge user selected differences
- ;
- ;Input : See above note on input variables
- ;Output : Modified areas of VALMAR() array will be rebuilt accordingly
- ;
- ;Declare variables
- N VAFCDOTS,ENTRY,REBUILD,VALMY,FILE,FIELD,REPEAT
- N TMP,IENS,FDAROOT,MSGROOT,QUOTE,UNDO
- S QUOTE=$C(34)
- S FDAROOT="^TMP(""VAFC-MERGE-UPLOAD"","_$J_",""FDA"")"
- S MSGROOT="^TMP(""VAFC-MERGE-UPLOAD"","_$J_",""MSG"")"
- S IENS=VAFCDFN_","
- K @FDAROOT,@MSGROOT
- ;Prompt user for entries to merge
- D EN^VALM2($G(XQORNOD(0)),"O")
- ;Build array of data selected for merging
- N DGNOFDEL S DGNOFDEL=1 ;**477 stop NOK Name x-ref from firing.
- NEW EASZIPLK S EASZIPLK=1 ;**477 zipcode lookup for GMT
- ;I $D(VALMY(8)) F ENTRY=6,7,9 I '$D(VALMY(ENTRY)) S VALMY(ENTRY)="",UNDO(ENTRY)="" ;prepare to undo city, state and county if zip selected ;**477 for GMT ;**479 address removed
- S ENTRY=""
- F S ENTRY=$O(VALMY(ENTRY)) Q:(ENTRY="") D
- .;Remember which group(s) to rebuild
- .S TMP=$G(@VALMAR@("E2G",ENTRY))
- .S:(TMP'="") REBUILD(TMP)=""
- .;Loop through list of fields contained in the entry
- .S REPEAT=""
- .F S REPEAT=$O(@VALMAR@("E2F",ENTRY,REPEAT)) Q:(REPEAT="") D
- ..S TMP=$G(@VALMAR@("E2F",ENTRY,REPEAT))
- ..S FILE=+$P(TMP,"^",1)
- ..S FIELD=+$P(TMP,"^",2)
- ..;Get remote value
- ..S VALUE=$G(@VAFCARR@(FILE,FIELD))
- ..;Screen for ignore conditions
- ..I $P(VALUE,U,3) S VALMSG=$S($G(VALMSG)]"":VALMSG_","_ENTRY,1:"Can't merge unresolved item(s) "_ENTRY) Q
- ..S VALUE=$P(VALUE,U)
- ..Q:(VALUE="")
- ..;Convert "@" to @
- ..S:(VALUE=(QUOTE_"@"_QUOTE)) VALUE="@"
- ..;Move data into upload array
- ..I '$D(UNDO(ENTRY)) S @FDAROOT@(FILE,IENS,FIELD)=VALUE ;**477 for GMT
- ..;Prepare for undo
- ..S ^TMP("VAFC-UNDO",$J,"FDA",FILE,IENS,FIELD)=$$GET1^DIQ(FILE,IENS,FIELD)
- ;Merge selected data BUT don't transmit until merge completed or rejected
- I (+$O(@FDAROOT@(0))) S VAFCA08=1 D FILE^DIE("E",FDAROOT,MSGROOT) K VAFCA08
- ;Rebuild required portion of display
- S VAFCDOTS=1
- S ENTRY=""
- F S ENTRY=$O(REBUILD(ENTRY)) Q:(ENTRY="") D RBLDGRP^VAFCMGB(ENTRY)
- ;No more differences
- S:('$D(@VALMAR@("E2F"))) VALMSG="** No differences found **"
- ;Done - refresh List Manager display
- K @FDAROOT,@MSGROOT
- S VALMBCK="R"
- Q
- ;
- COMPLETE ;Merge process completed ;**477 always prompt for merge, add verbage
- ;
- ;Input : See above note on input variables
- ;Output : VAFCDONE will be set to '1'
- ;
- ;Declare variables
- N DIR,X,Y
- S VAFCDONE=1
- D FULL^VALM1 ;switch to full screen
- I ($D(@VALMAR@("E2F"))) D ;check for differences
- .S DIR("A",7)=" ** Differences still exist between local and remote data **" ;check for differences
- .S DIR("A",8)=" "
- ;Make sure user is really done with merge process
- S DIR(0)="YA"
- S DIR("A",1)=" "
- S DIR("A",2)="NOTE: Since your site is the CMOR, you are considered to be the"
- S DIR("A",3)=" authoritative source. By completing the merge, you confirm that"
- S DIR("A",4)=" your facility's NAME, SEX, DOB, SSN and MOTHER'S MAIDEN NAME are"
- S DIR("A",5)=" accurate for broadcast to all facilities sharing this patient."
- S DIR("A",6)=" "
- S DIR("A")="Are you ready to complete the merge process? (Yes/No) : "
- S DIR("B")="YES"
- D ^DIR
- S VAFCDONE=+Y
- ;User not done
- I ('VAFCDONE) S VALMBCK="R" Q
- ; Create an entry in the ADT/HL7 PIVOT file (#391.71) and
- ; mark it as requiring transmission of an HL7 ADT-A08 message
- D AVAFC^VAFCDD01(VAFCDFN)
- ;Done - quit List Manager interface
- S VALMBCK="Q"
- Q
- ;
- REJECT ;Reject/ignore differences ;**477 add verbage
- ;
- ;Input : See above note on input variables
- ;Output : VAFCRJCT will be set to '1'
- ;
- ;Declare variables
- N DIR,X,Y
- S VAFCRJCT=1
- ;Switch to full screen
- D FULL^VALM1
- ;Make sure user really wants to reject differences
- S DIR(0)="YA"
- S DIR("A",1)=" "
- S DIR("A",2)="NOTE: Since your site is the CMOR, you are considered to be the"
- S DIR("A",3)=" authoritative source. By rejecting the remote data, you confirm"
- S DIR("A",4)=" that your facility's NAME, SEX, DOB, SSN and MOTHER'S MAIDEN NAME"
- S DIR("A",5)=" are accurate for broadcast to all facilities sharing this patient."
- S DIR("A",6)=" "
- S DIR("A")="Are you sure you want to reject the remote data? (Yes/No) : "
- S DIR("B")="YES"
- D ^DIR
- S VAFCRJCT=+Y
- ;Don't reject
- I ('VAFCRJCT) S VALMBCK="R" Q
- ; Create an entry in the ADT/HL7 PIVOT file (#391.71) and
- ; mark it as requiring transmission of an HL7 ADT-A08 message
- D AVAFC^VAFCDD01(VAFCDFN)
- ;Done - quit List Manager interface
- S VALMBCK="Q"
- Q
- HI ;Hinq Inquiry
- S DFN=VAFCDFN
- D HINQ^DG10 S VALMBCK=""
- ;D EN^DVBHQZ4 S VALMBCK=""
- ;S VALMSG="Hinq request has "_$S($D(^DVB(395.5,DFN,0))&("PNEA"[$P($G(^DVB(395.5,DFN,0)),U,4)):"",1:"NOT ")_"been made for this patient."
- HIQ Q
- PA ;Patient Audit
- Q ;**477 - no longer in use replaced by remote audit protcols
- I '$O(^DIA(2,"B",VAFCDFN,0)) S VALMSG="This patient has no audit data available.",VALMBCK="" G PAQ
- N IEN S DFN=VAFCDFN,QFLG=1 D FULL^VALM1 D:$T(ASK2^RGMTAUD)]"" ASK2^RGMTAUD S VALMBCK="R"
- PAQ Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HVAFCMGA 9492 printed Jan 18, 2025@04:02:28 Page 2
- VAFCMGA ;ALB/JRP,LTL-DEMOGRAPHIC MERGE SCREEN ACTIONS ;31-OCT-96
- +1 ;;5.3;Registration;**149,477,479**;Aug 13, 1993
- +2 ;
- +3 ;NOTE: The VAFCMGA* routines contain line tags used to implement
- +4 ; the actions of a List Manager user interface. All line
- +5 ; tags assume that the following variables and arrays are
- +6 ; defined.
- +7 ;
- +8 ;Input : VAFCDFN - Pointer to entry in PATIENT file (#2) to merge
- +9 ; data into
- +10 ; VAFCARR - Array contain data to merge (full global reference)
- +11 ; VAFCARR() should be set as follows:
- +12 ; VAFCARR(File,Field) = Value
- +13 ; Where File = File number Value is from
- +14 ; Field = Field number Value is from
- +15 ; Value = Info to merge
- +16 ; Notes: Dates must be in FileMan format
- +17 ; : Special considerations for Value
- +18 ; "@" - Displays <DELETE> and deletes
- +19 ; local value if merged
- +20 ; "^text" - Displays text and ignores
- +21 ; field if merged
- +22 ; NULL - Displays <UNSPECIFIED> and
- +23 ; ignores field if merged
- +24 ; Doesn't exist - Displays <UNSPECIFIED>
- +25 ; and ignores field
- +26 ; if merged
- +27 ; VAFCFROM - Text denoting where merge data cam from (1-35)
- +28 ; VAFCEVDT - Date/time merge data was instantiated (FileMan)
- +29 ; All variables set by List Manager Interface
- +30 ; Display area and variables required List Manager interface
- +31 ; Display
- +32 ; VALMAR(Line,0) = Line of text in display
- +33 ; Indexes
- +34 ; VALMAR("IDX",Line,Entry) = ""
- +35 ; VALMAR("E2F",Entry,N) = File^Field
- +36 ; N => Allows for multiple fields per entry (starts with 1)
- +37 ; VALMAR("E2G",Entry) = Group entry is contained in
- +38 ; VALMAR("GRP",Group) = First line of group in display
- +39 ; Note: The E2F and E2G indexes are only set if the data
- +40 ; to merge does not match the local data
- +41 ;
- MRGALL ;Merge all differences
- +1 ;
- +2 ;Input : See above note on input variables
- +3 ;Output : VALMAR() array will be rebuilt accordingly
- +4 ;
- +5 ;Declare variables
- +6 NEW VAFCDOTS,ENTRY,REBUILD,FILE,FIELD,VALUE,REPEAT
- +7 NEW TMP,IENS,FDAROOT,MSGROOT,QUOTE
- +8 SET FDAROOT="^TMP(""VAFC-MERGE-UPLOAD"","_$JOB_",""FDA"")"
- +9 SET MSGROOT="^TMP(""VAFC-MERGE-UPLOAD"","_$JOB_",""MSG"")"
- +10 SET QUOTE=$CHAR(34)
- +11 SET IENS=VAFCDFN_","
- +12 KILL @FDAROOT,@MSGROOT
- +13 ;Build array of differences to merge
- +14 ;**477 stop NOK Name x-ref from firing.
- NEW DGNOFDEL
- SET DGNOFDEL=1
- +15 ;**477 zipcode lookup for GMT
- NEW EASZIPLK
- SET EASZIPLK=1
- +16 SET ENTRY=""
- +17 FOR
- SET ENTRY=$ORDER(@VALMAR@("E2F",ENTRY))
- if (ENTRY="")
- QUIT
- Begin DoDot:1
- +18 ;Remember which group(s) to rebuild
- +19 SET TMP=$GET(@VALMAR@("E2G",ENTRY))
- +20 if (TMP'="")
- SET REBUILD(TMP)=""
- +21 ;Loop through list of fields contained in the entry
- +22 SET REPEAT=""
- +23 FOR
- SET REPEAT=$ORDER(@VALMAR@("E2F",ENTRY,REPEAT))
- if (REPEAT="")
- QUIT
- Begin DoDot:2
- +24 SET TMP=$GET(@VALMAR@("E2F",ENTRY,REPEAT))
- +25 SET FILE=+$PIECE(TMP,"^",1)
- +26 SET FIELD=+$PIECE(TMP,"^",2)
- +27 ;Get remote value
- +28 SET VALUE=$GET(@VAFCARR@(FILE,FIELD))
- +29 ;Screen for ignore conditions
- +30 IF $PIECE(VALUE,U,3)
- SET VALMSG=$SELECT($GET(VALMSG)]"":VALMSG_","_ENTRY,1:"Can't merge unresolved item(s) "_ENTRY)
- QUIT
- +31 SET VALUE=$PIECE(VALUE,U)
- +32 if (VALUE="")
- QUIT
- +33 ;Convert "@" to @
- +34 if (VALUE=(QUOTE_"@"_QUOTE))
- SET VALUE="@"
- +35 ;Move data into upload array
- +36 ;I $S(ENTRY=6:0,ENTRY=7:0,ENTRY=9:0,1:1) S @FDAROOT@(FILE,IENS,FIELD)=VALUE ;let zipcode populate city, state and county for merge all ;**477 for GMT ;**479 address removed
- +37 ;**479 address removed - allow merge
- SET @FDAROOT@(FILE,IENS,FIELD)=VALUE
- +38 ;Prepare for undo
- +39 SET ^TMP("VAFC-UNDO",$JOB,"FDA",FILE,IENS,FIELD)=$$GET1^DIQ(FILE,IENS,FIELD)
- End DoDot:2
- End DoDot:1
- +40 ;Merge differences
- +41 IF (+$ORDER(@FDAROOT@(0)))
- DO FILE^DIE("E",FDAROOT,MSGROOT)
- +42 ;Rebuild required portion of display
- +43 SET VAFCDOTS=1
- +44 SET ENTRY=""
- +45 FOR
- SET ENTRY=$ORDER(REBUILD(ENTRY))
- if (ENTRY="")
- QUIT
- DO RBLDGRP^VAFCMGB(ENTRY)
- +46 ;No more differences
- +47 if ('$DATA(@VALMAR@("E2F")))
- SET VALMSG="** No differences found **"
- +48 ;Done - refresh List Manager display
- +49 SET VALMBCK="R"
- +50 QUIT
- MRGSLCT ;Merge user selected differences
- +1 ;
- +2 ;Input : See above note on input variables
- +3 ;Output : Modified areas of VALMAR() array will be rebuilt accordingly
- +4 ;
- +5 ;Declare variables
- +6 NEW VAFCDOTS,ENTRY,REBUILD,VALMY,FILE,FIELD,REPEAT
- +7 NEW TMP,IENS,FDAROOT,MSGROOT,QUOTE,UNDO
- +8 SET QUOTE=$CHAR(34)
- +9 SET FDAROOT="^TMP(""VAFC-MERGE-UPLOAD"","_$JOB_",""FDA"")"
- +10 SET MSGROOT="^TMP(""VAFC-MERGE-UPLOAD"","_$JOB_",""MSG"")"
- +11 SET IENS=VAFCDFN_","
- +12 KILL @FDAROOT,@MSGROOT
- +13 ;Prompt user for entries to merge
- +14 DO EN^VALM2($GET(XQORNOD(0)),"O")
- +15 ;Build array of data selected for merging
- +16 ;**477 stop NOK Name x-ref from firing.
- NEW DGNOFDEL
- SET DGNOFDEL=1
- +17 ;**477 zipcode lookup for GMT
- NEW EASZIPLK
- SET EASZIPLK=1
- +18 ;I $D(VALMY(8)) F ENTRY=6,7,9 I '$D(VALMY(ENTRY)) S VALMY(ENTRY)="",UNDO(ENTRY)="" ;prepare to undo city, state and county if zip selected ;**477 for GMT ;**479 address removed
- +19 SET ENTRY=""
- +20 FOR
- SET ENTRY=$ORDER(VALMY(ENTRY))
- if (ENTRY="")
- QUIT
- Begin DoDot:1
- +21 ;Remember which group(s) to rebuild
- +22 SET TMP=$GET(@VALMAR@("E2G",ENTRY))
- +23 if (TMP'="")
- SET REBUILD(TMP)=""
- +24 ;Loop through list of fields contained in the entry
- +25 SET REPEAT=""
- +26 FOR
- SET REPEAT=$ORDER(@VALMAR@("E2F",ENTRY,REPEAT))
- if (REPEAT="")
- QUIT
- Begin DoDot:2
- +27 SET TMP=$GET(@VALMAR@("E2F",ENTRY,REPEAT))
- +28 SET FILE=+$PIECE(TMP,"^",1)
- +29 SET FIELD=+$PIECE(TMP,"^",2)
- +30 ;Get remote value
- +31 SET VALUE=$GET(@VAFCARR@(FILE,FIELD))
- +32 ;Screen for ignore conditions
- +33 IF $PIECE(VALUE,U,3)
- SET VALMSG=$SELECT($GET(VALMSG)]"":VALMSG_","_ENTRY,1:"Can't merge unresolved item(s) "_ENTRY)
- QUIT
- +34 SET VALUE=$PIECE(VALUE,U)
- +35 if (VALUE="")
- QUIT
- +36 ;Convert "@" to @
- +37 if (VALUE=(QUOTE_"@"_QUOTE))
- SET VALUE="@"
- +38 ;Move data into upload array
- +39 ;**477 for GMT
- IF '$DATA(UNDO(ENTRY))
- SET @FDAROOT@(FILE,IENS,FIELD)=VALUE
- +40 ;Prepare for undo
- +41 SET ^TMP("VAFC-UNDO",$JOB,"FDA",FILE,IENS,FIELD)=$$GET1^DIQ(FILE,IENS,FIELD)
- End DoDot:2
- End DoDot:1
- +42 ;Merge selected data BUT don't transmit until merge completed or rejected
- +43 IF (+$ORDER(@FDAROOT@(0)))
- SET VAFCA08=1
- DO FILE^DIE("E",FDAROOT,MSGROOT)
- KILL VAFCA08
- +44 ;Rebuild required portion of display
- +45 SET VAFCDOTS=1
- +46 SET ENTRY=""
- +47 FOR
- SET ENTRY=$ORDER(REBUILD(ENTRY))
- if (ENTRY="")
- QUIT
- DO RBLDGRP^VAFCMGB(ENTRY)
- +48 ;No more differences
- +49 if ('$DATA(@VALMAR@("E2F")))
- SET VALMSG="** No differences found **"
- +50 ;Done - refresh List Manager display
- +51 KILL @FDAROOT,@MSGROOT
- +52 SET VALMBCK="R"
- +53 QUIT
- +54 ;
- COMPLETE ;Merge process completed ;**477 always prompt for merge, add verbage
- +1 ;
- +2 ;Input : See above note on input variables
- +3 ;Output : VAFCDONE will be set to '1'
- +4 ;
- +5 ;Declare variables
- +6 NEW DIR,X,Y
- +7 SET VAFCDONE=1
- +8 ;switch to full screen
- DO FULL^VALM1
- +9 ;check for differences
- IF ($DATA(@VALMAR@("E2F")))
- Begin DoDot:1
- +10 ;check for differences
- SET DIR("A",7)=" ** Differences still exist between local and remote data **"
- +11 SET DIR("A",8)=" "
- End DoDot:1
- +12 ;Make sure user is really done with merge process
- +13 SET DIR(0)="YA"
- +14 SET DIR("A",1)=" "
- +15 SET DIR("A",2)="NOTE: Since your site is the CMOR, you are considered to be the"
- +16 SET DIR("A",3)=" authoritative source. By completing the merge, you confirm that"
- +17 SET DIR("A",4)=" your facility's NAME, SEX, DOB, SSN and MOTHER'S MAIDEN NAME are"
- +18 SET DIR("A",5)=" accurate for broadcast to all facilities sharing this patient."
- +19 SET DIR("A",6)=" "
- +20 SET DIR("A")="Are you ready to complete the merge process? (Yes/No) : "
- +21 SET DIR("B")="YES"
- +22 DO ^DIR
- +23 SET VAFCDONE=+Y
- +24 ;User not done
- +25 IF ('VAFCDONE)
- SET VALMBCK="R"
- QUIT
- +26 ; Create an entry in the ADT/HL7 PIVOT file (#391.71) and
- +27 ; mark it as requiring transmission of an HL7 ADT-A08 message
- +28 DO AVAFC^VAFCDD01(VAFCDFN)
- +29 ;Done - quit List Manager interface
- +30 SET VALMBCK="Q"
- +31 QUIT
- +32 ;
- REJECT ;Reject/ignore differences ;**477 add verbage
- +1 ;
- +2 ;Input : See above note on input variables
- +3 ;Output : VAFCRJCT will be set to '1'
- +4 ;
- +5 ;Declare variables
- +6 NEW DIR,X,Y
- +7 SET VAFCRJCT=1
- +8 ;Switch to full screen
- +9 DO FULL^VALM1
- +10 ;Make sure user really wants to reject differences
- +11 SET DIR(0)="YA"
- +12 SET DIR("A",1)=" "
- +13 SET DIR("A",2)="NOTE: Since your site is the CMOR, you are considered to be the"
- +14 SET DIR("A",3)=" authoritative source. By rejecting the remote data, you confirm"
- +15 SET DIR("A",4)=" that your facility's NAME, SEX, DOB, SSN and MOTHER'S MAIDEN NAME"
- +16 SET DIR("A",5)=" are accurate for broadcast to all facilities sharing this patient."
- +17 SET DIR("A",6)=" "
- +18 SET DIR("A")="Are you sure you want to reject the remote data? (Yes/No) : "
- +19 SET DIR("B")="YES"
- +20 DO ^DIR
- +21 SET VAFCRJCT=+Y
- +22 ;Don't reject
- +23 IF ('VAFCRJCT)
- SET VALMBCK="R"
- QUIT
- +24 ; Create an entry in the ADT/HL7 PIVOT file (#391.71) and
- +25 ; mark it as requiring transmission of an HL7 ADT-A08 message
- +26 DO AVAFC^VAFCDD01(VAFCDFN)
- +27 ;Done - quit List Manager interface
- +28 SET VALMBCK="Q"
- +29 QUIT
- HI ;Hinq Inquiry
- +1 SET DFN=VAFCDFN
- +2 DO HINQ^DG10
- SET VALMBCK=""
- +3 ;D EN^DVBHQZ4 S VALMBCK=""
- +4 ;S VALMSG="Hinq request has "_$S($D(^DVB(395.5,DFN,0))&("PNEA"[$P($G(^DVB(395.5,DFN,0)),U,4)):"",1:"NOT ")_"been made for this patient."
- HIQ QUIT
- PA ;Patient Audit
- +1 ;**477 - no longer in use replaced by remote audit protcols
- QUIT
- +2 IF '$ORDER(^DIA(2,"B",VAFCDFN,0))
- SET VALMSG="This patient has no audit data available."
- SET VALMBCK=""
- GOTO PAQ
- +3 NEW IEN
- SET DFN=VAFCDFN
- SET QFLG=1
- DO FULL^VALM1
- if $TEXT(ASK2^RGMTAUD)]""
- DO ASK2^RGMTAUD
- SET VALMBCK="R"
- PAQ QUIT