Skip to main content

HS.SDA3.AbstractMedication

class HS.SDA3.AbstractMedication extends HS.SDA3.AbstractOrder

Property Inventory

Properties

property Administrations as list of HS.SDA3.Administration;
Administration History

HL7ToSDA3:
From HL7, at most one Administration can be parsed.

HL7: RXA,RXR
VIEWERLIB: Not stored
Property methods: AdministrationsBuildValueArray(), AdministrationsCollectionToDisplay(), AdministrationsCollectionToOdbc(), AdministrationsDisplayToCollection(), AdministrationsGet(), AdministrationsGetObject(), AdministrationsGetObjectId(), AdministrationsGetSwizzled(), AdministrationsIsValid(), AdministrationsOdbcToCollection(), AdministrationsSet(), AdministrationsSetObject(), AdministrationsSetObjectId()
property Category as HS.SDA3.CodeTableDetail.Category;
Context that a medication is meant to be administered/consumed in
Property methods: CategoryGet(), CategoryGetObject(), CategoryGetObjectId(), CategoryGetSwizzled(), CategoryIsEmpty(), CategoryIsValid(), CategoryNewObject(), CategorySet(), CategorySetObject(), CategorySetObjectId(), CategoryUnSwizzle()
property ComponentMeds as list of HS.SDA3.CodeTableDetail.DrugProduct;
The components of a compound medication

HL7ToSDA3:
RXC, as it appears in an RDE_O11 message, is a repeating segment. Each RXC
will be parsed to one DrugProduct in the ComponentMeds list. RXC-2, -6, and
-9 are all coded fields. Each will only be parsed if subfield 1 or 2 is
not null.

Viewer Cache:
Each DrugProduct in the list of ComponentMeds will be loaded into the
Viewer Cache as an OEOrdItem that references the main Order/OEOrdItem via
the OEORIOEORIDR property and is linked to the PHCDrgMast created from the
DrugProduct. The only exception to this is ComponentMed DrugProducts with
Code matching the Code of the main Order DrugProduct. These will not be
processed into the Viewer Cache as they are considered redundant. For those
ComponentMed DrugProducts that are processed into the Viewer Cache, the
OEORIPlacerNo will be populated with the PlacerId of the parent Order,
OEORILabEpisodeNo with the FillerId, and OEORIFillerNo with
"[FillerId]&[sequential #]". The FromTime (OEORISttDat+OEORISttTim), ToTime
(OEORIEndDate+OEORIEndTime), and Status (OEORIItemStatDR) are also copied
from the main Order.

HL7: RXC-2 : ComponentCode
HL7: RXC-5 : ComponentStrength
HL7: RXC-6 : ComponentStrengthUnits
HL7: RXC-8 : ComponentDrugStrengthVolume
HL7: RXC-9 : ComponentDrugStrengthVolumeUnits
VIEWERLIB: User.HS.OEOrdItem

.Code
HL7: RXC-2.1 : ComponentCode.Identifier
VIEWERLIB: User.HS.PHCDrgMast(PHCDCode)
.Description
HL7: RXC-2.2 : ComponentCode.Text
VIEWERLIB: User.HS.PHCDrgMast(PHCDName)
.SDACodingStandard
HL7: RXC-2.3 : ComponentCode.NameofCodingSystem
VIEWERLIB: Not stored
.PriorCodes
HL7ToSDA3:
In addition to RXC-2.1 or .2 not being null, if subfield 4 or 5 is not
null, then subfields 4, 5, and 6 will be parsed into the Code, Description,
and CodeSystem, respectively, of a PriorCode in the list of PriorCodes. In
this case, the PriorCode Type is set to "A".
HL7: RXC-2.4 : ComponentCode.AlternateIdentifier
HL7: RXC-2.5 : ComponentCode.AlternateText
HL7: RXC-2.6 : ComponentCode.NameofAlternateCodingSystem
VIEWERLIB: Not stored
.OriginalText
HL7: RXC-2.9 : ComponentCode.OriginalText
VIEWERLIB: Not stored
.StrengthQty
HL7: RXC-5 : ComponentStrength
VIEWERLIB: User.HS.PHCFormDoseEquiv(EQQty)
.StrengthUnits
HL7: RXC-6 : ComponentStrengthUnits
SDATableName=UoM, ViewerClass=User.HS.CTUOM
VIEWERLIB: User.HS.PHCFormDoseEquiv(EQCTUOMDR)
.StrengthUnits.Code
HL7: RXC-6.1 : ComponentStrengthUnits.Identifier
VIEWERLIB: User.HS.CTUOM(CTUOMCode)
.StrengthUnits.Description
HL7: RXC-6.2 : ComponentStrengthUnits.Text
VIEWERLIB: User.HS.CTUOM(CTUOMDesc)
.StrengthUnits.SDACodingStandard
HL7: RXC-6.3 : ComponentStrengthUnits.NameofCodingSystem
VIEWERLIB: Not stored
.BaseQty
HL7: RXC-8 : ComponentDrugStrengthVolume
VIEWERLIB: User.HS.PHCDrgForm(PHCDFBaseQty)
.BaseUnits
HL7: RXC-9 : ComponentDrugStrengthVolumeUnits
SDATableName=UoM, ViewerClass=User.HS.CTUOM
VIEWERLIB: User.HS.PHCDrgForm(PHCDFCTUOMDR)
.BaseUnits.Code
HL7: RXC-9.1 : ComponentDrugStrengthVolumeUnits.Identifier
VIEWERLIB: User.HS.CTUOM(CTUOMCode)
.BaseUnits.Description
HL7: RXC-9.2 : ComponentDrugStrengthVolumeUnits.Text
VIEWERLIB: User.HS.CTUOM(CTUOMDesc)
.BaseUnits.SDACodingStandard
HL7: RXC-9.3 : ComponentDrugStrengthVolumeUnits.NameofCodingSystem
VIEWERLIB: Not stored
Property methods: ComponentMedsBuildValueArray(), ComponentMedsCollectionToDisplay(), ComponentMedsCollectionToOdbc(), ComponentMedsDisplayToCollection(), ComponentMedsGet(), ComponentMedsGetObject(), ComponentMedsGetObjectId(), ComponentMedsGetSwizzled(), ComponentMedsIsValid(), ComponentMedsOdbcToCollection(), ComponentMedsSet(), ComponentMedsSetObject(), ComponentMedsSetObjectId()
property DosageForm as HS.SDA3.CodeTableDetail.DosageForm;
Dosage Form (e.g. Tablet, Capsule, etc.)

HL7ToSDA3:
RXO, RXA, and RXE segments are all mutually exclusive among the message
types and segments that HealthShare supports, so there is no need to define
precedence between segments. Each of the HL7 fields is coded, and each one
will only be parsed if subfield 1 or 2 is not null.

HL7: RXO-5 : RequestedDosageForm
HL7: RXA-8 : AdministeredDosageForm
HL7: RXE-6 : GiveDosageForm
SDATableName=DosageForm, ViewerClass=User.HS.PHCDosage
VIEWERLIB: User.HS.OEOrdItem(OEORIDosageDR)

.Code
HL7: RXO-5.1 : RequestedDosageForm.Identifier
HL7: RXA-8.1 : AdministeredDosageForm.Identifier
HL7: RXE-6.1 : GiveDosageForm.Identifier
VIEWERLIB: User.HS.PHCDosage(PHCDOCode)
.Description
HL7: RXO-5.2 : RequestedDosageForm.Text
HL7: RXA-8.2 : AdministeredDosageForm.Text
HL7: RXE-6.2 : GiveDosageForm.Text
VIEWERLIB: User.HS.PHCDosage(PHCDODesc1)
.SDACodingStandard
HL7: RXO-5.3 : RequestedDosageForm.NameofCodingSystem
HL7: RXA-8.3 : AdministeredDosageForm.NameofCodingSystem
HL7: RXE-6.3 : GiveDosageForm.NameofCodingSystem
VIEWERLIB: Not stored
Property methods: DosageFormGet(), DosageFormGetObject(), DosageFormGetObjectId(), DosageFormGetSwizzled(), DosageFormIsEmpty(), DosageFormIsValid(), DosageFormNewObject(), DosageFormSet(), DosageFormSetObject(), DosageFormSetObjectId(), DosageFormUnSwizzle()
property DosageSteps as list of HS.SDA3.DosageStep;
Ordered Dosage Steps

Viewer cache:
Every DosageStep is stored in the Viewer Cache as a child OEOrdExec to the
parent OEOrdItem. This list is cleared every time a Medication or
Vaccination is updated, and the inbound DosageSteps are inserted. However,
the first DosageStep in the list (assuming there is at least one) will also
populate several properties of the parent OEOrdItem, overriding any values
that came from the containing Medication or Vaccination. These properties
include FromTime, ToTime, TextInstruction, Frequency, DoseQuantity,
DoseUoM, and Duration.

VIEWERLIB: see HS.SDA3.DosageStep
Property methods: DosageStepsBuildValueArray(), DosageStepsCollectionToDisplay(), DosageStepsCollectionToOdbc(), DosageStepsDisplayToCollection(), DosageStepsGet(), DosageStepsGetObject(), DosageStepsGetObjectId(), DosageStepsGetSwizzled(), DosageStepsIsValid(), DosageStepsOdbcToCollection(), DosageStepsSet(), DosageStepsSetObject(), DosageStepsSetObjectId()
property DoseQuantity as HS.SDA3.Numeric;
Size of dose (e.g. the 20 in 20mg).

HL7ToSDA3:
RXO, RXA, and RXE segments are all mutually exclusive among the message
types and segments that HealthShare supports, so there is no need to define
precedence between segments, however RXO-18 takes precedence over RXO-2,
and RXE-25 takes precendence over RXE-3.

Viewer cache:
If the Order contains at least 1 DosageStep in the DosageSteps property,
and if the first DosageStep in that list has a DoseQuantity, then that
DoseQuantity will override this one in the Viewer Cache.

HL7: RXO-2 : RequestedGiveAmountMinimum
HL7: RXO-18 : RequestedGiveStrength
HL7: RXA-13 : AdministeredStrength
HL7: RXE-3 : GiveAmountMinimum
HL7: RXE-25 : GiveStrength
VIEWERLIB: User.HS.OEOrdItem(OEORIDoseQty)
Property methods: DoseQuantityDisplayToLogical(), DoseQuantityGet(), DoseQuantityIsValid(), DoseQuantityLogicalToDisplay(), DoseQuantityNormalize(), DoseQuantitySet()
property DoseUoM as HS.SDA3.CodeTableDetail.UoM;
Units for DoseQuantity (e.g. the mg in 20mg)

HL7ToSDA3:
RXO and RXE segments are mutually exclusive among the message types and
segments that HealthShare supports, so there is no need to define
precedence between them, however RXO-19 takes precedence over RXO-4, and
RXE-26 takes precedence over RXE-5. Each of the HL7 fields is coded, and
each one will only be parsed if subfield 1 or 2 is not null.

Viewer cache:
If the Order contains at least 1 DosageStep in the DosageSteps property,
and if the first DosageStep in that list has a DoseUoM, then that DoseUoM
will override this one in the Viewer Cache.

HL7: RXO-4 : RequestedGiveUnits
HL7: RXO-19 : RequestedGiveStrengthUnits
HL7: RXE-5 : GiveUnits
HL7: RXE-26 : GiveStrengthUnits
HL7: RXA-14 : AdministeredStrengthUnits
SDATableName=UoM, ViewerClass=User.HS.CTUOM
VIEWERLIB: User.HS.OEOrdItem(OEORIUnitDR)

.Code
HL7: RXO-4.1 : RequestedGiveUnits.Identifier
HL7: RXO-19.1 : RequestedGiveStrengthUnits.Identifier
HL7: RXE-5.1 : GiveUnits.Identifier
HL7: RXE-26.1 : GiveStrengthUnits.Identifier
HL7: RXA-14.1 : AdministeredStrengthUnits.Identifier
VIEWERLIB: User.HS.CTUOM(CTUOMCode)
.Description
HL7: RXO-4.2 : RequestedGiveUnits.Text
HL7: RXO-19.2 : RequestedGiveStrengthUnits.Text
HL7: RXE-5.2 : GiveUnits.Text
HL7: RXE-26.2 : GiveStrengthUnits.Text
HL7: RXA-14.2 : AdministeredStrengthUnits.Text
VIEWERLIB: User.HS.CTUOM(CTUOMDesc)
.SDACodingStandard
HL7: RXO-4.3 : RequestedGiveUnits.NameofCodingSystem
HL7: RXO-19.3 : RequestedGiveStrengthUnits.NameofCodingSystem
HL7: RXE-5.3 : GiveUnits.NameofCodingSystem
HL7: RXE-26.3 : GiveStrengthUnits.NameofCodingSystem
HL7: RXA-14.3 : AdministeredStrengthUnits.NameofCodingSystem
VIEWERLIB: Not stored
Property methods: DoseUoMGet(), DoseUoMGetObject(), DoseUoMGetObjectId(), DoseUoMGetSwizzled(), DoseUoMIsEmpty(), DoseUoMIsValid(), DoseUoMNewObject(), DoseUoMSet(), DoseUoMSetObject(), DoseUoMSetObjectId(), DoseUoMUnSwizzle()
property DrugProduct as HS.SDA3.CodeTableDetail.DrugProduct;
What was dispensed - commercial product name

HL7ToSDA3:
RXO, RXA, and RXE segments are all mutually exclusive among the message
types and segments that HealthShare supports, so there is no need to define
precedence between segments, though RXO-6 does take precedence over RXO-1.
For both RXO-1 and RXE-2, the field will only be parsed if subfield 1 or 2
is not null. Though RXO-6 is a repeating field, only the first non-null
instance will be parsed.

Streamlet cache:
In the OnBeforeMatch method of the Streamlet class, if the Order has no
OrderItem but does have a DrugProduct, then a new OrderItem will be
defaulted in with Code, Description, and SDACodingStandard copied from the
DrugProduct.

Viewer cache:
The OEOrdItem (Order) in the Viewer Cache references an ARCItmMast (Order
Item) via OEORIItmMastDR, which references a PHCDrgForm via ARCIMPHCDFDR,
which references a PHCDrgMast (Drug Product) via PHCDFPHCDParRef.
PHCDrgForm is a child of PHCDrgMast, and a PHCDrgMast may have more than
one linked PHCDrgForm. When a DrugProduct is loaded into the Viewer Cache,
it is matched to a PHCDrgMast based on Code, Description, and
SDACodingStandard. Then, the existing child PHCDrgForms of that PHCDrgMast
are examined to find one that matches the DrugProduct on Form, BaseQty,
BaseUnits, Strength, StrengthQty, and StrengthUnits. Form, BaseQty,
BaseUnits, and Strength are stored as properties of the PHCDrgForm.
StrengthQty and StrengthUnits are stored as properties of a
PHCFormDoseEquiv, which is a child of PHCDrgForm, though in the Viewer
Cache a PHCDrgForm should only ever have one child PHCFormDoseEquiv. If no
matching child PHCDrgForm can be found, a new one is created (along with a
child PHCFormDoseEquiv) from the properties of the DrugProduct. Once a
matching PHCDrgForm is found or a new one created, an attempt is made to
link the ARCItmMast to it by setting the ARCIMPHCDFDR property of the
ARCItmMast. If this fails for any reason (for example, if the ARCIMPHCDFDR
property already references a different PHCDrgForm), then a new ARCItmMast
will be created with the original OrderCategory of the Order, the
SDACodingStandard of the DrugProduct, and Code and Description (referencing
properties of the DrugProduct):
"[Description]([Form.Code]:[BaseQty] [BaseUnits.Description]:[StrengthQty] [StrengthUnits.Description]:[Strength.Description])"
Note that it is possible that such an ARCItmMast already exists in the
Viewer Cache, in which case the "new" ARCItmMast will simply match the
existing one. Finally, an attempt is made to link the new ARCItmMast to the
new or matched PHCDrgForm. If this fails for any reason (for example, the
"new" ARCItmMast was not new and was already linked to a different
PHCDrgForm), then an error will be logged and the Order will not be stored
in the Viewer Cache.

HL7: RXO-1 : RequestedGiveCode
HL7: RXO-6 : ProvidersPharmacyTreatmentInstructions
HL7: RXA-5 : AdministeredCode
HL7: RXE-2 : GiveCode
SDATableName=DrugProduct, ViewerClass=User.HS.PHCDrgMast
VIEWERLIB: User.HS.OEOrdItem(OEORIItmMastDR)

.Code
HL7: RXO-1.1 : RequestedGiveCode.Identifier
HL7: RXO-6.1 : ProvidersPharmacyTreatmentInstructions.Identifier
HL7: RXA-5.1 : AdministeredCode.Identifier
HL7: RXE-2.1 : GiveCode.Identifier
VIEWERLIB: User.HS.PHCDrgMast(PHCDCode)
.Description
HL7: RXO-1.2 : RequestedGiveCode.Text
HL7: RXO-6.2 : ProvidersPharmacyTreatmentInstructions.Text
HL7: RXA-5.2 : AdministeredCode.Text
HL7: RXE-2.2 : GiveCode.Text
VIEWERLIB: User.HS.PHCDrgMast(PHCDName)
.SDACodingStandard
HL7: RXO-1.3 : RequestedGiveCode.NameofCodingSystem
HL7: RXO-6.3 : ProvidersPharmacyTreatmentInstructions.NameofCodingSystem
HL7: RXA-5.3 : AdministeredCode.NameofCodingSystem
HL7: RXE-2.3 : GiveCode.NameofCodingSystem
VIEWERLIB: Not stored
.PriorCodes
HL7ToSDA3:
For each field, the logic to parse PriorCodes is the same: if subfield 4 or
5 is not null, then subfields 4, 5, and 6 will be parsed into the Code,
Description, and CodeSystem, respectively, of a PriorCode in the list of
PriorCodes. In this case, the PriorCode Type is set to "A". Note that for
RXO-1 and RXE-2, subfield 1 or 2 must still be non-null for anything in the
field to be parsed.
HL7: RXO-1.4 : RequestedGiveCode.AlternateIdentifier
HL7: RXO-1.5 : RequestedGiveCode.AlternateText
HL7: RXO-1.6 : RequestedGiveCode.NameofAlternateCodingSystem
HL7: RXO-6.4 : ProvidersPharmacyTreatmentInstructions.AlternateIdentifier
HL7: RXO-6.5 : ProvidersPharmacyTreatmentInstructions.AlternateText
HL7: RXO-6.6 : ProvidersPharmacyTreatmentInstructions.NameofAlternateCodingSystem
HL7: RXA-5.4 : AdministeredCode.AlternateIdentifier
HL7: RXA-5.5 : AdministeredCode.AlternateText
HL7: RXA-5.6 : AdministeredCode.NameofAlternateCodingSystem
HL7: RXE-2.4 : GiveCode.AlternateIdentifier
HL7: RXE-2.5 : GiveCode.AlternateText
HL7: RXE-2.6 : GiveCode.NameofAlternateCodingSystem
VIEWERLIB: Not stored
.OriginalText
HL7: RXO-1.9 : RequestedGiveCode.OriginalText
HL7: RXO-6.9 : ProvidersPharmacyTreatmentInstructions.OriginalText
HL7: RXA-5.9 : AdministeredCode.OriginalText
HL7: RXE-2.9 : GiveCode.OriginalText
VIEWERLIB: Not stored
Property methods: DrugProductGet(), DrugProductGetObject(), DrugProductGetObjectId(), DrugProductGetSwizzled(), DrugProductIsEmpty(), DrugProductIsValid(), DrugProductNewObject(), DrugProductSet(), DrugProductSetObject(), DrugProductSetObjectId(), DrugProductUnSwizzle()
property Indication as %String (MAXLEN = 512);
The condition or problem for which the drug/treatment was prescribed

HL7ToSDA3:
Each of the listed HL7 fields is coded and repeating. The logic to parse
each is: only parse the first non-null instance, and within that instance,
if subfield 2 is not null, parse the value from that, else parse the value
from subfield 1.

HL7: RXO-20 : Indication
HL7: RXA-19 : Indication
HL7: RXE-27 : Indication
VIEWERLIB: User.HS.OEOrdItem(ITM2Indication)
Property methods: IndicationDisplayToLogical(), IndicationGet(), IndicationIsValid(), IndicationLogicalToDisplay(), IndicationLogicalToOdbc(), IndicationNormalize(), IndicationSet()
property MaxDoseQuantity as HS.SDA3.Numeric;
Maximum dose quantity

HL7ToSDA3:
RXO and RXE segments are mutually exclusive among the message types and
segments that HealthShare supports, so there is no need to define
precedence between them.

HL7: RXO-3 : RequestedGiveAmountMaximum
HL7: RXE-4 : GiveAmountMaximum
VIEWERLIB: User.HS.OEOrdItem(OEORIPRNTotNumberDosesAll)
Property methods: MaxDoseQuantityDisplayToLogical(), MaxDoseQuantityGet(), MaxDoseQuantityIsValid(), MaxDoseQuantityLogicalToDisplay(), MaxDoseQuantityNormalize(), MaxDoseQuantitySet()
property NumberOfRefills as %String;
HL7ToSDA3:
RXO and RXE segments are mutually exclusive among the message types and
segments that HealthShare supports, so there is no need to define
precedence between them.

Viewer Cache:
The type of OEORIMaxRepeats is "%Float", so NumberOfRefills will only be
loaded into OEORIMaxRepeats if it is a valid number according to
$IsValidNum(). In the Viewer, the column of an Order Profile (component
OEOrdItem.ListEMR) that displays OEORIMaxNumberOfRepeats is called
"Repeats" by default. The component name as it appears in the properties
of the column in the Layout Editor is "MaxRep". The column that displays
OEORIMaxRepeats is called "Repeat" by default, component name "Repeat".
The value actually displayed depends on OEORIMaxRepeats and
OEORICurrRepeatNumber (populated by the RefillNumber property in SDA):
-If OEORIMaxRepeats is null, no value is displayed.
-Else if "+[OEORICurrRepeatNumber]" is 0, OEORIMaxRepeats is displayed.
-Else the value displayed is "[OEORICurrRepeatNumber] / [OEORIMaxRepeats]", for example: "3 / 10".

HL7: RXO-13 : NumberOfRefills
HL7: RXE-12 : NumberOfRefills
VIEWERLIB: User.HS.OEOrdItem(OEORIMaxNumberOfRepeats)
VIEWERLIB: User.HS.OEOrdItem(OEORIMaxRepeats)
Property methods: NumberOfRefillsDisplayToLogical(), NumberOfRefillsGet(), NumberOfRefillsIsValid(), NumberOfRefillsLogicalToDisplay(), NumberOfRefillsLogicalToOdbc(), NumberOfRefillsNormalize(), NumberOfRefillsSet()
property PharmacyStatus as %String;
The status of this prescription
For example, in Sweden, a prescription may go through up to 3 statuses: "O"
for "Planned", "F" for "Prescribed", and "U" for "Refilled".

Streamlet cache:
For Medications only, if ActionCode="I" or "C" and ActionScope is one of
"ADMISSION", "DISCHARGE", "ADMINISTERED", or "MEDICATIONS", case-
insensitive, then only Medications with PharmacyStatus matching ActionScope
(case-insensitive) will be affected.

VIEWERLIB: User.HS.OEOrdItem(OEORIPharmacyStatus)
Property methods: PharmacyStatusDisplayToLogical(), PharmacyStatusGet(), PharmacyStatusIsValid(), PharmacyStatusLogicalToDisplay(), PharmacyStatusLogicalToOdbc(), PharmacyStatusNormalize(), PharmacyStatusSet()
property PrescriptionNumber as %String (MAXLEN = 220);
The number or ID assigned to the Prescription or Order

HL7: RXE-15 : PrescriptionNumber
VIEWERLIB: User.HS.OEOrdItem(OEORIPrescNo)
Property methods: PrescriptionNumberDisplayToLogical(), PrescriptionNumberGet(), PrescriptionNumberIsValid(), PrescriptionNumberLogicalToDisplay(), PrescriptionNumberLogicalToOdbc(), PrescriptionNumberNormalize(), PrescriptionNumberSet()
property RateAmount as HS.SDA3.Numeric;
Rate (e.g. the 100 in 100 ml/hour)

HL7ToSDA3:
RXO and RXE segments are mutually exclusive among the message types and
segments that HealthShare supports, so there is no need to define
precedence between them.

HL7: RXO-21 : RequestedGiveRateAmount
HL7: RXE-23 : GiveRateAmount
VIEWERLIB: User.HS.OEOrdItem(OEORISpeedFlowRate)
Property methods: RateAmountDisplayToLogical(), RateAmountGet(), RateAmountIsValid(), RateAmountLogicalToDisplay(), RateAmountNormalize(), RateAmountSet()
property RateTimeUnit as %String;
Time units (e.g. per hour, as in 100 ml per hour)

HL7ToSDA3:
RXO, RXA, and RXE segments are all mutually exclusive among the message
types and segments that HealthShare supports, so there is no need to define
precedence between segments.

HL7: RXO-17 : RequestedGivePerTimeUnit
HL7: RXA-12 : AdministeredPerTimeUnit
HL7: RXE-22 : GivePerTimeUnit
VIEWERLIB: User.HS.OEOrdItem(OEORIUnitHrs)
Property methods: RateTimeUnitDisplayToLogical(), RateTimeUnitGet(), RateTimeUnitIsValid(), RateTimeUnitLogicalToDisplay(), RateTimeUnitLogicalToOdbc(), RateTimeUnitNormalize(), RateTimeUnitSet()
property RateUnits as HS.SDA3.CodeTableDetail.RateUnits;
Units for Rate (e.g. the ml in 100 ml/hour)

HL7ToSDA3:
RXO, RXA, and RXE segments are all mutually exclusive among the message
types and segments that HealthShare supports, so there is no need to define
precedence between segments. Each of these fields is coded and will only be
parsed if subfield 1 or 2 is not null.

HL7: RXO-22 : RequestedGiveRateUnits
HL7: RXE-24 : GiveRateUnits
SDATableName=RateUnits, ViewerClass=User.HS.OECSpeedFlowRate
VIEWERLIB: User.HS.OEOrdItem(OEORIFlowRateUnitDR)

.Code
HL7: RXO-22.1 : RequestedGiveRateUnits.Identifier
HL7: RXE-24.1 : GiveRateUnits.Identifier
VIEWERLIB: User.HS.OECSpeedFlowRate(SFRCode)
.Description
HL7: RXO-22.2 : RequestedGiveRateUnits.Text
HL7: RXE-24.2 : GiveRateUnits.Text
VIEWERLIB: User.HS.OECSpeedFlowRate(SFRDesc)
.SDACodingStandard
HL7: RXO-22.3 : RequestedGiveRateUnits.NameofCodingSystem
HL7: RXE-24.3 : GiveRateUnits.NameofCodingSystem
VIEWERLIB: Not stored
Property methods: RateUnitsGet(), RateUnitsGetObject(), RateUnitsGetObjectId(), RateUnitsGetSwizzled(), RateUnitsIsEmpty(), RateUnitsIsValid(), RateUnitsNewObject(), RateUnitsSet(), RateUnitsSetObject(), RateUnitsSetObjectId(), RateUnitsUnSwizzle()
property RefillDescription as %String (MAXLEN = 220);
A description of when the order will be refilled

VIEWERLIB: User.HS.OEOrdItem(OEORIRepeatDesc)
Property methods: RefillDescriptionDisplayToLogical(), RefillDescriptionGet(), RefillDescriptionIsValid(), RefillDescriptionLogicalToDisplay(), RefillDescriptionLogicalToOdbc(), RefillDescriptionNormalize(), RefillDescriptionSet()
property RefillNumber as HS.SDA3.Numeric;
The current refill repeat number
This could be a sequence number or a full ID for the last refill, if any.

Viewer Cache:
In the Viewer, the column of an Order Profile (component OEOrdItem.ListEMR)
that displays OEORICurrRepeatNumber is called "Repeat" by default. The
component name as it appears in the properties of the column in the Layout
Editor is "Repeat". The value actually displayed depends on
OEORICurrRepeatNumber and OEORIMaxRepeats (populated by the NumberOfRefills
property in SDA, but only if it is a valid number according to
$IsValidNum()):
-If OEORIMaxRepeats is null, no value is displayed.
-Else if "+[OEORICurrRepeatNumber]" is 0, OEORIMaxRepeats is displayed.
-Else the value displayed is "[OEORICurrRepeatNumber] / [OEORIMaxRepeats]", for example: "3 / 10".

VIEWERLIB: User.HS.OEOrdItem(OEORICurrRepeatNumber)
Property methods: RefillNumberDisplayToLogical(), RefillNumberGet(), RefillNumberIsValid(), RefillNumberLogicalToDisplay(), RefillNumberNormalize(), RefillNumberSet()
property ResultCopiesTo as list of HS.SDA3.CodeTableDetail.CareProvider;
Not used.
Property methods: ResultCopiesToBuildValueArray(), ResultCopiesToCollectionToDisplay(), ResultCopiesToCollectionToOdbc(), ResultCopiesToDisplayToCollection(), ResultCopiesToGet(), ResultCopiesToGetObject(), ResultCopiesToGetObjectId(), ResultCopiesToGetSwizzled(), ResultCopiesToIsValid(), ResultCopiesToOdbcToCollection(), ResultCopiesToSet(), ResultCopiesToSetObject(), ResultCopiesToSetObjectId()
property Route as HS.SDA3.CodeTableDetail.Route;
Instructions for administering drug (e.g. Oral)

HL7ToSDA3:
RXO is mutually exclusive to both RXE and RXR segments among the message
types and segments that HealthShare supports, however an RDE_O11 message
can contain both an RXE and an RXR segment. In this case, RXR-1 takes
precedence over RXE-7. Note that though RXO-7 and RXE-7 are repeating
fields, HL7ToSDA3 will only parse the first non-null instance of each.
RXR-1 will only be parsed if subfield 1 or 2 is not null.

HL7: RXO-7 : ProvidersAdministrationInstructions
HL7: RXE-7 : ProvidersAdministrationInstructions
HL7: RXR-1 : Route
SDATableName=Route, ViewerClass=User.HS.OECRoute
VIEWERLIB: User.HS.OEOrdItem(OEORIRouteDR)

.Code
HL7: RXO-7.1 : ProvidersAdministrationInstructions.Identifier
HL7: RXE-7.1 : ProvidersAdministrationInstructions.Identifier
HL7: RXR-1.1 : Route.Identifier
VIEWERLIB: User.HS.OECRoute(ROUTECode)
.Description
HL7: RXO-7.2 : ProvidersAdministrationInstructions.Text
HL7: RXE-7.2 : ProvidersAdministrationInstructions.Text
HL7: RXR-1.2 : Route.Text
VIEWERLIB: User.HS.OECRoute(ROUTEDesc)
.SDACodingStandard
HL7: RXO-7.3 : ProvidersAdministrationInstructions.NameofCodingSystem
HL7: RXE-7.3 : ProvidersAdministrationInstructions.NameofCodingSystem
HL7: RXR-1.3 : Route.NameofCodingSystem
VIEWERLIB: Not stored
Property methods: RouteGet(), RouteGetObject(), RouteGetObjectId(), RouteGetSwizzled(), RouteIsEmpty(), RouteIsValid(), RouteNewObject(), RouteSet(), RouteSetObject(), RouteSetObjectId(), RouteUnSwizzle()
property Specimen as %String (MAXLEN = 220);
Not used.
Property methods: SpecimenDisplayToLogical(), SpecimenGet(), SpecimenIsValid(), SpecimenLogicalToDisplay(), SpecimenLogicalToOdbc(), SpecimenNormalize(), SpecimenSet()
property SpecimenCollectedTime as HS.SDA3.TimeStamp;
Not used.
Property methods: SpecimenCollectedTimeDisplayToLogical(), SpecimenCollectedTimeGet(), SpecimenCollectedTimeIsValid(), SpecimenCollectedTimeLogicalToDisplay(), SpecimenCollectedTimeLogicalToTimeStamp(), SpecimenCollectedTimeNormalize(), SpecimenCollectedTimeOdbcToLogical(), SpecimenCollectedTimeSet()
property SpecimenReceivedTime as HS.SDA3.TimeStamp;
Not used.
Property methods: SpecimenReceivedTimeDisplayToLogical(), SpecimenReceivedTimeGet(), SpecimenReceivedTimeIsValid(), SpecimenReceivedTimeLogicalToDisplay(), SpecimenReceivedTimeLogicalToTimeStamp(), SpecimenReceivedTimeNormalize(), SpecimenReceivedTimeOdbcToLogical(), SpecimenReceivedTimeSet()
property StrengthVolume as HS.SDA3.Numeric;
Strength volume (e.g. the "10" in 2mg/10ml)

HL7ToSDA3:
RXO, RXA, and RXE segments are all mutually exclusive among the message
types and segments that HealthShare supports, so there is no need to define
precedence between segments.

HL7: RXO-25 : RequestedDrugStrengthVolume
HL7: RXA-23 : AdministeredDrugStrengthVolume
HL7: RXE-33 : GiveDrugStrengthVolume
VIEWERLIB: Not stored
Property methods: StrengthVolumeDisplayToLogical(), StrengthVolumeGet(), StrengthVolumeIsValid(), StrengthVolumeLogicalToDisplay(), StrengthVolumeNormalize(), StrengthVolumeSet()
property StrengthVolumeUnits as %String;
Units for StrengthVolume (e.g. ml)

HL7ToSDA3:
RXO, RXA, and RXE segments are all mutually exclusive among the message
types and segments that HealthShare supports, so there is no need to define
precedence between segments. Each of these fields is coded, and the logic
to parse each is the same: if subfield 2 is not null, parse that to
StrengthVolumeUnits, else parse subfield 1.

HL7: RXO-26 : RequestedDrugStrengthVolumeUnits
HL7: RXA-24 : AdministeredDrugStrengthUnits
HL7: RXE-34 : GiveDrugStrengthVolumeUnits
VIEWERLIB: Not stored
Property methods: StrengthVolumeUnitsDisplayToLogical(), StrengthVolumeUnitsGet(), StrengthVolumeUnitsIsValid(), StrengthVolumeUnitsLogicalToDisplay(), StrengthVolumeUnitsLogicalToOdbc(), StrengthVolumeUnitsNormalize(), StrengthVolumeUnitsSet()

Inherited Members

Inherited Properties

Subclasses

FeedbackOpens in a new tab