Skip to main content

HS.SDA3.CodeTableDetail

serial class HS.SDA3.CodeTableDetail extends %Library.SerialObject, %XML.Adaptor, HS.SDA3.QuickXML

The base class for all SDA code table objects. Every code table class
should either extend this or HS.SDA3.CodeTableTranslated.
For each class that extends CodeTableDetail, if it gets loaded into the
Viewer Cache, the location that each property gets loaded into will be
documented on that property. Unless otherwise noted in the class, matching
between CodeTableDetails and their Viewer Cache counterparts is done on
Code, Description, and SDACodingStandard.

Property Inventory

Method Inventory

Parameters

parameter ISCODETABLE = 1;
Tells the generator for ToQuickXML that this is a CodeTableDetail, to check
for delete instructions. If both Code and Description are a pair of double
quotes (the delete instruction), then it won't output the CodeTableDetail
at all.
parameter XMLIGNOREINVALIDTAG = 1;
Inherited description: The XMLIGNOREINVALIDTAG parameter allows the programmer to control handling of unexpected elements in the XML input. The XMLIGNOREINVALIDTAG parameter will only take affect if XMLSEQUENCE = 0 (the default). By default (XMLIGNOREINVALIDTAG = 0), will treat an unexpected element as an error. If XMLIGNOREINVALIDTAG is set = 1 and XMLSEQUENCE = 0, then unexpected elements will be ignored.
parameter XMLIGNORENULL = inputonly;
Ignore all nulls (i.e. don't store $C(0)), but do not export empty tags

Properties

property Code as HS.SDA3.StrippedString (MAXLEN = 32000);
The external code, e.g. "M"

When the CodeTableDetail is imported via the XMLImportSDAString method,
Code will not be imported if it contains only punctuation and/or
whitespace, unless it is the SDA3 delete instruction (two double quotes).
There is one exception to this for HS.SDA3.CodeTableDetail.UoM, in which
case Code may be a percent sign ("%").

Code may not contain the caret ("^") symbol as this is reserved for
internal use. In the Viewer Cache only, TAB ($c(9)) is also a reserved
character and will be replaced with a space. For LabTestItems in the Viewer
Cache, backslash ("\") is also reserved and will be replaced with
an underscore ("_").
Property methods: CodeDisplayToLogical(), CodeGet(), CodeIsValid(), CodeLogicalToDisplay(), CodeLogicalToOdbc(), CodeNormalize(), CodeSet(), CodeXSDToLogical()
property CodeSystemVersionId as %String (MAXLEN = 32000);
The coding system version ID, e.g. piece 7 from an HL7v2.5 CNE or CWE
structure
Property methods: CodeSystemVersionIdDisplayToLogical(), CodeSystemVersionIdGet(), CodeSystemVersionIdIsValid(), CodeSystemVersionIdLogicalToDisplay(), CodeSystemVersionIdLogicalToOdbc(), CodeSystemVersionIdNormalize(), CodeSystemVersionIdSet()
property Description as HS.SDA3.StrippedString (MAXLEN = 32000);
The description, as displayed to the user, e.g. "Male"

When the CodeTableDetail is imported via the XMLImportSDAString method,
Description will not be imported if it contains only punctuation and/or
whitespace, unless it is the SDA3 delete instruction (two double quotes).
There is one exception to this for HS.SDA3.CodeTableDetail.UoM, in which
case Description may be a percent sign ("%"). Then, if Description is null
or the same as Code, and SDACodingStandard and Code are not null, then
HealthShare will attempt to find an entry in the Code Registry matching on
Code and SDACodingStandard (converted to uppercase). If a match is found,
Description will be defaulted from that entry. Note that this takes place
after SDACodingStandard is defaulted, so the defaulted value of
SDACodingStandard may be used for matching.

Description may contain caret ("^") characters in the SDA, however this
character is reserved in the Viewer Cache, so in the Viewer Cache only, "^"
will be replaced with an underscore ("_"). Also in the Viewer Cache only,
TAB ($c(9)) is reserved and will be replaced with a space, and for
LabTestItems, backslash ("\") is reserved will be replaced with an
underscore.
Property methods: DescriptionDisplayToLogical(), DescriptionGet(), DescriptionIsValid(), DescriptionLogicalToDisplay(), DescriptionLogicalToOdbc(), DescriptionNormalize(), DescriptionSet(), DescriptionXSDToLogical()
property EId as %String (XMLIO = "IN");
Deprecated - no longer used, but kept here for compatibility in case this
comes in from old SDA2
Property methods: EIdDisplayToLogical(), EIdGet(), EIdIsValid(), EIdLogicalToDisplay(), EIdLogicalToOdbc(), EIdNormalize(), EIdSet()
property ErrorStatus as %String (MAXLEN = 32000, XMLPROJECTION = "NONE");
The error (if any) that occurred loading this entry into the Viewer Cache,
as a %Status
Property methods: ErrorStatusDisplayToLogical(), ErrorStatusGet(), ErrorStatusIsValid(), ErrorStatusLogicalToDisplay(), ErrorStatusLogicalToOdbc(), ErrorStatusNormalize(), ErrorStatusSet()
property InternalReference as %String (XMLPROJECTION = "NONE");
Only used when loading CodeTableDetails into the Viewer Cache
When a CodeTableDetail is successfully added or matched in the Viewer
Cache, this is the ID of the added or matched entry in the corresponding
Viewer table.
Property methods: InternalReferenceDisplayToLogical(), InternalReferenceGet(), InternalReferenceIsValid(), InternalReferenceLogicalToDisplay(), InternalReferenceLogicalToOdbc(), InternalReferenceNormalize(), InternalReferenceSet()
property SDACodingStandard as %String (MAXLEN = 32000);
The coding standard. e.g. "3.2.45.7.34", "LOINC", etc.
SDACodingStandard may not contain the caret ("^") symbol as this is
reserved for internal use.
If the SDA is being loaded into the Streamlet Cache via the ECR Manager
operation or the Aggregation Cache via the Access Manager operation, then
if the operation specifies an InboundCodeSystemProfile (referring to a Code
System Profile in the Terminology Registry), and that profile specifies a
default code system for this code table, and if SDACodingStandard is null,
then SDACodingStandard will be defaulted to the default code system for
this code table. If the code table will be transformed to or from FHIR,
SDACodingStandard may be one of the CodeSystems in the FHIR ValueSet.
Property methods: SDACodingStandardDisplayToLogical(), SDACodingStandardGet(), SDACodingStandardIsValid(), SDACodingStandardLogicalToDisplay(), SDACodingStandardLogicalToOdbc(), SDACodingStandardNormalize(), SDACodingStandardSet()
property SDATableName as %String (XMLIO = "IN");
Deprecated, but left here for compatibiliy with old inbound SDA XML Streams
Property methods: SDATableNameDisplayToLogical(), SDATableNameGet(), SDATableNameIsValid(), SDATableNameLogicalToDisplay(), SDATableNameLogicalToOdbc(), SDATableNameNormalize(), SDATableNameSet()

Methods

method %OnNew() as %Status
When the %codetables3 variable is defined, this callback will index the new
CodeTableDetail in %codetables3, which is then used to process
CodeTableDetails into the Viewer Cache. Therefore %codetables3 should be
initialized (killed and set to 0) before instantiating any SDA (either
through XML correlation or manually creating SDA objects) that is intended
to be loaded into the Viewer Cache. Note that CodeTableDetails created with
%ConstructClone() do not invoke this callback.
classmethod SDATableNames() as %String
Returns a comma-delimited list of SDATableNames, alphabetically, starting
and ending with commas

Inherited Members

Inherited Methods

Subclasses

FeedbackOpens in a new tab