Skip to main content

HS.SDA3.Procedure

serial class HS.SDA3.Procedure extends HS.SDA3.SuperClass

HS.SDA3.Procedure corresponds to the CDA Procedures section, also known as Procedures and Interventions, or History of Procedures.

Property Inventory

Properties

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

HL7: PR1-20 : ProcedureActionCode
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 Clinician as HS.SDA3.CodeTableDetail.CareProvider;
Clinician who performed procedure

HL7ToSDA3:
Though PR1-11 is a repeating field, only the first instance is used.

HL7: PR1-11 : Surgeon
SDATableName=CareProvider, ViewerClass=User.HS.CTCareProv
VIEWERLIB: User.HS.MRProcedures(PROCCTCPDR)

.Code
HL7: PR1-11.1 : Surgeon.IDNumber
VIEWERLIB: User.HS.CTCareProv(CTPCPCode)
.Description
HL7ToSDA3:
Description is parsed from the first instance of PR1-11, subfields 2.1
(FamilyName.Surname) and 3 (GivenName), formatted as:
"[FamilyName.Surname], [GivenName]".
HL7: PR1-11.2.1 : Surgeon.FamilyName.Surname
HL7: PR1-11.3 : Surgeon.GivenName
VIEWERLIB: User.HS.CTCareProv(CTPCPDesc)
.SDACodingStandard
HL7: PR1-11.9 : Surgeon.AssigningAuthority
VIEWERLIB: Not stored
.Name.FamilyName
HL7: PR1-11.2.1 : Surgeon.FamilyName.Surname
VIEWERLIB: User.HS.CTCareProv(CTPCPSurname)
.Name.GivenName
HL7: PR1-11.3 : Surgeon.GivenName
VIEWERLIB: User.HS.CTCareProv(CTPCPFirstName)
.Name.MiddleName
HL7: PR1-11.4 : Surgeon.MiddleName
VIEWERLIB: User.HS.CTCareProv(CTPCPOtherName)
.Name.NamePrefix
HL7: PR1-11.6 : Surgeon.NamePrefix
VIEWERLIB: User.HS.CTCareProv(CTPCPTitle)
.Name.NameSuffix
HL7: PR1-11.5 : Surgeon.Suffix
VIEWERLIB: User.HS.CTCareProv(CTPCPTextTwo)
.Name.ProfessionalSuffix
HL7: PR1-11.21 : Surgeon.ProfessionalSuffix
VIEWERLIB: User.HS.CTCareProv(CTPCPTextThree)
Property methods: ClinicianGet(), ClinicianGetObject(), ClinicianGetObjectId(), ClinicianGetSwizzled(), ClinicianIsEmpty(), ClinicianIsValid(), ClinicianNewObject(), ClinicianSet(), ClinicianSetObject(), ClinicianSetObjectId(), ClinicianUnSwizzle()
property Devices as list of HS.SDA3.Device;
Devices that were implanted or attached as part of this procedure.
Property methods: DevicesBuildValueArray(), DevicesCollectionToDisplay(), DevicesCollectionToOdbc(), DevicesDisplayToCollection(), DevicesGet(), DevicesGetObject(), DevicesGetObjectId(), DevicesGetSwizzled(), DevicesIsValid(), DevicesOdbcToCollection(), DevicesSet(), DevicesSetObject(), DevicesSetObjectId()
property EnteredAt as HS.SDA3.CodeTableDetail.Organization;
HL7ToSDA3:
MSH-4.1 is parsed to the EnteredAt Code. HL7ToSDA3 does not set the
Description.

HL7: MSH-4.1 : SendingFacility.NamespaceID
SDATableName=Organization, ViewerClass=User.HS.CTHospital
VIEWERLIB: User.HS.MRProcedures(PROCUpdateHospitalDR)
Property methods: EnteredAtGet(), EnteredAtGetObject(), EnteredAtGetObjectId(), EnteredAtGetSwizzled(), EnteredAtIsEmpty(), EnteredAtIsValid(), EnteredAtNewObject(), EnteredAtSet(), EnteredAtSetObject(), EnteredAtSetObjectId(), EnteredAtUnSwizzle()
property EnteredBy as HS.SDA3.CodeTableDetail.User;
SDATableName=User, ViewerClass=User.HS.SSUser
VIEWERLIB: User.HS.MRProcedures(PROCUserDR)
Property methods: EnteredByGet(), EnteredByGetObject(), EnteredByGetObjectId(), EnteredByGetSwizzled(), EnteredByIsEmpty(), EnteredByIsValid(), EnteredByNewObject(), EnteredBySet(), EnteredBySetObject(), EnteredBySetObjectId(), EnteredByUnSwizzle()
property EnteredOn as HS.SDA3.TimeStamp;
VIEWERLIB: User.HS.MRProcedures(PROCDate) + User.HS.MRProcedures(PROCTime)
Property methods: EnteredOnDisplayToLogical(), EnteredOnGet(), EnteredOnIsValid(), EnteredOnLogicalToDisplay(), EnteredOnLogicalToTimeStamp(), EnteredOnLogicalToXSD(), EnteredOnNormalize(), EnteredOnOdbcToLogical(), EnteredOnSet(), EnteredOnXSDToLogical()
property Extension as HS.Local.SDA3.ProcedureExtension;
Property methods: ExtensionGet(), ExtensionGetObject(), ExtensionGetObjectId(), ExtensionGetSwizzled(), ExtensionIsEmpty(), ExtensionIsValid(), ExtensionNewObject(), ExtensionSet(), ExtensionSetObject(), ExtensionSetObjectId(), ExtensionUnSwizzle()
property ExternalId as %String (MAXLEN = 220);
HL7: PR1-19.1 : ProcedureIdentifier.EntityIdentifier
VIEWERLIB: User.HS.MRProcedures(PROCExternalId)
Property methods: ExternalIdDisplayToLogical(), ExternalIdGet(), ExternalIdIsValid(), ExternalIdLogicalToDisplay(), ExternalIdLogicalToOdbc(), ExternalIdNormalize(), ExternalIdSet()
property Procedure as HS.SDA3.CodeTableDetail.Procedure;
Procedure code

HL7ToSDA3:
PR1-3 will be used if subfield 1 or 2 is not null. Else, PR1-4 will be
used. In this case, PR1-4 will be parsed to the Procedure Code. HL7ToSDA3
will not set the Description.

Streamlet cache:
In the OnValidate method of the Streamlet cache, if the SDA contains no
Procedure, an error will be logged and the Streamlet will not be saved.

HL7: PR1-3 : ProcedureCode
HL7: PR1-4 : ProcedureDescription
SDATableName=Procedure, ViewerClass=User.HS.ORCOperation
VIEWERLIB: User.HS.MRProcedures(PROCOperationDR)

.Code
HL7: PR1-3.1 : ProcedureCode.Identifier
HL7: PR1-4 : ProcedureDescription
VIEWERLIB: User.HS.ORCOperation(OPERCode)
.Description
HL7: PR1-3.2 : ProcedureCode.Text
VIEWERLIB: User.HS.ORCOperation(OPERDesc)
.SDACodingStandard
HL7: PR1-3.3 : ProcedureCode.NameofCodingSystem
VIEWERLIB: Not stored
.PriorCodes
HL7ToSDA3:
In addition to subfield 1 or 2 not being null, if subfield 4 or 5 of PR1-3
is not null, then then subfields 4, 5, and 6 will be parsed to the Code,
Description, and CodeSystem of a PriorCode in the SDA. The Type will be
parsed as "A".
HL7: PR1-3.4 : ProcedureCode.AlternateIdentifier
HL7: PR1-3.5 : ProcedureCode.AlternateText
HL7: PR1-3.6 : ProcedureCode.NameofAlternateCodingSystem
VIEWERLIB: Not stored
.OriginalText
HL7ToSDA3:
Subfield 9 of PR1-3 will only be parsed if subfield 1 or 2 is not null.
HL7: PR1-3.9 : ProcedureCode.OriginalText
VIEWERLIB: Not stored
Property methods: ProcedureGet(), ProcedureGetObject(), ProcedureGetObjectId(), ProcedureGetSwizzled(), ProcedureIsEmpty(), ProcedureIsValid(), ProcedureNewObject(), ProcedureSet(), ProcedureSetObject(), ProcedureSetObjectId(), ProcedureUnSwizzle()
property ProcedurePriority as %String;
The priority of the procedure
The value 1 means that this is the primary procedure. Values 2-99 convey ranked secondary procedures.

HL7: PR1-14 : ProcedurePriority
VIEWERLIB: Not stored
Property methods: ProcedurePriorityDisplayToLogical(), ProcedurePriorityGet(), ProcedurePriorityIsValid(), ProcedurePriorityLogicalToDisplay(), ProcedurePriorityLogicalToOdbc(), ProcedurePriorityNormalize(), ProcedurePrioritySet()
property ProcedureTime as HS.SDA3.TimeStamp;
Time of the procedure

HL7: PR1-5.1 : ProcedureDateTime.Time
VIEWERLIB: User.HS.MRProcedures(PROCProcDate) + User.HS.MRProcedures(PROCTimeStart)
Property methods: ProcedureTimeDisplayToLogical(), ProcedureTimeGet(), ProcedureTimeIsValid(), ProcedureTimeLogicalToDisplay(), ProcedureTimeLogicalToTimeStamp(), ProcedureTimeLogicalToXSD(), ProcedureTimeNormalize(), ProcedureTimeOdbcToLogical(), ProcedureTimeSet(), ProcedureTimeXSDToLogical()
A code specifying the state of the procedure. Generally, this will be the in-progress or completed state. VIEWERLIB: Not stored
Property methods: StatusGet(), StatusGetObject(), StatusGetObjectId(), StatusGetSwizzled(), StatusIsEmpty(), StatusIsValid(), StatusNewObject(), StatusSet(), StatusSetObject(), StatusSetObjectId(), StatusUnSwizzle()

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab