Skip to main content


serial class HS.SDA3.ObservationGroup extends HS.SDA3.SuperClass

Observation groups are not created from inbound data.
They can only be automatically created from Observations.
If an observation has the non empty ObservationGroup property then it is duplicated in the corresponding group

Property Inventory

Method Inventory


property EncounterNumber as %String (MAXLEN = 220);
Inherited description: A string that uniquely identifies an Encounter within a patient record.
In cases where HS attempts to generate an EncounterNumber, the logic is:
-If EncounterType is "G" or "S", generate EncounterNumber as "HSgenerated"
followed by an incremental number.
-Else if Patient MRN and Encounter FromTime are not null, generate
EncounterNumber as "[MRN]-[FromTime date]".
-Else no EncounterNumber can be generated.

If PV1-19.1 is null, HealthShare attempts to generate an EncounterNumber
using the above logic. If one cannot be generated, no Encounter is parsed
to the SDA and all the data parsed from the HL7 is Encounter-less. If one
can be parsed or generated, then Diagnoses, Observations, Orders,
Procedures, Problems, Appointments, and Documents, in addition to
Encounter, will be parsed with EncounterNumber.

Streamlet cache:
For Encounters, this is the only match property (besides AggregationKey).
See HS.SDA3.Encounter for more info on special processing of
EncounterNumber for that type. For Patient and classes that do not
correspond to streamlet types, EncounterNumber is not used. For classes
that do correspond to streamlet types, EncounterNumber is optionally used
to link an SDA object to an Encounter. Only objects linked to the same
Encounter can match, and Encounter-less data can only match Encounter-less
data. If an inbound SDA object contains an EncounterNumber for which no
Encounter exists for that Patient, then an error will be logged and the
streamlet will not be saved.

Viewer cache:
In the Viewer Cache, data is structured hierarchically. Some types are
stored "under" an Encounter, while others are not. If an SDA object has no
EncounterNumber but is Encounter-level in the Viewer Cache, then it will be
inserted into the Patient's silent Encounter in the Viewer Cache only. If
the Patient has no silent Encounter, one will be created in the Viewer
Cache only. If an SDA object is linked to an Encounter but is not
Encounter-level in the Viewer Cache, then that link is simply not reflected
in the Viewer Cache, except for Allergy and Illness History. Though not
Encounter-level, these types do have fields for EncounterNumber in the
Viewer Cache.

HL7: PV1-19.1 : VisitNumber.IDNumber
Property methods: EncounterNumberDisplayToLogical(), EncounterNumberGet(), EncounterNumberIsValid(), EncounterNumberLogicalToDisplay(), EncounterNumberLogicalToOdbc(), EncounterNumberNormalize(), EncounterNumberSet()
Property methods: ExtensionGet(), ExtensionGetObject(), ExtensionGetObjectId(), ExtensionGetSwizzled(), ExtensionIsEmpty(), ExtensionIsValid(), ExtensionNewObject(), ExtensionSet(), ExtensionSetObject(), ExtensionSetObjectId(), ExtensionUnSwizzle()
property ObservationGroupCode as HS.SDA3.CodeTableDetail.Observation;
Either a panel of related observations (Blood Pressure, Complete Blood Count), or a core observation code that may or may not have supporting contextual observations (Pulse Oximetry, Oxygen Saturation)
Property methods: ObservationGroupCodeGet(), ObservationGroupCodeGetObject(), ObservationGroupCodeGetObjectId(), ObservationGroupCodeGetSwizzled(), ObservationGroupCodeIsEmpty(), ObservationGroupCodeIsValid(), ObservationGroupCodeNewObject(), ObservationGroupCodeSet(), ObservationGroupCodeSetObject(), ObservationGroupCodeSetObjectId(), ObservationGroupCodeUnSwizzle()
property ObservationTime as HS.SDA3.TimeStamp;
Common time for observation members
Property methods: ObservationTimeDisplayToLogical(), ObservationTimeGet(), ObservationTimeIsValid(), ObservationTimeLogicalToDisplay(), ObservationTimeLogicalToTimeStamp(), ObservationTimeLogicalToXSD(), ObservationTimeNormalize(), ObservationTimeOdbcToLogical(), ObservationTimeSet(), ObservationTimeXSDToLogical()
property Observations as list of HS.SDA3.Observation;
Property methods: ObservationsBuildValueArray(), ObservationsCollectionToDisplay(), ObservationsCollectionToOdbc(), ObservationsDisplayToCollection(), ObservationsGet(), ObservationsGetObject(), ObservationsGetObjectId(), ObservationsGetSwizzled(), ObservationsIsValid(), ObservationsOdbcToCollection(), ObservationsSet(), ObservationsSetObject(), ObservationsSetObjectId()


classmethod test() as ObservationGroup
Internal method for testing

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab