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

HLPAT96.m

Go to the documentation of this file.
  1. HLPAT96 ;CIOFO-SF/RJH - HL7 PATCH 96 PRE&POST-INIT ;02/25/03 18:12 [ 12/23/2003 3:59 PM ]
  1. ;;1.6;HEALTH LEVEL SEVEN;**96,1005**;Oct 13, 1995
  1. ;
  1. ; Pre-install:
  1. ; 1. find the duplicate entries in file #779.001, #771.2 and #771.3
  1. ; 2. resolve the pointers for fields: #101,770.4(event type),
  1. ; #101,770.3(message type), #101,770.11(message type).
  1. ; 3. resolve the pointers for fields: #773,16(event type),
  1. ; #773,15(message type).
  1. ; 4. resolve the pointer for sub-field: #771.06,.01(message type)
  1. ; of field #771,6, and #771.05,.01(segment type) of field #771,5.
  1. ; 5. delete duplicates in files #779.001, #771.2 and #771.3.
  1. ; and disable the Identifiers for files: #779.001, #771.2, #771.3
  1. Q
  1. PRE ;
  1. N HLTEMP
  1. S HLTEMP=$$NEWCP^XPDUTL("PRE1","PRE1^HLPAT96")
  1. S HLTEMP=$$NEWCP^XPDUTL("PRE2","PRE2^HLPAT96")
  1. S HLTEMP=$$NEWCP^XPDUTL("PRE3","PRE3^HLPAT96")
  1. S HLTEMP=$$NEWCP^XPDUTL("PRE4","PRE4^HLPAT96")
  1. S HLTEMP=$$NEWCP^XPDUTL("PRE5","PRE5^HLPAT96")
  1. Q
  1. PRE1 ;
  1. N HLEVNARY,HLMSGARY,HLSEGARY
  1. D CHANGE
  1. D EVN^HLPAT96B
  1. D MSG^HLPAT96B
  1. D SEG^HLPAT96B
  1. I $D(^XTMP("HLPAT96")) K ^XTMP("HLPAT96")
  1. I $D(HLEVNARY) M ^XTMP("HLPAT96","EVN")=HLEVNARY
  1. I $D(HLMSGARY) M ^XTMP("HLPAT96","MSG")=HLMSGARY
  1. I $D(HLSEGARY) M ^XTMP("HLPAT96","SEG")=HLSEGARY
  1. I $D(HLEVNARY)!$D(HLMSGARY)!$D(HLSEGARY) S ^XTMP("HLPAT96",0)=$$FMADD^XLFDT(DT,90)_U_DT
  1. Q
  1. PRE2 ;
  1. Q:'$D(^XTMP("HLPAT96","EVN"))&'$D(^XTMP("HLPAT96","MSG"))&'$D(^XTMP("HLPAT96","SEG"))
  1. I $D(^XTMP("HLPAT96","EVN")) M HLEVNARY=^XTMP("HLPAT96","EVN")
  1. I $D(^XTMP("HLPAT96","MSG")) M HLMSGARY=^XTMP("HLPAT96","MSG")
  1. D PTR101
  1. Q
  1. PRE3 ;
  1. Q:'$D(^XTMP("HLPAT96","EVN"))&'$D(^XTMP("HLPAT96","MSG"))&'$D(^XTMP("HLPAT96","SEG"))
  1. I $D(^XTMP("HLPAT96","EVN")) M HLEVNARY=^XTMP("HLPAT96","EVN")
  1. I $D(^XTMP("HLPAT96","MSG")) M HLMSGARY=^XTMP("HLPAT96","MSG")
  1. D PTR773
  1. Q
  1. PRE4 ;
  1. Q:'$D(^XTMP("HLPAT96","EVN"))&'$D(^XTMP("HLPAT96","MSG"))&'$D(^XTMP("HLPAT96","SEG"))
  1. I $D(^XTMP("HLPAT96","EVN")) M HLEVNARY=^XTMP("HLPAT96","EVN")
  1. I $D(^XTMP("HLPAT96","MSG")) M HLMSGARY=^XTMP("HLPAT96","MSG")
  1. I $D(^XTMP("HLPAT96","SEG")) M HLSEGARY=^XTMP("HLPAT96","SEG")
  1. D PTR771^HLPAT96A
  1. Q
  1. PRE5 ;
  1. D IDOFF^HLPAT96B
  1. Q:'$D(^XTMP("HLPAT96","EVN"))&'$D(^XTMP("HLPAT96","MSG"))&'$D(^XTMP("HLPAT96","SEG"))
  1. I $D(^XTMP("HLPAT96","EVN")) M HLEVNARY=^XTMP("HLPAT96","EVN")
  1. I $D(^XTMP("HLPAT96","MSG")) M HLMSGARY=^XTMP("HLPAT96","MSG")
  1. I $D(^XTMP("HLPAT96","SEG")) M HLSEGARY=^XTMP("HLPAT96","SEG")
  1. D DELETE^HLPAT96B
  1. Q
  1. CHANGE ; change message structure code entry from "RRI-I12" to "RRI_I12"
  1. N HLIEN,DIE,DA,DR
  1. S DIE="^HL(779.005,"
  1. S HLIEN=0
  1. F S HLIEN=$O(^HL(779.005,"B","RRI-I12",HLIEN)) Q:'HLIEN D
  1. . I $D(^HL(779.005,HLIEN)) D
  1. .. S DA=HLIEN
  1. .. S DR=".01///RRI_I12"
  1. .. D ^DIE
  1. Q
  1. PTR101 ; resolve pointers for file #101
  1. ;
  1. ; HLEVNP: pointer to file #779.001
  1. ; HLMSGP: pointer to file #771.2
  1. ; HLEVNPN: redirected new pointer to file #779.001
  1. ; HLMSGPN: redirected new pointer to file #771.2
  1. ;
  1. N HLIEN,HLEVNP,HLMSGP,HLEVNPN,HLMSGPN,DIE,DA,DR
  1. S HLIEN=0
  1. S DIE="^ORD(101,"
  1. F S HLIEN=$O(^ORD(101,HLIEN)) Q:'HLIEN D
  1. . I $D(^ORD(101,HLIEN,770)) D
  1. .. S HLEVNP=$P(^ORD(101,HLIEN,770),"^",4)
  1. .. S HLEVNPN=0
  1. .. I HLEVNP>0 S HLEVNPN=$$PEVN^HLPAT96A(HLEVNP)
  1. .. ; redirect pointer for field #101,770.4
  1. .. I HLEVNPN D
  1. ... S DA=HLIEN
  1. ... S DR="770.4////"_HLEVNPN
  1. ... D ^DIE
  1. .. ;
  1. .. S HLMSGP=$P(^ORD(101,HLIEN,770),"^",3)
  1. .. S HLMSGPN=0
  1. .. I HLMSGP>0 S HLMSGPN=$$PMSG^HLPAT96A(HLMSGP)
  1. .. ; redirect pointer for filed #101,770.3
  1. .. I HLMSGPN D
  1. ... S DA=HLIEN
  1. ... S DR="770.3////"_HLMSGPN
  1. ... D ^DIE
  1. .. ;
  1. .. S HLMSGP=$P(^ORD(101,HLIEN,770),"^",11)
  1. .. S HLMSGPN=0
  1. .. I HLMSGP>0 S HLMSGPN=$$PMSG^HLPAT96A(HLMSGP)
  1. .. ; redirect pointer for field #101,770.11
  1. .. I HLMSGPN D
  1. ... S DA=HLIEN
  1. ... S DR="770.11////"_HLMSGPN
  1. ... D ^DIE
  1. Q
  1. ;
  1. PTR773 ; resolve pointers for file #773
  1. ;
  1. ; HLEVNP: pointer to file #779.001
  1. ; HLMSGP: pointer to file #771.2
  1. ; HLEVNPN: redirected new pointer to file #779.001
  1. ; HLMSGPN: redirected new pointer to file #771.2
  1. ;
  1. N HLIEN,HLEVNP,HLMSGP,HLEVNPN,HLMSGPN,DIE,DA,DR
  1. S HLIEN=0
  1. S DIE="^HLMA("
  1. F S HLIEN=$O(^HLMA(HLIEN)) Q:'HLIEN D
  1. . I $D(^HLMA(HLIEN,0)) D
  1. .. S HLEVNP=$P(^HLMA(HLIEN,0),"^",14)
  1. .. S HLEVNPN=0
  1. .. I HLEVNP>0 S HLEVNPN=$$PEVN^HLPAT96A(HLEVNP)
  1. .. ; redirect pointer for field #773,16
  1. .. I HLEVNPN D
  1. ... S DA=HLIEN
  1. ... S DR="16////"_HLEVNPN
  1. ... D ^DIE
  1. .. ;
  1. .. S HLMSGP=$P(^HLMA(HLIEN,0),"^",13)
  1. .. S HLMSGPN=0
  1. .. I HLMSGP>0 S HLMSGPN=$$PMSG^HLPAT96A(HLMSGP)
  1. .. ; redirect pointer for filed #773,15
  1. .. I HLMSGPN D
  1. ... S DA=HLIEN
  1. ... S DR="15////"_HLMSGPN
  1. ... D ^DIE
  1. Q
  1. ;