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

PSOERXA4.m

Go to the documentation of this file.
  1. PSOERXA4 ;ALB/BWF - eRx Utilities/RPC's ; 8/3/2016 5:14pm
  1. ;;7.0;OUTPATIENT PHARMACY;**467**;DEC 1997;Build 153
  1. ;
  1. Q
  1. SS(EIENS) ;Structured Sig
  1. N SSGL,STSIG,SIGSEQ,MSIGMOD,FTSIG,FTSIGSI,SNOMEDV,FMTV,DCIND,DDMC,DDMCQ,DDMMC,DDMMCQ,DDMTEXT,DFC,DFCQ,DFTEXT,DQTY,DRNGMOD
  1. N DCBMQ,DCBMV,DCCDN,DCCDUMC,DCCDUMCQ,DCCDUMT,DCDBNV,DCDBRM,DCDBUMC,DCDBUMCQ,DCDBUMT,DURNV,DURTXT,DURTXTC,DURTXTCQ
  1. N IIPC,IIPCQ,IIPCT,IIT,IITC,IITCQ,IIVT,IIVU,IIVUMC,IIVUMCQ,IIVUMT,IIVM,MDRNV,MDRNCQ,MDRUC,MDRUT,MDRVDM,MDRVNV,MDRVUC
  1. N MDRVUCQ,MDRVUT,ROAMRAM,ROAMC,ROAMCQ,ROAMT,SAMATM,SASAC,SASACQ,TATC,TATCQ,TATT,TFNV,TFUC,TFUCQ,TFUT,TINV,TIUC,TIUCQ
  1. N TIUT,TMATM,TRUMC,TRUMCQ,TRUMT,TRA,TTPBC,TTPBCQ,TTPBT,TVFM,TVIM,VMVM,VN,VNC,VNCQ,VQTY,VUMC,VUMCQ,VUMT,STSCNT,SAT
  1. N STIENS,SF
  1. S SF=52.4911
  1. ;S SSGL=$NA(^TMP($J,"PSOERXO1","Message",0,"Body",0,"NewRx",0,"MedicationPrescribed",0,"StructuredSIG"))
  1. S SSGL=$NA(^TMP($J,"PSOERXO1","SIG",0,"StructuredSIG"))
  1. S STSCNT=0
  1. S STSIG=-1 F S STSIG=$O(@SSGL@(STSIG)) Q:STSIG="" D
  1. .S STSCNT=STSCNT+1
  1. .S STIENS="+"_STSCNT_","_EIENS
  1. .S SIGSEQ=$G(@SSGL@(STSIG,"RepeatingSIG",0,"SigSequencePositionNumber",0)),SFDA(SF,STIENS,.01)=SIGSEQ
  1. .S MSIGMOD=$G(@SSGL@(STSIG,"RepeatingSIG",0,"MultipleSigModifier",0)),SFDA(SF,STIENS,.02)=MSIGMOD
  1. .S FTSIG=$G(@SSGL@(STSIG,"FreeText",0,"SigFreeText",0)),SFDA(SF,STIENS,1)=FTSIG
  1. .S FTSIGSI=$G(@SSGL@(STSIG,"FreeText",0,"SigFreeTextStringIndicator",0)),SFDA(SF,STIENS,.05)=FTSIGSI
  1. .S SNOMEDV=$G(@SSGL@(STSIG,"CodeSystem",0,"SNOMEDVersion",0)),SFDA(SF,STIENS,.03)=SNOMEDV
  1. .S FMTV=$G(@SSGL@(STSIG,"CodeSystem",0,"FMTVersion",0)),SFDA(SF,STIENS,.04)=FMTV
  1. .; dose section
  1. .S DCIND=$G(@SSGL@(STSIG,"Dose",0,"DoseCompositeIndicator",0)),SFDA(SF,STIENS,2.1)=DCIND
  1. .S DDMC=$G(@SSGL@(STSIG,"Dose",0,"DoseDeliveryMethodCode",0)),SFDA(SF,STIENS,2.4)=DDMC
  1. .S DDMCQ=$G(@SSGL@(STSIG,"Dose",0,"DoseDeliveryMethodCodeQualifier",0)),SFDA(SF,STIENS,2.3)=DDMCQ
  1. .S DDMMC=$G(@SSGL@(STSIG,"Dose",0,"DoseDeliveryMethodModifierCode",0)),SFDA(SF,STIENS,2.6)=DDMMC
  1. .S DDMMCQ=$G(@SSGL@(STSIG,"Dose",0,"DoseDeliveryMethodModifierCodeQualifier",0)),SFDA(SF,STIENS,2.7)=DDMMCQ
  1. .S DDMTEXT=$G(@SSGL@(STSIG,"Dose",0,"DoseDeliveryMethodText",0)),SFDA(SF,STIENS,2.2)=DDMTEXT
  1. .S DFC=$G(@SSGL@(STSIG,"Dose",0,"DoseFormCode",0)),SFDA(SF,STIENS,3.3)=DFC
  1. .S DFCQ=$G(@SSGL@(STSIG,"Dose",0,"DoseFormCodeQualifier",0)),SFDA(SF,STIENS,3.4)=DFCQ
  1. .S DFTEXT=$G(@SSGL@(STSIG,"Dose",0,"DoseFormText",0)),SFDA(SF,STIENS,3.2)=DFTEXT
  1. .S DQTY=$G(@SSGL@(STSIG,"Dose",0,"DoseQuantity",0)),SFDA(SF,STIENS,3.1)=DQTY
  1. .S DRNGMOD=$G(@SSGL@(STSIG,"Dose",0,"DoseRangeModifier",0)),SFDA(SF,STIENS,3.5)=DRNGMOD
  1. .; dose calcuation section
  1. .S DCBMQ=$G(@SSGL@(STSIG,"DoseCalculation",0,"BodyMetricQualifier",0)),SFDA(SF,STIENS,4.5)=DCBMQ
  1. .S DCBMV=$G(@SSGL@(STSIG,"DoseCalculation",0,"BodyMetricValue",0)),SFDA(SF,STIENS,4.6)=DCBMV
  1. .S DCCDN=$G(@SSGL@(STSIG,"DoseCalculation",0,"CalculatedDoseNumeric",0)),SFDA(SF,STIENS,4.7)=DCCDN
  1. .S DCCDUMC=$G(@SSGL@(STSIG,"DoseCalculation",0,"CalculatedDoseUnitofMeasureCode",0)),SFDA(SF,STIENS,4.9)=DCCDUMC
  1. .S DCCDUMCQ=$G(@SSGL@(STSIG,"DoseCalculation",0,"CalculatedDoseUnitofMeasureCodeQualifier",0)),SFDA(SF,STIENS,4.11)=DCCDUMCQ
  1. .S DCCDUMT=$G(@SSGL@(STSIG,"DoseCalculation",0,"CalculatedDoseUnitofMeasureText",0)),SFDA(SF,STIENS,4.8)=DCCDUMT
  1. .S DCDBNV=$G(@SSGL@(STSIG,"DoseCalculation",0,"DosingBasisNumericValue",0)),SFDA(SF,STIENS,4.1)=DCDBNV
  1. .S DCDBRM=$G(@SSGL@(STSIG,"DoseCalculation",0,"DosingBasisRangeModifier",0)),SFDA(SF,STIENS,4.12)=DCDBRM
  1. .S DCDBUMC=$G(@SSGL@(STSIG,"DoseCalculation",0,"DosingBasisUnitofMeasureCode",0)),SFDA(SF,STIENS,4.3)=DCDBUMC
  1. .S DCDBUMCQ=$G(@SSGL@(STSIG,"DoseCalculation",0,"DosingBasisUnitofMeasureCodeQualifier",0)),SFDA(SF,STIENS,4.4)=DCDBUMCQ
  1. .S DCDBUMT=$G(@SSGL@(STSIG,"DoseCalculation",0,"DosingBasisUnitofMeasureText",0)),SFDA(SF,STIENS,4.2)=DCDBUMT
  1. .; duration
  1. .S DURNV=$G(@SSGL@(STSIG,"Duration",0,"DurationNumericValue",0)),SFDA(SF,STIENS,9.6)=DURNV
  1. .S DURTXT=$G(@SSGL@(STSIG,"Duration",0,"DurationText",0)),SFDA(SF,STIENS,9.7)=DURTXT
  1. .S DURTXTC=$G(@SSGL@(STSIG,"Duration",0,"DurationTextCode",0)),SFDA(SF,STIENS,9.8)=DURTXTC
  1. .S DURTXTCQ=$G(@SSGL@(STSIG,"Duration",0,"DurationTextCodeQualifier",0)),SFDA(SF,STIENS,9.9)=DURTXTCQ
  1. .; indication
  1. .S IIPC=$G(@SSGL@(STSIG,"Indication",0,"IndicationPrecursorCode",0)),SFDA(SF,STIENS,11.2)=IIPC
  1. .S IIPCQ=$G(@SSGL@(STSIG,"Indication",0,"IndicationPrecursorCodeQualifier",0)),SFDA(SF,STIENS,11.3)=IIPCQ
  1. .S IIPCT=$G(@SSGL@(STSIG,"Indication",0,"IndicationPrecursorText",0)),SFDA(SF,STIENS,11.1)=IIPCT
  1. .S IIT=$G(@SSGL@(STSIG,"Indication",0,"IndicationText",0)),SFDA(SF,STIENS,11.4)=IIT
  1. .S IITC=$G(@SSGL@(STSIG,"Indication",0,"IndicationTextCode",0)),SFDA(SF,STIENS,11.5)=IITC
  1. .S IITCQ=$G(@SSGL@(STSIG,"Indication",0,"IndicationTextCodeQualifier",0)),SFDA(SF,STIENS,11.6)=IITCQ
  1. .S IIVT=$G(@SSGL@(STSIG,"Indication",0,"IndicationValueText",0)),SFDA(SF,STIENS,12.1)=IIVT
  1. .S IIVU=$G(@SSGL@(STSIG,"Indication",0,"IndicationValueUnit",0)),SFDA(SF,STIENS,12.2)=IIVU
  1. .S IIVUMC=$G(@SSGL@(STSIG,"Indication",0,"IndicationValueUnitofMeasureCode",0)),SFDA(SF,STIENS,12.4)=IIVUMC
  1. .S IIVUMCQ=$G(@SSGL@(STSIG,"Indication",0,"IndicationValueUnitofMeasureCodeQualifier",0)),SFDA(SF,STIENS,12.5)=IIVUMCQ
  1. .S IIVUMT=$G(@SSGL@(STSIG,"Indication",0,"IndicationValueUnitofMeasureText",0)),SFDA(SF,STIENS,12.3)=IIVUMT
  1. .S IIVM=$G(@SSGL@(STSIG,"Indication",0,"IndicationVariableModifier",0)),SFDA(SF,STIENS,12.6)=IIVM
  1. .; Maximum Dose Restriction
  1. .S MDRNV=$G(@SSGL@(STSIG,"MaximumDoseRestriction",0,"MaximumDoseRestrictionNumericValue",0)),SFDA(SF,STIENS,10.1)=MDRNV
  1. .S MDRNCQ=$G(@SSGL@(STSIG,"MaximumDoseRestriction",0,"MaximumDoseRestrictionCodeQualifier",0)),SFDA(SF,STIENS,10.3)=MDRNCQ
  1. .S MDRUC=$G(@SSGL@(STSIG,"MaximumDoseRestriction",0,"MaximumDoseRestrictionUnitsCode",0)),SFDA(SF,STIENS,10.4)=MDRUC
  1. .S MDRUT=$G(@SSGL@(STSIG,"MaximumDoseRestriction",0,"MaximumDoseRestrictionUnitsText",0)),SFDA(SF,STIENS,10.2)=MDRUT
  1. .S MDRVDM=$G(@SSGL@(STSIG,"MaximumDoseRestriction",0,"MaximumDoseRestrictionVariableDurationModifier",0)),SFDA(SF,STIENS,10.9)=MDRVDM
  1. .S MDRVNV=$G(@SSGL@(STSIG,"MaximumDoseRestriction",0,"MaximumDoseRestrictionVariableNumericValue",0)),SFDA(SF,STIENS,10.5)=MDRVNV
  1. .S MDRVUC=$G(@SSGL@(STSIG,"MaximumDoseRestriction",0,"MaximumDoseRestrictionVariableUnitsCode",0)),SFDA(SF,STIENS,10.7)=MDRVUC
  1. .S MDRVUCQ=$G(@SSGL@(STSIG,"MaximumDoseRestriction",0,"MaximumDoseRestrictionVariableUnitsCodeQualifier",0)),SFDA(SF,STIENS,10.8)=MDRVUCQ
  1. .S MDRVUT=$G(@SSGL@(STSIG,"MaximumDoseRestriction",0,"MaximumDoseRestrictionVariableUnitsText",0)),SFDA(SF,STIENS,10.6)=MDRVUT
  1. .; Route of Administration
  1. .S ROAMRAM=$G(@SSGL@(STSIG,"RouteOfAdministration",0,"MultipleRouteofAdministrationModifier",0)),SFDA(SF,STIENS,6.4)=ROAMRAM
  1. .S ROAMC=$G(@SSGL@(STSIG,"RouteOfAdministration",0,"RouteofAdministrationCode",0)),SFDA(SF,STIENS,6.2)=ROAMC
  1. .S ROAMCQ=$G(@SSGL@(STSIG,"RouteOfAdministration",0,"RouteofAdministrationCodeQualifier",0)),SFDA(SF,STIENS,6.3)=ROAMCQ
  1. .S ROAMT=$G(@SSGL@(STSIG,"RouteOfAdministration",0,"RouteofAdministrationText",0)),SFDA(SF,STIENS,6.1)=ROAMT
  1. .; site of Administration
  1. .S SAMATM=$G(@SSGL@(STSIG,"SiteofAdministration",0,"MultipleAdministrationTimingModifier",0)),SFDA(SF,STIENS,6.8)=SAMATM
  1. .S SASAC=$G(@SSGL@(STSIG,"SiteofAdministration",0,"SiteofAdministrationCode",0)),SFDA(SF,STIENS,6.6)=SASAC
  1. .S SASACQ=$G(@SSGL@(STSIG,"SiteofAdministration",0,"SiteofAdministrationCodeQualifier",0)),SFDA(SF,STIENS,6.7)=SASACQ
  1. .S SAT=$G(@SSGL@(STSIG,"SiteofAdministration",0,"SiteofAdministrationText",0)),SFDA(SF,STIENS,6.5)=SAT
  1. .; Timing
  1. .S TATC=$G(@SSGL@(STSIG,"Timing",0,"AdministrationTimingCode",0)),SFDA(SF,STIENS,7.2)=TATC
  1. .S TATCQ=$G(@SSGL@(STSIG,"Timing",0,"AdministrationTimingCodeQualifier",0)),SFDA(SF,STIENS,7.3)=TATCQ
  1. .S TATT=$G(@SSGL@(STSIG,"Timing",0,"AdministrationTimingText",0)),SFDA(SF,STIENS,7.1)=TATT
  1. .S TFNV=$G(@SSGL@(STSIG,"Timing",0,"FrequencyNumericValue",0)),SFDA(SF,STIENS,8.4)=TFNV
  1. .S TFUC=$G(@SSGL@(STSIG,"Timing",0,"FrequencyUnitsCode",0)),SFDA(SF,STIENS,8.6)=TFUC
  1. .S TFUCQ=$G(@SSGL@(STSIG,"Timing",0,"FrequencyUnitsCodeQualifier",0)),SFDA(SF,STIENS,8.7)=TFUCQ
  1. .S TFUT=$G(@SSGL@(STSIG,"Timing",0,"FrequencyUnitsText",0)),SFDA(SF,STIENS,8.5)=TFUT
  1. .S TINV=$G(@SSGL@(STSIG,"Timing",0,"IntervalNumericValue",0)),SFDA(SF,STIENS,9.1)=TINV
  1. .S TIUC=$G(@SSGL@(STSIG,"Timing",0,"IntervalUnitsCode",0)),SFDA(SF,STIENS,9.3)=TIUC
  1. .S TIUCQ=$G(@SSGL@(STSIG,"Timing",0,"IntervalUnitsCodeQualifier",0)),SFDA(SF,STIENS,9.4)=TIUCQ
  1. .S TIUT=$G(@SSGL@(STSIG,"Timing",0,"IntervalUnitsText",0)),SFDA(SF,STIENS,9.2)=TIUT
  1. .S TMATM=$G(@SSGL@(STSIG,"Timing",0,"MultipleAdministrationTimingModifier",0)),SFDA(SF,STIENS,7.4)=TMATM
  1. .S TRUMC=$G(@SSGL@(STSIG,"Timing",0,"RateUnitofMeasureCode",0)),SFDA(SF,STIENS,7.7)=TRUMC
  1. .S TRUMCQ=$G(@SSGL@(STSIG,"Timing",0,"RateUnitofMeasureCodeQualifier",0)),SFDA(SF,STIENS,7.8)=TRUMCQ
  1. .S TRUMT=$G(@SSGL@(STSIG,"Timing",0,"RateUnitofMeasureText",0)),SFDA(SF,STIENS,7.6)=TRUMT
  1. .S TRA=$G(@SSGL@(STSIG,"Timing",0,"RateofAdministration",0)),SFDA(SF,STIENS,7.5)=TRA
  1. .S TTPBC=$G(@SSGL@(STSIG,"Timing",0,"TimePeriodBasisCode",0)),SFDA(SF,STIENS,8.2)=TTPBC
  1. .S TTPBCQ=$G(@SSGL@(STSIG,"Timing",0,"TimePeriodBasisCodeQualifier",0)),SFDA(SF,STIENS,8.3)=TTPBCQ
  1. .S TTPBT=$G(@SSGL@(STSIG,"Timing",0,"TimePeriodBasisText",0)),SFDA(SF,STIENS,8.1)=TTPBT
  1. .S TVFM=$G(@SSGL@(STSIG,"Timing",0,"VariableFrequencyModifier",0)),SFDA(SF,STIENS,8.8)=TVFM
  1. .S TVIM=$G(@SSGL@(STSIG,"Timing",0,"VariableIntervalModifier",0)),SFDA(SF,STIENS,9.5)=TVIM
  1. .; Vehicle
  1. .S VMVM=$G(@SSGL@(STSIG,"Vehicle",0,"MultipleVehicleModifier",0)),SFDA(SF,STIENS,5.8)=VMVM
  1. .S VN=$G(@SSGL@(STSIG,"Vehicle",0,"VehicleName",0)),SFDA(SF,STIENS,5.1)=VN
  1. .S VNC=$G(@SSGL@(STSIG,"Vehicle",0,"VehicleNameCode",0)),SFDA(SF,STIENS,5.2)=VNC
  1. .S VNCQ=$G(@SSGL@(STSIG,"Vehicle",0,"VehicleNameCodeQualifier",0)),SFDA(SF,STIENS,5.3)=VNCQ
  1. .S VQTY=$G(@SSGL@(STSIG,"Vehicle",0,"VehicleQuantity",0)),SFDA(SF,STIENS,5.4)=VQTY
  1. .S VUMC=$G(@SSGL@(STSIG,"Vehicle",0,"VehicleUnitofMeasureCode",0)),SFDA(SF,STIENS,5.6)=VUMC
  1. .S VUMCQ=$G(@SSGL@(STSIG,"Vehicle",0,"VehicleUnitofMeasureCodeQualifier",0)),SFDA(SF,STIENS,5.7)=VUMCQ
  1. .S VUMT=$G(@SSGL@(STSIG,"Vehicle",0,"VehicleUnitofMeasureText",0)),SFDA(SF,STIENS,5.5)=VUMT
  1. .D UPDATE^DIE(,"SFDA") K SFDA
  1. Q