HS.SDA3.Container

class HS.SDA3.Container extends %Library.RegisteredObject, %XML.Adaptor, HS.SDA3.QuickXML

The container class for the SDA3.
This is intended to be used as an XML container to hold and manipulate
other SDA3 objects. It is NOT intended to be used as an instantiated object
to hold an entire patient record as an in-memory object. API methods are
available to walk the stream and instantiate individual streamlet objects.
Do not use the standard Caché XMLImport/Export methods on SDA. We provide
methods that are orders of magnitude faster, far better in memory use,
support code translations, etc. See InitializeXMLParse and GetNextSDA
for importing data. Any SDA object can be exported by invoking
ToQuickXMLStream or ToQuickXMLString on it. If you wish to use the
Container for DTL, do it as an XML Vdoc. When HealthShare is installed, we
import the XML schema into the HSLIB namespace to make it available. See
methods ExportXMLSchema and ExportXMLSchemaAPI for how to export the XML
schema. @API.Extensible @Modifier Availability InterSystems

Property Inventory

Method Inventory

Parameters

parameter DOMAIN = HS;
parameter XMLIGNOREINVALIDTAG = 1;
Inherited description: The XMLIGNOREINVALIDTAG parameter allows the programmer to control handling of unexpected elements in the XML input. The XMLIGNOREINVALIDTAG parameter will only take affect if XMLSEQUENCE = 0 (the default). By default (XMLIGNOREINVALIDTAG = 0), will treat an unexpected element as an error. If XMLIGNOREINVALIDTAG is set = 1 and XMLSEQUENCE = 0, then unexpected elements will be ignored.
parameter XMLIGNORENULL = inputonly;
Ignore all nulls (i.e. don't store $C(0))

Properties

property Action as %String (VALUELIST = ",AddOrUpdate,Merge,Move,DeletePatient,DeleteEncounter,CancelAdmit,CancelDischarge,QueryResponse");
What action to take for this SDA in the ECR

HL7ToSDA3:
The Action parsed to the SDA depends on the value of MSH-9 (Message Type):
ADT_A13 -> CancelDischarge
ADT_A09 -> DeleteEncounter
ADT_A18 -> Merge
ADT_A23 -> DeleteEncounter
ADT_A29 -> DeletePatient
ADT_A30 -> Merge
ADT_A39 -> Merge
ADT_A45 -> Move
ADT_A50 -> Merge
Any other supported type -> AddOrUpdate

Streamlet cache:
The actions to be taken against the Patient or Encounter will be determined
from the Action and the EventDescription, not just one or the other.
Additionally, the Patient ActionCode may take precedence over Action and
EventDescription. The full logic to determine the Patient action is:
-If Patient ActionCode="R", Patient action is "Replace".
-Else if Patient ActionCode="D", Patient action is "Delete".
-Else if Action="DeletePatient", Patient action is "Delete".
-Else if EventDescription="ADT_A47", Patient action is "ChangeNum".
-Else if EventDescription="ADT_A50", Patient action is null (regular
add/update).
-Else if Action="Merge", Patient action is "Merge".
-Else Patient action is null (regular add/update).

The logic to determine the Encounter action is:
-If Action="DeleteEncounter", Encounter action is "Delete".
-Else if EventDescription="ADT_A50", Encounter action is "ChangeNum".
-Else if EventDescription="ADT_A45", Encounter action is "Move".
-Else if EventDescription="ADT_A13", Encounter action is "CD"
-Else the Encounter action is determined from the Encounter ActionCode.

Note, for instance, that Action="CancelDischarge" actually doesn't do
anything, but rather it is EventDescription="ADT_A13" that cancels a
discharge. "AddOrUpdate" is the default and is the same as Action="".
"CancelAdmit" and "QueryResponse" do nothing and are the same as null or
"AddOrUpdate". On export, Action is always set to "QueryResponse".

VIEWERLIB: Not stored
Property methods: ActionDisplayToLogical(), ActionGet(), ActionIsValid(), ActionLogicalToDisplay(), ActionLogicalToOdbc(), ActionNormalize(), ActionSet()
property AdditionalInfo as array of HS.Types.AdditionalInfoItem;
The data contained within AdditionalInfo will not be used or stored in the
Streamlet Cache, however it will be copied to the AddUpdateHubRequest and
sent to the Registry where a pre- and/or post-processor on the Hub MPI
Manager can make use of it.
The support for user-defined "InfoTypes" was removed in 2009.1.2, and keys
starting with "InfoTypes" should no longer be used. (They are used
internally, and will be overwritten).
Example syntax for AdditionalInfo:
<AdditionalInfo><AdditionalInfoItem AdditionalInfoKey="MyData">ABC</AdditionalInfoItem></AdditionalInfo>
VIEWERLIB: Not stored
Property methods: AdditionalInfoBuildValueArray(), AdditionalInfoCollectionToDisplay(), AdditionalInfoCollectionToOdbc(), AdditionalInfoDisplayToCollection(), AdditionalInfoDisplayToLogical(), AdditionalInfoGet(), AdditionalInfoGetObject(), AdditionalInfoGetObjectId(), AdditionalInfoGetSwizzled(), AdditionalInfoIsValid(), AdditionalInfoLogicalToDisplay(), AdditionalInfoLogicalToOdbc(), AdditionalInfoNormalize(), AdditionalInfoOdbcToCollection(), AdditionalInfoSet(), AdditionalInfoSetObject(), AdditionalInfoSetObjectId()
property AdvanceDirectives as list of HS.SDA3.AdvanceDirective;
List of advance directives for patient

VIEWERLIB: see HS.SDA3.AdvanceDirective
Property methods: AdvanceDirectivesBuildValueArray(), AdvanceDirectivesCollectionToDisplay(), AdvanceDirectivesCollectionToOdbc(), AdvanceDirectivesDisplayToCollection(), AdvanceDirectivesGet(), AdvanceDirectivesGetObject(), AdvanceDirectivesGetObjectId(), AdvanceDirectivesGetSwizzled(), AdvanceDirectivesIsValid(), AdvanceDirectivesOdbcToCollection(), AdvanceDirectivesSet(), AdvanceDirectivesSetObject(), AdvanceDirectivesSetObjectId()
property Alerts as list of HS.SDA3.Alert;
List of alerts for patient

VIEWERLIB: see HS.SDA3.Alert
Property methods: AlertsBuildValueArray(), AlertsCollectionToDisplay(), AlertsCollectionToOdbc(), AlertsDisplayToCollection(), AlertsGet(), AlertsGetObject(), AlertsGetObjectId(), AlertsGetSwizzled(), AlertsIsValid(), AlertsOdbcToCollection(), AlertsSet(), AlertsSetObject(), AlertsSetObjectId()
property Allergies as list of HS.SDA3.Allergy;
List of allergies that patient has

HL7: AL1,IAM,MSH
VIEWERLIB: see HS.SDA3.Allergy
Property methods: AllergiesBuildValueArray(), AllergiesCollectionToDisplay(), AllergiesCollectionToOdbc(), AllergiesDisplayToCollection(), AllergiesGet(), AllergiesGetObject(), AllergiesGetObjectId(), AllergiesGetSwizzled(), AllergiesIsValid(), AllergiesOdbcToCollection(), AllergiesSet(), AllergiesSetObject(), AllergiesSetObjectId()
property Appointments as list of HS.SDA3.Appointment;
HL7: SCH,AIS,AIP,AIL,MSH,TQ1,NTE
VIEWERLIB: see HS.SDA3.Appointment
Property methods: AppointmentsBuildValueArray(), AppointmentsCollectionToDisplay(), AppointmentsCollectionToOdbc(), AppointmentsDisplayToCollection(), AppointmentsGet(), AppointmentsGetObject(), AppointmentsGetObjectId(), AppointmentsGetSwizzled(), AppointmentsIsValid(), AppointmentsOdbcToCollection(), AppointmentsSet(), AppointmentsSetObject(), AppointmentsSetObjectId()
property CarePlans as list of HS.SDA3.CarePlan;
VIEWERLIB: Not stored
Property methods: CarePlansBuildValueArray(), CarePlansCollectionToDisplay(), CarePlansCollectionToOdbc(), CarePlansDisplayToCollection(), CarePlansGet(), CarePlansGetObject(), CarePlansGetObjectId(), CarePlansGetSwizzled(), CarePlansIsValid(), CarePlansOdbcToCollection(), CarePlansSet(), CarePlansSetObject(), CarePlansSetObjectId()
property ClinicalRelationships as list of HS.SDA3.ClinicalRelationship;
This is populated only from the HealthShare Registry, as part of a special
fetch. ClinicalRelationships should not be submitted by a data provider.

VIEWERLIB: see HS.SDA3.ClinicalRelationship
Property methods: ClinicalRelationshipsBuildValueArray(), ClinicalRelationshipsCollectionToDisplay(), ClinicalRelationshipsCollectionToOdbc(), ClinicalRelationshipsDisplayToCollection(), ClinicalRelationshipsGet(), ClinicalRelationshipsGetObject(), ClinicalRelationshipsGetObjectId(), ClinicalRelationshipsGetSwizzled(), ClinicalRelationshipsIsValid(), ClinicalRelationshipsOdbcToCollection(), ClinicalRelationshipsSet(), ClinicalRelationshipsSetObject(), ClinicalRelationshipsSetObjectId()
property CollectionTags as %String (XMLPROJECTION = "NONE") [ MultiDimensional , Transient ];
Property methods: CollectionTagsDisplayToLogical(), CollectionTagsGet(), CollectionTagsIsValid(), CollectionTagsLogicalToDisplay(), CollectionTagsLogicalToOdbc(), CollectionTagsNormalize(), CollectionTagsSet()
property CollectionType as %String (XMLPROJECTION = "NONE") [ Transient ];
Property methods: CollectionTypeDisplayToLogical(), CollectionTypeGet(), CollectionTypeIsValid(), CollectionTypeLogicalToDisplay(), CollectionTypeLogicalToOdbc(), CollectionTypeNormalize(), CollectionTypeSet()
property ControlId as %String (MAXLEN = 32000);
ControlId or message ID (for tracking and debugging)
Assigned by the system

VIEWERLIB: Not stored
Property methods: ControlIdDisplayToLogical(), ControlIdGet(), ControlIdIsValid(), ControlIdLogicalToDisplay(), ControlIdLogicalToOdbc(), ControlIdNormalize(), ControlIdSet()
property CustomObjects as list of HS.SDA3.CustomObject;
For handling custom data that can be stored as streamlets

VIEWERLIB: see HS.SDA3.CustomObject
Property methods: CustomObjectsBuildValueArray(), CustomObjectsCollectionToDisplay(), CustomObjectsCollectionToOdbc(), CustomObjectsDisplayToCollection(), CustomObjectsGet(), CustomObjectsGetObject(), CustomObjectsGetObjectId(), CustomObjectsGetSwizzled(), CustomObjectsIsValid(), CustomObjectsOdbcToCollection(), CustomObjectsSet(), CustomObjectsSetObject(), CustomObjectsSetObjectId()
property Diagnoses as list of HS.SDA3.Diagnosis;
List of diagnoses

HL7: DG1,MSH
VIEWERLIB: see HS.SDA3.Diagnosis
Property methods: DiagnosesBuildValueArray(), DiagnosesCollectionToDisplay(), DiagnosesCollectionToOdbc(), DiagnosesDisplayToCollection(), DiagnosesGet(), DiagnosesGetObject(), DiagnosesGetObjectId(), DiagnosesGetSwizzled(), DiagnosesIsValid(), DiagnosesOdbcToCollection(), DiagnosesSet(), DiagnosesSetObject(), DiagnosesSetObjectId()
property Documents as list of HS.SDA3.Document;
List of documents

HL7: TXA,OBX,NTE,MSH
VIEWERLIB: see HS.SDA3.Document
Property methods: DocumentsBuildValueArray(), DocumentsCollectionToDisplay(), DocumentsCollectionToOdbc(), DocumentsDisplayToCollection(), DocumentsGet(), DocumentsGetObject(), DocumentsGetObjectId(), DocumentsGetSwizzled(), DocumentsIsValid(), DocumentsOdbcToCollection(), DocumentsSet(), DocumentsSetObject(), DocumentsSetObjectId()
property Encounters as list of HS.SDA3.Encounter;
List of encounters for this patient

HL7: PV1,PV2,PID,MRG,MSH,EVN
VIEWERLIB: see HS.SDA3.Encounter
Property methods: EncountersBuildValueArray(), EncountersCollectionToDisplay(), EncountersCollectionToOdbc(), EncountersDisplayToCollection(), EncountersGet(), EncountersGetObject(), EncountersGetObjectId(), EncountersGetSwizzled(), EncountersIsValid(), EncountersOdbcToCollection(), EncountersSet(), EncountersSetObject(), EncountersSetObjectId()
property EventDescription as %String (MAXLEN = 220, TRUNCATE = 1);
A description of the event that precipitated this message.

Streamlet cache:
The actions to be taken against the Patient or Encounter will be determined
from the Action and the EventDescription, not just one or the other.
Additionally, the Patient ActionCode may take precedence over Action and
EventDescription. See the annotation on Action for a full description of
the logic.
In the MPIUpdateManager, if the MPIUpdateFlag (either from the update
request, or, if that is null, the DefaultMPIUpdateMode setting of the
operation) is "ADTOnly", then the update will only be sent to the Registry
on add or if EventDescription starts with "ADT".

HL7: MSH-9 : MessageType
VIEWERLIB: Not stored
Property methods: EventDescriptionDisplayToLogical(), EventDescriptionGet(), EventDescriptionIsValid(), EventDescriptionLogicalToDisplay(), EventDescriptionLogicalToOdbc(), EventDescriptionNormalize(), EventDescriptionSet()
property FamilyHistories as list of HS.SDA3.FamilyHistory;
List of family history entries

VIEWERLIB: see HS.SDA3.FamilyHistory
Property methods: FamilyHistoriesBuildValueArray(), FamilyHistoriesCollectionToDisplay(), FamilyHistoriesCollectionToOdbc(), FamilyHistoriesDisplayToCollection(), FamilyHistoriesGet(), FamilyHistoriesGetObject(), FamilyHistoriesGetObjectId(), FamilyHistoriesGetSwizzled(), FamilyHistoriesIsValid(), FamilyHistoriesOdbcToCollection(), FamilyHistoriesSet(), FamilyHistoriesSetObject(), FamilyHistoriesSetObjectId()
property GenomicsOrders as list of HS.SDA3.GenomicsOrder;
List of Genetics orders, that can contain VCF data in a blob VIEWERLIB: Not stored
Property methods: GenomicsOrdersBuildValueArray(), GenomicsOrdersCollectionToDisplay(), GenomicsOrdersCollectionToOdbc(), GenomicsOrdersDisplayToCollection(), GenomicsOrdersGet(), GenomicsOrdersGetObject(), GenomicsOrdersGetObjectId(), GenomicsOrdersGetSwizzled(), GenomicsOrdersIsValid(), GenomicsOrdersOdbcToCollection(), GenomicsOrdersSet(), GenomicsOrdersSetObject(), GenomicsOrdersSetObjectId()
property Goals as list of HS.SDA3.Goal;
VIEWERLIB: Not stored
Property methods: GoalsBuildValueArray(), GoalsCollectionToDisplay(), GoalsCollectionToOdbc(), GoalsDisplayToCollection(), GoalsGet(), GoalsGetObject(), GoalsGetObjectId(), GoalsGetSwizzled(), GoalsIsValid(), GoalsOdbcToCollection(), GoalsSet(), GoalsSetObject(), GoalsSetObjectId()
property Guarantors as list of HS.SDA3.Guarantor;
List of guarantors for this patient - not supported
This property is present for historic reasons only and should not be used.
The Guarantor property on HS.SDA3.Encounter should be used instead.
Attempting to process an SDA into the Streamlet Cache
containing Guarantors in this property will cause them to be rejected with
errors.

VIEWERLIB: Not stored
Property methods: GuarantorsBuildValueArray(), GuarantorsCollectionToDisplay(), GuarantorsCollectionToOdbc(), GuarantorsDisplayToCollection(), GuarantorsGet(), GuarantorsGetObject(), GuarantorsGetObjectId(), GuarantorsGetSwizzled(), GuarantorsIsValid(), GuarantorsOdbcToCollection(), GuarantorsSet(), GuarantorsSetObject(), GuarantorsSetObjectId()
property HealthConcerns as list of HS.SDA3.HealthConcern;
VIEWERLIB: Not stored
Property methods: HealthConcernsBuildValueArray(), HealthConcernsCollectionToDisplay(), HealthConcernsCollectionToOdbc(), HealthConcernsDisplayToCollection(), HealthConcernsGet(), HealthConcernsGetObject(), HealthConcernsGetObjectId(), HealthConcernsGetSwizzled(), HealthConcernsIsValid(), HealthConcernsOdbcToCollection(), HealthConcernsSet(), HealthConcernsSetObject(), HealthConcernsSetObjectId()
property IllnessHistories as list of HS.SDA3.IllnessHistory;
List of past history entries

VIEWERLIB: see HS.SDA3.IllnessHistory
Property methods: IllnessHistoriesBuildValueArray(), IllnessHistoriesCollectionToDisplay(), IllnessHistoriesCollectionToOdbc(), IllnessHistoriesDisplayToCollection(), IllnessHistoriesGet(), IllnessHistoriesGetObject(), IllnessHistoriesGetObjectId(), IllnessHistoriesGetSwizzled(), IllnessHistoriesIsValid(), IllnessHistoriesOdbcToCollection(), IllnessHistoriesSet(), IllnessHistoriesSetObject(), IllnessHistoriesSetObjectId()
property LabOrders as list of HS.SDA3.LabOrder;
HL7: ORC,OBR,NTE,TQ1,MSH
VIEWERLIB: see HS.SDA3.LabOrder
Property methods: LabOrdersBuildValueArray(), LabOrdersCollectionToDisplay(), LabOrdersCollectionToOdbc(), LabOrdersDisplayToCollection(), LabOrdersGet(), LabOrdersGetObject(), LabOrdersGetObjectId(), LabOrdersGetSwizzled(), LabOrdersIsValid(), LabOrdersOdbcToCollection(), LabOrdersSet(), LabOrdersSetObject(), LabOrdersSetObjectId()
property MedicalClaims as list of HS.SDA3.MedicalClaim;
VIEWERLIB: Not stored
Property methods: MedicalClaimsBuildValueArray(), MedicalClaimsCollectionToDisplay(), MedicalClaimsCollectionToOdbc(), MedicalClaimsDisplayToCollection(), MedicalClaimsGet(), MedicalClaimsGetObject(), MedicalClaimsGetObjectId(), MedicalClaimsGetSwizzled(), MedicalClaimsIsValid(), MedicalClaimsOdbcToCollection(), MedicalClaimsSet(), MedicalClaimsSetObject(), MedicalClaimsSetObjectId()
property MedicalExplanationOfBenefits as list of HS.SDA3.MedicalExplanationOfBenefit;
Property methods: MedicalExplanationOfBenefitsBuildValueArray(), MedicalExplanationOfBenefitsCollectionToDisplay(), MedicalExplanationOfBenefitsCollectionToOdbc(), MedicalExplanationOfBenefitsDisplayToCollection(), MedicalExplanationOfBenefitsGet(), MedicalExplanationOfBenefitsGetObject(), MedicalExplanationOfBenefitsGetObjectId(), MedicalExplanationOfBenefitsGetSwizzled(), MedicalExplanationOfBenefitsIsValid(), MedicalExplanationOfBenefitsOdbcToCollection(), MedicalExplanationOfBenefitsSet(), MedicalExplanationOfBenefitsSetObject(), MedicalExplanationOfBenefitsSetObjectId()
property Medications as list of HS.SDA3.Medication;
HL7: ORC,TQ1,RXO,RXE,RXR,RXC,NTE,MSH
VIEWERLIB: see HS.SDA3.Medication
Property methods: MedicationsBuildValueArray(), MedicationsCollectionToDisplay(), MedicationsCollectionToOdbc(), MedicationsDisplayToCollection(), MedicationsGet(), MedicationsGetObject(), MedicationsGetObjectId(), MedicationsGetSwizzled(), MedicationsIsValid(), MedicationsOdbcToCollection(), MedicationsSet(), MedicationsSetObject(), MedicationsSetObjectId()
property MemberEnrollments as list of HS.SDA3.MemberEnrollment;
VIEWERLIB: Not stored
Property methods: MemberEnrollmentsBuildValueArray(), MemberEnrollmentsCollectionToDisplay(), MemberEnrollmentsCollectionToOdbc(), MemberEnrollmentsDisplayToCollection(), MemberEnrollmentsGet(), MemberEnrollmentsGetObject(), MemberEnrollmentsGetObjectId(), MemberEnrollmentsGetSwizzled(), MemberEnrollmentsIsValid(), MemberEnrollmentsOdbcToCollection(), MemberEnrollmentsSet(), MemberEnrollmentsSetObject(), MemberEnrollmentsSetObjectId()
property ObservationGroups as list of HS.SDA3.ObservationGroup;
List of observation groups

VIEWERLIB: Not stored
Property methods: ObservationGroupsBuildValueArray(), ObservationGroupsCollectionToDisplay(), ObservationGroupsCollectionToOdbc(), ObservationGroupsDisplayToCollection(), ObservationGroupsGet(), ObservationGroupsGetObject(), ObservationGroupsGetObjectId(), ObservationGroupsGetSwizzled(), ObservationGroupsIsValid(), ObservationGroupsOdbcToCollection(), ObservationGroupsSet(), ObservationGroupsSetObject(), ObservationGroupsSetObjectId()
property Observations as list of HS.SDA3.Observation;
List of observations made

HL7ToSDA3:
Note that the way some properties of Observation are parsed will depend on
the ObservationCompatibilityMode setting of the HL7 Inbound Process
operation of the Edge production. See HS.SDA3.Observation for more info.

HL7: OBX,NTE
VIEWERLIB: see HS.SDA3.Observation
Property methods: ObservationsBuildValueArray(), ObservationsCollectionToDisplay(), ObservationsCollectionToOdbc(), ObservationsDisplayToCollection(), ObservationsGet(), ObservationsGetObject(), ObservationsGetObjectId(), ObservationsGetSwizzled(), ObservationsIsValid(), ObservationsOdbcToCollection(), ObservationsSet(), ObservationsSetObject(), ObservationsSetObjectId()
property OtherOrders as list of HS.SDA3.OtherOrder;
HL7: ORC,OBR,NTE,TQ1,MSH
VIEWERLIB: see HS.SDA3.OtherOrder
Property methods: OtherOrdersBuildValueArray(), OtherOrdersCollectionToDisplay(), OtherOrdersCollectionToOdbc(), OtherOrdersDisplayToCollection(), OtherOrdersGet(), OtherOrdersGetObject(), OtherOrdersGetObjectId(), OtherOrdersGetSwizzled(), OtherOrdersIsValid(), OtherOrdersOdbcToCollection(), OtherOrdersSet(), OtherOrdersSetObject(), OtherOrdersSetObjectId()
property Patient as HS.SDA3.Patient;
One patient

HL7: PID,PD1,EVN,NTE,MRG,MSH
VIEWERLIB: see HS.SDA3.Patient
Property methods: PatientGet(), PatientGetObject(), PatientGetObjectId(), PatientGetSwizzled(), PatientIsEmpty(), PatientIsValid(), PatientNewObject(), PatientSet(), PatientSetObject(), PatientSetObjectId(), PatientUnSwizzle()
property PharmacyClaims as list of HS.SDA3.PharmacyClaim;
Property methods: PharmacyClaimsBuildValueArray(), PharmacyClaimsCollectionToDisplay(), PharmacyClaimsCollectionToOdbc(), PharmacyClaimsDisplayToCollection(), PharmacyClaimsGet(), PharmacyClaimsGetObject(), PharmacyClaimsGetObjectId(), PharmacyClaimsGetSwizzled(), PharmacyClaimsIsValid(), PharmacyClaimsOdbcToCollection(), PharmacyClaimsSet(), PharmacyClaimsSetObject(), PharmacyClaimsSetObjectId()
property PharmacyExplanationOfBenefits as list of HS.SDA3.PharmacyExplanationOfBenefit;
Property methods: PharmacyExplanationOfBenefitsBuildValueArray(), PharmacyExplanationOfBenefitsCollectionToDisplay(), PharmacyExplanationOfBenefitsCollectionToOdbc(), PharmacyExplanationOfBenefitsDisplayToCollection(), PharmacyExplanationOfBenefitsGet(), PharmacyExplanationOfBenefitsGetObject(), PharmacyExplanationOfBenefitsGetObjectId(), PharmacyExplanationOfBenefitsGetSwizzled(), PharmacyExplanationOfBenefitsIsValid(), PharmacyExplanationOfBenefitsOdbcToCollection(), PharmacyExplanationOfBenefitsSet(), PharmacyExplanationOfBenefitsSetObject(), PharmacyExplanationOfBenefitsSetObjectId()
property PhysicalExams as list of HS.SDA3.PhysicalExam;
List of physical exams conducted

VIEWERLIB: see HS.SDA3.PhysicalExam
Property methods: PhysicalExamsBuildValueArray(), PhysicalExamsCollectionToDisplay(), PhysicalExamsCollectionToOdbc(), PhysicalExamsDisplayToCollection(), PhysicalExamsGet(), PhysicalExamsGetObject(), PhysicalExamsGetObjectId(), PhysicalExamsGetSwizzled(), PhysicalExamsIsValid(), PhysicalExamsOdbcToCollection(), PhysicalExamsSet(), PhysicalExamsSetObject(), PhysicalExamsSetObjectId()
property Problems as list of HS.SDA3.Problem;
List of problems

HL7: PRB,NTE,ROL,MSH
VIEWERLIB: see HS.SDA3.Problem
Property methods: ProblemsBuildValueArray(), ProblemsCollectionToDisplay(), ProblemsCollectionToOdbc(), ProblemsDisplayToCollection(), ProblemsGet(), ProblemsGetObject(), ProblemsGetObjectId(), ProblemsGetSwizzled(), ProblemsIsValid(), ProblemsOdbcToCollection(), ProblemsSet(), ProblemsSetObject(), ProblemsSetObjectId()
property Procedures as list of HS.SDA3.Procedure;
List of procedures

HL7: PR1,MSH
VIEWERLIB: see HS.SDA3.Procedure
Property methods: ProceduresBuildValueArray(), ProceduresCollectionToDisplay(), ProceduresCollectionToOdbc(), ProceduresDisplayToCollection(), ProceduresGet(), ProceduresGetObject(), ProceduresGetObjectId(), ProceduresGetSwizzled(), ProceduresIsValid(), ProceduresOdbcToCollection(), ProceduresSet(), ProceduresSetObject(), ProceduresSetObjectId()
property ProgramMemberships as list of HS.SDA3.ProgramMembership;
This is populated only from the HealthShare Registry, as part of a special
fetch. ProgramMemberships should not be submitted by a data provider.

VIEWERLIB: see HS.SDA3.ProgramMembership
Property methods: ProgramMembershipsBuildValueArray(), ProgramMembershipsCollectionToDisplay(), ProgramMembershipsCollectionToOdbc(), ProgramMembershipsDisplayToCollection(), ProgramMembershipsGet(), ProgramMembershipsGetObject(), ProgramMembershipsGetObjectId(), ProgramMembershipsGetSwizzled(), ProgramMembershipsIsValid(), ProgramMembershipsOdbcToCollection(), ProgramMembershipsSet(), ProgramMembershipsSetObject(), ProgramMembershipsSetObjectId()
property RadOrders as list of HS.SDA3.RadOrder;
HL7: ORC,OBR,NTE,TQ1,MSH
VIEWERLIB: see HS.SDA3.RadOrder
Property methods: RadOrdersBuildValueArray(), RadOrdersCollectionToDisplay(), RadOrdersCollectionToOdbc(), RadOrdersDisplayToCollection(), RadOrdersGet(), RadOrdersGetObject(), RadOrdersGetObjectId(), RadOrdersGetSwizzled(), RadOrdersIsValid(), RadOrdersOdbcToCollection(), RadOrdersSet(), RadOrdersSetObject(), RadOrdersSetObjectId()
property Reader as %XML.Reader (XMLPROJECTION = "NONE") [ Transient ];
Property methods: ReaderGet(), ReaderGetSwizzled(), ReaderIsValid(), ReaderNewObject(), ReaderSet()
property Referrals as list of HS.SDA3.Referral;
VIEWERLIB: Not stored
Property methods: ReferralsBuildValueArray(), ReferralsCollectionToDisplay(), ReferralsCollectionToOdbc(), ReferralsDisplayToCollection(), ReferralsGet(), ReferralsGetObject(), ReferralsGetObjectId(), ReferralsGetSwizzled(), ReferralsIsValid(), ReferralsOdbcToCollection(), ReferralsSet(), ReferralsSetObject(), ReferralsSetObjectId()
property SendingFacility as %String (MAXLEN = 220);
The sending facility; the organization which sent the message
Strictly speaking, it may not be the originator of the data, as the
SendingFacility may just be a "relay". But this distinction is not always
followed.

Streamlet cache:
As Container is not a streamlet, SendingFacility is not stored as part of
any streamlet. However it is stored as part of the internal MRN that
HealthShare stores for every Patient streamlet. The format is:
[SendingFacility]^[PatientNumber.Organization.Code]^[PatientNumber.Number]
Where PatientNumber is the first item in HS.SDA3.Patient:PatientNumbers
with NumberType="MRN". Aggregation keys are indexed by MRN and vice versa
in ^HS.SDAStreamletMRN:
^HS.SDAStreamletMRN("MRN", [MRN]) = [AggregationKey]
^HS.SDAStreamletMRN("Key", [AggregationKey]) = [MRN]
Patient streamlets are matched on MRN/AggregationKey.
In the EncounterActions method of HS.SDA3.Streamlet.Encounter, if a new
Encounter has no HealthCareFacility, one is defaulted in with Code and
Organization.Code = SendingFacility.

Viewer cache:
If any HealthCareFacility CodeTableDetail with no Organization is loaded
into the Viewer Cache, an Organization with Code = SendingFacility will be
defaulted in.

HL7: MSH-4.1 : SendingFacility.NamespaceID
VIEWERLIB: Not stored
Property methods: SendingFacilityDisplayToLogical(), SendingFacilityGet(), SendingFacilityIsValid(), SendingFacilityLogicalToDisplay(), SendingFacilityLogicalToOdbc(), SendingFacilityNormalize(), SendingFacilitySet()
property SessionId as %String (MAXLEN = 32000);
Not used

VIEWERLIB: Not stored
Property methods: SessionIdDisplayToLogical(), SessionIdGet(), SessionIdIsValid(), SessionIdLogicalToDisplay(), SessionIdLogicalToOdbc(), SessionIdNormalize(), SessionIdSet()
property SingleTags as %String (XMLPROJECTION = "NONE") [ MultiDimensional , Transient ];
Property methods: SingleTagsDisplayToLogical(), SingleTagsGet(), SingleTagsIsValid(), SingleTagsLogicalToDisplay(), SingleTagsLogicalToOdbc(), SingleTagsNormalize(), SingleTagsSet()
property SocialDeterminants as list of HS.SDA3.SocialDeterminant;
List of Social Determinants

VIEWERLIB: TBD
Property methods: SocialDeterminantsBuildValueArray(), SocialDeterminantsCollectionToDisplay(), SocialDeterminantsCollectionToOdbc(), SocialDeterminantsDisplayToCollection(), SocialDeterminantsGet(), SocialDeterminantsGetObject(), SocialDeterminantsGetObjectId(), SocialDeterminantsGetSwizzled(), SocialDeterminantsIsValid(), SocialDeterminantsOdbcToCollection(), SocialDeterminantsSet(), SocialDeterminantsSetObject(), SocialDeterminantsSetObjectId()
property SocialHistories as list of HS.SDA3.SocialHistory;
List of social history entries

VIEWERLIB: see HS.SDA3.SocialHistory
Property methods: SocialHistoriesBuildValueArray(), SocialHistoriesCollectionToDisplay(), SocialHistoriesCollectionToOdbc(), SocialHistoriesDisplayToCollection(), SocialHistoriesGet(), SocialHistoriesGetObject(), SocialHistoriesGetObjectId(), SocialHistoriesGetSwizzled(), SocialHistoriesIsValid(), SocialHistoriesOdbcToCollection(), SocialHistoriesSet(), SocialHistoriesSetObject(), SocialHistoriesSetObjectId()
property StreamBuffer as %String (XMLPROJECTION = "NONE") [ Transient ];
Property methods: StreamBufferDisplayToLogical(), StreamBufferGet(), StreamBufferIsValid(), StreamBufferLogicalToDisplay(), StreamBufferLogicalToOdbc(), StreamBufferNormalize(), StreamBufferSet()
property StreamContentType as %String (XMLPROJECTION = "NONE") [ Transient ];
Property methods: StreamContentTypeDisplayToLogical(), StreamContentTypeGet(), StreamContentTypeIsValid(), StreamContentTypeLogicalToDisplay(), StreamContentTypeLogicalToOdbc(), StreamContentTypeNormalize(), StreamContentTypeSet()
property StreamOref as %Stream.Object (XMLPROJECTION = "NONE") [ Transient ];
The properties below are used only for the XML parsing methods
Property methods: StreamOrefDelete(), StreamOrefGet(), StreamOrefGetObject(), StreamOrefGetObjectId(), StreamOrefGetSwizzled(), StreamOrefIsValid(), StreamOrefNewObject(), StreamOrefOid(), StreamOrefOpen(), StreamOrefSet(), StreamOrefSetObject(), StreamOrefSetObjectId(), StreamOrefUnSwizzle()
property StreamPos as %Integer (XMLPROJECTION = "NONE") [ Transient ];
Property methods: StreamPosDisplayToLogical(), StreamPosGet(), StreamPosIsValid(), StreamPosLogicalToDisplay(), StreamPosNormalize(), StreamPosSet(), StreamPosXSDToLogical()
property UpdateECRDemographics as %Boolean [ InitialExpression = 1 ];
This property is not used. Rather, the UpdateECRDemographics property of
HS.Message.ECRUpdateRequest is used to determine whether to update Patient
and Encounter streamlets. See ECRUpdateRequest for full documentation.

VIEWERLIB: Not stored
Property methods: UpdateECRDemographicsDisplayToLogical(), UpdateECRDemographicsGet(), UpdateECRDemographicsIsValid(), UpdateECRDemographicsLogicalToDisplay(), UpdateECRDemographicsLogicalToXSD(), UpdateECRDemographicsNormalize(), UpdateECRDemographicsSet(), UpdateECRDemographicsXSDToLogical()
property Vaccinations as list of HS.SDA3.Vaccination;
HL7: ORC,TQ1,RXA,RXR,MSH
VIEWERLIB: see HS.SDA3.Vaccination
Property methods: VaccinationsBuildValueArray(), VaccinationsCollectionToDisplay(), VaccinationsCollectionToOdbc(), VaccinationsDisplayToCollection(), VaccinationsGet(), VaccinationsGetObject(), VaccinationsGetObjectId(), VaccinationsGetSwizzled(), VaccinationsIsValid(), VaccinationsOdbcToCollection(), VaccinationsSet(), VaccinationsSetObject(), VaccinationsSetObjectId()

Methods

classmethod ExportXMLSchemaAPI(pFileName, pIncludeDoc=0) as %Status [ Language = objectscript ]
API Method: Export XML Schema to file @API.Method
method GetNextSDA(ByRef pType, ByRef pSDA As HS.SDA3.SuperClass, ByRef pStatus, ByRef pDate, ByRef pSDAString) as %Boolean [ Language = objectscript ]
API Method Gets the next SDA stream. pDate will be the date used when aggregating at an access gateway - if we detect a duplicate, and the facility tier is the same, we use this as a tie-breaker to determine the best record - the "most recent" one is better. This is computed by first looking at UpdatedOn, then if missing, EnteredOn; if missing, then use today pSDAString is deprecated and should no longer be used. It will fail on any SDA class that contains a blob, since the blob may exceed the string length. @API.Method
method InitializeXMLParse(ByRef pStream, pStreamContentType="SDA3") as %Status [ Language = objectscript ]
API Method Initializes an SDA3 stream for import. pStreamContentType is always SDA3 - streamlet type is only for possible future use @API.Method
classmethod ListStreamletIds(pStreamletType, pAgKey="", pPAPersonId="", ByRef pStreamletIds) as %Status [ Language = objectscript ]
Deprecated - see HS.SDA3.Streamlet.ContainerMethods:ListStreamletIds @API.Overrideable @Modifier Availability InterSystems
classmethod LoadSDAArray(pStreamletId, pArray) as %Status [ Language = objectscript ]
Deprecated - see HS.SDA3.Streamlet.ContainerMethods:LoadSDAArray @API.Overrideable @Modifier Availability InterSystems
classmethod LoadSDAObject(pStreamletId, ByRef pSDA) as %Status [ Language = objectscript ]
Deprecated - see HS.SDA3.Streamlet.ContainerMethods:LoadSDAObject @API.Overrideable @Modifier Availability InterSystems
classmethod NormalizeSDAStream(pSDAIn As %Stream.Object, ByRef pSDAOut As %Stream.Object = "", ByRef pErrList As %ListOfDataTypes) as %Status [ Language = objectscript ]
Deprecated - see HS.SDA3.Streamlet.ContainerMethods:NormalizeSDAStream @API.Overrideable @Modifier Availability InterSystems
classmethod TranslateSDAStream(pSDAIn As %Stream.Object, pSDAOut As %Stream.Object = "", pTransProfile As %String = "", pForceDefaulting As %Boolean = 0) as %Status [ Language = objectscript ]
Deprecated - see HS.SDA3.Streamlet.ContainerMethods:TranslateSDAStream @API.Overrideable @Modifier Availability InterSystems

Inherited Members

Inherited Methods

Feedback