EnsLib.HL7.Annotation.Data
class EnsLib.HL7.Annotation.Data extends %Library.RegisteredObject
Utilities to interact with the HL7 Annotation global To use, first invoke %New(HL7 schema version), and on the created object, call Loadxx and Savexx methods. Contains methods to load and save annotations for various components The load methods return (byref) a multi-dimensional array, with a top subscript referencing the instance being annotated, and underneath that at least the following:The U and Note nodes may be edited by calling apps, which would then call the corresponding Save method to update the global. Some load methods return additional nodes for display purposes. Except for LoadMG, the load methods also return a "UC" node indicating the actual computed usage, which is calculated by walking the HL7 tree structure. It would never be higher than the annotated usage, but gets determined by the best possible parent annotated usage path. There are also Get**XML methods to output parts of the schema in XML format These all take an argument pPlanned, and a byref argument to return a multidimensional variable, which will contain an array of strings. They will not include unsupported message types and segments, and will only include planned ones if this argument is true
Method Inventory
- GetBase()
- GetCTXML()
- GetDSXML()
- GetExportXML()
- GetMGXML()
- GetMSXML()
- GetName()
- GetSSXML()
- GetType()
- LoadCT()
- LoadDS()
- LoadMG()
- LoadMS()
- LoadMT()
- LoadOneCT()
- LoadSS()
- ReIndex()
- SaveDS()
- SaveMG()
- SaveMS()
- SaveMT()
- SaveSS()
Methods
method GetBase() as %String
return base version (if this version doesn't inherit, returns this version)
method GetCTXML(pPlanned, ByRef pData)
method GetDSXML(pPlanned, ByRef pData)
classmethod GetExportXML(pVersion, ByRef pData)
Export the entire set of annotation in compact format for packaging.
Not used anywhere, because we're using ExportXMLList^%apiOBJ instead
method GetMGXML(pPlanned, ByRef pData)
The Get**XML methods are used to product an XML version of the annotation
report, by class ReportServerXML, for use with DocBook
method GetMSXML(pPlanned, ByRef pData)
method GetName(pType, pItem) as %String
logic to retrieve the printable name of an item.
method GetSSXML(pPlanned, ByRef pData)
method GetType(pPlanned, pType, ByRef pData)
This retrieves a list of all supported and/or planned items, of specified type
(where type is MS, MT, SS, etc.)
method LoadCT(ByRef pData)
Load code tables. Subscripts is code table number.
Code tables have no annotations of their own - their usage is just computed from
segments and data structure fields that refer to them
method LoadDS(pDS, ByRef pData)
Load a multi-dimensional variable with annotation data for all fields for an input segment.
Instance subscript is field #.
Also returns
DS - Data Structure
CT - Code Table
method LoadMG(ByRef pData)
Load a multidimensional variable with annotation data for all message groups.
Instance subscript is a message group
method LoadMS(pMS, ByRef pData)
Load a multi-dimensional variable with annotation data for a message structure.
Instance subscript is a sequential number.
Also returns the following nodes for display:
Type: SEG (a segment), GRP a group begin, END, a group end
Code: a coded display value - some combination of segment ID and/or punctuation
SS: segment ID (3 letters, for type SEG)
Path: tree path to get to this one, for nested segments
method LoadMT(pMG, ByRef pData)
Load a multi-dimensional variable with annotation data for all message types for an input message group.
Instance subscript is a message type.
Also returns MS node (message structure)
method LoadOneCT(pCT, ByRef pData)
Load one code table. Subscript is code
Code table has no annotation - this is just loaded for browsing
top level is code table name
method LoadSS(pSS, ByRef pData)
Load a multi-dimensional variable with annotation data for all fieds for an input segment.
Instance subscript is field #.
Also returns
DS - Data Structure
Rpt - repeat n..m
Len - length
CT - Code Table
Req - required flag
method ReIndex(force=0)
Call to create/re-create the index for a version
method SaveDS(pDS, pData, doindex=1)
Save all of the segment field annotations for a specific data structure
Pass in the HL7 version, the structure, and a reference to the local
variable that contains the edited message annotations
method SaveMG(pData, doindex=1)
Save Message Groups - pass in HL7 version, reference to modified multi-dim data
method SaveMS(pMS, pData, doindex=1)
Save all of the message segment annotations for a specific message structure
Pass in the HL7 version, the message structure, and a reference to the local
variable that contains the edited message annotations
method SaveMT(pData, doindex=1)
Save all of the message types for a specific message group.
Pass in the HL7 version, the message group,, and a reference to the local
variable that contains the edited message types.
method SaveSS(pSS, pData, doindex=1)
Save all of the segment field annotations for a specific segment
Pass in the HL7 version, the segment, and a reference to the local
variable that contains the edited message annotations
Inherited Members
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()