Skip to main content


serial class HS.Types.Identifier extends %Library.SerialObject, %XML.Adaptor, %JSON.Adaptor, HS.Util.CopyFrom

Property Inventory


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;
Inherited description: XMLIGNORENULL allows the programmer to override the default XML handling of empty strings for properties of type %String. By default (XMLIGNORENULL = 0), empty strings in the XML input are stored as $c(0) and $c(0) is written to XML as an empty tag. A missing tag in the XML input is always stored as "" and "" is always output to XML as no tag.

If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty strings are input as "", and both "" and $c(0) are output as empty tags (i.e. <tag></tag>).

If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0: $c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.

If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma from literal/encoded part of the format. Example values for format are "", ",ignorenull", "literal,ignorenull" and "encoded,ignorenull". Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.


property AssigningAuthorityName as %String);
Property methods: AssigningAuthorityNameDisplayToLogical(), AssigningAuthorityNameGet(), AssigningAuthorityNameIsValid(), AssigningAuthorityNameLogicalToDisplay(), AssigningAuthorityNameLogicalToOdbc(), AssigningAuthorityNameNormalize(), AssigningAuthorityNameSet()
property Confidence as %Numeric;
A confidence score to be used when the Identifier is a probabilistic identifier.
Property methods: ConfidenceDisplayToLogical(), ConfidenceGet(), ConfidenceIsValid(), ConfidenceLogicalToDisplay(), ConfidenceLogicalToJSON(), ConfidenceNormalize(), ConfidenceSet(), ConfidenceXSDToLogical()
property Extension as %String (MAXLEN = 512);
Property methods: ExtensionDisplayToLogical(), ExtensionGet(), ExtensionIsValid(), ExtensionLogicalToDisplay(), ExtensionLogicalToOdbc(), ExtensionNormalize(), ExtensionSet()
property Root as %String (MAXLEN = 512);
Property methods: RootDisplayToLogical(), RootGet(), RootIsValid(), RootLogicalToDisplay(), RootLogicalToOdbc(), RootNormalize(), RootSet()
property Status as %String (DISPLAYLIST = ",Active,Inactive,Revoked,Suspended", VALUELIST = ",A,I,R,S") [ InitialExpression = "A" ];
Property methods: StatusDisplayToLogical(), StatusGet(), StatusIsValid(), StatusLogicalToDisplay(), StatusLogicalToOdbc(), StatusNormalize(), StatusSet()
property Type as %String;
Further classification of the type of identifier. Currently used by Provider Directory
Property methods: TypeDisplayToLogical(), TypeGet(), TypeIsValid(), TypeLogicalToDisplay(), TypeLogicalToOdbc(), TypeNormalize(), TypeSet()
property Use as %String;
Legacy Values taken from HL7v2 2.6:203 Identifer Type code table Full list: ",American Express,American Medical Association Number,Account number,Anonymous identifier,Account number Creditor,Account number debitor,Temporary Account Number,Advanced Practice Registered Nurse number,Bank Account Number,Bank Card Number,Birth Certificate,Birth registry number,Breed Registry Number,Cost Center number,Change of Name Document,Citizenship Card,County number,Dentist license number,Drug Enforcement Administration registration number,Diner's Club card,Drug Furnishing or prescriptive authority Number,Driver's license number,Doctor number,Osteopathic License number,Diplomatic Passport,Podiatrist license number,Donor Registration Number,Discover Card,Employee number,Employer number,Staff Enterprise Number,Facility ID,Guarantor internal identifier,General ledger number,Guarantor external identifier,Health Card Number,Jurisdictional health number (Canada),Indigenous/Aboriginal,Labor and industries number,License number,Local Registry ID,Patient Medicaid number,Member Number,Patient's Medicare number,Practitioner Medicaid number,Microchip Number,Practitioner Medicare number,Marriage Certificate,Medical License number,Military ID number,Medical record number,Temporary Medical Record Number,MasterCard,Naturalization Certificate,National employer identifier,National Health Plan Identifier,National unique individual identifier,National Insurance Organization Identifier,National Insurance Payor Identifier (Payor),National Person Identifier where the xxx is the ISO table 3166 3-character (alphabetic) country code,Nurse practitioner number,National provider identifier,Optometrist license number,Physician Assistant number,Parole Card,Penitentiary/correctional institution Number,Living Subject Enterprise Number,Pension Number,Patient internal identifier,Person number,Temporary Living Subject Number,Medicare/CMS Performing Provider Identification Number,Passport number,Permanent Resident Card Number,Provider number,Patient external identifier,QA number,Resource identifier,Pharmacist license number,Registered Nurse Number,Railroad Retirement number,Regional registry ID,Railroad Retirement Provider,State license,Subscriber Number,Study Permit,State registry ID,Social Security number,Tax ID number,Treaty Number/ (Canada),Temporary Permanent Resident (Canada),Unspecified identifier,Medicare/CMS (formerly HCFA)'s Universal Physician Identification numbers,Visit number,Visitor Permit,VISA,WIC identifier,Workers' Comp Number,Work Permit,Organization identifier", VALUELIST = ",AM,AMA,AN,ANON,ANC,AND,ANT,APRN,BA,BC,BCT,BR,BRN,CC,CONM,CZ,CY,DDS,DEA,DI,DFN,DL,DN,DO,DP,DPM,DR,DS,EI,EN,ESN,FI,GI,GL,GN,HC,JHN,IND,LI,LN,LR,MA,MB,MC,MCD,MCN,MCR,MCT,MD,MI,MR,MRT,MS,NCT,NE,NH,NI,NII,NIIP,NNxxx,NP,NPI,OD,PA,PC,PCN,PE,PEN,PI,PN,PNT,PPIN,PPN,PRC,PRN,PT,QA,RI,RPH,RN,RR,RRI,RRP,SL,SN,SP,SR,SS,TAX,TN,TPR,U,UPIN,VN,VP,VS,WC,WCN,WP,XX" Property Use As %String(DISPLAYLIST = ",Driver's license number,Doctor number,License number,Medical record number,Patient internal identifier,Passport number,Patient external identifier,Resouce Identifier,Subscriber Number,Social Security number,Organization identifier", VALUELIST = ",DL,DN,LN,MR,PI,PPN,PT,RI,SN,SS,XX"); We no longer use this to restrict it, for patient identifiers. If ##class(HS.Registry.Config).GetKeyValue("\General\LegacyPatientIdentifierTypeRestriction",0) we restrict it to DL (driver license), XX (corporate ID), SN (subscriber number), PPN (passport number) Otherwise, we validate using the Identifier Type table (HS.AssignAuth.IdentifierType)
Property methods: UseDisplayToLogical(), UseGet(), UseIsValid(), UseLogicalToDisplay(), UseLogicalToOdbc(), UseNormalize(), UseSet()

Inherited Members

Inherited Methods


FeedbackOpens in a new tab