Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BCHPOS2

BCHPOS2.m

Go to the documentation of this file.
  1. BCHPOS2 ; IHS/TUCSON/LAB - POST INIT - 3 ; [ 10/28/96 2:05 PM ]
  1. ;;1.0;IHS RPMS CHR SYSTEM;;OCT 28, 1996
  1. ;This routine adds the following entries into the
  1. ; PROTOCAL: 1 - 99 entries of BCH HL7 SERVER CHRPC##
  1. ;
  1. ;
  1. START ;start of routine
  1. Q:'$D(^ORD(101))
  1. ;
  1. D LOOKUPS ; do lookups for field variables
  1. D SETUP ; setup initial variables for DIC call
  1. D PROCESS ; populate the file with 99 entries
  1. D RINDEX ; re-index "^ORD(101,"
  1. ;
  1. EOJ ; end of job
  1. K DIC,X,Y,DD,DO,D0,DA,DDH,DI,DIC,DIE,DR,DLAYGO
  1. K BCHCOND,BCHDIC,BCHDR,BCHEVNT,BCHFLG,BCHIEN,BCHISEQC,BCHITEM
  1. K BCHMTR,BCHNAME,BCHPKG,BCHPTR,BCHRPC,BCHSA,BCHTEXT,BCHVID
  1. K BCHN,BCHFAC,BCHCODE
  1. Q
  1. ;end of routine
  1. ;
  1. ;----------------------------------
  1. PROCESS ;populate the file with 99 entries
  1. ;
  1. S BCHN=0 F BCHN=1:1:99 S:BCHN<10 BCHN=0_BCHN D Q:BCHN>99
  1. . S BCHRPC="CHRPC"_BCHN
  1. . S BCHNAME="BCH HL7 SERVER "_BCHRPC
  1. . I $D(^ORD(101,"B",BCHNAME)) W !,"....exists: ",BCHNAME Q
  1. . S BCHPTR=""
  1. . S BCHPTR=$O(^HL(771,"B",BCHRPC,BCHPTR))
  1. . Q:BCHPTR=""
  1. . S DIC("DR")=BCHDR_";770.1////"_BCHPTR
  1. . S X=BCHNAME
  1. . K DD,DO
  1. . S DIC=BCHDIC
  1. . D FILE^DICN ; add entry
  1. . I +Y<0 W !,"Entry was unsuccessful: ",X K X Q
  1. . S BCHIEN=+Y
  1. . W !,"....adding: ",X
  1. . K X,Y
  1. . D MULTIPL ; add multiple entry
  1. . Q
  1. Q
  1. ;
  1. ;
  1. MULTIPL ; add multiple entry
  1. S DIC=BCHDIC_BCHIEN_",10,"
  1. S DIC(0)="L"
  1. S DIC("P")=$P(^DD(101,10,0),U,2)
  1. S DA(1)=BCHIEN
  1. S DIC("DR")="3////1"
  1. S X=BCHITEM
  1. K DD,DO
  1. D FILE^DICN
  1. I +Y<0 W !?5,"Multiple entry was unsuccessful: ",X K X Q
  1. K X,Y
  1. Q
  1. ;
  1. SETUP ; set up initial variables for DIC call
  1. S BCHTEXT="CHR Penbased HL7 ORU Message" ; ITEM TEXT field
  1. S BCHISEQC=1 ; SEQUENCE multiple field (ITEM)
  1. ;
  1. K DD,DO
  1. S BCHDIC="^ORD(101,",DIC(0)="L",DLAYGO=101
  1. ;S BCHDR="1////"_BCHTEXT_";4////E;12////"_BCHPKG_";770.5////i;770.6////P;770.8////"_BCHCOND_";770.9////"_BCHCOND_";770.95////"_BCHVID
  1. S BCHDR="1////"_BCHTEXT_";4////E;12////"_BCHPKG_";770.3////"_BCHMTR_";770.4////"_BCHEVNT_";770.5////i;770.6////P;770.8////"_BCHCOND_";770.9////"_BCHCOND_";770.95////"_BCHVID
  1. Q
  1. ;
  1. LOOKUPS ; do lookups for the various fields
  1. S BCHFLG=1
  1. S (BCHPKG,BCHITEM,BCHSA,BCHCOND,BCHVID,BCHEVNT,BCHMTR)=0
  1. ; lookup of PACKAGE entry ien
  1. S BCHPKG=$O(^DIC(9.4,"B","IHS RPMS CHR SYSTEM",BCHPKG))
  1. S:'BCHPKG BCHFLG=0
  1. ; lookup of PROTOCOL file's ITEM entry ien
  1. S BCHITEM=$O(^ORD(101,"B","BCH HL7 ORU",BCHITEM))
  1. S:'BCHITEM BCHFLG=0
  1. ; following temporary "CHRPC15"...change to variable name!!!
  1. ; lookup of the HL7 APPLICATION PARAMETER's CHRPC## entry ien
  1. S BCHSA=$O(^HL(771,"B","CHRPC15",BCHSA))
  1. S:'BCHSA BCHFLG=0
  1. ; lookup of HL7 ACCEPT/APPLICATION ACK CONDITION file entry ien
  1. S BCHCOND=$O(^HL(779.003,"B","NE",BCHCOND))
  1. S:'BCHCOND BCHFLG=0
  1. ; lookup of HL7 VERSION file entry ien
  1. S BCHVID=$O(^HL(771.5,"B","2.2",BCHVID))
  1. S:'BCHVID BCHFLG=0
  1. ; lookup of MESSAGE TYPE RECEIVED file entry ien (multiple fld)
  1. S BCHMTR=$O(^HL(771.2,"B","ORU",BCHMTR))
  1. S:'BCHMTR BCHFLG=0
  1. ; lookup of EVENT TYPE file entry ien (multiple fld)
  1. S BCHEVNT=$O(^HL(779.001,"B","R01",BCHEVNT))
  1. S:'BCHEVNT BCHFLG=0
  1. Q
  1. ;
  1. RINDEX ;re-index the PROTOCOL file
  1. S DIK="^ORD(101,"
  1. W !!,"....Re-indexing the PROTOCOL file."
  1. D IXALL^DIK
  1. K DIK
  1. Q
  1. ;