* ---------------------------------------------------------------- ; * --- VERSION 1.1 --- ; * ---------------------------------------------------------------- ; * Copyright information: The Maternal Quality Indicators (MQI) Group, Moshe Fridman, PhD Kimberly Gregory, MD, MPH Lisa Korst, MD, PhD Michael Lu, MD, MPH ; ******************************************************************* ; ****************************PLEASE READ**************************** ; ******************************************************************* ; *===============================================================; * Title: MQI SAS Code for delivery route, cesarean indication, * delivery risk group and delivery outcomes. * * Input: Discharge records for deliveries: MDC='14' and * DRG in '370','371','372','373','374', or '375'. * This program assumes up to 25 diagnosis and 21 procedure codes * per discharge record. If a different number of codes are * available it can be modified accordingly. * * Description: * Define variables for delivery route, cesarean indication, * delivery risk group and delivery outcomes from inpatient * delivery records. Uses ICD9 diagnosis and procedure codes from * administrative hospital discharge data. The suffix 'M' in variable * names stands for Maternal to distinguish from neonatal in linked * data. A general assumption is that if codes for a condition * or a procedure are lacking, it was not present. This program * does not distinguish between primary and secondary codes. * Rather it loops through all codes to determine the presence or * absence of a specific code. The operator '=:' means 'starts with', * so for example diagm[i]=:'6591' means the ith diagnostic ICD9 code * is of the form 659.1x * * >>>last updated: 060709; used in hospital discharge data through 2005; Data after 2005 may require additional codes secondary to new ICD9 variables <<< * * USER NOTE: Calling program has to include code into datastep that */ * contains the required variables used in definition. Make sure * your existing variable names and attributes match the code below. * *===============================================================; array DIAGM DIAGM00-DIAGM24; *Maternal ICD9 diagnosis codes; array PROCM PROCM00-PROCM20; *Maternal ICD9 procedure codes; ************************* DELIVERY ROUTE CATEGORIES ********************; ***LABEL CESAREAN; IF DRGM = '370' OR DRGM = '371' THEN CS = 1; ELSE CS = 0; ***LABEL LABOR FOR VAGINAL DELIVERIES; IF CS = 0 THEN LABOR = 1; ***LABEL LABOR, BREECH DELIVERY, PRIOR CS, MALPRESENTATION, MULTIPLE GEST,; ***PRETERM DELIVERY, DIABETES, CHORIOAMNIONITIS, PROM AND HYPERTENSION; BREECHDL = 0; * BREECH DELIVERY; PRIORCS = 0; * PRIOR CS; MALPRES = 0; * MALPRESENTATION; MULTGEST = 0; * MULTIPLE GESTESTATION; PRETERM = 0; * PRETERM DELIVERY; SUGAR = 0; * DIABETES; CHORIO = 0; * CHORIOAMNIONITIS; ROM24 = 0; * PROLONGED RUPTURE OF MEMBRANCES; ***LABEL HYPERTENSION COMPONENTS; SEVEREBP = 0; OTHERBP = 0; BP400 = 0; DO i=1 TO 25; * LOOP OVER ALL MATERNAL DIAGNOSIS CODES; ***LABEL BREECH DELIVERY; IF DIAGM[i]=: '6696' THEN BREECHDL = 1; ***LABEL LABOR; IF DIAGM[i]=:'653' OR DIAGM[i]=:'660' OR DIAGM[i]=:'661' OR DIAGM[i]=:'662' OR DIAGM[i]=:'6521' OR DIAGM[i]=:'6591' OR DIAGM[i]=:'6563' OR DIAGM[i]=:'6630' OR DIAGM[i]=:'6597' THEN LABOR = 1; ***LABEL PRIOR CESAREAN; IF diagm[i]=:"6542" THEN PRIORCS = 1; ***LABEL MALPRESENTATION; IF DIAGM[i]=:'652' AND NOT(DIAGM[i]=:'6521') AND NOT(DIAGM[i]=:'6525') THEN MALPRES = 1; ***LABEL MULTIPLE GESTATION; IF DIAGM[i]=:'651' THEN MULTGEST = 1; ***LABEL PRETERM DELIVERY FROM MATERNAL CODES; IF DIAGM[i]=:'6442' THEN PRETERM = 1; ***LABEL DIABETES; IF DIAGM[i]=:'6480' OR DIAGM[i]=:'250' OR DIAGM[i]=:'6488' THEN SUGAR= 1; ***LABEL CHORIOAMNIONITIS; IF DIAGM[i]=: '6584' THEN CHORIO = 1; ***LABEL PROLONGED RUPTURE OF MEMBRANES; IF DIAGM[i]=: '6582' THEN ROM24 = 1; ***LABEL COMPONENTS FOR HYPERTENSION; IF DIAGM[i]=: '6425' OR DIAGM[i]=: '6426' THEN SEVEREBP = 1; IF DIAGM[i]=: '642' AND NOT(DIAGM[i]=: '6425') AND NOT(DIAGM[i]=: '6426') THEN OTHERBP = 1; IF DIAGM[i]=: '401' OR DIAGM[i]=: '402' OR DIAGM[i]=: '403' OR DIAGM[i]=: '404' OR DIAGM[i]=: '405' THEN BP400 = 1; END; * END LOOP; ***LABEL HYPERTENSION; IF SEVEREBP=1 OR OTHERBP=1 OR BP400=1 THEN ANYBP=1; ELSE ANYBP=0; ***LABEL DELIVERY ROUTE; LENGTH ROUTE $ 8; IF LABOR NE 1 THEN LABOR = 0; IF LABOR = 1 AND CS = 0 THEN ROUTE = "LABVAG"; IF LABOR = 1 AND CS = 1 THEN ROUTE = "LABCS"; IF LABOR = 0 AND CS = 1 THEN ROUTE = "ELECTCS"; IF PRIORCS = 1 AND ROUTE = "LABVAG" THEN ROUTE = "VBAC"; IF PRIORCS = 1 AND ROUTE = "LABCS" THEN ROUTE = "FAILVBAC"; IF PRIORCS = 1 AND ROUTE = "ELECTCS" THEN ROUTE = "ELECTRPT"; ******LABEL OTHER MATERNAL, FETAL AND PLACENTAL CONDITIONS AT DELIVERY**; *** ADDITIONAL COMORBIDITIES; LIVER = 0; * LIVER DISEASE; RENAL = 0; * RENAL DISEASE; THYROID = 0; * THYROID DISEASE; HERPES = 0; * HERPES; ASTHMA = 0; * ASTHMA; HEART = 0; * CARDIAC DISEASE; MENTAL = 0; * MENTAL DISEASE; ISOIMMUN = 0; * ISOIMMUNE SYSTEM DISEASE; SUBABUSE = 0; * SUBSTANCE ABUSE; PULM = 0; * PULMONARY DISEASE; OBESITY=0; * OBSESITY; ***LABEL ANTE-PARTUM, LABOR AND DELIVERY COMPLICATIONS; APBLEED=0; * ANTE-PARTUM BLEED; PROTRACTED_LABOR_old=0; * ONLY INCLUDES PROTRACTED LABOR; PROTRACTED_LABOR=0; *INCLUDES BOTH PROTRACTED AND OBSTRUCTED LABOR; UTSCAROT = 0; * OTHER UTERINE SCAR; MACRO = 0; * MACROSOMIA; UNENGAGE = 0; * UNENGAGED HEAD; SOFTTISS = 0; * SOFT TISSUE; PULMEMBO = 0; * PULMONARY EMBOLISM; CEREBHEM = 0; * CEREBRAL HEMORRHAGE; CHRABNL = 0; * CHROMOSOMAL ABNORMALITY; OBSHOCK = 0; * OBSTETRIC SHOCK; MAT_DISTRS=0; * MATERNAL DISTRESS; UTRUPT = 0; * UTERINE RUPTURE; UT_DEHISC=0; * UTERINE DEHISCENCE; UTINFXN = 0; OLIGOPG = 0; * OLIGOHYDRAMNIOS; POLYPG = 0; * POLYHYDRAMNIOS; IUGRPG = 0; * POOR FETAL GROWTH; IUFD = 0; * INTRA-UTERINE FETAL DEATH; ***LABEL POSTPARTUM HEMORRHAGE COMPONENTS; HEMST3 = 0; * THIRD STAGE HEMORRHAGE; HEMIMMED = 0; * POSTPARTUM HEMORRHAGE; HEMDELAY = 0; * DELAYED HEMORRHAGE; HEMCOAG = 0; * COAGULATION PROBLEMS; ***LABEL CESAREAN SECTION COMPLICATIONS; INJ_CS = 0; * CS INJURY; SURG_COMP=0; * CS SURGICAL COMPLICATIONS; WOUND_COMP=0; * CS WOUND COMPLICATIONS; ***LABEL ANESTHESIA COMPLICATION COMPONENTS; ANESTH_PULM=0; ANESTH_CARD=0; ANESTH_CNS=0; ANESTH_OTH_SPEC=0; ANESTH_UNSP=0; ANESTH_668=0; ANESTH_349=0; DVT_ANTE=0; * ANTE-PARTUM DVT; DVT_POST=0; * POSTPARTUM DVT; DO i=1 TO 25; * LOOP OVER ALL MATERNAL DIAGNOSTIC CODES; IF DIAGM[i]=: '6467' THEN LIVER = 1; IF DIAGM[i]=: '6462' THEN RENAL = 1; IF DIAGM[i]=: '6481' THEN THYROID = 1; IF DIAGM[i]=: '6476' OR DIAGM[i]=: '054' THEN HERPES = 1; IF DIAGM[i]=: '493' THEN ASTHMA = 1; IF DIAGM[i]=: '6485' OR DIAGM[i]=: '6486' THEN HEART = 1; IF DIAGM[i]=: '6484' THEN MENTAL = 1; IF DIAGM[i]=: '6561' OR DIAGM[i]=: '6562' THEN ISOIMMUN = 1; IF DIAGM[i]=: '6483' THEN SUBABUSE = 1; IF DIAGM[i]=: '518' THEN PULM = 1; IF DIAGM[i]=: '278' THEN OBESITY=1; IF DIAGM[i]=: '641' THEN APBLEED = 1; IF DIAGM[i]=:'6620' OR DIAGM[i]=:'6621' OR DIAGM[i]=:'6622' THEN PROTRACTED_LABOR_OLD= 1; IF DIAGM[i]=:'6620' OR DIAGM[i]=:'6621' OR DIAGM[i]=:'6622' OR DIAGM[i]=:'6601' OR DIAGM[i]=:'6602' OR DIAGM[i]=:'6603' OR DIAGM[i]=:'6606' OR DIAGM[i]=:'6608' OR DIAGM[i]=:'6609' OR DIAGM[i]=:'6610' OR DIAGM[i]=:'6611' OR DIAGM[i]=:'6612' OR DIAGM[i]=:'6614' OR DIAGM[i]=:'6619') THEN PROTRACTED_LABOR= 1; IF DIAGM[i]=: '6549' THEN UTSCAROT = 1; IF DIAGM[i]=: '6566' THEN MACRO = 1; IF DIAGM[i]=: '6525' THEN UNENGAGE = 1; IF DIAGM[i]=: '6540' OR DIAGM[i]=: '6541' OR DIAGM[i]=: '6544' OR DIAGM[i]=: '6545' OR DIAGM[i]=: '6546' OR DIAGM[i]=: '6547' THEN SOFTTISS = 1; IF DIAGM[i]=: '6730' OR DIAGM[i]=: '6731' OR DIAGM[i]=: '6732' OR DIAGM[i]=: '6733' THEN PULMEMBO = 1; IF DIAGM[i]=: '431' OR DIAGM[i]=: '432' OR DIAGM[i]=: '433' OR DIAGM[i]=: '434' THEN CEREBHEM = 1; IF DIAGM[i]=: '6442' THEN PRETGEST = 1; IF DIAGM[i]=: '6550' OR DIAGM[i]=: '6551' THEN CHRABNL = 1; IF DIAGM[i]=: '6691' OR DIAGM[i]=: '6692' THEN OBSHOCK = 1; IF DIAGM[i]=: '6690' THEN MAT_DISTRS=1; IF DIAGM[i]=: '6650' OR DIAGM[i]=: '6651' THEN UTRUPT = 1; IF DIAGM[i]=: '6741' THEN UT_DEHISC=1; IF DIAGM[i]=: '670' THEN UTINFXN = 1; IF DIAGM[i]=: '657' THEN POLYPG = 1; IF DIAGM[i]=: '6580' THEN OLIGOPG = 1; IF DIAGM[i]=: '6565' THEN IUGRPG = 1; IF DIAGM[i]=: '6564' THEN IUFD = 1; IF DIAGM[i]=: '6660' THEN HEMST3 = 1; IF DIAGM[i]=: '6661' THEN HEMIMMED = 1; IF DIAGM[i]=: '6662' THEN HEMDELAY = 1; IF DIAGM[i]=: '6663' THEN HEMCOAG = 1; IF DIAGM[i]=: '6489' THEN INJ_CS = 1; IF DIAGM[i]=: '6742' OR DIAGM[i]=: '6743' THEN WOUND_COMP=1; IF DIAGM[i]=: '998' THEN SURG_COMP=1; IF DIAGM[i]=: '6680' THEN ANESTH_PULM=1; IF DIAGM[i]=: '6681' THEN ANESTH_CARD=1; IF DIAGM[i]=: '6682' THEN ANESTH_CNS=1; IF DIAGM[i]=: '6688' THEN ANESTH_OTH_SPEC=1; IF DIAGM[i]=: '6689' THEN ANESTH_UNSP=1; IF DIAGM[i]=: '668' THEN ANESTH_668=1; IF DIAGM[i]=: '349' THEN ANESTH_349=1; IF DIAGM[i]=: '6713' THEN DVT_ANTE=1; IF DIAGM[i]=: '6714' THEN DVT_POST=1; END; * END LOOP; ***LABEL ANESTHESIA COMPLICATION; IF ANESTH_PULM=1 OR ANESTH_CARD=1 OR ANESTH_CNS=1 OR ANESTH_OTH_SPEC=1 OR ANESTH_UNSP=1 OR ANESTH_668=1 OR ANESTH_349=1 THEN ANESTH_COMP=1; ELSE ANESTH_COMP=0; ***LABEL POSTPARTUM HEMORRHAGE; IF HEMST3=1 OR HEMIMMED=1 OR HEMDELAY=1 OR HEMCOAG=1 THEN PPH=1; ELSE PPH=0; ***LABEL PARITY/GRAVIDITY; ELDERPRIMI = 0; * ELDERLY PRIMIVIDA (first pregnancy and >35 y.o.); MULTIGRAV = 0; * MULTIGRAVIDA (second or more pregnancy); GRNDMULT = 0; * GRAND MULTIPARA (Given birth 5 or more times); *****OTHER L&D COMPLICATION CODES; POSTDATE = 0; * LATE TERM; HIVMOM = 0; * HIV; ACIDEMIA= 0; * ACIDEMIA (USED TO BE FETAL DISTRESS); ABNLFHR = 0; * ABNORMAL FETAL HEART RATE; CORDPROL = 0; CORDCOMP = 0; DYSTOCIA = 0; SHRTCORD = 0; VASAPREV = 0; VASCCORD = 0; VELACORD = 0; HEMEARLY = 0; * EARLY HEMORRHAGE (DEFINED BEFORE 22 WK); PREVSHEM=0; PREVCHEM=0; ABRUPT=0; APHMCOAG=0; APHEMOTH=0; APHEMNOS=0; *** LACERATIONS; LACNDEG1 = 0; * FIRST DEGREE; LACNDEG2 = 0; * SECOND DEGREE; LACNDEG3 = 0; * THIRD DEGREE; LACNDEG4 = 0; * FOURTH DEGREE; LACNNOS = 0; * NOT OTHERWISE SPECIFIED; CXLACN = 0; * CERVICAL LACERATION; HIVAGLAC = 0; * HIGH VAGINAL LACERATION; BLADLACN = 0; * BLADDER LACERATION; HEMATVUL = 0; * PERINEAL HEMATOMA; HEMATVAG = 0; * PELVIC HEMATOMA; TRAUVOTH = 0; TRAUVNOS = 0; UTINVERT = 0; * INVERSE UTERUS; SYMPHSEP = 0; ***OTHER PELVIC TRAUMA; TRAUPOTH = 0; TRAUPNOS = 0; ***RETAINED PLACENTA S HEMORRHAGE; RETPLAC = 0; * RETAINED PLACENTA; RETPOC = 0; * RETAINED PROD; KIDNFAIL = 0; * KIDNEY FAILURE; SERIOUS = 0; * OTHER SPECIFIED SERIOUS MAT COMPS; PNEUMON_MAT = 0;*MATERNAL PNEUMONIA; DO i=1 TO 25; * LOOP OVER ALL MATERNAL DIAGNOSTIC CODES; IF DIAGM[i]=: '6595' OR DIAGM[i]=: 'V2381' THEN ELDERPRIMI = 1; IF DIAGM[i]=: '6596' OR DIAGM[i]=: 'V2382' THEN MULTIGRAV = 1; IF DIAGM[i]=: '6594' OR DIAGM[i]=: 'V233' THEN GRNDMULT = 1; IF DIAGM[i]=: '645' THEN POSTDATE = 1; IF DIAGM[i]=: '042' OR DIAGM[i]=: 'V08' THEN HIVMOM = 1; IF DIAGM[i]=: '6563' THEN ACIDEMIA = 1; IF DIAGM[i]=: '6597' THEN ABNLFHR = 1; IF DIAGM[i]=: '6630' THEN CORDPROL = 1; IF DIAGM[i]=: '6631' OR DIAGM[i]=: '6632' THEN CORDCOMP = 1; IF (DIAGM[i]=: '660' OR DIAGM[i]=: '662' OR DIAGM[i]=: '661') AND NOT DIAGM[i]=: '6613' THEN DYSTOCIA = 1; IF DIAGM[i]=: '6634' THEN SHRTCORD = 1; IF DIAGM[i]=: '6635' THEN VASAPREV = 1; IF DIAGM[i]=: '6636' THEN VASCCORD = 1; IF DIAGM[i]=: '6648' THEN VELACORD = 1; IF DIAGM[i]=: '640' THEN HEMEARLY = 1; IF DIAGM[i]=: '6410' THEN PREVSHEM = 1; IF DIAGM[i]=: '6411' THEN PREVCHEM = 1; IF DIAGM[i]=: '6412' THEN ABRUPT = 1; IF DIAGM[i]=: '6413' THEN APHMCOAG = 1; IF DIAGM[i]=: '6418' THEN APHEMOTH = 1; IF DIAGM[i]=: '6419' THEN APHEMNOS = 1; IF DIAGM[i]=: '6640' THEN LACNDEG1 = 1; IF DIAGM[i]=: '6641' THEN LACNDEG2 = 1; IF DIAGM[i]=: '6642' THEN LACNDEG3 = 1; IF DIAGM[i]=: '6643' THEN LACNDEG4 = 1; IF DIAGM[i]=: '6644' THEN LACNNOS = 1; IF DIAGM[i]=: '6645' THEN HEMATVUL = 1; IF DIAGM[i]=: '6657' THEN HEMATVAG = 1; IF DIAGM[i]=: '6648' THEN TRAUVOTH = 1; IF DIAGM[i]=: '6649' THEN TRAUVNOS = 1; IF DIAGM[i]=: '6652' THEN UTINVERT = 1; IF DIAGM[i]=: '6653' THEN CXLACN = 1; IF DIAGM[i]=: '6654' THEN HIVAGLAC = 1; IF DIAGM[i]=: '6655' THEN BLADLACN = 1; IF DIAGM[i]=: '6656' THEN SYMPHSEP = 1; IF DIAGM[i]=: '6658' THEN TRAUPOTH = 1; IF DIAGM[i]=: '6659' THEN TRAUPNOS = 1; IF DIAGM[i]=: '6670' THEN RETPLAC = 1; IF DIAGM[i]=: '6671' THEN RETPOC = 1; IF DIAGM[i]=: '6693' THEN KIDNFAIL = 1; IF DIAGM[i]=: '6694' THEN SERIOUS = 1; IF DIAGM[i]=:'481' OR DIAGM[i]=:'482' OR DIAGM[i]=:'485' OR DIAGM[i]=:'486' THEN PNEUMON_MAT = 1; END; * END LOOP; *** DELIVERY PROCEDURES:; ***FORCEPS, VACUUM, BREECH, INDUCTION (medical/surgical), ; ***EPISIOTOMY PROCEDURES, HYSTERECTOMY, BLOOD TRANSFUSION, POSTPARTUM D&C; ***REMOVAL OF PLACENTA, MANUAL EXPLORE UTERUS AND ANTIBIOTIC INJECTION; FORCEPPR = 0; * FORCEPS; BREECHPR = 0; * BREECH; VACUUMPR = 0; * VACUUM; FAILFORCEP = 0; * FAILED FORECEP (CS); INSTRUMTNOS = 0; * INSTRUMENTAL DELIVERY NOT OTHERWISE SPECIFIED; INDSURG = 0; * SURGICAL INDUCTION; INDUCTMD = 0; * MEDICAL INDUCTION; INDUCTANY = 0; * ANY INDUCTION; PGRIPEN = 0; * PROSTAGLANDIN RIPENING; EPISIOT = 0; * EPISIOTOMY; HYSTERECT = 0; * HYSTERECTOMY; TFUSION = 0; * BLOOD TRANSFUSION; PPDANDC = 0; * D&C POST DELIVERY; MANUALPL = 0; * MANUAL REMOVAL OF PLACENTA; EXPLORUT = 0; * POSTPARTUM MANUAL EXPLORE UTERUS; ABX_MAT = 0; * INJECT ANTIBIOTIC; DO i=1 TO 21; * LOOP OVER ALL MATERNAL PROCEDURE CODES; IF PROCM[i]=: '720' OR PROCM[i]=: '721' OR PROCM[i]=: '722' OR PROCM[i]=: '723' OR PROCM[i]=: '724' THEN FORCEPPR = 1; IF PROCM[i]=: '725' OR PROCM[i]=: '726' THEN BREECHPR = 1; IF PROCM[i]=: '727' THEN VACUUMPR = 1; IF PROCM[i]=: '733' THEN FAILFORCEP = 1; IF PROCM[i]=: '728' OR PROCM[i]=: '729' THEN INSTRUMTNOS = 1; IF PROCM[i]=: '731' OR PROCM[i]=: '7301' THEN INDSURG = 1; IF PROCM[i]=: '734' THEN INDUCTMD = 1; IF PROCM[i]=: '9649' THEN PGRIPEN = 1; IF PROCM[i]=: '736' THEN EPISIOT = 1; IF PROCM[i]=: '683' OR PROCM[i]=: '684' OR PROCM[i]=: '685' OR PROCM[i]=: '686' OR PROCM[i]=: '687' OR PROCM[i]=: '689' THEN HYSTERECT =1; IF PROCM[i]=: '990' THEN TFUSION = 1; IF PROCM[i]=: '6902' THEN PPDANDC = 1; IF PROCM[i]=: '754' THEN MANUALPL = 1; IF PROCM[i]=: '757' THEN EXPLORUT = 1; IF PROCM[i]=: '9921' THEN ABX_MAT = 1; END; * END LOOP; ***LABEL DELIVERY PROCEDURE (INSTRUMENTAL DELIVERY); IF INSTRUMTNOS = 1 OR FORCEPPR = 1 OR VACUUMPR = 1 THEN DELPROC = 1; ELSE DELPROC = 0; ***LABEL ANY INDUCTION; IF INDSURG = 1 OR INDUCTMD = 1 THEN INDUCTANY = 1;