Skip to main content
Version: v0.0.4

Function: parseXcn()

parseXcn(rep, enc): XCN

Parse an HL7 v2 XCN repetition into a structured XCN object. Components are returned verbatim (already decoded once by the tokenizer: never re-unescaped). Absent / empty components are OMITTED from the result (exactOptionalPropertyTypes semantics). Component 9 (assigningAuthority) is parsed as a nested HD; see component table in the XCN interface JSDoc for the v1 trimming.

Parameters

rep

RawRepetition

enc

EncodingCharacters

Returns

XCN

Example

import { parseXcn, DEFAULT_ENCODING_CHARACTERS } from "@cosyte/hl7";
const rep = { components: [
{ subcomponents: ["1234567890"] },
{ subcomponents: ["Smith"] },
{ subcomponents: ["Jane"] },
{ subcomponents: [""] },
{ subcomponents: [""] },
{ subcomponents: [""] },
{ subcomponents: [""] },
{ subcomponents: [""] },
{ subcomponents: ["HOSP", "1.2.3", "ISO"] },
{ subcomponents: ["L"] },
{ subcomponents: [""] },
{ subcomponents: [""] },
{ subcomponents: ["NPI"] },
] };
const xcn = parseXcn(rep, DEFAULT_ENCODING_CHARACTERS);
console.log(xcn.idNumber); // "1234567890"
console.log(xcn.familyName); // "Smith"
console.log(xcn.assigningAuthority?.namespaceId); // "HOSP"
console.log(xcn.identifierTypeCode); // "NPI"