Skip to main content

HS.SDA3.Appointment

serial class HS.SDA3.Appointment extends HS.SDA3.SuperClass

Property Inventory

Properties

property ActionCode as %String;
Supported values:
D = Delete
C = Clear All
Any other value = Add or Update
See the annotation on the superclass property for more information on how
ActionCode is used.

VIEWERLIB: Not stored
Property methods: ActionCodeDisplayToLogical(), ActionCodeGet(), ActionCodeIsValid(), ActionCodeLogicalToDisplay(), ActionCodeLogicalToOdbc(), ActionCodeNormalize(), ActionCodeSet()
property ActionScope as %String;
Not used.
Property methods: ActionScopeDisplayToLogical(), ActionScopeGet(), ActionScopeIsValid(), ActionScopeLogicalToDisplay(), ActionScopeLogicalToOdbc(), ActionScopeNormalize(), ActionScopeSet()
property CareProvider as HS.SDA3.CodeTableDetail.CareProvider;
HL7ToSDA3:
Though AIP-3 is a repeating field, HL7ToSDA3 will only parse the first
non-null instance. AIP-4, if present, will be parsed as the
CareProviderType of the AIP-3 CareProvider.

Streamlet cache:
In the OnValidate method of the Streamlet class, if the Appointment
does not have a CareProvider or Location, an error will be logged and
the streamlet will not be saved.

HL7: AIP-3 : PersonnelResourceID
HL7: AIP-4 : ResourceType
SDATableName=CareProvider, ViewerClass=User.HS.CTCareProv
VIEWERLIB: User.HS.RBAppointment(APPTRequestedCPDR)

.Code
HL7: AIP-3.1 : IDNumber
VIEWERLIB: User.HS.CTCareProv(CTPCPCode)
.Description
HL7ToSDA3:
The name is formatted as "[Family], [Given]" to make the Description.
HL7: AIP-3.2.1 : FamilyName.Surname
HL7: AIP-3.3 : GivenName
VIEWERLIB: User.HS.CTCareProv(CTPCPDesc)
.SDACodingStandard
HL7: AIP-3.9 : AssigningAuthority
VIEWERLIB: Not stored
.Name.FamilyName
HL7: AIP-3.2.1 : FamilyName.Surname
VIEWERLIB: User.HS.CTCareProv(CTPCPSurname)
.Name.GivenName
HL7: AIP-3.3 : GivenName
VIEWERLIB: User.HS.CTCareProv(CTPCPFirstName)
.Name.MiddleName
HL7: AIP-3.4 : SecondandFurtherGivenName
VIEWERLIB: User.HS.CTCareProv(CTPCPOtherName)
.Name.NamePrefix
HL7: AIP-3.6 : Prefix
VIEWERLIB: User.HS.CTCareProv(CTPCPTitle)
.Name.NameSuffix
HL7: AIP-3.5 : Suffix
VIEWERLIB: User.HS.CTCareProv(CTPCPTextTwo)
.Name.ProfessionalSuffix
HL7: AIP-3.21 : ProfessionalSuffix
VIEWERLIB: User.HS.CTCareProv(CTPCPTextThree)
.CareProviderType
HL7ToSDA3:
AIP-4 will be parsed as the CareProviderType of the AIP-3 CareProvider, but
only if subfield 1 or 2 is not null.
HL7: AIP-4 : ResourceType
SDATableName=CareProviderType, ViewerClass=User.HS.CTCarPrvTp
VIEWERLIB: User.HS.CTCareProv(CTPCPCarPrvTpDR)
.CareProviderType.Code
HL7: AIP-4.1 : ResourceType.Identifier
VIEWERLIB: User.HS.CTPCPCarPrvTpDR(CTCPTCode)
.CareProviderType.Description
HL7: AIP-4.2 : ResourceType.Text
VIEWERLIB: User.HS.CTPCPCarPrvTpDR(CTCPTDesc)
.CareProviderType.SDACodingStandard
HL7: AIP-4.3 : ResourceType.NameofCodingSystem
VIEWERLIB: Not stored
Property methods: CareProviderGet(), CareProviderGetObject(), CareProviderGetObjectId(), CareProviderGetSwizzled(), CareProviderIsEmpty(), CareProviderIsValid(), CareProviderNewObject(), CareProviderSet(), CareProviderSetObject(), CareProviderSetObjectId(), CareProviderUnSwizzle()
property EnteredAt as HS.SDA3.CodeTableDetail.Organization;
HL7ToSDA3:
SCH-22 is used if subfield 4.1 is not null, else MSH-4 is used. In either
case, the HL7 value is used as the EnteredAt Code. HL7ToSDA3 does not set
the Description.

HL7: SCH-22.4.1 : EnteredAtLocation.Facility.NamespaceID
HL7: MSH-4.1 : SendingFacility.NamespaceID
SDATableName=Organization, ViewerClass=User.HS.CTHospital
VIEWERLIB: User.HS.RBAppointment(APPTLastStatusChangeHospitalDR)
Property methods: EnteredAtGet(), EnteredAtGetObject(), EnteredAtGetObjectId(), EnteredAtGetSwizzled(), EnteredAtIsEmpty(), EnteredAtIsValid(), EnteredAtNewObject(), EnteredAtSet(), EnteredAtSetObject(), EnteredAtSetObjectId(), EnteredAtUnSwizzle()
property EnteredBy as HS.SDA3.CodeTableDetail.User;
HL7ToSDA3:
Though SCH-20 is a repeating field, HL7ToSDA3 will only use the first
non-null instance.

HL7: SCH-20 : EnteredByPerson
SDATableName=User, ViewerClass=User.HS.SSUser
VIEWERLIB: User.HS.RBAppointment(APPTLastStatusChangeUserDR)

.Code
HL7: SCH-20.1 : EnteredByPerson.IDNumber
VIEWERLIB: User.HS.SSUser(SSUSRInitials)
.Description
HL7ToSDA3:
The name is formatted as "[Family], [Given]" to make the Description.
HL7: SCH-20.2.1 : EnteredByPerson.FamilyName.Surname
HL7: SCH-20.3 : EnteredByPerson.GivenName
VIEWERLIB: User.HS.SSUser(SSUSRName)
.SDACodingStandard
HL7: SCH-20.9 : EnteredByPerson.AssigningAuthority
VIEWERLIB: Not stored
Property methods: EnteredByGet(), EnteredByGetObject(), EnteredByGetObjectId(), EnteredByGetSwizzled(), EnteredByIsEmpty(), EnteredByIsValid(), EnteredByNewObject(), EnteredBySet(), EnteredBySetObject(), EnteredBySetObjectId(), EnteredByUnSwizzle()
property EnteredOn as HS.SDA3.TimeStamp;
Streamlet cache:
In the OnValidate method of the Streamlet class, if EnteredOn is null, it
is defaulted to the current date/time.

VIEWERLIB: User.HS.RBAppointment(APPTLastStatusChangeDate) + User.HS.RBAppointment(APPTLastStatusChangeTime)
Property methods: EnteredOnDisplayToLogical(), EnteredOnGet(), EnteredOnIsValid(), EnteredOnLogicalToDisplay(), EnteredOnLogicalToTimeStamp(), EnteredOnLogicalToXSD(), EnteredOnNormalize(), EnteredOnOdbcToLogical(), EnteredOnSet(), EnteredOnXSDToLogical()
property Extension as HS.Local.SDA3.AppointmentExtension;
Property methods: ExtensionGet(), ExtensionGetObject(), ExtensionGetObjectId(), ExtensionGetSwizzled(), ExtensionIsEmpty(), ExtensionIsValid(), ExtensionNewObject(), ExtensionSet(), ExtensionSetObject(), ExtensionSetObjectId(), ExtensionUnSwizzle()
property ExternalId as %String (MAXLEN = 220);
VIEWERLIB: User.HS.RBAppointment(APPTEBEI)
Property methods: ExternalIdDisplayToLogical(), ExternalIdGet(), ExternalIdIsValid(), ExternalIdLogicalToDisplay(), ExternalIdLogicalToOdbc(), ExternalIdNormalize(), ExternalIdSet()
property FillerApptId as %String;
HL7ToSDA3:
If both Filler Appointment ID and Occurrence Number are given,
FillerApptId will be parsed as "[FillerAppointmentID]:[OccurrenceNumber]".

Streamlet cache:
In the OnBeforeMatch method of the Streamlet class, if both PlacerApptId
and FillerApptId are null, an error will be logged and the Streamlet will
not be processed.

HL7: SCH-2.1 : FillerAppointmentID.EntityIdentifier
HL7: SCH-3 : OccurrenceNumber
VIEWERLIB: User.HS.RBAppointment(APPTUSRN)
Property methods: FillerApptIdDisplayToLogical(), FillerApptIdGet(), FillerApptIdIsValid(), FillerApptIdLogicalToDisplay(), FillerApptIdLogicalToOdbc(), FillerApptIdNormalize(), FillerApptIdSet()
property FillerOrderId as %String;
Used to link an Appointment to an Order

HL7: SCH-27.1 : FillerOrderNumber.EntityIdentifier
VIEWERLIB: Not stored
Property methods: FillerOrderIdDisplayToLogical(), FillerOrderIdGet(), FillerOrderIdIsValid(), FillerOrderIdLogicalToDisplay(), FillerOrderIdLogicalToOdbc(), FillerOrderIdNormalize(), FillerOrderIdSet()
property FromTime as HS.SDA3.TimeStamp;
HL7ToSDA3:
If a TQ1 is present, TQ1-7 will be used, else SCH-11.4 will be used.

Streamlet cache:
In the OnValidate method of the Streamlet class, if FromTime is null, an error will
be logged and the Appointment will not be saved.

Viewer cache:
ASDate and ASSession are date-only. ASSessStartTime and APPTETA are time-only.

HL7: TQ1-7 : StartDateTime
HL7: SCH-11.4 : AppointmentTimingQuantity.StartDateTime
VIEWERLIB: User.HS.RBAppointment(APPTETA)
VIEWERLIB: User.HS.RBApptSchedule(ASSessStartTime)
VIEWERLIB: User.HS.RBApptSchedule(ASDate)
VIEWERLIB: User.HS.RBApptSchedule(ASSession)
Property methods: FromTimeDisplayToLogical(), FromTimeGet(), FromTimeIsValid(), FromTimeLogicalToDisplay(), FromTimeLogicalToTimeStamp(), FromTimeLogicalToXSD(), FromTimeNormalize(), FromTimeOdbcToLogical(), FromTimeSet(), FromTimeXSDToLogical()
property Location as HS.SDA3.CodeTableDetail.HealthCareFacility;
HL7ToSDA3:
AIL-3.9 is parsed to the Location Code. HL7ToSDA3 does not set the
Description.

Streamlet cache:
In the OnValidate method of the Streamlet class, if the Appointment
does not have a CareProvider or Location, an error will be logged and
the streamlet will not be saved.

HL7: AIL-3.9 : LocationResourceID.LocationDescription
SDATableName=HealthCareFacility, ViewerClass=User.HS.CTLoc
VIEWERLIB: User.HS.RBResource(RESCTLOCDR)
Property methods: LocationGet(), LocationGetObject(), LocationGetObjectId(), LocationGetSwizzled(), LocationIsEmpty(), LocationIsValid(), LocationNewObject(), LocationSet(), LocationSetObject(), LocationSetObjectId(), LocationUnSwizzle()
property NoShow as HS.SDA3.Boolean;
HL7ToSDA3:
Will be set to 1 if an SIU_S26 (Notification that patient did not show up
for scheduled appointment) is received.

Streamlet cache:
The OnBeforeMatch method of the Streamlet class will default a null value
to 0. Note that this means that if the value for an existing Appointment is
1 and an update is applied that has no NoShow value, the saved value will
become 0.

Viewer cache:
If NoShow is 1, the value stored in the Viewer Cache is the Description for the
AppointmentStatus Standard Type Item with Code="N", "Not Attended" by default.
See the HS documentation for guidance on configuring this.

VIEWERLIB: User.HS.RBAppointment(APPTConfirmation)
Property methods: NoShowDisplayToLogical(), NoShowGet(), NoShowIsValid(), NoShowIsValidDT(), NoShowLogicalToDisplay(), NoShowLogicalToXSD(), NoShowNormalize(), NoShowSet(), NoShowXSDToLogical()
property Notes as %String);
CRLF-delimited string

HL7ToSDA3:
Only the NTEs following the TQ1 segment (or the SCH if there is no
TQ1) will be parsed.

HL7: NTE-3 : Comment
VIEWERLIB: User.HS.RBAppointment(APPTRemarks)
Property methods: NotesDisplayToLogical(), NotesGet(), NotesIsValid(), NotesLogicalToDisplay(), NotesLogicalToOdbc(), NotesNormalize(), NotesSet()
property OrderItem as HS.SDA3.CodeTableDetail.Order;
The service to be performed during the appointment.

HL7ToSDA3:
AIS-3 will only be parsed if subfield 1 or 2 is not null.

HL7: AIS-3 : UniversalServiceIdentifier
SDATableName=Order, ViewerClass=User.HS.ARCItmMast
VIEWERLIB: User.HS.RBAppointment(APPTARCIMDR)

.Code
HL7: AIS-3.1 : UniversalServiceIdentifier.Identifier
VIEWERLIB: User.HS.ARCItmMast(ARCIMCode)
.Description
HL7: AIS-3.2 : UniversalServiceIdentifier.Text
VIEWERLIB: User.HS.ARCItmMast(ARCIMDesc)
.SDACodingStandard
HL7: AIS-3.3 : UniversalServiceIdentifier.NameofCodingSystem
VIEWERLIB: Not stored
.PriorCodes
HL7ToSDA3:
If subfield 4 or 5 is not null, then a PriorCode will be parsed to the SDA
with Code coming from subfield 4, Description from 5, and CodingSystem from
6. The Type will be parsed as "A".
HL7: AIS-3.4 : UniversalServiceIdentifier.AlternateIdentifier
HL7: AIS-3.5 : UniversalServiceIdentifier.AlternateText
HL7: AIS-3.6 : UniversalServiceIdentifier.NameofAlternateCodingSystem
VIEWERLIB: Not stored
.OriginalText
HL7: AIS-3.9 : UniversalServiceIdentifier.OriginalText
VIEWERLIB: Not stored
Property methods: OrderItemGet(), OrderItemGetObject(), OrderItemGetObjectId(), OrderItemGetSwizzled(), OrderItemIsEmpty(), OrderItemIsValid(), OrderItemNewObject(), OrderItemSet(), OrderItemSetObject(), OrderItemSetObjectId(), OrderItemUnSwizzle()
property PlacerApptId as %String;
HL7ToSDA3:
If both Placer Appointment ID and Occurrence Number are given, PlacerApptId
will be parsed as "[PlacerAppointmentID]:[OccurrenceNumber]".

Streamlet cache:
In the OnBeforeMatch method of the Streamlet class, if both PlacerApptId
and FillerApptId are null, an error will be logged and the Streamlet will
not be processed.

HL7: SCH-1.1 : PlacerAppointmentID.EntityIdentifier
HL7: SCH-3 : OccurrenceNumber
VIEWERLIB: User.HS.RBAppointment(APPTUBRN)
Property methods: PlacerApptIdDisplayToLogical(), PlacerApptIdGet(), PlacerApptIdIsValid(), PlacerApptIdLogicalToDisplay(), PlacerApptIdLogicalToOdbc(), PlacerApptIdNormalize(), PlacerApptIdSet()
property PlacerOrderId as %String;
Used to link an Appointment to an Order

HL7: SCH-26.1 : PlacerOrderNumber.EntityIdentifier
VIEWERLIB: Not stored
Property methods: PlacerOrderIdDisplayToLogical(), PlacerOrderIdGet(), PlacerOrderIdIsValid(), PlacerOrderIdLogicalToDisplay(), PlacerOrderIdLogicalToOdbc(), PlacerOrderIdNormalize(), PlacerOrderIdSet()
property Status as %String;
HL7ToSDA3:
Status will be set depending on the type of event received. Possible values
are "CANCELLED" (SIU_S15, Notification of appointment cancellation), "DC"
for "Discontinued" (SIU_S16, Notification of appointment discontinuation)
and null for any other event.

Streamlet cache:
The OnBeforeMatch method of the Streamlet class will default a null value
to "BOOKED".

Viewer cache:
In the Viewer Cache, a Status of "CANCELLED" will be stored as "X", "DC" as
"D", and all other values as "P". The value that appears in the Viewer does
not come from the DISPLAYLIST of the APPTStatus property, but rather the
Description for the corresponding RBApptStatus Standard Type Item. See the
HS documentation for guidance on configuring this.

VIEWERLIB: User.HS.RBAppointment(APPTStatus)
Property methods: StatusDisplayToLogical(), StatusGet(), StatusIsValid(), StatusLogicalToDisplay(), StatusLogicalToOdbc(), StatusNormalize(), StatusSet()
property ToTime as HS.SDA3.TimeStamp;
HL7ToSDA3:
If a TQ1 is present, only TQ1 fields will be used, else SCH fields will be
used.
If the HL7 contains a start time but no end time, and it contains a
duration (TQ1-6.1 or SCH-9) and a duration units (TQ1-6.2.1 or SCH-10.1)
equal to "MINUTES", "M", "HOURS", or "H" (case-insensitive),
then ToTime will be calculated from the start time and duration.

Viewer cache:
ASSessEndTime is time-only.

HL7: TQ1-6.1 : ServiceDuration.Quantity
HL7: TQ1-6.2.1 : ServiceDuration.Units.Identifier
HL7: TQ1-8 : EndDateTime
HL7: SCH-9 : AppointmentDuration
HL7: SCH-10.1 : AppointmentDurationUnits.Identifer
HL7: SCH-11.5 : AppointmentTimingQuantity.EndDateTime
VIEWERLIB: User.HS.RBApptSchedule(ASSessEndTime)
Property methods: ToTimeDisplayToLogical(), ToTimeGet(), ToTimeIsValid(), ToTimeLogicalToDisplay(), ToTimeLogicalToTimeStamp(), ToTimeLogicalToXSD(), ToTimeNormalize(), ToTimeOdbcToLogical(), ToTimeSet(), ToTimeXSDToLogical()
property Type as HS.SDA3.CodeTableDetail.AppointmentType;
HL7ToSDA3:
SCH-7 will only be parsed if subfield 1 or 2 is not null.

HL7: SCH-7 : AppointmentReason
SDATableName=AppointmentType, ViewerClass=User.HS.RBCSessionType
VIEWERLIB: User.HS.RBApptSchedule(ASSessionTypeDR)

.Code
HL7: SCH-7.1 : AppointmentReason.Identifier
VIEWERLIB: User.HS.RBCSessionType(SESSCode)
.Description
HL7: SCH-7.2 : AppointmentReason.Text
VIEWERLIB: User.HS.RBCSessionType(SESSDesc)
.SDACodingStandard
HL7: SCH-7.3 : AppointmentReason.NameofCodingSystem
VIEWERLIB: Not stored
Property methods: TypeGet(), TypeGetObject(), TypeGetObjectId(), TypeGetSwizzled(), TypeIsEmpty(), TypeIsValid(), TypeNewObject(), TypeSet(), TypeSetObject(), TypeSetObjectId(), TypeUnSwizzle()

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab