Skip to main content

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:
  • "Name" - a description for the instance
  • "U" - annotated usage indicator: X not supported, S supported, P planned support
  • "Note" - a plain text comment field.
    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

    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

  • FeedbackOpens in a new tab