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

BLRMERGU.m

Go to the documentation of this file.
  1. BLRMERGU ; IHS/TUCSON/DG/ANMC/CLS/ISD/EDE - COMMON FUNCTIONS [ 12/21/1998 3:56 PM ]
  1. ;;5.2;BLR;**1005**;DEC 14, 1998
  1. ;
  1. ; This routine contains common function used by other BLRMERG*
  1. ; routines.
  1. ;
  1. Q ; no entry from top
  1. ;
  1. SETVARS ;EP - SET BLRDATE, BLRDTSUB, BLRNUM, BLRAIEN, BLRACC
  1. ; upon entry BLROLD,BLRSUB,BLRINVDT must be set
  1. S (BLRDATE,BLRDTSUB,BLRNUM,BLRAIEN)=""
  1. ; get accession area and ien within date subscript
  1. I BLRSUB="AU" S BLRACC=$P(^LR(BLROLD,BLRSUB),U,6) I 1
  1. E S BLRACC=$P(^LR(BLROLD,BLRSUB,BLRINVDT,0),U,6) ;get accession link
  1. ; At this point in time I see 2 forms for BLRACC, the accession
  1. ; link field. One is just the ien for CY, SP, EM, and AU.
  1. ; The other is 'XX YYYY Z' where XX is the accession area, and Z
  1. ; is the ien within the date subscript.
  1. I BLRACC=+BLRACC D I 1 ; CY, SP, EM, AU
  1. . S BLRNUM=BLRACC ; accession ien by datesub
  1. . S BLRAIEN=$O(^LRO(68,"B",BLRSUB,0)) ; get accession area
  1. . Q
  1. E D ; CH, BB, MI etc.
  1. . S BLRNUM=$P(BLRACC," ",3) ; accession ien by datesub
  1. . S BLRAIEN=$O(^LRO(68,"B",$P(BLRACC," "),0)) ;get accession area
  1. . Q
  1. Q:'BLRAIEN ; quit if no accession area
  1. S BLRSTYPE=$P(^LRO(68,BLRAIEN,0),U,3) ; get daily, yearly, etc.
  1. Q:BLRSTYPE="" ; quit if bad data
  1. ; get specimen date and compute date subscript
  1. I BLRSUB="AU" S BLRDATE=$P(+^LR(BLROLD,BLRSUB),".") I 1
  1. E S BLRDATE=$P(+^LR(BLROLD,BLRSUB,BLRINVDT,0),".")
  1. D @("SETDS"_BLRSTYPE) ; compute date subscript
  1. ; compute accession number in form XX YY Z for lookup into blr tx log
  1. I BLRACC=+BLRACC D ; CY, SP, EM, AU
  1. . S X=$E(BLRDATE,2,3) ; get year
  1. . S BLRACC=BLRSUB_" "_X_" "_BLRACC ; set to XX YY Z
  1. . Q
  1. Q
  1. ;
  1. SETDSD ; SET DATE SUB DAILY
  1. S BLRDTSUB=BLRDATE
  1. Q
  1. ;
  1. SETDSM ; SET DATE SUB MONTHLY
  1. S BLRDTSUB=$E(BLRDATE,1,5)_"00"
  1. Q
  1. ;
  1. SETDSQ ; SET DATE SUB QUARTERLY
  1. S BLRDTSUB=$E(BLRDATE,1,3)_"0000"+(($E(BLRDATE,4,5)-1)\3*300+100)
  1. Q
  1. ;
  1. SETDSY ; SET DATE SUB YEARLY
  1. S BLRDTSUB=$E(BLRDATE,1,3)_"0000"
  1. Q
  1. ;
  1. DIE ; ^DIE CALL
  1. D ^DIE
  1. K DA,DIE,DR
  1. Q
  1. ;
  1. DIK ; CALL ^DIK
  1. D ^DIK
  1. K DA,DIK
  1. Q
  1. ;
  1. IX1 ; CALL IX1^DIK
  1. D IX1^DIK
  1. K DA,DIK
  1. Q