- BIOUTPT2 ;IHS/CMI/MWR - PROMPTS FOR REPORTS.; MAY 10, 2010
- ;;8.5;IMMUNIZATION;;SEP 01,2011
- ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
- ;; PROMPTS FOR REPORT PARAMETERS.
- ;
- ;
- ;----------
- SVDATE(BISVDT,BIPG,BIRTN) ;EP
- ;---> Select Survey Date. Called by Protocol BI EXPORT SURVEY DATE.
- ;---> Parameters:
- ; 1 - BISVDT (ret) Survey Date, Fileman format.
- ; (opt) Default Date.
- ; 2 - BIPG (req) Patient Group being surveyed.
- ; 3 - BIRTN (req) Calling routine for reset.
- ;
- I $G(BIRTN)="" D ERRCD^BIUTL2(621,,1) Q
- I $G(BIPG)="" D ERRCD^BIUTL2(639,,1),@("RESET^"_BIRTN) Q
- ;
- ;
- SVDATE1 ;EP
- S:$G(BISVDT)="" BISVDT=DT
- N BIDFLT,DIR S BIDFLT=$$TXDT^BIUTL5(BISVDT)
- S DIR(0)="DA^::PEX"
- S DIR("A")=" Please enter a Survey Date: ",DIR("B")=BIDFLT
- D FULL^VALM1
- D TITLE^BIUTL5("SELECT SURVEY DATE")
- D TEXT1 D:BIPG'=9 TEXT2,HELP2
- D ^DIR W !
- I $D(DIRUT) D RESET^BIDU Q
- S BISVDT=$P(Y,".")
- I BISVDT>DT D G SVDATE1
- .W !?5,"The date may not be in the future. "
- .W "It must be today or in the past."
- .K BISVDT D DIRZ^BIUTL3()
- D @("RESET^"_BIRTN)
- Q
- ;
- ;
- ;----------
- TEXT1 ;EP
- ;;Please select a Survey Date (no future dates).
- ;;
- ;;If the Survey Date is in the past, patient age(s) will be calculated
- ;;for that date, and immunizations given after that Survey Date will
- ;;not be included.
- ;;
- D PRINTX("TEXT1")
- Q
- ;
- ;
- ;----------
- TEXT2 ;EP
- ;;If you specify Age Range or Active Status, these will be calculated
- ;;based on the Survey Date you select here.
- ;;
- ;;If you specify a Patient Group based on visits, only visits up to
- ;;and including the Survey Date will be examined.
- ;;
- ;;Enter a "?" for further explanation.
- ;;
- D PRINTX("TEXT2")
- Q
- ;
- ;
- ;----------
- HELP2 ;EP
- ;;If you select a specific Age Range and a Survey Date in the past,
- ;;only patients whose ages fell within the Age Range on Survey Date
- ;;will be included in the export.
- ;;
- ;;If you select a group of patients based on Active Status, only
- ;;those patients who were Active on the Survey Date will be included.
- ;;Patients who became Inactive prior to the Survey Date will not be
- ;;included.
- ;;
- ;;If you select for all patients who have had immunizations, only
- ;;patients who have had immunizations on or before the Survey Date
- ;;will be included.
- D HELPTX("HELP2")
- Q
- ;
- ;
- ;----------
- PATIENT(BIPAT,BIRTN) ;EP
- ;---> Select Patient. Called by Protocol BI EXPORT PATIENT.
- ;---> Parameters:
- ; 1 - BIPAT (ret) Local array of Patient DFNs.
- ; 2 - BIRTN (req) Calling routine for reset.
- ;
- I $G(BIRTN)="" D ERRCD^BIUTL2(621,,1) Q
- ;
- ;---> Select one or more Patients.
- ;---> Display Identifiers: Sex, DOB, Chart#.
- N BIID S BIID="2;S X=$P(BI0,U,2)_"" ""_$$DOBF^BIUTL1(BIIEN,,1)"
- S BIID=BIID_"_"" ""_$$HRCN^BIUTL1(BIIEN,$G(DUZ(2)));40"
- N BIABBR S BIABBR=$$LOCABBR^BIUTL6($G(DUZ(2)))
- S:BIABBR="" BIABBR=$E($$INSTTX^BIUTL6($G(DUZ(2))),1,11)
- N BICOL S BICOL=" # Patient Sex DOB"
- S BICOL=BICOL_" Chart# at "_BIABBR
- D SEL^BISELECT(9000001,"BIPAT","Patient",,,,BIID,BICOL,.BIPOP,1)
- I $D(BIPAT("ALL")) D Q
- .D FULL^VALM1,TITLE^BIUTL5("SELECTING PATIENTS"),TEXT7
- .K BIPAT D DIRZ^BIUTL3()
- D @("RESET^"_BIRTN)
- Q
- ;
- ;
- ;----------
- TEXT7 ;EP
- ;;
- ;;You have selected ALL patients. In order to work with a group of
- ;;this size, other information is needed (such as Active Status, Age
- ;;Range, Communities, etc.).
- ;;
- ;;Please begin this export process again. The very first question
- ;;asks if you wish to select patients INDIVIDUALLY or by GROUP.
- ;;Choose "2) Select patients by GROUP", and proceed from there.
- ;;
- D PRINTX("TEXT7")
- Q
- ;
- ;
- ;----------
- DATAEL(BIDE,BIRTN) ;EP
- ;---> Select Data Elements.
- ;---> Called by Protocol BI OUTPUT DATA ELEMENTS.
- ;---> Parameters:
- ; 1 - BIDE (ret) Local array of Lot Number IENs.
- ; 2 - BIRTN (req) Calling routine for reset.
- ;
- I $G(BIRTN)="" D ERRCD^BIUTL2(621,,1) Q
- ;
- D FULL^VALM1 N BIPOP
- D TITLE^BIUTL5("SELECT DATA ELEMENTS"),TEXT3
- D DIRZ^BIUTL3(.BIPOP)
- I $G(BIPOP) D @("RESET^"_BIRTN) Q
- ;
- ;---> Screen: only Data Elements for Immunizations or All.
- N BIIT S BIIT="Data Element"
- N BISCR S BISCR="I ""AI""[$P(^BIEXPDD(Y,0),U,4)"
- N BICOL S BICOL=" # Data Element Synonym"
- D SEL^BISELECT(9002084.91,"BIDE",BIIT,BISCR,,,"3;;40",BICOL,.BIPOP,1)
- D @("RESET^"_BIRTN)
- Q
- ;
- ;
- ;----------
- TEXT3 ;EP
- ;;
- ;; NOTES
- ;; -------
- ;;Data Element selection only pertains to exports with ASCII Format.
- ;;(ImmServe Data Elements are predetermined.)
- ;;
- ;;The very first (or top) record will list, by title, the selected
- ;;Data Elements in the order in which they occur in the following
- ;;records.
- ;;
- D PRINTX("TEXT3")
- Q
- ;;(HL7 and ImmServe Data Elements are predetermined.)
- ;;
- ;;If you intend to export in HL7 or ImmServe formats, disregard this
- ;;Data Element selection.
- Q
- ;
- ;
- ;----------
- FORMAT(BIFMT,BIRTN) ;EP
- ;---> Select Format for record export.
- ;---> Called by Protocol BI EXPORT FORMAT.
- ;---> Parameters:
- ; 1 - BIFMT (ret) File Format (1=ASCII,2=HL7,3=ImmServe).
- ; 2 - BIRTN (req) Calling routine for reset.
- ;
- I $G(BIRTN)="" D ERRCD^BIUTL2(621,,1) Q
- ;
- D FULL^VALM1
- D TITLE^BIUTL5("SELECT EXPORT FORMAT"),TEXT4
- N Y S:'$G(BIFMT) BIFMT=1
- S A=" Please select a Format: "
- ;
- ;---> Remove HL7, at least for now.
- ;D DIR^BIFMAN("SM^1:ASCII;2:HL7;3:ImmServe",.Y,.BIPOP,A,"ASCII")
- D DIR^BIFMAN("SM^1:ASCII;3:ImmServe",.Y,.BIPOP,A,"ASCII")
- S:Y BIFMT=Y
- D @("RESET^"_BIRTN)
- Q
- ;
- ;
- ;----------
- TEXT4 ;EP
- ;;You may export records in either ASCII or ImmServe format.
- ;;
- ;;ASCII format will produce the Data Elements you specify for each
- ;;immunization on a separate line or record. Data Elements will be
- ;;separated by quote-comma-quote (known as a CSV file).
- ;;
- ;;ImmServe is a commercial, vendor-specific format of use only to
- ;;programmers working with this software.
- D PRINTX("TEXT4")
- Q
- ;;---> Removed from above, for now at least.
- ;;HL7 will produce Immunization records according to the HL7 standard.
- ;
- ;
- ;----------
- OUTPUT(BIOUT,BIFLNM,BIPATH,BIRTN) ;EP
- ;---> Select Output Device for Export Data.
- ;---> Called by Protocol BI EXPORT OUTPUT DEVICE.
- ;---> Parameters:
- ; 1 - BIOUT (ret) 0=Screen, 1=File.
- ; 2 - BIFLNM (ret) File name given by the user.
- ; 3 - BIPATH (ret) Path name set in Site Parameters.
- ; 4 - BIRTN (req) Calling routine for reset.
- ;
- I $G(BIRTN)="" D ERRCD^BIUTL2(621,,1) Q
- ;
- D FULL^VALM1
- D TITLE^BIUTL5("SELECT OUTPUT DEVICE"),TEXT5
- N BIPOP,Y S:'$D(BIOUT) BIOUT=0
- ;
- N A,B S A=" Select SCREEN or FILE: "
- S B=$S(BIOUT:"FILE",1:"SCREEN")
- D DIR^BIFMAN("SAM^0:SCREEN;1:FILE",.Y,.BIPOP,A,B)
- ;
- ;---> If user chose Screen, or ^out, quit.
- S BIOUT=Y
- I 'BIOUT!($G(BIPOP)) D @("RESET^"_BIRTN) Q
- ;
- ;---> Enter file name, if required.
- D TITLE^BIUTL5("ENTER OUTPUT FILE NAME")
- F D Q:BIPOP Q:BIFLNM]""
- .N Q,Z D TEXT6
- .S Q=" Contact your site manager for assistance."
- .S Z=" Enter the file name without any path "
- .S Z=Z_"--just the file name itself."
- .D DIR^BIFMAN("FA",.BIFLNM,.BIPOP," Enter file name: ","",Q,Z)
- .Q:BIPOP
- .I BIFLNM["\"!(BIFLNM["/")!(BIFLNM[":")!(BIFLNM[";")!(BIFLNM[" ") D
- ..W !!?5,"File name must not contain ""\"", ""/"", "":"" or spaces."
- ..S BIFLNM=""
- ;
- ;---> Quit if user up-arrowed out.
- I BIFLNM["^" S BIFLNM="" D @("RESET^"_BIRTN) Q
- ;
- ;---> Return path, open Host File and test access and close it.
- D HFS^BIEXPRT8(BIFLNM,.BIPATH,0,.BIPOP)
- I $G(BIPOP) D @("RESET^"_BIRTN) Q
- ;
- D @("RESET^"_BIRTN)
- Q
- ;
- ;
- ;----------
- TEXT5 ;EP
- ;;There are two methods of exporting the data.
- ;;
- ;;You may either:
- ;;
- ;; * Select SCREEN to send the data to your screen. If you are using
- ;; a PC, this method will allow you to capture the output of data to
- ;; your screen and then save it as a file. However, you must refer
- ;; to your PC software documentation for help with this procedure.
- ;;or
- ;;
- ;; * Select FILE, to send the exported data to a host file.
- ;; If your data is sent to a host file, it can then be copied to
- ;; a floppy or transmitted to another computer for processing.
- ;; See your sitemanager for help with this procedure.
- ;;
- D PRINTX("TEXT5")
- Q
- ;
- ;
- ;----------
- TEXT6 ;EP
- ;;
- ;;Enter a name for the file you are exporting. The file name must
- ;;conform the filenaming conventions of your operating system.
- ;;Do not include any slashes, colons, or spaces in the file name.
- ;;
- ;;The Export File will have a path name prepended to the filename you
- ;;enter here. The path is set in the Site Parameters (MGR-->ESP) by
- ;;your Site Manager or Package Manager.
- ;;
- D PRINTX("TEXT6")
- Q
- ;
- ;
- ;----------
- PRINTX(BILINL,BITAB) ;EP
- Q:$G(BILINL)=""
- N I,T,X S T="" S:'$D(BITAB) BITAB=5 F I=1:1:BITAB S T=T_" "
- F I=1:1 S X=$T(@BILINL+I) Q:X'[";;" W !,T,$P(X,";;",2)
- Q
- ;
- ;
- ;----------
- HELPTX(BILINL,BITAB) ;EP
- N I,T,X S T="" S:'$D(BITAB) BITAB=5 F I=1:1:BITAB S T=T_" "
- F I=1:1 S X=$T(@BILINL+I) Q:X'[";;" S DIR("?",I)=T_$P(X,";;",2)
- S DIR("?")=DIR("?",I-1) K DIR("?",I-1)
- Q
- BIOUTPT2 ;IHS/CMI/MWR - PROMPTS FOR REPORTS.; MAY 10, 2010
- +1 ;;8.5;IMMUNIZATION;;SEP 01,2011
- +2 ;;* MICHAEL REMILLARD, DDS * CIMARRON MEDICAL INFORMATICS, FOR IHS *
- +3 ;; PROMPTS FOR REPORT PARAMETERS.
- +4 ;
- +5 ;
- +6 ;----------
- SVDATE(BISVDT,BIPG,BIRTN) ;EP
- +1 ;---> Select Survey Date. Called by Protocol BI EXPORT SURVEY DATE.
- +2 ;---> Parameters:
- +3 ; 1 - BISVDT (ret) Survey Date, Fileman format.
- +4 ; (opt) Default Date.
- +5 ; 2 - BIPG (req) Patient Group being surveyed.
- +6 ; 3 - BIRTN (req) Calling routine for reset.
- +7 ;
- +8 IF $GET(BIRTN)=""
- DO ERRCD^BIUTL2(621,,1)
- QUIT
- +9 IF $GET(BIPG)=""
- DO ERRCD^BIUTL2(639,,1)
- DO @("RESET^"_BIRTN)
- QUIT
- +10 ;
- +11 ;
- SVDATE1 ;EP
- +1 IF $GET(BISVDT)=""
- SET BISVDT=DT
- +2 NEW BIDFLT,DIR
- SET BIDFLT=$$TXDT^BIUTL5(BISVDT)
- +3 SET DIR(0)="DA^::PEX"
- +4 SET DIR("A")=" Please enter a Survey Date: "
- SET DIR("B")=BIDFLT
- +5 DO FULL^VALM1
- +6 DO TITLE^BIUTL5("SELECT SURVEY DATE")
- +7 DO TEXT1
- IF BIPG'=9
- DO TEXT2
- DO HELP2
- +8 DO ^DIR
- WRITE !
- +9 IF $DATA(DIRUT)
- DO RESET^BIDU
- QUIT
- +10 SET BISVDT=$PIECE(Y,".")
- +11 IF BISVDT>DT
- Begin DoDot:1
- +12 WRITE !?5,"The date may not be in the future. "
- +13 WRITE "It must be today or in the past."
- +14 KILL BISVDT
- DO DIRZ^BIUTL3()
- End DoDot:1
- GOTO SVDATE1
- +15 DO @("RESET^"_BIRTN)
- +16 QUIT
- +17 ;
- +18 ;
- +19 ;----------
- TEXT1 ;EP
- +1 ;;Please select a Survey Date (no future dates).
- +2 ;;
- +3 ;;If the Survey Date is in the past, patient age(s) will be calculated
- +4 ;;for that date, and immunizations given after that Survey Date will
- +5 ;;not be included.
- +6 ;;
- +7 DO PRINTX("TEXT1")
- +8 QUIT
- +9 ;
- +10 ;
- +11 ;----------
- TEXT2 ;EP
- +1 ;;If you specify Age Range or Active Status, these will be calculated
- +2 ;;based on the Survey Date you select here.
- +3 ;;
- +4 ;;If you specify a Patient Group based on visits, only visits up to
- +5 ;;and including the Survey Date will be examined.
- +6 ;;
- +7 ;;Enter a "?" for further explanation.
- +8 ;;
- +9 DO PRINTX("TEXT2")
- +10 QUIT
- +11 ;
- +12 ;
- +13 ;----------
- HELP2 ;EP
- +1 ;;If you select a specific Age Range and a Survey Date in the past,
- +2 ;;only patients whose ages fell within the Age Range on Survey Date
- +3 ;;will be included in the export.
- +4 ;;
- +5 ;;If you select a group of patients based on Active Status, only
- +6 ;;those patients who were Active on the Survey Date will be included.
- +7 ;;Patients who became Inactive prior to the Survey Date will not be
- +8 ;;included.
- +9 ;;
- +10 ;;If you select for all patients who have had immunizations, only
- +11 ;;patients who have had immunizations on or before the Survey Date
- +12 ;;will be included.
- +13 DO HELPTX("HELP2")
- +14 QUIT
- +15 ;
- +16 ;
- +17 ;----------
- PATIENT(BIPAT,BIRTN) ;EP
- +1 ;---> Select Patient. Called by Protocol BI EXPORT PATIENT.
- +2 ;---> Parameters:
- +3 ; 1 - BIPAT (ret) Local array of Patient DFNs.
- +4 ; 2 - BIRTN (req) Calling routine for reset.
- +5 ;
- +6 IF $GET(BIRTN)=""
- DO ERRCD^BIUTL2(621,,1)
- QUIT
- +7 ;
- +8 ;---> Select one or more Patients.
- +9 ;---> Display Identifiers: Sex, DOB, Chart#.
- +10 NEW BIID
- SET BIID="2;S X=$P(BI0,U,2)_"" ""_$$DOBF^BIUTL1(BIIEN,,1)"
- +11 SET BIID=BIID_"_"" ""_$$HRCN^BIUTL1(BIIEN,$G(DUZ(2)));40"
- +12 NEW BIABBR
- SET BIABBR=$$LOCABBR^BIUTL6($GET(DUZ(2)))
- +13 IF BIABBR=""
- SET BIABBR=$EXTRACT($$INSTTX^BIUTL6($GET(DUZ(2))),1,11)
- +14 NEW BICOL
- SET BICOL=" # Patient Sex DOB"
- +15 SET BICOL=BICOL_" Chart# at "_BIABBR
- +16 DO SEL^BISELECT(9000001,"BIPAT","Patient",,,,BIID,BICOL,.BIPOP,1)
- +17 IF $DATA(BIPAT("ALL"))
- Begin DoDot:1
- +18 DO FULL^VALM1
- DO TITLE^BIUTL5("SELECTING PATIENTS")
- DO TEXT7
- +19 KILL BIPAT
- DO DIRZ^BIUTL3()
- End DoDot:1
- QUIT
- +20 DO @("RESET^"_BIRTN)
- +21 QUIT
- +22 ;
- +23 ;
- +24 ;----------
- TEXT7 ;EP
- +1 ;;
- +2 ;;You have selected ALL patients. In order to work with a group of
- +3 ;;this size, other information is needed (such as Active Status, Age
- +4 ;;Range, Communities, etc.).
- +5 ;;
- +6 ;;Please begin this export process again. The very first question
- +7 ;;asks if you wish to select patients INDIVIDUALLY or by GROUP.
- +8 ;;Choose "2) Select patients by GROUP", and proceed from there.
- +9 ;;
- +10 DO PRINTX("TEXT7")
- +11 QUIT
- +12 ;
- +13 ;
- +14 ;----------
- DATAEL(BIDE,BIRTN) ;EP
- +1 ;---> Select Data Elements.
- +2 ;---> Called by Protocol BI OUTPUT DATA ELEMENTS.
- +3 ;---> Parameters:
- +4 ; 1 - BIDE (ret) Local array of Lot Number IENs.
- +5 ; 2 - BIRTN (req) Calling routine for reset.
- +6 ;
- +7 IF $GET(BIRTN)=""
- DO ERRCD^BIUTL2(621,,1)
- QUIT
- +8 ;
- +9 DO FULL^VALM1
- NEW BIPOP
- +10 DO TITLE^BIUTL5("SELECT DATA ELEMENTS")
- DO TEXT3
- +11 DO DIRZ^BIUTL3(.BIPOP)
- +12 IF $GET(BIPOP)
- DO @("RESET^"_BIRTN)
- QUIT
- +13 ;
- +14 ;---> Screen: only Data Elements for Immunizations or All.
- +15 NEW BIIT
- SET BIIT="Data Element"
- +16 NEW BISCR
- SET BISCR="I ""AI""[$P(^BIEXPDD(Y,0),U,4)"
- +17 NEW BICOL
- SET BICOL=" # Data Element Synonym"
- +18 DO SEL^BISELECT(9002084.91,"BIDE",BIIT,BISCR,,,"3;;40",BICOL,.BIPOP,1)
- +19 DO @("RESET^"_BIRTN)
- +20 QUIT
- +21 ;
- +22 ;
- +23 ;----------
- TEXT3 ;EP
- +1 ;;
- +2 ;; NOTES
- +3 ;; -------
- +4 ;;Data Element selection only pertains to exports with ASCII Format.
- +5 ;;(ImmServe Data Elements are predetermined.)
- +6 ;;
- +7 ;;The very first (or top) record will list, by title, the selected
- +8 ;;Data Elements in the order in which they occur in the following
- +9 ;;records.
- +10 ;;
- +11 DO PRINTX("TEXT3")
- +12 QUIT
- +13 ;;(HL7 and ImmServe Data Elements are predetermined.)
- +14 ;;
- +15 ;;If you intend to export in HL7 or ImmServe formats, disregard this
- +16 ;;Data Element selection.
- +17 QUIT
- +18 ;
- +19 ;
- +20 ;----------
- FORMAT(BIFMT,BIRTN) ;EP
- +1 ;---> Select Format for record export.
- +2 ;---> Called by Protocol BI EXPORT FORMAT.
- +3 ;---> Parameters:
- +4 ; 1 - BIFMT (ret) File Format (1=ASCII,2=HL7,3=ImmServe).
- +5 ; 2 - BIRTN (req) Calling routine for reset.
- +6 ;
- +7 IF $GET(BIRTN)=""
- DO ERRCD^BIUTL2(621,,1)
- QUIT
- +8 ;
- +9 DO FULL^VALM1
- +10 DO TITLE^BIUTL5("SELECT EXPORT FORMAT")
- DO TEXT4
- +11 NEW Y
- IF '$GET(BIFMT)
- SET BIFMT=1
- +12 SET A=" Please select a Format: "
- +13 ;
- +14 ;---> Remove HL7, at least for now.
- +15 ;D DIR^BIFMAN("SM^1:ASCII;2:HL7;3:ImmServe",.Y,.BIPOP,A,"ASCII")
- +16 DO DIR^BIFMAN("SM^1:ASCII;3:ImmServe",.Y,.BIPOP,A,"ASCII")
- +17 IF Y
- SET BIFMT=Y
- +18 DO @("RESET^"_BIRTN)
- +19 QUIT
- +20 ;
- +21 ;
- +22 ;----------
- TEXT4 ;EP
- +1 ;;You may export records in either ASCII or ImmServe format.
- +2 ;;
- +3 ;;ASCII format will produce the Data Elements you specify for each
- +4 ;;immunization on a separate line or record. Data Elements will be
- +5 ;;separated by quote-comma-quote (known as a CSV file).
- +6 ;;
- +7 ;;ImmServe is a commercial, vendor-specific format of use only to
- +8 ;;programmers working with this software.
- +9 DO PRINTX("TEXT4")
- +10 QUIT
- +11 ;;---> Removed from above, for now at least.
- +12 ;;HL7 will produce Immunization records according to the HL7 standard.
- +13 ;
- +14 ;
- +15 ;----------
- OUTPUT(BIOUT,BIFLNM,BIPATH,BIRTN) ;EP
- +1 ;---> Select Output Device for Export Data.
- +2 ;---> Called by Protocol BI EXPORT OUTPUT DEVICE.
- +3 ;---> Parameters:
- +4 ; 1 - BIOUT (ret) 0=Screen, 1=File.
- +5 ; 2 - BIFLNM (ret) File name given by the user.
- +6 ; 3 - BIPATH (ret) Path name set in Site Parameters.
- +7 ; 4 - BIRTN (req) Calling routine for reset.
- +8 ;
- +9 IF $GET(BIRTN)=""
- DO ERRCD^BIUTL2(621,,1)
- QUIT
- +10 ;
- +11 DO FULL^VALM1
- +12 DO TITLE^BIUTL5("SELECT OUTPUT DEVICE")
- DO TEXT5
- +13 NEW BIPOP,Y
- IF '$DATA(BIOUT)
- SET BIOUT=0
- +14 ;
- +15 NEW A,B
- SET A=" Select SCREEN or FILE: "
- +16 SET B=$SELECT(BIOUT:"FILE",1:"SCREEN")
- +17 DO DIR^BIFMAN("SAM^0:SCREEN;1:FILE",.Y,.BIPOP,A,B)
- +18 ;
- +19 ;---> If user chose Screen, or ^out, quit.
- +20 SET BIOUT=Y
- +21 IF 'BIOUT!($GET(BIPOP))
- DO @("RESET^"_BIRTN)
- QUIT
- +22 ;
- +23 ;---> Enter file name, if required.
- +24 DO TITLE^BIUTL5("ENTER OUTPUT FILE NAME")
- +25 FOR
- Begin DoDot:1
- +26 NEW Q,Z
- DO TEXT6
- +27 SET Q=" Contact your site manager for assistance."
- +28 SET Z=" Enter the file name without any path "
- +29 SET Z=Z_"--just the file name itself."
- +30 DO DIR^BIFMAN("FA",.BIFLNM,.BIPOP," Enter file name: ","",Q,Z)
- +31 IF BIPOP
- QUIT
- +32 IF BIFLNM["\"!(BIFLNM["/")!(BIFLNM[":")!(BIFLNM[";")!(BIFLNM[" ")
- Begin DoDot:2
- +33 WRITE !!?5,"File name must not contain ""\"", ""/"", "":"" or spaces."
- +34 SET BIFLNM=""
- End DoDot:2
- End DoDot:1
- IF BIPOP
- QUIT
- IF BIFLNM]""
- QUIT
- +35 ;
- +36 ;---> Quit if user up-arrowed out.
- +37 IF BIFLNM["^"
- SET BIFLNM=""
- DO @("RESET^"_BIRTN)
- QUIT
- +38 ;
- +39 ;---> Return path, open Host File and test access and close it.
- +40 DO HFS^BIEXPRT8(BIFLNM,.BIPATH,0,.BIPOP)
- +41 IF $GET(BIPOP)
- DO @("RESET^"_BIRTN)
- QUIT
- +42 ;
- +43 DO @("RESET^"_BIRTN)
- +44 QUIT
- +45 ;
- +46 ;
- +47 ;----------
- TEXT5 ;EP
- +1 ;;There are two methods of exporting the data.
- +2 ;;
- +3 ;;You may either:
- +4 ;;
- +5 ;; * Select SCREEN to send the data to your screen. If you are using
- +6 ;; a PC, this method will allow you to capture the output of data to
- +7 ;; your screen and then save it as a file. However, you must refer
- +8 ;; to your PC software documentation for help with this procedure.
- +9 ;;or
- +10 ;;
- +11 ;; * Select FILE, to send the exported data to a host file.
- +12 ;; If your data is sent to a host file, it can then be copied to
- +13 ;; a floppy or transmitted to another computer for processing.
- +14 ;; See your sitemanager for help with this procedure.
- +15 ;;
- +16 DO PRINTX("TEXT5")
- +17 QUIT
- +18 ;
- +19 ;
- +20 ;----------
- TEXT6 ;EP
- +1 ;;
- +2 ;;Enter a name for the file you are exporting. The file name must
- +3 ;;conform the filenaming conventions of your operating system.
- +4 ;;Do not include any slashes, colons, or spaces in the file name.
- +5 ;;
- +6 ;;The Export File will have a path name prepended to the filename you
- +7 ;;enter here. The path is set in the Site Parameters (MGR-->ESP) by
- +8 ;;your Site Manager or Package Manager.
- +9 ;;
- +10 DO PRINTX("TEXT6")
- +11 QUIT
- +12 ;
- +13 ;
- +14 ;----------
- PRINTX(BILINL,BITAB) ;EP
- +1 IF $GET(BILINL)=""
- QUIT
- +2 NEW I,T,X
- SET T=""
- IF '$DATA(BITAB)
- SET BITAB=5
- FOR I=1:1:BITAB
- SET T=T_" "
- +3 FOR I=1:1
- SET X=$TEXT(@BILINL+I)
- IF X'[";;"
- QUIT
- WRITE !,T,$PIECE(X,";;",2)
- +4 QUIT
- +5 ;
- +6 ;
- +7 ;----------
- HELPTX(BILINL,BITAB) ;EP
- +1 NEW I,T,X
- SET T=""
- IF '$DATA(BITAB)
- SET BITAB=5
- FOR I=1:1:BITAB
- SET T=T_" "
- +2 FOR I=1:1
- SET X=$TEXT(@BILINL+I)
- IF X'[";;"
- QUIT
- SET DIR("?",I)=T_$PIECE(X,";;",2)
- +3 SET DIR("?")=DIR("?",I-1)
- KILL DIR("?",I-1)
- +4 QUIT