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

ABME8SV2.m

Go to the documentation of this file.
  1. ABME8SV2 ; IHS/ASDST/DMJ - 837 SV2 Segment
  1. ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
  1. ;Transaction Set Header
  1. ;
  1. ; IHS/SD/SDR - v2.5 p8 - IM13475/IM16216
  1. ; Modified to evaluate as string, not just numeric
  1. ;
  1. ; IHS/SD/SDR - v2.5 p8 - IM13693/IM17856
  1. ; Remove leading zeros
  1. ;
  1. ; IHS/SD/SDR - v2.5 p9 - IM16660
  1. ; 4-digit revenue codes
  1. ;
  1. ; IHS/SD/SDR - v2.5 p10 - IM20395
  1. ; Split out lines bundled by rev code
  1. ;
  1. ;
  1. EP ;EP
  1. K ABMREC("SV2"),ABMR("SV2")
  1. S ABME("RTYPE")="SV2"
  1. D LOOP
  1. K ABME
  1. Q
  1. LOOP ;LOOP HERE
  1. F I=10:10:110 D
  1. .D @I
  1. .I $D(^ABMEXLM("AA",+$G(ABMP("INS")),+$G(ABMP("EXP")),ABME("RTYPE"),I)) D @(^(I))
  1. .I $G(ABMREC("SV2"))'="" S ABMREC("SV2")=ABMREC("SV2")_"*"
  1. .S ABMREC("SV2")=$G(ABMREC("SV2"))_ABMR("SV2",I)
  1. Q
  1. 10 ;segment
  1. S ABMR("SV2",10)="SV2"
  1. Q
  1. 20 ;SV201 - Product/Service ID
  1. ; Revenue code
  1. S ABMR("SV2",20)=$P($G(^AUTTREVN(ABMREV,0)),U)
  1. S ABMR("SV2",20)=$$FMT^ABMERUTL(ABMR("SV2",20),"4NR")
  1. Q
  1. 30 ;SV202 - Composite Medical Procedure Identifier
  1. ;SV202-1 Product Service ID Qualifier
  1. ;SV202-2 Product Service ID (Procedure Code)
  1. S ABMR("SV2",30)=""
  1. I $P(ABMRV(ABMREV,ABMCODE,ABMCNTR),U,2)'="" D
  1. .S ABMR("SV2",30)="HC"
  1. .S $P(ABMR("SV2",30),":",2)=$P(ABMRV(ABMREV,ABMCODE,ABMCNTR),U,2)
  1. .;modifiers
  1. .N I,J
  1. .S J=2
  1. .F I=3,4,12,13 D
  1. ..Q:$P(ABMRV(ABMREV,ABMCODE,ABMCNTR),U,I)=""
  1. ..S J=J+1
  1. ..S $P(ABMR("SV2",30),":",J)=$P(ABMRV(ABMREV,ABMCODE,ABMCNTR),U,I)
  1. .;SV202-7 Description (Not used)
  1. Q
  1. 40 ;SV203 - Monetary Amount (Charges)
  1. S ABMR("SV2",40)=$P(ABMRV(ABMREV,ABMCODE,ABMCNTR),U,6)
  1. S ABMR("SV2",40)=$$TRIM^ABMUTLP($J(ABMR("SV2",40),0,2),"L","0")
  1. Q
  1. 50 ;SV204 - Unit or Basis for Measurement Code
  1. S ABMR("SV2",50)="UN"
  1. I ABMP("ITYPE")="P",((ABMREV>"0100")&(ABMREV<"0229")) S ABMR("SV2",50)="DA"
  1. Q
  1. 60 ;SV205 - Quantity
  1. S ABMR("SV2",60)=$P(ABMRV(ABMREV,ABMCODE,ABMCNTR),U,5)
  1. Q
  1. 70 ;SV206 - Unit Rate
  1. S ABMR("SV2",70)=""
  1. I ABMREV>99,ABMREV<220 D
  1. .S ABMR("SV2",70)=$P(ABMRV(ABMREV,ABMCODE,ABMCNTR),U,8)
  1. .S ABMR("SV2",70)=$J(ABMR("SV2",70),0,2)
  1. Q
  1. 80 ;SV207 - Monetary Amount (Non covered charges)
  1. S ABMR("SV2",80)=""
  1. Q
  1. 90 ;SV208 - Yes/No Condition or Response Code (Not used)
  1. S ABMR("SV2",90)=""
  1. Q
  1. 100 ;SV209 - Nursing Home Residential Status Code (Not used)
  1. S ABMR("SV2",100)=""
  1. Q
  1. 110 ;SV210 - Leve of Care Code (Not used)
  1. S ABMR("SV2",110)=""
  1. Q