Interface: XPN
HL7 v2 Extended Person Name (XPN): structured name per HL7 Chapter 2. All 14 components are optional. Fields are OMITTED when the underlying component is absent (exactOptionalPropertyTypes).
Component positions (HL7 1-indexed; this interface is 0-indexed by key):
- familyName
- givenName
- secondName (or "second and further given names")
- suffix (e.g. Jr., III)
- prefix (e.g. Dr., Mrs.)
- degree (e.g. MD, PhD)
- nameTypeCode (L=Legal, M=Maiden, N=Nickname, S=Coded Pseudo-Name, ...)
- nameRepresentationCode
- nameContext (flattened to string in v1: CWE nesting is out of scope)
- nameValidityRange
- nameAssemblyOrder (F=family first, G=given first)
- effectiveDate (raw HL7 TS string: caller may parse via parseDtm)
- expirationDate
- professionalSuffix
Example
import type { XPN } from "@cosyte/hl7";
const name: XPN = { familyName: "Smith", givenName: "Jane", prefix: "Mrs." };
Properties
degree?
readonlyoptionaldegree?:string
effectiveDate?
readonlyoptionaleffectiveDate?:string
expirationDate?
readonlyoptionalexpirationDate?:string
familyName?
readonlyoptionalfamilyName?:string
givenName?
readonlyoptionalgivenName?:string
nameAssemblyOrder?
readonlyoptionalnameAssemblyOrder?:string
nameContext?
readonlyoptionalnameContext?:string
nameRepresentationCode?
readonlyoptionalnameRepresentationCode?:string
nameTypeCode?
readonlyoptionalnameTypeCode?:string
nameValidityRange?
readonlyoptionalnameValidityRange?:string
prefix?
readonlyoptionalprefix?:string
professionalSuffix?
readonlyoptionalprofessionalSuffix?:string
secondName?
readonlyoptionalsecondName?:string
suffix?
readonlyoptionalsuffix?:string