HS.IHE.XDSb.DocumentSource.Abstract
abstract class HS.IHE.XDSb.DocumentSource.Abstract extends HS.Util.BaseHost, HS.HC.Util.Trace.Helper, HS.Util.XSLTTransformer
Abstract functions common for XDSb Document Source and XDM Media CreatorProperty Inventory
Method Inventory
- AddPatientRequest()
- AttachDocuments()
- CMUpdateConfidentialityCode()
- CMUpdateCreationTime()
- CMUpdateDocumentAuthor()
- CMUpdateLanguageCode()
- CMUpdateNames()
- CMUpdateServiceTimes()
- CMUpdateSourcePatientId()
- CMUpdateSourcePatientInfo()
- FindPatientID()
- GetAddPatientRequest()
- GetUpdatedAssociations()
- GetUpdatedPatientId()
- GetUpdatedProvideRequest()
- GetUpdatedRequest()
- UpdateAssociations()
- UpdateClassCode()
- UpdateConfidentialityCode()
- UpdateCreationTime()
- UpdateDocumentAuthor()
- UpdateFormatCode()
- UpdateLanguageCode()
- UpdateNames()
- UpdatePatientIdentifier()
- UpdateServiceTimes()
- UpdateSourcePatientId()
- UpdateSourcePatientInfo()
- UpdateTypeCode()
Parameters
parameter DOMAIN = HS;
Properties
property AddNewPatients as %Boolean [ InitialExpression = 0 ];
True: If a ProvideAndRegisterRequest comes in with no patientId, and the sourceId doesn't match anyone in the registry, add them.
False: If a ProvideAndRegisterRequest comes in with no patientId, and the sourceId doesn't match anyone in the registry, throw an error.
False: If a ProvideAndRegisterRequest comes in with no patientId, and the sourceId doesn't match anyone in the registry, throw an error.
Property methods: AddNewPatientsDisplayToLogical(), AddNewPatientsGet(), AddNewPatientsIsValid(), AddNewPatientsLogicalToDisplay(), AddNewPatientsNormalize(), AddNewPatientsSet()
property DocumentsInline as %Boolean [ InitialExpression = 0 ];
Send documents inline instead of as attachments
Property methods: DocumentsInlineDisplayToLogical(), DocumentsInlineGet(), DocumentsInlineIsValid(), DocumentsInlineLogicalToDisplay(), DocumentsInlineNormalize(), DocumentsInlineSet()
property MPIOperations as Ens.DataType.ConfigName [ InitialExpression = "HS.Hub.MPI.Manager" ];
Config Item where the Add/Update Operations will be sent
Property methods: MPIOperationsDisplayToLogical(), MPIOperationsGet(), MPIOperationsIsValid(), MPIOperationsLogicalToDisplay(), MPIOperationsLogicalToOdbc(), MPIOperationsNormalize(), MPIOperationsParseConfigNameSpec(), MPIOperationsSet()
Methods
method AddPatientRequest(pStream As %Stream, Output pSourcePatientID As %String, Output pGlobalIdentifier As %String) as %Status
method AttachDocuments(pUpdatedRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest, pOutboundRequest As HS.Message.XMLMessage) as %Status
Attach binary or character documents to the outbound request
classmethod CMUpdateConfidentialityCode(ByRef pDocument, ByRef pXPathDoc) as %Status
Internal processing method for extracting the confidentiality code from the CDA document
classmethod CMUpdateCreationTime(ByRef pDocument, ByRef pXPathDoc) as %Status
Internal processing method for extracting the creation time from the CDA document
classmethod CMUpdateDocumentAuthor(ByRef pDocument, ByRef pXPathDoc) as %Status
Internal processing method for extracting the author from the CDA document
classmethod CMUpdateLanguageCode(ByRef pDocument, ByRef pXPathDoc) as %Status
Internal processing method for extracting the language code from the CDA document
classmethod CMUpdateNames(ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status
Internal processing method for extracting the name(title) from the CDA document
classmethod CMUpdateServiceTimes(ByRef pDocument, ByRef pXPathDoc) as %Status
Internal processing method for extracting the service times from the CDA document
classmethod CMUpdateSourcePatientId(ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status
Internal processing method for extracting SourcePatientId from the CDA document
classmethod CMUpdateSourcePatientInfo(ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status
Internal processing method for extracting SourcePatientInfo from the CDA document
method FindPatientID(pMRN, pAssigningAuthority, ByRef pSearchResponse) as %Status
classmethod GetAddPatientRequest(pCDAStream As %Stream, Output pAddRequest As HS.Message.AddUpdateHubRequest = "", Output pCDADocObject="") as %Status
method GetUpdatedAssociations(pRequest As HS.Message.IHE.XDSb.Metadata) as %Status
method GetUpdatedPatientId(pRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest, Output pUpdatedRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest) as %Status
HealthShare creates CCD's with MRN/AA as the source patient ID. We need to submit the document with the MPI ID
method GetUpdatedProvideRequest(pRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest, Output pUpdatedRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest) as %Status
if the request is CDA we may need to extract values from the document and update the request
for this reason tUdpatedRequest is used so that the original transaction is not updated
method GetUpdatedRequest(ByRef pRequest As HS.Message.IHE.XDSb.Metadata, pHost As Ens.Host = ##this) as %Status
Use the content of the document (if CDA) to extract values for the metadata
pRequest - the will be updated with values where available
pRequest - the will be updated with values where available
method UpdateAssociations(pRequest As HS.Message.IHE.XDSb.ProvideAndRegisterRequest) as %Status
method UpdateClassCode(pDocument, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the "ClassCode"
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the ClassCode can be done in either the OnPre or OnPost code using the following
Set:pDocument.ClassCode.Code="" pDocument.ClassCode=##class(HS.Types.IHE.XDSb.SerialClassification).%New("34133-9","2.16.840.1.113883.6.1","Summarization of episode note")
or If pDocument.ClassCode.Code="" Set pDocument.ClassCode.Code="34133-9",pDocument.ClassCode.CodingScheme="2.16.840.1.113883.6.1" Do pDocument.ClassCode.Names.Insert("Summarization of episode note")
ClassMethod OnPreUpdateClassCode(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the metadata object prior to any additional processing, such as providing necessary missing fields
ClassMethod OnPostUpdateTypeCode(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the ClassCode can be done in either the OnPre or OnPost code using the following
ClassMethod OnPreUpdateClassCode(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
method UpdateConfidentialityCode(ByRef pDocument, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the "ConfidentialityCode"
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning a Confidentiality code could be done in either the OnPre or OnPost code using the following
Do pDocument.ConfidentialityCode.Insert(##class(HS.Types.IHE.XDSb.CodedValue).Create(tCode,tScheme,tDescription))
ClassMethod OnPreUpdateConfidentialityCode(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the metadata object prior to any additional processing.
ClassMethod OnPostUpdateConfidentialityCode(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object, such as defining the value
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning a Confidentiality code could be done in either the OnPre or OnPost code using the following
method UpdateCreationTime(ByRef pDocument, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the "CreationTime"
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the CreationTime can be done in either the OnPre or OnPost code using the following (YYYYMMDDHHMMSS as UTC)
Set:pDocument.CreationTime="" pDocument.CreationTime=##class(HS.Util.XSLTHelper).xmltimestampToUTC(##class(HS.Util.XSLTHelper).timestamp())
ClassMethod OnPreUpdateCreationTime(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the metadata object prior to any additional processing, such as providing necessary missing fields
ClassMethod OnPostUpdateCreationTime(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the CreationTime can be done in either the OnPre or OnPost code using the following (YYYYMMDDHHMMSS as UTC)
ClassMethod OnPreUpdateCreationTime(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
method UpdateDocumentAuthor(ByRef pDocument, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the Document Author
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning a document author could be done in either the OnPre or OnPost code using the following
As suggested by ITI TF-3 section 4.2.3.1.4 example, the format is identifier^last^first^middle^suffix^prefix.Quit:pDocument.Author.Count() $$$OK
Set tAuthor = ##class(HS.Types.IHE.XDSb.Author).%New()
Set tAuthor.AuthorPerson=LastName_"^"_FirstName_"^"_MiddleName_"^"_Suffix_"^"_Prefix
Do tAuthor.AuthorInstitution.Insert(##class(HS.Types.IHE.XDSb.SlotValue).%New(SomeInstitutionName))
Do tDocument.Author.Insert(tAuthor)
ClassMethod OnPreUpdateDocumentAuthor(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the pDocument object prior to any additional processing.
ClassMethod OnPostUpdateDocumentAuthor(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object, such as defining the value
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning a document author could be done in either the OnPre or OnPost code using the following
As suggested by ITI TF-3 section 4.2.3.1.4 example, the format is identifier^last^first^middle^suffix^prefix.
Set tAuthor.AuthorPerson=LastName_"^"_FirstName_"^"_MiddleName_"^"_Suffix_"^"_Prefix
method UpdateFormatCode(ByRef pDocument, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the "FormatCode"
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the FormatCode can be done in either the OnPre or OnPost code using the following
Set:pDocument.FormatCode.Code="" pDocument.FormatCode=##class(HS.Types.IHE.XDSb.SerialClassification).%New("2.16.840.1.113883.10.20.1","2.16.840.1.113883.3.88","HL7 CCD Document")
or If pDocument.FormatCode.Code="" Set pDocument.FormatCode.Code="2.16.840.1.113883.10.20.1",pDocument.FormatCode.CodingScheme="2.16.840.1.113883.3.88" Do pDocument.FormatCode.Names.Insert("HL7 CCD Document")
ClassMethod OnPreUpdateFormatCode(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the metadata object prior to any additional processing, such as providing necessary missing fields
ClassMethod OnPostUpdateFormatCode(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the FormatCode can be done in either the OnPre or OnPost code using the following
ClassMethod OnPreUpdateFormatCode(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
method UpdateLanguageCode(ByRef pDocument, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the "LanguageCode"
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the LanguageCode can be done in either the OnPre or OnPost code using the following
Set pDocument.LanguageCode=tValue
ClassMethod OnPreUpdateLanguageCode(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the metadata object prior to any additional processing, such as providing necessary missing fields
ClassMethod OnPostUpdateLanguageCode(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the LanguageCode can be done in either the OnPre or OnPost code using the following
method UpdateNames(ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the "Names" also thought of as title
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the Name can be done in either the OnPre or OnPost code using the following
Do pDocument.Names.Insert(##class(HS.Types.IHE.XDSb.ValueType).%New(tValue))
ClassMethod OnPreUpdateNames(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the metadata object prior to any additional processing, such as providing necessary missing fields
ClassMethod OnPostUpdateNames(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the Name can be done in either the OnPre or OnPost code using the following
method UpdatePatientIdentifier(ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc, pRequired As %Boolean = 1) as %Status
method UpdateServiceTimes(ByRef pDocument, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the ServiceStart and ServiceStop times
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Assigning the service times can be done in either the OnPre or OnPost code using the following (YYYYMMDDHHMMSS as UTC)
Set pDocument.ServiceStartTime=##class(HS.Util.XSLTHelper).xmltimestampToUTC(##class(HS.Util.XSLTHelper).timestamp())
Set pDocument.ServiceStopTime=##class(HS.Util.XSLTHelper).xmltimestampToUTC(##class(HS.Util.XSLTHelper).timestamp())
ClassMethod OnPreUpdateServiceTimes(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the pDocument object prior to any additional processing, such as extracting the service times from a different location in the CDA document
ClassMethod OnPostUpdateServiceTimes(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object, such as defaulting a value (Set pDocument.ServiceStartTime=$TR($zdt($h,8),": "),Document.ServiceStopTime=$TR($zdt($h,8),": ")) if the base code failed to locate a value
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Assigning the service times can be done in either the OnPre or OnPost code using the following (YYYYMMDDHHMMSS as UTC)
ClassMethod OnPreUpdateServiceTimes(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
method UpdateSourcePatientId(ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the "SourcePatientId"
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
ClassMethod OnPreUpdateSourcePatientId(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the pDocument object prior to any additional processing, or the source patient id could be extracted from a different location in the document
ClassMethod OnPostUpdateSourcePatientId(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object, such as defaulting a value (Set pDocument.SourcePatientId="111^^^&1.2.3&ISO") if the base code failed to locate a value
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
ClassMethod OnPreUpdateSourcePatientId(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
method UpdateSourcePatientInfo(ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the "SourcePatientInfo"
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the SourcePatientInfo can be done in either the OnPre or OnPost code using the following
Do pDocument.SourcePatientInfo.Insert(##class(HS.Types.IHE.XDSb.SlotValue).%New("PID-3|"_pDocument.SourcePatientId))
Do pDocument.SourcePatientInfo.Insert(##class(HS.Types.IHE.XDSb.SlotValue).%New("PID-5|family^given^middle"))
Do pDocument.SourcePatientInfo.Insert(##class(HS.Types.IHE.XDSb.SlotValue).%New("PID-7|birthtime(yyyymmddhhmmss)"))
Do pDocument.SourcePatientInfo.Insert(##class(HS.Types.IHE.XDSb.SlotValue).%New("PID-8|gender"))
Do pDocument.SourcePatientInfo.Insert(##class(HS.Types.IHE.XDSb.SlotValue).%New("PID-11|addressline1;line2^additionallocator^city^state^postalcode"))
ClassMethod OnPreSourcePatientInfo(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the metadata object prior to any additional processing, such as providing necessary missing fields
ClassMethod OnPostSourcePatientInfo(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the SourcePatientInfo can be done in either the OnPre or OnPost code using the following
method UpdateTypeCode(pDocument, ByRef pXPathDoc) as %Status
Use the content of the CDA document to extract the "TypeCode"
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the TypeCode can be done in either the OnPre or OnPost code using the following
Set:pDocument.TypeCode.Code="" pDocument.TypeCode=##class(HS.Types.IHE.XDSb.SerialClassification).%New("34133-9","2.16.840.1.113883.6.1","Summarization of episode note")
or If pDocument.TypeCode.Code="" Set pDocument.TypeCode.Code="34133-9",pDocument.TypeCode.CodingScheme="2.16.840.1.113883.6.1" Do pDocument.TypeCode.Names.Insert("Summarization of episode note")
ClassMethod OnPreUpdateTypeCode(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()if pStopProcessing is true processing will terminate with tSC (returned from the method).
Updates can be done to the metadata object prior to any additional processing, such as providing necessary missing fields
ClassMethod OnPostUpdateTypeCode(pHost As Ens.Host, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Additional processing can be done to the pDocument object
Optionally define customization class by setting CustomProcessor to class name and define either method
Tracing in the methods with HSTRACECALLED, HSTRACECALLEDMIN, HSTRACECALLEDERROR
Call out to another Host Using pHost.SendRequestSync() or pHost.SendRequestAsync()
Assigning the TypeCode can be done in either the OnPre or OnPost code using the following
ClassMethod OnPreUpdateTypeCode(pHost As Ens.Host , Output pStopProcessing as %Boolean, ByRef pDocument As HS.Types.IHE.XDSb.Document, ByRef pXPathDoc) as %Status()
Inherited Members
Inherited Properties
- CallbackHandler
- CustomProcessor
- DoHSTrace
- ErrorHandler
- TraceOperations
- UseXSLT2
- XSLTCacheMode
- XSLTCallbackHandlerClass
- XSLTDirectory
- XSLTErrorHandlerClass
Inherited Methods
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()
- BuildTraceRequest()
- CanonicalizeStream()
- GetXSLTDirectory()
- HSTrace()
- ImportObject()
- Initialize()
- InvokeCustom()
- Transform()
- TransformFile()
- TransformFromObject()
- TransformIntoObject()
- TransformObjects()
- ValidateCustomProcessor()
- debugParams()
- getLastModified()