h271

package
v1.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 21, 2025 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Overview

Package h271 contains the data structures for HL7 v2.7.1.

Index

Constants

This section is empty.

Variables

View Source
var ControlSegmentRegistry = map[string]any{
	"BHS": BHS{},
	"BTS": BTS{},
	"FHS": FHS{},
	"FTS": FTS{},
	"DSC": DSC{},
	"OVR": OVR{},
	"ADD": ADD{},
	"SFT": SFT{},
	"ARV": ARV{},
	"UAC": UAC{},
}

Segments specific to file and batch control.

View Source
var DataTypeRegistry = map[string]any{
	"AD":     *(new(AD)),
	"AUI":    *(new(AUI)),
	"CCD":    *(new(CCD)),
	"CNE":    *(new(CNE)),
	"CNN":    *(new(CNN)),
	"CP":     *(new(CP)),
	"CQ":     *(new(CQ)),
	"CWE":    *(new(CWE)),
	"CX":     *(new(CX)),
	"DDI":    *(new(DDI)),
	"DIN":    *(new(DIN)),
	"DLD":    *(new(DLD)),
	"DLN":    *(new(DLN)),
	"DLT":    *(new(DLT)),
	"DR":     *(new(DR)),
	"DT":     *(new(DT)),
	"DTM":    *(new(DTM)),
	"DTN":    *(new(DTN)),
	"ED":     *(new(ED)),
	"EI":     *(new(EI)),
	"EIP":    *(new(EIP)),
	"ERL":    *(new(ERL)),
	"FC":     *(new(FC)),
	"FN":     *(new(FN)),
	"FT":     *(new(FT)),
	"GTS":    *(new(GTS)),
	"HD":     *(new(HD)),
	"ICD":    *(new(ICD)),
	"ID":     *(new(ID)),
	"IS":     *(new(IS)),
	"JCC":    *(new(JCC)),
	"LA1":    *(new(LA1)),
	"LA2":    *(new(LA2)),
	"MO":     *(new(MO)),
	"MOC":    *(new(MOC)),
	"MOP":    *(new(MOP)),
	"MSG":    *(new(MSG)),
	"NA":     *(new(NA)),
	"NDL":    *(new(NDL)),
	"NM":     *(new(NM)),
	"NR":     *(new(NR)),
	"OCD":    *(new(OCD)),
	"OSP":    *(new(OSP)),
	"PIP":    *(new(PIP)),
	"PL":     *(new(PL)),
	"PLN":    *(new(PLN)),
	"PPN":    *(new(PPN)),
	"PRL":    *(new(PRL)),
	"PT":     *(new(PT)),
	"PTA":    *(new(PTA)),
	"RCD":    *(new(RCD)),
	"RFR":    *(new(RFR)),
	"RI":     *(new(RI)),
	"RMC":    *(new(RMC)),
	"RPT":    *(new(RPT)),
	"SAD":    *(new(SAD)),
	"SCV":    *(new(SCV)),
	"SI":     *(new(SI)),
	"SN":     *(new(SN)),
	"SNM":    *(new(SNM)),
	"SPD":    *(new(SPD)),
	"SRT":    *(new(SRT)),
	"ST":     *(new(ST)),
	"TM":     *(new(TM)),
	"TX":     *(new(TX)),
	"UVC":    *(new(UVC)),
	"VARIES": *(new(VARIES)),
	"VH":     *(new(VH)),
	"VID":    *(new(VID)),
	"XAD":    *(new(XAD)),
	"XCN":    *(new(XCN)),
	"XON":    *(new(XON)),
	"XPN":    *(new(XPN)),
	"XTN":    *(new(XTN)),
}

Data Type lookup by ID.

View Source
var Registry = registry{}

Registry implements the required interface for unmarshalling data.

View Source
var SegmentRegistry = map[string]any{}/* 171 elements not displayed */

Segment lookup by ID.

View Source
var TableLookup = map[string]Table{}/* 524 elements not displayed */

TableLookup provides valid values for field types.

View Source
var TableValueLookup = map[string]map[string]bool{}/* 524 elements not displayed */

TableValueLookup may be used to validate a specific value.

View Source
var TriggerRegistry = map[string]any{}/* 356 elements not displayed */

Trigger lookup by ID.

View Source
var Version = `2.7.1`

Version of this HL7 package.

Functions

This section is empty.

Types

type ABS

type ABS struct {
	HL7                        HL7Name `hl7:",name=ABS,type=s"`
	DischargeCareProvider      *XCN    `hl7:"1,table=0010,display=Discharge Care Provider"`
	TransferMedicalServiceCode *CWE    `hl7:"2,table=0069,display=Transfer Medical Service Code"`
	SeverityOfIllnessCode      *CWE    `hl7:"3,table=0421,display=Severity Of Illness Code"`
	DateTimeOfAttestation      DTM     `hl7:"4,format=YMDHM,display=Date/Time Of Attestation"`
	AttestedBy                 *XCN    `hl7:"5,display=Attested By"`
	TriageCode                 *CWE    `hl7:"6,table=0422,display=Triage Code"`
	AbstractCompletionDateTime DTM     `hl7:"7,format=YMDHM,display=Abstract Completion Date/Time"`
	AbstractedBy               *XCN    `hl7:"8,display=Abstracted By"`
	CaseCategoryCode           *CWE    `hl7:"9,table=0423,display=Case Category Code"`
	CaesarianSectionIndicator  ID      `hl7:"10,len=1,table=0136,display=Caesarian Section Indicator"`
	GestationCategoryCode      *CWE    `hl7:"11,table=0424,display=Gestation Category Code"`
	GestationPeriodWeeks       NM      `hl7:"12,display=Gestation Period - Weeks"`
	NewbornCode                *CWE    `hl7:"13,table=0425,display=Newborn Code"`
	StillbornIndicator         ID      `hl7:"14,len=1,table=0136,display=Stillborn Indicator"`
}

Abstract

This segment was created to communicate patient abstract information used for billing and reimbursement purposes. “Abstract” is a condensed form of medical history created for analysis, care planning, etc.

type ACC

type ACC struct {
	HL7                         HL7Name `hl7:",name=ACC,type=s"`
	AccidentDateTime            DTM     `hl7:"1,format=YMDHM,display=Accident Date/Time"`
	AccidentCode                *CWE    `hl7:"2,table=0050,display=Accident Code"`
	AccidentLocation            ST      `hl7:"3,display=Accident Location"`
	AutoAccidentState           CWE     `hl7:"4,table=0347,display=Auto Accident State"`
	AccidentJobRelatedIndicator ID      `hl7:"5,len=1,table=0136,display=Accident Job Related Indicator"`
	AccidentDeathIndicator      ID      `hl7:"6,len=1,table=0136,display=Accident Death Indicator"`
	EnteredBy                   *XCN    `hl7:"7,display=Entered By"`
	AccidentDescription         ST      `hl7:"8,display=Accident Description"`
	BroughtInBy                 ST      `hl7:"9,display=Brought In By"`
	PoliceNotifiedIndicator     ID      `hl7:"10,len=1,table=0136,display=Police Notified Indicator"`
	AccidentAddress             *XAD    `hl7:"11,display=Accident Address"`
	DegreeOfPatientLiability    NM      `hl7:"12,display=Degree Of Patient Liability"`
}

Accident

The ACC segment contains patient information relative to an accident in which the patient has been involved.

type ACK

type ACK struct {
	HL7 HL7Name `hl7:",name=ACK,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
}
type AD struct {
	HL7                        HL7Name `hl7:",name=AD,len=0,type=d"`
	StreetAddress              ST      `` /* 288-byte string literal not displayed */
	OtherDesignation           ST      `` /* 217-byte string literal not displayed */
	City                       ST      `` /* 181-byte string literal not displayed */
	StateOrProvince            ST      `` /* 189-byte string literal not displayed */
	ZipOrPostalCode            ST      `` /* 332-byte string literal not displayed */
	Country                    ID      `` /* 253-byte string literal not displayed */
	AddressType                ID      `` /* 143-byte string literal not displayed */
	OtherGeographicDesignation ST      `` /* 138-byte string literal not displayed */
}

Address

This data type specifies the address of a person, place or organization.

Note: Used only in the LA1 data type. Retained for backward compatibility as of v2.6. Replaced elsewhere by the XAD data type as of v2.3.

Example: |10 ASH LN^#3^LIMA^OH^48132|

type ADD

type ADD struct {
	HL7                         HL7Name `hl7:",name=ADD,type=s"`
	AddendumContinuationPointer ST      `hl7:"1,display=Addendum Continuation Pointer"`
}

Addendum

The ADD segment is used to define the continuation of the prior segment in a continuation message. See Section 2.10.2, "Continuation messages and segments," for details.

type ADJ

type ADJ struct {
	HL7                                                HL7Name `hl7:",name=ADJ,type=s"`
	ProviderAdjustmentNumber                           EI      `hl7:"1,required,display=Provider Adjustment Number"`
	PayerAdjustmentNumber                              EI      `hl7:"2,required,display=Payer Adjustment Number"`
	AdjustmentSequenceNumber                           SI      `hl7:"3,required,len=4,display=Adjustment Sequence Number"`
	AdjustmentCategory                                 CWE     `hl7:"4,required,table=0564,display=Adjustment Category"`
	AdjustmentAmount                                   *CP     `hl7:"5,display=Adjustment Amount"`
	AdjustmentQuantity                                 *CQ     `hl7:"6,display=Adjustment Quantity"`
	AdjustmentReasonPa                                 *CWE    `hl7:"7,conditional,table=0565,display=Adjustment Reason Pa"`
	AdjustmentDescription                              ST      `hl7:"8,display=Adjustment Description"`
	OriginalValue                                      NM      `hl7:"9,display=Original Value"`
	SubstituteValue                                    NM      `hl7:"10,display=Substitute Value"`
	AdjustmentAction                                   *CWE    `hl7:"11,table=0569,display=Adjustment Action"`
	ProviderAdjustmentNumberCrossReference             *EI     `hl7:"12,display=Provider Adjustment Number Cross Reference"`
	ProviderProductServiceLineItemNumberCrossReference *EI     `hl7:"13,display=Provider Product/Service Line Item Number Cross Reference"`
	AdjustmentDate                                     DTM     `hl7:"14,required,format=YMDHM,display=Adjustment Date"`
	ResponsibleOrganization                            *XON    `hl7:"15,display=Responsible Organization"`
}

Adjustment

This segment describes Provider and/or Payer adjustments to a Product/Service Line Item or Response Summary. These include surcharges such as tax, dispensing fees and mark ups.

X12 REF: Similar to CAS segment, with a few new fields.

type ADT_A01

type ADT_A01 struct {
	HL7       HL7Name             `hl7:",name=ADT_A01,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	OBX       []OBX               `hl7:"15,display=Observation/result"`
	AL1       []AL1               `hl7:"16,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"17,display=Diagnosis"`
	DRG       *DRG                `hl7:"18,display=Diagnosis Related Group"`
	Procedure []ADT_A01_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A01_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
	UB1       *UB1                `hl7:"27,display=Ub82"`
	UB2       *UB2                `hl7:"28,display=Uniform Billing Data"`
	PDA       *PDA                `hl7:"29,display=Patient Death And Autopsy"`
}

Admit/visit notification

An A01 event is intended to be used for "Admitted" patients only. An A01 event is sent as a result of a patient undergoing the admission process which assigns the patient to a bed. It signals the beginning of a patient's stay in a healthcare facility. Normally, this information is entered in the primary Patient Administration system and broadcast to the nursing units and ancillary systems. It includes short stay and "Adam Everyman" (e.g., patient name is unknown) admissions. For example, an A01 event can be used to notify: the pharmacy system that a patient has been admitted and may be legitimately prescribed drugs; thenursing system that the patient has been admitted and needs a care plan prepared; the finance system of the start of the billing period; the dietary system that a new patient has been installed and requires dietary services; the laboratory, pathology, and radiology systems that a patient has been admitted and is entitled to receive services; the clinical repository that an admission has taken place for the EMR (electronic medical record).

When an account's start and end dates span a period greater than any particular visit, the P01 (add patient account) event should be used to transmit the opening of an account. The A01 event can notify systems of the creation of an account as well as notify them of a patient's arrival in the healthcare facility. In order to create a new account without notifying of patient's arrival, use the P01 event.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin and end date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A01_Insurance

type ADT_A01_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A01_Procedure

type ADT_A01_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A01_Procedure,type=tg"`
	PR1 *PR1    `hl7:"19,required,display=Procedures"`
	ROL []ROL   `hl7:"20,display=Role"`
}

Procedure

type ADT_A02

type ADT_A02 struct {
	HL7  HL7Name `hl7:",name=ADT_A02,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message Header"`
	SFT  []SFT   `hl7:"2,display=Software Segment"`
	UAC  *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN  *EVN    `hl7:"4,required,display=Event Type"`
	PID  *PID    `hl7:"5,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"6,display=Patient Additional Demographic"`
	ARV  []ARV   `hl7:"7,display=Access Restriction"`
	ROL  []ROL   `hl7:"8,display=Role"`
	PV1  *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2  *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	ARV2 []ARV   `hl7:"11,display=Access Restriction"`
	ROL2 []ROL   `hl7:"12,display=Role"`
	DB1  []DB1   `hl7:"13,display=Disability"`
	OBX  []OBX   `hl7:"14,display=Observation/result"`
	PDA  *PDA    `hl7:"15,display=Patient Death And Autopsy"`
}

Transfer a patient

An A02 event is issued as a result of the patient changing his or her assigned physical location.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition. If the transfer function of your Patient Administration system allows demographics to change at the same time as the transfer (for example an address change), we recommend (but do not require) sending two messages (an A02 followed by an A08). This A02 event can be used with admitted and non-admitted patients.

The new patient location should appear in PV1-3 - Assigned Patient Location while the old patient location should appear in PV1-6 - Prior Patient Location. For example, an A02 event can be used to notify: laboratory, radiology, pathology that the patient has changed location and test results should be redirected; pharmacy that drugs should be redirected for the patient; dietary that the meals should be delivered to a different location; the clinical repository that a transfer has taken place for the Electronic Medical Record.

If the patient is going to a temporary location (such as the O/R, X-RAY, LIMBO, the HALLWAY) it is recommended that the A09 (patient departing-tracking) and A10 (patient arriving-tracking) events be used instead of A02. It is recommended that A02 be used only for a real change in the census bed in the Patient Administration system.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A03

type ADT_A03 struct {
	HL7       HL7Name             `hl7:",name=ADT_A03,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	AL1       []AL1               `hl7:"15,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"16,display=Diagnosis"`
	DRG       *DRG                `hl7:"17,display=Diagnosis Related Group"`
	Procedure []ADT_A03_Procedure `hl7:",display=Procedure"`
	OBX       []OBX               `hl7:"20,display=Observation/result"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A03_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
	PDA       *PDA                `hl7:"27,display=Patient Death And Autopsy"`
}

Discharge/end visit

An A03 event signals the end of a patient's stay in a healthcare facility. It signals that the patient's status has changed to "discharged" and that a discharge date has been recorded. The patient is no longer in the facility. The patient's location prior to discharge should be entered in PV1-3 - Assigned Patient Location.

An A03 event can be sent to notify: the pharmacy that the patient's stay has ended and that entitlement to drugs has changed accordingly; the nursing system that the patient has been discharged and that the care plan can be completed; the extended care or home health system that the patient has been discharged and that the new extended care or home health admission assessment can be scheduled; the finance system that the patient billing period has ended; and/or the clinical repository that discharge has taken place for the EMR.

For non-admitted patients, an A03 event signals the end of a patient's visit to a healthcare facility. It could be used to signal the end of a visit for a one-time or recurring outpatient who is not assigned to a bed. It could also be used to signal the end of a visit to the Emergency Room. PV1-45 - Discharge Date/Time can be used for the visit end date/time.

When an account's start and end dates span a period greater than any particular visit, the P06 (end account) event should be used to transmit information about the closing of an account. To indicate that a patient has expired, use an A03 event with the PID-29 - Patient Death Date and Time and PID-30 - Patient Death Indicator filled in.

The fields included when this message is sent should be the fields pertinent to communicate this event. The optional allergy, next-of-kin, insurance and guarantor fields should be sent when required to support advanced notification for pending extended care or home health admission requirements (such as scheduling of a nursing assessment in preparation for completion of the extended care plan). When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin date and end date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code.

type ADT_A03_Insurance

type ADT_A03_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A03_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A03_Procedure

type ADT_A03_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A03_Procedure,type=tg"`
	PR1 *PR1    `hl7:"18,required,display=Procedures"`
	ROL []ROL   `hl7:"19,display=Role"`
}

Procedure

type ADT_A04

type ADT_A04 struct {
	HL7       HL7Name             `hl7:",name=ADT_A04,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	OBX       []OBX               `hl7:"15,display=Observation/result"`
	AL1       []AL1               `hl7:"16,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"17,display=Diagnosis"`
	DRG       *DRG                `hl7:"18,display=Diagnosis Related Group"`
	Procedure []ADT_A04_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A04_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
	UB1       *UB1                `hl7:"27,display=Ub82"`
	UB2       *UB2                `hl7:"28,display=Uniform Billing Data"`
	PDA       *PDA                `hl7:"29,display=Patient Death And Autopsy"`
}

Register a patient

An A04 event signals that the patient has arrived or checked in as a one-time, or recurring outpatient, and is not assigned to a bed. One example might be its use to signal the beginning of a visit to the Emergency Room (= Casualty, etc.). Note that some systems refer to these events as outpatient registrations or emergency admissions. PV1-44 - Admit Date/Time is used for the visit start date/time.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A04_Insurance

type ADT_A04_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A04_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A04_Procedure

type ADT_A04_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A04_Procedure,type=tg"`
	PR1 *PR1    `hl7:"19,required,display=Procedures"`
	ROL []ROL   `hl7:"20,display=Role"`
}

Procedure

type ADT_A05

type ADT_A05 struct {
	HL7       HL7Name             `hl7:",name=ADT_A05,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	OBX       []OBX               `hl7:"15,display=Observation/result"`
	AL1       []AL1               `hl7:"16,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"17,display=Diagnosis"`
	DRG       *DRG                `hl7:"18,display=Diagnosis Related Group"`
	Procedure []ADT_A05_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A05_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
	UB1       *UB1                `hl7:"27,display=Ub82"`
	UB2       *UB2                `hl7:"28,display=Uniform Billing Data"`
}

Pre-admit a patient

An A05 event is sent when a patient undergoes the pre-admission process. During this process, episode-related data is collected in preparation for a patient's visit or stay in a healthcare facility. For example, a pre-admit may be performed prior to inpatient or outpatient surgery so that lab tests can be performed prior to the surgery. This event can also be used to pre-register a non-admitted patient.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Visit level providers (corresponding to the PV1 data) are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A05_Insurance

type ADT_A05_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A05_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A05_Procedure

type ADT_A05_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A05_Procedure,type=tg"`
	PR1 *PR1    `hl7:"19,required,display=Procedures"`
	ROL []ROL   `hl7:"20,display=Role"`
}

Procedure

type ADT_A06

type ADT_A06 struct {
	HL7       HL7Name             `hl7:",name=ADT_A06,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	MRG       *MRG                `hl7:"9,display=Merge Patient Information"`
	NK1       []NK1               `hl7:"10,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"11,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"12,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"13,display=Access Restriction"`
	ROL2      []ROL               `hl7:"14,display=Role"`
	DB1       []DB1               `hl7:"15,display=Disability"`
	OBX       []OBX               `hl7:"16,display=Observation/result"`
	AL1       []AL1               `hl7:"17,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"18,display=Diagnosis"`
	DRG       *DRG                `hl7:"19,display=Diagnosis Related Group"`
	Procedure []ADT_A06_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"22,display=Guarantor"`
	Insurance []ADT_A06_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"27,display=Accident"`
	UB1       *UB1                `hl7:"28,display=Ub82"`
	UB2       *UB2                `hl7:"29,display=Uniform Billing Data"`
}

Change an outpatient to an inpatient

An A06 event is sent when a patient who was present for a non-admitted visit is being admitted after an evaluation of the seriousness of the patient's condition. This event changes a patient's status from non-admitted to admitted. The new patient location should appear in PV1-3 - Assigned Patient Location, while the old patient location (if different) should appear in PV1-6 - Prior Patient Location. The new patient class should appear in PV1-2 - Patient Class.

It will be left to implementation negotiation to determine whether disparate systems merely change the patient class, or close and open a new account. The current active account number should appear in field PID-18 - Patient Account Number; the prior account number can be included optionally in MRG-3 - Prior Patient Account Number. This arrangement is not intended to be a type of merge. The MRG segment isused here only for MRG-3 - Prior Patient Account Number. PV1-19 - Visit Number may also be changed during this event.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Visit level providers (corresponding to the PV1 data) are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A06_Insurance

type ADT_A06_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A06_Insurance,type=tg"`
	IN1 *IN1    `hl7:"23,required,display=Insurance"`
	IN2 *IN2    `hl7:"24,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"25,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"26,display=Role"`
}

Insurance

type ADT_A06_Procedure

type ADT_A06_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A06_Procedure,type=tg"`
	PR1 *PR1    `hl7:"20,required,display=Procedures"`
	ROL []ROL   `hl7:"21,display=Role"`
}

Procedure

type ADT_A07

type ADT_A07 struct {
	HL7       HL7Name             `hl7:",name=ADT_A07,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	MRG       *MRG                `hl7:"9,display=Merge Patient Information"`
	NK1       []NK1               `hl7:"10,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"11,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"12,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"13,display=Access Restriction"`
	ROL2      []ROL               `hl7:"14,display=Role"`
	DB1       []DB1               `hl7:"15,display=Disability"`
	OBX       []OBX               `hl7:"16,display=Observation/result"`
	AL1       []AL1               `hl7:"17,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"18,display=Diagnosis"`
	DRG       *DRG                `hl7:"19,display=Diagnosis Related Group"`
	Procedure []ADT_A07_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"22,display=Guarantor"`
	Insurance []ADT_A07_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"27,display=Accident"`
	UB1       *UB1                `hl7:"28,display=Ub82"`
	UB2       *UB2                `hl7:"29,display=Uniform Billing Data"`
}

Change an inpatient to an outpatient

An A07 event is sent when a patient who was admitted changes his/her status to "no longer admitted" but is still being seen for this episode of care. This event changes a patient from an "admitted" to a "non-admitted" status. The new patient location should appear in PV1-3 - Assigned Patient Location, while the old patient location (if different) should appear in PV1-6 - Prior Patient Location.

It will be left to implementation negotiation to determine whether disparate systems merely change the patient class, or close and open a new account. The current active account number should appear in field PID-18 - Patient Account Number; the prior account number can be included optionally in MRG-3 - Prior Patient Account Number. This arrangement is not intended to be a type of merge. The MRG segment is used here only for MRG-3 - Prior Patient Account Number. PV1-19 - Visit Number may also be changed during this event.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin and end date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A07_Insurance

type ADT_A07_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A07_Insurance,type=tg"`
	IN1 *IN1    `hl7:"23,required,display=Insurance"`
	IN2 *IN2    `hl7:"24,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"25,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"26,display=Role"`
}

Insurance

type ADT_A07_Procedure

type ADT_A07_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A07_Procedure,type=tg"`
	PR1 *PR1    `hl7:"20,required,display=Procedures"`
	ROL []ROL   `hl7:"21,display=Role"`
}

Procedure

type ADT_A08

type ADT_A08 struct {
	HL7       HL7Name             `hl7:",name=ADT_A08,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	OBX       []OBX               `hl7:"15,display=Observation/result"`
	AL1       []AL1               `hl7:"16,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"17,display=Diagnosis"`
	DRG       *DRG                `hl7:"18,display=Diagnosis Related Group"`
	Procedure []ADT_A08_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A08_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
	UB1       *UB1                `hl7:"27,display=Ub82"`
	UB2       *UB2                `hl7:"28,display=Uniform Billing Data"`
	PDA       *PDA                `hl7:"29,display=Patient Death And Autopsy"`
}

Update patient information

This trigger event is used when any patient information has changed but when no other trigger event has occurred. For example, an A08 event can be used to notify the receiving systems of a change of address or a name change. We strongly recommend that the A08 transaction be used to update fields that are not updated by any of the other trigger events. If there are specific trigger events for this update, these trigger events should be used. For example, if a patient's address and location are to be changed, then an A08 is used to change the patient address and the appropriate patient location trigger event is used to change the patient location. The A08 event can include information specific to an episode of care, but it can also be used for demographic information only.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A08_Insurance

type ADT_A08_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A08_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A08_Procedure

type ADT_A08_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A08_Procedure,type=tg"`
	PR1 *PR1    `hl7:"19,required,display=Procedures"`
	ROL []ROL   `hl7:"20,display=Role"`
}

Procedure

type ADT_A09

type ADT_A09 struct {
	HL7 HL7Name `hl7:",name=ADT_A09,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Patient departing - tracking

The A09 and A10 - patient arriving-tracking events are used when there is a change in a patient's physical location (inpatient or outpatient) and when this is NOT a change in the official census bed location, as in the case of an outpatient setting. There are three situations that qualify as non-census location changes: (a) patient tracking, (b) the patient is in transit between locations for some time, (c) a notification of temporary location change.

Patient tracking: This can be used when the nursing application sends a "transfer" before the Patient Administration (or official census) system issues an A02 (transfer a patient) event. If the patient has left for a non-temporary location and is not in transit, then the PV1-3 - Assigned Patient Location must contain the new patient location, while PV1-6 - Prior Patient Location must contain the old patient location.

In transit: The patient's location during the time between an A09 and an A10 (patient arriving - tracking) is defined as "in transit." The A09 event is sent when a patient departs from one area of the healthcare facility for the purpose of arriving at another area, but without leaving the healthcare institution. This event is used when there is a time span during which the patient is neither at his/her old location nor at his/her new location. This process can take some time if a patient is being sent to another area in a multi-campus or multi-facility environment. The combination of an A09 and an A10 would serve the same purpose as an A02 (transfer a patient) event, except that it accounts for a gap in time required for transport between facilities. If the patient will be in transit during the time between the A09 (patient departing - tracking) event and the A10 (patient arriving - tracking) event, then PV1-42 - Pending Location is used for the new location, and PV1-11 - Temporary Location and PV1-43 - Prior Temporary Location would not be used. PV1-6 - Prior Patient Location should be used for the old location.

Temporary location: An A09 can also be used when the patient is being sent to a temporary location (such as the O/R, X-RAY, LIMBO, or HALLWAY). The patient may or may not return to the same assignedlocation after occupying the temporary location. If the patient is going to a temporary location (such as the O/R, X-RAY, LIMBO, or HALLWAY), then PV1-11 - Temporary Location is used to indicate the new temporary location. If the patient is moving from one temporary location to another, then PV1-43 - Prior Temporary Location may also be used. PV1-6 - Prior Patient Location and PV1-11 - Temporary Location should be used when the patient is moving from a permanent location to a temporary location.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

Attention: The DG1 segment was retained for backward compatibility only as of v2.4 and was withdrawn and removed from this message structure as of v2.7.

type ADT_A10

type ADT_A10 struct {
	HL7 HL7Name `hl7:",name=ADT_A10,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Patient arriving - tracking

The A10 event is sent when a patient arrives at a new location in the healthcare facility (inpatient or outpatient). The A09 - patient departing-tracking and A10 events are used when there is a change in a patient's physical location and when this is NOT a change in the official census bed location, as in the case of an outpatient setting. There are three varieties of these non-census location changes involving three different kinds of notification: (a) an unofficial notification of location change prior to the official notification of patient tracking, (b) the patient is in transit between locations for some time, (c) a notification of a temporary location change.

Patient tracking: If the patient is now at a non-temporary location and is not in transit, then PV1-3 - Assigned Patient Location must contain the new patient location and PV1-6 - Prior Patient Location can contain the old patient location.

In transit: This is used when there is some period of time between when the patient leaves his/her old location and when he/she arrives at the new assigned location. If the patient was in transit during the time between the A09 (patient departing-tracking) event and the A10 (patient arriving-tracking) event, then PV1-3 - Assigned Patient Location is used for the new location and PV1-6 - Prior Patient Location should be used for the old location. PV1-11 - Temporary Location and PV1-43 - Prior Temporary Location are not used.

Temporary location: An A10 event can also be used when the patient is being transferred from a temporary location (X-RAY, O/R, LIMBO, or HALLWAY) to the new assigned location. If the patient is arriving at a temporary location (such as the O/R, X-RAY, LIMBO, or HALLWAY), then PV1-11 - Temporary Location would be used to indicate the new temporary location. If the patient is moving from one temporary location to another, then PV1-43 - Prior Temporary Location may also be used. If the patient is arriving at a permanent location from a temporary location, PV1-3 - Assigned Patient Location should be used for the new location, and PV1-43 - Prior Temporary Location should be used for the old location.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

Attention: The DG1 segment was retained for backward compatibility only as of v2.4 and was withdrawn and removed from this message structure as of v2.7.

type ADT_A11

type ADT_A11 struct {
	HL7 HL7Name `hl7:",name=ADT_A11,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Cancel admit/visit notification

For "admitted" patients, the A11 event is sent when an A01 (admit/visit notification) event is cancelled, either because of an erroneous entry of the A01 event, or because of a decision not to admit the patient after all.

For "non-admitted" patients, the A11 event is sent when an A04 (register a patient) event is cancelled, either because of an erroneous entry of the A04 event, or because of a decision not to check the patient in for the visit after all. To cancel an A05 (pre-admit a patient) event, use the A38 (cancel pre-admit), which was new for Version 2.3 of this Standard.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

Attention: The DG1 segment was retained for backward compatibility only as of v2.4 and was withdrawn and removed from this message structure as of v2.7.

type ADT_A12

type ADT_A12 struct {
	HL7 HL7Name `hl7:",name=ADT_A12,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Cancel transfer

The A12 event is sent when an A02 (transfer a patient) event is cancelled, either because of erroneous entry of the A02 event or because of a decision not to transfer the patient after all. PV1-3 - Assigned Patient Location must show the location of the patient prior to the original transfer.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) even be used in addition.

Attention: The DG1 segment was retained for backward compatibility only as of v2.4 and was withdrawn and removed from this message structure as of v2.7.

type ADT_A13

type ADT_A13 struct {
	HL7       HL7Name             `hl7:",name=ADT_A13,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	OBX       []OBX               `hl7:"15,display=Observation/result"`
	AL1       []AL1               `hl7:"16,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"17,display=Diagnosis"`
	DRG       *DRG                `hl7:"18,display=Diagnosis Related Group"`
	Procedure []ADT_A13_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A13_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
	UB1       *UB1                `hl7:"27,display=Ub82"`
	UB2       *UB2                `hl7:"28,display=Uniform Billing Data"`
	PDA       *PDA                `hl7:"29,display=Patient Death And Autopsy"`
}

Cancel discharge/end visit

The A13 event is sent when an A03 (discharge/end visit) event is cancelled, either because of erroneous entry of the A03 event or because of a decision not to discharge or end the visit of the patient after all. PV1-3 - Assigned Patient Location should reflect the location of the patient after the cancellation has been processed. Note that this location may be different from the patient's location prior to the erroneous discharge. Prior Location could be used to show the location of the patient prior to the erroneous discharge.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A13_Insurance

type ADT_A13_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A13_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A13_Procedure

type ADT_A13_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A13_Procedure,type=tg"`
	PR1 *PR1    `hl7:"19,required,display=Procedures"`
	ROL []ROL   `hl7:"20,display=Role"`
}

Procedure

type ADT_A14

type ADT_A14 struct {
	HL7       HL7Name             `hl7:",name=ADT_A14,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	OBX       []OBX               `hl7:"15,display=Observation/result"`
	AL1       []AL1               `hl7:"16,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"17,display=Diagnosis"`
	DRG       *DRG                `hl7:"18,display=Diagnosis Related Group"`
	Procedure []ADT_A14_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A14_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
	UB1       *UB1                `hl7:"27,display=Ub82"`
	UB2       *UB2                `hl7:"28,display=Uniform Billing Data"`
}

Pending admit

An A14 event notifies other systems of a planned admission, when there is a reservation or when patient admission is to occur imminently. The A14 event is similar to a pre-admit, but without the implication that an account should be opened for the purposes of tests prior to admission. It is used when advanced notification of an admit is required in order to prepare for the patient's arrival.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A14_Insurance

type ADT_A14_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A14_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A14_Procedure

type ADT_A14_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A14_Procedure,type=tg"`
	PR1 *PR1    `hl7:"19,required,display=Procedures"`
	ROL []ROL   `hl7:"20,display=Role"`
}

Procedure

type ADT_A15

type ADT_A15 struct {
	HL7  HL7Name `hl7:",name=ADT_A15,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message Header"`
	SFT  []SFT   `hl7:"2,display=Software Segment"`
	UAC  *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN  *EVN    `hl7:"4,required,display=Event Type"`
	PID  *PID    `hl7:"5,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"6,display=Patient Additional Demographic"`
	ARV  []ARV   `hl7:"7,display=Access Restriction"`
	ROL  []ROL   `hl7:"8,display=Role"`
	PV1  *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2  *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	ARV2 []ARV   `hl7:"11,display=Access Restriction"`
	ROL2 []ROL   `hl7:"12,display=Role"`
	DB1  []DB1   `hl7:"13,display=Disability"`
	OBX  []OBX   `hl7:"14,display=Observation/result"`
}

Pending transfer

An A15 event notifies other systems of a plan to transfer a patient to a new location when the patient has not yet left the old location. It is used when advanced notification of a transfer is required in order to prepare for the patient's location change. For example, this transaction could be sent so that staff will be on hand to move the patient or so that dietary services can route the next meal to the new location.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

Attention: The DG1 segment was retained in this message for backward compatibility only as of v2.4 and was withdrawn and removed from this message structure as of v2.7.

type ADT_A16

type ADT_A16 struct {
	HL7       HL7Name             `hl7:",name=ADT_A16,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	OBX       []OBX               `hl7:"15,display=Observation/result"`
	AL1       []AL1               `hl7:"16,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"17,display=Diagnosis"`
	DRG       *DRG                `hl7:"18,display=Diagnosis Related Group"`
	Procedure []ADT_A16_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A16_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
}

Pending discharge

An A16 event notifies other systems of a plan to discharge a patient when the patient has not yet left the healthcare facility. It is used when advanced notification of a discharge is required in order to prepare for the patient's change in location. For example, it is used to notify the pharmacy of the possible need for discharge drugs or to notify psychotherapy of the possible need for post-discharge appointments or to notify the extended care or home health system that the patient will be discharged and that the new extended care and home health admission assessment can be scheduled.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A16_Insurance

type ADT_A16_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A16_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A16_Procedure

type ADT_A16_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A16_Procedure,type=tg"`
	PR1 *PR1    `hl7:"19,required,display=Procedures"`
	ROL []ROL   `hl7:"20,display=Role"`
}

Procedure

type ADT_A17

type ADT_A17 struct {
	HL7  HL7Name `hl7:",name=ADT_A17,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message Header"`
	SFT  []SFT   `hl7:"2,display=Software Segment"`
	UAC  *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN  *EVN    `hl7:"4,required,display=Event Type"`
	PID  *PID    `hl7:"5,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1  *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2  *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1  []DB1   `hl7:"9,display=Disability"`
	OBX  []OBX   `hl7:"10,display=Observation/result"`
	PID2 *PID    `hl7:"11,required,display=Patient Identification"`
	PD12 *PD1    `hl7:"12,display=Patient Additional Demographic"`
	PV12 *PV1    `hl7:"13,required,display=Patient Visit"`
	PV22 *PV2    `hl7:"14,display=Patient Visit - Additional Information"`
	DB12 []DB1   `hl7:"15,display=Disability"`
	OBX2 []OBX   `hl7:"16,display=Observation/result"`
}

Swap patients

The A17 is used when it is decided that two patients will exchange beds. The patient ID and visit data are repeated for the two patients changing places. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A20

type ADT_A20 struct {
	HL7 HL7Name `hl7:",name=ADT_A20,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	NPU *NPU    `hl7:"5,required,display=Bed Status Update"`
}

Bed status update

Certain nursing/census applications need to be able to update the Patient Administration system's bed status.

type ADT_A21

type ADT_A21 struct {
	HL7 HL7Name `hl7:",name=ADT_A21,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Patient goes on a "leave of absence"

An A21 event is sent to notify systems that an admitted patient has left the healthcare institution temporarily. It is used for systems in which a bed is still assigned to the patient, and it puts the current admitted patient activities on hold. For example, it is used to notify dietary services and laboratory systems when the patient goes home for the weekend.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

As there is no specific field for the LOA start date/time, it is recommended field EVN-6 - Event Occurred contain the date/time the patient actually left. PV2-47 - Expected LOA Return Date/Time is used to communicate the date/time the patient is expected to return from LOA.

type ADT_A22

type ADT_A22 struct {
	HL7 HL7Name `hl7:",name=ADT_A22,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Patient returns from a "leave of absence"

An A22 event is sent to notify systems that an admitted patient has returned to the healthcare institution after a temporary "leave of absence." It is used for systems in which a bed is still assigned to the patient, and it takes their current admitted patient activities off of "hold" status. For example, it is used to notify dietary services and laboratory systems when the patient returns from a weekend trip to his/her home.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

As there is no specific field for the LOA start date/time, it is recommended that field EVN-6 - Event Occurred contain the date/time the patient actually returned from LOA. PV2-47 - Expected LOA Return Date/Time is used to communicate the date/time the patient was expected to return from LOA.

type ADT_A23

type ADT_A23 struct {
	HL7 HL7Name `hl7:",name=ADT_A23,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Delete a patient record

The A23 event is used to delete visit or episode-specific information from the patient record. For example, it is used to remove old data from a database that cannot hold all historical patient visit data. When an event was entered erroneously, use one of the cancel transactions. This event can be used to purge account-level data while retaining the person in the database.

type ADT_A24

type ADT_A24 struct {
	HL7  HL7Name `hl7:",name=ADT_A24,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message Header"`
	SFT  []SFT   `hl7:"2,display=Software Segment"`
	UAC  *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN  *EVN    `hl7:"4,required,display=Event Type"`
	PID  *PID    `hl7:"5,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1  *PV1    `hl7:"7,display=Patient Visit"`
	DB1  []DB1   `hl7:"8,display=Disability"`
	PID2 *PID    `hl7:"9,required,display=Patient Identification"`
	PD12 *PD1    `hl7:"10,display=Patient Additional Demographic"`
	PV12 *PV1    `hl7:"11,display=Patient Visit"`
	DB12 []DB1   `hl7:"12,display=Disability"`
}

Link patient information

The A24 event is used when the first PID segment needs to be linked to the second PID segment and when both patient identifiers identify the same patient. Linking two or more patients does not require the actual merging of patient information; following a link event, the affected patient data records should remain distinct. For example, this event could be used in a hospital network environment in which there are multiple campuses and in which records need to be linked. For example, hospital A, hospital B, and hospital C would each keep their own records on a patient, but an A24 link event would be sent to a corporate-wide MPI to enable the coupling of ID information with the corporate ID number. It is used for corporate data repositories, etc. This event is not meant to link mothers and babies since a field exists (PID-21 - Mother's Identifier) for that purpose. See section 3.6.3, "Patient record links," for a discussion of issues related to implementing patient link messages and MPI issues.

This event can also be used to link two patient identifiers when a patient changes from inpatient to outpatient, or vice versa. This event can also be used to link two visits of the same patient.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A25

type ADT_A25 struct {
	HL7 HL7Name `hl7:",name=ADT_A25,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Cancel pending discharge

The A25 event is sent when an A16 (pending discharge) event is cancelled, either because of erroneous entry of the A16 event or because of a decision not to discharge the patient after all.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A26

type ADT_A26 struct {
	HL7 HL7Name `hl7:",name=ADT_A26,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Cancel pending transfer

The A26 event is sent when an A15 (pending transfer) event is cancelled, either because of erroneous entry of the A15 event or because of a decision not to transfer the patient after all.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A27

type ADT_A27 struct {
	HL7 HL7Name `hl7:",name=ADT_A27,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Cancel pending admit

The A27 event is sent when an A14 (pending admit) event is cancelled, either because of erroneous entry of the A14 event or because of a decision not to admit the patient after all.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A28

type ADT_A28 struct {
	HL7       HL7Name             `hl7:",name=ADT_A28,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	OBX       []OBX               `hl7:"15,display=Observation/result"`
	AL1       []AL1               `hl7:"16,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"17,display=Diagnosis"`
	DRG       *DRG                `hl7:"18,display=Diagnosis Related Group"`
	Procedure []ADT_A28_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A28_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
	UB1       *UB1                `hl7:"27,display=Ub82"`
	UB2       *UB2                `hl7:"28,display=Uniform Billing Data"`
}

Add person information

The purpose of this and the three following messages was to allow sites with multiple systems and respective master patient databases to communicate activity related to a person regardless of whether that person is currently a patient on each system. Each system has an interest in the database activity of the others in order to maintain data integrity across an institution. Though they are defined within the ADT message set, these messages differ in that they are not patient-specific. To a certain registry, the person may be a person of interest, a potential future patient, or a potential guarantor. For example, these events can be used to maintain an MPI (master patient index), a cancer registry, members of a managed care plan, an HIV database, etc.

These events should not replace the use of the A01 (admit/visit notification), A03 (discharge/end visit), A04 (register a patient), A08 (update patient information), etc., events. They are not intended to be used for notification of real-time Patient Administration events. These events are primarily for demographic data, but optional historical non-demographic data may be sent as well.

The person whose data is being sent should be identified in the PID segment using the PID-3 - Patient Identifier List, even when the person is not a patient and may be a potential guarantor. An A28 establishes person identifiers, e.g., social security number, guarantor identifier, or other unique identifiers, and contains a person identifier in the PID-3 - Patient Identifier List. The person involved may or may not have active or inactive cases associated with them. When field names and descriptions say "patient," we must translate that to "person" for these transactions. In this manner, "person information" about a guarantor can be sent independently of the guarantor's relation to any patient.

For example, a site with separate inpatient, outpatient and medical records systems may require that each system maintain concurrent person information. Prior to an admit, the new person is added to the master database of the inpatient system, resulting in the broadcast of a message. The outpatient system receives the message and adds the person to its database with the possibility that the person may someday become apatient in its system. The medical records system receives the message and adds the person to its database with the possibility that it will track inpatient, outpatient, or clinical data for that person. The clinical repository database or MPI receives the message to keep all potential patients and guarantors in its database.

The A28 event can be used to send everything that is known about a person. For example, it can be sent to an ICU unit (in addition to the A02 (transfer a patient) event) when a patient is transferred to the ICU unit in order to backload all demographic information for the patient into the ICU system. An A28 (add person information) or A31 (update person information) can also be used for backloading MPI information for the person, or for backloading person and historical information. In addition to adding a person to a database, the delete, update, and merge messages work in a similar manner to maintain concurrent person information. It is left up to site-specific negotiations to decide how much data must be transmitted or re-transmitted when a person becomes a patient. To maintain backward compatibility with previous releases, the PV1 segment is required. However, a "pseudo-optional" PV1 can be achieved by valuing PV1-2 - Patient Class to N - not applicable.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin and end date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL,

type ADT_A28_Insurance

type ADT_A28_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A28_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A28_Procedure

type ADT_A28_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A28_Procedure,type=tg"`
	PR1 *PR1    `hl7:"19,required,display=Procedures"`
	ROL []ROL   `hl7:"20,display=Role"`
}

Procedure

type ADT_A29

type ADT_A29 struct {
	HL7 HL7Name `hl7:",name=ADT_A29,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Delete person information

An A29 event can be used to delete all demographic information related to a given person. This event "undoes" an A28 (add person information) event. The information from the A28 event is deleted. This event is used, for example, when adding the information was performed in error, or when another record already exists for the person, or when one wants to purge the person from the database. When this event occurs, all visit and account level data for this person is also purged.

To maintain backward compatibility with previous releases, the PV1 segment is required. However, a "pseudo-optional" PV1 can be achieved by valuing PV1-2 - Patient Class to N - not applicable.

type ADT_A31

type ADT_A31 struct {
	HL7       HL7Name             `hl7:",name=ADT_A31,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	ARV       []ARV               `hl7:"7,display=Access Restriction"`
	ROL       []ROL               `hl7:"8,display=Role"`
	NK1       []NK1               `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1       *PV1                `hl7:"10,required,display=Patient Visit"`
	PV2       *PV2                `hl7:"11,display=Patient Visit - Additional Information"`
	ARV2      []ARV               `hl7:"12,display=Access Restriction"`
	ROL2      []ROL               `hl7:"13,display=Role"`
	DB1       []DB1               `hl7:"14,display=Disability"`
	OBX       []OBX               `hl7:"15,display=Observation/result"`
	AL1       []AL1               `hl7:"16,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"17,display=Diagnosis"`
	DRG       *DRG                `hl7:"18,display=Diagnosis Related Group"`
	Procedure []ADT_A31_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"21,display=Guarantor"`
	Insurance []ADT_A31_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"26,display=Accident"`
	UB1       *UB1                `hl7:"27,display=Ub82"`
	UB2       *UB2                `hl7:"28,display=Uniform Billing Data"`
}

Update person information

An A31 event can be used to update person information on an MPI. It is similar to an A08 (update patient information) event, but an A08 (update patient information) event should be used to update patient information for a current episode. An A28 (add person information) or A31 can also be used for backloading MPI information for the person, or for backloading person and historical information.

To maintain backward compatibility with previous releases, the PV1 segment is required. However, a "pseudo-optional" PV1 can be achieved by valuing PV1-2 - Patient Class to N - not applicable.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin and end date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A31_Insurance

type ADT_A31_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A31_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type ADT_A31_Procedure

type ADT_A31_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A31_Procedure,type=tg"`
	PR1 *PR1    `hl7:"19,required,display=Procedures"`
	ROL []ROL   `hl7:"20,display=Role"`
}

Procedure

type ADT_A32

type ADT_A32 struct {
	HL7 HL7Name `hl7:",name=ADT_A32,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Cancel patient arriving - tracking

The A32 event is sent when an A10 (patient arriving-tracking) event is cancelled, either because of erroneous entry of the A10 event or because of a decision not to receive the patient after all.

If the patient was in a non-temporary location, then the PV1-3 - Assigned Patient Location may contain (if known) the original patient location prior to the erroneous A10 (patient arriving-tracking) event. If the patient was in a temporary location, then PV1-11 - Temporary Location may contain (if known) the original patient location prior to the erroneous A10 (patient arriving-tracking) event.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A33

type ADT_A33 struct {
	HL7 HL7Name `hl7:",name=ADT_A33,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
}

Cancel patient departing - tracking

The A33 event is sent when an A09 (patient departing-tracking) event is cancelled, either because of erroneous entry of the A09 event or because of a decision not to send the patient after all.

If the patient was in a non-temporary location, then PV1-3 - Assigned Patient location must contain the original patient location prior to the erroneous A09 (patient departing-tracking) event. If the patient was in a temporary location, then PV1-11 - Temporary Location must contain the original patient location prior to the erroneous A09 (patient departing-tracking) event.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A37

type ADT_A37 struct {
	HL7  HL7Name `hl7:",name=ADT_A37,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message Header"`
	SFT  []SFT   `hl7:"2,display=Software Segment"`
	UAC  *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN  *EVN    `hl7:"4,required,display=Event Type"`
	PID  *PID    `hl7:"5,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1  *PV1    `hl7:"7,display=Patient Visit"`
	DB1  []DB1   `hl7:"8,display=Disability"`
	PID2 *PID    `hl7:"9,required,display=Patient Identification"`
	PD12 *PD1    `hl7:"10,display=Patient Additional Demographic"`
	PV12 *PV1    `hl7:"11,display=Patient Visit"`
	DB12 []DB1   `hl7:"12,display=Disability"`
}

Unlink patient information

The A37 event unlinks two patient identifiers.

type ADT_A38

type ADT_A38 struct {
	HL7 HL7Name `hl7:",name=ADT_A38,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DB1 []DB1   `hl7:"9,display=Disability"`
	OBX []OBX   `hl7:"10,display=Observation/result"`
	DG1 []DG1   `hl7:"11,display=Diagnosis"`
	DRG *DRG    `hl7:"12,display=Diagnosis Related Group"`
}

Cancel pre-admit

The A38 event is sent when an A05 (pre-admit a patient) event is cancelled, either because of erroneous entry of the A05 event or because of a decision not to pre-admit the patient after all.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A40

type ADT_A40 struct {
	HL7     HL7Name           `hl7:",name=ADT_A40,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EVN     *EVN              `hl7:"4,required,display=Event Type"`
	Patient []ADT_A40_Patient `hl7:",required,display=Patient"`
}

Merge patient - patient identifier list

A merge has been done at the patient identifier list level. That is, two PID-3 - Patient Identifier List identifiers have been merged into one.

An A40 event is used to signal a merge of records for a patient that was incorrectly filed under two different identifiers. The "incorrect source identifier" identified in the MRG segment (MRG-1 - Prior Patient Identifier List) is to be merged with the required "correct target identifier" of the same "identifier type code" component identified in the PID segment (PID-3 - Patient Identifier List). The "incorrect source identifier" would then logically never be referenced in future transactions. It is noted that some systems may still physically keep this "incorrect identifier" for audit trail purposes or other reasons associated with database index implementation requirements.

The identifiers involved in identifying the patients may or may not have accounts, which may or may not have visits. An A40 (merge patient-patient identifier list) event is intended for merging patient records without merging other subordinate identifiers. Any other subordinate identifiers that were previously associated with the "incorrect source identifier" are now associated with the "correct target identifier." Specification of these other subordinate identifiers is not required.

This event and the message syntax do, however, allow for the specification of any other "new subordinate identifiers" (in addition to the PID-3 - Patient Identifier List identifier). For those environments that may require changes to these other subordinate identifiers because of the A40 (merge patient-patient identifier list) event, it is required that the old and new identifiers be a "tightly coupled" pair.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.2, "Merge," for a discussion of issues related to the implementation of merge messages.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other fields change, it is recommended that the A31 (update person information) event be used for person level updates and A08 (update patient information) event for patient level updates.

type ADT_A40_Patient

type ADT_A40_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A40_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	MRG *MRG    `hl7:"7,required,display=Merge Patient Information"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
}

Patient

type ADT_A41

type ADT_A41 struct {
	HL7     HL7Name           `hl7:",name=ADT_A41,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EVN     *EVN              `hl7:"4,required,display=Event Type"`
	Patient []ADT_A41_Patient `hl7:",required,display=Patient"`
}

Merge account - patient account number

A merge has been done at the account identifier level. That is, two PID-18 - Patient Account Number identifiers have been merged into one.

An A41 event is used to signal a merge of records for an account that was incorrectly filed under two different account numbers. The "incorrect source patient account number" identified in the MRG segment (MRG-3 - Prior Patient Account Number) is to be merged with the "correct target patient account number" identified in the PID segment (PID-18 - Patient Account Number). The "incorrect source patient account number" would then logically never be referenced in future transactions. It is noted that some systems may still physically keep this "incorrect identifier" for audit trail purposes or other reasons associated with database index implementation requirements.

The patient account numbers involved may or may not have visits. An A41 (merge account-patient account number) is intended for merging account records without merging other subordinate identifiers. Any other subordinate identifiers that were previously associated with the "incorrect source account number" are now associated with the required "correct target account number." Specification of these other subordinate identifiers is not required.

This event and the message syntax do, however, allow for the specification of any other "new subordinate identifiers" (in addition to the PID-18 - Patient Account Number identifier). For those environments that may require changes to these other subordinate identifiers because of this A41 (merge account-patient account number) event, it is required that the old and new identifiers be a "tightly coupled" pair.

Each superior identifier associated with this account identifier level should have the same value in both the PID and MRG segments.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.2, "Merge," for a discussion of issues related to the implementation of merge messages.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other fields change, it is recommended that the A08 (update patient information) event be used in addition

type ADT_A41_Patient

type ADT_A41_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A41_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	MRG *MRG    `hl7:"7,required,display=Merge Patient Information"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
}

Patient

type ADT_A42

type ADT_A42 struct {
	HL7     HL7Name           `hl7:",name=ADT_A42,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EVN     *EVN              `hl7:"4,required,display=Event Type"`
	Patient []ADT_A42_Patient `hl7:",required,display=Patient"`
}

Merge visit - visit number

A merge has been done at the visit identifier level. That is, two PV1-19 - Visit Number identifiers have been merged into one.

An A42 event is used to signal a merge of records for a visit that was incorrectly filed under two different visit numbers. The "incorrect source visit number" identified in the MRG segment (MRG-5 - Prior Visit Number) is to be merged with the required "correct target visit number" identified in the PV1 segment (PV1-19 - Visit Number). The "incorrect source visit number" would then logically never be referenced in future transactions. It is noted that some systems may still physically keep this "incorrect identifier" for audit trail purposes or other reasons associated with database index implementation requirements.

An A42 (merge visit-visit number) event is intended for merging visit records without merging other identifiers. Any other identifiers that were previously associated with the "incorrect source visit number" are now associated with the "correct target visit number."

Each superior identifier associated with this visit identifier level should have the same value in the PID and MRG segments, or the MRG and PV1 segments, as appropriate.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.2, "Merge," for a discussion of issues related to the implementation of merge messages.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A42_Patient

type ADT_A42_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A42_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	MRG *MRG    `hl7:"7,required,display=Merge Patient Information"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
}

Patient

type ADT_A43

type ADT_A43 struct {
	HL7     HL7Name           `hl7:",name=ADT_A43,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EVN     *EVN              `hl7:"4,required,display=Event Type"`
	Patient []ADT_A43_Patient `hl7:",required,display=Patient"`
}

Move patient information - patient identifier list

A move has been done at the patient identifier list level. Identifier to be moved in the PID-3 - Patient Identifier List and MRG-1 - Prior Patient Identifier List will have the same value. The "from" (incorrect source patient ID) and "to" (correct target patient ID) identifiers have different values. See A43 examples in section 5. The identifiers involved in identifying the patient to be moved (MRG-1 - Prior Patient Identifier List) may or may not have accounts, which may or may not have visits. In any case, all subordinate data sets associated with the identifier in MRG-1 - Prior Patient Identifier List are moved along with the identifier, from the "incorrect source patient ID" to the "correct target patient ID."

No identifiers subordinate to the identifier (account number, visit number, alternate visit ID) are valued in this message. Specification of these other subordinate identifiers is not required.

This event and the message syntax do, however, allow for the specification of a "new identifier" (PID-3 - Patient Identifier List), which may be application and/or implementation specific and therefore require site negotiation.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.3, "Move," for a discussion of issues related to the implementation of move messages.

The fields included when this message is sent should be the fields pertinent to communicate this event. When demographic data in other fields change, it is recommended that the A08 (update patient information) event be used in conjunction with this message. However, all PID data associated with the "correct target identifier" (PID-3 - Patient Identifier List) are treated as updated information.

type ADT_A43_Patient

type ADT_A43_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A43_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	MRG *MRG    `hl7:"7,required,display=Merge Patient Information"`
}

Patient

type ADT_A44

type ADT_A44 struct {
	HL7     HL7Name           `hl7:",name=ADT_A44,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EVN     *EVN              `hl7:"4,required,display=Event Type"`
	Patient []ADT_A44_Patient `hl7:",required,display=Patient"`
}

Move account information - patient account number

A move has been done at the account identifier level. That is, a PID-18 - Patient Account Number associated with one PID-3 - Patient Identifier List has been moved to another patient identifier list.

An A44 event is used to signal a move of records identified by the MRG-3 - Prior Patient Account Number from the "incorrect source patient identifier list" identified in the MRG segment (MRG-1 - Prior Patient Identifier List) to the "correct target patient identifier list" identified in the PID segment (PID-3 - Patient Identifier List).

The account number involved in identifying the account to be moved (MRG-3 - Prior Patient Account Number) may or may not have visits. In any case, all subordinate data sets associated with the account number in MRG-3 - Prior Patient Account Number are moved along with the account number, from the "incorrect source" ID (MRG-1 - Prior Patient Identifier List) to the "correct target" ID (PID-3 - Patient Identifier List).

No identifiers subordinate to the account number (visit number, alternate visit ID) are valued in this message.

This event and the message syntax do, however, allow for the specification of a "new identifier" (PID-18 - Patient Account Number), which may be application and/or implementation-specific and therefore require site negotiation.

All of the identifiers superior to the account number should be valued in both the MRG segment and the PID segment. In this message, the PID-3 - Patient Identifier List is superior to the account number.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.3, "Move," for a discussion of issues related to the implementation of move messages.

The fields included when this message is sent should be the fields pertinent to communicate this event. When demographic data in other fields change, it is recommended that the A08 (update patient information) event be used in conjunction with this message. However, all PID data associated with the "account number" are treated as updated information.

type ADT_A44_Patient

type ADT_A44_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A44_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	ARV []ARV   `hl7:"7,display=Access Restriction"`
	MRG *MRG    `hl7:"8,required,display=Merge Patient Information"`
}

Patient

type ADT_A45

type ADT_A45 struct {
	HL7       HL7Name             `hl7:",name=ADT_A45,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"6,display=Patient Additional Demographic"`
	Mergeinfo []ADT_A45_Mergeinfo `hl7:",required,display=Merge_info"`
}

Move visit information - visit number

A move has been done at the visit identifier level. That is, a PV1-19 - Visit Number or PV1-50 - Alternate Visit ID associated with one account identifier (PID-18 - Patient Account Number) has been moved to another account identifier.

An A45 event is used to signal a move of records identified by the MRG-5 - Prior Visit Number or the MRG-6 - Prior Alternate Visit ID from the "incorrect source account identifier" identified in the MRG segment (MRG-3 - Prior Patient Account Number) to the "correct target account identifier" identified in the PID segment (PID-18 - Patient Account Number).

This event and the message syntax do allow for the specification of "new identifiers" (PV1-19 - Visit Number, or PV1-50 - Alternate Visit ID), which may be application and/or implementation-specific and therefore require site negotiation.

All of the identifiers superior to the visit number or alternate visit ID should be valued in both the MRG segment and the PID segments. In this message, the account number and PID-3 - Patient Identifier List are superior to the visit number and alternate visit ID.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.3, "Move," for a discussion of issues related to the implementation of move messages. The fields included when this message is sent should be the fields pertinent to communicate this event. When demographic data in other fields change, it is recommended that the A08 (update patient information) event be used in conjunction with this message. However, all PID data associated with the "correct target visit ID" are treated as updated information.

type ADT_A45_Mergeinfo

type ADT_A45_Mergeinfo struct {
	HL7 HL7Name `hl7:",name=ADT_A45_Mergeinfo,type=tg"`
	MRG *MRG    `hl7:"7,required,display=Merge Patient Information"`
	PV1 *PV1    `hl7:"8,required,display=Patient Visit"`
}

Mergeinfo

type ADT_A47

type ADT_A47 struct {
	HL7     HL7Name           `hl7:",name=ADT_A47,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EVN     *EVN              `hl7:"4,required,display=Event Type"`
	Patient []ADT_A47_Patient `hl7:",required,display=Patient"`
}

Change patient identifier list

A change has been done at the patient identifier list level. That is, a single PID-3 - patient identifier list value has been found to be incorrect and has been changed.

An A47 event is used to signal a change of an incorrectly assigned PID-3 - Patient Identifier List value. The "incorrect source identifier" value is stored in the MRG segment (MRG-1 - Prior Patient Identifier List) and is to be changed to the "correct target patient ID" value stored in the PID segment (PID-3 - Patient Identifier List).

The identifier involved in identifying the patient may or may not have accounts, which may or may not have visits. An A47 (change patient identifier list) event is intended for changing the value of the patient identifier list without affecting other subordinate identifiers. Any other subordinate identifiers that were previously associated with the "incorrect source identifier" are now associated with the "correct target identifier." Specification of these other subordinate identifiers is not required.

This event and the message syntax do, however, allow for the specification of "new subordinate identifiers" (in addition to the PID-3 - Patient Identifier List identifier). For those environments that may require changes to these other subordinate identifiers because of this A47 (change patient identifier list) event, it is required that the old and new identifiers be a "tightly coupled" pair.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.4, "Change identifier," for a discussion of issues related to the implementation of change messages.

The fields included when this message is sent should be the fields pertinent to communicate this event. When demographic data in other fields change, it is recommended that the A31 (update patient information) event be used in conjunction with this message.

type ADT_A47_Patient

type ADT_A47_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A47_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	ARV []ARV   `hl7:"7,display=Access Restriction"`
	MRG *MRG    `hl7:"8,required,display=Merge Patient Information"`
}

Patient

type ADT_A49

type ADT_A49 struct {
	HL7     HL7Name           `hl7:",name=ADT_A49,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EVN     *EVN              `hl7:"4,required,display=Event Type"`
	Patient []ADT_A49_Patient `hl7:",required,display=Patient"`
}

Change patient account number

A change has been done at the account identifier level. That is, a PID-18 - patient account number has been found to be incorrect and has been changed.

An A49 event is used to signal a change of an incorrectly assigned account number value. The "incorrect source account number" value is stored in the MRG segment (MRG-3 - Prior Patient Account Number) and is to be changed to the "correct target account number" value stored in the PID segment (PID-18 - Patient Account Number).

The patient account identifier involved in identifying the account may or may not have visits. An A49 (change patient account number) event is intended for changing the value of the account identifier without affecting other subordinate identifiers. Any other subordinate identifiers that were previously associated with the "incorrect source account number" are now associated with the "correct target account number". Specification of these other subordinate identifiers is not required.

This event and the message syntax do, however, allow for the specification of "new subordinate identifiers" (in addition to the PID-18 - Patient Account Number Identifier). For those environments that may require changes to these other subordinate identifiers because of this A49 (change patient account number) event, it is required that the old and new identifiers be a "tightly coupled" pair.

Each superior identifier associated with this account identifier level, i.e. the PID-3/MRG-1 should have the same value in both the PID and MRG segments.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.4, "Change identifier," for a discussion of issues related to the implementation of change messages.

The fields included when this message is sent should be the fields pertinent to communicate this event. When demographic data in other fields change, it is recommended that the A08 (update patient information) event be used in conjunction with this message.

type ADT_A49_Patient

type ADT_A49_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A49_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	MRG *MRG    `hl7:"7,required,display=Merge Patient Information"`
}

Patient

type ADT_A50

type ADT_A50 struct {
	HL7 HL7Name `hl7:",name=ADT_A50,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	MRG *MRG    `hl7:"7,required,display=Merge Patient Information"`
	PV1 *PV1    `hl7:"8,required,display=Patient Visit"`
}

Change visit number

A change has been done at the visit identifier level. That is, a PV1-19 - Visit Number has been found to be incorrect and has been changed.

An A50 event is used to signal a change of an incorrectly assigned visit number value. The "incorrect source visit number" value is stored in the MRG segment (MRG-5 - Prior Visit Number) and is to be changed to the "correct target visit number" value stored in the PV1 segment (PV1-19 - Visit Number).

Each superior identifier associated with this visit number identifier level, i.e. PID-3/MRG-1 and PID-18/MRG-3 should have the same value in both the PID and MRG segments.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.4, "Change identifier," for a discussion of issues related to the implementation of change messages.

The fields included when this message is sent should be the fields pertinent to communicate this event. When demographic data in other fields change, it is recommended that the A08 (update patient information) event be used in conjunction with this message.

type ADT_A51

type ADT_A51 struct {
	HL7 HL7Name `hl7:",name=ADT_A51,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	MRG *MRG    `hl7:"7,required,display=Merge Patient Information"`
	PV1 *PV1    `hl7:"8,required,display=Patient Visit"`
}

Change alternate visit ID

A change has been done at the alternate visit identifier level. That is, a PV1-50 - Alternate Visit ID has been found to be incorrect and has been changed.

An A51 event is used to signal a change of an incorrectly assigned alternate visit ID value. The "incorrect source alternate visit ID" value is stored in the MRG segment (MRG-6 - Prior Alternate Visit ID) and is to be changed to the "correct target alternate visit ID" value stored in the PV1 segment (PV1-50 - Alternate Visit ID).

Each superior identifier associated with this alternate visit identifier level, i.e. PID-3/MRG-1 and PID-18/MRG-3 should have the same value in both the PID and MRG segments.

See sections 3.6.2, "Merging patient/person information," and 3.6.2.1.4, "Change identifier," for a discussion of issues related to the implementation of change messages.

The fields included when this message is sent should be the fields pertinent to communicate this event. When demographic data in other fields change, it is recommended that the A08 (update patient information) event be used in conjunction with this message.

type ADT_A52

type ADT_A52 struct {
	HL7 HL7Name `hl7:",name=ADT_A52,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
}

Cancel leave of absence for a patient

The A52 event is sent when an A21 (patient goes on "leave of absence") event is cancelled, either because of erroneous entry of the A21 event or because of a decision not to put the patient on "leave of absence" after all.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

As there is no specific field for the cancel LOA date/time, it is recommended field EVN-6 - Event Occurred contain the date/time the LOA was actually cancelled (but not necessarily recorded).

type ADT_A53

type ADT_A53 struct {
	HL7 HL7Name `hl7:",name=ADT_A53,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
}

Cancel patient returns from a leave of absence

The A53 event is sent when an A22 (patient returns from "leave of absence") event is cancelled, either because of erroneous entry of the A22 event or because of a decision not to return the patient from "leave of absence" after all.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

As there is no specific field for the cancel LOA date/time, it is recommended that field EVN-6 - Event Occurred contain the date/time the return from LOA was actually cancelled (but not necessarily recorded).

PV2-47 - Expected LOA Return Date/Time is used to communicate the date/time the patient is expected to return from LOA.

type ADT_A54

type ADT_A54 struct {
	HL7  HL7Name `hl7:",name=ADT_A54,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message Header"`
	SFT  []SFT   `hl7:"2,display=Software Segment"`
	UAC  *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN  *EVN    `hl7:"4,required,display=Event Type"`
	PID  *PID    `hl7:"5,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"6,display=Patient Additional Demographic"`
	ROL  []ROL   `hl7:"7,display=Role"`
	PV1  *PV1    `hl7:"8,required,display=Patient Visit"`
	PV2  *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	ROL2 []ROL   `hl7:"10,display=Role"`
}

Change attending doctor

An A54 event is issued as a result of a change in the attending doctor responsible for the treatment of a patient.

When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

The new attending doctor of the patient should appear in the PV1-7 - Attending Doctor. For example, an A54 event can be used to notify the billing system that doctors' fees should be billed to the new doctor starting from the timestamp in the message.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments.

To communicate the begin and end date of the attending, referring, or admitting doctor, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment. Use "UP" in ROL-2 - Action Code.

type ADT_A55

type ADT_A55 struct {
	HL7  HL7Name `hl7:",name=ADT_A55,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message Header"`
	SFT  []SFT   `hl7:"2,display=Software Segment"`
	UAC  *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN  *EVN    `hl7:"4,required,display=Event Type"`
	PID  *PID    `hl7:"5,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"6,display=Patient Additional Demographic"`
	ROL  []ROL   `hl7:"7,display=Role"`
	PV1  *PV1    `hl7:"8,required,display=Patient Visit"`
	PV2  *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	ROL2 []ROL   `hl7:"10,display=Role"`
}

Cancel change attending doctor

The A55 event is sent when an A54 (change attending doctor) event is cancelled, either because of erroneous entry of the A54 event or because of a decision not to change the attending doctor after all. PV1-7 - Attending Doctor must contain the patient's doctor prior to the change of attending doctor.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A60

type ADT_A60 struct {
	HL7                  HL7Name                        `hl7:",name=ADT_A60,type=t"`
	MSH                  *MSH                           `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                          `hl7:"2,display=Software Segment"`
	UAC                  *UAC                           `hl7:"3,display=User Authentication Credential Segment"`
	EVN                  *EVN                           `hl7:"4,required,display=Event Type"`
	PID                  *PID                           `hl7:"5,required,display=Patient Identification"`
	ARV                  []ARV                          `hl7:"6,display=Access Restriction"`
	PV1                  *PV1                           `hl7:"7,display=Patient Visit"`
	PV2                  *PV2                           `hl7:"8,display=Patient Visit - Additional Information"`
	ARV2                 []ARV                          `hl7:"9,display=Access Restriction"`
	Adversereactiongroup []ADT_A60_Adversereactiongroup `hl7:",display=Adverse_reaction_group"`
}

Update allergy information

This trigger event is used when person/patient allergy information has changed. It is used in conjunction with a new allergy segment, the IAM - Patient Allergy Information Segment-Unique Identifier, which supports Action code/unique identifier mode update for repeating segments as defined in 2.10.4, "Protocol for interpreting repeating segments or segment groups in an update Message."

type ADT_A60_Adversereactiongroup

type ADT_A60_Adversereactiongroup struct {
	HL7 HL7Name `hl7:",name=ADT_A60_Adversereactiongroup,type=tg"`
	IAM *IAM    `hl7:"10,required,display=Patient Adverse Reaction Information"`
	NTE []NTE   `hl7:"11,display=Notes And Comments"`
	IAR []IAR   `hl7:"12,display=Allergy Reaction"`
}

Adversereactiongroup

type ADT_A61

type ADT_A61 struct {
	HL7  HL7Name `hl7:",name=ADT_A61,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message Header"`
	SFT  []SFT   `hl7:"2,display=Software Segment"`
	UAC  *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN  *EVN    `hl7:"4,required,display=Event Type"`
	PID  *PID    `hl7:"5,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"6,display=Patient Additional Demographic"`
	ROL  []ROL   `hl7:"7,display=Role"`
	PV1  *PV1    `hl7:"8,required,display=Patient Visit"`
	ROL2 []ROL   `hl7:"9,display=Role"`
	PV2  *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Change consulting doctor

An A61 event is used as a result of a change in the consulting physician(s) for the treatment of a patient.

When other important fields change, it is recommended that the A08 (update patient information) event be used in addition. If the Patient Administration system allows demographics to change at the same time (for example an address change), two messages (an A61 followed by an A08) should be sent.

The new consulting doctor(s) of the patient should appear in the PV1-9 - Consulting Doctor and may appear in a role segment per new consulting physician.

If a consulting doctor stops being consulting doctor for this patient-visit, the end date/time can be sent in the ROL-6 - Role End Date/Time.

For example, an A61 event can be used to notify the billing system that doctors' fees for being a consulting doctor, should be billed to the new doctor(s) starting from the timestamp in the message.

It is recommended that field EVN-6 - Event Occurred contains the date/time the event actually occurred to the patient.

The ROL - Role Segment is used in this message to communicate providers not specified elsewhere. Person level providers with an ongoing relationship are reported in the ROL segment following the PID/PD1 segments. Providers corresponding to the PV1 data are reported in the ROL segment following the PV1/PV2 segments. Providers related to a specific procedure are reported in the ROL segment following the PR1 segment. Providers related to a specific insurance are reported in the ROL segment following the IN1/IN2/IN3 segments. To communicate the begin- and end-date of the provider, use the ROL-5 - Role Begin Date/Time and the ROL-6 - Role End Date/Time in the ROL segment, with the applicable ROL-3 - Role Code. Refer to Chapter 15 for the definition of the ROL segment.

type ADT_A62

type ADT_A62 struct {
	HL7  HL7Name `hl7:",name=ADT_A62,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message Header"`
	SFT  []SFT   `hl7:"2,display=Software Segment"`
	UAC  *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN  *EVN    `hl7:"4,required,display=Event Type"`
	PID  *PID    `hl7:"5,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"6,display=Patient Additional Demographic"`
	ROL  []ROL   `hl7:"7,display=Role"`
	PV1  *PV1    `hl7:"8,required,display=Patient Visit"`
	ROL2 []ROL   `hl7:"9,display=Role"`
	PV2  *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Cancel change consulting doctor

The A62 event is sent when an A61 (change consulting doctor) event is cancelled, either because of erroneous entry of the A61 event or because of a decision not to change the consulting physician(s) after all. PV1-9 - Consulting Doctor must show the patient's doctor prior to the change being cancelled.

The fields included when this message is sent should be the fields pertinent to communicate this event. When other important fields change, it is recommended that the A08 (update patient information) event is used.

type AFF

type AFF struct {
	HL7                                          HL7Name `hl7:",name=AFF,type=s"`
	SetID                                        SI      `hl7:"1,seq,required,len=4,display=Set Id - Aff"`
	ProfessionalOrganization                     XON     `hl7:"2,required,display=Professional Organization"`
	ProfessionalOrganizationAddress              *XAD    `hl7:"3,display=Professional Organization Address"`
	ProfessionalOrganizationAffiliationDateRange []DR    `hl7:"4,display=Professional Organization Affiliation Date Range"`
	ProfessionalAffiliationAdditionalInformation ST      `hl7:"5,display=Professional Affiliation Additional Information"`
}

Professional Affiliation

The AFF segment adds detailed information regarding professional affiliations with which the staff member identified by the STF segment is/was associated.

type AIG

type AIG struct {
	HL7                      HL7Name `hl7:",name=AIG,type=s"`
	SetID                    SI      `hl7:"1,seq,required,len=4,display=Set Id - Aig"`
	SegmentActionCode        ID      `hl7:"2,conditional,len=1,table=0206,display=Segment Action Code"`
	ResourceID               *CWE    `hl7:"3,conditional,display=Resource Id"`
	ResourceType             CWE     `hl7:"4,required,display=Resource Type"`
	ResourceGroup            []CWE   `hl7:"5,display=Resource Group"`
	ResourceQuantity         NM      `hl7:"6,display=Resource Quantity"`
	ResourceQuantityUnits    *CNE    `hl7:"7,display=Resource Quantity Units"`
	StartDateTime            DTM     `hl7:"8,conditional,format=YMDHM,display=Start Date/Time"`
	StartDateTimeOffset      NM      `hl7:"9,conditional,display=Start Date/Time Offset"`
	StartDateTimeOffsetUnits *CNE    `hl7:"10,conditional,display=Start Date/Time Offset Units"`
	Duration                 NM      `hl7:"11,display=Duration"`
	DurationUnits            *CNE    `hl7:"12,display=Duration Units"`
	AllowSubstitutionCode    *CWE    `hl7:"13,conditional,table=0279,display=Allow Substitution Code"`
	FillerStatusCode         *CWE    `hl7:"14,conditional,table=0278,display=Filler Status Code"`
}

Appointment Information - General Resource

The AIG segment contains information about various kinds of resources (other than those with specifically defined segments in this chapter) that can be scheduled. Resources included in a transaction using this segment are assumed to be controlled by a schedule on a schedule filler application. Resources not controlled by a schedule are not identified on a schedule request using this segment. Resources described by this segment are general kinds of resources, such as equipment, that are identified with a simple identification code.

type AIL

type AIL struct {
	HL7                      HL7Name `hl7:",name=AIL,type=s"`
	SetID                    SI      `hl7:"1,seq,required,len=4,display=Set Id - Ail"`
	SegmentActionCode        ID      `hl7:"2,conditional,len=1,table=0206,display=Segment Action Code"`
	LocationResourceID       []PL    `hl7:"3,conditional,display=Location Resource Id"`
	LocationType             *CWE    `hl7:"4,conditional,table=0305,display=Location Type - Ail"`
	LocationGroup            *CWE    `hl7:"5,display=Location Group"`
	StartDateTime            DTM     `hl7:"6,conditional,format=YMDHM,display=Start Date/Time"`
	StartDateTimeOffset      NM      `hl7:"7,conditional,display=Start Date/Time Offset"`
	StartDateTimeOffsetUnits *CNE    `hl7:"8,conditional,display=Start Date/Time Offset Units"`
	Duration                 NM      `hl7:"9,display=Duration"`
	DurationUnits            *CNE    `hl7:"10,display=Duration Units"`
	AllowSubstitutionCode    *CWE    `hl7:"11,conditional,table=0279,display=Allow Substitution Code"`
	FillerStatusCode         *CWE    `hl7:"12,conditional,table=0278,display=Filler Status Code"`
}

Appointment Information - Location Resource

The AIL segment contains information about location resources (meeting rooms, operating rooms, examination rooms, or other locations) that can be scheduled. Resources included in a transaction using this segment are assumed to be controlled by a schedule on a schedule filler application. Resources not controlled by a schedule are not identified on a schedule request using this segment. Location resources are identified with this specific segment because of the specific encoding of locations used by the HL7 specification.

type AIP

type AIP struct {
	HL7                      HL7Name `hl7:",name=AIP,type=s"`
	SetID                    SI      `hl7:"1,seq,required,len=4,display=Set Id - Aip"`
	SegmentActionCode        ID      `hl7:"2,conditional,len=1,table=0206,display=Segment Action Code"`
	PersonnelResourceID      []XCN   `hl7:"3,conditional,display=Personnel Resource Id"`
	ResourceType             *CWE    `hl7:"4,conditional,table=0182,display=Resource Type"`
	ResourceGroup            *CWE    `hl7:"5,display=Resource Group"`
	StartDateTime            DTM     `hl7:"6,conditional,format=YMDHM,display=Start Date/Time"`
	StartDateTimeOffset      NM      `hl7:"7,conditional,display=Start Date/Time Offset"`
	StartDateTimeOffsetUnits *CNE    `hl7:"8,conditional,display=Start Date/Time Offset Units"`
	Duration                 NM      `hl7:"9,display=Duration"`
	DurationUnits            *CNE    `hl7:"10,display=Duration Units"`
	AllowSubstitutionCode    *CWE    `hl7:"11,conditional,table=0279,display=Allow Substitution Code"`
	FillerStatusCode         *CWE    `hl7:"12,conditional,table=0278,display=Filler Status Code"`
}

Appointment Information - Personnel Resource

The AIP segment contains information about the personnel types that can be scheduled. Personnel included in a transaction using this segment are assumed to be controlled by a schedule on a schedule filler application. Personnel not controlled by a schedule are not identified on a schedule request using this segment. The kinds of personnel described on this segment include any healthcare provider in the institution controlled by a schedule (for example: technicians, physicians, nurses, surgeons, anesthesiologists, or CRNAs).

type AIS

type AIS struct {
	HL7                                  HL7Name `hl7:",name=AIS,type=s"`
	SetID                                SI      `hl7:"1,seq,required,len=4,display=Set Id - Ais"`
	SegmentActionCode                    ID      `hl7:"2,conditional,len=1,table=0206,display=Segment Action Code"`
	UniversalServiceIdentifier           CWE     `hl7:"3,required,display=Universal Service Identifier"`
	StartDateTime                        DTM     `hl7:"4,conditional,format=YMDHM,display=Start Date/Time"`
	StartDateTimeOffset                  NM      `hl7:"5,conditional,display=Start Date/Time Offset"`
	StartDateTimeOffsetUnits             *CNE    `hl7:"6,conditional,display=Start Date/Time Offset Units"`
	Duration                             NM      `hl7:"7,display=Duration"`
	DurationUnits                        *CNE    `hl7:"8,display=Duration Units"`
	AllowSubstitutionCode                *CWE    `hl7:"9,conditional,table=0279,display=Allow Substitution Code"`
	FillerStatusCode                     *CWE    `hl7:"10,conditional,table=0278,display=Filler Status Code"`
	PlacerSupplementalServiceInformation []CWE   `hl7:"11,table=0411,display=Placer Supplemental Service Information"`
	FillerSupplementalServiceInformation []CWE   `hl7:"12,table=0411,display=Filler Supplemental Service Information"`
}

Appointment Information

The AIS segment contains information about various kinds of services that can be scheduled. Services included in a transaction using this segment are assumed to be controlled by a schedule on a schedule filler application. Services not controlled by a schedule are not identified on a schedule request using this segment.

type AL1

type AL1 struct {
	HL7                             HL7Name `hl7:",name=AL1,type=s"`
	SetID                           SI      `hl7:"1,seq,required,len=4,display=Set Id - Al1"`
	AllergenTypeCode                *CWE    `hl7:"2,table=0127,display=Allergen Type Code"`
	AllergenCodeMnemonicDescription CWE     `hl7:"3,required,display=Allergen Code/Mnemonic/Description"`
	AllergySeverityCode             *CWE    `hl7:"4,table=0128,display=Allergy Severity Code"`
	AllergyReactionCode             []ST    `hl7:"5,display=Allergy Reaction Code"`
	IdentificationDate              ST      `hl7:"6,display=Identification Date"`
}

Patient Allergy Information

The AL1 segment contains patient allergy information of various types. Most of this information will be derived from user-defined tables. Each AL1 segment describes a single patient allergy.

type APR

type APR struct {
	HL7                       HL7Name `hl7:",name=APR,type=s"`
	TimeSelectionCriteria     []SCV   `hl7:"1,display=Time Selection Criteria"`
	ResourceSelectionCriteria []SCV   `hl7:"2,display=Resource Selection Criteria"`
	LocationSelectionCriteria []SCV   `hl7:"3,display=Location Selection Criteria"`
	SlotSpacingCriteria       NM      `hl7:"4,display=Slot Spacing Criteria"`
	FillerOverrideCriteria    []SCV   `hl7:"5,display=Filler Override Criteria"`
}

Appointment Preferences

The APR segment contains parameters and preference specifications used for requesting appointments in the SRM message. It allows placer applications to provide coded parameters and preference indicators to the filler application, to help determine when a requested appointment should be scheduled. An APR segment can be provided in conjunction with either the ARQ segment or any of the service and resource segments (AIG, AIS, AIP, and AIL). If an APR segment appears in conjunction with an ARQ segment, its parameters and preference indicators pertain to the schedule request as a whole. If the APR segment appears with any of the service and resource segments, then its parameters and preferences apply only to the immediately preceding service or resource.

type ARQ

type ARQ struct {
	HL7                         HL7Name `hl7:",name=ARQ,type=s"`
	PlacerAppointmentID         EI      `hl7:"1,required,display=Placer Appointment Id"`
	FillerAppointmentID         *EI     `hl7:"2,conditional,display=Filler Appointment Id"`
	OccurrenceNumber            NM      `hl7:"3,conditional,display=Occurrence Number"`
	PlacerGroupNumber           *EI     `hl7:"4,display=Placer Group Number"`
	ScheduleID                  *CWE    `hl7:"5,display=Schedule Id"`
	RequestEventReason          *CWE    `hl7:"6,display=Request Event Reason"`
	AppointmentReason           *CWE    `hl7:"7,table=0276,display=Appointment Reason"`
	AppointmentType             *CWE    `hl7:"8,table=0277,display=Appointment Type"`
	AppointmentDuration         NM      `hl7:"9,display=Appointment Duration"`
	AppointmentDurationUnits    *CNE    `hl7:"10,display=Appointment Duration Units"`
	RequestedStartDateTimeRange []DR    `hl7:"11,display=Requested Start Date/Time Range"`
	Priority                    ST      `hl7:"12,display=Priority-arq"`
	RepeatingInterval           *RI     `hl7:"13,display=Repeating Interval"`
	RepeatingIntervalDuration   ST      `hl7:"14,display=Repeating Interval Duration"`
	PlacerContactPerson         []XCN   `hl7:"15,required,display=Placer Contact Person"`
	PlacerContactPhoneNumber    []XTN   `hl7:"16,display=Placer Contact Phone Number"`
	PlacerContactAddress        []XAD   `hl7:"17,display=Placer Contact Address"`
	PlacerContactLocation       *PL     `hl7:"18,display=Placer Contact Location"`
	EnteredByPerson             []XCN   `hl7:"19,required,display=Entered By Person"`
	EnteredByPhoneNumber        []XTN   `hl7:"20,display=Entered By Phone Number"`
	EnteredByLocation           *PL     `hl7:"21,display=Entered By Location"`
	ParentPlacerAppointmentID   *EI     `hl7:"22,display=Parent Placer Appointment Id"`
	ParentFillerAppointmentID   *EI     `hl7:"23,display=Parent Filler Appointment Id"`
	PlacerOrderNumber           []EI    `hl7:"24,conditional,display=Placer Order Number"`
	FillerOrderNumber           []EI    `hl7:"25,conditional,display=Filler Order Number"`
}

Appointment Request

The ARQ segment defines a request for the booking of an appointment. It is used in transactions sent from an application acting in the role of a placer.

type ARV

type ARV struct {
	HL7                                  HL7Name `hl7:",name=ARV,type=s"`
	SetID                                SI      `hl7:"1,seq,len=4,display=Set Id"`
	AccessRestrictionActionCode          CNE     `hl7:"2,required,table=0206,display=Access Restriction Action Code"`
	AccessRestrictionValue               CWE     `hl7:"3,required,table=0717,display=Access Restriction Value"`
	AccessRestrictionReason              []CWE   `hl7:"4,table=0719,display=Access Restriction Reason"`
	SpecialAccessRestrictionInstructions []ST    `hl7:"5,display=Special Access Restriction Instructions"`
	AccessRestrictionDateRange           *DR     `hl7:"6,display=Access Restriction Date Range"`
}

Access Restriction

The ARV segment is used to communicate the requested/required type of access restrictions from system to system, at both the person/patient and the encounter/visit level.

Examples: A person/patient may have the right to object to any or all of his/her information to be disclosed. In addition, the patient may request that protected information not be disclosed to family members or friends who may be involved in their care or for notification purposes.

A realm or organization may have certain privacy policies.

A patient may have the right to opt out of being included on facility directories. In an international context, a physician may be culturally obligated to protect the patient's privacy.

Any "opt-in" or "opt-out" restrictions are communicated in ARV-3 - Access Restriction Value. This segment replaces PD1-12 and PV2-22, which have been deprecated in V2.6. The ARV segment is optional and is sent after the PID/PD1 segments to describe access restrictions associated with the person/patient. The ARV segment is optional and is sent after the PV1/PV2 segments to describe access restrictions associated with that specific encounter.

Usage Notes:

The individual system security may want to utilize the Access Restriction Value along with the Access Restriction Reason (and/or with the Confidentiality Code from another segment, e.g., OM1-30 or other data) in order to implement the appropriate type of protection for the person, patient, visit and/or visit data. Each system has the flexibility to incorporate/map the access values into their security system appropriately; the actual implementation for access to protected data is determined by the individual system. The Access Restriction Values supported by an enterprise/system would be defined and determined by that organization.

It is expected that these access restriction values would be utilized in combination with other system security information (e.g., patient locations, user department, caregiver-patient relationships, other access restriction parameters) to determine user access.

System implementers should carefully control access to the restriction codes and values, as they themselves hold sensitive information.

type AUI

type AUI struct {
	HL7                 HL7Name `hl7:",name=AUI,len=0,type=d"`
	AuthorizationNumber ST      `hl7:"1,display=Identifier assigned to the authorization."`
	Date                DT      `hl7:"2,format=YMD,display=Date of authorization."`
	Source              ST      `hl7:"3,display=Source of authorization."`
}

Authorization Information

This data type specifies the identifier or code for an insurance authorization instance and its associated detail.

Note: Replaces the CM data type used in sections 6.5.6.14 IN1-14, as of v2.5.

type AUT

type AUT struct {
	HL7                          HL7Name `hl7:",name=AUT,type=s"`
	AuthorizingPayorPlanID       *CWE    `hl7:"1,table=0072,display=Authorizing Payor- Plan Id"`
	AuthorizingPayorCompanyID    CWE     `hl7:"2,required,table=0285,display=Authorizing Payor- Company Id"`
	AuthorizingPayorCompanyName  ST      `hl7:"3,display=Authorizing Payor- Company Name"`
	AuthorizationEffectiveDate   DTM     `hl7:"4,format=YMDHM,display=Authorization Effective Date"`
	AuthorizationExpirationDate  DTM     `hl7:"5,format=YMDHM,display=Authorization Expiration Date"`
	AuthorizationIdentifier      *EI     `hl7:"6,conditional,display=Authorization Identifier"`
	ReimbursementLimit           *CP     `hl7:"7,display=Reimbursement Limit"`
	RequestedNumberOfTreatments  *CQ     `hl7:"8,display=Requested Number Of Treatments"`
	AuthorizedNumberOfTreatments *CQ     `hl7:"9,display=Authorized Number Of Treatments"`
	ProcessDate                  DTM     `hl7:"10,format=YMDHM,display=Process Date"`
	RequestedDisciplineS         []CWE   `hl7:"11,display=Requested Discipline(s)"`
	AuthorizedDisciplineS        []CWE   `hl7:"12,display=Authorized Discipline(s)"`
}

Authorization Information

This segment represents an authorization or a pre-authorization for a referred procedure or requested service by the payor covering the patient's health care.

type BAR_P01

type BAR_P01 struct {
	HL7   HL7Name         `hl7:",name=BAR_P01,type=t"`
	MSH   *MSH            `hl7:"1,required,display=Message Header"`
	SFT   []SFT           `hl7:"2,display=Software Segment"`
	UAC   *UAC            `hl7:"3,display=User Authentication Credential Segment"`
	EVN   *EVN            `hl7:"4,required,display=Event Type"`
	PID   *PID            `hl7:"5,required,display=Patient Identification"`
	PD1   *PD1            `hl7:"6,display=Patient Additional Demographic"`
	ROL   []ROL           `hl7:"7,display=Role"`
	Visit []BAR_P01_Visit `hl7:",required,display=Visit"`
}

Add patient accounts

Data are sent from some application (usually a Registration or an ADT system, for example) to the patient accounting or financial system to establish an account for a patient’s billing/accounts receivable record. Many of the segments associated with this event are optional. This optionality allows those systems needing these fields to set up transactions that fulfill their requirements and yet satisfy the HL7 requirements.

When an account’s start and end dates span a period greater than any particular visit, the P01 (add account) event should be used to transmit the opening of an account. The A01 (admit/visit notification) event can notify systems of the creation of an account as well as notify them of a patient’s arrival in the healthcare facility. In order to create a new account without notifying systems of a patient’s arrival, use the P01 trigger event.

From Standard Version 2.3 onward, the P01 event should only be used to add a new account that did not exist before, not to update an existing account. The new P05 (update account) event should be used to update an existing account. The new P06 (end account) event should be used to close an account. With the P01 event, EVN-2 - Recorded Date/Time should contain the account start date.

type BAR_P01_Insurance

type BAR_P01_Insurance struct {
	HL7 HL7Name `hl7:",name=BAR_P01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"20,required,display=Insurance"`
	IN2 *IN2    `hl7:"21,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"22,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"23,display=Role"`
}

Insurance

type BAR_P01_Procedure

type BAR_P01_Procedure struct {
	HL7 HL7Name `hl7:",name=BAR_P01_Procedure,type=tg"`
	PR1 *PR1    `hl7:"16,required,display=Procedures"`
	ROL []ROL   `hl7:"17,display=Role"`
}

Procedure

type BAR_P01_Visit

type BAR_P01_Visit struct {
	HL7       HL7Name             `hl7:",name=BAR_P01_Visit,type=tg"`
	PV1       *PV1                `hl7:"8,display=Patient Visit"`
	PV2       *PV2                `hl7:"9,display=Patient Visit - Additional Information"`
	ROL       []ROL               `hl7:"10,display=Role"`
	DB1       []DB1               `hl7:"11,display=Disability"`
	OBX       []OBX               `hl7:"12,display=Observation/result"`
	AL1       []AL1               `hl7:"13,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"14,display=Diagnosis"`
	DRG       *DRG                `hl7:"15,display=Diagnosis Related Group"`
	Procedure []BAR_P01_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"18,display=Guarantor"`
	NK1       []NK1               `hl7:"19,display=Next Of Kin / Associated Parties"`
	Insurance []BAR_P01_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"24,display=Accident"`
	UB1       *UB1                `hl7:"25,display=Ub82"`
	UB2       *UB2                `hl7:"26,display=Uniform Billing Data"`
}

Visit

type BAR_P02

type BAR_P02 struct {
	HL7     HL7Name           `hl7:",name=BAR_P02,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EVN     *EVN              `hl7:"4,required,display=Event Type"`
	Patient []BAR_P02_Patient `hl7:",required,display=Patient"`
}

Purge patient accounts

Generally, the elimination of all billing/accounts receivable records will be an internal function controlled, for example, by the patient accounting or financial system. However, on occasion, there will be a need to correct an account, or a series of accounts, that may require that a notice of account deletion be sent from another sub-system and processed, for example, by the patient accounting or financial system. Although a series of accounts may be purged within this one event, we recommend that only one PID segment be sent per event.

type BAR_P02_Patient

type BAR_P02_Patient struct {
	HL7 HL7Name `hl7:",name=BAR_P02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	DB1 []DB1   `hl7:"8,display=Disability"`
}

Patient

type BAR_P05

type BAR_P05 struct {
	HL7   HL7Name         `hl7:",name=BAR_P05,type=t"`
	MSH   *MSH            `hl7:"1,required,display=Message Header"`
	SFT   []SFT           `hl7:"2,display=Software Segment"`
	UAC   *UAC            `hl7:"3,display=User Authentication Credential Segment"`
	EVN   *EVN            `hl7:"4,required,display=Event Type"`
	PID   *PID            `hl7:"5,required,display=Patient Identification"`
	PD1   *PD1            `hl7:"6,display=Patient Additional Demographic"`
	ROL   []ROL           `hl7:"7,display=Role"`
	Visit []BAR_P05_Visit `hl7:",required,display=Visit"`
}

Update account

The P05 event is sent when an existing account is being updated. From version 2.3 onward, the P01 (add account) event should no longer be used for updating an existing account, but only for creating a new account. With the addition of P10 (transmit ambulatory payment classification [APC] groups) in version 2.4, it is expected that the P05 (update account) will be used to send inpatient coding information and the P10 (transmit ambulatory payment classification [APC] groups) will be used to send outpatient coding information.

type BAR_P05_Insurance

type BAR_P05_Insurance struct {
	HL7 HL7Name `hl7:",name=BAR_P05_Insurance,type=tg"`
	IN1 *IN1    `hl7:"20,required,display=Insurance"`
	IN2 *IN2    `hl7:"21,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"22,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"23,display=Role"`
}

Insurance

type BAR_P05_Procedure

type BAR_P05_Procedure struct {
	HL7 HL7Name `hl7:",name=BAR_P05_Procedure,type=tg"`
	PR1 *PR1    `hl7:"16,required,display=Procedures"`
	ROL []ROL   `hl7:"17,display=Role"`
}

Procedure

type BAR_P05_Visit

type BAR_P05_Visit struct {
	HL7       HL7Name             `hl7:",name=BAR_P05_Visit,type=tg"`
	PV1       *PV1                `hl7:"8,display=Patient Visit"`
	PV2       *PV2                `hl7:"9,display=Patient Visit - Additional Information"`
	ROL       []ROL               `hl7:"10,display=Role"`
	DB1       []DB1               `hl7:"11,display=Disability"`
	OBX       []OBX               `hl7:"12,display=Observation/result"`
	AL1       []AL1               `hl7:"13,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"14,display=Diagnosis"`
	DRG       *DRG                `hl7:"15,display=Diagnosis Related Group"`
	Procedure []BAR_P05_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"18,display=Guarantor"`
	NK1       []NK1               `hl7:"19,display=Next Of Kin / Associated Parties"`
	Insurance []BAR_P05_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"24,display=Accident"`
	UB1       *UB1                `hl7:"25,display=Ub82"`
	UB2       *UB2                `hl7:"26,display=Uniform Billing Data"`
	ABS       *ABS                `hl7:"27,display=Abstract"`
	BLC       []BLC               `hl7:"28,display=Blood Code"`
	RMI       *RMI                `hl7:"29,display=Risk Management Incident"`
}

Visit

type BAR_P06

type BAR_P06 struct {
	HL7     HL7Name           `hl7:",name=BAR_P06,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EVN     *EVN              `hl7:"4,required,display=Event Type"`
	Patient []BAR_P06_Patient `hl7:",required,display=Patient"`
}

End account

The P06 event is a notification that the account is no longer open, that is, no new charges can accrue to this account. This notification is not related to whether or not the account is paid in full. EVN-2 - Recorded Date/Time must contain the account end date.

type BAR_P06_Patient

type BAR_P06_Patient struct {
	HL7 HL7Name `hl7:",name=BAR_P06_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
}

Patient

type BAR_P10

type BAR_P10 struct {
	HL7       HL7Name             `hl7:",name=BAR_P10,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PV1       *PV1                `hl7:"6,required,display=Patient Visit"`
	DG1       []DG1               `hl7:"7,display=Diagnosis"`
	GP1       *GP1                `hl7:"8,required,display=Grouping/reimbursement - Visit"`
	Procedure []BAR_P10_Procedure `hl7:",display=Procedure"`
}

Transmit Ambulatory Payment Classification(APC)

The P10 event is used to communicate Ambulatory Payment Classification (APC) grouping. The grouping can be estimated or actual, based on the APC status indictor in GP1-1. This information is mandated in the USA by the Centers for Medicare and Medicaid Services (CMS) for reimbursement of outpatient services. The PID and PV1 segments are included for identification purposes onl

type BAR_P10_Procedure

type BAR_P10_Procedure struct {
	HL7 HL7Name `hl7:",name=BAR_P10_Procedure,type=tg"`
	PR1 *PR1    `hl7:"9,required,display=Procedures"`
	GP2 *GP2    `hl7:"10,display=Grouping/reimbursement - Procedure Line Item"`
}

Procedure

type BAR_P12

type BAR_P12 struct {
	HL7       HL7Name             `hl7:",name=BAR_P12,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	EVN       *EVN                `hl7:"4,required,display=Event Type"`
	PID       *PID                `hl7:"5,required,display=Patient Identification"`
	PV1       *PV1                `hl7:"6,required,display=Patient Visit"`
	DG1       []DG1               `hl7:"7,display=Diagnosis"`
	DRG       *DRG                `hl7:"8,display=Diagnosis Related Group"`
	Procedure []BAR_P12_Procedure `hl7:",display=Procedure"`
	OBX       *OBX                `hl7:"11,display=Observation/result"`
}

Update Diagnosis/Procedure

The P12 event is used to communicate diagnosis and/or procedures in update mode. The newly created fields in DG1 and PR1, i.e., identifiers and action codes, must be populated to indicate which change should be applied. When other patient or visit related fields change, use the A08 (update patient information) event.

type BAR_P12_Procedure

type BAR_P12_Procedure struct {
	HL7 HL7Name `hl7:",name=BAR_P12_Procedure,type=tg"`
	PR1 *PR1    `hl7:"9,required,display=Procedures"`
	ROL []ROL   `hl7:"10,display=Role"`
}

Procedure

type BHS

type BHS struct {
	HL7                          HL7Name `hl7:",name=BHS,type=s"`
	BatchFieldSeparator          ST      `hl7:"1,required,len=1,display=Batch Field Separator"`
	BatchEncodingCharacters      ST      `hl7:"2,required,len=5,display=Batch Encoding Characters"`
	BatchSendingApplication      *HD     `hl7:"3,display=Batch Sending Application"`
	BatchSendingFacility         *HD     `hl7:"4,display=Batch Sending Facility"`
	BatchReceivingApplication    *HD     `hl7:"5,display=Batch Receiving Application"`
	BatchReceivingFacility       *HD     `hl7:"6,display=Batch Receiving Facility"`
	BatchCreationDateTime        DTM     `hl7:"7,format=YMDHM,display=Batch Creation Date/Time"`
	BatchSecurity                ST      `hl7:"8,display=Batch Security"`
	BatchNameIDType              ST      `hl7:"9,display=Batch Name/Id/Type"`
	BatchComment                 ST      `hl7:"10,display=Batch Comment"`
	BatchControlID               ST      `hl7:"11,display=Batch Control Id"`
	ReferenceBatchControlID      ST      `hl7:"12,display=Reference Batch Control Id"`
	BatchSendingNetworkAddress   *HD     `hl7:"13,display=Batch Sending Network Address"`
	BatchReceivingNetworkAddress *HD     `hl7:"14,display=Batch Receiving Network Address"`
}

Batch Header

The BHS segment defines the start of a batch.

type BLC

type BLC struct {
	HL7              HL7Name `hl7:",name=BLC,type=s"`
	BloodProductCode *CWE    `hl7:"1,table=0426,display=Blood Product Code"`
	BloodAmount      *CQ     `hl7:"2,display=Blood Amount"`
}

Blood Code

The BLC segment contains data necessary to communicate patient abstract blood information used for billing and reimbursement purposes. This segment is repeating to report blood product codes and the associated blood units.

type BLG

type BLG struct {
	HL7              HL7Name `hl7:",name=BLG,type=s"`
	WhenToCharge     *CCD    `hl7:"1,display=When To Charge"`
	ChargeType       ID      `hl7:"2,len=2,table=0122,display=Charge Type"`
	AccountID        *CX     `hl7:"3,display=Account Id"`
	ChargeTypeReason *CWE    `hl7:"4,table=0475,display=Charge Type Reason"`
}

Billing

The BLG segment is used to provide billing information, on the ordered service, to the filling application.

type BPO

type BPO struct {
	HL7                            HL7Name `hl7:",name=BPO,type=s"`
	SetID                          SI      `hl7:"1,seq,required,len=4,display=Set Id - Bpo"`
	BpUniversalServiceIdentifier   CWE     `hl7:"2,required,table=9999,display=Bp Universal Service Identifier"`
	BpProcessingRequirements       []CWE   `hl7:"3,table=0508,display=Bp  Processing Requirements"`
	BpQuantity                     NM      `hl7:"4,required,display=Bp Quantity"`
	BpAmount                       NM      `hl7:"5,display=Bp Amount"`
	BpUnits                        *CWE    `hl7:"6,table=9999,display=Bp Units"`
	BpIntendedUseDateTime          DTM     `hl7:"7,format=YMDHM,display=Bp Intended Use Date/Time"`
	BpIntendedDispenseFromLocation *PL     `hl7:"8,display=Bp Intended Dispense From Location"`
	BpIntendedDispenseFromAddress  *XAD    `hl7:"9,display=Bp Intended Dispense From Address"`
	BpRequestedDispenseDateTime    DTM     `hl7:"10,format=YMDHM,display=Bp Requested Dispense Date/Time"`
	BpRequestedDispenseToLocation  *PL     `hl7:"11,display=Bp Requested Dispense To Location"`
	BpRequestedDispenseToAddress   *XAD    `hl7:"12,display=Bp Requested Dispense To Address"`
	BpIndicationForUse             []CWE   `hl7:"13,table=0509,display=Bp Indication For Use"`
	BpInformedConsentIndicator     ID      `hl7:"14,len=1,table=0136,display=Bp Informed Consent Indicator"`
}

Blood Product Order

Blood product order messages require additional information that is not available in other standard HL7 order messages. Blood product order messages need to contain accompanying details regarding the blood product component, such as special processing requirements (e.g., irradiation and leukoreduction) and the amount of the blood product to be administered.

type BPS_O29

type BPS_O29 struct {
	HL7     HL7Name          `hl7:",name=BPS_O29,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *BPS_O29_Patient `hl7:",display=Patient"`
	Order   []BPS_O29_Order  `hl7:",required,display=Order"`
}

Blood product dispense status

In the pre-transfusion processing of blood products, it is necessary for the transfusion service and the placer system to communicate information that is not included in the current HL7 order/observation model. Examples of pre-transfusion processing include performing a crossmatch test to ensure compatibility with the patient, or irradiation of the blood product due to a special transfusion requirement for the patient. The blood product dispense status messages need to contain additional information regarding the blood products requested, such as the Donation ID, product code, blood type, expiration date/time and current status of the blood product.

In the processing of commercial blood products, such as Rh Immune Globulin, Factor Concentrate, or Albumin Products, the status messages need to contain additional information, such as the lot number and manufacturer, expiration date and status of the commercial product.

Blood product dispense status messages use the BPS and BRP messages as described below.

type BPS_O29_Order

type BPS_O29_Order struct {
	HL7     HL7Name           `hl7:",name=BPS_O29_Order,type=tg"`
	ORC     *ORC              `hl7:"11,required,display=Common Order"`
	Timing  []BPS_O29_Timing  `hl7:",display=Timing"`
	BPO     *BPO              `hl7:"14,required,display=Blood Product Order"`
	NTE     []NTE             `hl7:"15,display=Notes And Comments"`
	Product []BPS_O29_Product `hl7:",display=Product"`
}

Order

type BPS_O29_Patient

type BPS_O29_Patient struct {
	HL7          HL7Name               `hl7:",name=BPS_O29_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	Patientvisit *BPS_O29_Patientvisit `hl7:",display=Patient_visit"`
}

Patient

type BPS_O29_Patientvisit

type BPS_O29_Patientvisit struct {
	HL7 HL7Name `hl7:",name=BPS_O29_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type BPS_O29_Product

type BPS_O29_Product struct {
	HL7 HL7Name `hl7:",name=BPS_O29_Product,type=tg"`
	BPX *BPX    `hl7:"16,required,display=Blood Product Dispense Status"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Product

type BPS_O29_Timing

type BPS_O29_Timing struct {
	HL7 HL7Name `hl7:",name=BPS_O29_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"12,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"13,display=Timing/quantity Relationship"`
}

Timing

type BPX

type BPX struct {
	HL7                         HL7Name `hl7:",name=BPX,type=s"`
	SetID                       SI      `hl7:"1,seq,required,len=4,display=Set Id - Bpx"`
	BpDispenseStatus            CWE     `hl7:"2,required,table=0510,display=Bp Dispense Status"`
	BpStatus                    ID      `hl7:"3,required,len=1,table=0511,display=Bp Status"`
	BpDateTimeOfStatus          DTM     `hl7:"4,required,format=YMDHM,display=Bp Date/Time Of Status"`
	BcDonationID                *EI     `hl7:"5,conditional,display=Bc Donation Id"`
	BcComponent                 *CNE    `hl7:"6,conditional,table=9999,display=Bc Component"`
	BcDonationTypeIntendedUse   *CNE    `hl7:"7,table=9999,display=Bc Donation Type / Intended Use"`
	CpCommercialProduct         *CWE    `hl7:"8,conditional,table=0512,display=Cp Commercial Product"`
	CpManufacturer              *XON    `hl7:"9,conditional,display=Cp Manufacturer"`
	CpLotNumber                 *EI     `hl7:"10,conditional,display=Cp Lot Number"`
	BpBloodGroup                *CNE    `hl7:"11,table=9999,display=Bp Blood Group"`
	BcSpecialTesting            []CNE   `hl7:"12,table=9999,display=Bc Special Testing"`
	BpExpirationDateTime        DTM     `hl7:"13,format=YMDHM,display=Bp Expiration Date/Time"`
	BpQuantity                  NM      `hl7:"14,required,display=Bp Quantity"`
	BpAmount                    NM      `hl7:"15,display=Bp Amount"`
	BpUnits                     *CWE    `hl7:"16,table=9999,display=Bp Units"`
	BpUniqueID                  *EI     `hl7:"17,display=Bp Unique Id"`
	BpActualDispensedToLocation *PL     `hl7:"18,display=Bp Actual Dispensed To Location"`
	BpActualDispensedToAddress  *XAD    `hl7:"19,display=Bp Actual Dispensed To Address"`
	BpDispensedToReceiver       *XCN    `hl7:"20,display=Bp Dispensed To Receiver"`
	BpDispensingIndividual      *XCN    `hl7:"21,display=Bp Dispensing Individual"`
}

Blood Product Dispense Status

In the processing of blood products, it is necessary for the transfusion service and the placer system to communicate information. The status messages need to contain additional information regarding the blood products requested, such as the unique donation ID, product code, blood type, expiration date/time of the blood product, and current status of the product. This segment is similar to an OBX segment, but contains additional attributes.

The BP prefix in the element name indicates that the attribute pertains to any type of blood product. A blood product is defined as any type of blood component or commercially prepared blood product that is prepared and dispensed from the transfusion service.

The BC prefix in the element name indicates that the attribute pertains only to blood components. A blood component is defined as the whole or any part of a blood donation. For example, from one whole blood donation, the unit of whole blood can be fractionated into red blood cells, plasma and platelets with each component contained in separate bags. These types of blood products are assigned a unique donation identification number as well as a product code that indicates the type of component contained in the bag.

The CP prefix in the element name indicates that the attribute pertains only to Commercial Products. A commercial product is defined as a commercially manufactured product, such as blood derivatives ( Rh Immune Globulin, Factor VIII Concentrate or Blood Recipient Sets or Filters). These types of products are tracked by manufacturer and lot number and are not necessarily assigned a unique donation number.

type BRP_O30

type BRP_O30 struct {
	HL7      HL7Name           `hl7:",name=BRP_O30,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *BRP_O30_Response `hl7:",display=Response"`
}

Blood product dispense status acknowledgment

type BRP_O30_Order

type BRP_O30_Order struct {
	HL7    HL7Name          `hl7:",name=BRP_O30_Order,type=tg"`
	ORC    *ORC             `hl7:"8,required,display=Common Order"`
	Timing []BRP_O30_Timing `hl7:",display=Timing"`
	BPO    *BPO             `hl7:"11,display=Blood Product Order"`
	BPX    []BPX            `hl7:"12,display=Blood Product Dispense Status"`
}

Order

type BRP_O30_Patient

type BRP_O30_Patient struct {
	HL7   HL7Name         `hl7:",name=BRP_O30_Patient,type=tg"`
	PID   *PID            `hl7:"7,required,display=Patient Identification"`
	Order []BRP_O30_Order `hl7:",display=Order"`
}

Patient

type BRP_O30_Response

type BRP_O30_Response struct {
	HL7     HL7Name          `hl7:",name=BRP_O30_Response,type=tg"`
	Patient *BRP_O30_Patient `hl7:",display=Patient"`
}

Response

type BRP_O30_Timing

type BRP_O30_Timing struct {
	HL7 HL7Name `hl7:",name=BRP_O30_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"9,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"10,display=Timing/quantity Relationship"`
}

Timing

type BRT_O32

type BRT_O32 struct {
	HL7      HL7Name           `hl7:",name=BRT_O32,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *BRT_O32_Response `hl7:",display=Response"`
}

Blood product transfusion/disposition acknowledgment

type BRT_O32_Order

type BRT_O32_Order struct {
	HL7    HL7Name          `hl7:",name=BRT_O32_Order,type=tg"`
	ORC    *ORC             `hl7:"8,required,display=Common Order"`
	Timing []BRT_O32_Timing `hl7:",display=Timing"`
	BPO    *BPO             `hl7:"11,display=Blood Product Order"`
	BTX    []BTX            `hl7:"12,display=Blood Product Transfusion/disposition"`
}

Order

type BRT_O32_Response

type BRT_O32_Response struct {
	HL7   HL7Name         `hl7:",name=BRT_O32_Response,type=tg"`
	PID   *PID            `hl7:"7,display=Patient Identification"`
	Order []BRT_O32_Order `hl7:",display=Order"`
}

Response

type BRT_O32_Timing

type BRT_O32_Timing struct {
	HL7 HL7Name `hl7:",name=BRT_O32_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"9,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"10,display=Timing/quantity Relationship"`
}

Timing

type BTS

type BTS struct {
	HL7               HL7Name `hl7:",name=BTS,type=s"`
	BatchMessageCount ST      `hl7:"1,display=Batch Message Count"`
	BatchComment      ST      `hl7:"2,display=Batch Comment"`
	BatchTotals       []NM    `hl7:"3,display=Batch Totals"`
}

Batch Trailer

The BTS segment defines the end of a batch.

type BTS_O31

type BTS_O31 struct {
	HL7     HL7Name          `hl7:",name=BTS_O31,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *BTS_O31_Patient `hl7:",display=Patient"`
	Order   []BTS_O31_Order  `hl7:",required,display=Order"`
}

Blood product transfusion/disposition

Blood product transfusion/disposition messages use the BTS and BRT messages as described below.

type BTS_O31_Order

type BTS_O31_Order struct {
	HL7           HL7Name                 `hl7:",name=BTS_O31_Order,type=tg"`
	ORC           *ORC                    `hl7:"11,required,display=Common Order"`
	Timing        []BTS_O31_Timing        `hl7:",display=Timing"`
	BPO           *BPO                    `hl7:"14,required,display=Blood Product Order"`
	NTE           []NTE                   `hl7:"15,display=Notes And Comments"`
	Productstatus []BTS_O31_Productstatus `hl7:",display=Product_status"`
}

Order

type BTS_O31_Patient

type BTS_O31_Patient struct {
	HL7          HL7Name               `hl7:",name=BTS_O31_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	Patientvisit *BTS_O31_Patientvisit `hl7:",display=Patient_visit"`
}

Patient

type BTS_O31_Patientvisit

type BTS_O31_Patientvisit struct {
	HL7 HL7Name `hl7:",name=BTS_O31_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type BTS_O31_Productstatus

type BTS_O31_Productstatus struct {
	HL7 HL7Name `hl7:",name=BTS_O31_Productstatus,type=tg"`
	BTX *BTX    `hl7:"16,required,display=Blood Product Transfusion/disposition"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Productstatus

type BTS_O31_Timing

type BTS_O31_Timing struct {
	HL7 HL7Name `hl7:",name=BTS_O31_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"12,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"13,display=Timing/quantity Relationship"`
}

Timing

type BTX

type BTX struct {
	HL7                                HL7Name `hl7:",name=BTX,type=s"`
	SetID                              SI      `hl7:"1,seq,required,len=4,display=Set Id - Btx"`
	BcDonationID                       *EI     `hl7:"2,conditional,display=Bc Donation Id"`
	BcComponent                        *CNE    `hl7:"3,conditional,table=9999,display=Bc Component"`
	BcBloodGroup                       *CNE    `hl7:"4,conditional,table=9999,display=Bc Blood Group"`
	CpCommercialProduct                *CWE    `hl7:"5,conditional,table=0512,display=Cp Commercial Product"`
	CpManufacturer                     *XON    `hl7:"6,conditional,display=Cp Manufacturer"`
	CpLotNumber                        *EI     `hl7:"7,conditional,display=Cp Lot Number"`
	BpQuantity                         NM      `hl7:"8,required,display=Bp Quantity"`
	BpAmount                           NM      `hl7:"9,display=Bp Amount"`
	BpUnits                            *CWE    `hl7:"10,table=9999,display=Bp Units"`
	BpTransfusionDispositionStatus     CWE     `hl7:"11,required,table=0513,display=Bp Transfusion/Disposition Status"`
	BpMessageStatus                    ID      `hl7:"12,required,len=1,table=0511,display=Bp Message Status"`
	BpDateTimeOfStatus                 DTM     `hl7:"13,required,format=YMDHM,display=Bp Date/Time Of Status"`
	BpTransfusionAdministrator         *XCN    `hl7:"14,display=Bp Transfusion Administrator"`
	BpTransfusionVerifier              *XCN    `hl7:"15,display=Bp Transfusion Verifier"`
	BpTransfusionStartDateTimeOfStatus DTM     `hl7:"16,format=YMDHM,display=Bp Transfusion Start Date/Time Of Status"`
	BpTransfusionEndDateTimeOfStatus   DTM     `hl7:"17,format=YMDHM,display=Bp Transfusion End Date/Time Of Status"`
	BpAdverseReactionType              []CWE   `hl7:"18,table=0514,display=Bp Adverse Reaction Type"`
	BpTransfusionInterruptedReason     *CWE    `hl7:"19,table=0515,display=Bp Transfusion Interrupted Reason"`
}

Blood Product Transfusion/disposition

The BP prefix in the element name indicates that the attribute pertains to any type of blood product. A blood product is defined as any type of blood component or commercially prepared blood product that is prepared and dispensed from the transfusion service.

The BC prefix in the element name indicates that the attribute pertains only to blood components. A blood component is defined as any part or all of a whole blood donation. For example, from one whole blood donation, the unit of whole blood can be fractionated into red blood cells, plasma and platelets with each component contained in separate bags. These types of blood products are always assigned a unique donation identification number as well as a product code that indicates the type of component contained in the bag.

The CP prefix in the element name indicates that the attribute pertains only to Commercial Products. A commercial product is defined as a commercially manufactured product, such as blood derivatives (Rh Immune Globulin, Factor VIII Concentrate or Blood Recipient Sets or Filters). These types of products are tracked by manufacturer and lot number and are not necessarily assigned a unique donation number.

type CCD

type CCD struct {
	HL7             HL7Name `hl7:",name=CCD,len=0,type=d"`
	InvocationEvent ID      `` /* 181-byte string literal not displayed */
	DateTime        DTM     `` /* 208-byte string literal not displayed */
}

Charge Code And Date

Specifies whether a charge action is based on an invocation event or is time-based.

Note: Replaces the CM data type used in section 4.5.2.1 BLG-1, as of v2.5.

type CCF_I22

type CCF_I22 struct {
	HL7 HL7Name `hl7:",name=CCF_I22,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
}

Collaborative Care Fetch / Collaborative Care Information

This event triggers a query message to be sent from one healthcare provider to another healthcare provider, clinical repository or regulatory body regarding a specific patient. The Collaborative Care Fetch message must contain sufficient information for the healthcare provider, clinical repository or regulatory body to be able to identify the specific patient. The response to a Collaborative Care Fetch is a CCI - Collaborative Care Information message. The meaning of the Collaborative Care Query Information message is identical to the meaning of the Collaborative Care Message message.

type CCI_I22

type CCI_I22 struct {
	HL7                HL7Name                      `hl7:",name=CCI_I22,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	MSA                *MSA                         `hl7:"4,required,display=Message Acknowledgment"`
	ERR                []ERR                        `hl7:"5,display=Error"`
	PID                *PID                         `hl7:"6,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"7,display=Patient Additional Demographic"`
	NK1                []NK1                        `hl7:"8,display=Next Of Kin / Associated Parties"`
	Insurance          []CCI_I22_Insurance          `hl7:",display=Insurance"`
	Appointmenthistory []CCI_I22_Appointmenthistory `hl7:",display=Appointment_history"`
	Clinicalhistory    []CCI_I22_Clinicalhistory    `hl7:",display=Clinical_history"`
	Patientvisit       []CCI_I22_Patientvisit       `hl7:",required,display=Patient_visit"`
	Medicationhistory  []CCI_I22_Medicationhistory  `hl7:",display=Medication_history"`
	Problem            []CCI_I22_Problem            `hl7:",display=Problem"`
	Goal               []CCI_I22_Goal               `hl7:",display=Goal"`
	Pathway            []CCI_I22_Pathway            `hl7:",display=Pathway"`
	REL                []REL                        `hl7:"70,display=Clinical Relationship Segment"`
}

Collaborative Care Information

type CCI_I22_Appointmenthistory

type CCI_I22_Appointmenthistory struct {
	HL7       HL7Name             `hl7:",name=CCI_I22_Appointmenthistory,type=tg"`
	SCH       *SCH                `hl7:"12,required,display=Scheduling Activity Information"`
	Resources []CCI_I22_Resources `hl7:",display=Resources"`
}

Appointmenthistory

type CCI_I22_Clinicalhistory

type CCI_I22_Clinicalhistory struct {
	HL7                   HL7Name                         `hl7:",name=CCI_I22_Clinicalhistory,type=tg"`
	ORC                   *ORC                            `hl7:"19,required,display=Common Order"`
	Clinicalhistorydetail []CCI_I22_Clinicalhistorydetail `hl7:",display=Clinical_history_detail"`
	Roleclinicalhistory   []CCI_I22_Roleclinicalhistory   `hl7:",display=Role_clinical_history"`
	CTI                   []CTI                           `hl7:"36,display=Clinical Trial Identification"`
}

Clinicalhistory

type CCI_I22_Clinicalhistorydetail

type CCI_I22_Clinicalhistorydetail struct {
	HL7                   HL7Name                        `hl7:",name=CCI_I22_Clinicalhistorydetail,type=tg"`
	Clinicalhistoryobject *CCI_I22_Clinicalhistoryobject `hl7:",display=Clinical_history_object"`
	OBX                   []OBX                          `hl7:"32,display=Observation/result"`
}

Clinicalhistorydetail

type CCI_I22_Clinicalhistoryobject

type CCI_I22_Clinicalhistoryobject struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Clinicalhistoryobject,type=tg"`
	OBR *OBR    `hl7:"20,display=Observation Request"`
	ODS *ODS    `hl7:"21,display=Dietary Orders- Supplements- And Preferences"`
	PR1 *PR1    `hl7:"22,display=Procedures"`
	RF1 *RF1    `hl7:"23,display=Referral Information"`
	AL1 *AL1    `hl7:"24,display=Patient Allergy Information"`
	IAM *IAM    `hl7:"25,display=Patient Adverse Reaction Information"`
	ACC *ACC    `hl7:"26,display=Accident"`
	RMI *RMI    `hl7:"27,display=Risk Management Incident"`
	DB1 *DB1    `hl7:"28,display=Disability"`
	DG1 *DG1    `hl7:"29,display=Diagnosis"`
	DRG *DRG    `hl7:"30,display=Diagnosis Related Group"`
	PDA *PDA    `hl7:"31,display=Patient Death And Autopsy"`
}

Clinicalhistoryobject

type CCI_I22_Goal

type CCI_I22_Goal struct {
	HL7      HL7Name            `hl7:",name=CCI_I22_Goal,type=tg"`
	GOL      *GOL               `hl7:"58,required,display=Goal Detail"`
	VAR      []VAR              `hl7:"59,display=Variance"`
	Rolegoal []CCI_I22_Rolegoal `hl7:",display=Role_goal"`
	OBX      []OBX              `hl7:"63,display=Observation/result"`
}

Goal

type CCI_I22_Insurance

type CCI_I22_Insurance struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Insurance,type=tg"`
	IN1 *IN1    `hl7:"9,required,display=Insurance"`
	IN2 *IN2    `hl7:"10,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"11,display=Insurance Additional Information- Certification"`
}

Insurance

type CCI_I22_Medicationadministrationdetail

type CCI_I22_Medicationadministrationdetail struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Medicationadministrationdetail,type=tg"`
	RXA []RXA   `hl7:"48,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"49,required,display=Pharmacy/treatment Route"`
	OBX []OBX   `hl7:"50,display=Observation/result"`
}

Medicationadministrationdetail

type CCI_I22_Medicationencodingdetail

type CCI_I22_Medicationencodingdetail struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Medicationencodingdetail,type=tg"`
	RXE *RXE    `hl7:"44,required,display=Pharmacy/treatment Encoded Order"`
	RXR []RXR   `hl7:"45,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"46,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"47,display=Observation/result"`
}

Medicationencodingdetail

type CCI_I22_Medicationhistory

type CCI_I22_Medicationhistory struct {
	HL7                            HL7Name                                  `hl7:",name=CCI_I22_Medicationhistory,type=tg"`
	ORC                            *ORC                                     `hl7:"39,required,display=Common Order"`
	Medicationorderdetail          *CCI_I22_Medicationorderdetail           `hl7:",display=Medication_order_detail"`
	Medicationencodingdetail       *CCI_I22_Medicationencodingdetail        `hl7:",display=Medication_encoding_detail"`
	Medicationadministrationdetail []CCI_I22_Medicationadministrationdetail `hl7:",display=Medication_administration_detail"`
	CTI                            []CTI                                    `hl7:"51,display=Clinical Trial Identification"`
}

Medicationhistory

type CCI_I22_Medicationorderdetail

type CCI_I22_Medicationorderdetail struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Medicationorderdetail,type=tg"`
	RXO *RXO    `hl7:"40,required,display=Pharmacy/treatment Order"`
	RXR []RXR   `hl7:"41,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"42,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"43,display=Observation/result"`
}

Medicationorderdetail

type CCI_I22_Pathway

type CCI_I22_Pathway struct {
	HL7         HL7Name               `hl7:",name=CCI_I22_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"64,required,display=Pathway"`
	VAR         []VAR                 `hl7:"65,display=Variance"`
	Rolepathway []CCI_I22_Rolepathway `hl7:",display=Role_pathway"`
	OBX         []OBX                 `hl7:"69,display=Observation/result"`
}

Pathway

type CCI_I22_Patientvisit

type CCI_I22_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"37,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"38,display=Patient Visit - Additional Information"`
}

Patientvisit

type CCI_I22_Problem

type CCI_I22_Problem struct {
	HL7         HL7Name               `hl7:",name=CCI_I22_Problem,type=tg"`
	PRB         *PRB                  `hl7:"52,required,display=Problem Details"`
	VAR         []VAR                 `hl7:"53,display=Variance"`
	Roleproblem []CCI_I22_Roleproblem `hl7:",display=Role_problem"`
	OBX         []OBX                 `hl7:"57,display=Observation/result"`
}

Problem

type CCI_I22_Resourcedetail

type CCI_I22_Resourcedetail struct {
	HL7            HL7Name                 `hl7:",name=CCI_I22_Resourcedetail,type=tg"`
	Resourceobject *CCI_I22_Resourceobject `hl7:",display=Resource_object"`
	OBX            []OBX                   `hl7:"18,display=Observation/result"`
}

Resourcedetail

type CCI_I22_Resourceobject

type CCI_I22_Resourceobject struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Resourceobject,type=tg"`
	AIS *AIS    `hl7:"14,display=Appointment Information"`
	AIG *AIG    `hl7:"15,display=Appointment Information - General Resource"`
	AIL *AIL    `hl7:"16,display=Appointment Information - Location Resource"`
	AIP *AIP    `hl7:"17,display=Appointment Information - Personnel Resource"`
}

Resourceobject

type CCI_I22_Resources

type CCI_I22_Resources struct {
	HL7            HL7Name                  `hl7:",name=CCI_I22_Resources,type=tg"`
	RGS            *RGS                     `hl7:"13,required,display=Resource Group"`
	Resourcedetail []CCI_I22_Resourcedetail `hl7:",display=Resource_detail"`
}

Resources

type CCI_I22_Roalgoalobject

type CCI_I22_Roalgoalobject struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Roalgoalobject,type=tg"`
	ROL *ROL    `hl7:"60,display=Role"`
	PRD *PRD    `hl7:"61,display=Provider Data"`
}

Roalgoalobject

type CCI_I22_Roleclinicalhistory

type CCI_I22_Roleclinicalhistory struct {
	HL7                       HL7Name                            `hl7:",name=CCI_I22_Roleclinicalhistory,type=tg"`
	Roleclinicalhistoryobject *CCI_I22_Roleclinicalhistoryobject `hl7:",display=Role_clinical_history_object"`
	VAR                       []VAR                              `hl7:"35,display=Variance"`
}

Roleclinicalhistory

type CCI_I22_Roleclinicalhistoryobject

type CCI_I22_Roleclinicalhistoryobject struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Roleclinicalhistoryobject,type=tg"`
	ROL *ROL    `hl7:"33,display=Role"`
	PRD *PRD    `hl7:"34,display=Provider Data"`
}

Roleclinicalhistoryobject

type CCI_I22_Rolegoal

type CCI_I22_Rolegoal struct {
	HL7            HL7Name                 `hl7:",name=CCI_I22_Rolegoal,type=tg"`
	Roalgoalobject *CCI_I22_Roalgoalobject `hl7:",display=Roal_goal_object"`
	VAR            []VAR                   `hl7:"62,display=Variance"`
}

Rolegoal

type CCI_I22_Rolepathway

type CCI_I22_Rolepathway struct {
	HL7               HL7Name                    `hl7:",name=CCI_I22_Rolepathway,type=tg"`
	Rolepathwayobject *CCI_I22_Rolepathwayobject `hl7:",display=Role_pathway_object"`
	VAR               []VAR                      `hl7:"68,display=Variance"`
}

Rolepathway

type CCI_I22_Rolepathwayobject

type CCI_I22_Rolepathwayobject struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Rolepathwayobject,type=tg"`
	ROL *ROL    `hl7:"66,display=Role"`
	PRD *PRD    `hl7:"67,display=Provider Data"`
}

Rolepathwayobject

type CCI_I22_Roleproblem

type CCI_I22_Roleproblem struct {
	HL7               HL7Name                    `hl7:",name=CCI_I22_Roleproblem,type=tg"`
	Roleproblemobject *CCI_I22_Roleproblemobject `hl7:",display=Role_problem_object"`
	VAR               []VAR                      `hl7:"56,display=Variance"`
}

Roleproblem

type CCI_I22_Roleproblemobject

type CCI_I22_Roleproblemobject struct {
	HL7 HL7Name `hl7:",name=CCI_I22_Roleproblemobject,type=tg"`
	ROL *ROL    `hl7:"54,display=Role"`
	PRD *PRD    `hl7:"55,display=Provider Data"`
}

Roleproblemobject

type CCM_I21

type CCM_I21 struct {
	HL7                HL7Name                      `hl7:",name=CCM_I21,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	PID                *PID                         `hl7:"4,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"5,display=Patient Additional Demographic"`
	NK1                []NK1                        `hl7:"6,display=Next Of Kin / Associated Parties"`
	Insurance          []CCM_I21_Insurance          `hl7:",display=Insurance"`
	Appointmenthistory []CCM_I21_Appointmenthistory `hl7:",display=Appointment_history"`
	Clinicalhistory    []CCM_I21_Clinicalhistory    `hl7:",display=Clinical_history"`
	Patientvisits      []CCM_I21_Patientvisits      `hl7:",required,display=Patient_visits"`
	Medicationhistory  []CCM_I21_Medicationhistory  `hl7:",display=Medication_history"`
	Problem            []CCM_I21_Problem            `hl7:",display=Problem"`
	Goal               []CCM_I21_Goal               `hl7:",display=Goal"`
	Pathway            []CCM_I21_Pathway            `hl7:",display=Pathway"`
	REL                []REL                        `hl7:"50,display=Clinical Relationship Segment"`
}

Collaborative Care Message

This event triggers a message to be sent from one healthcare provider to another healthcare provider, clinical repository or regulatory body regarding a specific patient. The collaborative care message may contain patient demographic information, a full history of appointments, specific medical procedures that have been performed, a full clinical history, an administrative history of patient visits, a full medication history, all relevant problems, pathways and goals. This message fulfills the role of a notification of a single patient’s health status and history. It is usable for discharge summaries, disease notifications or just moving a patient’s electronic medical record from one the place to another. This message uses the REL segment to express the relationships between clinical histories.

type CCM_I21_Appointmenthistory

type CCM_I21_Appointmenthistory struct {
	HL7       HL7Name             `hl7:",name=CCM_I21_Appointmenthistory,type=tg"`
	SCH       *SCH                `hl7:"10,required,display=Scheduling Activity Information"`
	Resources []CCM_I21_Resources `hl7:",display=Resources"`
}

Appointmenthistory

type CCM_I21_Clinicalhistory

type CCM_I21_Clinicalhistory struct {
	HL7                   HL7Name                         `hl7:",name=CCM_I21_Clinicalhistory,type=tg"`
	ORC                   *ORC                            `hl7:"14,required,display=Common Order"`
	Clinicalhistorydetail []CCM_I21_Clinicalhistorydetail `hl7:",display=Clinical_history_detail"`
	Roleclinicalhistory   []CCM_I21_Roleclinicalhistory   `hl7:",display=Role_clinical_history"`
	CTI                   []CTI                           `hl7:"19,display=Clinical Trial Identification"`
}

Clinicalhistory

type CCM_I21_Clinicalhistorydetail

type CCM_I21_Clinicalhistorydetail struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Clinicalhistorydetail,type=tg"`
	OBR *OBR    `hl7:"15,required,display=Observation Request"`
	OBX []OBX   `hl7:"16,display=Observation/result"`
}

Clinicalhistorydetail

type CCM_I21_Goal

type CCM_I21_Goal struct {
	HL7      HL7Name            `hl7:",name=CCM_I21_Goal,type=tg"`
	GOL      *GOL               `hl7:"40,required,display=Goal Detail"`
	VAR      []VAR              `hl7:"41,display=Variance"`
	Rolegoal []CCM_I21_Rolegoal `hl7:",display=Role_goal"`
	OBX      []OBX              `hl7:"44,display=Observation/result"`
}

Goal

type CCM_I21_Insurance

type CCM_I21_Insurance struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Insurance,type=tg"`
	IN1 *IN1    `hl7:"7,required,display=Insurance"`
	IN2 *IN2    `hl7:"8,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"9,display=Insurance Additional Information- Certification"`
}

Insurance

type CCM_I21_Medicationadministrationdetail

type CCM_I21_Medicationadministrationdetail struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Medicationadministrationdetail,type=tg"`
	RXA []RXA   `hl7:"31,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"32,required,display=Pharmacy/treatment Route"`
	OBX []OBX   `hl7:"33,display=Observation/result"`
}

Medicationadministrationdetail

type CCM_I21_Medicationencodingdetail

type CCM_I21_Medicationencodingdetail struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Medicationencodingdetail,type=tg"`
	RXE *RXE    `hl7:"27,required,display=Pharmacy/treatment Encoded Order"`
	RXR []RXR   `hl7:"28,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"29,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"30,display=Observation/result"`
}

Medicationencodingdetail

type CCM_I21_Medicationhistory

type CCM_I21_Medicationhistory struct {
	HL7                            HL7Name                                  `hl7:",name=CCM_I21_Medicationhistory,type=tg"`
	ORC                            *ORC                                     `hl7:"22,required,display=Common Order"`
	Medicationorderdetail          *CCM_I21_Medicationorderdetail           `hl7:",display=Medication_order_detail"`
	Medicationencodingdetail       *CCM_I21_Medicationencodingdetail        `hl7:",display=Medication_encoding_detail"`
	Medicationadministrationdetail []CCM_I21_Medicationadministrationdetail `hl7:",display=Medication_administration_detail"`
	CTI                            []CTI                                    `hl7:"34,display=Clinical Trial Identification"`
}

Medicationhistory

type CCM_I21_Medicationorderdetail

type CCM_I21_Medicationorderdetail struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Medicationorderdetail,type=tg"`
	RXO *RXO    `hl7:"23,required,display=Pharmacy/treatment Order"`
	RXR []RXR   `hl7:"24,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"25,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"26,display=Observation/result"`
}

Medicationorderdetail

type CCM_I21_Pathway

type CCM_I21_Pathway struct {
	HL7         HL7Name               `hl7:",name=CCM_I21_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"45,required,display=Pathway"`
	VAR         []VAR                 `hl7:"46,display=Variance"`
	Rolepathway []CCM_I21_Rolepathway `hl7:",display=Role_pathway"`
	OBX         []OBX                 `hl7:"49,display=Observation/result"`
}

Pathway

type CCM_I21_Patientvisits

type CCM_I21_Patientvisits struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Patientvisits,type=tg"`
	PV1 *PV1    `hl7:"20,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"21,display=Patient Visit - Additional Information"`
}

Patientvisits

type CCM_I21_Problem

type CCM_I21_Problem struct {
	HL7         HL7Name               `hl7:",name=CCM_I21_Problem,type=tg"`
	PRB         *PRB                  `hl7:"35,required,display=Problem Details"`
	VAR         []VAR                 `hl7:"36,display=Variance"`
	Roleproblem []CCM_I21_Roleproblem `hl7:",display=Role_problem"`
	OBX         []OBX                 `hl7:"39,display=Observation/result"`
}

Problem

type CCM_I21_Resourcedetail

type CCM_I21_Resourcedetail struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Resourcedetail,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	OBX []OBX   `hl7:"13,display=Observation/result"`
}

Resourcedetail

type CCM_I21_Resources

type CCM_I21_Resources struct {
	HL7            HL7Name                  `hl7:",name=CCM_I21_Resources,type=tg"`
	RGS            *RGS                     `hl7:"11,required,display=Resource Group"`
	Resourcedetail []CCM_I21_Resourcedetail `hl7:",display=Resource_detail"`
}

Resources

type CCM_I21_Roleclinicalhistory

type CCM_I21_Roleclinicalhistory struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Roleclinicalhistory,type=tg"`
	ROL *ROL    `hl7:"17,required,display=Role"`
	VAR []VAR   `hl7:"18,display=Variance"`
}

Roleclinicalhistory

type CCM_I21_Rolegoal

type CCM_I21_Rolegoal struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Rolegoal,type=tg"`
	ROL *ROL    `hl7:"42,required,display=Role"`
	VAR []VAR   `hl7:"43,display=Variance"`
}

Rolegoal

type CCM_I21_Rolepathway

type CCM_I21_Rolepathway struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Rolepathway,type=tg"`
	ROL *ROL    `hl7:"47,required,display=Role"`
	VAR []VAR   `hl7:"48,display=Variance"`
}

Rolepathway

type CCM_I21_Roleproblem

type CCM_I21_Roleproblem struct {
	HL7 HL7Name `hl7:",name=CCM_I21_Roleproblem,type=tg"`
	ROL *ROL    `hl7:"37,required,display=Role"`
	VAR []VAR   `hl7:"38,display=Variance"`
}

Roleproblem

type CCQ_I19

type CCQ_I19 struct {
	HL7             HL7Name                   `hl7:",name=CCQ_I19,type=t"`
	MSH             *MSH                      `hl7:"1,required,display=Message Header"`
	SFT             []SFT                     `hl7:"2,display=Software Segment"`
	UAC             *UAC                      `hl7:"3,display=User Authentication Credential Segment"`
	RF1             *RF1                      `hl7:"4,required,display=Referral Information"`
	Providercontact []CCQ_I19_Providercontact `hl7:",display=Provider_contact"`
	REL             []REL                     `hl7:"7,display=Clinical Relationship Segment"`
}

Collaborative Care Query/Collaborative Care Query Update

This event triggers a query message to be sent from a referring healthcare provider to a referred to healthcare provider, regarding a specific, previously sent collaborative care referral. The Collaborative Care Query message must contain sufficient data for the referred to provider to be able to identify the specific referral being queried. The response to a Collaborative Care Query message is a CQU - Collaborative Care Query Update message. The meaning of the Collaborative Care Query Update message is identical to the meaning of the Asynchronous Collaborative Care Update message.

type CCQ_I19_Providercontact

type CCQ_I19_Providercontact struct {
	HL7 HL7Name `hl7:",name=CCQ_I19_Providercontact,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,display=Contact Data"`
}

Providercontact

type CCR_I16

type CCR_I16 struct {
	HL7                HL7Name                      `hl7:",name=CCR_I16,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	RF1                []RF1                        `hl7:"4,required,display=Referral Information"`
	Providercontact    []CCR_I16_Providercontact    `hl7:",required,display=Provider_contact"`
	Clinicalorder      []CCR_I16_Clinicalorder      `hl7:",display=Clinical_order"`
	Patient            []CCR_I16_Patient            `hl7:",required,display=Patient"`
	NK1                []NK1                        `hl7:"15,display=Next Of Kin / Associated Parties"`
	Insurance          []CCR_I16_Insurance          `hl7:",display=Insurance"`
	Appointmenthistory []CCR_I16_Appointmenthistory `hl7:",display=Appointment_history"`
	Clinicalhistory    []CCR_I16_Clinicalhistory    `hl7:",display=Clinical_history"`
	Patientvisits      []CCR_I16_Patientvisits      `hl7:",required,display=Patient_visits"`
	Medicationhistory  []CCR_I16_Medicationhistory  `hl7:",display=Medication_history"`
	Problem            []CCR_I16_Problem            `hl7:",display=Problem"`
	Goal               []CCR_I16_Goal               `hl7:",display=Goal"`
	Pathway            []CCR_I16_Pathway            `hl7:",display=Pathway"`
	REL                []REL                        `hl7:"59,display=Clinical Relationship Segment"`
}

Collaborative Care Referral

This event triggers a message to be sent from one healthcare provider to another regarding a specific patient or group of patients. The intent is to create a collaborative relationship between the referring provider, the referred to provider or providers and the patient or patients, for the shared care of the patient or patients. Whilst the acknowledgment is a simple ACK message, the expectation is that the referred to provider(s) will send back a CCU – Asynchronous Collaborative Care Update at a later time to indicate acceptance or rejection of the referral.

type CCR_I16_Appointmenthistory

type CCR_I16_Appointmenthistory struct {
	HL7       HL7Name             `hl7:",name=CCR_I16_Appointmenthistory,type=tg"`
	SCH       *SCH                `hl7:"19,required,display=Scheduling Activity Information"`
	Resources []CCR_I16_Resources `hl7:",display=Resources"`
}

Appointmenthistory

type CCR_I16_Clinicalhistory

type CCR_I16_Clinicalhistory struct {
	HL7                   HL7Name                         `hl7:",name=CCR_I16_Clinicalhistory,type=tg"`
	ORC                   *ORC                            `hl7:"23,required,display=Common Order"`
	Clinicalhistorydetail []CCR_I16_Clinicalhistorydetail `hl7:",display=Clinical_history_detail"`
	Roleclinicalhistory   []CCR_I16_Roleclinicalhistory   `hl7:",display=Role_clinical_history"`
	CTI                   []CTI                           `hl7:"28,display=Clinical Trial Identification"`
}

Clinicalhistory

type CCR_I16_Clinicalhistorydetail

type CCR_I16_Clinicalhistorydetail struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Clinicalhistorydetail,type=tg"`
	OBR *OBR    `hl7:"24,required,display=Observation Request"`
	OBX []OBX   `hl7:"25,display=Observation/result"`
}

Clinicalhistorydetail

type CCR_I16_Clinicalorder

type CCR_I16_Clinicalorder struct {
	HL7                 HL7Name                       `hl7:",name=CCR_I16_Clinicalorder,type=tg"`
	ORC                 *ORC                          `hl7:"7,required,display=Common Order"`
	Clinicalordertiming []CCR_I16_Clinicalordertiming `hl7:",display=Clinical_order_timing"`
	Clinicalorderdetail []CCR_I16_Clinicalorderdetail `hl7:",required,display=Clinical_order_detail"`
	CTI                 []CTI                         `hl7:"12,display=Clinical Trial Identification"`
}

Clinicalorder

type CCR_I16_Clinicalorderdetail

type CCR_I16_Clinicalorderdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Clinicalorderdetail,type=tg"`
	OBR *OBR    `hl7:"10,required,display=Observation Request"`
	OBX []OBX   `hl7:"11,display=Observation/result"`
}

Clinicalorderdetail

type CCR_I16_Clinicalordertiming

type CCR_I16_Clinicalordertiming struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Clinicalordertiming,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Clinicalordertiming

type CCR_I16_Goal

type CCR_I16_Goal struct {
	HL7      HL7Name            `hl7:",name=CCR_I16_Goal,type=tg"`
	GOL      *GOL               `hl7:"49,required,display=Goal Detail"`
	VAR      []VAR              `hl7:"50,display=Variance"`
	Rolegoal []CCR_I16_Rolegoal `hl7:",display=Role_goal"`
	OBX      []OBX              `hl7:"53,display=Observation/result"`
}

Goal

type CCR_I16_Insurance

type CCR_I16_Insurance struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"18,display=Insurance Additional Information- Certification"`
}

Insurance

type CCR_I16_Medicationadministrationdetail

type CCR_I16_Medicationadministrationdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Medicationadministrationdetail,type=tg"`
	RXA []RXA   `hl7:"40,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"41,required,display=Pharmacy/treatment Route"`
	OBX []OBX   `hl7:"42,display=Observation/result"`
}

Medicationadministrationdetail

type CCR_I16_Medicationencodingdetail

type CCR_I16_Medicationencodingdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Medicationencodingdetail,type=tg"`
	RXE *RXE    `hl7:"36,required,display=Pharmacy/treatment Encoded Order"`
	RXR []RXR   `hl7:"37,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"38,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"39,display=Observation/result"`
}

Medicationencodingdetail

type CCR_I16_Medicationhistory

type CCR_I16_Medicationhistory struct {
	HL7                            HL7Name                                  `hl7:",name=CCR_I16_Medicationhistory,type=tg"`
	ORC                            *ORC                                     `hl7:"31,required,display=Common Order"`
	Medicationorderdetail          *CCR_I16_Medicationorderdetail           `hl7:",display=Medication_order_detail"`
	Medicationencodingdetail       *CCR_I16_Medicationencodingdetail        `hl7:",display=Medication_encoding_detail"`
	Medicationadministrationdetail []CCR_I16_Medicationadministrationdetail `hl7:",display=Medication_administration_detail"`
	CTI                            []CTI                                    `hl7:"43,display=Clinical Trial Identification"`
}

Medicationhistory

type CCR_I16_Medicationorderdetail

type CCR_I16_Medicationorderdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Medicationorderdetail,type=tg"`
	RXO *RXO    `hl7:"32,required,display=Pharmacy/treatment Order"`
	RXR []RXR   `hl7:"33,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"34,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"35,display=Observation/result"`
}

Medicationorderdetail

type CCR_I16_Pathway

type CCR_I16_Pathway struct {
	HL7         HL7Name               `hl7:",name=CCR_I16_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"54,required,display=Pathway"`
	VAR         []VAR                 `hl7:"55,display=Variance"`
	Rolepathway []CCR_I16_Rolepathway `hl7:",display=Role_pathway"`
	OBX         []OBX                 `hl7:"58,display=Observation/result"`
}

Pathway

type CCR_I16_Patient

type CCR_I16_Patient struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Patient,type=tg"`
	PID *PID    `hl7:"13,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"14,display=Patient Additional Demographic"`
}

Patient

type CCR_I16_Patientvisits

type CCR_I16_Patientvisits struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Patientvisits,type=tg"`
	PV1 *PV1    `hl7:"29,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"30,display=Patient Visit - Additional Information"`
}

Patientvisits

type CCR_I16_Problem

type CCR_I16_Problem struct {
	HL7         HL7Name               `hl7:",name=CCR_I16_Problem,type=tg"`
	PRB         *PRB                  `hl7:"44,required,display=Problem Details"`
	VAR         []VAR                 `hl7:"45,display=Variance"`
	Roleproblem []CCR_I16_Roleproblem `hl7:",display=Role_problem"`
	OBX         []OBX                 `hl7:"48,display=Observation/result"`
}

Problem

type CCR_I16_Providercontact

type CCR_I16_Providercontact struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Providercontact,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,display=Contact Data"`
}

Providercontact

type CCR_I16_Resourcedetail

type CCR_I16_Resourcedetail struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Resourcedetail,type=tg"`
	AIS *AIS    `hl7:"21,required,display=Appointment Information"`
	OBX []OBX   `hl7:"22,display=Observation/result"`
}

Resourcedetail

type CCR_I16_Resources

type CCR_I16_Resources struct {
	HL7            HL7Name                  `hl7:",name=CCR_I16_Resources,type=tg"`
	RGS            *RGS                     `hl7:"20,required,display=Resource Group"`
	Resourcedetail []CCR_I16_Resourcedetail `hl7:",display=Resource_detail"`
}

Resources

type CCR_I16_Roleclinicalhistory

type CCR_I16_Roleclinicalhistory struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Roleclinicalhistory,type=tg"`
	ROL *ROL    `hl7:"26,required,display=Role"`
	VAR []VAR   `hl7:"27,display=Variance"`
}

Roleclinicalhistory

type CCR_I16_Rolegoal

type CCR_I16_Rolegoal struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Rolegoal,type=tg"`
	ROL *ROL    `hl7:"51,required,display=Role"`
	VAR []VAR   `hl7:"52,display=Variance"`
}

Rolegoal

type CCR_I16_Rolepathway

type CCR_I16_Rolepathway struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Rolepathway,type=tg"`
	ROL *ROL    `hl7:"56,required,display=Role"`
	VAR []VAR   `hl7:"57,display=Variance"`
}

Rolepathway

type CCR_I16_Roleproblem

type CCR_I16_Roleproblem struct {
	HL7 HL7Name `hl7:",name=CCR_I16_Roleproblem,type=tg"`
	ROL *ROL    `hl7:"46,required,display=Role"`
	VAR []VAR   `hl7:"47,display=Variance"`
}

Roleproblem

type CCR_I17

type CCR_I17 struct {
	HL7                HL7Name                      `hl7:",name=CCR_I17,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	RF1                []RF1                        `hl7:"4,required,display=Referral Information"`
	Providercontact    []CCR_I17_Providercontact    `hl7:",required,display=Provider_contact"`
	Clinicalorder      []CCR_I17_Clinicalorder      `hl7:",display=Clinical_order"`
	Patient            []CCR_I17_Patient            `hl7:",required,display=Patient"`
	NK1                []NK1                        `hl7:"15,display=Next Of Kin / Associated Parties"`
	Insurance          []CCR_I17_Insurance          `hl7:",display=Insurance"`
	Appointmenthistory []CCR_I17_Appointmenthistory `hl7:",display=Appointment_history"`
	Clinicalhistory    []CCR_I17_Clinicalhistory    `hl7:",display=Clinical_history"`
	Patientvisits      []CCR_I17_Patientvisits      `hl7:",required,display=Patient_visits"`
	Medicationhistory  []CCR_I17_Medicationhistory  `hl7:",display=Medication_history"`
	Problem            []CCR_I17_Problem            `hl7:",display=Problem"`
	Goal               []CCR_I17_Goal               `hl7:",display=Goal"`
	Pathway            []CCR_I17_Pathway            `hl7:",display=Pathway"`
	REL                []REL                        `hl7:"59,display=Clinical Relationship Segment"`
}

Modify Collaborative Care Referral

This event triggers a message to be sent from one healthcare provider to another regarding changes to an existing Collaborative Care Referral. Changes may include additional instructions from the referring provider, additional clinical orders, additional clinical history, additional patient visits, additional medication history, or modifications to the problems, goals and/or pathways. Whilst the acknowledgment is a simple ACK message, the expectation is that the referred to provider(s) will send back a CCU – Asynchronous Collaborative Care Update at a later time to indicate acceptance or rejection of the modifications.

type CCR_I17_Appointmenthistory

type CCR_I17_Appointmenthistory struct {
	HL7       HL7Name             `hl7:",name=CCR_I17_Appointmenthistory,type=tg"`
	SCH       *SCH                `hl7:"19,required,display=Scheduling Activity Information"`
	Resources []CCR_I17_Resources `hl7:",display=Resources"`
}

Appointmenthistory

type CCR_I17_Clinicalhistory

type CCR_I17_Clinicalhistory struct {
	HL7                   HL7Name                         `hl7:",name=CCR_I17_Clinicalhistory,type=tg"`
	ORC                   *ORC                            `hl7:"23,required,display=Common Order"`
	Clinicalhistorydetail []CCR_I17_Clinicalhistorydetail `hl7:",display=Clinical_history_detail"`
	Roleclinicalhistory   []CCR_I17_Roleclinicalhistory   `hl7:",display=Role_clinical_history"`
	CTI                   []CTI                           `hl7:"28,display=Clinical Trial Identification"`
}

Clinicalhistory

type CCR_I17_Clinicalhistorydetail

type CCR_I17_Clinicalhistorydetail struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Clinicalhistorydetail,type=tg"`
	OBR *OBR    `hl7:"24,required,display=Observation Request"`
	OBX []OBX   `hl7:"25,display=Observation/result"`
}

Clinicalhistorydetail

type CCR_I17_Clinicalorder

type CCR_I17_Clinicalorder struct {
	HL7                 HL7Name                       `hl7:",name=CCR_I17_Clinicalorder,type=tg"`
	ORC                 *ORC                          `hl7:"7,required,display=Common Order"`
	Clinicalordertiming []CCR_I17_Clinicalordertiming `hl7:",display=Clinical_order_timing"`
	Clinicalorderdetail []CCR_I17_Clinicalorderdetail `hl7:",required,display=Clinical_order_detail"`
	CTI                 []CTI                         `hl7:"12,display=Clinical Trial Identification"`
}

Clinicalorder

type CCR_I17_Clinicalorderdetail

type CCR_I17_Clinicalorderdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Clinicalorderdetail,type=tg"`
	OBR *OBR    `hl7:"10,required,display=Observation Request"`
	OBX []OBX   `hl7:"11,display=Observation/result"`
}

Clinicalorderdetail

type CCR_I17_Clinicalordertiming

type CCR_I17_Clinicalordertiming struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Clinicalordertiming,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Clinicalordertiming

type CCR_I17_Goal

type CCR_I17_Goal struct {
	HL7      HL7Name            `hl7:",name=CCR_I17_Goal,type=tg"`
	GOL      *GOL               `hl7:"49,required,display=Goal Detail"`
	VAR      []VAR              `hl7:"50,display=Variance"`
	Rolegoal []CCR_I17_Rolegoal `hl7:",display=Role_goal"`
	OBX      []OBX              `hl7:"53,display=Observation/result"`
}

Goal

type CCR_I17_Insurance

type CCR_I17_Insurance struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"18,display=Insurance Additional Information- Certification"`
}

Insurance

type CCR_I17_Medicationadministrationdetail

type CCR_I17_Medicationadministrationdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Medicationadministrationdetail,type=tg"`
	RXA []RXA   `hl7:"40,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"41,required,display=Pharmacy/treatment Route"`
	OBX []OBX   `hl7:"42,display=Observation/result"`
}

Medicationadministrationdetail

type CCR_I17_Medicationencodingdetail

type CCR_I17_Medicationencodingdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Medicationencodingdetail,type=tg"`
	RXE *RXE    `hl7:"36,required,display=Pharmacy/treatment Encoded Order"`
	RXR []RXR   `hl7:"37,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"38,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"39,display=Observation/result"`
}

Medicationencodingdetail

type CCR_I17_Medicationhistory

type CCR_I17_Medicationhistory struct {
	HL7                            HL7Name                                  `hl7:",name=CCR_I17_Medicationhistory,type=tg"`
	ORC                            *ORC                                     `hl7:"31,required,display=Common Order"`
	Medicationorderdetail          *CCR_I17_Medicationorderdetail           `hl7:",display=Medication_order_detail"`
	Medicationencodingdetail       *CCR_I17_Medicationencodingdetail        `hl7:",display=Medication_encoding_detail"`
	Medicationadministrationdetail []CCR_I17_Medicationadministrationdetail `hl7:",display=Medication_administration_detail"`
	CTI                            []CTI                                    `hl7:"43,display=Clinical Trial Identification"`
}

Medicationhistory

type CCR_I17_Medicationorderdetail

type CCR_I17_Medicationorderdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Medicationorderdetail,type=tg"`
	RXO *RXO    `hl7:"32,required,display=Pharmacy/treatment Order"`
	RXR []RXR   `hl7:"33,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"34,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"35,display=Observation/result"`
}

Medicationorderdetail

type CCR_I17_Pathway

type CCR_I17_Pathway struct {
	HL7         HL7Name               `hl7:",name=CCR_I17_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"54,required,display=Pathway"`
	VAR         []VAR                 `hl7:"55,display=Variance"`
	Rolepathway []CCR_I17_Rolepathway `hl7:",display=Role_pathway"`
	OBX         []OBX                 `hl7:"58,display=Observation/result"`
}

Pathway

type CCR_I17_Patient

type CCR_I17_Patient struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Patient,type=tg"`
	PID *PID    `hl7:"13,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"14,display=Patient Additional Demographic"`
}

Patient

type CCR_I17_Patientvisits

type CCR_I17_Patientvisits struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Patientvisits,type=tg"`
	PV1 *PV1    `hl7:"29,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"30,display=Patient Visit - Additional Information"`
}

Patientvisits

type CCR_I17_Problem

type CCR_I17_Problem struct {
	HL7         HL7Name               `hl7:",name=CCR_I17_Problem,type=tg"`
	PRB         *PRB                  `hl7:"44,required,display=Problem Details"`
	VAR         []VAR                 `hl7:"45,display=Variance"`
	Roleproblem []CCR_I17_Roleproblem `hl7:",display=Role_problem"`
	OBX         []OBX                 `hl7:"48,display=Observation/result"`
}

Problem

type CCR_I17_Providercontact

type CCR_I17_Providercontact struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Providercontact,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,display=Contact Data"`
}

Providercontact

type CCR_I17_Resourcedetail

type CCR_I17_Resourcedetail struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Resourcedetail,type=tg"`
	AIS *AIS    `hl7:"21,required,display=Appointment Information"`
	OBX []OBX   `hl7:"22,display=Observation/result"`
}

Resourcedetail

type CCR_I17_Resources

type CCR_I17_Resources struct {
	HL7            HL7Name                  `hl7:",name=CCR_I17_Resources,type=tg"`
	RGS            *RGS                     `hl7:"20,required,display=Resource Group"`
	Resourcedetail []CCR_I17_Resourcedetail `hl7:",display=Resource_detail"`
}

Resources

type CCR_I17_Roleclinicalhistory

type CCR_I17_Roleclinicalhistory struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Roleclinicalhistory,type=tg"`
	ROL *ROL    `hl7:"26,required,display=Role"`
	VAR []VAR   `hl7:"27,display=Variance"`
}

Roleclinicalhistory

type CCR_I17_Rolegoal

type CCR_I17_Rolegoal struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Rolegoal,type=tg"`
	ROL *ROL    `hl7:"51,required,display=Role"`
	VAR []VAR   `hl7:"52,display=Variance"`
}

Rolegoal

type CCR_I17_Rolepathway

type CCR_I17_Rolepathway struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Rolepathway,type=tg"`
	ROL *ROL    `hl7:"56,required,display=Role"`
	VAR []VAR   `hl7:"57,display=Variance"`
}

Rolepathway

type CCR_I17_Roleproblem

type CCR_I17_Roleproblem struct {
	HL7 HL7Name `hl7:",name=CCR_I17_Roleproblem,type=tg"`
	ROL *ROL    `hl7:"46,required,display=Role"`
	VAR []VAR   `hl7:"47,display=Variance"`
}

Roleproblem

type CCR_I18

type CCR_I18 struct {
	HL7                HL7Name                      `hl7:",name=CCR_I18,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	RF1                []RF1                        `hl7:"4,required,display=Referral Information"`
	Providercontact    []CCR_I18_Providercontact    `hl7:",required,display=Provider_contact"`
	Clinicalorder      []CCR_I18_Clinicalorder      `hl7:",display=Clinical_order"`
	Patient            []CCR_I18_Patient            `hl7:",required,display=Patient"`
	NK1                []NK1                        `hl7:"15,display=Next Of Kin / Associated Parties"`
	Insurance          []CCR_I18_Insurance          `hl7:",display=Insurance"`
	Appointmenthistory []CCR_I18_Appointmenthistory `hl7:",display=Appointment_history"`
	Clinicalhistory    []CCR_I18_Clinicalhistory    `hl7:",display=Clinical_history"`
	Patientvisits      []CCR_I18_Patientvisits      `hl7:",required,display=Patient_visits"`
	Medicationhistory  []CCR_I18_Medicationhistory  `hl7:",display=Medication_history"`
	Problem            []CCR_I18_Problem            `hl7:",display=Problem"`
	Goal               []CCR_I18_Goal               `hl7:",display=Goal"`
	Pathway            []CCR_I18_Pathway            `hl7:",display=Pathway"`
	REL                []REL                        `hl7:"59,display=Clinical Relationship Segment"`
}

Cancel Collaborative Care Referral

This event triggers a message to be sent from one healthcare provider to another canceling an existing Collaborative Care Referral. A previous Collaborative Care Referral may have been made in error, or perhaps the cancellation has come from the patient. Whilst the acknowledgment is a simple ACK message, the expectation is that the referred to provider(s) will send back a CCU – Asynchronous Collaborative Care Update at a later time to indicate cancellation of the Collaborative Care Referral.

type CCR_I18_Appointmenthistory

type CCR_I18_Appointmenthistory struct {
	HL7       HL7Name             `hl7:",name=CCR_I18_Appointmenthistory,type=tg"`
	SCH       *SCH                `hl7:"19,required,display=Scheduling Activity Information"`
	Resources []CCR_I18_Resources `hl7:",display=Resources"`
}

Appointmenthistory

type CCR_I18_Clinicalhistory

type CCR_I18_Clinicalhistory struct {
	HL7                   HL7Name                         `hl7:",name=CCR_I18_Clinicalhistory,type=tg"`
	ORC                   *ORC                            `hl7:"23,required,display=Common Order"`
	Clinicalhistorydetail []CCR_I18_Clinicalhistorydetail `hl7:",display=Clinical_history_detail"`
	Roleclinicalhistory   []CCR_I18_Roleclinicalhistory   `hl7:",display=Role_clinical_history"`
	CTI                   []CTI                           `hl7:"28,display=Clinical Trial Identification"`
}

Clinicalhistory

type CCR_I18_Clinicalhistorydetail

type CCR_I18_Clinicalhistorydetail struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Clinicalhistorydetail,type=tg"`
	OBR *OBR    `hl7:"24,required,display=Observation Request"`
	OBX []OBX   `hl7:"25,display=Observation/result"`
}

Clinicalhistorydetail

type CCR_I18_Clinicalorder

type CCR_I18_Clinicalorder struct {
	HL7                 HL7Name                       `hl7:",name=CCR_I18_Clinicalorder,type=tg"`
	ORC                 *ORC                          `hl7:"7,required,display=Common Order"`
	Clinicalordertiming []CCR_I18_Clinicalordertiming `hl7:",display=Clinical_order_timing"`
	Clinicalorderdetail []CCR_I18_Clinicalorderdetail `hl7:",required,display=Clinical_order_detail"`
	CTI                 []CTI                         `hl7:"12,display=Clinical Trial Identification"`
}

Clinicalorder

type CCR_I18_Clinicalorderdetail

type CCR_I18_Clinicalorderdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Clinicalorderdetail,type=tg"`
	OBR *OBR    `hl7:"10,required,display=Observation Request"`
	OBX []OBX   `hl7:"11,display=Observation/result"`
}

Clinicalorderdetail

type CCR_I18_Clinicalordertiming

type CCR_I18_Clinicalordertiming struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Clinicalordertiming,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Clinicalordertiming

type CCR_I18_Goal

type CCR_I18_Goal struct {
	HL7      HL7Name            `hl7:",name=CCR_I18_Goal,type=tg"`
	GOL      *GOL               `hl7:"49,required,display=Goal Detail"`
	VAR      []VAR              `hl7:"50,display=Variance"`
	Rolegoal []CCR_I18_Rolegoal `hl7:",display=Role_goal"`
	OBX      []OBX              `hl7:"53,display=Observation/result"`
}

Goal

type CCR_I18_Insurance

type CCR_I18_Insurance struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"18,display=Insurance Additional Information- Certification"`
}

Insurance

type CCR_I18_Medicationadministrationdetail

type CCR_I18_Medicationadministrationdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Medicationadministrationdetail,type=tg"`
	RXA []RXA   `hl7:"40,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"41,required,display=Pharmacy/treatment Route"`
	OBX []OBX   `hl7:"42,display=Observation/result"`
}

Medicationadministrationdetail

type CCR_I18_Medicationencodingdetail

type CCR_I18_Medicationencodingdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Medicationencodingdetail,type=tg"`
	RXE *RXE    `hl7:"36,required,display=Pharmacy/treatment Encoded Order"`
	RXR []RXR   `hl7:"37,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"38,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"39,display=Observation/result"`
}

Medicationencodingdetail

type CCR_I18_Medicationhistory

type CCR_I18_Medicationhistory struct {
	HL7                            HL7Name                                  `hl7:",name=CCR_I18_Medicationhistory,type=tg"`
	ORC                            *ORC                                     `hl7:"31,required,display=Common Order"`
	Medicationorderdetail          *CCR_I18_Medicationorderdetail           `hl7:",display=Medication_order_detail"`
	Medicationencodingdetail       *CCR_I18_Medicationencodingdetail        `hl7:",display=Medication_encoding_detail"`
	Medicationadministrationdetail []CCR_I18_Medicationadministrationdetail `hl7:",display=Medication_administration_detail"`
	CTI                            []CTI                                    `hl7:"43,display=Clinical Trial Identification"`
}

Medicationhistory

type CCR_I18_Medicationorderdetail

type CCR_I18_Medicationorderdetail struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Medicationorderdetail,type=tg"`
	RXO *RXO    `hl7:"32,required,display=Pharmacy/treatment Order"`
	RXR []RXR   `hl7:"33,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"34,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"35,display=Observation/result"`
}

Medicationorderdetail

type CCR_I18_Pathway

type CCR_I18_Pathway struct {
	HL7         HL7Name               `hl7:",name=CCR_I18_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"54,required,display=Pathway"`
	VAR         []VAR                 `hl7:"55,display=Variance"`
	Rolepathway []CCR_I18_Rolepathway `hl7:",display=Role_pathway"`
	OBX         []OBX                 `hl7:"58,display=Observation/result"`
}

Pathway

type CCR_I18_Patient

type CCR_I18_Patient struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Patient,type=tg"`
	PID *PID    `hl7:"13,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"14,display=Patient Additional Demographic"`
}

Patient

type CCR_I18_Patientvisits

type CCR_I18_Patientvisits struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Patientvisits,type=tg"`
	PV1 *PV1    `hl7:"29,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"30,display=Patient Visit - Additional Information"`
}

Patientvisits

type CCR_I18_Problem

type CCR_I18_Problem struct {
	HL7         HL7Name               `hl7:",name=CCR_I18_Problem,type=tg"`
	PRB         *PRB                  `hl7:"44,required,display=Problem Details"`
	VAR         []VAR                 `hl7:"45,display=Variance"`
	Roleproblem []CCR_I18_Roleproblem `hl7:",display=Role_problem"`
	OBX         []OBX                 `hl7:"48,display=Observation/result"`
}

Problem

type CCR_I18_Providercontact

type CCR_I18_Providercontact struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Providercontact,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,display=Contact Data"`
}

Providercontact

type CCR_I18_Resourcedetail

type CCR_I18_Resourcedetail struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Resourcedetail,type=tg"`
	AIS *AIS    `hl7:"21,required,display=Appointment Information"`
	OBX []OBX   `hl7:"22,display=Observation/result"`
}

Resourcedetail

type CCR_I18_Resources

type CCR_I18_Resources struct {
	HL7            HL7Name                  `hl7:",name=CCR_I18_Resources,type=tg"`
	RGS            *RGS                     `hl7:"20,required,display=Resource Group"`
	Resourcedetail []CCR_I18_Resourcedetail `hl7:",display=Resource_detail"`
}

Resources

type CCR_I18_Roleclinicalhistory

type CCR_I18_Roleclinicalhistory struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Roleclinicalhistory,type=tg"`
	ROL *ROL    `hl7:"26,required,display=Role"`
	VAR []VAR   `hl7:"27,display=Variance"`
}

Roleclinicalhistory

type CCR_I18_Rolegoal

type CCR_I18_Rolegoal struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Rolegoal,type=tg"`
	ROL *ROL    `hl7:"51,required,display=Role"`
	VAR []VAR   `hl7:"52,display=Variance"`
}

Rolegoal

type CCR_I18_Rolepathway

type CCR_I18_Rolepathway struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Rolepathway,type=tg"`
	ROL *ROL    `hl7:"56,required,display=Role"`
	VAR []VAR   `hl7:"57,display=Variance"`
}

Rolepathway

type CCR_I18_Roleproblem

type CCR_I18_Roleproblem struct {
	HL7 HL7Name `hl7:",name=CCR_I18_Roleproblem,type=tg"`
	ROL *ROL    `hl7:"46,required,display=Role"`
	VAR []VAR   `hl7:"47,display=Variance"`
}

Roleproblem

type CCU_I20

type CCU_I20 struct {
	HL7                HL7Name                      `hl7:",name=CCU_I20,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	RF1                *RF1                         `hl7:"4,required,display=Referral Information"`
	Providercontact    []CCU_I20_Providercontact    `hl7:",display=Provider_contact"`
	Patient            []CCU_I20_Patient            `hl7:",display=Patient"`
	NK1                []NK1                        `hl7:"9,display=Next Of Kin / Associated Parties"`
	Insurance          []CCU_I20_Insurance          `hl7:",display=Insurance"`
	Appointmenthistory []CCU_I20_Appointmenthistory `hl7:",display=Appointment_history"`
	Clinicalhistory    []CCU_I20_Clinicalhistory    `hl7:",display=Clinical_history"`
	Patientvisits      []CCU_I20_Patientvisits      `hl7:",required,display=Patient_visits"`
	Medicationhistory  []CCU_I20_Medicationhistory  `hl7:",display=Medication_history"`
	Problem            []CCU_I20_Problem            `hl7:",display=Problem"`
	Goal               []CCU_I20_Goal               `hl7:",display=Goal"`
	Pathway            []CCU_I20_Pathway            `hl7:",display=Pathway"`
	REL                []REL                        `hl7:"53,display=Clinical Relationship Segment"`
}

Asynchronous Collaborative Care Update

This event triggers a message to be sent from a referred to healthcare provider to the referring health care provider, regarding a specific, previously received collaborative care referral. The collaborative care update may contain patient demographic information, additional appointments, additional clinical history, additional patient visits and additional medication history. It may also contain updates of patient problems, pathways and goal. The information is similar to that which may have been provided in the original Collaborate Care Referral message, but significantly different, as it is information from the perspective of the referred to provider. Patient visits will be those visits by the patient, to the referred to provider, relating to the referral. Appointments will be appointments made for the patient, by the referred to provider, during those visits. Clinical history will be observations made during those visits and medication history will be medications prescribed, observed or recommended during those visits. This message is used to update the referring provider as to the current status of the referral. The referrer would also use this message to update of the status of a referral, such as accepted, rejected, patient put on waiting list, treatment completed etc.

type CCU_I20_Appointmenthistory

type CCU_I20_Appointmenthistory struct {
	HL7       HL7Name             `hl7:",name=CCU_I20_Appointmenthistory,type=tg"`
	SCH       *SCH                `hl7:"13,required,display=Scheduling Activity Information"`
	Resources []CCU_I20_Resources `hl7:",display=Resources"`
}

Appointmenthistory

type CCU_I20_Clinicalhistory

type CCU_I20_Clinicalhistory struct {
	HL7                   HL7Name                         `hl7:",name=CCU_I20_Clinicalhistory,type=tg"`
	ORC                   *ORC                            `hl7:"17,required,display=Common Order"`
	Clinicalhistorydetail []CCU_I20_Clinicalhistorydetail `hl7:",display=Clinical_history_detail"`
	Roleclinicalhistory   []CCU_I20_Roleclinicalhistory   `hl7:",display=Role_clinical_history"`
	CTI                   []CTI                           `hl7:"22,display=Clinical Trial Identification"`
}

Clinicalhistory

type CCU_I20_Clinicalhistorydetail

type CCU_I20_Clinicalhistorydetail struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Clinicalhistorydetail,type=tg"`
	OBR *OBR    `hl7:"18,required,display=Observation Request"`
	OBX []OBX   `hl7:"19,display=Observation/result"`
}

Clinicalhistorydetail

type CCU_I20_Goal

type CCU_I20_Goal struct {
	HL7      HL7Name            `hl7:",name=CCU_I20_Goal,type=tg"`
	GOL      *GOL               `hl7:"43,required,display=Goal Detail"`
	VAR      []VAR              `hl7:"44,display=Variance"`
	Rolegoal []CCU_I20_Rolegoal `hl7:",display=Role_goal"`
	OBX      []OBX              `hl7:"47,display=Observation/result"`
}

Goal

type CCU_I20_Insurance

type CCU_I20_Insurance struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"12,display=Insurance Additional Information- Certification"`
}

Insurance

type CCU_I20_Medicationadministrationdetail

type CCU_I20_Medicationadministrationdetail struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Medicationadministrationdetail,type=tg"`
	RXA []RXA   `hl7:"34,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"35,required,display=Pharmacy/treatment Route"`
	OBX []OBX   `hl7:"36,display=Observation/result"`
}

Medicationadministrationdetail

type CCU_I20_Medicationencodingdetail

type CCU_I20_Medicationencodingdetail struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Medicationencodingdetail,type=tg"`
	RXE *RXE    `hl7:"30,required,display=Pharmacy/treatment Encoded Order"`
	RXR []RXR   `hl7:"31,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"32,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"33,display=Observation/result"`
}

Medicationencodingdetail

type CCU_I20_Medicationhistory

type CCU_I20_Medicationhistory struct {
	HL7                            HL7Name                                  `hl7:",name=CCU_I20_Medicationhistory,type=tg"`
	ORC                            *ORC                                     `hl7:"25,required,display=Common Order"`
	Medicationorderdetail          *CCU_I20_Medicationorderdetail           `hl7:",display=Medication_order_detail"`
	Medicationencodingdetail       *CCU_I20_Medicationencodingdetail        `hl7:",display=Medication_encoding_detail"`
	Medicationadministrationdetail []CCU_I20_Medicationadministrationdetail `hl7:",display=Medication_administration_detail"`
	CTI                            []CTI                                    `hl7:"37,display=Clinical Trial Identification"`
}

Medicationhistory

type CCU_I20_Medicationorderdetail

type CCU_I20_Medicationorderdetail struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Medicationorderdetail,type=tg"`
	RXO *RXO    `hl7:"26,required,display=Pharmacy/treatment Order"`
	RXR []RXR   `hl7:"27,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"28,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"29,display=Observation/result"`
}

Medicationorderdetail

type CCU_I20_Pathway

type CCU_I20_Pathway struct {
	HL7         HL7Name               `hl7:",name=CCU_I20_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"48,required,display=Pathway"`
	VAR         []VAR                 `hl7:"49,display=Variance"`
	Rolepathway []CCU_I20_Rolepathway `hl7:",display=Role_pathway"`
	OBX         []OBX                 `hl7:"52,display=Observation/result"`
}

Pathway

type CCU_I20_Patient

type CCU_I20_Patient struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"8,display=Patient Additional Demographic"`
}

Patient

type CCU_I20_Patientvisits

type CCU_I20_Patientvisits struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Patientvisits,type=tg"`
	PV1 *PV1    `hl7:"23,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"24,display=Patient Visit - Additional Information"`
}

Patientvisits

type CCU_I20_Problem

type CCU_I20_Problem struct {
	HL7         HL7Name               `hl7:",name=CCU_I20_Problem,type=tg"`
	PRB         *PRB                  `hl7:"38,required,display=Problem Details"`
	VAR         []VAR                 `hl7:"39,display=Variance"`
	Roleproblem []CCU_I20_Roleproblem `hl7:",display=Role_problem"`
	OBX         []OBX                 `hl7:"42,display=Observation/result"`
}

Problem

type CCU_I20_Providercontact

type CCU_I20_Providercontact struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Providercontact,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,display=Contact Data"`
}

Providercontact

type CCU_I20_Resourcedetail

type CCU_I20_Resourcedetail struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Resourcedetail,type=tg"`
	AIS *AIS    `hl7:"15,required,display=Appointment Information"`
	OBX []OBX   `hl7:"16,display=Observation/result"`
}

Resourcedetail

type CCU_I20_Resources

type CCU_I20_Resources struct {
	HL7            HL7Name                  `hl7:",name=CCU_I20_Resources,type=tg"`
	RGS            *RGS                     `hl7:"14,required,display=Resource Group"`
	Resourcedetail []CCU_I20_Resourcedetail `hl7:",display=Resource_detail"`
}

Resources

type CCU_I20_Roleclinicalhistory

type CCU_I20_Roleclinicalhistory struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Roleclinicalhistory,type=tg"`
	ROL *ROL    `hl7:"20,required,display=Role"`
	VAR []VAR   `hl7:"21,display=Variance"`
}

Roleclinicalhistory

type CCU_I20_Rolegoal

type CCU_I20_Rolegoal struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Rolegoal,type=tg"`
	ROL *ROL    `hl7:"45,required,display=Role"`
	VAR []VAR   `hl7:"46,display=Variance"`
}

Rolegoal

type CCU_I20_Rolepathway

type CCU_I20_Rolepathway struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Rolepathway,type=tg"`
	ROL *ROL    `hl7:"50,required,display=Role"`
	VAR []VAR   `hl7:"51,display=Variance"`
}

Rolepathway

type CCU_I20_Roleproblem

type CCU_I20_Roleproblem struct {
	HL7 HL7Name `hl7:",name=CCU_I20_Roleproblem,type=tg"`
	ROL *ROL    `hl7:"40,required,display=Role"`
	VAR []VAR   `hl7:"41,display=Variance"`
}

Roleproblem

type CDM

type CDM struct {
	HL7                          HL7Name `hl7:",name=CDM,type=s"`
	PrimaryKeyValue              CWE     `hl7:"1,required,table=0132,display=Primary Key Value - Cdm"`
	ChargeCodeAlias              []CWE   `hl7:"2,table=0132,display=Charge Code Alias"`
	ChargeDescriptionShort       ST      `hl7:"3,required,display=Charge Description Short"`
	ChargeDescriptionLong        ST      `hl7:"4,display=Charge Description Long"`
	DescriptionOverrideIndicator *CWE    `hl7:"5,table=0268,display=Description Override Indicator"`
	ExplodingCharges             []CWE   `hl7:"6,table=0132,display=Exploding Charges"`
	ProcedureCode                []CNE   `hl7:"7,table=0088,display=Procedure Code"`
	ActiveInactiveFlag           ID      `hl7:"8,len=1,table=0183,display=Active/Inactive Flag"`
	InventoryNumber              []CWE   `hl7:"9,table=0463,display=Inventory Number"`
	ResourceLoad                 NM      `hl7:"10,display=Resource Load"`
	ContractNumber               []CX    `hl7:"11,display=Contract Number"`
	ContractOrganization         []XON   `hl7:"12,display=Contract Organization"`
	RoomFeeIndicator             ID      `hl7:"13,len=1,table=0136,display=Room Fee Indicator"`
}

Charge Description Master

The CDM segment contains the fields for identifying anything which is charged to patient accounts, including procedures, services, supplies. It is intended to be used to maintain a list of valid chargeable utilization items. Its purpose is to keep billing codes synchronized between HIS, Patient Accounting, and other departmental systems. It is not intended to completely support materials management, inventory, or complex pricing structures for which additional complex fields would be required. Given an identifying charge code, the associated fields in the charge description master file will provide basic pricing and billing data. All the additional information necessary for patient accounting systems to do billing and claims is not intended to be included in this segment; those should be part of insurance or billing profile tables.

The CDM segment contains the fields which, for one chargeable item, remain the same across facilities, departments, and patient types. The following PRC segment contains the fields which, for the same chargeable item, vary depending upon facility or department or patient type.

type CER

type CER struct {
	HL7                                HL7Name `hl7:",name=CER,type=s"`
	SetID                              SI      `hl7:"1,seq,required,len=4,display=Set Id - Cer"`
	SerialNumber                       ST      `hl7:"2,display=Serial Number"`
	Version                            ST      `hl7:"3,display=Version"`
	GrantingAuthority                  *XON    `hl7:"4,display=Granting Authority"`
	IssuingAuthority                   *XCN    `hl7:"5,display=Issuing Authority"`
	Signature                          *ED     `hl7:"6,display=Signature"`
	GrantingCountry                    ID      `hl7:"7,len=3,table=0399,display=Granting Country"`
	GrantingStateProvince              *CWE    `hl7:"8,table=0347,display=Granting State/Province"`
	GrantingCountyParish               *CWE    `hl7:"9,table=0289,display=Granting County/Parish"`
	CertificateType                    *CWE    `hl7:"10,display=Certificate Type"`
	CertificateDomain                  *CWE    `hl7:"11,display=Certificate Domain"`
	SubjectID                          *EI     `hl7:"12,conditional,display=Subject Id"`
	SubjectName                        ST      `hl7:"13,required,display=Subject Name"`
	SubjectDirectoryAttributeExtension []CWE   `hl7:"14,display=Subject Directory Attribute Extension"`
	SubjectPublicKeyInfo               *CWE    `hl7:"15,display=Subject Public Key Info"`
	AuthorityKeyIdentifier             *CWE    `hl7:"16,display=Authority Key Identifier"`
	BasicConstraint                    ID      `hl7:"17,len=1,table=0136,display=Basic Constraint"`
	CrlDistributionPoint               []CWE   `hl7:"18,display=Crl Distribution Point"`
	JurisdictionCountry                ID      `hl7:"19,len=3,table=0399,display=Jurisdiction Country"`
	JurisdictionStateProvince          *CWE    `hl7:"20,table=0347,display=Jurisdiction State/Province"`
	JurisdictionCountyParish           *CWE    `hl7:"21,table=0289,display=Jurisdiction County/Parish"`
	JurisdictionBreadth                []CWE   `hl7:"22,table=0547,display=Jurisdiction Breadth"`
	GrantingDate                       DTM     `hl7:"23,format=YMDHM,display=Granting Date"`
	IssuingDate                        DTM     `hl7:"24,format=YMDHM,display=Issuing Date"`
	ActivationDate                     DTM     `hl7:"25,format=YMDHM,display=Activation Date"`
	InactivationDate                   DTM     `hl7:"26,format=YMDHM,display=Inactivation Date"`
	ExpirationDate                     DTM     `hl7:"27,format=YMDHM,display=Expiration Date"`
	RenewalDate                        DTM     `hl7:"28,format=YMDHM,display=Renewal Date"`
	RevocationDate                     DTM     `hl7:"29,format=YMDHM,display=Revocation Date"`
	RevocationReasonCode               *CWE    `hl7:"30,display=Revocation Reason Code"`
	CertificateStatusCode              *CWE    `hl7:"31,table=0536,display=Certificate Status Code"`
}

Certificate Detail

The CER segment adds detailed information regarding the formal authorizations to provide a service (e.g. licenses, certificates) held by the health professional identified by the STF segment.

type CM0

type CM0 struct {
	HL7                     HL7Name `hl7:",name=CM0,type=s"`
	SetID                   SI      `hl7:"1,seq,len=4,display=Set Id - Cm0"`
	SponsorStudyID          EI      `hl7:"2,required,display=Sponsor Study Id"`
	AlternateStudyID        []EI    `hl7:"3,max=3,display=Alternate Study Id"`
	TitleOfStudy            ST      `hl7:"4,required,display=Title Of Study"`
	ChairmanOfStudy         []XCN   `hl7:"5,display=Chairman Of Study"`
	LastIrbApprovalDate     DT      `hl7:"6,format=YMD,display=Last Irb Approval Date"`
	TotalAccrualToDate      NM      `hl7:"7,display=Total Accrual To Date"`
	LastAccrualDate         DT      `hl7:"8,format=YMD,display=Last Accrual Date"`
	ContactForStudy         []XCN   `hl7:"9,display=Contact For Study"`
	ContactsTelephoneNumber *XTN    `hl7:"10,display=Contact's Telephone Number"`
	ContactsAddress         []XAD   `hl7:"11,display=Contact's Address"`
}

Clinical Study Master

The Clinical Study Master (CM0) segment contains the information about the study itself. The sending application study number for each patient is sent in the CSR segment. The optional CM0 enables information about the study at the sending application that may be useful to the receiving systems. All of the fields in the segment describe the study status at the sending facility unless otherwise agreed upon.

type CM1

type CM1 struct {
	HL7                     HL7Name `hl7:",name=CM1,type=s"`
	SetID                   SI      `hl7:"1,seq,required,len=4,display=Set Id - Cm1"`
	StudyPhaseIdentifier    CWE     `hl7:"2,required,display=Study Phase Identifier"`
	DescriptionOfStudyPhase ST      `hl7:"3,required,display=Description Of Study Phase"`
}

Clinical Study Phase Master

Each Clinical Study Phase Master (CM1) segment contains the information about one phase of a study identified in the preceding CM0. This is an optional structure to be used if the study has more than one treatment or evaluation phase within it. The identification of study phases that the patient enters are sent in the CSP segment: sequence 2. The CM1 segment describes the phase in general for the receiving system.

type CM2

type CM2 struct {
	HL7                          HL7Name `hl7:",name=CM2,type=s"`
	SetID                        SI      `hl7:"1,seq,len=4,display=Set Id- Cm2"`
	ScheduledTimePoint           CWE     `hl7:"2,required,display=Scheduled Time Point"`
	DescriptionOfTimePoint       ST      `hl7:"3,display=Description Of Time Point"`
	EventsScheduledThisTimePoint []CWE   `hl7:"4,required,max=200,display=Events Scheduled This Time Point"`
}

Clinical Study Schedule Master

The Clinical Study Schedule Master (CM2) contains the information about the scheduled time points for study or phase-related treatment or evaluation events. The fact that a patient has data satisfying a scheduled time point is sent in the CSS segment, sequence 2. The CM2 segment describes the scheduled time points in general.

type CNE

type CNE struct {
	HL7                                  HL7Name `hl7:",name=CNE,len=0,type=d"`
	Identifier                           ST      `` /* 282-byte string literal not displayed */
	Text                                 ST      `` /* 414-byte string literal not displayed */
	NameOfCodingSystem                   ID      `` /* 1821-byte string literal not displayed */
	AlternateIdentifier                  ST      `` /* 453-byte string literal not displayed */
	AlternateText                        ST      `` /* 206-byte string literal not displayed */
	NameOfAlternateCodingSystem          ID      `` /* 850-byte string literal not displayed */
	CodingSystemVersionID                ST      `` /* 722-byte string literal not displayed */
	AlternateCodingSystemVersionID       ST      `` /* 361-byte string literal not displayed */
	OriginalText                         ST      `` /* 497-byte string literal not displayed */
	SecondAlternateIdentifier            ST      `hl7:"10,display=A sequence of characters that uniquely identifies a second alternate code. Analogous to CN-1 Identifier."`
	SecondAlternateText                  ST      `hl7:"11,display=The descriptive or textual name of the Second Alternate Identifier. Analogous to CNE.2 Text."`
	NameOfSecondAlternateCodingSystem    ID      `` /* 756-byte string literal not displayed */
	SecondAlternateCodingSystemVersionID ST      `` /* 162-byte string literal not displayed */
	CodingSystemOid                      ST      `` /* 516-byte string literal not displayed */
	ValueSetOid                          ST      `` /* 878-byte string literal not displayed */
	ValueSetVersionID                    DTM     `` /* 268-byte string literal not displayed */
	AlternateCodingSystemOid             ST      `` /* 562-byte string literal not displayed */
	AlternateValueSetOid                 ST      `` /* 878-byte string literal not displayed */
	AlternateValueSetVersionID           DTM     `` /* 268-byte string literal not displayed */
	SecondAlternateCodingSystemOid       ST      `` /* 575-byte string literal not displayed */
	SecondAlternateValueSetOid           ST      `` /* 879-byte string literal not displayed */
	SecondAlternateValueSetVersionID     DTM     `` /* 267-byte string literal not displayed */
}

Coded With No Exceptions

Specifies a coded element and its associated detail. The CNE data type is used when a required or mandatory coded field is needed. The specified HL7 table or imported or externally defined coding system must be used and may not be extended with local values. Text may not replace the code. A CNE field must have an HL7 defined or external table associated with it. A CNE field may be context sensitive such that a choice of explicit coding systems might be designated. This allows for realm and other types of specificity. Every effort will be made to enumerate the valid coding system(s) to be specified in the 3rd component, however, the standards body realizes that this is impossible to fully enumerate.

Note: The presence of two sets of equivalent codes in this data type is semantically different from a repetition of a CNE-type field. With repetition, several distinct codes (with distinct meanings) may be transmitted.

Example 1: The drug must be coded and must be taken from the specified coding system. The coding system is an external coding system. Example is derived from FT1-26. |0006-0106-58^Prinivil 10mg oral tablet^NDC|

Example 2: Consent mode must be coded and must be taken from the specified coding system. The coding system is an HL7 code table. Example is taken from CON-10. |V^Verbal^HL70497^^^^2.7|

As of v2.7 a third tuple, formerly known as triplet, has been added to the CNE data type. Additionally, 3 new components were added to each tuple such that each tuple now has a total of 7 components. The Original Text component applies to the CNE as a whole.

type CNN

type CNN struct {
	HL7                                         HL7Name `hl7:",name=CNN,len=0,type=d"`
	IDNumber                                    ST      `` /* 160-byte string literal not displayed */
	FamilyName                                  ST      `hl7:"2,display=This component contains the person's family name in a string format."`
	GivenName                                   ST      `hl7:"3,display=Used to specify a first name."`
	SecondAndFurtherGivenNamesOrInitialsThereof ST      `hl7:"4,display=Second And Further Given Names Or Initials Thereof"`
	Suffix                                      ST      `hl7:"5,display=Used to specify a name suffix (e.g.- Jr. or III)."`
	Prefix                                      ST      `hl7:"6,display=Used to specify a name prefix (e.g.- Dr.)."`
	Degree                                      IS      `` /* 162-byte string literal not displayed */
	SourceTable                                 IS      `` /* 239-byte string literal not displayed */
	AssigningAuthorityNamespaceID               IS      `` /* 610-byte string literal not displayed */
	AssigningAuthorityUniversalID               ST      `` /* 172-byte string literal not displayed */
	AssigningAuthorityUniversalIDType           ID      `` /* 285-byte string literal not displayed */
}

Composite Id Number And Name Simplified

Specifies a person using both an identifier and the person’s name. Retained for backward compatibility only as of v2.6.

Note: Restores the original data type CN as was initially implementable in the CM used in sections 4.5.3.32 and 7.4.1.32 - (OBR-32), 4.5.3.33 and 7.4.1.33 - ( OBR-33), 4.5.3.34 and 7.4.1.34 - ( OBR-34), 4.5.3.35 and 7.4.1.35 - (OBR-35). Components 7 and 8, however, have been promoted to data type IS to be consistent with current practice without violating backward compatibility.

Attention: Retained for backward compatibility only in version 2.6. Fields associated with this data type have been replaced by the ROL segment.

type CNS

type CNS struct {
	HL7                                 HL7Name `hl7:",name=CNS,type=s"`
	StartingNotificationReferenceNumber NM      `hl7:"1,display=Starting Notification Reference Number"`
	EndingNotificationReferenceNumber   NM      `hl7:"2,display=Ending Notification Reference Number"`
	StartingNotificationDateTime        DTM     `hl7:"3,format=YMDHM,display=Starting Notification Date/Time"`
	EndingNotificationDateTime          DTM     `hl7:"4,format=YMDHM,display=Ending Notification Date/Time"`
	StartingNotificationCode            *CWE    `hl7:"5,table=9999,display=Starting Notification Code"`
	EndingNotificationCode              *CWE    `hl7:"6,table=9999,display=Ending Notification Code"`
}

Clear Notification

The clear equipment notification segment contains the data necessary to allow the receiving equipment to clear any associated notifications.

type CON

type CON struct {
	HL7                                    HL7Name `hl7:",name=CON,type=s"`
	SetID                                  SI      `hl7:"1,seq,required,len=4,display=Set Id - Con"`
	ConsentType                            *CWE    `hl7:"2,table=0496,display=Consent Type"`
	ConsentFormIDAndVersion                ST      `hl7:"3,display=Consent Form Id And Version"`
	ConsentFormNumber                      *EI     `hl7:"4,display=Consent Form Number"`
	ConsentText                            []FT    `hl7:"5,display=Consent Text"`
	SubjectSpecificConsentText             []FT    `hl7:"6,display=Subject-specific Consent Text"`
	ConsentBackgroundInformation           []FT    `hl7:"7,display=Consent Background Information"`
	SubjectSpecificConsentBackgroundText   []FT    `hl7:"8,display=Subject-specific Consent Background Text"`
	ConsenterImposedLimitations            []FT    `hl7:"9,display=Consenter-imposed Limitations"`
	ConsentMode                            *CNE    `hl7:"10,table=0497,display=Consent Mode"`
	ConsentStatus                          CNE     `hl7:"11,required,table=0498,display=Consent Status"`
	ConsentDiscussionDateTime              DTM     `hl7:"12,format=YMDHM,display=Consent Discussion Date/Time"`
	ConsentDecisionDateTime                DTM     `hl7:"13,format=YMDHM,display=Consent Decision Date/Time"`
	ConsentEffectiveDateTime               DTM     `hl7:"14,format=YMDHM,display=Consent Effective Date/Time"`
	ConsentEndDateTime                     DTM     `hl7:"15,format=YMDHM,display=Consent End Date/Time"`
	SubjectCompetenceIndicator             ID      `hl7:"16,len=1,table=0136,display=Subject Competence Indicator"`
	TranslatorAssistanceIndicator          ID      `hl7:"17,len=1,table=0136,display=Translator Assistance Indicator"`
	LanguageTranslatedTo                   *CWE    `hl7:"18,table=0296,display=Language Translated To"`
	InformationalMaterialSuppliedIndicator ID      `hl7:"19,len=1,table=0136,display=Informational Material Supplied Indicator"`
	ConsentBypassReason                    *CWE    `hl7:"20,table=0499,display=Consent Bypass Reason"`
	ConsentDisclosureLevel                 ID      `hl7:"21,len=1,table=0500,display=Consent Disclosure Level"`
	ConsentNonDisclosureReason             *CWE    `hl7:"22,table=0501,display=Consent Non-disclosure Reason"`
	NonSubjectConsenterReason              *CWE    `hl7:"23,table=0502,display=Non-subject Consenter Reason"`
	ConsenterID                            []XPN   `hl7:"24,required,display=Consenter Id"`
	RelationshipToSubject                  []CWE   `hl7:"25,required,table=0548,display=Relationship To Subject"`
}

Consent Segment

This segment identifies patient consent information relating to a particular message. It can be used as part of existing messages to convey information about patient consent to procedures, admissions, information release/exchange or other events discussed by the message. It may also be used in messages focusing on recording or requesting consent and for consents related to employees or service providers.

The segment will be used in conjunction with various other segments to identify the practitioner (PRA/STF) or patient (PID) the consent is for, the various individuals involved in the consent (ROL) as witnesses, consenting person (not always the patient), translators, consulting providers, etc., and the specific procedures being proposed (PR1).

type CP

type CP struct {
	HL7        HL7Name `hl7:",name=CP,len=0,type=d"`
	Price      MO      `` /* 189-byte string literal not displayed */
	PriceType  ID      `hl7:"2,len=2,table=0205,display=A coded value- data type ID.  Refer to HL7 Table 0205 – Price Type for valid values."`
	FromValue  NM      `` /* 637-byte string literal not displayed */
	ToValue    NM      `hl7:"4,display=The number specifying the high limit or boundary of the range."`
	RangeUnits *CWE    `` /* 563-byte string literal not displayed */
	RangeType  ID      `hl7:"6,len=1,table=0298,display=Refer to HL7 Table 0298 - CP Range Type for valid values."`
}

Composite Price

Note: This data type is often used to define a repeating field within a given segment.

Example: |100.00&USD^UP^0^9^min^P~50.00&USD^UP^10^59^min^P~10.00&USD^UP^60^999^P~50.00&USD^AP~200.00&USD^PF~80.00&USD^DC|

type CQ

type CQ struct {
	HL7      HL7Name `hl7:",name=CQ,len=0,type=d"`
	Quantity NM      `hl7:"1,display=This component specifies the numeric quantity or amount of an entity."`
	Units    *CWE    `` /* 404-byte string literal not displayed */
}

Composite Quantity With Units

Note: CQ cannot be legally expressed when embedded within another data type. Its use is constrained to a segment field.

Examples: kilograms is an ISO unit |123.7^kg|

weight in pounds is a customary US unit defined within ANSI+. |150^lb&&ANSI+|

type CQU_I19

type CQU_I19 struct {
	HL7                HL7Name                      `hl7:",name=CQU_I19,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	MSA                *MSA                         `hl7:"4,required,display=Message Acknowledgment"`
	ERR                []ERR                        `hl7:"5,display=Error"`
	RF1                *RF1                         `hl7:"6,display=Referral Information"`
	Providercontact    *CQU_I19_Providercontact     `hl7:",display=Provider_contact"`
	Patient            []CQU_I19_Patient            `hl7:",display=Patient"`
	NK1                []NK1                        `hl7:"11,display=Next Of Kin / Associated Parties"`
	Insurance          []CQU_I19_Insurance          `hl7:",display=Insurance"`
	Appointmenthistory []CQU_I19_Appointmenthistory `hl7:",display=Appointment_history"`
	Clinicalhistory    []CQU_I19_Clinicalhistory    `hl7:",display=Clinical_history"`
	Patientvisit       []CQU_I19_Patientvisit       `hl7:",required,display=Patient_visit"`
	Medicationhistory  []CQU_I19_Medicationhistory  `hl7:",display=Medication_history"`
	Problem            []CQU_I19_Problem            `hl7:",display=Problem"`
	Goal               []CQU_I19_Goal               `hl7:",display=Goal"`
	Pathway            []CQU_I19_Pathway            `hl7:",display=Pathway"`
	REL                []REL                        `hl7:"73,display=Clinical Relationship Segment"`
}

Collaborative Care Referral

type CQU_I19_Appointmenthistory

type CQU_I19_Appointmenthistory struct {
	HL7       HL7Name             `hl7:",name=CQU_I19_Appointmenthistory,type=tg"`
	SCH       *SCH                `hl7:"15,required,display=Scheduling Activity Information"`
	Resources []CQU_I19_Resources `hl7:",display=Resources"`
}

Appointmenthistory

type CQU_I19_Clinicalhistory

type CQU_I19_Clinicalhistory struct {
	HL7                   HL7Name                         `hl7:",name=CQU_I19_Clinicalhistory,type=tg"`
	ORC                   *ORC                            `hl7:"22,required,display=Common Order"`
	Clinicalhistorydetail []CQU_I19_Clinicalhistorydetail `hl7:",display=Clinical_history_detail"`
	Roleclinicalhistory   []CQU_I19_Roleclinicalhistory   `hl7:",display=Role_clinical_history"`
	CTI                   []CTI                           `hl7:"39,display=Clinical Trial Identification"`
}

Clinicalhistory

type CQU_I19_Clinicalhistorydetail

type CQU_I19_Clinicalhistorydetail struct {
	HL7                   HL7Name                        `hl7:",name=CQU_I19_Clinicalhistorydetail,type=tg"`
	Clinicalhistoryobject *CQU_I19_Clinicalhistoryobject `hl7:",display=Clinical_history_object"`
	OBX                   []OBX                          `hl7:"35,display=Observation/result"`
}

Clinicalhistorydetail

type CQU_I19_Clinicalhistoryobject

type CQU_I19_Clinicalhistoryobject struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Clinicalhistoryobject,type=tg"`
	OBR *OBR    `hl7:"23,display=Observation Request"`
	ODS *ODS    `hl7:"24,display=Dietary Orders- Supplements- And Preferences"`
	PR1 *PR1    `hl7:"25,display=Procedures"`
	RF1 *RF1    `hl7:"26,display=Referral Information"`
	AL1 *AL1    `hl7:"27,display=Patient Allergy Information"`
	IAM *IAM    `hl7:"28,display=Patient Adverse Reaction Information"`
	ACC *ACC    `hl7:"29,display=Accident"`
	RMI *RMI    `hl7:"30,display=Risk Management Incident"`
	DB1 *DB1    `hl7:"31,display=Disability"`
	DG1 *DG1    `hl7:"32,display=Diagnosis"`
	DRG *DRG    `hl7:"33,display=Diagnosis Related Group"`
	PDA *PDA    `hl7:"34,display=Patient Death And Autopsy"`
}

Clinicalhistoryobject

type CQU_I19_Goal

type CQU_I19_Goal struct {
	HL7      HL7Name            `hl7:",name=CQU_I19_Goal,type=tg"`
	GOL      *GOL               `hl7:"61,required,display=Goal Detail"`
	VAR      []VAR              `hl7:"62,display=Variance"`
	Rolegoal []CQU_I19_Rolegoal `hl7:",display=Role_goal"`
	OBX      []OBX              `hl7:"66,display=Observation/result"`
}

Goal

type CQU_I19_Insurance

type CQU_I19_Insurance struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type CQU_I19_Medicationadministrationdetail

type CQU_I19_Medicationadministrationdetail struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Medicationadministrationdetail,type=tg"`
	RXA []RXA   `hl7:"51,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"52,required,display=Pharmacy/treatment Route"`
	OBX []OBX   `hl7:"53,display=Observation/result"`
}

Medicationadministrationdetail

type CQU_I19_Medicationencodingdetail

type CQU_I19_Medicationencodingdetail struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Medicationencodingdetail,type=tg"`
	RXE *RXE    `hl7:"47,required,display=Pharmacy/treatment Encoded Order"`
	RXR []RXR   `hl7:"48,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"49,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"50,display=Observation/result"`
}

Medicationencodingdetail

type CQU_I19_Medicationhistory

type CQU_I19_Medicationhistory struct {
	HL7                            HL7Name                                  `hl7:",name=CQU_I19_Medicationhistory,type=tg"`
	ORC                            *ORC                                     `hl7:"42,required,display=Common Order"`
	Medicationorderdetail          *CQU_I19_Medicationorderdetail           `hl7:",display=Medication_order_detail"`
	Medicationencodingdetail       *CQU_I19_Medicationencodingdetail        `hl7:",display=Medication_encoding_detail"`
	Medicationadministrationdetail []CQU_I19_Medicationadministrationdetail `hl7:",display=Medication_administration_detail"`
	CTI                            []CTI                                    `hl7:"54,display=Clinical Trial Identification"`
}

Medicationhistory

type CQU_I19_Medicationorderdetail

type CQU_I19_Medicationorderdetail struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Medicationorderdetail,type=tg"`
	RXO *RXO    `hl7:"43,required,display=Pharmacy/treatment Order"`
	RXR []RXR   `hl7:"44,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"45,display=Pharmacy/treatment Component Order"`
	OBX []OBX   `hl7:"46,display=Observation/result"`
}

Medicationorderdetail

type CQU_I19_Pathway

type CQU_I19_Pathway struct {
	HL7         HL7Name               `hl7:",name=CQU_I19_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"67,required,display=Pathway"`
	VAR         []VAR                 `hl7:"68,display=Variance"`
	Rolepathway []CQU_I19_Rolepathway `hl7:",display=Role_pathway"`
	OBX         []OBX                 `hl7:"72,display=Observation/result"`
}

Pathway

type CQU_I19_Patient

type CQU_I19_Patient struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Patient,type=tg"`
	PID *PID    `hl7:"9,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"10,display=Patient Additional Demographic"`
}

Patient

type CQU_I19_Patientvisit

type CQU_I19_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"40,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"41,display=Patient Visit - Additional Information"`
}

Patientvisit

type CQU_I19_Problem

type CQU_I19_Problem struct {
	HL7         HL7Name               `hl7:",name=CQU_I19_Problem,type=tg"`
	PRB         *PRB                  `hl7:"55,required,display=Problem Details"`
	VAR         []VAR                 `hl7:"56,display=Variance"`
	Roleproblem []CQU_I19_Roleproblem `hl7:",display=Role_problem"`
	OBX         []OBX                 `hl7:"60,display=Observation/result"`
}

Problem

type CQU_I19_Providercontact

type CQU_I19_Providercontact struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Providercontact,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Providercontact

type CQU_I19_Resourcedetail

type CQU_I19_Resourcedetail struct {
	HL7            HL7Name                 `hl7:",name=CQU_I19_Resourcedetail,type=tg"`
	Resourceobject *CQU_I19_Resourceobject `hl7:",display=Resource_object"`
	OBX            []OBX                   `hl7:"21,display=Observation/result"`
}

Resourcedetail

type CQU_I19_Resourceobject

type CQU_I19_Resourceobject struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Resourceobject,type=tg"`
	AIS *AIS    `hl7:"17,display=Appointment Information"`
	AIG *AIG    `hl7:"18,display=Appointment Information - General Resource"`
	AIL *AIL    `hl7:"19,display=Appointment Information - Location Resource"`
	AIP *AIP    `hl7:"20,display=Appointment Information - Personnel Resource"`
}

Resourceobject

type CQU_I19_Resources

type CQU_I19_Resources struct {
	HL7            HL7Name                  `hl7:",name=CQU_I19_Resources,type=tg"`
	RGS            *RGS                     `hl7:"16,required,display=Resource Group"`
	Resourcedetail []CQU_I19_Resourcedetail `hl7:",display=Resource_detail"`
}

Resources

type CQU_I19_Roalgoalobject

type CQU_I19_Roalgoalobject struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Roalgoalobject,type=tg"`
	ROL *ROL    `hl7:"63,display=Role"`
	PRD *PRD    `hl7:"64,display=Provider Data"`
}

Roalgoalobject

type CQU_I19_Roleclinicalhistory

type CQU_I19_Roleclinicalhistory struct {
	HL7                       HL7Name                            `hl7:",name=CQU_I19_Roleclinicalhistory,type=tg"`
	Roleclinicalhistoryobject *CQU_I19_Roleclinicalhistoryobject `hl7:",display=Role_clinical_history_object"`
	VAR                       []VAR                              `hl7:"38,display=Variance"`
}

Roleclinicalhistory

type CQU_I19_Roleclinicalhistoryobject

type CQU_I19_Roleclinicalhistoryobject struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Roleclinicalhistoryobject,type=tg"`
	ROL *ROL    `hl7:"36,display=Role"`
	PRD *PRD    `hl7:"37,display=Provider Data"`
}

Roleclinicalhistoryobject

type CQU_I19_Rolegoal

type CQU_I19_Rolegoal struct {
	HL7            HL7Name                 `hl7:",name=CQU_I19_Rolegoal,type=tg"`
	Roalgoalobject *CQU_I19_Roalgoalobject `hl7:",display=Roal_goal_object"`
	VAR            []VAR                   `hl7:"65,display=Variance"`
}

Rolegoal

type CQU_I19_Rolepathway

type CQU_I19_Rolepathway struct {
	HL7               HL7Name                    `hl7:",name=CQU_I19_Rolepathway,type=tg"`
	Rolepathwayobject *CQU_I19_Rolepathwayobject `hl7:",display=Role_pathway_object"`
	VAR               []VAR                      `hl7:"71,display=Variance"`
}

Rolepathway

type CQU_I19_Rolepathwayobject

type CQU_I19_Rolepathwayobject struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Rolepathwayobject,type=tg"`
	ROL *ROL    `hl7:"69,display=Role"`
	PRD *PRD    `hl7:"70,display=Provider Data"`
}

Rolepathwayobject

type CQU_I19_Roleproblem

type CQU_I19_Roleproblem struct {
	HL7               HL7Name                    `hl7:",name=CQU_I19_Roleproblem,type=tg"`
	Roleproblemobject *CQU_I19_Roleproblemobject `hl7:",display=Role_problem_object"`
	VAR               []VAR                      `hl7:"59,display=Variance"`
}

Roleproblem

type CQU_I19_Roleproblemobject

type CQU_I19_Roleproblemobject struct {
	HL7 HL7Name `hl7:",name=CQU_I19_Roleproblemobject,type=tg"`
	ROL *ROL    `hl7:"57,display=Role"`
	PRD *PRD    `hl7:"58,display=Provider Data"`
}

Roleproblemobject

type CRM_C01

type CRM_C01 struct {
	HL7     HL7Name           `hl7:",name=CRM_C01,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CRM_C01_Patient `hl7:",required,display=Patient"`
}

Register a patient on a clinical trial

The data are entered in a clinical trials or other patient data system and broadcast to other facility systems such as order entry, pharmacy, accounting, and nursing systems. They can be transmitted in batch mode or broadcast to outside-facility computer systems, including diagnostic and patient management systems. It is assumed that proper routing and security mechanisms are in place.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CRM_C01_Patient

type CRM_C01_Patient struct {
	HL7          HL7Name               `hl7:",name=CRM_C01_Patient,type=tg"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	PRT          []PRT                 `hl7:"5,display=Participation Information"`
	Patientvisit *CRM_C01_Patientvisit `hl7:",display=Patient_visit"`
	CSR          *CSR                  `hl7:"8,required,display=Clinical Study Registration"`
	CSP          []CSP                 `hl7:"9,display=Clinical Study Phase"`
}

Patient

type CRM_C01_Patientvisit

type CRM_C01_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CRM_C01_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient Visit"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Patientvisit

type CRM_C02

type CRM_C02 struct {
	HL7     HL7Name           `hl7:",name=CRM_C02,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CRM_C02_Patient `hl7:",required,display=Patient"`
}

Cancel a patient registration on clinical trial (for clerical mistakes onl

The data are entered in a clinical trials or other patient data system and broadcast to other facility systems such as order entry, pharmacy, accounting, and nursing systems. They can be transmitted in batch mode or broadcast to outside-facility computer systems, including diagnostic and patient management systems. It is assumed that proper routing and security mechanisms are in place.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CRM_C02_Patient

type CRM_C02_Patient struct {
	HL7          HL7Name               `hl7:",name=CRM_C02_Patient,type=tg"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	PRT          []PRT                 `hl7:"5,display=Participation Information"`
	Patientvisit *CRM_C02_Patientvisit `hl7:",display=Patient_visit"`
	CSR          *CSR                  `hl7:"8,required,display=Clinical Study Registration"`
	CSP          []CSP                 `hl7:"9,display=Clinical Study Phase"`
}

Patient

type CRM_C02_Patientvisit

type CRM_C02_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CRM_C02_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient Visit"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Patientvisit

type CRM_C03

type CRM_C03 struct {
	HL7     HL7Name           `hl7:",name=CRM_C03,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CRM_C03_Patient `hl7:",required,display=Patient"`
}

Correct/update registration information

The data are entered in a clinical trials or other patient data system and broadcast to other facility systems such as order entry, pharmacy, accounting, and nursing systems. They can be transmitted in batch mode or broadcast to outside-facility computer systems, including diagnostic and patient management systems. It is assumed that proper routing and security mechanisms are in place.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CRM_C03_Patient

type CRM_C03_Patient struct {
	HL7          HL7Name               `hl7:",name=CRM_C03_Patient,type=tg"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	PRT          []PRT                 `hl7:"5,display=Participation Information"`
	Patientvisit *CRM_C03_Patientvisit `hl7:",display=Patient_visit"`
	CSR          *CSR                  `hl7:"8,required,display=Clinical Study Registration"`
	CSP          []CSP                 `hl7:"9,display=Clinical Study Phase"`
}

Patient

type CRM_C03_Patientvisit

type CRM_C03_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CRM_C03_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient Visit"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Patientvisit

type CRM_C04

type CRM_C04 struct {
	HL7     HL7Name           `hl7:",name=CRM_C04,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CRM_C04_Patient `hl7:",required,display=Patient"`
}

Patient has gone off a clinical trial

The data are entered in a clinical trials or other patient data system and broadcast to other facility systems such as order entry, pharmacy, accounting, and nursing systems. They can be transmitted in batch mode or broadcast to outside-facility computer systems, including diagnostic and patient management systems. It is assumed that proper routing and security mechanisms are in place.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CRM_C04_Patient

type CRM_C04_Patient struct {
	HL7          HL7Name               `hl7:",name=CRM_C04_Patient,type=tg"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	PRT          []PRT                 `hl7:"5,display=Participation Information"`
	Patientvisit *CRM_C04_Patientvisit `hl7:",display=Patient_visit"`
	CSR          *CSR                  `hl7:"8,required,display=Clinical Study Registration"`
	CSP          []CSP                 `hl7:"9,display=Clinical Study Phase"`
}

Patient

type CRM_C04_Patientvisit

type CRM_C04_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CRM_C04_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient Visit"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Patientvisit

type CRM_C05

type CRM_C05 struct {
	HL7     HL7Name           `hl7:",name=CRM_C05,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CRM_C05_Patient `hl7:",required,display=Patient"`
}

Patient enters phase of clinical trial

The data are entered in a clinical trials or other patient data system and broadcast to other facility systems such as order entry, pharmacy, accounting, and nursing systems. They can be transmitted in batch mode or broadcast to outside-facility computer systems, including diagnostic and patient management systems. It is assumed that proper routing and security mechanisms are in place.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CRM_C05_Patient

type CRM_C05_Patient struct {
	HL7          HL7Name               `hl7:",name=CRM_C05_Patient,type=tg"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	PRT          []PRT                 `hl7:"5,display=Participation Information"`
	Patientvisit *CRM_C05_Patientvisit `hl7:",display=Patient_visit"`
	CSR          *CSR                  `hl7:"8,required,display=Clinical Study Registration"`
	CSP          []CSP                 `hl7:"9,display=Clinical Study Phase"`
}

Patient

type CRM_C05_Patientvisit

type CRM_C05_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CRM_C05_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient Visit"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Patientvisit

type CRM_C06

type CRM_C06 struct {
	HL7     HL7Name           `hl7:",name=CRM_C06,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CRM_C06_Patient `hl7:",required,display=Patient"`
}

Cancel patient entering a phase (clerical mistake)

The data are entered in a clinical trials or other patient data system and broadcast to other facility systems such as order entry, pharmacy, accounting, and nursing systems. They can be transmitted in batch mode or broadcast to outside-facility computer systems, including diagnostic and patient management systems. It is assumed that proper routing and security mechanisms are in place.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CRM_C06_Patient

type CRM_C06_Patient struct {
	HL7          HL7Name               `hl7:",name=CRM_C06_Patient,type=tg"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	PRT          []PRT                 `hl7:"5,display=Participation Information"`
	Patientvisit *CRM_C06_Patientvisit `hl7:",display=Patient_visit"`
	CSR          *CSR                  `hl7:"8,required,display=Clinical Study Registration"`
	CSP          []CSP                 `hl7:"9,display=Clinical Study Phase"`
}

Patient

type CRM_C06_Patientvisit

type CRM_C06_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CRM_C06_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient Visit"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Patientvisit

type CRM_C07

type CRM_C07 struct {
	HL7     HL7Name           `hl7:",name=CRM_C07,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CRM_C07_Patient `hl7:",required,display=Patient"`
}

Correct/update phase information

The data are entered in a clinical trials or other patient data system and broadcast to other facility systems such as order entry, pharmacy, accounting, and nursing systems. They can be transmitted in batch mode or broadcast to outside-facility computer systems, including diagnostic and patient management systems. It is assumed that proper routing and security mechanisms are in place.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CRM_C07_Patient

type CRM_C07_Patient struct {
	HL7          HL7Name               `hl7:",name=CRM_C07_Patient,type=tg"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	PRT          []PRT                 `hl7:"5,display=Participation Information"`
	Patientvisit *CRM_C07_Patientvisit `hl7:",display=Patient_visit"`
	CSR          *CSR                  `hl7:"8,required,display=Clinical Study Registration"`
	CSP          []CSP                 `hl7:"9,display=Clinical Study Phase"`
}

Patient

type CRM_C07_Patientvisit

type CRM_C07_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CRM_C07_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient Visit"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Patientvisit

type CRM_C08

type CRM_C08 struct {
	HL7     HL7Name           `hl7:",name=CRM_C08,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CRM_C08_Patient `hl7:",required,display=Patient"`
}

Patient has gone off phase of clinical trial

The data are entered in a clinical trials or other patient data system and broadcast to other facility systems such as order entry, pharmacy, accounting, and nursing systems. They can be transmitted in batch mode or broadcast to outside-facility computer systems, including diagnostic and patient management systems. It is assumed that proper routing and security mechanisms are in place.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CRM_C08_Patient

type CRM_C08_Patient struct {
	HL7          HL7Name               `hl7:",name=CRM_C08_Patient,type=tg"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	PRT          []PRT                 `hl7:"5,display=Participation Information"`
	Patientvisit *CRM_C08_Patientvisit `hl7:",display=Patient_visit"`
	CSR          *CSR                  `hl7:"8,required,display=Clinical Study Registration"`
	CSP          []CSP                 `hl7:"9,display=Clinical Study Phase"`
}

Patient

type CRM_C08_Patientvisit

type CRM_C08_Patientvisit struct {
	HL7 HL7Name `hl7:",name=CRM_C08_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient Visit"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Patientvisit

type CSP

type CSP struct {
	HL7                     HL7Name `hl7:",name=CSP,type=s"`
	StudyPhaseIdentifier    CWE     `hl7:"1,required,display=Study Phase Identifier"`
	DateTimeStudyPhaseBegan DTM     `hl7:"2,required,format=YMDHM,display=Date/Time Study Phase Began"`
	DateTimeStudyPhaseEnded DTM     `hl7:"3,format=YMDHM,display=Date/Time Study Phase Ended"`
	StudyPhaseEvaluability  *CWE    `hl7:"4,conditional,table=9999,display=Study Phase Evaluability"`
}

Clinical Study Phase

The CSP segment contains information on a patient’s status for a particular phase of the study. This segment is optional and is useful when a study has different evaluation intervals within it. (See section 7.7.1, "HL7 Attribute Table – CSR – Clinical Study Registration," and section 7.5.1.2, "Phase of a clinical trial:.") The CSP segment is implemented on a study-specific basis for messaging purposes. The fact that the patient has entered a phase of the study that represents a certain treatment approach may need to be messaged to other systems, like pharmacy, nursing, or order entry. It is also important to sponsors and data management centers for tracking patient progress through the study and monitoring the data schedule defined for each phase. It may subsume OBR and OBX segments that follow it to indicate that these data describe the phase.

type CSR

type CSR struct {
	HL7                                HL7Name `hl7:",name=CSR,type=s"`
	SponsorStudyID                     EI      `hl7:"1,required,display=Sponsor Study Id"`
	AlternateStudyID                   *EI     `hl7:"2,display=Alternate Study Id"`
	InstitutionRegisteringThePatient   *CWE    `hl7:"3,table=9999,display=Institution Registering The Patient"`
	SponsorPatientID                   CX      `hl7:"4,required,display=Sponsor Patient Id"`
	AlternatePatientID                 *CX     `hl7:"5,display=Alternate Patient Id - Csr"`
	DateTimeOfPatientStudyRegistration DTM     `hl7:"6,required,format=YMDHM,display=Date/Time Of Patient Study Registration"`
	PersonPerformingStudyRegistration  []XCN   `hl7:"7,display=Person Performing Study Registration"`
	StudyAuthorizingProvider           []XCN   `hl7:"8,required,display=Study Authorizing Provider"`
	DateTimePatientStudyConsentSigned  DTM     `hl7:"9,conditional,format=YMDHM,display=Date/Time Patient Study Consent Signed"`
	PatientStudyEligibilityStatus      *CWE    `hl7:"10,conditional,table=9999,display=Patient Study Eligibility Status"`
	StudyRandomizationDateTime         []DTM   `hl7:"11,max=3,format=YMDHM,display=Study Randomization Date/Time"`
	RandomizedStudyArm                 []CWE   `hl7:"12,max=3,table=9999,display=Randomized Study Arm"`
	StratumForStudyRandomization       []CWE   `hl7:"13,max=3,table=9999,display=Stratum For Study Randomization"`
	PatientEvaluabilityStatus          *CWE    `hl7:"14,conditional,table=9999,display=Patient Evaluability Status"`
	DateTimeEndedStudy                 DTM     `hl7:"15,conditional,format=YMDHM,display=Date/Time Ended Study"`
	ReasonEndedStudy                   *CWE    `hl7:"16,conditional,table=9999,display=Reason Ended Study"`
}

Clinical Study Registration

The CSR segment will contain fundamental administrative and regulatory information required to document a patient’s enrollment on a clinical trial. This segment is all that is required if one needs to message another system that an enrollment has taken place, i.e., from clinical trials to pharmacy, accounting, or order entry systems. The CSR segment may also be used to identify that OBR, OBX, RXA, and RXR segments that follow represent data applicable to the identified study.

type CSS

type CSS struct {
	HL7                            HL7Name `hl7:",name=CSS,type=s"`
	StudyScheduledTimePoint        CWE     `hl7:"1,required,table=9999,display=Study Scheduled Time Point"`
	StudyScheduledPatientTimePoint DTM     `hl7:"2,format=YMDHM,display=Study Scheduled Patient Time Point"`
	StudyQualityControlCodes       []CWE   `hl7:"3,max=3,table=9999,display=Study Quality Control Codes"`
}

Clinical Study Data Schedule Segment

The Clinical Study Data Schedule (CSS) segment is optional depending on whether messaging of study data needs to be linked to the scheduled data time points for the study. (See Section 7.5.1.3, "Data schedule:".) The CSS segment enables communication of data schedules and adherence that ranges from the basic to the elaborate. Use of the segment must be planned for each implementation. Each CSS segment will subsume observation and drug administration segments that follow, indicating that they satisfy this scheduled time point.

type CSU_C09

type CSU_C09 struct {
	HL7     HL7Name           `hl7:",name=CSU_C09,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CSU_C09_Patient `hl7:",required,display=Patient"`
}

Automated time intervals for reporting, like monthly

Data are entered in the clinical trials system or may reside in laboratory, pathology, radiology, pharmacy and/or other clinical applications. Most clinical trials data - clinical observations and study variables - will be communicated in OBR and OBX segments. The CSR, CSP, and CSS segments will identify the specific association these OBR and OBX have to the clinical trial. Data can be broadcast or transmitted in batch mode to study sponsors or the data management center for collaborative studies. The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CSU_C09_Commonorder

type CSU_C09_Commonorder struct {
	HL7 HL7Name `hl7:",name=CSU_C09_Commonorder,type=tg"`
	ORC *ORC    `hl7:"21,required,display=Common Order"`
	PRT []PRT   `hl7:"22,display=Participation Information"`
}

Commonorder

type CSU_C09_Patient

type CSU_C09_Patient struct {
	HL7        HL7Name              `hl7:",name=CSU_C09_Patient,type=tg"`
	PID        *PID                 `hl7:"4,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"5,display=Patient Additional Demographic"`
	PRT        []PRT                `hl7:"6,display=Participation Information"`
	NTE        []NTE                `hl7:"7,display=Notes And Comments"`
	Visit      *CSU_C09_Visit       `hl7:",display=Visit"`
	CSR        *CSR                 `hl7:"11,required,display=Clinical Study Registration"`
	Studyphase []CSU_C09_Studyphase `hl7:",required,display=Study_phase"`
}

Patient

type CSU_C09_Rxadmin

type CSU_C09_Rxadmin struct {
	HL7 HL7Name `hl7:",name=CSU_C09_Rxadmin,type=tg"`
	RXA *RXA    `hl7:"23,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"24,required,display=Pharmacy/treatment Route"`
	PRT []PRT   `hl7:"25,display=Participation Information"`
}

Rxadmin

type CSU_C09_Studyobservation

type CSU_C09_Studyobservation struct {
	HL7       HL7Name             `hl7:",name=CSU_C09_Studyobservation,type=tg"`
	ORC       *ORC                `hl7:"14,display=Common Order"`
	OBR       *OBR                `hl7:"15,required,display=Observation Request"`
	PRT       []PRT               `hl7:"16,display=Participation Information"`
	Timingqty []CSU_C09_Timingqty `hl7:",display=Timing_qty"`
	OBX       *OBX                `hl7:"19,required,display=Observation/result"`
	PRT2      []PRT               `hl7:"20,display=Participation Information"`
}

Studyobservation

type CSU_C09_Studypharm

type CSU_C09_Studypharm struct {
	HL7         HL7Name              `hl7:",name=CSU_C09_Studypharm,type=tg"`
	Commonorder *CSU_C09_Commonorder `hl7:",display=Common_order"`
	Rxadmin     []CSU_C09_Rxadmin    `hl7:",required,display=Rx_admin"`
}

Studypharm

type CSU_C09_Studyphase

type CSU_C09_Studyphase struct {
	HL7           HL7Name                 `hl7:",name=CSU_C09_Studyphase,type=tg"`
	CSP           *CSP                    `hl7:"12,display=Clinical Study Phase"`
	Studyschedule []CSU_C09_Studyschedule `hl7:",required,display=Study_schedule"`
}

Studyphase

type CSU_C09_Studyschedule

type CSU_C09_Studyschedule struct {
	HL7              HL7Name                    `hl7:",name=CSU_C09_Studyschedule,type=tg"`
	CSS              *CSS                       `hl7:"13,display=Clinical Study Data Schedule Segment"`
	Studyobservation []CSU_C09_Studyobservation `hl7:",required,display=Study_observation"`
	Studypharm       []CSU_C09_Studypharm       `hl7:",required,display=Study_pharm"`
}

Studyschedule

type CSU_C09_Timingqty

type CSU_C09_Timingqty struct {
	HL7 HL7Name `hl7:",name=CSU_C09_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timingqty

type CSU_C09_Visit

type CSU_C09_Visit struct {
	HL7 HL7Name `hl7:",name=CSU_C09_Visit,type=tg"`
	PV1 *PV1    `hl7:"8,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Visit

type CSU_C10

type CSU_C10 struct {
	HL7     HL7Name           `hl7:",name=CSU_C10,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CSU_C10_Patient `hl7:",required,display=Patient"`
}

Patient completes the clinical trial

Data are entered in the clinical trials system or may reside in laboratory, pathology, radiology, pharmacy and/or other clinical applications. Most clinical trials data - clinical observations and study variables - will be communicated in OBR and OBX segments. The CSR, CSP, and CSS segments will identify the specific association these OBR and OBX have to the clinical trial. Data can be broadcast or transmitted in batch mode to study sponsors or the data management center for collaborative studies.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CSU_C10_Commonorder

type CSU_C10_Commonorder struct {
	HL7 HL7Name `hl7:",name=CSU_C10_Commonorder,type=tg"`
	ORC *ORC    `hl7:"21,required,display=Common Order"`
	PRT []PRT   `hl7:"22,display=Participation Information"`
}

Commonorder

type CSU_C10_Patient

type CSU_C10_Patient struct {
	HL7        HL7Name              `hl7:",name=CSU_C10_Patient,type=tg"`
	PID        *PID                 `hl7:"4,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"5,display=Patient Additional Demographic"`
	PRT        []PRT                `hl7:"6,display=Participation Information"`
	NTE        []NTE                `hl7:"7,display=Notes And Comments"`
	Visit      *CSU_C10_Visit       `hl7:",display=Visit"`
	CSR        *CSR                 `hl7:"11,required,display=Clinical Study Registration"`
	Studyphase []CSU_C10_Studyphase `hl7:",required,display=Study_phase"`
}

Patient

type CSU_C10_Rxadmin

type CSU_C10_Rxadmin struct {
	HL7 HL7Name `hl7:",name=CSU_C10_Rxadmin,type=tg"`
	RXA *RXA    `hl7:"23,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"24,required,display=Pharmacy/treatment Route"`
	PRT []PRT   `hl7:"25,display=Participation Information"`
}

Rxadmin

type CSU_C10_Studyobservation

type CSU_C10_Studyobservation struct {
	HL7       HL7Name             `hl7:",name=CSU_C10_Studyobservation,type=tg"`
	ORC       *ORC                `hl7:"14,display=Common Order"`
	OBR       *OBR                `hl7:"15,required,display=Observation Request"`
	PRT       []PRT               `hl7:"16,display=Participation Information"`
	Timingqty []CSU_C10_Timingqty `hl7:",display=Timing_qty"`
	OBX       *OBX                `hl7:"19,required,display=Observation/result"`
	PRT2      []PRT               `hl7:"20,display=Participation Information"`
}

Studyobservation

type CSU_C10_Studypharm

type CSU_C10_Studypharm struct {
	HL7         HL7Name              `hl7:",name=CSU_C10_Studypharm,type=tg"`
	Commonorder *CSU_C10_Commonorder `hl7:",display=Common_order"`
	Rxadmin     []CSU_C10_Rxadmin    `hl7:",required,display=Rx_admin"`
}

Studypharm

type CSU_C10_Studyphase

type CSU_C10_Studyphase struct {
	HL7           HL7Name                 `hl7:",name=CSU_C10_Studyphase,type=tg"`
	CSP           *CSP                    `hl7:"12,display=Clinical Study Phase"`
	Studyschedule []CSU_C10_Studyschedule `hl7:",required,display=Study_schedule"`
}

Studyphase

type CSU_C10_Studyschedule

type CSU_C10_Studyschedule struct {
	HL7              HL7Name                    `hl7:",name=CSU_C10_Studyschedule,type=tg"`
	CSS              *CSS                       `hl7:"13,display=Clinical Study Data Schedule Segment"`
	Studyobservation []CSU_C10_Studyobservation `hl7:",required,display=Study_observation"`
	Studypharm       []CSU_C10_Studypharm       `hl7:",required,display=Study_pharm"`
}

Studyschedule

type CSU_C10_Timingqty

type CSU_C10_Timingqty struct {
	HL7 HL7Name `hl7:",name=CSU_C10_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timingqty

type CSU_C10_Visit

type CSU_C10_Visit struct {
	HL7 HL7Name `hl7:",name=CSU_C10_Visit,type=tg"`
	PV1 *PV1    `hl7:"8,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Visit

type CSU_C11

type CSU_C11 struct {
	HL7     HL7Name           `hl7:",name=CSU_C11,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CSU_C11_Patient `hl7:",required,display=Patient"`
}

Patient completes a phase of the clinical trial

Data are entered in the clinical trials system or may reside in laboratory, pathology, radiology, pharmacy and/or other clinical applications. Most clinical trials data - clinical observations and study variables - will be communicated in OBR and OBX segments. The CSR, CSP, and CSS segments will identify the specific association these OBR and OBX have to the clinical trial. Data can be broadcast or transmitted in batch mode to study sponsors or the data management center for collaborative studies.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CSU_C11_Commonorder

type CSU_C11_Commonorder struct {
	HL7 HL7Name `hl7:",name=CSU_C11_Commonorder,type=tg"`
	ORC *ORC    `hl7:"21,required,display=Common Order"`
	PRT []PRT   `hl7:"22,display=Participation Information"`
}

Commonorder

type CSU_C11_Patient

type CSU_C11_Patient struct {
	HL7        HL7Name              `hl7:",name=CSU_C11_Patient,type=tg"`
	PID        *PID                 `hl7:"4,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"5,display=Patient Additional Demographic"`
	PRT        []PRT                `hl7:"6,display=Participation Information"`
	NTE        []NTE                `hl7:"7,display=Notes And Comments"`
	Visit      *CSU_C11_Visit       `hl7:",display=Visit"`
	CSR        *CSR                 `hl7:"11,required,display=Clinical Study Registration"`
	Studyphase []CSU_C11_Studyphase `hl7:",required,display=Study_phase"`
}

Patient

type CSU_C11_Rxadmin

type CSU_C11_Rxadmin struct {
	HL7 HL7Name `hl7:",name=CSU_C11_Rxadmin,type=tg"`
	RXA *RXA    `hl7:"23,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"24,required,display=Pharmacy/treatment Route"`
	PRT []PRT   `hl7:"25,display=Participation Information"`
}

Rxadmin

type CSU_C11_Studyobservation

type CSU_C11_Studyobservation struct {
	HL7       HL7Name             `hl7:",name=CSU_C11_Studyobservation,type=tg"`
	ORC       *ORC                `hl7:"14,display=Common Order"`
	OBR       *OBR                `hl7:"15,required,display=Observation Request"`
	PRT       []PRT               `hl7:"16,display=Participation Information"`
	Timingqty []CSU_C11_Timingqty `hl7:",display=Timing_qty"`
	OBX       *OBX                `hl7:"19,required,display=Observation/result"`
	PRT2      []PRT               `hl7:"20,display=Participation Information"`
}

Studyobservation

type CSU_C11_Studypharm

type CSU_C11_Studypharm struct {
	HL7         HL7Name              `hl7:",name=CSU_C11_Studypharm,type=tg"`
	Commonorder *CSU_C11_Commonorder `hl7:",display=Common_order"`
	Rxadmin     []CSU_C11_Rxadmin    `hl7:",required,display=Rx_admin"`
}

Studypharm

type CSU_C11_Studyphase

type CSU_C11_Studyphase struct {
	HL7           HL7Name                 `hl7:",name=CSU_C11_Studyphase,type=tg"`
	CSP           *CSP                    `hl7:"12,display=Clinical Study Phase"`
	Studyschedule []CSU_C11_Studyschedule `hl7:",required,display=Study_schedule"`
}

Studyphase

type CSU_C11_Studyschedule

type CSU_C11_Studyschedule struct {
	HL7              HL7Name                    `hl7:",name=CSU_C11_Studyschedule,type=tg"`
	CSS              *CSS                       `hl7:"13,display=Clinical Study Data Schedule Segment"`
	Studyobservation []CSU_C11_Studyobservation `hl7:",required,display=Study_observation"`
	Studypharm       []CSU_C11_Studypharm       `hl7:",required,display=Study_pharm"`
}

Studyschedule

type CSU_C11_Timingqty

type CSU_C11_Timingqty struct {
	HL7 HL7Name `hl7:",name=CSU_C11_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timingqty

type CSU_C11_Visit

type CSU_C11_Visit struct {
	HL7 HL7Name `hl7:",name=CSU_C11_Visit,type=tg"`
	PV1 *PV1    `hl7:"8,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Visit

type CSU_C12

type CSU_C12 struct {
	HL7     HL7Name           `hl7:",name=CSU_C12,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	Patient []CSU_C12_Patient `hl7:",required,display=Patient"`
}

Update/correction of patient order/result information

Data are entered in the clinical trials system or may reside in laboratory, pathology, radiology, pharmacy and/or other clinical applications. Most clinical trials data - clinical observations and study variables - will be communicated in OBR and OBX segments. The CSR, CSP, and CSS segments will identify the specific association these OBR and OBX have to the clinical trial. Data can be broadcast or transmitted in batch mode to study sponsors or the data management center for collaborative studies.

The general acknowledgement message as defined in Chapter 2 should be used for any acknowledgements.

type CSU_C12_Commonorder

type CSU_C12_Commonorder struct {
	HL7 HL7Name `hl7:",name=CSU_C12_Commonorder,type=tg"`
	ORC *ORC    `hl7:"21,required,display=Common Order"`
	PRT []PRT   `hl7:"22,display=Participation Information"`
}

Commonorder

type CSU_C12_Patient

type CSU_C12_Patient struct {
	HL7        HL7Name              `hl7:",name=CSU_C12_Patient,type=tg"`
	PID        *PID                 `hl7:"4,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"5,display=Patient Additional Demographic"`
	PRT        []PRT                `hl7:"6,display=Participation Information"`
	NTE        []NTE                `hl7:"7,display=Notes And Comments"`
	Visit      *CSU_C12_Visit       `hl7:",display=Visit"`
	CSR        *CSR                 `hl7:"11,required,display=Clinical Study Registration"`
	Studyphase []CSU_C12_Studyphase `hl7:",required,display=Study_phase"`
}

Patient

type CSU_C12_Rxadmin

type CSU_C12_Rxadmin struct {
	HL7 HL7Name `hl7:",name=CSU_C12_Rxadmin,type=tg"`
	RXA *RXA    `hl7:"23,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"24,required,display=Pharmacy/treatment Route"`
	PRT []PRT   `hl7:"25,display=Participation Information"`
}

Rxadmin

type CSU_C12_Studyobservation

type CSU_C12_Studyobservation struct {
	HL7       HL7Name             `hl7:",name=CSU_C12_Studyobservation,type=tg"`
	ORC       *ORC                `hl7:"14,display=Common Order"`
	OBR       *OBR                `hl7:"15,required,display=Observation Request"`
	PRT       []PRT               `hl7:"16,display=Participation Information"`
	Timingqty []CSU_C12_Timingqty `hl7:",display=Timing_qty"`
	OBX       *OBX                `hl7:"19,required,display=Observation/result"`
	PRT2      []PRT               `hl7:"20,display=Participation Information"`
}

Studyobservation

type CSU_C12_Studypharm

type CSU_C12_Studypharm struct {
	HL7         HL7Name              `hl7:",name=CSU_C12_Studypharm,type=tg"`
	Commonorder *CSU_C12_Commonorder `hl7:",display=Common_order"`
	Rxadmin     []CSU_C12_Rxadmin    `hl7:",required,display=Rx_admin"`
}

Studypharm

type CSU_C12_Studyphase

type CSU_C12_Studyphase struct {
	HL7           HL7Name                 `hl7:",name=CSU_C12_Studyphase,type=tg"`
	CSP           *CSP                    `hl7:"12,display=Clinical Study Phase"`
	Studyschedule []CSU_C12_Studyschedule `hl7:",required,display=Study_schedule"`
}

Studyphase

type CSU_C12_Studyschedule

type CSU_C12_Studyschedule struct {
	HL7              HL7Name                    `hl7:",name=CSU_C12_Studyschedule,type=tg"`
	CSS              *CSS                       `hl7:"13,display=Clinical Study Data Schedule Segment"`
	Studyobservation []CSU_C12_Studyobservation `hl7:",required,display=Study_observation"`
	Studypharm       []CSU_C12_Studypharm       `hl7:",required,display=Study_pharm"`
}

Studyschedule

type CSU_C12_Timingqty

type CSU_C12_Timingqty struct {
	HL7 HL7Name `hl7:",name=CSU_C12_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timingqty

type CSU_C12_Visit

type CSU_C12_Visit struct {
	HL7 HL7Name `hl7:",name=CSU_C12_Visit,type=tg"`
	PV1 *PV1    `hl7:"8,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Visit

type CTD

type CTD struct {
	HL7                             HL7Name `hl7:",name=CTD,type=s"`
	ContactRole                     []CWE   `hl7:"1,required,table=0131,display=Contact Role"`
	ContactName                     []XPN   `hl7:"2,display=Contact Name"`
	ContactAddress                  []XAD   `hl7:"3,display=Contact Address"`
	ContactLocation                 *PL     `hl7:"4,display=Contact Location"`
	ContactCommunicationInformation []XTN   `hl7:"5,display=Contact Communication Information"`
	PreferredMethodOfContact        *CWE    `hl7:"6,table=0185,display=Preferred Method Of Contact"`
	ContactIdentifiers              []PLN   `hl7:"7,display=Contact Identifiers"`
}

Contact Data

The CTD segment may identify any contact personnel associated with a patient referral message and its related transactions. The CTD segment will be paired with a PRD segment. The PRD segment contains data specifically focused on provider information in a referral. While it is important in an inter-enterprise transaction to transmit specific information regarding the providers involved (referring and referred-to), it may also be important to identify the contact personnel associated with the given provider. For example, a provider receiving a referral may need to know the office manager or the billing person at the institution of the provider who sent the referral. This segment allows for multiple contact personnel to be associated with a single provider.

type CTI

type CTI struct {
	HL7                     HL7Name `hl7:",name=CTI,type=s"`
	SponsorStudyID          EI      `hl7:"1,required,display=Sponsor Study Id"`
	StudyPhaseIdentifier    *CWE    `hl7:"2,conditional,display=Study Phase Identifier"`
	StudyScheduledTimePoint *CWE    `hl7:"3,table=9999,display=Study Scheduled Time Point"`
}

Clinical Trial Identification

The CTI segment is an optional segment that contains information to identify the clinical trial, phase and time point with which an order or result is associated.

type CWE

type CWE struct {
	HL7                                  HL7Name `hl7:",name=CWE,len=0,type=d"`
	Identifier                           ST      `` /* 207-byte string literal not displayed */
	Text                                 ST      `` /* 149-byte string literal not displayed */
	NameOfCodingSystem                   ID      `` /* 905-byte string literal not displayed */
	AlternateIdentifier                  ST      `` /* 454-byte string literal not displayed */
	AlternateText                        ST      `` /* 144-byte string literal not displayed */
	NameOfAlternateCodingSystem          ID      `` /* 694-byte string literal not displayed */
	CodingSystemVersionID                ST      `` /* 511-byte string literal not displayed */
	AlternateCodingSystemVersionID       ST      `` /* 149-byte string literal not displayed */
	OriginalText                         ST      `` /* 497-byte string literal not displayed */
	SecondAlternateIdentifier            ST      `hl7:"10,display=A sequence of characters that uniquely identifies a second alternate code. Analogous to CWE.1- Identifier. "`
	SecondAlternateText                  ST      `` /* 144-byte string literal not displayed */
	NameOfSecondAlternateCodingSystem    ID      `` /* 695-byte string literal not displayed */
	SecondAlternateCodingSystemVersionID ST      `` /* 152-byte string literal not displayed */
	CodingSystemOid                      ST      `` /* 517-byte string literal not displayed */
	ValueSetOid                          ST      `` /* 878-byte string literal not displayed */
	ValueSetVersionID                    DTM     `` /* 268-byte string literal not displayed */
	AlternateCodingSystemOid             ST      `` /* 558-byte string literal not displayed */
	AlternateValueSetOid                 ST      `` /* 878-byte string literal not displayed */
	AlternateValueSetVersionID           DTM     `` /* 268-byte string literal not displayed */
	SecondAlternateCodingSystemOid       ST      `` /* 564-byte string literal not displayed */
	SecondAlternateValueSetOid           ST      `` /* 879-byte string literal not displayed */
	SecondAlternateValueSetVersionID     DTM     `` /* 268-byte string literal not displayed */
}

Coded With Exceptions

Specifies a coded element and its associated detail. The CWE data type is used when 1) more than one table may be applicable or 2) the specified HL7 or externally defined table may be extended with local values or 3) when text is in place, the code may be omitted.

The presence of two sets of equivalent codes in this data type is semantically different from a repetition of a CWE-type field. With repetition, several distinct codes (with distinct meanings) may be transmitted.

Usage Notes: The CWE data type should be used for coded fields with one or more of the following characteristics: - The identifier code (CWE.1) component is optional - The set of allowable values from which the identifier code is drawn may be extended on a site-specific basis - An exception identifier code may be encountered; that is, a code that is not defined in the value set (either model or site-extended).

This is in contrast to the CNE data type, which requires a code from a non-extendable value set be sent in the identifier code component (CNE.1) in all cases (except, of course, if the entire field is empty and defined as optional at the segment level).

As of v2.7 a third tuple, formerly known as triplet, has been added to the CWE data type. Additionally, 3 new components were added to each tuple such that each tuple now has a total of 7 components. The Original Text component applies to the CWE as a whole.

type CX

type CX struct {
	HL7                         HL7Name `hl7:",name=CX,len=0,type=d"`
	IDNumber                    ST      `hl7:"1,required,display=The value of the identifier itself."`
	IdentifierCheckDigit        ST      `` /* 222-byte string literal not displayed */
	CheckDigitScheme            ID      `` /* 254-byte string literal not displayed */
	AssigningAuthority          *HD     `` /* 1343-byte string literal not displayed */
	IdentifierTypeCode          ID      `` /* 206-byte string literal not displayed */
	AssigningFacility           *HD     `` /* 643-byte string literal not displayed */
	EffectiveDate               DT      `hl7:"7,format=YMD,display=The first date- if known- on which the identifier is valid and active."`
	ExpirationDate              DT      `hl7:"8,format=YMD,display=The last date- if known- on which the identifier is valid and active."`
	AssigningJurisdiction       *CWE    `` /* 855-byte string literal not displayed */
	AssigningAgencyOrDepartment *CWE    `` /* 1644-byte string literal not displayed */
	SecurityCheck               ST      `hl7:"11,display=This component is used to communicate a version code that may be assigned to the value given in CX.1 ID."`
	SecurityCheckScheme         ID      `` /* 366-byte string literal not displayed */
}

Extended Composite Id With Check Digit

This data type is used for specifying an identifier with its associated administrative detail.

Note: The check digit and check digit scheme are null if ID is alphanumeric.

Example: |1234567^4^M11^ADT01^MR^University Hospital|

type DB1

type DB1 struct {
	HL7                        HL7Name `hl7:",name=DB1,type=s"`
	SetID                      SI      `hl7:"1,seq,required,len=4,display=Set Id - Db1"`
	DisabledPersonCode         *CWE    `hl7:"2,table=0334,display=Disabled Person Code"`
	DisabledPersonIdentifier   []CX    `hl7:"3,display=Disabled Person Identifier"`
	DisabilityIndicator        ID      `hl7:"4,len=1,table=0136,display=Disability Indicator"`
	DisabilityStartDate        DT      `hl7:"5,format=YMD,display=Disability Start Date"`
	DisabilityEndDate          DT      `hl7:"6,format=YMD,display=Disability End Date"`
	DisabilityReturnToWorkDate DT      `hl7:"7,format=YMD,display=Disability Return To Work Date"`
	DisabilityUnableToWorkDate DT      `hl7:"8,format=YMD,display=Disability Unable To Work Date"`
}

Disability

The disability segment contains information related to the disability of a person. This segment was created instead of adding disability attributes to each segment that contains a person (to which disability may apply). This is an optional segment that can be used to send disability information about a person already defined by the Patient Administration Chapter. The disabled person code and identifier allow for the association of the disability information to the person.

type DDI

type DDI struct {
	HL7            HL7Name `hl7:",name=DDI,len=0,type=d"`
	DelayDays      NM      `hl7:"1,display=The number of days after which the daily deductible begins."`
	MonetaryAmount MO      `hl7:"2,required,display=The monetary amount of the deductible."`
	NumberOfDays   NM      `` /* 143-byte string literal not displayed */
}

Daily Deductible Information

This data type specifies the detail information for the daily deductible.

Note: Replaces the CM data type used in section 6.5.7.30 IN2-30, as of v 2.5.

type DFT_P03

type DFT_P03 struct {
	HL7         HL7Name               `hl7:",name=DFT_P03,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1         *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	ROL         []ROL                 `hl7:"7,display=Role"`
	PV1         *PV1                  `hl7:"8,display=Patient Visit"`
	PV2         *PV2                  `hl7:"9,display=Patient Visit - Additional Information"`
	ROL2        []ROL                 `hl7:"10,display=Role"`
	DB1         []DB1                 `hl7:"11,display=Disability"`
	Commonorder []DFT_P03_Commonorder `hl7:",display=Common_order"`
	Financial   []DFT_P03_Financial   `hl7:",required,display=Financial"`
	DG1         []DG1                 `hl7:"30,display=Diagnosis"`
	DRG         *DRG                  `hl7:"31,display=Diagnosis Related Group"`
	GT1         []GT1                 `hl7:"32,display=Guarantor"`
	Insurance   []DFT_P03_Insurance   `hl7:",display=Insurance"`
	ACC         *ACC                  `hl7:"37,display=Accident"`
}

Post detail financial transaction

The Detail Financial Transaction (DFT) message is used to describe a financial transaction transmitted between systems, that is, to the billing system for ancillary charges, ADT to billing system for patient deposits, etc.

Use case for Post Detail Financial Transaction with related Order:

This information can originate in many ways. For instance, a detailed financial transaction for an ancillary charge is sent to a billing system that also tracks the transaction(s) in relation to their order via placer order number or wishes to post these transactions with the additional order information. Therefore a service reaches a state where a detailed financial transaction is created and interfaced to other systems along with optional associated order information. If the message contains multiple transactions for the same order, such as a test service and venipuncture charge on the same order, the ordering information is entered in the Order segment construct that precedes the FT1 segments. If a message contains multiple transactions for disparate orders for the same account each FT1 segment construct may contain the order related information specific to that transaction within the message.

If the common order information is sent, the Order Control Code should reflect the current state of the common order and is not intended to initiate any order related triggers on the receiving application. For example if observations are included along with common order information the order control code would indicate ‘RE’ as observations to follow.

If common order information is sent related to the entire message or a specific financial transaction, the required Order Control Code should reflect the current state of the common order and is not intended to initiate any order related triggers on the receiving application. For example if observations are included along with common order information the order control code would indicate ‘RE’ as observations to follow.

If order detail information is sent related to the entire message or a specific financial transaction, the required fields for that detail segment must accompany that information.

Note: The ROL segment is optionally included after the PD1 to transmit information for patient level primary care providers, after the PV2 for additional information on the physicians whose information is sent there (i.e., Attending Doctor, Referring Doctor, Consulting Doctor), and within the insurance construct to transmit information for insurance level primary care providers.

Note: There is an information overlap between the FT1, DG1 and PR1 segments. If diagnosis information is sent in an FT1 segment, it should be consistent with the information contained in any DG1 segments present within its hierarchy. Since the procedure code field within the FT1 does not repeat, if procedure information is sent on an FT1 it is recommended that the single occurrence of the code in FT1 equates to the primary procedure (PR1-14 - Procedure Priority code value 1).

Note: The extra set of DG1/DRG/GT1/IN1/IN2/IN3/ROL segments added in V2.4 have been withdrawn as a technical correction

type DFT_P03_Commonorder

type DFT_P03_Commonorder struct {
	HL7            HL7Name                  `hl7:",name=DFT_P03_Commonorder,type=tg"`
	ORC            *ORC                     `hl7:"12,display=Common Order"`
	Timingquantity []DFT_P03_Timingquantity `hl7:",display=Timing_quantity"`
	Order          *DFT_P03_Order           `hl7:",display=Order"`
	Observation    []DFT_P03_Observation    `hl7:",display=Observation"`
}

Commonorder

type DFT_P03_Financial

type DFT_P03_Financial struct {
	HL7                  HL7Name                        `hl7:",name=DFT_P03_Financial,type=tg"`
	FT1                  *FT1                           `hl7:"19,required,display=Financial Transaction"`
	NTE                  *NTE                           `hl7:"20,display=Notes And Comments"`
	Financialprocedure   []DFT_P03_Financialprocedure   `hl7:",display=Financial_procedure"`
	Financialcommonorder []DFT_P03_Financialcommonorder `hl7:",display=Financial_common_order"`
}

Financial

type DFT_P03_Financialcommonorder

type DFT_P03_Financialcommonorder struct {
	HL7                     HL7Name                           `hl7:",name=DFT_P03_Financialcommonorder,type=tg"`
	ORC                     *ORC                              `hl7:"23,display=Common Order"`
	Financialtimingquantity []DFT_P03_Financialtimingquantity `hl7:",display=Financial_timing_quantity"`
	Financialorder          *DFT_P03_Financialorder           `hl7:",display=Financial_order"`
	Financialobservation    []DFT_P03_Financialobservation    `hl7:",display=Financial_observation"`
}

Financialcommonorder

type DFT_P03_Financialobservation

type DFT_P03_Financialobservation struct {
	HL7 HL7Name `hl7:",name=DFT_P03_Financialobservation,type=tg"`
	OBX *OBX    `hl7:"28,required,display=Observation/result"`
	NTE []NTE   `hl7:"29,display=Notes And Comments"`
}

Financialobservation

type DFT_P03_Financialorder

type DFT_P03_Financialorder struct {
	HL7 HL7Name `hl7:",name=DFT_P03_Financialorder,type=tg"`
	OBR *OBR    `hl7:"26,required,display=Observation Request"`
	NTE []NTE   `hl7:"27,display=Notes And Comments"`
}

Financialorder

type DFT_P03_Financialprocedure

type DFT_P03_Financialprocedure struct {
	HL7 HL7Name `hl7:",name=DFT_P03_Financialprocedure,type=tg"`
	PR1 *PR1    `hl7:"21,required,display=Procedures"`
	ROL []ROL   `hl7:"22,display=Role"`
}

Financialprocedure

type DFT_P03_Financialtimingquantity

type DFT_P03_Financialtimingquantity struct {
	HL7 HL7Name `hl7:",name=DFT_P03_Financialtimingquantity,type=tg"`
	TQ1 *TQ1    `hl7:"24,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"25,display=Timing/quantity Relationship"`
}

Financialtimingquantity

type DFT_P03_Insurance

type DFT_P03_Insurance struct {
	HL7 HL7Name `hl7:",name=DFT_P03_Insurance,type=tg"`
	IN1 *IN1    `hl7:"33,required,display=Insurance"`
	IN2 *IN2    `hl7:"34,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"35,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"36,display=Role"`
}

Insurance

type DFT_P03_Observation

type DFT_P03_Observation struct {
	HL7 HL7Name `hl7:",name=DFT_P03_Observation,type=tg"`
	OBX *OBX    `hl7:"17,required,display=Observation/result"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Observation

type DFT_P03_Order

type DFT_P03_Order struct {
	HL7 HL7Name `hl7:",name=DFT_P03_Order,type=tg"`
	OBR *OBR    `hl7:"15,required,display=Observation Request"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Order

type DFT_P03_Timingquantity

type DFT_P03_Timingquantity struct {
	HL7 HL7Name `hl7:",name=DFT_P03_Timingquantity,type=tg"`
	TQ1 *TQ1    `hl7:"13,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"14,display=Timing/quantity Relationship"`
}

Timingquantity

type DFT_P11

type DFT_P11 struct {
	HL7         HL7Name               `hl7:",name=DFT_P11,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1         *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	ROL         []ROL                 `hl7:"7,display=Role"`
	PV1         *PV1                  `hl7:"8,display=Patient Visit"`
	PV2         *PV2                  `hl7:"9,display=Patient Visit - Additional Information"`
	ROL2        []ROL                 `hl7:"10,display=Role"`
	DB1         []DB1                 `hl7:"11,display=Disability"`
	Commonorder []DFT_P11_Commonorder `hl7:",display=Common_order"`
	DG1         []DG1                 `hl7:"19,display=Diagnosis"`
	DRG         *DRG                  `hl7:"20,display=Diagnosis Related Group"`
	GT1         []GT1                 `hl7:"21,display=Guarantor"`
	Insurance   []DFT_P11_Insurance   `hl7:",display=Insurance"`
	ACC         *ACC                  `hl7:"26,display=Accident"`
	Financial   []DFT_P11_Financial   `hl7:",required,display=Financial"`
}

Post Detail Financial Transactions - New

The Detail Financial Transaction (DFT) - Expanded message is used to describe a financial transaction transmitted between systems, that is, to the billing system for ancillary charges, ADT to billing system for patient deposits, etc. It serves the same function as the Post Detail Financial Transactions (event P03) message, but also supports the use cases described below.

Use case for adding the INx and GT1 segments inside the FT1 repetition:

If the insurance and/or the guarantor information is specific to a certain financial transaction of a patient and differs from the patient's regular insurance and/or guarantor, you may use the INx and GT1 segments related to the FT1 segment. If being used, the information supersedes the information on the patient level.

Example: Before being employed by a company, a pre-employment physical is required. The cost of the examinations is paid by the company, and not by the person’s private health insurance. One of the physicians examining the person is an eye doctor. For efficiency reasons, the person made an appointment for these examinations on the same day as he already had an appointment with his eye doctor in the same hospital. The costs for this eye doctor appointment are being paid by the patient's private health insurance. Both financial transactions for the same patient/person could be sent in the same message. To bill the examination for the future-employer to that organization, you need to use the GT1 segment that is related to the FT1.

Note: The ROL segment is optionally included after the PD1 to transmit information for patient level primary care providers, after the PV2 for additional information on the physicians whose information is sent there (i.e., Attending Doctor, Referring Doctor, Consulting Doctor), and within the insurance construct to transmit information for insurance level primary care providers.

Note: There is an information overlap between the FT1, DG1 and PR1 segments. If diagnosis information is sent in an FT1 segment, it should be consistent with the information contained in any DG1 segments present within its hierarchy. Since the procedure code field within the FT1 does not repeat, if procedure information is sent on an FT1 it is recommended that the single occurrence of the code in FT1 equates to the primary procedure (PR1-14 - Procedure Priority code value 1).

type DFT_P11_Commonorder

type DFT_P11_Commonorder struct {
	HL7            HL7Name                  `hl7:",name=DFT_P11_Commonorder,type=tg"`
	ORC            *ORC                     `hl7:"12,display=Common Order"`
	Timingquantity []DFT_P11_Timingquantity `hl7:",display=Timing_quantity"`
	Order          *DFT_P11_Order           `hl7:",display=Order"`
	Observation    []DFT_P11_Observation    `hl7:",display=Observation"`
}

Commonorder

type DFT_P11_Financial

type DFT_P11_Financial struct {
	HL7                  HL7Name                        `hl7:",name=DFT_P11_Financial,type=tg"`
	FT1                  *FT1                           `hl7:"27,required,display=Financial Transaction"`
	Financialprocedure   []DFT_P11_Financialprocedure   `hl7:",display=Financial_procedure"`
	Financialcommonorder []DFT_P11_Financialcommonorder `hl7:",display=Financial_common_order"`
	DG1                  []DG1                          `hl7:"37,display=Diagnosis"`
	DRG                  *DRG                           `hl7:"38,display=Diagnosis Related Group"`
	GT1                  []GT1                          `hl7:"39,display=Guarantor"`
	Financialinsurance   []DFT_P11_Financialinsurance   `hl7:",display=Financial_insurance"`
}

Financial

type DFT_P11_Financialcommonorder

type DFT_P11_Financialcommonorder struct {
	HL7                     HL7Name                           `hl7:",name=DFT_P11_Financialcommonorder,type=tg"`
	ORC                     *ORC                              `hl7:"30,display=Common Order"`
	Financialtimingquantity []DFT_P11_Financialtimingquantity `hl7:",display=Financial_timing_quantity"`
	Financialorder          *DFT_P11_Financialorder           `hl7:",display=Financial_order"`
	Financialobservation    []DFT_P11_Financialobservation    `hl7:",display=Financial_observation"`
}

Financialcommonorder

type DFT_P11_Financialinsurance

type DFT_P11_Financialinsurance struct {
	HL7 HL7Name `hl7:",name=DFT_P11_Financialinsurance,type=tg"`
	IN1 *IN1    `hl7:"40,required,display=Insurance"`
	IN2 *IN2    `hl7:"41,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"42,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"43,display=Role"`
}

Financialinsurance

type DFT_P11_Financialobservation

type DFT_P11_Financialobservation struct {
	HL7 HL7Name `hl7:",name=DFT_P11_Financialobservation,type=tg"`
	OBX *OBX    `hl7:"35,required,display=Observation/result"`
	NTE []NTE   `hl7:"36,display=Notes And Comments"`
}

Financialobservation

type DFT_P11_Financialorder

type DFT_P11_Financialorder struct {
	HL7 HL7Name `hl7:",name=DFT_P11_Financialorder,type=tg"`
	OBR *OBR    `hl7:"33,required,display=Observation Request"`
	NTE []NTE   `hl7:"34,display=Notes And Comments"`
}

Financialorder

type DFT_P11_Financialprocedure

type DFT_P11_Financialprocedure struct {
	HL7 HL7Name `hl7:",name=DFT_P11_Financialprocedure,type=tg"`
	PR1 *PR1    `hl7:"28,required,display=Procedures"`
	ROL []ROL   `hl7:"29,display=Role"`
}

Financialprocedure

type DFT_P11_Financialtimingquantity

type DFT_P11_Financialtimingquantity struct {
	HL7 HL7Name `hl7:",name=DFT_P11_Financialtimingquantity,type=tg"`
	TQ1 *TQ1    `hl7:"31,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"32,display=Timing/quantity Relationship"`
}

Financialtimingquantity

type DFT_P11_Insurance

type DFT_P11_Insurance struct {
	HL7 HL7Name `hl7:",name=DFT_P11_Insurance,type=tg"`
	IN1 *IN1    `hl7:"22,required,display=Insurance"`
	IN2 *IN2    `hl7:"23,display=Insurance Additional Information"`
	IN3 []IN3   `hl7:"24,display=Insurance Additional Information- Certification"`
	ROL []ROL   `hl7:"25,display=Role"`
}

Insurance

type DFT_P11_Observation

type DFT_P11_Observation struct {
	HL7 HL7Name `hl7:",name=DFT_P11_Observation,type=tg"`
	OBX *OBX    `hl7:"17,required,display=Observation/result"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Observation

type DFT_P11_Order

type DFT_P11_Order struct {
	HL7 HL7Name `hl7:",name=DFT_P11_Order,type=tg"`
	OBR *OBR    `hl7:"15,required,display=Observation Request"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Order

type DFT_P11_Timingquantity

type DFT_P11_Timingquantity struct {
	HL7 HL7Name `hl7:",name=DFT_P11_Timingquantity,type=tg"`
	TQ1 *TQ1    `hl7:"13,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"14,display=Timing/quantity Relationship"`
}

Timingquantity

type DG1

type DG1 struct {
	HL7                             HL7Name `hl7:",name=DG1,type=s"`
	SetID                           SI      `hl7:"1,seq,required,len=4,display=Set Id - Dg1"`
	DiagnosisCodingMethod           ID      `hl7:"2,display=Diagnosis Coding Method"`
	DiagnosisCode                   CWE     `hl7:"3,required,table=0051,display=Diagnosis Code - Dg1"`
	DiagnosisDescription            ST      `hl7:"4,display=Diagnosis Description"`
	DiagnosisDateTime               DTM     `hl7:"5,format=YMDHM,display=Diagnosis Date/Time"`
	DiagnosisType                   CWE     `hl7:"6,required,table=0052,display=Diagnosis Type"`
	MajorDiagnosticCategory         CNE     `hl7:"7,table=0118,display=Major Diagnostic Category"`
	DiagnosticRelatedGroup          CNE     `hl7:"8,table=0055,display=Diagnostic Related Group"`
	DrgApprovalIndicator            ID      `hl7:"9,len=1,table=0136,display=Drg Approval Indicator"`
	DrgGrouperReviewCode            CWE     `hl7:"10,table=0056,display=Drg Grouper Review Code"`
	OutlierType                     CWE     `hl7:"11,table=0083,display=Outlier Type"`
	OutlierDays                     NM      `hl7:"12,display=Outlier Days"`
	OutlierCost                     CP      `hl7:"13,display=Outlier Cost"`
	GrouperVersionAndType           ST      `hl7:"14,display=Grouper Version And Type"`
	DiagnosisPriority               NM      `hl7:"15,table=0359,display=Diagnosis Priority"`
	DiagnosingClinician             []XCN   `hl7:"16,display=Diagnosing Clinician"`
	DiagnosisClassification         *CWE    `hl7:"17,table=0228,display=Diagnosis Classification"`
	ConfidentialIndicator           ID      `hl7:"18,len=1,table=0136,display=Confidential Indicator"`
	AttestationDateTime             DTM     `hl7:"19,format=YMDHM,display=Attestation Date/Time"`
	DiagnosisIdentifier             *EI     `hl7:"20,conditional,display=Diagnosis Identifier"`
	DiagnosisActionCode             ID      `hl7:"21,conditional,len=1,table=0206,display=Diagnosis Action Code"`
	ParentDiagnosis                 *EI     `hl7:"22,conditional,display=Parent Diagnosis"`
	DrgCclValueCode                 *CWE    `hl7:"23,table=0728,display=Drg Ccl Value Code"`
	DrgGroupingUsage                ID      `hl7:"24,len=1,table=0136,display=Drg Grouping Usage"`
	DrgDiagnosisDeterminationStatus *CWE    `hl7:"25,table=0731,display=Drg Diagnosis Determination Status"`
	PresentOnAdmissionPoaIndicator  *CWE    `hl7:"26,table=0895,display=Present On Admission (poa) Indicator"`
}

Diagnosis

The DG1 segment contains patient diagnosis information of various types, for example, admitting, primary, etc. The DG1 segment is used to send multiple diagnoses (for example, for medical records encoding). It is also used when the FT1-19 - Diagnosis Code - FT1 does not provide sufficient information for a billing system. This diagnosis coding should be distinguished from the clinical problem segment used by caregivers to manage the patient (see Chapter 12, Patient Care). Coding methodologies are also defined.

type DIN

type DIN struct {
	HL7             HL7Name `hl7:",name=DIN,len=0,type=d"`
	Date            DTM     `hl7:"1,required,format=YMDHM,display=Specifies the date when a staff member became active or inactive."`
	InstitutionName CWE     `` /* 169-byte string literal not displayed */
}

Date And Institution Name

Specifies the date and institution information where a staff member became active or inactive.

Note: Replaces the CM data type used in sections 15.4.6.12 STF-12 and 15.4.6.14 STF-13, as of v 2.5.

type DLD

type DLD struct {
	HL7                 HL7Name `hl7:",name=DLD,len=0,type=d"`
	DischargeToLocation CWE     `` /* 201-byte string literal not displayed */
	EffectiveDate       DTM     `hl7:"2,format=YMDHM,display=Specifies the date on which the patient was discharged to a healthcare facility."`
}

Discharge To Location And Date

Specifies the healthcare facility to which the patient was discharged and the date.

Note: Replaces the CM data type used in section 3.4.3.37 PV1-37, as of v 2.5.

type DLN

type DLN struct {
	HL7                         HL7Name `hl7:",name=DLN,len=0,type=d"`
	LicenseNumber               ST      `hl7:"1,required,display=This field contains the driver’s license number"`
	IssuingStateProvinceCountry *CWE    `` /* 480-byte string literal not displayed */
	ExpirationDate              DT      `hl7:"3,format=YMD,display=Expiration date (DT) for driver’s license."`
}

Driver's License Number

This field contains the driver’s license information. For state or province refer to official postal codes for that country; for country refer to ISO 3166 for codes.

type DLT

type DLT struct {
	HL7               HL7Name `hl7:",name=DLT,len=0,type=d"`
	NormalRange       *NR     `hl7:"1,display=Specifies the normal interval of the reference data."`
	NumericThreshold  NM      `hl7:"2,display=The numeric threshold of the change that is detected.   For example the threshold may be set to 10. "`
	ChangeComputation ID      `` /* 169-byte string literal not displayed */
	DaysRetained      NM      `hl7:"4,display=The length of time in days that the value is retained for computing delta checks."`
}

Delta

Describes the information that controls delta check warnings.

Note: Replaces the CM data type used in section 8.8.4.9 – OM2-9, as of v 2.5.

type DMI

type DMI struct {
	HL7                     HL7Name `hl7:",name=DMI,type=s"`
	DiagnosticRelatedGroup  *CNE    `hl7:"1,table=0055,display=Diagnostic Related Group"`
	MajorDiagnosticCategory *CNE    `hl7:"2,conditional,table=0118,display=Major Diagnostic Category"`
	LowerAndUpperTrimPoints *NR     `hl7:"3,conditional,display=Lower And Upper Trim Points"`
	AverageLengthOfStay     NM      `hl7:"4,conditional,display=Average Length Of Stay"`
	RelativeWeight          NM      `hl7:"5,conditional,display=Relative Weight"`
}

Drg Master File Information

The DMI segment contains the DRG related basic information, for example, relative weight, etc. The DMI segment is used to send the fixed information assigned to a specific DRG.

type DR

type DR struct {
	HL7                HL7Name `hl7:",name=DR,len=0,type=d"`
	RangeStartDateTime DTM     `hl7:"1,format=YMDHM,display=The first component contains the earliest date/time (time stamp) in the specified range."`
	RangeEndDateTime   DTM     `` /* 183-byte string literal not displayed */
}

Date/time Range

Note: DR cannot be legally expressed when embedded within another data type. Its use is constrained to a segment field.

type DRG

type DRG struct {
	HL7                        HL7Name `hl7:",name=DRG,type=s"`
	DiagnosticRelatedGroup     *CNE    `hl7:"1,table=0055,display=Diagnostic Related Group"`
	AssignedDateTime           DTM     `hl7:"2,format=YMDHM,display=Drg Assigned Date/Time"`
	ApprovalIndicator          ID      `hl7:"3,len=1,table=0136,display=Drg Approval Indicator"`
	GrouperReviewCode          *CWE    `hl7:"4,table=0056,display=Drg Grouper Review Code"`
	OutlierType                *CWE    `hl7:"5,table=0083,display=Outlier Type"`
	OutlierDays                NM      `hl7:"6,display=Outlier Days"`
	OutlierCost                *CP     `hl7:"7,display=Outlier Cost"`
	Payor                      *CWE    `hl7:"8,table=0229,display=Drg Payor"`
	OutlierReimbursement       *CP     `hl7:"9,display=Outlier Reimbursement"`
	ConfidentialIndicator      ID      `hl7:"10,len=1,table=0136,display=Confidential Indicator"`
	TransferType               *CWE    `hl7:"11,table=0415,display=Drg Transfer Type"`
	NameOfCoder                *XPN    `hl7:"12,display=Name Of Coder"`
	GrouperStatus              *CWE    `hl7:"13,table=0734,display=Grouper Status"`
	PcclValueCode              *CWE    `hl7:"14,table=0728,display=Pccl Value Code"`
	EffectiveWeight            NM      `hl7:"15,display=Effective Weight"`
	MonetaryAmount             *MO     `hl7:"16,display=Monetary Amount"`
	StatusPatient              *CWE    `hl7:"17,table=0739,display=Status Patient"`
	GrouperSoftwareName        ST      `hl7:"18,display=Grouper Software Name"`
	GrouperSoftwareVersion     ST      `hl7:"19,display=Grouper Software Version"`
	StatusFinancialCalculation *CWE    `hl7:"20,table=0742,display=Status Financial Calculation"`
	RelativeDiscountSurcharge  *MO     `hl7:"21,display=Relative Discount/Surcharge"`
	BasicCharge                *MO     `hl7:"22,display=Basic Charge"`
	TotalCharge                *MO     `hl7:"23,display=Total Charge"`
	DiscountSurcharge          *MO     `hl7:"24,display=Discount/Surcharge"`
	CalculatedDays             NM      `hl7:"25,display=Calculated Days"`
	StatusGender               *CWE    `hl7:"26,table=0749,display=Status Gender"`
	StatusAge                  *CWE    `hl7:"27,table=0749,display=Status Age"`
	StatusLengthOfStay         *CWE    `hl7:"28,table=0749,display=Status Length Of Stay"`
	StatusSameDayFlag          *CWE    `hl7:"29,table=0749,display=Status Same Day Flag"`
	StatusSeparationMode       *CWE    `hl7:"30,table=0749,display=Status Separation Mode"`
	StatusWeightAtBirth        *CWE    `hl7:"31,table=0755,display=Status Weight At Birth"`
	StatusRespirationMinutes   *CWE    `hl7:"32,table=0757,display=Status Respiration Minutes"`
	StatusAdmission            *CWE    `hl7:"33,table=0759,display=Status Admission"`
}

Diagnosis Related Group

The DRG segment contains diagnoses-related grouping information of various types. The DRG segment is used to send the DRG information, for example, for billing and medical records encoding.

type DSC

type DSC struct {
	HL7                 HL7Name `hl7:",name=DSC,type=s"`
	ContinuationPointer ST      `hl7:"1,display=Continuation Pointer"`
	ContinuationStyle   ID      `hl7:"2,len=1,table=0398,display=Continuation Style"`
}

Continuation Pointer

The DSC segment is used in the continuation protocol.

type DSP

type DSP struct {
	HL7               HL7Name `hl7:",name=DSP,type=s"`
	SetID             SI      `hl7:"1,seq,len=4,display=Set Id - Dsp"`
	DisplayLevel      SI      `hl7:"2,len=4,display=Display Level"`
	DataLine          TX      `hl7:"3,required,display=Data Line"`
	LogicalBreakPoint ST      `hl7:"4,display=Logical Break Point"`
	ResultID          TX      `hl7:"5,display=Result Id"`
}

Display Data

The DSP segment is used to contain data that has been preformatted by the sender for display. The semantic content of the data is lost; the data is simply treated as lines of text.

type DT

type DT = time.Time

Date

Specifies the century and year with optional precision to month and day.

The number of digits populated specifies the precision using the format specification YYYY[MM[DD]].

Examples: |19880704| |199503|

The DT data type does not follow the normal truncation pattern, and the truncation character is never valid in the DT data type. Instead, the truncation behavior is based on the semantics of dates.

Unless specified in the context where the DT type is used, the DT type may not be truncated. When a DT is truncated, the truncated form SHALL still be a valid DT type. Systems should always be able to persist full dates. Refer to Chapter 2, section 2.5.5.2 "Truncation Pattern" for further information. Note: Prior to v2.3, this data type was specified in the format YYYYMMDD. As of v2.3, month and days are no longer required. By site-specific agreement, YYYYMMDD may be used where backward compatibility must be maintained.

type DTM

type DTM = time.Time

Date/time

Specifies a point in time using a 24-hour clock notation.

The number of characters populated (excluding the time zone specification) specifies the precision.

Format: YYYY[MM[DD[HH[MM[SS[.S[S[S[S]]]]]]]]]+/-ZZZZ.

The time zone (+/-ZZZZ) is represented as +/-HHMM offset from Coordinated Universal Time (UTC) (formerly Greenwich Mean Time (GMT)), where +0000 or -0000 both represent UTC (without offset). The specific data representations used in the HL7 encoding rules are compatible with ISO 8824-1987(E).

Note: The time zone +/-ZZZZ, when used, is restricted to legally-defined time zones and is represented in HHMM format.

type DTN

type DTN struct {
	HL7          HL7Name `hl7:",name=DTN,len=0,type=d"`
	DayType      CWE     `` /* 163-byte string literal not displayed */
	NumberOfDays NM      `hl7:"2,required,display=Specifies the number of days for which the certification is valid."`
}

Day Type And Number

This data type specifies the type and number of days for which a certification is valid.

Note: Replaces the CM data type used in section 6.5.8.11 IN3-11, as of v2.5.

type EAC_U07

type EAC_U07 struct {
	HL7     HL7Name           `hl7:",name=EAC_U07,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	EQU     *EQU              `hl7:"4,required,display=Equipment Detail"`
	Command []EAC_U07_Command `hl7:",required,display=Command"`
	ROL     *ROL              `hl7:"10,display=Role"`
}

Automated equipment command

This message is used to send equipment commands from one application to another (e.g., a Laboratory Automation System to automated Equipment).

type EAC_U07_Command

type EAC_U07_Command struct {
	HL7               HL7Name                    `hl7:",name=EAC_U07_Command,type=tg"`
	ECD               *ECD                       `hl7:"5,required,display=Equipment Command"`
	TQ1               *TQ1                       `hl7:"6,display=Timing/quantity"`
	Specimencontainer *EAC_U07_Specimencontainer `hl7:",display=Specimen_container"`
	CNS               *CNS                       `hl7:"9,display=Clear Notification"`
}

Command

type EAC_U07_Specimencontainer

type EAC_U07_Specimencontainer struct {
	HL7 HL7Name `hl7:",name=EAC_U07_Specimencontainer,type=tg"`
	SAC *SAC    `hl7:"7,required,display=Specimen Container Detail"`
	SPM []SPM   `hl7:"8,display=Specimen"`
}

Specimencontainer

type EAN_U09

type EAN_U09 struct {
	HL7          HL7Name                `hl7:",name=EAN_U09,type=t"`
	MSH          *MSH                   `hl7:"1,required,display=Message Header"`
	SFT          []SFT                  `hl7:"2,display=Software Segment"`
	UAC          *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	EQU          *EQU                   `hl7:"4,required,display=Equipment Detail"`
	Notification []EAN_U09_Notification `hl7:",required,display=Notification"`
	ROL          *ROL                   `hl7:"7,display=Role"`
}

Automated equipment notification

This message is used to send equipment notifications from one application to another (e.g., alerts sent by automated equipment to a Laboratory Automation System).

type EAN_U09_Notification

type EAN_U09_Notification struct {
	HL7 HL7Name `hl7:",name=EAN_U09_Notification,type=tg"`
	NDS *NDS    `hl7:"5,required,display=Notification Detail"`
	NTE *NTE    `hl7:"6,display=Notes And Comments"`
}

Notification

type EAR_U08

type EAR_U08 struct {
	HL7             HL7Name                   `hl7:",name=EAR_U08,type=t"`
	MSH             *MSH                      `hl7:"1,required,display=Message Header"`
	SFT             []SFT                     `hl7:"2,display=Software Segment"`
	UAC             *UAC                      `hl7:"3,display=User Authentication Credential Segment"`
	EQU             *EQU                      `hl7:"4,required,display=Equipment Detail"`
	Commandresponse []EAR_U08_Commandresponse `hl7:",required,display=Command_response"`
	ROL             *ROL                      `hl7:"9,display=Role"`
}

Automated equipment response

This message is used to send equipment responses to previously issued commands from one application to another (e.g., automated Equipment to a Laboratory Automation System).

type EAR_U08_Commandresponse

type EAR_U08_Commandresponse struct {
	HL7               HL7Name                    `hl7:",name=EAR_U08_Commandresponse,type=tg"`
	ECD               *ECD                       `hl7:"5,required,display=Equipment Command"`
	Specimencontainer *EAR_U08_Specimencontainer `hl7:",display=Specimen_container"`
	ECR               *ECR                       `hl7:"8,required,display=Equipment Command Response"`
}

Commandresponse

type EAR_U08_Specimencontainer

type EAR_U08_Specimencontainer struct {
	HL7 HL7Name `hl7:",name=EAR_U08_Specimencontainer,type=tg"`
	SAC *SAC    `hl7:"6,required,display=Specimen Container Detail"`
	SPM []SPM   `hl7:"7,display=Specimen"`
}

Specimencontainer

type ECD

type ECD struct {
	HL7                     HL7Name `hl7:",name=ECD,type=s"`
	ReferenceCommandNumber  NM      `hl7:"1,required,display=Reference Command Number"`
	RemoteControlCommand    CWE     `hl7:"2,required,table=0368,display=Remote Control Command"`
	ResponseRequired        ID      `hl7:"3,len=1,table=0136,display=Response Required"`
	RequestedCompletionTime ST      `hl7:"4,display=Requested Completion Time"`
	Parameters              []TX    `hl7:"5,display=Parameters"`
}

Equipment Command

The equipment command segment contains the information required to notify the receiving component what is to happen.

type ECR

type ECR struct {
	HL7                       HL7Name `hl7:",name=ECR,type=s"`
	CommandResponse           CWE     `hl7:"1,required,table=0387,display=Command Response"`
	DateTimeCompleted         DTM     `hl7:"2,required,format=YMDHM,display=Date/Time Completed"`
	CommandResponseParameters []TX    `hl7:"3,display=Command Response Parameters"`
}

Equipment Command Response

The equipment command response segment contains the receiving component's response to the previously received command.

type ED

type ED struct {
	HL7               HL7Name `hl7:",name=ED,len=0,type=d"`
	SourceApplication *HD     `` /* 195-byte string literal not displayed */
	TypeOfData        ID      `` /* 231-byte string literal not displayed */
	DataSubtype       ID      `` /* 219-byte string literal not displayed */
	Encoding          ID      `` /* 199-byte string literal not displayed */
	Data              TX      `` /* 1226-byte string literal not displayed */
}

Encapsulated Data

This data type transmits encapsulated data from a source system to a destination system. It contains the identity of the source system, the type of data, the encoding method of the data, and the data itself. This data type is similar to the RP (reference pointer) data type of Section 2.A.65, "RP - reference pointer," except that instead of pointing to the data on another system, it contains the data which is to be sent to that system.

type EDU

type EDU struct {
	HL7                                         HL7Name `hl7:",name=EDU,type=s"`
	SetID                                       SI      `hl7:"1,seq,required,len=4,display=Set Id - Edu"`
	AcademicDegree                              *CWE    `hl7:"2,table=0360,display=Academic Degree"`
	AcademicDegreeProgramDateRange              *DR     `hl7:"3,display=Academic Degree Program Date Range"`
	AcademicDegreeProgramParticipationDateRange *DR     `hl7:"4,display=Academic Degree Program Participation Date Range"`
	AcademicDegreeGrantedDate                   DT      `hl7:"5,format=YMD,display=Academic Degree Granted Date"`
	School                                      *XON    `hl7:"6,display=School"`
	SchoolTypeCode                              *CWE    `hl7:"7,table=0402,display=School Type Code"`
	SchoolAddress                               *XAD    `hl7:"8,display=School Address"`
	MajorFieldOfStudy                           []CWE   `hl7:"9,display=Major Field Of Study"`
}

Educational Detail

The EDU segment adds detailed educational information to the staff member identified by the STF segment. An EDU segment may optionally follow an STF segment. An EDU segment must always have been preceded by a corresponding STF segment.

type EHC_E01

type EHC_E01 struct {
	HL7                HL7Name                     `hl7:",name=EHC_E01,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                []UAC                       `hl7:"3,display=User Authentication Credential Segment"`
	InvoiceInformation *EHC_E01_InvoiceInformation `hl7:",required,display=Invoice Information"`
}

Submit HealthCare Services Invoice

This message is used to submit a HealthCare Services Invoice to a TPA/Payer for processing and payment. A HealthCare Services Invoice may have 1 or more Product/Service Line Items (detail lines), grouped as a Product/Service Group. Each Product/Service Line Item represents a specific fee item. Refer to the beginning of this section for more information on the structure of a HealthCare Services Invoice.

This message can be used to submit a HealthCare Services Invoice or to resubmit a previously submitted HealthCare Services Invoice (in case it was not properly acknowledged the first time that it was submitted). This message cannot be used to update an Invoice (e.g., add or cancel Product/Service Line Items) or cancel a HealthCare Services Invoice. To cancel a HealthCare Services Invoice, use the EHC^E02 – Cancel HealthCare Services Invoice message. To update a HealthCare Services Invoice it must first be cancelled (see EHC^E02 – Cancel HealthCare Services Invoice) and then re–submitted using this message with new Invoice numbers.

This message can also be used as a Pre-Determination message. This allows a Provider Application to submit a HealthCare Services Invoice to a Payer Application and run it through the Payer's edit and adjudication engine. The only difference between a Pre-Determination Invoice and a regular Invoice is the Payer will not pay the Pre-Determination Invoice. Setting the Invoice Control on IVC to "PD" identifies a Pre-Determination Invoice.

Note that an EHC^E12 – Request Additional Information (pending) is a valid response for an EHC^E01 – Submit HealthCare Services Invoice. In this case, the interactions would be EHC^E01 -> EHC^E12 (pending).

type EHC_E01_Diagnosis

type EHC_E01_Diagnosis struct {
	HL7 HL7Name `hl7:",name=EHC_E01_Diagnosis,type=tg"`
	DG1 *DG1    `hl7:"20,required,display=Diagnosis"`
	NTE []NTE   `hl7:"21,display=Notes And Comments"`
}

Diagnosis

type EHC_E01_Insurance

type EHC_E01_Insurance struct {
	HL7 HL7Name `hl7:",name=EHC_E01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"18,required,display=Insurance"`
	IN2 *IN2    `hl7:"19,display=Insurance Additional Information"`
}

Insurance

type EHC_E01_InvoiceInformation

type EHC_E01_InvoiceInformation struct {
	HL7                   HL7Name                         `hl7:",name=EHC_E01_InvoiceInformation,type=tg"`
	IVC                   *IVC                            `hl7:"4,required,display=Invoice Segment"`
	PYE                   *PYE                            `hl7:"5,display=Payee Information"`
	CTD                   []CTD                           `hl7:"6,display=Contact Data"`
	AUT                   *AUT                            `hl7:"7,display=Authorization Information"`
	LOC                   []LOC                           `hl7:"8,display=Location Identification"`
	ROL                   []ROL                           `hl7:"9,display=Role"`
	ProductServiceSection []EHC_E01_ProductServiceSection `hl7:",required,display=Product Service Section"`
}

InvoiceInformation

type EHC_E01_InvoiceProcessing

type EHC_E01_InvoiceProcessing struct {
	HL7 HL7Name `hl7:",name=EHC_E01_InvoiceProcessing,type=tg"`
	IPR *IPR    `hl7:"32,required,display=Invoice Processing Results"`
}

InvoiceProcessing

type EHC_E01_PatientInfo

type EHC_E01_PatientInfo struct {
	HL7       HL7Name             `hl7:",name=EHC_E01_PatientInfo,type=tg"`
	PID       *PID                `hl7:"14,required,display=Patient Identification"`
	PV1       *PV1                `hl7:"15,display=Patient Visit"`
	PV2       *PV2                `hl7:"16,display=Patient Visit - Additional Information"`
	ACC       []ACC               `hl7:"17,display=Accident"`
	Insurance []EHC_E01_Insurance `hl7:",required,display=Insurance"`
	Diagnosis []EHC_E01_Diagnosis `hl7:",display=Diagnosis"`
	OBX       []OBX               `hl7:"22,display=Observation/result"`
}

PatientInfo

type EHC_E01_Procedure

type EHC_E01_Procedure struct {
	HL7 HL7Name `hl7:",name=EHC_E01_Procedure,type=tg"`
	PR1 *PR1    `hl7:"29,required,display=Procedures"`
	NTE []NTE   `hl7:"30,display=Notes And Comments"`
	ROL []ROL   `hl7:"31,display=Role"`
}

Procedure

type EHC_E01_ProductServiceGroup

type EHC_E01_ProductServiceGroup struct {
	HL7                    HL7Name                          `hl7:",name=EHC_E01_ProductServiceGroup,type=tg"`
	PSG                    *PSG                             `hl7:"11,required,display=Product/service Group"`
	LOC                    []LOC                            `hl7:"12,display=Location Identification"`
	ROL                    []ROL                            `hl7:"13,display=Role"`
	PatientInfo            []EHC_E01_PatientInfo            `hl7:",display=Patient Info"`
	ProductServiceLineItem []EHC_E01_ProductServiceLineItem `hl7:",required,display=Product Service Line Item"`
	Procedure              []EHC_E01_Procedure              `hl7:",display=Procedure"`
	InvoiceProcessing      []EHC_E01_InvoiceProcessing      `hl7:",display=Invoice Processing"`
}

ProductServiceGroup

type EHC_E01_ProductServiceLineItem

type EHC_E01_ProductServiceLineItem struct {
	HL7 HL7Name `hl7:",name=EHC_E01_ProductServiceLineItem,type=tg"`
	PSL *PSL    `hl7:"23,required,display=Product/service Line Item"`
	NTE []NTE   `hl7:"24,display=Notes And Comments"`
	ADJ []ADJ   `hl7:"25,display=Adjustment"`
	AUT *AUT    `hl7:"26,display=Authorization Information"`
	LOC []LOC   `hl7:"27,display=Location Identification"`
	ROL []ROL   `hl7:"28,display=Role"`
}

ProductServiceLineItem

type EHC_E01_ProductServiceSection

type EHC_E01_ProductServiceSection struct {
	HL7                 HL7Name                       `hl7:",name=EHC_E01_ProductServiceSection,type=tg"`
	PSS                 *PSS                          `hl7:"10,required,display=Product/service Section"`
	ProductServiceGroup []EHC_E01_ProductServiceGroup `hl7:",required,display=Product Service Group"`
}

ProductServiceSection

type EHC_E02

type EHC_E02 struct {
	HL7                HL7Name                     `hl7:",name=EHC_E02,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                []UAC                       `hl7:"3,display=User Authentication Credential Segment"`
	InvoiceInformation *EHC_E02_InvoiceInformation `hl7:",required,display=Invoice Information"`
}

Cancel HealthCare Services Invoice

This message is used to cancel one HealthCare Services Invoices or one Product/Service Group in an Invoice or one Product/Service Line Item in an Invoice that have previously been submitted to a TPA/Payer for processing and payment. Invoice Control codes are used to indicate the specific action being requested of the Payer (CN for Cancel Invoice, CG for Cancel Product/Service Group and CI for Cancel Product/Service Line Item). An Invoice that is cancelled must be marked as cancel only and not purged from the Payer Application's database.

The Payer may/may not be able to cancel the Invoice/Product/Service Line Item, and will indicate processing results in the response message. In some situations, the Payer has already paid the Product/Service Line Item, and therefore will hold a debit amount for the Payee until subsequent billing from the Payee utilizes the debit amount.

This message cannot be used to cancel or remove ancillary information for an Invoice and/or Product/Service Line Item such as Authorization or Contact information or any referenced health documents.

type EHC_E02_InvoiceInformation

type EHC_E02_InvoiceInformation struct {
	HL7                   HL7Name                         `hl7:",name=EHC_E02_InvoiceInformation,type=tg"`
	IVC                   *IVC                            `hl7:"4,required,display=Invoice Segment"`
	PYE                   *PYE                            `hl7:"5,required,display=Payee Information"`
	CTD                   []CTD                           `hl7:"6,display=Contact Data"`
	NTE                   []NTE                           `hl7:"7,display=Notes And Comments"`
	ProductServiceSection []EHC_E02_ProductServiceSection `hl7:",display=Product Service Section"`
}

InvoiceInformation

type EHC_E02_ProductServiceSection

type EHC_E02_ProductServiceSection struct {
	HL7 HL7Name       `hl7:",name=EHC_E02_ProductServiceSection,type=tg"`
	PSS *PSS          `hl7:"8,required,display=Product/service Section"`
	Psg []EHC_E02_Psg `hl7:",display=Psg"`
}

ProductServiceSection

type EHC_E02_Psg

type EHC_E02_Psg struct {
	HL7 HL7Name `hl7:",name=EHC_E02_Psg,type=tg"`
	PSG *PSG    `hl7:"9,required,display=Product/service Group"`
	PSL []PSL   `hl7:"10,display=Product/service Line Item"`
}

Psg

type EHC_E04

type EHC_E04 struct {
	HL7                     HL7Name                          `hl7:",name=EHC_E04,type=t"`
	MSH                     *MSH                             `hl7:"1,required,display=Message Header"`
	SFT                     []SFT                            `hl7:"2,display=Software Segment"`
	UAC                     []UAC                            `hl7:"3,display=User Authentication Credential Segment"`
	ReassessmentRequestInfo *EHC_E04_ReassessmentRequestInfo `hl7:",required,display=Reassessment Request Info"`
}

Re-Assess HealthCare Services Invoice Request

This message is used to submit a single Re-Assess HealthCare Services Invoice Request to a TPA/Payer for processing. The Re-Assess HealthCare Services Invoice Request is used by a Provider, to request review of a previously adjudicated HealthCare Services Invoice, with optional specification of a Product/Service Line Item within that Invoice. Note that the HealthCare Services Invoice need not necessarily be sent to a TPA/Payer using the EHC^E01 – Submit HealthCare Services Invoice: it may be manually submitted.

Adjudication for a HealthCare Services Invoice may be re-assessed either because background information, such as a Provider's billing rate may have changed or if some of the adjudication rules have changed since original adjudication of the Invoice.

This message cannot be used to change or delete information from the HealthCare Services Invoice. The only information allowed in this message are Provider Invoice Number and Payer Invoice Number, and optional notes to assist in the re-assessment by the TPA/Payer.

type EHC_E04_ProductServiceGroup

type EHC_E04_ProductServiceGroup struct {
	HL7 HL7Name `hl7:",name=EHC_E04_ProductServiceGroup,type=tg"`
	PSG *PSG    `hl7:"7,required,display=Product/service Group"`
	PSL []PSL   `hl7:"8,display=Product/service Line Item"`
}

ProductServiceGroup

type EHC_E04_ProductServiceSection

type EHC_E04_ProductServiceSection struct {
	HL7                 HL7Name                       `hl7:",name=EHC_E04_ProductServiceSection,type=tg"`
	PSS                 *PSS                          `hl7:"6,required,display=Product/service Section"`
	ProductServiceGroup []EHC_E04_ProductServiceGroup `hl7:",display=Product Service Group"`
}

ProductServiceSection

type EHC_E04_ReassessmentRequestInfo

type EHC_E04_ReassessmentRequestInfo struct {
	HL7                   HL7Name                         `hl7:",name=EHC_E04_ReassessmentRequestInfo,type=tg"`
	IVC                   *IVC                            `hl7:"4,required,display=Invoice Segment"`
	NTE                   []NTE                           `hl7:"5,display=Notes And Comments"`
	ProductServiceSection []EHC_E04_ProductServiceSection `hl7:",display=Product Service Section"`
}

ReassessmentRequestInfo

type EHC_E10

type EHC_E10 struct {
	HL7                          HL7Name                                `hl7:",name=EHC_E10,type=t"`
	MSH                          *MSH                                   `hl7:"1,required,display=Message Header"`
	SFT                          []SFT                                  `hl7:"2,display=Software Segment"`
	UAC                          []UAC                                  `hl7:"3,display=User Authentication Credential Segment"`
	MSA                          *MSA                                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR                          []ERR                                  `hl7:"5,display=Error"`
	InvoiceProcessingResultsInfo []EHC_E10_InvoiceProcessingResultsInfo `hl7:",required,display=Invoice Processing Results Info"`
}

Edit/Adjudication Results

This message is used to send edit and/or adjudication results for a HealthCare Services Invoice. Edit/Adjudication results are sent to the same Network Application ID that originated the Invoice, which was specified as the Sending Application on MSH on the original HealthCare Services Invoice.

This message is returned to a Provider Application each time an EHC^E01 – Submit HealthCare Services Invoice message is successfully processed by a Payer Application. As a minimum, the EHC^E10 – Edit/Adjudication Results message will contain the Payer Applications' Invoice number (Payer Invoice Number on IVC), status codes for each Product/Service Line Item in the Invoice and optionally, a tracking number for the Payer Application (Payer Tracking Number on PSL).

Note that an EHC^E12 – Request Additional Information (pending) is a valid response for an EHC^E01 – Submit HealthCare Services Invoice. In this case, the interactions would be EHC^E01 -> EHC^E12 (pending). If the Payer Application is able to process the Invoice on-line, the EHC^E10 – Edit/Adjudication Results message will contain the Invoice Processing Results portion completely filled out, indicating the results of the adjudication (e.g., paid as submitted, paid partial, etc.).

type EHC_E10_InvoiceProcessingResultsInfo

type EHC_E10_InvoiceProcessingResultsInfo struct {
	HL7                   HL7Name                         `hl7:",name=EHC_E10_InvoiceProcessingResultsInfo,type=tg"`
	IPR                   *IPR                            `hl7:"6,required,display=Invoice Processing Results"`
	NTE                   []NTE                           `hl7:"7,display=Notes And Comments"`
	PYE                   *PYE                            `hl7:"8,required,display=Payee Information"`
	IN1                   *IN1                            `hl7:"9,required,display=Insurance"`
	IN2                   *IN2                            `hl7:"10,display=Insurance Additional Information"`
	IVC                   *IVC                            `hl7:"11,required,display=Invoice Segment"`
	ProductServiceSection []EHC_E10_ProductServiceSection `hl7:",required,display=Product Service Section"`
}

InvoiceProcessingResultsInfo

type EHC_E10_ProductServiceGroup

type EHC_E10_ProductServiceGroup struct {
	HL7                    HL7Name                          `hl7:",name=EHC_E10_ProductServiceGroup,type=tg"`
	PSG                    *PSG                             `hl7:"13,required,display=Product/service Group"`
	ProductServiceLineInfo []EHC_E10_ProductServiceLineInfo `hl7:",required,display=Product Service Line Info"`
}

ProductServiceGroup

type EHC_E10_ProductServiceLineInfo

type EHC_E10_ProductServiceLineInfo struct {
	HL7 HL7Name `hl7:",name=EHC_E10_ProductServiceLineInfo,type=tg"`
	PSL *PSL    `hl7:"14,required,display=Product/service Line Item"`
	ADJ []ADJ   `hl7:"15,display=Adjustment"`
}

ProductServiceLineInfo

type EHC_E10_ProductServiceSection

type EHC_E10_ProductServiceSection struct {
	HL7                 HL7Name                       `hl7:",name=EHC_E10_ProductServiceSection,type=tg"`
	PSS                 *PSS                          `hl7:"12,required,display=Product/service Section"`
	ProductServiceGroup []EHC_E10_ProductServiceGroup `hl7:",required,display=Product Service Group"`
}

ProductServiceSection

type EHC_E12

type EHC_E12 struct {
	HL7     HL7Name           `hl7:",name=EHC_E12,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     []UAC             `hl7:"3,display=User Authentication Credential Segment"`
	RFI     *RFI              `hl7:"4,required,display=Request For Information"`
	CTD     []CTD             `hl7:"5,display=Contact Data"`
	IVC     *IVC              `hl7:"6,required,display=Invoice Segment"`
	PSS     *PSS              `hl7:"7,required,display=Product/service Section"`
	PSG     *PSG              `hl7:"8,required,display=Product/service Group"`
	PID     *PID              `hl7:"9,display=Patient Identification"`
	PSL     []PSL             `hl7:"10,display=Product/service Line Item"`
	Request []EHC_E12_Request `hl7:",required,display=Request"`
}

Request Additional Information

A Payer or TPA uses this message to request additional information in support of an Invoice or a (Pre) Authorization Request. Normally, this request would be sent following receipt of an E01 or E20 message. However, it can also be sent following receipt of an E04 Re-Assess HealthCare Services Invoice Request. In this latter case the request for additional information still has as its object the original invoice (which is now under review) rather than the Re-assessment request per se.

The E12 can only be used to initiate a request for information and cannot be used to modify, place on hold or cancel an earlier request. This message cannot be used to convey information on the status of a claim and/or adjudication results (i.e., cannot be used in place of an E10 Edit/Adjudication Results message).

The scope of the request for additional information is defined through the inclusion of contextual data from the original Invoice or (Pre) Authorization Request. By specifying a particular Product/Service Group, patient and/or Product/Service Line item the requested information (e.g., a discharge narrative) is deemed to apply to those particular service events and not to any others which may have been part of the original Invoice or (Pre) Authorization Request.

In terms of absolute limits the E12 request is restricted to a single Product/Service Group from the original Invoice or (Pre) Authorization Request. Thereafter, the context can be more narrowly defined by inclusion of patient and/or Product/Service Line item information from within the same Product/Service Group. Thus, if a particular P/S Line Item is included, the message recipient must interpret this to mean that the request is related to that one line item. If the P/S Line Item is excluded the request is related to any and all line items in the original Product/Service Group. Similarly for patients: identification of a particular patient restricts the request to that patient alone, whereas omission of patient information means that the request applies to any and all patients identified in the original Product/Service Group.

The E12 message is restricted to zero or one patients and to zero or one Product/Service Line items. One consequence of these limits is that a Payer requiring information about a variety of patients or products/services from an original invoice may have to generate multiple (E12) requests.

The E12 message requires the use of LOINC classification standard to describe the information being requested (as do the E13/14 response messages). The codified request can also be supplemented by free-form text if greater specificity is required.

This message supports the use of pre-defined responses. That is, the sender specifies both the request as well as a range of possible answers for the recipient to choose from. This is an optional usage that is designed for real-time environments in which the Payer employs an adjudication engine to both solicit the additional information and manage the responses.

type EHC_E12_Request

type EHC_E12_Request struct {
	HL7 HL7Name `hl7:",name=EHC_E12_Request,type=tg"`
	CTD *CTD    `hl7:"11,display=Contact Data"`
	OBR *OBR    `hl7:"12,required,display=Observation Request"`
	NTE *NTE    `hl7:"13,display=Notes And Comments"`
	OBX []OBX   `hl7:"14,display=Observation/result"`
}

Request

type EHC_E13

type EHC_E13 struct {
	HL7     HL7Name           `hl7:",name=EHC_E13,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     []UAC             `hl7:"3,display=User Authentication Credential Segment"`
	MSA     *MSA              `hl7:"4,required,display=Message Acknowledgment"`
	ERR     []ERR             `hl7:"5,display=Error"`
	RFI     *RFI              `hl7:"6,required,display=Request For Information"`
	CTD     []CTD             `hl7:"7,display=Contact Data"`
	IVC     *IVC              `hl7:"8,required,display=Invoice Segment"`
	PSS     *PSS              `hl7:"9,required,display=Product/service Section"`
	PSG     *PSG              `hl7:"10,required,display=Product/service Group"`
	PID     *PID              `hl7:"11,display=Patient Identification"`
	PSL     *PSL              `hl7:"12,display=Product/service Line Item"`
	Request []EHC_E13_Request `hl7:",required,display=Request"`
}

Additional Information Response

This message is used by a Provider to immediately respond to an EHC_E12 Request for Additional Information, in other words an automated response. The EHC_E13 message cannot be sent unsolicited.

type EHC_E13_Request

type EHC_E13_Request struct {
	HL7      HL7Name            `hl7:",name=EHC_E13_Request,type=tg"`
	CTD      *CTD               `hl7:"13,display=Contact Data"`
	OBR      *OBR               `hl7:"14,required,display=Observation Request"`
	NTE      *NTE               `hl7:"15,display=Notes And Comments"`
	Response []EHC_E13_Response `hl7:",required,display=Response"`
}

Request

type EHC_E13_Response

type EHC_E13_Response struct {
	HL7 HL7Name `hl7:",name=EHC_E13_Response,type=tg"`
	OBX *OBX    `hl7:"16,required,display=Observation/result"`
	NTE *NTE    `hl7:"17,display=Notes And Comments"`
	TXA *TXA    `hl7:"18,display=Transcription Document Header"`
}

Response

type EHC_E15

type EHC_E15 struct {
	HL7                         HL7Name                               `hl7:",name=EHC_E15,type=t"`
	MSH                         *MSH                                  `hl7:"1,required,display=Message Header"`
	SFT                         []SFT                                 `hl7:"2,display=Software Segment"`
	UAC                         []UAC                                 `hl7:"3,display=User Authentication Credential Segment"`
	PaymentRemittanceHeaderInfo *EHC_E15_PaymentRemittanceHeaderInfo  `hl7:",required,display=Payment Remittance Header Info"`
	PaymentRemittanceDetailInfo []EHC_E15_PaymentRemittanceDetailInfo `hl7:",display=Payment Remittance Detail Info"`
	AdjustmentPayee             []EHC_E15_AdjustmentPayee             `hl7:",display=Adjustment Payee"`
}

Payment/Remittance Advice

This message is used to send a payment/ remittance advice to a Payee for the payment of HealthCare Services Invoices and/or other adjustments. The Payment/Remittance Advice can be sent to the originating Provider Application (Network Application ID) or alternately to the Payee's Network Application ID, depending on how the Payee has been configured by the Payer. If a Payment/Remittance Advice is paid by check, it typically has a 1 to 1 correspondence with a check number. However, there are occasions when one check number covers multiple Payment/Remittance Advices. This message does not enforce a 1 to 1 relationship between check number and Payment/Remittance Advice. That is, the same check number (Check Number on PMT) can be used on multiple Payment/Remittance Advices.

A Payment/Remittance Advice may not be generated if a Payee is a Person and not an organization (Payee Type on PYE = "PERS" or "PPER").

Once an EHC^E15 message is prepared (which may be on a regular basis such as monthly or bi-weekly), it is either sent to the Provider Application (if the Provider Application is able to receive unsolicited results) or stored on a queue for the Provider Application. If left on a queue for the Provider Application, then the QBP^E99 message must be used by the Provider Application to poll the Payer Application for the EHC^E15.

type EHC_E15_AdjustmentPayee

type EHC_E15_AdjustmentPayee struct {
	HL7 HL7Name `hl7:",name=EHC_E15_AdjustmentPayee,type=tg"`
	ADJ *ADJ    `hl7:"12,required,display=Adjustment"`
	ROL *ROL    `hl7:"13,display=Role"`
}

AdjustmentPayee

type EHC_E15_PaymentRemittanceDetailInfo

type EHC_E15_PaymentRemittanceDetailInfo struct {
	HL7                   HL7Name                         `hl7:",name=EHC_E15_PaymentRemittanceDetailInfo,type=tg"`
	IPR                   *IPR                            `hl7:"6,required,display=Invoice Processing Results"`
	IVC                   *IVC                            `hl7:"7,required,display=Invoice Segment"`
	ProductServiceSection []EHC_E15_ProductServiceSection `hl7:",required,display=Product Service Section"`
}

PaymentRemittanceDetailInfo

type EHC_E15_PaymentRemittanceHeaderInfo

type EHC_E15_PaymentRemittanceHeaderInfo struct {
	HL7 HL7Name `hl7:",name=EHC_E15_PaymentRemittanceHeaderInfo,type=tg"`
	PMT *PMT    `hl7:"4,required,display=Payment Information"`
	PYE *PYE    `hl7:"5,required,display=Payee Information"`
}

PaymentRemittanceHeaderInfo

type EHC_E15_ProductServiceGroup

type EHC_E15_ProductServiceGroup struct {
	HL7         HL7Name               `hl7:",name=EHC_E15_ProductServiceGroup,type=tg"`
	PSG         *PSG                  `hl7:"9,required,display=Product/service Group"`
	PslItemInfo []EHC_E15_PslItemInfo `hl7:",required,display=Psl Item Info"`
}

ProductServiceGroup

type EHC_E15_ProductServiceSection

type EHC_E15_ProductServiceSection struct {
	HL7                 HL7Name                       `hl7:",name=EHC_E15_ProductServiceSection,type=tg"`
	PSS                 *PSS                          `hl7:"8,required,display=Product/service Section"`
	ProductServiceGroup []EHC_E15_ProductServiceGroup `hl7:",required,display=Product Service Group"`
}

ProductServiceSection

type EHC_E15_PslItemInfo

type EHC_E15_PslItemInfo struct {
	HL7 HL7Name `hl7:",name=EHC_E15_PslItemInfo,type=tg"`
	PSL *PSL    `hl7:"10,required,display=Product/service Line Item"`
	ADJ []ADJ   `hl7:"11,display=Adjustment"`
}

PslItemInfo

type EHC_E20

type EHC_E20 struct {
	HL7                  HL7Name                       `hl7:",name=EHC_E20,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  []UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	AuthorizationRequest *EHC_E20_AuthorizationRequest `hl7:",required,display=Authorization Request"`
}

Submit Authorization Request

This message is used to submit a single Authorization Request to a TPA/Payer for authorization (for payment). An Authorization Request is made for one or more patients and may include 1 or more Product/Service Line Items (detail lines), each of which represents a specific, billable item or Payer allowed Treatment Plan.

If the Authorization is approved, then the Payer Application will return either an Authorization Number (Authorization Identifier on AUT) or individual who has authorized the Authorization Request (Name of Authorizer on AUT). The Authorization Number is not the same number as the Authorization Request Number; the latter indicates the number used to identify the request for authorization. The presence of the AUT segment in the EHC^E24 – Authorization Request Response message implies authorization. However, the Authorization may be restricted, which is described as Payer Adjustments.

This message can be used to submit an Authorization Request or to resubmit an Authorization Request (in case it was not properly acknowledged the first time that it was submitted). This message cannot be used to update an Authorization Request (e.g., add or cancel Product/Service Line Items) or cancel an Authorization Request. To cancel an Authorization Request, use the EHC^E21 – Cancel Authorization Request message. To update an Authorization it must first be cancelled (see EHC^E21 – Cancel Authorization Request) and then re–submitted using this message with new Provider control numbers.

type EHC_E20_AuthorizationRequest

type EHC_E20_AuthorizationRequest struct {
	HL7         HL7Name               `hl7:",name=EHC_E20_AuthorizationRequest,type=tg"`
	IVC         *IVC                  `hl7:"4,required,display=Invoice Segment"`
	CTD         []CTD                 `hl7:"5,required,display=Contact Data"`
	LOC         []LOC                 `hl7:"6,display=Location Identification"`
	ROL         []ROL                 `hl7:"7,display=Role"`
	PatInfo     []EHC_E20_PatInfo     `hl7:",required,display=Pat Info"`
	PslItemInfo []EHC_E20_PslItemInfo `hl7:",required,display=Psl Item Info"`
}

AuthorizationRequest

type EHC_E20_Diagnosis

type EHC_E20_Diagnosis struct {
	HL7 HL7Name `hl7:",name=EHC_E20_Diagnosis,type=tg"`
	DG1 *DG1    `hl7:"12,required,display=Diagnosis"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Diagnosis

type EHC_E20_Insurance

type EHC_E20_Insurance struct {
	HL7 HL7Name `hl7:",name=EHC_E20_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance Additional Information"`
}

Insurance

type EHC_E20_PatInfo

type EHC_E20_PatInfo struct {
	HL7       HL7Name             `hl7:",name=EHC_E20_PatInfo,type=tg"`
	PID       *PID                `hl7:"8,required,display=Patient Identification"`
	ACC       []ACC               `hl7:"9,display=Accident"`
	Insurance []EHC_E20_Insurance `hl7:",required,display=Insurance"`
	Diagnosis []EHC_E20_Diagnosis `hl7:",display=Diagnosis"`
	OBX       []OBX               `hl7:"14,display=Observation/result"`
}

PatInfo

type EHC_E20_PslItemInfo

type EHC_E20_PslItemInfo struct {
	HL7 HL7Name `hl7:",name=EHC_E20_PslItemInfo,type=tg"`
	PSL *PSL    `hl7:"15,required,display=Product/service Line Item"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
	ADJ []ADJ   `hl7:"17,display=Adjustment"`
	LOC []LOC   `hl7:"18,display=Location Identification"`
	ROL []ROL   `hl7:"19,display=Role"`
}

PslItemInfo

type EHC_E21

type EHC_E21 struct {
	HL7                  HL7Name                       `hl7:",name=EHC_E21,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  []UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	AuthorizationRequest *EHC_E21_AuthorizationRequest `hl7:",required,display=Authorization Request"`
}

Cancel Authorization Request

This message is used to cancel an Authorization Request, as a result of a previously submitted EHC^E20 – Submit Authorization Request message.

This message can be used to cancel the entire Authorization Request, or an individual Product/Service Line Item within an Authorization Request.

This message cannot be used to update ancillary information in an Authorization that has been submitted to a Payer. The original request must be cancelled, and a new Authorization Request submitted to the Payer.

type EHC_E21_AuthorizationRequest

type EHC_E21_AuthorizationRequest struct {
	HL7         HL7Name               `hl7:",name=EHC_E21_AuthorizationRequest,type=tg"`
	IVC         *IVC                  `hl7:"4,required,display=Invoice Segment"`
	PslItemInfo []EHC_E21_PslItemInfo `hl7:",required,display=Psl Item Info"`
}

AuthorizationRequest

type EHC_E21_PslItemInfo

type EHC_E21_PslItemInfo struct {
	HL7 HL7Name `hl7:",name=EHC_E21_PslItemInfo,type=tg"`
	PSL *PSL    `hl7:"5,required,display=Product/service Line Item"`
	NTE []NTE   `hl7:"6,display=Notes And Comments"`
	AUT *AUT    `hl7:"7,display=Authorization Information"`
}

PslItemInfo

type EHC_E24

type EHC_E24 struct {
	HL7                       HL7Name                            `hl7:",name=EHC_E24,type=t"`
	MSH                       *MSH                               `hl7:"1,required,display=Message Header"`
	SFT                       []SFT                              `hl7:"2,display=Software Segment"`
	UAC                       []UAC                              `hl7:"3,display=User Authentication Credential Segment"`
	MSA                       *MSA                               `hl7:"4,required,display=Message Acknowledgment"`
	ERR                       []ERR                              `hl7:"5,display=Error"`
	AuthorizationResponseInfo *EHC_E24_AuthorizationResponseInfo `hl7:",required,display=Authorization Response Info"`
}

Authorization Response

This message is used to send results of an Authorization Request to a Provider Application. Authorization results are sent to the same Network Application ID that originated the Authorization Request, which was specified as the Sending Application on MSH on the original Authorization Request.

type EHC_E24_AuthorizationResponseInfo

type EHC_E24_AuthorizationResponseInfo struct {
	HL7         HL7Name               `hl7:",name=EHC_E24_AuthorizationResponseInfo,type=tg"`
	IVC         *IVC                  `hl7:"6,required,display=Invoice Segment"`
	PslItemInfo []EHC_E24_PslItemInfo `hl7:",required,display=Psl Item Info"`
}

AuthorizationResponseInfo

type EHC_E24_PayerAdjustment

type EHC_E24_PayerAdjustment struct {
	HL7 HL7Name `hl7:",name=EHC_E24_PayerAdjustment,type=tg"`
	ADJ *ADJ    `hl7:"9,required,display=Adjustment"`
}

PayerAdjustment

type EHC_E24_PslItemInfo

type EHC_E24_PslItemInfo struct {
	HL7             HL7Name                   `hl7:",name=EHC_E24_PslItemInfo,type=tg"`
	PSL             *PSL                      `hl7:"7,required,display=Product/service Line Item"`
	AUT             *AUT                      `hl7:"8,display=Authorization Information"`
	PayerAdjustment []EHC_E24_PayerAdjustment `hl7:",display=Payer Adjustment"`
}

PslItemInfo

type EI

type EI struct {
	HL7              HL7Name `hl7:",name=EI,len=0,type=d"`
	EntityIdentifier ST      `` /* 285-byte string literal not displayed */
	NamespaceID      IS      `` /* 671-byte string literal not displayed */
	UniversalID      ST      `` /* 676-byte string literal not displayed */
	UniversalIDType  ID      `` /* 341-byte string literal not displayed */
}

Entity Identifier

The entity identifier defines a given entity within a specified series of identifiers.

The EI is appropriate for, but not limited to, machine or software generated identifiers. The generated identifier goes in the first component. The remaining components, 2 through 4, are known as the assigning authority; they identify the machine/system responsible for generating the identifier in component 1.

The specified series, the assigning authority, is defined by components 2 through 4. The assigning authority is of the hierarchic designator (HD) data type, but it is defined as three separate components in the EI data type, rather than as a single component as would normally be the case. This is in order to maintain backward compatibility with the EI’s use as a component in several existing data fields. Otherwise, the components 2 through 4 are as defined in Section 2.A.33, "HD - hierarchic designator". Hierarchic designators (HD) are unique across a given HL7 implementation.

type EIP

type EIP struct {
	HL7                      HL7Name `hl7:",name=EIP,len=0,type=d"`
	PlacerAssignedIdentifier *EI     `hl7:"1,display=Specifies an identifier assigned to an entity by the placer system. "`
	FillerAssignedIdentifier *EI     `hl7:"2,display=Specifies an identifier assigned to an entity by the filler system. "`
}

Entity Identifier Pair

Specifies an identifier assigned to an entity by either the placer or the filler system. If both components are populated the identifiers must refer to the same entity.

Note: Replaces the CM data type used in sections 4.5.1.8 - ORC-8, 4.5.3.29 – OBR-29, 7.3.1.29 – OBR-29, as of v 2.5.

type EQP

type EQP struct {
	HL7             HL7Name `hl7:",name=EQP,type=s"`
	EventType       CWE     `hl7:"1,required,table=0450,display=Event Type"`
	FileName        ST      `hl7:"2,display=File Name"`
	StartDateTime   DTM     `hl7:"3,required,format=YMDHM,display=Start Date/Time"`
	EndDateTime     DTM     `hl7:"4,format=YMDHM,display=End Date/Time"`
	TransactionData FT      `hl7:"5,required,display=Transaction Data"`
}

Equipment/log Service

The equipment log/service segment is the data necessary to maintain an adequate audit trail of events that have occurred on a particular piece of equipment.

type EQU

type EQU struct {
	HL7                         HL7Name `hl7:",name=EQU,type=s"`
	EquipmentInstanceIdentifier EI      `hl7:"1,required,display=Equipment Instance Identifier"`
	EventDateTime               DTM     `hl7:"2,required,format=YMDHM,display=Event Date/Time"`
	EquipmentState              *CWE    `hl7:"3,conditional,table=0365,display=Equipment State"`
	LocalRemoteControlState     *CWE    `hl7:"4,table=0366,display=Local/Remote Control State"`
	AlertLevel                  *CWE    `hl7:"5,table=0367,display=Alert Level"`
}

Equipment Detail

The equipment detail segment contains the data necessary to identify and maintain the equipment that is being used throughout the Laboratory Automation System.

type ERL

type ERL struct {
	HL7                HL7Name `hl7:",name=ERL,len=0,type=d"`
	SegmentID          ST      `hl7:"1,required,len=3,display=Specifies the 3-letter name for the segment."`
	SegmentSequence    NM      `hl7:"2,required,display=Identifies the segment occurrence within the message."`
	FieldPosition      NM      `` /* 188-byte string literal not displayed */
	FieldRepetition    NM      `` /* 285-byte string literal not displayed */
	ComponentNumber    NM      `` /* 196-byte string literal not displayed */
	SubComponentNumber NM      `` /* 216-byte string literal not displayed */
}

Error Location

This data type identifies the segment and its constituent where an error has occurred.

type ERR

type ERR struct {
	HL7                       HL7Name `hl7:",name=ERR,type=s"`
	ErrorCodeAndLocation      ST      `hl7:"1,display=Error Code And Location"`
	ErrorLocation             []ERL   `hl7:"2,display=Error Location"`
	Hl7ErrorCode              CWE     `hl7:"3,required,table=0357,display=Hl7 Error Code"`
	Severity                  ID      `hl7:"4,required,len=1,table=0516,display=Severity"`
	ApplicationErrorCode      *CWE    `hl7:"5,table=0533,display=Application Error Code"`
	ApplicationErrorParameter []ST    `hl7:"6,max=10,display=Application Error Parameter"`
	DiagnosticInformation     TX      `hl7:"7,display=Diagnostic Information"`
	UserMessage               TX      `hl7:"8,display=User Message"`
	InformPersonIndicator     []CWE   `hl7:"9,table=0517,display=Inform Person Indicator"`
	OverrideType              *CWE    `hl7:"10,table=0518,display=Override Type"`
	OverrideReasonCode        []CWE   `hl7:"11,table=0519,display=Override Reason Code"`
	HelpDeskContactPoint      []XTN   `hl7:"12,display=Help Desk Contact Point"`
}

Error

The ERR segment is used to add error comments to acknowledgment messages.

Use Cases: Severity: A receiving application needs to communicate 2 "error or exception statements." One is an "error;" the other is a "warning". To accomplish this, an acknowledgement message with 2 ERR segments is sent. Upon receipt, the sending application can display both, including the appropriate severity, to the user.

Application Error Code: A receiving application generates an error that reports an application error code and returns this information in its response. This code in turn is used by helpdesk staff to pinpoint the exact cause of the error, or by the application to prompt an appropriate response from the user. (Ex. Deceased date must be greater than or equal to birth date).

Application Error Parameter: A receiving application encounters an error during processing of a transaction. In addition to an error code, the application provides an error parameter that gives greater detail as to the exact nature of the error. The receiving application looks up the message corresponding to the error code, substitutes in the parameter, and displays the resulting message to the user.

Diagnostic Information: While processing a transaction, a receiving application encounters an exception. When the exception is thrown, it provides a volume of detailed information relating to the error encountered. The receiving application captures the information and sends it in its response. The user reports the error to the help desk, and on request, faxes a copy of the diagnostic information to assist analyzing the problem.

User Message: A user executes an application function that generates a transaction that is sent to another application for further processing. During this processing, the receiving application encounters an error and, as part of the error handling routine, retrieves a User Message that it returns in its response. The originating application receives the error and displays it to the end user with the intent that the error condition can be resolved and the user can re-execute the function without error.

Inform Person Code: After submitting a dispense transaction, a response is returned to the user indicating that the patient may be abusing drugs. Given the sensitivity of this warning, the error is returned with an indicator stating that the patient should not be informed of the error with the implication that steps should be taken to rule out or confirm the warning.

Override Type: If a business rule states that a prescription on hold cannot be dispensed, an override type might be "Dispense Held Prescription" to allow the prescription to be dispensed in exception to the rule.

Override Reason Codes: A patient is given a prescription; however, before completing the prescription, the remaining pills are spoiled. The patient returns to their pharmacy and explains the situation to their pharmacist. The pharmacist decides to replace the spoiled drugs; however, when attempting to record the event, a message is returned indicating that the dispense would exceed the maximum amount prescribed. The pharmacist overrides the rule and specifies an Override Reason Code indicating a replacement of lost product.

Help Desk Contact: Help desk contact information is stored in a database. When an application error is encountered, the database is queried and the most current help desk contact information is returned in the error message. This is displayed to the user by the receiving application.

Better Error Location Information: Receiving system detects an error with the 3rd repetition of the ROL.4 (Role Person - XCN).16 (Name Context – CE).4(Alternate Identifier – CWE). The application identifies the specific repetition and component when raising the error, simplifying diagnosis of the problem.

Support for multiple Error Locations: Two fields are marked as conditional, with the condition that one of the two must be specified. The sending application leaves both blank. The receiving application detects the problem, and sends back a single error indicating that one of the fields must be filled in. The ERR segment identifies both positions within the message that relate to the error.

type ESR_U02

type ESR_U02 struct {
	HL7 HL7Name `hl7:",name=ESR_U02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EQU *EQU    `hl7:"4,required,display=Equipment Detail"`
	ROL *ROL    `hl7:"5,display=Role"`
}

Automated equipment status request

This message is used to request information about a device's or piece of equipment's status from one application to another (e.g., Laboratory Automation System to automated equipment). The equipment identified in the EQU segment should respond with its status using the "Automated Equipment Status Update."

type ESU_U01

type ESU_U01 struct {
	HL7 HL7Name `hl7:",name=ESU_U01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EQU *EQU    `hl7:"4,required,display=Equipment Detail"`
	ISD []ISD   `hl7:"5,display=Interaction Status Detail"`
	ROL *ROL    `hl7:"6,display=Role"`
}

Automated equipment status update

This message is used to send information about the status of a device or equipment from one application to another (e.g., automated device to a Laboratory Automation System). The status update can be sent unsolicited or as a response to the trigger "Automated Equipment Status Request."

type EVN

type EVN struct {
	HL7                  HL7Name `hl7:",name=EVN,type=s"`
	EventTypeCode        ST      `hl7:"1,display=Event Type Code"`
	RecordedDateTime     DTM     `hl7:"2,required,format=YMDHM,display=Recorded Date/Time"`
	DateTimePlannedEvent DTM     `hl7:"3,format=YMDHM,display=Date/Time Planned Event"`
	EventReasonCode      *CWE    `hl7:"4,table=0062,display=Event Reason Code"`
	OperatorID           []XCN   `hl7:"5,table=0188,display=Operator Id"`
	EventOccurred        DTM     `hl7:"6,format=YMDHM,display=Event Occurred"`
	EventFacility        *HD     `hl7:"7,display=Event Facility"`
}

Event Type

The EVN segment is used to communicate necessary trigger event information to receiving applications. Valid event types for all chapters are contained in HL7 Table 0003 - Event Type.

type FC

type FC struct {
	HL7                HL7Name `hl7:",name=FC,len=0,type=d"`
	FinancialClassCode CWE     `` /* 231-byte string literal not displayed */
	EffectiveDate      DTM     `` /* 162-byte string literal not displayed */
}

Financial Class

type FHS

type FHS struct {
	HL7                         HL7Name `hl7:",name=FHS,type=s"`
	FileFieldSeparator          ST      `hl7:"1,required,len=1,display=File Field Separator"`
	FileEncodingCharacters      ST      `hl7:"2,required,len=5,display=File Encoding Characters"`
	FileSendingApplication      *HD     `hl7:"3,display=File Sending Application"`
	FileSendingFacility         *HD     `hl7:"4,display=File Sending Facility"`
	FileReceivingApplication    *HD     `hl7:"5,display=File Receiving Application"`
	FileReceivingFacility       *HD     `hl7:"6,display=File Receiving Facility"`
	FileCreationDateTime        DTM     `hl7:"7,format=YMDHM,display=File Creation Date/Time"`
	FileSecurity                ST      `hl7:"8,display=File Security"`
	FileNameID                  ST      `hl7:"9,display=File Name/Id"`
	FileHeaderComment           ST      `hl7:"10,display=File Header Comment"`
	FileControlID               ST      `hl7:"11,display=File Control Id"`
	ReferenceFileControlID      ST      `hl7:"12,display=Reference File Control Id"`
	FileSendingNetworkAddress   *HD     `hl7:"13,display=File Sending Network Address"`
	FileReceivingNetworkAddress *HD     `hl7:"14,display=File Receiving Network Address"`
}

File Header

The FHS segment is used to head a file (group of batches) as defined in Section 2.10.3, "HL7 batch protocol".

type FN

type FN = string

Family Name

This data type allows full specification of the surname of a person. Where appropriate, it differentiates the person's own surname from that of the person's partner or spouse, in cases where the person's name may contain elements from either name. It also permits messages to distinguish the surname prefix (such as "van" or "de") from the surname root.

Note: Appears ONLY in the PPN, XCN and XPN.

type FT

type FT = string

Formatted Text Data

This data type is derived from the TX data type by allowing the addition of embedded formatting instructions. These instructions are limited to those that are intrinsic and independent of the circumstances under which the field is being used. The actual instructions and their representation are described in section 2.7.6, “Usage and Examples of Formatted Text”. The FT field is of arbitrary length (up to 64k) and may contain formatting commands enclosed in escape characters.

Example: |\.sp\(skip one vertical line)|

For additional examples of formatting commands see Section 2.7, "Use of Escape Sequences in Text Fields".

To include alternative character sets, use the appropriate escape sequence. See Chapter 2, "Control", section 2.15.9.18, "Character set" and section 2.14.9.20, "Alternate character set handling scheme".

This specification applies no limit to the length of the FT data type, either here where the data type is defined, or elsewhere where the data type is used. While there is no intrinsic reason to limit the length of this data type for semantic or syntactical reasons, it is expected that some sort of limitation will be imposed for technical reasons in implementations. HL7 recommends that implementation length limits are published in implementation profiles. The contents of an FT field may be truncated, but the truncation pattern does not apply.

type FT1

type FT1 struct {
	HL7                                        HL7Name `hl7:",name=FT1,type=s"`
	SetID                                      SI      `hl7:"1,seq,len=4,display=Set Id - Ft1"`
	TransactionID                              ST      `hl7:"2,len=12,display=Transaction Id"`
	TransactionBatchID                         ST      `hl7:"3,len=10,display=Transaction Batch Id"`
	TransactionDate                            DR      `hl7:"4,required,display=Transaction Date"`
	TransactionPostingDate                     DTM     `hl7:"5,format=YMDHM,display=Transaction Posting Date"`
	TransactionType                            CWE     `hl7:"6,required,table=0017,display=Transaction Type"`
	TransactionCode                            CWE     `hl7:"7,required,table=0132,display=Transaction Code"`
	TransactionDescription                     ST      `hl7:"8,display=Transaction Description"`
	TransactionDescriptionAlt                  ST      `hl7:"9,display=Transaction Description - Alt"`
	TransactionQuantity                        NM      `hl7:"10,display=Transaction Quantity"`
	TransactionAmountExtended                  *CP     `hl7:"11,display=Transaction Amount - Extended"`
	TransactionAmountUnit                      *CP     `hl7:"12,display=Transaction Amount - Unit"`
	DepartmentCode                             *CWE    `hl7:"13,table=0049,display=Department Code"`
	HealthPlanID                               *CWE    `hl7:"14,table=0072,display=Health Plan Id"`
	InsuranceAmount                            *CP     `hl7:"15,display=Insurance Amount"`
	AssignedPatientLocation                    *PL     `hl7:"16,display=Assigned Patient Location"`
	FeeSchedule                                *CWE    `hl7:"17,table=0024,display=Fee Schedule"`
	PatientType                                *CWE    `hl7:"18,table=0018,display=Patient Type"`
	DiagnosisCode                              []CWE   `hl7:"19,table=0051,display=Diagnosis Code - Ft1"`
	PerformedByCode                            []XCN   `hl7:"20,table=0084,display=Performed By Code"`
	OrderedByCode                              []XCN   `hl7:"21,display=Ordered By Code"`
	UnitCost                                   *CP     `hl7:"22,display=Unit Cost"`
	FillerOrderNumber                          *EI     `hl7:"23,display=Filler Order Number"`
	EnteredByCode                              []XCN   `hl7:"24,display=Entered By Code"`
	ProcedureCode                              *CNE    `hl7:"25,table=0088,display=Procedure Code"`
	ProcedureCodeModifier                      []CNE   `hl7:"26,table=0340,display=Procedure Code Modifier"`
	AdvancedBeneficiaryNoticeCode              *CWE    `hl7:"27,table=0339,display=Advanced Beneficiary Notice Code"`
	MedicallyNecessaryDuplicateProcedureReason *CWE    `hl7:"28,table=0476,display=Medically Necessary Duplicate Procedure Reason"`
	NdcCode                                    *CWE    `hl7:"29,table=0549,display=Ndc Code"`
	PaymentReferenceID                         *CX     `hl7:"30,display=Payment Reference Id"`
	TransactionReferenceKey                    []SI    `hl7:"31,len=4,display=Transaction Reference Key"`
	PerformingFacility                         []XON   `hl7:"32,display=Performing Facility"`
	OrderingFacility                           *XON    `hl7:"33,display=Ordering Facility"`
	ItemNumber                                 *CWE    `hl7:"34,display=Item Number"`
	ModelNumber                                ST      `hl7:"35,display=Model Number"`
	SpecialProcessingCode                      []CWE   `hl7:"36,display=Special Processing Code"`
	ClinicCode                                 *CWE    `hl7:"37,display=Clinic Code"`
	ReferralNumber                             *CX     `hl7:"38,display=Referral Number"`
	AuthorizationNumber                        *CX     `hl7:"39,display=Authorization Number"`
	ServiceProviderTaxonomyCode                *CWE    `hl7:"40,display=Service Provider Taxonomy Code"`
	RevenueCode                                *CWE    `hl7:"41,table=0456,display=Revenue Code"`
	PrescriptionNumber                         ST      `hl7:"42,display=Prescription Number"`
	NdcQtyAndUom                               *CQ     `hl7:"43,display=Ndc Qty And Uom"`
}

Financial Transaction

The FT1 segment contains the detail data necessary to post charges, payments, adjustments, etc., to patient accounting records.

type FTS

type FTS struct {
	HL7                HL7Name `hl7:",name=FTS,type=s"`
	FileBatchCount     NM      `hl7:"1,display=File Batch Count"`
	FileTrailerComment ST      `hl7:"2,display=File Trailer Comment"`
}

File Trailer

The FTS segment defines the end of a file.

type GOL

type GOL struct {
	HL7                         HL7Name `hl7:",name=GOL,type=s"`
	ActionCode                  ID      `hl7:"1,required,len=2,table=0287,display=Action Code"`
	ActionDateTime              DTM     `hl7:"2,required,format=YMDHM,display=Action Date/Time"`
	GoalID                      CWE     `hl7:"3,required,display=Goal Id"`
	GoalInstanceID              EI      `hl7:"4,required,display=Goal Instance Id"`
	EpisodeOfCareID             *EI     `hl7:"5,display=Episode Of Care Id"`
	GoalListPriority            NM      `hl7:"6,display=Goal List Priority"`
	GoalEstablishedDateTime     DTM     `hl7:"7,format=YMDHM,display=Goal Established Date/Time"`
	ExpectedGoalAchieveDateTime DTM     `hl7:"8,format=YMDHM,display=Expected Goal Achieve Date/Time"`
	GoalClassification          *CWE    `hl7:"9,display=Goal Classification"`
	GoalManagementDiscipline    *CWE    `hl7:"10,display=Goal Management Discipline"`
	CurrentGoalReviewStatus     *CWE    `hl7:"11,display=Current Goal Review Status"`
	CurrentGoalReviewDateTime   DTM     `hl7:"12,format=YMDHM,display=Current Goal Review Date/Time"`
	NextGoalReviewDateTime      DTM     `hl7:"13,format=YMDHM,display=Next Goal Review Date/Time"`
	PreviousGoalReviewDateTime  DTM     `hl7:"14,format=YMDHM,display=Previous Goal Review Date/Time"`
	GoalReviewInterval          ST      `hl7:"15,display=Goal Review Interval"`
	GoalEvaluation              *CWE    `hl7:"16,display=Goal Evaluation"`
	GoalEvaluationComment       []ST    `hl7:"17,display=Goal Evaluation Comment"`
	GoalLifeCycleStatus         *CWE    `hl7:"18,display=Goal Life Cycle Status"`
	GoalLifeCycleStatusDateTime DTM     `hl7:"19,format=YMDHM,display=Goal Life Cycle Status Date/Time"`
	GoalTargetType              []CWE   `hl7:"20,display=Goal Target Type"`
	GoalTargetName              []XPN   `hl7:"21,display=Goal Target Name"`
	MoodCode                    *CNE    `hl7:"22,conditional,table=0725,display=Mood Code"`
}

Goal Detail

The goal detail segment contains the data necessary to add, update, correct, and delete the goals for an individual.

The business and/or application must assume responsibility for maintaining knowledge about data ownership, versioning, and/or audit trail control (for purposes of data integrity). It is also their responsibility to represent the appropriate version of that data.

type GP1

type GP1 struct {
	HL7                         HL7Name `hl7:",name=GP1,type=s"`
	TypeOfBillCode              CWE     `hl7:"1,required,table=0455,display=Type Of Bill Code"`
	RevenueCode                 []CWE   `hl7:"2,table=0456,display=Revenue Code"`
	OverallClaimDispositionCode *CWE    `hl7:"3,table=0457,display=Overall Claim Disposition Code"`
	OceEditsPerVisitCode        []CWE   `hl7:"4,table=0458,display=Oce Edits Per Visit Code"`
	OutlierCost                 *CP     `hl7:"5,display=Outlier Cost"`
}

Grouping/reimbursement - Visit

These fields are used in grouping and reimbursement for CMS APCs. Please refer to the "Outpatient Prospective Payment System Final Rule" ("OPPS Final Rule") issued by CMS.

The GP1 segment is specific to the US and may not be implemented in non-US systems.

type GP2

type GP2 struct {
	HL7                                 HL7Name `hl7:",name=GP2,type=s"`
	RevenueCode                         *CWE    `hl7:"1,table=0456,display=Revenue Code"`
	NumberOfServiceUnits                NM      `hl7:"2,display=Number Of Service Units"`
	Charge                              *CP     `hl7:"3,display=Charge"`
	ReimbursementActionCode             *CWE    `hl7:"4,table=0459,display=Reimbursement Action Code"`
	DenialOrRejectionCode               *CWE    `hl7:"5,table=0460,display=Denial Or Rejection Code"`
	OceEditCode                         []CWE   `hl7:"6,table=0458,display=Oce Edit Code"`
	AmbulatoryPaymentClassificationCode *CWE    `hl7:"7,table=0466,display=Ambulatory Payment Classification Code"`
	ModifierEditCode                    []CWE   `hl7:"8,table=0467,display=Modifier Edit Code"`
	PaymentAdjustmentCode               *CWE    `hl7:"9,table=0468,display=Payment Adjustment Code"`
	PackagingStatusCode                 *CWE    `hl7:"10,table=0469,display=Packaging Status Code"`
	ExpectedCmsPaymentAmount            *CP     `hl7:"11,display=Expected Cms Payment Amount"`
	ReimbursementTypeCode               *CWE    `hl7:"12,table=0470,display=Reimbursement Type Code"`
	CoPayAmount                         *CP     `hl7:"13,display=Co-pay Amount"`
	PayRatePerServiceUnit               NM      `hl7:"14,display=Pay Rate Per Service Unit"`
}

Grouping/reimbursement - Procedure Line Item

This segment is used for items that pertain to each HCPC/CPT line item.

type GT1

type GT1 struct {
	HL7                                HL7Name `hl7:",name=GT1,type=s"`
	SetID                              SI      `hl7:"1,seq,required,len=4,display=Set Id - Gt1"`
	GuarantorNumber                    []CX    `hl7:"2,display=Guarantor Number"`
	GuarantorName                      []XPN   `hl7:"3,required,display=Guarantor Name"`
	GuarantorSpouseName                []XPN   `hl7:"4,display=Guarantor Spouse Name"`
	GuarantorAddress                   []XAD   `hl7:"5,display=Guarantor Address"`
	GuarantorPhNumHome                 []XTN   `hl7:"6,display=Guarantor Ph Num - Home"`
	GuarantorPhNumBusiness             []XTN   `hl7:"7,display=Guarantor Ph Num - Business"`
	GuarantorDateTimeOfBirth           DTM     `hl7:"8,format=YMDHM,display=Guarantor Date/Time Of Birth"`
	GuarantorAdministrativeSex         *CWE    `hl7:"9,table=0001,display=Guarantor Administrative Sex"`
	GuarantorType                      *CWE    `hl7:"10,table=0068,display=Guarantor Type"`
	GuarantorRelationship              *CWE    `hl7:"11,table=0063,display=Guarantor Relationship"`
	GuarantorSSN                       ST      `hl7:"12,display=Guarantor Ssn"`
	GuarantorDateBegin                 DT      `hl7:"13,format=YMD,display=Guarantor Date - Begin"`
	GuarantorDateEnd                   DT      `hl7:"14,format=YMD,display=Guarantor Date - End"`
	GuarantorPriority                  NM      `hl7:"15,len=2,display=Guarantor Priority"`
	GuarantorEmployerName              []XPN   `hl7:"16,display=Guarantor Employer Name"`
	GuarantorEmployerAddress           []XAD   `hl7:"17,display=Guarantor Employer Address"`
	GuarantorEmployerPhoneNumber       []XTN   `hl7:"18,display=Guarantor Employer Phone Number"`
	GuarantorEmployeeIDNumber          []CX    `hl7:"19,display=Guarantor Employee Id Number"`
	GuarantorEmploymentStatus          *CWE    `hl7:"20,table=0066,display=Guarantor Employment Status"`
	GuarantorOrganizationName          []XON   `hl7:"21,display=Guarantor Organization Name"`
	GuarantorBillingHoldFlag           ID      `hl7:"22,len=1,table=0136,display=Guarantor Billing Hold Flag"`
	GuarantorCreditRatingCode          *CWE    `hl7:"23,table=0341,display=Guarantor Credit Rating Code"`
	GuarantorDeathDateAndTime          DTM     `hl7:"24,format=YMDHM,display=Guarantor Death Date And Time"`
	GuarantorDeathFlag                 ID      `hl7:"25,len=1,table=0136,display=Guarantor Death Flag"`
	GuarantorChargeAdjustmentCode      *CWE    `hl7:"26,table=0218,display=Guarantor Charge Adjustment Code"`
	GuarantorHouseholdAnnualIncome     *CP     `hl7:"27,display=Guarantor Household Annual Income"`
	GuarantorHouseholdSize             NM      `hl7:"28,display=Guarantor Household Size"`
	GuarantorEmployerIDNumber          []CX    `hl7:"29,display=Guarantor Employer Id Number"`
	GuarantorMaritalStatusCode         *CWE    `hl7:"30,table=0002,display=Guarantor Marital Status Code"`
	GuarantorHireEffectiveDate         DT      `hl7:"31,format=YMD,display=Guarantor Hire Effective Date"`
	EmploymentStopDate                 DT      `hl7:"32,format=YMD,display=Employment Stop Date"`
	LivingDependency                   *CWE    `hl7:"33,table=0223,display=Living Dependency"`
	AmbulatoryStatus                   []CWE   `hl7:"34,table=0009,display=Ambulatory Status"`
	Citizenship                        []CWE   `hl7:"35,table=0171,display=Citizenship"`
	PrimaryLanguage                    *CWE    `hl7:"36,table=0296,display=Primary Language"`
	LivingArrangement                  *CWE    `hl7:"37,table=0220,display=Living Arrangement"`
	PublicityCode                      *CWE    `hl7:"38,table=0215,display=Publicity Code"`
	ProtectionIndicator                ID      `hl7:"39,len=1,table=0136,display=Protection Indicator"`
	StudentIndicator                   *CWE    `hl7:"40,table=0231,display=Student Indicator"`
	Religion                           *CWE    `hl7:"41,table=0006,display=Religion"`
	MothersMaidenName                  []XPN   `hl7:"42,display=Mother's Maiden Name"`
	Nationality                        *CWE    `hl7:"43,table=0212,display=Nationality"`
	EthnicGroup                        []CWE   `hl7:"44,table=0189,display=Ethnic Group"`
	ContactPersonsName                 []XPN   `hl7:"45,display=Contact Person's Name"`
	ContactPersonsTelephoneNumber      []XTN   `hl7:"46,display=Contact Person's Telephone Number"`
	ContactReason                      *CWE    `hl7:"47,table=0222,display=Contact Reason"`
	ContactRelationship                *CWE    `hl7:"48,table=0063,display=Contact Relationship"`
	JobTitle                           ST      `hl7:"49,display=Job Title"`
	JobCodeClass                       *JCC    `hl7:"50,display=Job Code/Class"`
	GuarantorEmployersOrganizationName []XON   `hl7:"51,display=Guarantor Employer's Organization Name"`
	Handicap                           *CWE    `hl7:"52,table=0295,display=Handicap"`
	JobStatus                          *CWE    `hl7:"53,table=0311,display=Job Status"`
	GuarantorFinancialClass            *FC     `hl7:"54,display=Guarantor Financial Class"`
	GuarantorRace                      []CWE   `hl7:"55,table=0005,display=Guarantor Race"`
	GuarantorBirthPlace                ST      `hl7:"56,display=Guarantor Birth Place"`
	VipIndicator                       *CWE    `hl7:"57,table=0099,display=Vip Indicator"`
}

Guarantor

The GT1 segment contains guarantor (e.g., the person or the organization with financial responsibility for payment of a patient account) data for patient and insurance billing applications.

type GTS

type GTS = string

General Timing Specification

The General Timing Specification data type is used to communicate complex inter-related information Timing information. The value of such a field follows the formatting rules for a ST field. The string data will be structured according to the rules set forth in the "Version 3 Data Types Part II Unabridged Specification" for the General Timing Specification (GTS) data type.

There is no technical limit to the length of a GTS expression – the expression may be as long as logically required. The conformance length of 199 caters for all the common expressions. GTS expressions are not to be truncated.

type HD

type HD struct {
	HL7             HL7Name `hl7:",name=HD,len=0,type=d"`
	NamespaceID     IS      `` /* 515-byte string literal not displayed */
	UniversalID     ST      `` /* 701-byte string literal not displayed */
	UniversalIDType ID      `` /* 284-byte string literal not displayed */
}

Hierarchic Designator

The basic definition of the HD is that it identifies an (administrative or system or application or other) entity that has responsibility for managing or assigning a defined set of instance identifiers (such as placer or filler number, patient identifiers, provider identifiers, etc.). This entity could be a particular health care application such as a registration system that assigns patient identifiers, a governmental entity such as a licensing authority that assigns professional identifiers or drivers’ license numbers, or a facility where such identifiers are assigned.

The HD is designed to be a more powerful and more general replacement for the application identifier of HL7 versions 2.1 and 2.2. It adds two additional components, the <universal ID> and the <universal ID type> to the former application ID (which is renamed more generically to be the namespace ID).

In the case where an HD identifies an entity that assigns/creates instance identifiers such as a particular patient registration system, it defines an "assigning authority". In the case where an HD identifies a location where instance identifiers are given out (although they may be created by another entity at another location) such as a particular "department of motor vehicles office location," it defines an "assigning facility". These two different uses of the HD appear in many of the extended data types.

The "assigning authority" defined by the HD is similar in its role to the coding system (and version) part of the coded element data types: both identify a set of more discrete instance identifiers. The difference is that the set of HD-defined discrete instances contain identifiers of "real-world" things such as patient or clinical orders, while the coded element-defined set of discrete instances contains concept identifiers (codes).

The HD is designed to be used either as a local identifier (with only the <namespace ID> valued) or a publicly-assigned identifier, a UID (<universal ID> and <universal ID type> both valued). Syntactically, the HD is a group of two identifiers: a local identifier defined by the first component and a universal identifier defined by the second and third components. HDs that have defined third components (defined UID types) must have a second component that is unique within the series of IDs defined by that component.

Note: The HD is used in fields that in earlier versions of HL7 used the IS data type. Thus, a single component HD (only the first component valued) will look like a simple IS data type for older systems expecting a single component in the place of the HD data type.

If the first component for the HD data type is present, the second and third components are optional. If the third component is present, then the second must also be present (although in this case the first is optional). The second and third components must either both be valued (both non-null), or both be not valued (both null). This means that if all three components of the HD are valued, the entity identified by the first component is the same as the entity identified by components two and three taken together. However, implementers may choose, by site agreement, to specify that if all three components of the HD are valued, the first component defines a member in the set defined by the second and third components.

Examples: Example 1: ISO example with only the 2nd and 3rd components valued: |^2.16.840.1.113883.19^ISO|

The syntax of the second component is defined by the ISO standard for object identifiers, not by HL7 (for which the second component is of the ST data type).

Thus the periods (".") in the second component are part of the ISO syntax, and are legal by the definition of the HL7 ST data type.

Example 2: A UUID example |^478A0114-EBF0-7701-A023-6841FF05731A^UUID|

Example 3: A DNS example |^falcon.iupui.edu^DNS|

type HL7Name

type HL7Name struct{}

type Hxx

type Hxx struct {
	HL7   HL7Name `hl7:",name=Hxx,type=s"`
	Value ST      `hl7:"1,display=Hxx.1"`
}

Any Hl7 Segment

type IAM

type IAM struct {
	HL7                                  HL7Name `hl7:",name=IAM,type=s"`
	SetID                                SI      `hl7:"1,seq,required,len=4,display=Set Id - Iam"`
	AllergenTypeCode                     *CWE    `hl7:"2,table=0127,display=Allergen Type Code"`
	AllergenCodeMnemonicDescription      CWE     `hl7:"3,required,display=Allergen Code/Mnemonic/Description"`
	AllergySeverityCode                  *CWE    `hl7:"4,table=0128,display=Allergy Severity Code"`
	AllergyReactionCode                  []ST    `hl7:"5,display=Allergy Reaction Code"`
	AllergyActionCode                    CNE     `hl7:"6,required,table=0206,display=Allergy Action Code"`
	AllergyUniqueIdentifier              *EI     `hl7:"7,conditional,display=Allergy Unique Identifier"`
	ActionReason                         ST      `hl7:"8,display=Action Reason"`
	SensitivityToCausativeAgentCode      *CWE    `hl7:"9,table=0436,display=Sensitivity To Causative Agent Code"`
	AllergenGroupCodeMnemonicDescription *CWE    `hl7:"10,display=Allergen Group Code/Mnemonic/Description"`
	OnsetDate                            DT      `hl7:"11,format=YMD,display=Onset Date"`
	OnsetDateText                        ST      `hl7:"12,display=Onset Date Text"`
	ReportedDateTime                     DTM     `hl7:"13,format=YMDHM,display=Reported Date/Time"`
	ReportedBy                           *XPN    `hl7:"14,display=Reported By"`
	RelationshipToPatientCode            *CWE    `hl7:"15,table=0063,display=Relationship To Patient Code"`
	AlertDeviceCode                      *CWE    `hl7:"16,table=0437,display=Alert Device Code"`
	AllergyClinicalStatusCode            *CWE    `hl7:"17,table=0438,display=Allergy Clinical Status Code"`
	StatusedByPerson                     *XCN    `hl7:"18,display=Statused By Person"`
	StatusedByOrganization               *XON    `hl7:"19,display=Statused By Organization"`
	StatusedAtDateTime                   DTM     `hl7:"20,format=YMDHM,display=Statused At Date/Time"`
	InactivatedByPerson                  *XCN    `hl7:"21,display=Inactivated By Person"`
	InactivatedDateTime                  DTM     `hl7:"22,format=YMDHM,display=Inactivated Date/Time"`
	InitiallyRecordedByPerson            *XCN    `hl7:"23,display=Initially Recorded By Person"`
	InitiallyRecordedDateTime            DTM     `hl7:"24,format=YMDHM,display=Initially Recorded Date/Time"`
	ModifiedByPerson                     *XCN    `hl7:"25,display=Modified By Person"`
	ModifiedDateTime                     DTM     `hl7:"26,format=YMDHM,display=Modified Date/Time"`
	ClinicianIdentifiedCode              *CWE    `hl7:"27,display=Clinician Identified Code"`
	InitiallyRecordedByOrganization      *XON    `hl7:"28,display=Initially Recorded By Organization"`
	ModifiedByOrganization               *XON    `hl7:"29,display=Modified By Organization"`
	InactivatedByOrganization            *XON    `hl7:"30,display=Inactivated By Organization"`
}

Patient Adverse Reaction Information

The IAM segment contains person/patient adverse reaction information of various types. Most of this information will be derived from user-defined tables. Each IAM segment describes a single person/patient adverse reaction. This segment is used in lieu of the AL1 - Patient Allergy Information Segment to support action code/unique identifier mode update definition of repeating segments as defined in 2.10.4.2 in chapter 2, section 2.4.10, "Protocol for interpreting repeating segments or segment groups in an update Message." The AL1 segment is used to support Snapshot mode update definition as defined in 2.10.4.1.

type IAR

type IAR struct {
	HL7                             HL7Name `hl7:",name=IAR,type=s"`
	AllergyReactionCode             CWE     `hl7:"1,required,display=Allergy Reaction Code"`
	AllergySeverityCode             CWE     `hl7:"2,required,table=0128,display=Allergy Severity Code"`
	SensitivityToCausativeAgentCode *CWE    `hl7:"3,table=0436,display=Sensitivity To Causative Agent Code"`
	Management                      ST      `hl7:"4,display=Management"`
}

Allergy Reaction

The IAR segment is used to transmit a single reaction and information associated with this single reaction occurrence for a particular patient allergy (IAM – patient adverse reaction).

type ICD

type ICD struct {
	HL7                           HL7Name `hl7:",name=ICD,len=0,type=d"`
	CertificationPatientType      *CWE    `` /* 195-byte string literal not displayed */
	CertificationRequired         ID      `` /* 156-byte string literal not displayed */
	DateTimeCertificationRequired DTM     `hl7:"3,format=YMDHM,display=The date/time by which the certification must be obtained. "`
}

Insurance Certification Definition

This data type specifies whether insurance certification is required for particular patient types, and the time window for obtaining the certification.

Note: Replaces the CM data type used in section 6.5.8.20 IN3-20, as of v2.5.

type ID

type ID = string

Coded Value For Hl7 Defined Tables

The value of such a field follows the formatting rules for an ST field except that it is drawn from a table of legal values. There shall be an HL7 table number associated with ID data types. An example of an ID field is OBR-25 Result Status. This data type should be used only for HL7 tables (see Chapter 2C, section 2.C.1.2, "HL7 Tables"). The reverse is not true, since in some circumstances it is more appropriate to use the CNE or CWE data type for HL7 tables.

The minimum and maximum lengths are specified in the context in which the ID data type is used. The longest HL7 defined legal value is 15 characters, but there are a few circumstances where the legal values are taken from code systems defined by other bodies (such as IANA mime types). In these cases, a different conformance length may be specified where the ID data type is used. It is never acceptable to truncate an ID value.

type IIM

type IIM struct {
	HL7                           HL7Name `hl7:",name=IIM,type=s"`
	PrimaryKeyValue               CWE     `hl7:"1,required,display=Primary Key Value - Iim"`
	ServiceItemCode               CWE     `hl7:"2,required,display=Service Item Code"`
	InventoryLotNumber            ST      `hl7:"3,display=Inventory Lot Number"`
	InventoryExpirationDate       DTM     `hl7:"4,format=YMDHM,display=Inventory Expiration Date"`
	InventoryManufacturerName     *CWE    `hl7:"5,display=Inventory Manufacturer Name"`
	InventoryLocation             *CWE    `hl7:"6,display=Inventory Location"`
	InventoryReceivedDate         DTM     `hl7:"7,format=YMDHM,display=Inventory Received Date"`
	InventoryReceivedQuantity     NM      `hl7:"8,display=Inventory Received Quantity"`
	InventoryReceivedQuantityUnit *CWE    `hl7:"9,table=0818,display=Inventory Received Quantity Unit"`
	InventoryReceivedItemCost     *MO     `hl7:"10,display=Inventory Received Item Cost"`
	InventoryOnHandDate           DTM     `hl7:"11,format=YMDHM,display=Inventory On Hand Date"`
	InventoryOnHandQuantity       NM      `hl7:"12,display=Inventory On Hand Quantity"`
	InventoryOnHandQuantityUnit   *CWE    `hl7:"13,table=0818,display=Inventory On Hand Quantity Unit"`
	ProcedureCode                 *CNE    `hl7:"14,table=0088,display=Procedure Code"`
	ProcedureCodeModifier         []CNE   `hl7:"15,table=0340,display=Procedure Code Modifier"`
}

Inventory Item Master

The Inventory Item Master segment (IIM) contains information about the stock of product that can be used to fulfill an ordered test/service. All of the fields in this segment describe the test/service and other basic attributes pertaining to Service Item defined within an Other Observation/Service Item master file. This segment is related to centrally stocked or supply management concerns.

type ILT

type ILT struct {
	HL7                           HL7Name `hl7:",name=ILT,type=s"`
	SetID                         SI      `hl7:"1,seq,required,len=4,display=Set Id - Ilt"`
	InventoryLotNumber            ST      `hl7:"2,required,display=Inventory Lot Number"`
	InventoryExpirationDate       DTM     `hl7:"3,format=YMDHM,display=Inventory Expiration Date"`
	InventoryReceivedDate         DTM     `hl7:"4,format=YMDHM,display=Inventory Received Date"`
	InventoryReceivedQuantity     NM      `hl7:"5,display=Inventory Received Quantity"`
	InventoryReceivedQuantityUnit *CWE    `hl7:"6,table=0818,display=Inventory Received Quantity Unit"`
	InventoryReceivedItemCost     *MO     `hl7:"7,display=Inventory Received Item Cost"`
	InventoryOnHandDate           DTM     `hl7:"8,format=YMDHM,display=Inventory On Hand Date"`
	InventoryOnHandQuantity       NM      `hl7:"9,display=Inventory On Hand Quantity"`
	InventoryOnHandQuantityUnit   *CWE    `hl7:"10,table=0818,display=Inventory On Hand Quantity Unit"`
}

Material Lot

The Material Lot segment (ILT) contains material information specific to a lot within an inventory location associated with the item in the IVT segment. This segment is similar to the IIM segment used with the limited inventory item master message.

Note that on-hand quantities do NOT refer to a continuously updated quantity. The expectation is for periodic physical inventory.

type IN1

type IN1 struct {
	HL7                           HL7Name `hl7:",name=IN1,type=s"`
	SetID                         SI      `hl7:"1,seq,required,len=4,display=Set Id - In1"`
	HealthPlanID                  CWE     `hl7:"2,required,table=0072,display=Health Plan Id"`
	InsuranceCompanyID            []CX    `hl7:"3,required,display=Insurance Company Id"`
	InsuranceCompanyName          []XON   `hl7:"4,display=Insurance Company Name"`
	InsuranceCompanyAddress       []XAD   `hl7:"5,display=Insurance Company Address"`
	InsuranceCoContactPerson      []XPN   `hl7:"6,display=Insurance Co Contact Person"`
	InsuranceCoPhoneNumber        []XTN   `hl7:"7,display=Insurance Co Phone Number"`
	GroupNumber                   ST      `hl7:"8,display=Group Number"`
	GroupName                     []XON   `hl7:"9,display=Group Name"`
	InsuredsGroupEmpID            []CX    `hl7:"10,display=Insured's Group Emp Id"`
	InsuredsGroupEmpName          []XON   `hl7:"11,display=Insured's Group Emp Name"`
	PlanEffectiveDate             DT      `hl7:"12,format=YMD,display=Plan Effective Date"`
	PlanExpirationDate            DT      `hl7:"13,format=YMD,display=Plan Expiration Date"`
	AuthorizationInformation      *AUI    `hl7:"14,display=Authorization Information"`
	PlanType                      *CWE    `hl7:"15,table=0086,display=Plan Type"`
	NameOfInsured                 []XPN   `hl7:"16,display=Name Of Insured"`
	InsuredsRelationshipToPatient *CWE    `hl7:"17,table=0063,display=Insured's Relationship To Patient"`
	InsuredsDateOfBirth           DTM     `hl7:"18,format=YMDHM,display=Insured's Date Of Birth"`
	InsuredsAddress               []XAD   `hl7:"19,display=Insured's Address"`
	AssignmentOfBenefits          *CWE    `hl7:"20,table=0135,display=Assignment Of Benefits"`
	CoordinationOfBenefits        *CWE    `hl7:"21,table=0173,display=Coordination Of Benefits"`
	CoordOfBenPriority            ST      `hl7:"22,display=Coord Of Ben. Priority"`
	NoticeOfAdmissionFlag         ID      `hl7:"23,len=1,table=0136,display=Notice Of Admission Flag"`
	NoticeOfAdmissionDate         DT      `hl7:"24,format=YMD,display=Notice Of Admission Date"`
	ReportOfEligibilityFlag       ID      `hl7:"25,len=1,table=0136,display=Report Of Eligibility Flag"`
	ReportOfEligibilityDate       DT      `hl7:"26,format=YMD,display=Report Of Eligibility Date"`
	ReleaseInformationCode        *CWE    `hl7:"27,table=0093,display=Release Information Code"`
	PreAdmitCertPac               ST      `hl7:"28,display=Pre-admit Cert (pac)"`
	VerificationDateTime          DTM     `hl7:"29,format=YMDHM,display=Verification Date/Time"`
	VerificationBy                []XCN   `hl7:"30,display=Verification By"`
	TypeOfAgreementCode           *CWE    `hl7:"31,table=0098,display=Type Of Agreement Code"`
	BillingStatus                 *CWE    `hl7:"32,table=0022,display=Billing Status"`
	LifetimeReserveDays           NM      `hl7:"33,display=Lifetime Reserve Days"`
	DelayBeforeLRDay              NM      `hl7:"34,display=Delay Before L.r. Day"`
	CompanyPlanCode               *CWE    `hl7:"35,table=0042,display=Company Plan Code"`
	PolicyNumber                  ST      `hl7:"36,display=Policy Number"`
	PolicyDeductible              *CP     `hl7:"37,display=Policy Deductible"`
	PolicyLimitAmount             ST      `hl7:"38,display=Policy Limit - Amount"`
	PolicyLimitDays               NM      `hl7:"39,display=Policy Limit - Days"`
	RoomRateSemiPrivate           ST      `hl7:"40,display=Room Rate - Semi-private"`
	RoomRatePrivate               ST      `hl7:"41,display=Room Rate - Private"`
	InsuredsEmploymentStatus      *CWE    `hl7:"42,table=0066,display=Insured's Employment Status"`
	InsuredsAdministrativeSex     *CWE    `hl7:"43,table=0001,display=Insured's Administrative Sex"`
	InsuredsEmployersAddress      []XAD   `hl7:"44,display=Insured's Employer's Address"`
	VerificationStatus            ST      `hl7:"45,display=Verification Status"`
	PriorInsurancePlanID          *CWE    `hl7:"46,table=0072,display=Prior Insurance Plan Id"`
	CoverageType                  *CWE    `hl7:"47,table=0309,display=Coverage Type"`
	Handicap                      *CWE    `hl7:"48,table=0295,display=Handicap"`
	InsuredsIDNumber              []CX    `hl7:"49,display=Insured's Id Number"`
	SignatureCode                 *CWE    `hl7:"50,table=0535,display=Signature Code"`
	SignatureCodeDate             DT      `hl7:"51,format=YMD,display=Signature Code Date"`
	InsuredsBirthPlace            ST      `hl7:"52,display=Insured's Birth Place"`
	VipIndicator                  *CWE    `hl7:"53,table=0099,display=Vip Indicator"`
	ExternalHealthPlanIdentifiers []CX    `hl7:"54,display=External Health Plan Identifiers"`
}

Insurance

The IN1 segment contains insurance policy coverage information necessary to produce properly pro-rated and patient and insurance bills.

type IN2

type IN2 struct {
	HL7                                  HL7Name `hl7:",name=IN2,type=s"`
	InsuredsEmployeeID                   []CX    `hl7:"1,display=Insured's Employee Id"`
	InsuredsSocialSecurityNumber         ST      `hl7:"2,display=Insured's Social Security Number"`
	InsuredsEmployersNameAndID           []XCN   `hl7:"3,display=Insured's Employer's Name And Id"`
	EmployerInformationData              *CWE    `hl7:"4,table=0139,display=Employer Information Data"`
	MailClaimParty                       []CWE   `hl7:"5,table=0137,display=Mail Claim Party"`
	MedicareHealthInsCardNumber          ST      `hl7:"6,display=Medicare Health Ins Card Number"`
	MedicaidCaseName                     []XPN   `hl7:"7,display=Medicaid Case Name"`
	MedicaidCaseNumber                   ST      `hl7:"8,display=Medicaid Case Number"`
	MilitarySponsorName                  []XPN   `hl7:"9,display=Military Sponsor Name"`
	MilitaryIDNumber                     ST      `hl7:"10,display=Military Id Number"`
	DependentOfMilitaryRecipient         *CWE    `hl7:"11,table=0342,display=Dependent Of Military Recipient"`
	MilitaryOrganization                 ST      `hl7:"12,display=Military Organization"`
	MilitaryStation                      ST      `hl7:"13,display=Military Station"`
	MilitaryService                      *CWE    `hl7:"14,table=0140,display=Military Service"`
	MilitaryRankGrade                    *CWE    `hl7:"15,table=0141,display=Military Rank/Grade"`
	MilitaryStatus                       *CWE    `hl7:"16,table=0142,display=Military Status"`
	MilitaryRetireDate                   DT      `hl7:"17,format=YMD,display=Military Retire Date"`
	MilitaryNonAvailCertOnFile           ID      `hl7:"18,len=1,table=0136,display=Military Non-avail Cert On File"`
	BabyCoverage                         ID      `hl7:"19,len=1,table=0136,display=Baby Coverage"`
	CombineBabyBill                      ID      `hl7:"20,len=1,table=0136,display=Combine Baby Bill"`
	BloodDeductible                      ST      `hl7:"21,display=Blood Deductible"`
	SpecialCoverageApprovalName          []XPN   `hl7:"22,display=Special Coverage Approval Name"`
	SpecialCoverageApprovalTitle         ST      `hl7:"23,display=Special Coverage Approval Title"`
	NonCoveredInsuranceCode              []CWE   `hl7:"24,table=0143,display=Non-covered Insurance Code"`
	PayorID                              []CX    `hl7:"25,display=Payor Id"`
	PayorSubscriberID                    []CX    `hl7:"26,display=Payor Subscriber Id"`
	EligibilitySource                    *CWE    `hl7:"27,table=0144,display=Eligibility Source"`
	RoomCoverageTypeAmount               []RMC   `hl7:"28,display=Room Coverage Type/Amount"`
	PolicyTypeAmount                     []PTA   `hl7:"29,display=Policy Type/Amount"`
	DailyDeductible                      *DDI    `hl7:"30,display=Daily Deductible"`
	LivingDependency                     *CWE    `hl7:"31,table=0223,display=Living Dependency"`
	AmbulatoryStatus                     []CWE   `hl7:"32,table=0009,display=Ambulatory Status"`
	Citizenship                          []CWE   `hl7:"33,table=0171,display=Citizenship"`
	PrimaryLanguage                      *CWE    `hl7:"34,table=0296,display=Primary Language"`
	LivingArrangement                    *CWE    `hl7:"35,table=0220,display=Living Arrangement"`
	PublicityCode                        *CWE    `hl7:"36,table=0215,display=Publicity Code"`
	ProtectionIndicator                  ID      `hl7:"37,len=1,table=0136,display=Protection Indicator"`
	StudentIndicator                     *CWE    `hl7:"38,table=0231,display=Student Indicator"`
	Religion                             *CWE    `hl7:"39,table=0006,display=Religion"`
	MothersMaidenName                    []XPN   `hl7:"40,display=Mother's Maiden Name"`
	Nationality                          *CWE    `hl7:"41,table=0212,display=Nationality"`
	EthnicGroup                          []CWE   `hl7:"42,table=0189,display=Ethnic Group"`
	MaritalStatus                        []CWE   `hl7:"43,table=0002,display=Marital Status"`
	InsuredsEmploymentStartDate          DT      `hl7:"44,format=YMD,display=Insured's Employment Start Date"`
	EmploymentStopDate                   DT      `hl7:"45,format=YMD,display=Employment Stop Date"`
	JobTitle                             ST      `hl7:"46,display=Job Title"`
	JobCodeClass                         *JCC    `hl7:"47,display=Job Code/Class"`
	JobStatus                            *CWE    `hl7:"48,table=0311,display=Job Status"`
	EmployerContactPersonName            []XPN   `hl7:"49,display=Employer Contact Person Name"`
	EmployerContactPersonPhoneNumber     []XTN   `hl7:"50,display=Employer Contact Person Phone Number"`
	EmployerContactReason                *CWE    `hl7:"51,table=0222,display=Employer Contact Reason"`
	InsuredsContactPersonsName           []XPN   `hl7:"52,display=Insured's Contact Person's Name"`
	InsuredsContactPersonPhoneNumber     []XTN   `hl7:"53,display=Insured's Contact Person Phone Number"`
	InsuredsContactPersonReason          []CWE   `hl7:"54,table=0222,display=Insured's Contact Person Reason"`
	RelationshipToThePatientStartDate    DT      `hl7:"55,format=YMD,display=Relationship To The Patient Start Date"`
	RelationshipToThePatientStopDate     []DT    `hl7:"56,format=YMD,display=Relationship To The Patient Stop Date"`
	InsuranceCoContactReason             *CWE    `hl7:"57,table=0232,display=Insurance Co Contact Reason"`
	InsuranceCoContactPhoneNumber        []XTN   `hl7:"58,display=Insurance Co Contact Phone Number"`
	PolicyScope                          *CWE    `hl7:"59,table=0312,display=Policy Scope"`
	PolicySource                         *CWE    `hl7:"60,table=0313,display=Policy Source"`
	PatientMemberNumber                  *CX     `hl7:"61,display=Patient Member Number"`
	GuarantorsRelationshipToInsured      *CWE    `hl7:"62,table=0063,display=Guarantor's Relationship To Insured"`
	InsuredsPhoneNumberHome              []XTN   `hl7:"63,display=Insured's Phone Number - Home"`
	InsuredsEmployerPhoneNumber          []XTN   `hl7:"64,display=Insured's Employer Phone Number"`
	MilitaryHandicappedProgram           *CWE    `hl7:"65,table=0343,display=Military Handicapped Program"`
	SuspendFlag                          ID      `hl7:"66,len=1,table=0136,display=Suspend Flag"`
	CopayLimitFlag                       ID      `hl7:"67,len=1,table=0136,display=Copay Limit Flag"`
	StoplossLimitFlag                    ID      `hl7:"68,len=1,table=0136,display=Stoploss Limit Flag"`
	InsuredOrganizationNameAndID         []XON   `hl7:"69,display=Insured Organization Name And Id"`
	InsuredEmployerOrganizationNameAndID []XON   `hl7:"70,display=Insured Employer Organization Name And Id"`
	Race                                 []CWE   `hl7:"71,table=0005,display=Race"`
	PatientsRelationshipToInsured        *CWE    `hl7:"72,table=0344,display=Patient's Relationship To Insured"`
}

Insurance Additional Information

The IN2 segment contains additional insurance policy coverage and benefit information necessary for proper billing and reimbursement. Fields used by this segment are defined by CMS or other regulatory agencies.

type IN3

type IN3 struct {
	HL7                                HL7Name `hl7:",name=IN3,type=s"`
	SetID                              SI      `hl7:"1,seq,required,len=4,display=Set Id - In3"`
	CertificationNumber                *CX     `hl7:"2,display=Certification Number"`
	CertifiedBy                        []XCN   `hl7:"3,display=Certified By"`
	CertificationRequired              ID      `hl7:"4,len=1,table=0136,display=Certification Required"`
	Penalty                            *MOP    `hl7:"5,display=Penalty"`
	CertificationDateTime              DTM     `hl7:"6,format=YMDHM,display=Certification Date/Time"`
	CertificationModifyDateTime        DTM     `hl7:"7,format=YMDHM,display=Certification Modify Date/Time"`
	Operator                           []XCN   `hl7:"8,display=Operator"`
	CertificationBeginDate             DT      `hl7:"9,format=YMD,display=Certification Begin Date"`
	CertificationEndDate               DT      `hl7:"10,format=YMD,display=Certification End Date"`
	Days                               *DTN    `hl7:"11,display=Days"`
	NonConcurCodeDescription           *CWE    `hl7:"12,table=0233,display=Non-concur Code/Description"`
	NonConcurEffectiveDateTime         DTM     `hl7:"13,format=YMDHM,display=Non-concur Effective Date/Time"`
	PhysicianReviewer                  []XCN   `hl7:"14,table=0010,display=Physician Reviewer"`
	CertificationContact               ST      `hl7:"15,display=Certification Contact"`
	CertificationContactPhoneNumber    []XTN   `hl7:"16,display=Certification Contact Phone Number"`
	AppealReason                       *CWE    `hl7:"17,table=0345,display=Appeal Reason"`
	CertificationAgency                *CWE    `hl7:"18,table=0346,display=Certification Agency"`
	CertificationAgencyPhoneNumber     []XTN   `hl7:"19,display=Certification Agency Phone Number"`
	PreCertificationRequirement        []ICD   `hl7:"20,display=Pre-certification Requirement"`
	CaseManager                        ST      `hl7:"21,display=Case Manager"`
	SecondOpinionDate                  DT      `hl7:"22,format=YMD,display=Second Opinion Date"`
	SecondOpinionStatus                *CWE    `hl7:"23,table=0151,display=Second Opinion Status"`
	SecondOpinionDocumentationReceived []CWE   `hl7:"24,table=0152,display=Second Opinion Documentation Received"`
	SecondOpinionPhysician             []XCN   `hl7:"25,table=0010,display=Second Opinion Physician"`
}

Insurance Additional Information, Certification

The IN3 segment contains additional insurance information for certifying the need for patient care. Fields used by this segment are defined by CMS, or other regulatory agencies.

type INR_U06

type INR_U06 struct {
	HL7 HL7Name `hl7:",name=INR_U06,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EQU *EQU    `hl7:"4,required,display=Equipment Detail"`
	INV []INV   `hl7:"5,required,display=Inventory Detail"`
	ROL *ROL    `hl7:"6,display=Role"`
}

Automated equipment inventory request

This message is used to request information about inventory items from one application to another (e.g., Laboratory Automation System to automated equipment). The equipment specified in the EQU segment should respond with the information about inventory item requested in the INV segment (or all items).

type INU_U05

type INU_U05 struct {
	HL7 HL7Name `hl7:",name=INU_U05,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EQU *EQU    `hl7:"4,required,display=Equipment Detail"`
	INV []INV   `hl7:"5,required,display=Inventory Detail"`
	ROL *ROL    `hl7:"6,display=Role"`
}

Automated equipment inventory update

This message is used to send information about inventory items from one application to another (e.g., automated Equipment to a Laboratory Automation System).

type INV

type INV struct {
	HL7                          HL7Name `hl7:",name=INV,type=s"`
	SubstanceIdentifier          CWE     `hl7:"1,required,table=0451,display=Substance Identifier"`
	SubstanceStatus              []CWE   `hl7:"2,required,table=0383,display=Substance Status"`
	SubstanceType                *CWE    `hl7:"3,table=0384,display=Substance Type"`
	InventoryContainerIdentifier *CWE    `hl7:"4,table=9999,display=Inventory Container Identifier"`
	ContainerCarrierIdentifier   *CWE    `hl7:"5,table=9999,display=Container Carrier Identifier"`
	PositionOnCarrier            *CWE    `hl7:"6,table=9999,display=Position On Carrier"`
	InitialQuantity              NM      `hl7:"7,display=Initial Quantity"`
	CurrentQuantity              NM      `hl7:"8,display=Current Quantity"`
	AvailableQuantity            NM      `hl7:"9,display=Available Quantity"`
	ConsumptionQuantity          NM      `hl7:"10,display=Consumption Quantity"`
	QuantityUnits                *CWE    `hl7:"11,table=9999,display=Quantity Units"`
	ExpirationDateTime           DTM     `hl7:"12,format=YMDHM,display=Expiration Date/Time"`
	FirstUsedDateTime            DTM     `hl7:"13,format=YMDHM,display=First Used Date/Time"`
	OnBoardStabilityDuration     ST      `hl7:"14,display=On Board Stability Duration"`
	TestFluidIdentifierS         []CWE   `hl7:"15,table=9999,display=Test/Fluid Identifier(s)"`
	ManufacturerLotNumber        ST      `hl7:"16,display=Manufacturer Lot Number"`
	ManufacturerIdentifier       *CWE    `hl7:"17,table=0385,display=Manufacturer Identifier"`
	SupplierIdentifier           *CWE    `hl7:"18,table=0386,display=Supplier Identifier"`
	OnBoardStabilityTime         *CQ     `hl7:"19,display=On Board Stability Time"`
	TargetValue                  *CQ     `hl7:"20,display=Target Value"`
}

Inventory Detail

The inventory detail segment is the data necessary to track the inventory of substances (e.g. reagent, tips, waste) on equipment.

type IPC

type IPC struct {
	HL7                            HL7Name `hl7:",name=IPC,type=s"`
	AccessionIdentifier            EI      `hl7:"1,required,display=Accession Identifier"`
	RequestedProcedureID           EI      `hl7:"2,required,display=Requested Procedure Id"`
	StudyInstanceUid               EI      `hl7:"3,required,display=Study Instance Uid"`
	ScheduledProcedureStepID       EI      `hl7:"4,required,display=Scheduled Procedure Step Id"`
	Modality                       *CWE    `hl7:"5,table=9999,display=Modality"`
	ProtocolCode                   []CWE   `hl7:"6,table=9999,display=Protocol Code"`
	ScheduledStationName           *EI     `hl7:"7,display=Scheduled Station Name"`
	ScheduledProcedureStepLocation []CWE   `hl7:"8,table=9999,display=Scheduled Procedure Step Location"`
	ScheduledStationAeTitle        ST      `hl7:"9,display=Scheduled Station Ae Title"`
}

Imaging Procedure Control Segment

The IPC segment contains information about tasks that need to be performed in order to fulfill the request for imaging service. The information includes location, type and instance identification of equipment (acquisition modality) and stages (procedure steps).

Note: References, field names and definitions in this section were developed in collaboration with DICOM with the goal of keeping HL7 transmission of imaging procedure control information consistent with the DICOM Standard, available at http://medical.nema.org.

type IPR

type IPR struct {
	HL7                              HL7Name `hl7:",name=IPR,type=s"`
	Identifier                       EI      `hl7:"1,required,display=Ipr Identifier"`
	ProviderCrossReferenceIdentifier EI      `hl7:"2,required,display=Provider Cross Reference Identifier"`
	PayerCrossReferenceIdentifier    EI      `hl7:"3,required,display=Payer Cross Reference Identifier"`
	Status                           CWE     `hl7:"4,required,table=0571,display=Ipr Status"`
	DateTime                         DTM     `hl7:"5,required,format=YMDHM,display=Ipr Date/Time"`
	AdjudicatedPaidAmount            *CP     `hl7:"6,display=Adjudicated/Paid Amount"`
	ExpectedPaymentDateTime          DTM     `hl7:"7,format=YMDHM,display=Expected Payment Date/Time"`
	Checksum                         ST      `hl7:"8,required,display=Ipr Checksum"`
}

Invoice Processing Results

The Invoice Processing Results (IPR) segment provides summary information about an adjudicated Product/Service Group or Product/Service Line Item.

type IS

type IS = string

Coded Value For User-defined Tables

As of v2.7, the only approved use of the IS data type is in the HD.1, EI.2 and PL.6 plus a limited number of fields where a determination could not readily be made as to whether the item is an identifier or an actual coded item. Additionally, in accordance with chapter 2 rules, any field or data type component marked as "Retained for backward compatibility" will retain any IS data type.

The value of such a field follows the formatting rules for a ST field except that it is drawn from a site-defined (or user-defined) table of legal values. There shall be an HL7 table number associated with IS data types. An example of an IS field is the Event reason code defined in Chapter 3, "Patient Administration", section 3.4.1.4, "Event reason code". This data type should be used only for user-defined tables (see Chapter 2C, "Code Tables", section 2.C.1.1, "User-defined Tables"). The reverse is not true, since in some circumstances, it is more appropriate to use the CWE data type for user-defined tables.

It is never acceptable to truncate an IS value.

type ISD

type ISD struct {
	HL7                        HL7Name `hl7:",name=ISD,type=s"`
	ReferenceInteractionNumber NM      `hl7:"1,required,display=Reference Interaction Number"`
	InteractionTypeIdentifier  *CWE    `hl7:"2,table=0368,display=Interaction Type Identifier"`
	InteractionActiveState     CWE     `hl7:"3,required,table=0387,display=Interaction Active State"`
}

Interaction Status Detail

The interaction detail segment contains information about the status of specific interaction (e.g., processing — see section Glossary) on the specific equipment.

type ITM

type ITM struct {
	HL7                                   HL7Name `hl7:",name=ITM,type=s"`
	ItemIdentifier                        EI      `hl7:"1,required,display=Item Identifier"`
	ItemDescription                       ST      `hl7:"2,display=Item Description"`
	ItemStatus                            *CWE    `hl7:"3,table=0776,display=Item Status"`
	ItemType                              *CWE    `hl7:"4,table=0778,display=Item Type"`
	ItemCategory                          *CWE    `hl7:"5,display=Item Category"`
	SubjectToExpirationIndicator          *CNE    `hl7:"6,table=0532,display=Subject To Expiration Indicator"`
	ManufacturerIdentifier                *EI     `hl7:"7,display=Manufacturer Identifier"`
	ManufacturerName                      ST      `hl7:"8,display=Manufacturer Name"`
	ManufacturerCatalogNumber             ST      `hl7:"9,display=Manufacturer Catalog Number"`
	ManufacturerLabelerIdentificationCode *CWE    `hl7:"10,display=Manufacturer Labeler Identification Code"`
	PatientChargeableIndicator            *CNE    `hl7:"11,table=0532,display=Patient Chargeable Indicator"`
	TransactionCode                       *CWE    `hl7:"12,table=0132,display=Transaction Code"`
	TransactionAmountUnit                 *CP     `hl7:"13,display=Transaction Amount - Unit"`
	StockedItemIndicator                  *CNE    `hl7:"14,table=0532,display=Stocked Item Indicator"`
	SupplyRiskCodes                       *CWE    `hl7:"15,table=0871,display=Supply Risk Codes"`
	ApprovingRegulatoryAgency             []XON   `hl7:"16,table=0790,display=Approving Regulatory Agency"`
	LatexIndicator                        *CNE    `hl7:"17,table=0532,display=Latex Indicator"`
	RulingAct                             []CWE   `hl7:"18,table=0793,display=Ruling Act"`
	ItemNaturalAccountCode                *CWE    `hl7:"19,table=0320,display=Item Natural Account Code"`
	ApprovedToBuyQuantity                 NM      `hl7:"20,display=Approved To Buy Quantity"`
	ApprovedToBuyPrice                    *MO     `hl7:"21,display=Approved To Buy Price"`
	TaxableItemIndicator                  *CNE    `hl7:"22,table=0532,display=Taxable Item Indicator"`
	FreightChargeIndicator                *CNE    `hl7:"23,table=0532,display=Freight Charge Indicator"`
	ItemSetIndicator                      *CNE    `hl7:"24,table=0532,display=Item Set Indicator"`
	ItemSetIdentifier                     *EI     `hl7:"25,display=Item Set Identifier"`
	TrackDepartmentUsageIndicator         *CNE    `hl7:"26,table=0532,display=Track Department Usage Indicator"`
	ProcedureCode                         *CNE    `hl7:"27,table=0088,display=Procedure Code"`
	ProcedureCodeModifier                 []CNE   `hl7:"28,table=0340,display=Procedure Code Modifier"`
	SpecialHandlingCode                   *CWE    `hl7:"29,table=0376,display=Special Handling Code"`
}

Material Item

The Material Item segment (ITM) contains information about inventory supply items (stocked or non-stocked).

type IVC

type IVC struct {
	HL7                                    HL7Name `hl7:",name=IVC,type=s"`
	ProviderInvoiceNumber                  EI      `hl7:"1,required,display=Provider Invoice Number"`
	PayerInvoiceNumber                     *EI     `hl7:"2,display=Payer Invoice Number"`
	ContractAgreementNumber                *EI     `hl7:"3,display=Contract/Agreement Number"`
	InvoiceControl                         CWE     `hl7:"4,required,table=0553,display=Invoice Control"`
	InvoiceReason                          CWE     `hl7:"5,required,table=0554,display=Invoice Reason"`
	InvoiceType                            CWE     `hl7:"6,required,table=0555,display=Invoice Type"`
	InvoiceDateTime                        DTM     `hl7:"7,required,format=YMDHM,display=Invoice Date/Time"`
	InvoiceAmount                          CP      `hl7:"8,required,display=Invoice Amount"`
	PaymentTerms                           ST      `hl7:"9,display=Payment Terms"`
	ProviderOrganization                   XON     `hl7:"10,required,display=Provider Organization"`
	PayerOrganization                      XON     `hl7:"11,required,display=Payer Organization"`
	Attention                              *XCN    `hl7:"12,display=Attention"`
	LastInvoiceIndicator                   ID      `hl7:"13,len=1,table=0136,display=Last Invoice Indicator"`
	InvoiceBookingPeriod                   DTM     `hl7:"14,format=YMDHM,display=Invoice Booking Period"`
	Origin                                 ST      `hl7:"15,display=Origin"`
	InvoiceFixedAmount                     *CP     `hl7:"16,display=Invoice Fixed Amount"`
	SpecialCosts                           *CP     `hl7:"17,display=Special Costs"`
	AmountForDoctorsTreatment              *CP     `hl7:"18,display=Amount For Doctors Treatment"`
	ResponsiblePhysician                   *XCN    `hl7:"19,display=Responsible Physician"`
	CostCenter                             *CX     `hl7:"20,display=Cost Center"`
	InvoicePrepaidAmount                   *CP     `hl7:"21,display=Invoice Prepaid Amount"`
	TotalInvoiceAmountWithoutPrepaidAmount *CP     `hl7:"22,display=Total Invoice Amount Without Prepaid Amount"`
	TotalAmountOfVat                       *CP     `hl7:"23,conditional,display=Total-amount Of Vat"`
	VatRatesApplied                        []NM    `hl7:"24,len=5,display=Vat-rates Applied"`
	BenefitGroup                           CWE     `hl7:"25,required,table=0556,display=Benefit Group"`
	ProviderTaxID                          ST      `hl7:"26,display=Provider Tax Id"`
	PayerTaxID                             ST      `hl7:"27,display=Payer Tax Id"`
	ProviderTaxStatus                      *CWE    `hl7:"28,table=0572,display=Provider Tax Status"`
	PayerTaxStatus                         *CWE    `hl7:"29,table=0572,display=Payer Tax Status"`
	SalesTaxID                             ST      `hl7:"30,display=Sales Tax Id"`
}

Invoice Segment

The Invoice segment is used for HealthCare Services Invoices and contains header style information for an invoice including invoice numbers, Provider Organization and Payer Organization identification.

type IVT

type IVT struct {
	HL7                               HL7Name `hl7:",name=IVT,type=s"`
	SetID                             SI      `hl7:"1,seq,required,len=4,display=Set Id - Ivt"`
	InventoryLocationIdentifier       EI      `hl7:"2,required,display=Inventory Location Identifier"`
	InventoryLocationName             ST      `hl7:"3,display=Inventory Location Name"`
	SourceLocationIdentifier          *EI     `hl7:"4,display=Source Location Identifier"`
	SourceLocationName                ST      `hl7:"5,display=Source Location Name"`
	ItemStatus                        *CWE    `hl7:"6,table=0625,display=Item Status"`
	BinLocationIdentifier             []EI    `hl7:"7,display=Bin Location Identifier"`
	OrderPackaging                    *CWE    `hl7:"8,table=0818,display=Order Packaging"`
	IssuePackaging                    *CWE    `hl7:"9,display=Issue Packaging"`
	DefaultInventoryAssetAccount      *EI     `hl7:"10,display=Default Inventory Asset Account"`
	PatientChargeableIndicator        *CNE    `hl7:"11,table=0532,display=Patient Chargeable Indicator"`
	TransactionCode                   *CWE    `hl7:"12,table=0132,display=Transaction Code"`
	TransactionAmountUnit             *CP     `hl7:"13,display=Transaction Amount - Unit"`
	ItemImportanceCode                *CWE    `hl7:"14,table=0634,display=Item Importance Code"`
	StockedItemIndicator              *CNE    `hl7:"15,table=0532,display=Stocked Item Indicator"`
	ConsignmentItemIndicator          *CNE    `hl7:"16,table=0532,display=Consignment Item Indicator"`
	ReusableItemIndicator             *CNE    `hl7:"17,table=0532,display=Reusable Item Indicator"`
	ReusableCost                      *CP     `hl7:"18,display=Reusable Cost"`
	SubstituteItemIdentifier          []EI    `hl7:"19,display=Substitute Item Identifier"`
	LatexFreeSubstituteItemIdentifier *EI     `hl7:"20,display=Latex-free Substitute Item Identifier"`
	RecommendedReorderTheory          *CWE    `hl7:"21,table=0642,display=Recommended Reorder Theory"`
	RecommendedSafetyStockDays        NM      `hl7:"22,display=Recommended Safety Stock Days"`
	RecommendedMaximumDaysInventory   NM      `hl7:"23,display=Recommended Maximum Days Inventory"`
	RecommendedOrderPoint             NM      `hl7:"24,display=Recommended Order Point"`
	RecommendedOrderAmount            NM      `hl7:"25,display=Recommended Order Amount"`
	OperatingRoomParLevelIndicator    *CNE    `hl7:"26,table=0532,display=Operating Room Par Level Indicator"`
}

Material Location

The Material Location segment (IVT) contains information specific to an inventory location for the inventory supply item in the Material Item (ITM) segment.

type JCC

type JCC struct {
	HL7                HL7Name `hl7:",name=JCC,len=0,type=d"`
	JobCode            *CWE    `` /* 197-byte string literal not displayed */
	JobClass           *CWE    `` /* 171-byte string literal not displayed */
	JobDescriptionText TX      `` /* 143-byte string literal not displayed */
}

Job Code/class

Example 1: Codified job (where 1 represents the code for Administrator and F represents full time) |1^F^Administrator|

Example 2: Uncodified job (where job codes are not codified and PT represents part time) |^PT^Analyst|.

type LA1

type LA1 struct {
	HL7                 HL7Name `hl7:",name=LA1,len=0,type=d"`
	PointOfCare         IS      `` /* 335-byte string literal not displayed */
	Room                IS      `` /* 217-byte string literal not displayed */
	Bed                 IS      `` /* 206-byte string literal not displayed */
	Facility            *HD     `` /* 228-byte string literal not displayed */
	LocationStatus      IS      `` /* 220-byte string literal not displayed */
	PatientLocationType IS      `` /* 414-byte string literal not displayed */
	Building            IS      `` /* 240-byte string literal not displayed */
	Floor               IS      `` /* 234-byte string literal not displayed */
	Address             *AD     `hl7:"9,display=This component specifies the address of a location."`
}

Location With Address Variation 1

Specifies a location and its address.

Note: Replaces the CM data type used in 4.14.1.8 RXO-8 and 4.14.4.8 RXE-8 as of v 2.5. Retained for backward compatibility only as of v 2.5.

Attention: Retained for backward compatibility only in v2.6. Fields associated with this data type have been replaced by 4 new fields in the RXO and RXE segments.

type LA2

type LA2 struct {
	HL7                        HL7Name `hl7:",name=LA2,len=0,type=d"`
	PointOfCare                IS      `` /* 336-byte string literal not displayed */
	Room                       IS      `` /* 217-byte string literal not displayed */
	Bed                        IS      `` /* 208-byte string literal not displayed */
	Facility                   *HD     `` /* 228-byte string literal not displayed */
	LocationStatus             IS      `` /* 220-byte string literal not displayed */
	PatientLocationType        IS      `` /* 418-byte string literal not displayed */
	Building                   IS      `` /* 240-byte string literal not displayed */
	Floor                      IS      `` /* 234-byte string literal not displayed */
	StreetAddress              ST      `` /* 258-byte string literal not displayed */
	OtherDesignation           ST      `` /* 221-byte string literal not displayed */
	City                       ST      `` /* 277-byte string literal not displayed */
	StateOrProvince            ST      `` /* 202-byte string literal not displayed */
	ZipOrPostalCode            ST      `` /* 345-byte string literal not displayed */
	Country                    ID      `` /* 343-byte string literal not displayed */
	AddressType                ID      `` /* 144-byte string literal not displayed */
	OtherGeographicDesignation ST      `` /* 139-byte string literal not displayed */
}

Location With Address Variation 2

Specifies a location and its address.

Note: Replaces the CM data type used in 4.14.5.13 RXD-13, 4.14.6.11 RXG-11 and 4.14.7.11 RXA-11 as of v 2.5. Retained for backward compatibility only as of v 2.5,

Attention: Retained for backward compatibility only in v2.6. Fields associated with this data type have been replaced by 2 new fields in the RXD, RXG and RXA segments.

type LAN

type LAN struct {
	HL7                     HL7Name `hl7:",name=LAN,type=s"`
	SetID                   SI      `hl7:"1,seq,required,len=4,display=Set Id - Lan"`
	LanguageCode            CWE     `hl7:"2,required,table=0296,display=Language Code"`
	LanguageAbilityCode     []CWE   `hl7:"3,table=0403,display=Language Ability Code"`
	LanguageProficiencyCode *CWE    `hl7:"4,table=0404,display=Language Proficiency Code"`
}

Language Detail

The LAN segment adds detailed language information to the staff member identified by the STF segment. An LAN segment may optionally follow an STF segment. An LAN segment must always have been preceded by a corresponding STF segment.

type LCC

type LCC struct {
	HL7                HL7Name `hl7:",name=LCC,type=s"`
	PrimaryKeyValue    PL      `hl7:"1,required,display=Primary Key Value - Lcc"`
	LocationDepartment CWE     `hl7:"2,required,table=0264,display=Location Department"`
	AccommodationType  []CWE   `hl7:"3,table=0129,display=Accommodation Type"`
	ChargeCode         []CWE   `hl7:"4,required,table=0132,display=Charge Code"`
}

Location Charge Code

The optional LCC segment identifies how a patient location room can be billed by a certain department. A department can use different charge codes for the same room or bed, so there can be multiple LCC segments following an LDP segment.

type LCH

type LCH struct {
	HL7                         HL7Name `hl7:",name=LCH,type=s"`
	PrimaryKeyValue             PL      `hl7:"1,required,display=Primary Key Value - Lch"`
	SegmentActionCode           ID      `hl7:"2,len=1,table=0206,display=Segment Action Code"`
	SegmentUniqueKey            *EI     `hl7:"3,display=Segment Unique Key"`
	LocationCharacteristicID    CWE     `hl7:"4,required,table=0324,display=Location Characteristic Id"`
	LocationCharacteristicValue CWE     `hl7:"5,required,table=0136,display=Location Characteristic Value - Lch"`
}

Location Characteristic

The LCH segment is used to identify location characteristics which determine which patients will be assigned to the room or bed. It contains the location characteristics of the room or bed identified in the preceding LOC segment. There should be one LCH segment for each attribute.

When the LCH segment appears immediately following the LOC segment, it communicates characteristics which are the same across multiple departments that may use the same room. When the LCH segment appears immediately following the LDP segment, it communicates characteristics which differ for different departments that may use the same room. For example, the following characteristics are more likely to vary by which department is using the room: teaching, gender, staffed, set up, overflow, whereas the other characteristics are likely to remain the same.

type LDP

type LDP struct {
	HL7                 HL7Name `hl7:",name=LDP,type=s"`
	PrimaryKeyValue     PL      `hl7:"1,required,display=Primary Key Value - Ldp"`
	LocationDepartment  CWE     `hl7:"2,required,table=0264,display=Location Department"`
	LocationService     []CWE   `hl7:"3,table=0069,display=Location Service"`
	SpecialtyType       []CWE   `hl7:"4,table=0265,display=Specialty Type"`
	ValidPatientClasses []CWE   `hl7:"5,table=0004,display=Valid Patient Classes"`
	ActiveInactiveFlag  ID      `hl7:"6,len=1,table=0183,display=Active/Inactive Flag"`
	ActivationDate      DTM     `hl7:"7,format=YMDHM,display=Activation Date - Ldp"`
	InactivationDate    DTM     `hl7:"8,format=YMDHM,display=Inactivation Date - Ldp"`
	InactivatedReason   ST      `hl7:"9,display=Inactivated Reason"`
	VisitingHours       []VH    `hl7:"10,display=Visiting Hours"`
	ContactPhone        *XTN    `hl7:"11,display=Contact Phone"`
	LocationCostCenter  *CWE    `hl7:"12,table=0462,display=Location Cost Center"`
}

Location Department

The LDP segment identifies how a patient location room is being used by a certain department. Multiple departments can use the same patient location, so there can be multiple LDP segments following an LOC segment. There must be at least one LDP segment for each LOC segment. This is not intended to include any current occupant information.

type LOC

type LOC struct {
	HL7                 HL7Name `hl7:",name=LOC,type=s"`
	PrimaryKeyValue     PL      `hl7:"1,required,display=Primary Key Value - Loc"`
	LocationDescription ST      `hl7:"2,display=Location Description"`
	LocationType        []CWE   `hl7:"3,required,table=0260,display=Location Type - Loc"`
	OrganizationName    []XON   `hl7:"4,display=Organization Name - Loc"`
	LocationAddress     []XAD   `hl7:"5,display=Location Address"`
	LocationPhone       []XTN   `hl7:"6,display=Location Phone"`
	LicenseNumber       []CWE   `hl7:"7,table=0461,display=License Number"`
	LocationEquipment   []CWE   `hl7:"8,table=0261,display=Location Equipment"`
	LocationServiceCode *CWE    `hl7:"9,table=0442,display=Location Service Code"`
}

Location Identification

The LOC segment can identify any patient location referenced by information systems. This segment gives physical set up information about the location. This is not intended to include any current occupant or current use information. There should be one LOC segment for each patient location. If desired, there can also be one LOC segment for each nursing unit and room.

type LRL

type LRL struct {
	HL7                                     HL7Name `hl7:",name=LRL,type=s"`
	PrimaryKeyValue                         PL      `hl7:"1,required,display=Primary Key Value - Lrl"`
	SegmentActionCode                       ID      `hl7:"2,len=1,table=0206,display=Segment Action Code"`
	SegmentUniqueKey                        *EI     `hl7:"3,display=Segment Unique Key"`
	LocationRelationshipID                  CWE     `hl7:"4,required,table=0325,display=Location Relationship Id"`
	OrganizationalLocationRelationshipValue []XON   `hl7:"5,conditional,display=Organizational Location Relationship Value"`
	PatientLocationRelationshipValue        *PL     `hl7:"6,conditional,display=Patient Location Relationship Value"`
}

Location Relationship

The LRL segment is used to identify one location's relationship to another location, the nearest lab, pharmacy, etc.

type LSR_U13

type LSR_U13 struct {
	HL7 HL7Name `hl7:",name=LSR_U13,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EQU *EQU    `hl7:"4,required,display=Equipment Detail"`
	EQP []EQP   `hl7:"5,required,display=Equipment/log Service"`
	ROL *ROL    `hl7:"6,display=Role"`
}

Automated equipment log/service request

This message is used to request log and/or service events from one application to another (e.g., Laboratory Automation System to automated equipment).

type LSU_U12

type LSU_U12 struct {
	HL7 HL7Name `hl7:",name=LSU_U12,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EQU *EQU    `hl7:"4,required,display=Equipment Detail"`
	EQP []EQP   `hl7:"5,required,display=Equipment/log Service"`
	ROL *ROL    `hl7:"6,display=Role"`
}

Automated equipment log/service update

This message is used to send log and/or service events from one application to another (e.g., automated equipment to Laboratory Automation System).

type MDM_T01

type MDM_T01 struct {
	HL7         HL7Name               `hl7:",name=MDM_T01,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T01_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
}

Original document notification

This is a notification of the creation of a document without the accompanying content. There are multiple approaches by which systems become aware of documents:

Scenario A: A document is dictated and chart tracking system is notified that it has been dictated and is awaiting transcription.

Scenario B: Dictation is transcribed and chart tracking system is notified that the document exists and requires authentication.

Scenario C: A provider orders a series of three X-rays. The radiologist dictates a single document which covers all three orders. Multiple placer numbers are used to identify each of these orders.

type MDM_T01_Commonorder

type MDM_T01_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T01_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T01_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T01_Timing

type MDM_T01_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T01_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T02

type MDM_T02 struct {
	HL7         HL7Name               `hl7:",name=MDM_T02,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T02_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
	Observation []MDM_T02_Observation `hl7:",required,display=Observation"`
}

Original document notification and content

This is a notification of the creation of a document with the accompanying content.

Scenario A: Dictation is transcribed and the chart tracking system is notified that the document exists and requires authentication. The content of the document is transmitted along with the notification.

Scenario B: A provider orders a series of three X-rays. The radiologist’s dictation is transcribed in a single document, which covers all three orders. Multiple placer numbers are used to identify each of the orders within the single document message. The notification and document content are transmitted.

type MDM_T02_Commonorder

type MDM_T02_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T02_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T02_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T02_Observation

type MDM_T02_Observation struct {
	HL7 HL7Name `hl7:",name=MDM_T02_Observation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Observation

type MDM_T02_Timing

type MDM_T02_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T02_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T03

type MDM_T03 struct {
	HL7         HL7Name               `hl7:",name=MDM_T03,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T03_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
}

Document status change notification

This is a notification of a change in a status of a document without the accompanying content.

Scenario: A document is authenticated. Notification is sent to the chart tracking system and is used to update the document status from pre-authenticated to authenticated or legally authenticated.

A change in any of the following independent status characteristics would cause a message to be sent: - Completion Status - Confidentiality Status - Availability Status (the Availability Status of “cancelled” is supported in T11 (document cancel notification) or T03) - Storage Status

type MDM_T03_Commonorder

type MDM_T03_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T03_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T03_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T03_Timing

type MDM_T03_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T03_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T04

type MDM_T04 struct {
	HL7         HL7Name               `hl7:",name=MDM_T04,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T04_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
	Observation []MDM_T04_Observation `hl7:",required,display=Observation"`
}

Document status change notification and content

This is a notification of a change in a status of a document with the accompanying content.

Scenario: A document is authenticated. Notification is sent to the chart tracking system and is used to update the document status from pre-authenticated to authenticated or legally authenticated. The document content is also transmitted.

type MDM_T04_Commonorder

type MDM_T04_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T04_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T04_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T04_Observation

type MDM_T04_Observation struct {
	HL7 HL7Name `hl7:",name=MDM_T04_Observation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Observation

type MDM_T04_Timing

type MDM_T04_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T04_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T05

type MDM_T05 struct {
	HL7         HL7Name               `hl7:",name=MDM_T05,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T05_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
}

Document addendum notification

This is a notification of an addendum to a document without the accompanying content.

Scenario: Author dictates additional information as an addendum to a previously transcribed document. A new document is transcribed. This addendum has its own new unique document ID that is linked to the original document via the parent ID. Addendum document notification is transmitted. This creates a composite document.

type MDM_T05_Commonorder

type MDM_T05_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T05_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T05_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T05_Timing

type MDM_T05_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T05_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T06

type MDM_T06 struct {
	HL7         HL7Name               `hl7:",name=MDM_T06,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T06_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
	Observation []MDM_T06_Observation `hl7:",required,display=Observation"`
}

Document addendum notification and content

This is a notification of an addendum to a document with the accompanying content.

Scenario: Author dictates additional information as an addendum to a previously transcribed document. A new document is transcribed. This addendum has its own new unique document ID that is linked to the original document via the parent ID. Addendum document notification is transmitted, along with the document content. This creates a composite document.

type MDM_T06_Commonorder

type MDM_T06_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T06_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T06_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T06_Observation

type MDM_T06_Observation struct {
	HL7 HL7Name `hl7:",name=MDM_T06_Observation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Observation

type MDM_T06_Timing

type MDM_T06_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T06_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T07

type MDM_T07 struct {
	HL7         HL7Name               `hl7:",name=MDM_T07,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T07_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
}

Document edit notification

Note: The only valid use of this trigger event is for documents whose availability status is “Unavailable,” i.e., the document has not been made available for patient care.

This is a notification of an edit to a document without the accompanying content.

Scenario: Errors, which need to be corrected, are discovered in a document. The original document is edited, and an edit notification is sent.

type MDM_T07_Commonorder

type MDM_T07_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T07_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T07_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T07_Timing

type MDM_T07_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T07_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T08

type MDM_T08 struct {
	HL7         HL7Name               `hl7:",name=MDM_T08,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T08_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
	Observation []MDM_T08_Observation `hl7:",required,display=Observation"`
}

Document edit notification and content

Note: The only valid use of this trigger event is for documents whose availability status is "Unavailable," i.e., the document has not been made available for patient care.

This is a notification of an edit to a document with the accompanying content.

Scenario: Errors, which need to be corrected, are discovered in a document. The original document is edited, and an edit notification and document content are sent.

type MDM_T08_Commonorder

type MDM_T08_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T08_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T08_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T08_Observation

type MDM_T08_Observation struct {
	HL7 HL7Name `hl7:",name=MDM_T08_Observation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Observation

type MDM_T08_Timing

type MDM_T08_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T08_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T09

type MDM_T09 struct {
	HL7         HL7Name               `hl7:",name=MDM_T09,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T09_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
}

Document replacement notification

Note: This trigger event is generally used when the original document availability status is “Available.”

This is a notification of replacement to a document without the accompanying content.

Scenario: Errors discovered in a document are corrected. The original document is replaced with the revised document. The replacement document has its own new unique document ID that is linked to the original document via the parent ID. The availability status of the original document is changed to “Obsolete” but the original document should be retained in the system for historical reference. Document replacement notification is sent.

type MDM_T09_Commonorder

type MDM_T09_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T09_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T09_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T09_Timing

type MDM_T09_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T09_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T10

type MDM_T10 struct {
	HL7         HL7Name               `hl7:",name=MDM_T10,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T10_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
	Observation []MDM_T10_Observation `hl7:",required,display=Observation"`
}

Document replacement notification and content

Scenario: Errors discovered in a document are corrected. The original document is replaced with the revised document. The replacement document has its own new unique document ID that is linked to the original document via the parent ID. The availability status of the original document is changed to “Obsolete” but the original document should be retained in the system for historical reference. Document replacement notification and document content are sent.

type MDM_T10_Commonorder

type MDM_T10_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T10_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T10_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T10_Observation

type MDM_T10_Observation struct {
	HL7 HL7Name `hl7:",name=MDM_T10_Observation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Observation

type MDM_T10_Timing

type MDM_T10_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T10_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MDM_T11

type MDM_T11 struct {
	HL7         HL7Name               `hl7:",name=MDM_T11,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	PID         *PID                  `hl7:"5,required,display=Patient Identification"`
	PV1         *PV1                  `hl7:"6,required,display=Patient Visit"`
	Commonorder []MDM_T11_Commonorder `hl7:",display=Common_order"`
	TXA         *TXA                  `hl7:"12,required,display=Transcription Document Header"`
	CON         []CON                 `hl7:"13,display=Consent Segment"`
}

Document cancel notification

This is a notification of a cancellation of a document. This trigger event should be used only for an original document with an availability status of “Unavailable.” When a document has been made available for patient care, the process should be to replace the original document, which then becomes obsolete. The replacement document describes why the erroneous information exists.

Scenario: When the author dictated a document, the wrong patient identification was given, and the document was transcribed and sent to the wrong patient’s record. When the error is discovered, a cancellation notice is sent to remove the document from general access in the wrong patient’s record. In these cases, a reason should be supplied in the cancellation message. To protect patient privacy, the correct patient’s identifying information should not be placed on the erroneous document that is retained in the wrong patient’s record for historical reference. A new document notification and content will be created using a T02 (original document notification and content) event and sent for association with the correct patient’s record.

type MDM_T11_Commonorder

type MDM_T11_Commonorder struct {
	HL7    HL7Name          `hl7:",name=MDM_T11_Commonorder,type=tg"`
	ORC    *ORC             `hl7:"7,required,display=Common Order"`
	Timing []MDM_T11_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"10,required,display=Observation Request"`
	NTE    []NTE            `hl7:"11,display=Notes And Comments"`
}

Commonorder

type MDM_T11_Timing

type MDM_T11_Timing struct {
	HL7 HL7Name `hl7:",name=MDM_T11_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"8,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"9,display=Timing/quantity Relationship"`
}

Timing

type MFA

type MFA struct {
	HL7                       HL7Name  `hl7:",name=MFA,type=s"`
	RecordLevelEventCode      ID       `hl7:"1,required,len=3,table=0180,display=Record-level Event Code"`
	MfnControlID              ST       `hl7:"2,conditional,display=Mfn Control Id"`
	EventCompletionDateTime   DTM      `hl7:"3,format=YMDHM,display=Event Completion Date/Time"`
	MfnRecordLevelErrorReturn CWE      `hl7:"4,required,table=0181,display=Mfn Record Level Error Return"`
	PrimaryKeyValue           []VARIES `hl7:"5,required,display=Primary Key Value - Mfa"`
	PrimaryKeyValueType       []ID     `hl7:"6,required,len=3,table=0355,display=Primary Key Value Type - Mfa"`
}

Master File Acknowledgment

The MFA segment contains the following fields as defined in HL7 Attribute Table - MFA - Master File Acknowledgment

type MFE

type MFE struct {
	HL7                  HL7Name  `hl7:",name=MFE,type=s"`
	RecordLevelEventCode ID       `hl7:"1,required,len=3,table=0180,display=Record-level Event Code"`
	MfnControlID         ST       `hl7:"2,conditional,display=Mfn Control Id"`
	EffectiveDateTime    DTM      `hl7:"3,format=YMDHM,display=Effective Date/Time"`
	PrimaryKeyValue      []VARIES `hl7:"4,required,display=Primary Key Value - Mfe"`
	PrimaryKeyValueType  []ID     `hl7:"5,required,len=3,table=0355,display=Primary Key Value Type"`
	EnteredDateTime      DTM      `hl7:"6,format=YMDHM,display=Entered Date/Time"`
	EnteredBy            *XCN     `hl7:"7,display=Entered By"`
}

Master File Entry

type MFI

type MFI struct {
	HL7                             HL7Name `hl7:",name=MFI,type=s"`
	MasterFileIdentifier            CWE     `hl7:"1,required,table=0175,display=Master File Identifier"`
	MasterFileApplicationIdentifier []HD    `hl7:"2,table=0361,display=Master File Application Identifier"`
	FileLevelEventCode              ID      `hl7:"3,required,len=3,table=0178,display=File-level Event Code"`
	EnteredDateTime                 DTM     `hl7:"4,format=YMDHM,display=Entered Date/Time"`
	EffectiveDateTime               DTM     `hl7:"5,format=YMDHM,display=Effective Date/Time"`
	ResponseLevelCode               ID      `hl7:"6,required,len=2,table=0179,display=Response Level Code"`
}

Master File Identification

The fields in the MFI segment are defined in HL7 Attribute Table - MFI.

type MFK_M02

type MFK_M02 struct {
	HL7 HL7Name `hl7:",name=MFK_M02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Staff/Practitioner Master File Application Acknowledgment

The staff identification (STF), practitioner detail (PRA), practitioner organization unit segment (ORG), professional affiliation (AFF), language detail (LAN), educational detail (EDU), and certificate detail (CER) segments can be used to transmit master files information between systems. The STF segment provides general information about personnel; the PRA, ORG, AFF, LAN, EDU, CER and NTE segments provide detailed information for a staff member.

type MFK_M04

type MFK_M04 struct {
	HL7 HL7Name `hl7:",name=MFK_M04,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Charge Description Master File Application Acknowledgment

The charge description (CDM) master file segment should be used in conjunction with the general master file segments. Interfacing systems often need not only to communicate data about a patient's detailed charges, but also to communicate the charge identification entries by which an application knows how to handle a particular charge code. The charge description master is a master file. The CDM segment below is a specially designed master file segment for interfacing charge description masters. In the following message, the MFI-master file identifier should equal "CDM." When the CDM segment is used in an MFN message, the abstract definition is as follows.

type MFK_M05

type MFK_M05 struct {
	HL7 HL7Name `hl7:",name=MFK_M05,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Patient Location Master File Application Acknowledgment

This section is specifically concerned with describing a master file message that should be used to transmit information which identifies the inventory of healthcare patient locations, such as nursing units, rooms, beds, clinics, exam rooms, etc. In a network environment, this segment can be used to define patient locations to other applications. The segment also includes the readiness states and support locations for the patient locations.

type MFK_M06

type MFK_M06 struct {
	HL7 HL7Name `hl7:",name=MFK_M06,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Clinical Study with Phases and Schedules Master File Application Acknowledgment

MFK message for Clinical Study with phases and schedules

type MFK_M07

type MFK_M07 struct {
	HL7 HL7Name `hl7:",name=MFK_M07,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Clinical Study without Phases but with Schedules Master File Application Acknowledgment

MFK message for Clinical Study without phases but with schedules

type MFK_M08

type MFK_M08 struct {
	HL7 HL7Name `hl7:",name=MFK_M08,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Test/Observation (Numeric) Master File Application Acknowledgment

type MFK_M09

type MFK_M09 struct {
	HL7 HL7Name `hl7:",name=MFK_M09,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Test/Observation (Categorical) Master File Application Acknowledgment

type MFK_M10

type MFK_M10 struct {
	HL7 HL7Name `hl7:",name=MFK_M10,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Test/Observation Batteries Master File Application Acknowledgment

type MFK_M11

type MFK_M11 struct {
	HL7 HL7Name `hl7:",name=MFK_M11,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
}

Test/Calculated Observations Master File Application Acknowledgment

type MFK_M12

type MFK_M12 struct {
	HL7 HL7Name `hl7:",name=MFK_M12,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Additional Basic Observation/Service Attributes Master File Application Acknowledgment

type MFK_M13

type MFK_M13 struct {
	HL7 HL7Name `hl7:",name=MFK_M13,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

General Master File Application Acknowledgment

The MFN General master file notification transaction is used where the master file is a simple one that contains only a key and the text value of that key. Both values are carried in MFE-4 - Primary Key Value - MFE. The specific master file being updated is identified by MFI-1 - Master File Identifier and MFI-2 - Master Files Application Identifier.

The MFA segment carries acknowledgment information for the corresponding MFE segment (identified by MFA-5 - Primary Key Value - MFA). Fields MFE-4 - Primary Key Value - MFE and MFA-5 - Primary Key Value - MFA provide the link between the corresponding segments.

type MFK_M14

type MFK_M14 struct {
	HL7 HL7Name `hl7:",name=MFK_M14,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Site Defined Master File Application Acknowledgment

The MFN Site defined master file notification transaction is used where the master file is not a simple one (as defined for MFN^M13) and is not a transaction type currently defined by HL7, but rather requires one or more HL7 and/or 'Z' segments to carry the master file information.

The master file record identified by the MFE segment is contained in Z-segments immediately following the MFE segment, and is denoted by "..." in the MFN abstract message definition given above. This record may be either a flat record contained in a single segment, or a complex record needing more than a single segment to carry its data and (usually hierarchical) structure.

The definition of this transaction and the associated abstract message structure code (as defined in MSH-9 - Message Type, denoted by MFN_Znn above) are subject to site negotiation. Refer to Chapter 2, section 2.17, "Local Extension" for additional information on 'Z' abstract message structure code definition.

type MFK_M15

type MFK_M15 struct {
	HL7 HL7Name `hl7:",name=MFK_M15,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Inventory Item Master File Application Acknowledgment

This section is concerned with describing a master file message that should be used to communicate information that relates to the inventory of items that can be used to perform an ordered service. While an order specifies a service that is represented in an Other Observation/Service Item master file, this message is concerned with communicating attributes of those orderable items (for example lot number and expiration date) that are represented in the Other Observation/Service Item master file. These attributes are more granular than can be represented in the Other Observation/Service Item master file as there may be multiple items in inventory that meet the characteristics of the Service Item but have different specific characteristics, e.g., multiple lots of a vaccine.

type MFK_M16

type MFK_M16 struct {
	HL7 HL7Name `hl7:",name=MFK_M16,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

Enhanced Inventory Item Master File Application Acknowledgment

This section describes a master file message designed to communicate information that relates to the sharing of material item master catalog and material item-inventory information between materials management systems and other systems such as surgical and immunization systems. The synchronization of the "item master" between systems and across the enterprise enables the success of the subsequent interfacing of transactions such as: material item requisitions (pre and post case), accounts payable invoices for the payment of material items, journal entries generated from the issue of items to departments or other inventory locations, and patient charges that allow a customer to improve patient care through the better management of materials. To face budget challenges, healthcare organizations need materials management systems that integrate with finance to automate logistics, eliminate paperwork and analyze data to improve efficiency and reduce overall costs. This process is a major contributor to improving the customers' bottom line by helping to eliminate materials waste, streamline ordering, ensure accurate payment of materials purchased, ensure accurate billing for materials used, and an accurate presentation of the financial statements of a healthcare facility.

type MFK_M17

type MFK_M17 struct {
	HL7 HL7Name `hl7:",name=MFK_M17,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	MFI *MFI    `hl7:"6,required,display=Master File Identification"`
	MFA []MFA   `hl7:"7,display=Master File Acknowledgment"`
}

DRG Master File Application Acknowledgment

This section is specifically concerned with describing a master file message that should be used to transmit information which identifies the DRG basic information, such as relative weight, lower and upper trim points, etc.

type MFN_M02

type MFN_M02 struct {
	HL7     HL7Name           `hl7:",name=MFN_M02,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	MFI     *MFI              `hl7:"4,required,display=Master File Identification"`
	Mfstaff []MFN_M02_Mfstaff `hl7:",required,display=Mf_staff"`
}

Master file - staff practitioner

The staff identification (STF), practitioner detail (PRA), practitioner organization unit segment (ORG), professional affiliation (AFF), language detail (LAN), educational detail (EDU), and certificate detail (CER) segments can be used to transmit master files information between systems. The STF segment provides general information about personnel; the PRA, ORG, AFF, LAN, EDU, CER and NTE segments provide detailed information for a staff member

type MFN_M02_Mfstaff

type MFN_M02_Mfstaff struct {
	HL7 HL7Name `hl7:",name=MFN_M02_Mfstaff,type=tg"`
	MFE *MFE    `hl7:"5,required,display=Master File Entry"`
	STF *STF    `hl7:"6,required,display=Staff Identification"`
	PRA []PRA   `hl7:"7,display=Practitioner Detail"`
	ORG []ORG   `hl7:"8,display=Practitioner Organization Unit Segment"`
	AFF []AFF   `hl7:"9,display=Professional Affiliation"`
	LAN []LAN   `hl7:"10,display=Language Detail"`
	EDU []EDU   `hl7:"11,display=Educational Detail"`
	CER []CER   `hl7:"12,display=Certificate Detail"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Mfstaff

type MFN_M04

type MFN_M04 struct {
	HL7   HL7Name         `hl7:",name=MFN_M04,type=t"`
	MSH   *MSH            `hl7:"1,required,display=Message Header"`
	SFT   []SFT           `hl7:"2,display=Software Segment"`
	UAC   *UAC            `hl7:"3,display=User Authentication Credential Segment"`
	MFI   *MFI            `hl7:"4,required,display=Master File Identification"`
	Mfcdm []MFN_M04_Mfcdm `hl7:",required,display=Mf_cdm"`
}

Master files charge description

The charge description (CDM) master file segment should be used in conjunction with the general master file segments in Section 8.5, "GENERAL MASTER FILE SEGMENTS." Interfacing systems often need not only to communicate data about a patient's detailed charges, but also to communicate the charge identification entries by which an application knows how to handle a particular charge code. The charge description master is a master file. The CDM segment below is a specially designed master file segment for interfacing charge description masters. In the following message, the MFI-master file identifier should equal "CDM."

type MFN_M04_Mfcdm

type MFN_M04_Mfcdm struct {
	HL7 HL7Name `hl7:",name=MFN_M04_Mfcdm,type=tg"`
	MFE *MFE    `hl7:"5,required,display=Master File Entry"`
	CDM *CDM    `hl7:"6,required,display=Charge Description Master"`
	PRC []PRC   `hl7:"7,display=Pricing"`
}

Mfcdm

type MFN_M05

type MFN_M05 struct {
	HL7        HL7Name              `hl7:",name=MFN_M05,type=t"`
	MSH        *MSH                 `hl7:"1,required,display=Message Header"`
	SFT        []SFT                `hl7:"2,display=Software Segment"`
	UAC        *UAC                 `hl7:"3,display=User Authentication Credential Segment"`
	MFI        *MFI                 `hl7:"4,required,display=Master File Identification"`
	Mflocation []MFN_M05_Mflocation `hl7:",required,display=Mf_location"`
}

Patient location master file

This section is specifically concerned with describing a master file message that should be used to transmit information which identifies the inventory of healthcare patient locations, such as nursing units, rooms, beds, clinics, exam rooms, etc. In a network environment, this segment can be used to define patient locations to other applications. The segment also includes the readiness states and support locations for the patient locations. The LOC, LCH, LRL, LDP, and LCC segments must be preceded by the MFI and MFE segments, as described in Section 8.5, "GENERAL MASTER FILE SEGMENTS."

type MFN_M05_Mflocation

type MFN_M05_Mflocation struct {
	HL7       HL7Name             `hl7:",name=MFN_M05_Mflocation,type=tg"`
	MFE       *MFE                `hl7:"5,required,display=Master File Entry"`
	LOC       *LOC                `hl7:"6,required,display=Location Identification"`
	LCH       []LCH               `hl7:"7,display=Location Characteristic"`
	LRL       []LRL               `hl7:"8,display=Location Relationship"`
	Mflocdept []MFN_M05_Mflocdept `hl7:",required,display=Mf_loc_dept"`
}

Mflocation

type MFN_M05_Mflocdept

type MFN_M05_Mflocdept struct {
	HL7 HL7Name `hl7:",name=MFN_M05_Mflocdept,type=tg"`
	LDP *LDP    `hl7:"9,required,display=Location Department"`
	LCH []LCH   `hl7:"10,display=Location Characteristic"`
	LCC []LCC   `hl7:"11,display=Location Charge Code"`
}

Mflocdept

type MFN_M06

type MFN_M06 struct {
	HL7         HL7Name               `hl7:",name=MFN_M06,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	MFI         *MFI                  `hl7:"4,required,display=Master File Identification"`
	Mfclinstudy []MFN_M06_Mfclinstudy `hl7:",required,display=Mf_clin_study"`
}

Clinical study with phases and schedules master file

The CM0 (Clinical Study Master), CM1 (Clinical Study Phase), and CM2 (Clinical Study Schedule) segments can be used to transmit master files information between systems. The CM0 segment contains the information about the study itself; the CM1 contains the information about one phase of the study identified in the preceding CM0; and the CM2 contains the information about the scheduled time points for the preceding study or phase-related treatment or evaluation events. When these segments are used in an MFN message, the abstract definition is described below. Case 1: MFN message for Clinical Study with phases and schedules

type MFN_M06_Mfclinstudy

type MFN_M06_Mfclinstudy struct {
	HL7                HL7Name                      `hl7:",name=MFN_M06_Mfclinstudy,type=tg"`
	MFE                *MFE                         `hl7:"5,required,display=Master File Entry"`
	CM0                *CM0                         `hl7:"6,required,display=Clinical Study Master"`
	Mfphasescheddetail []MFN_M06_Mfphasescheddetail `hl7:",display=Mf_phase_sched_detail"`
}

Mfclinstudy

type MFN_M06_Mfphasescheddetail

type MFN_M06_Mfphasescheddetail struct {
	HL7 HL7Name `hl7:",name=MFN_M06_Mfphasescheddetail,type=tg"`
	CM1 *CM1    `hl7:"7,required,display=Clinical Study Phase Master"`
	CM2 []CM2   `hl7:"8,display=Clinical Study Schedule Master"`
}

Mfphasescheddetail

type MFN_M07

type MFN_M07 struct {
	HL7              HL7Name                    `hl7:",name=MFN_M07,type=t"`
	MSH              *MSH                       `hl7:"1,required,display=Message Header"`
	SFT              []SFT                      `hl7:"2,display=Software Segment"`
	UAC              *UAC                       `hl7:"3,display=User Authentication Credential Segment"`
	MFI              *MFI                       `hl7:"4,required,display=Master File Identification"`
	Mfclinstudysched []MFN_M07_Mfclinstudysched `hl7:",required,display=Mf_clin_study_sched"`
}

Clinical study without phases but with schedules master file

The CM0 (Clinical Study Master), CM1 (Clinical Study Phase), and CM2 (Clinical Study Schedule) segments can be used to transmit master files information between systems. The CM0 segment contains the information about the study itself; the CM1 contains the information about one phase of the study identified in the preceding CM0; and the CM2 contains the information about the scheduled time points for the preceding study or phase-related treatment or evaluation events. When these segments are used in an MFN message, the abstract definition is described below. Case 2: MFN message for Clinical Study without phases but with schedules

type MFN_M07_Mfclinstudysched

type MFN_M07_Mfclinstudysched struct {
	HL7 HL7Name `hl7:",name=MFN_M07_Mfclinstudysched,type=tg"`
	MFE *MFE    `hl7:"5,required,display=Master File Entry"`
	CM0 *CM0    `hl7:"6,required,display=Clinical Study Master"`
	CM2 []CM2   `hl7:"7,display=Clinical Study Schedule Master"`
}

Mfclinstudysched

type MFN_M08

type MFN_M08 struct {
	HL7           HL7Name                 `hl7:",name=MFN_M08,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message Header"`
	SFT           []SFT                   `hl7:"2,display=Software Segment"`
	UAC           *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MFI           *MFI                    `hl7:"4,required,display=Master File Identification"`
	Mftestnumeric []MFN_M08_Mftestnumeric `hl7:",required,display=Mf_test_numeric"`
}

Test/observation (numeric) master file

Note: The MFK message is used for an application acknowledgment in either the original or enhanced acknowledgment modes. Note: MFI-1 - Master File Identifier = OMA for numeric observations. Note: A service/test/observation definition may have both an OM2 (numeric) and OM3 (categorical) segment included in case the value may be either numeric and/or categorical.

type MFN_M08_Mftestnumeric

type MFN_M08_Mftestnumeric struct {
	HL7 HL7Name `hl7:",name=MFN_M08_Mftestnumeric,type=tg"`
	MFE *MFE    `hl7:"5,required,display=Master File Entry"`
	OM1 *OM1    `hl7:"6,required,display=General Segment"`
	OM2 *OM2    `hl7:"7,display=Numeric Observation"`
	OM3 *OM3    `hl7:"8,display=Categorical Service/test/observation"`
	OM4 *OM4    `hl7:"9,display=Observations That Require Specimens"`
}

Mftestnumeric

type MFN_M09

type MFN_M09 struct {
	HL7               HL7Name                     `hl7:",name=MFN_M09,type=t"`
	MSH               *MSH                        `hl7:"1,required,display=Message Header"`
	SFT               []SFT                       `hl7:"2,display=Software Segment"`
	UAC               *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	MFI               *MFI                        `hl7:"4,required,display=Master File Identification"`
	Mftestcategorical []MFN_M09_Mftestcategorical `hl7:",required,display=Mf_test_categorical"`
}

Test/observation (categorical) master file

Note: The MFK message is used for an application acknowledgment in either the original or enhanced acknowledgment modes. Note: MFI-1 - Master File Identifier = OMB for categorical observations.

type MFN_M09_Mftestcatdetail

type MFN_M09_Mftestcatdetail struct {
	HL7 HL7Name `hl7:",name=MFN_M09_Mftestcatdetail,type=tg"`
	OM3 *OM3    `hl7:"7,required,display=Categorical Service/test/observation"`
	OM4 []OM4   `hl7:"8,display=Observations That Require Specimens"`
}

Mftestcatdetail

type MFN_M09_Mftestcategorical

type MFN_M09_Mftestcategorical struct {
	HL7             HL7Name                  `hl7:",name=MFN_M09_Mftestcategorical,type=tg"`
	MFE             *MFE                     `hl7:"5,required,display=Master File Entry"`
	OM1             *OM1                     `hl7:"6,required,display=General Segment"`
	Mftestcatdetail *MFN_M09_Mftestcatdetail `hl7:",display=Mf_test_cat_detail"`
}

Mftestcategorical

type MFN_M10

type MFN_M10 struct {
	HL7             HL7Name                   `hl7:",name=MFN_M10,type=t"`
	MSH             *MSH                      `hl7:"1,required,display=Message Header"`
	SFT             []SFT                     `hl7:"2,display=Software Segment"`
	UAC             *UAC                      `hl7:"3,display=User Authentication Credential Segment"`
	MFI             *MFI                      `hl7:"4,required,display=Master File Identification"`
	Mftestbatteries []MFN_M10_Mftestbatteries `hl7:",required,display=Mf_test_batteries"`
}

Test /observation batteries master file

Note: The MFK message is used for an application acknowledgment in either the original or enhanced acknowledgment modes. Note: MFI-1 - Master File Identifier = OMC for observation batteries.

type MFN_M10_Mftestbattdetail

type MFN_M10_Mftestbattdetail struct {
	HL7 HL7Name `hl7:",name=MFN_M10_Mftestbattdetail,type=tg"`
	OM5 *OM5    `hl7:"7,required,display=Observation Batteries (sets)"`
	OM4 []OM4   `hl7:"8,display=Observations That Require Specimens"`
}

Mftestbattdetail

type MFN_M10_Mftestbatteries

type MFN_M10_Mftestbatteries struct {
	HL7              HL7Name                   `hl7:",name=MFN_M10_Mftestbatteries,type=tg"`
	MFE              *MFE                      `hl7:"5,required,display=Master File Entry"`
	OM1              *OM1                      `hl7:"6,required,display=General Segment"`
	Mftestbattdetail *MFN_M10_Mftestbattdetail `hl7:",display=Mf_test_batt_detail"`
}

Mftestbatteries

type MFN_M11

type MFN_M11 struct {
	HL7              HL7Name                    `hl7:",name=MFN_M11,type=t"`
	MSH              *MSH                       `hl7:"1,required,display=Message Header"`
	SFT              []SFT                      `hl7:"2,display=Software Segment"`
	UAC              *UAC                       `hl7:"3,display=User Authentication Credential Segment"`
	MFI              *MFI                       `hl7:"4,required,display=Master File Identification"`
	Mftestcalculated []MFN_M11_Mftestcalculated `hl7:",required,display=Mf_test_calculated"`
}

Test/calculated observations master file

Note: The MFK message is used for an application acknowledgment in either the original or enhanced acknowledgment modes. Note: MFI-1 - Master File Identifier = OMD for calculated observations.

type MFN_M11_Mftestcalcdetail

type MFN_M11_Mftestcalcdetail struct {
	HL7 HL7Name `hl7:",name=MFN_M11_Mftestcalcdetail,type=tg"`
	OM6 *OM6    `hl7:"7,required,display=Observations That Are Calculated From Other Observations"`
	OM2 *OM2    `hl7:"8,required,display=Numeric Observation"`
}

Mftestcalcdetail

type MFN_M11_Mftestcalculated

type MFN_M11_Mftestcalculated struct {
	HL7              HL7Name                   `hl7:",name=MFN_M11_Mftestcalculated,type=tg"`
	MFE              *MFE                      `hl7:"5,required,display=Master File Entry"`
	OM1              *OM1                      `hl7:"6,required,display=General Segment"`
	Mftestcalcdetail *MFN_M11_Mftestcalcdetail `hl7:",display=Mf_test_calc_detail"`
}

Mftestcalculated

type MFN_M12

type MFN_M12 struct {
	HL7             HL7Name                   `hl7:",name=MFN_M12,type=t"`
	MSH             *MSH                      `hl7:"1,required,display=Message Header"`
	SFT             []SFT                     `hl7:"2,display=Software Segment"`
	UAC             *UAC                      `hl7:"3,display=User Authentication Credential Segment"`
	MFI             *MFI                      `hl7:"4,required,display=Master File Identification"`
	Mfobsattributes []MFN_M12_Mfobsattributes `hl7:",required,display=Mf_obs_attributes"`
}

Master file notification message

Note: The MFK message is used for an application acknowledgment in either the original or enhanced acknowledgment modes. Note: MFI-1 - Master File Identifier = OME for additional basic observation/service attributes.

type MFN_M12_Mfobsattributes

type MFN_M12_Mfobsattributes struct {
	HL7 HL7Name `hl7:",name=MFN_M12_Mfobsattributes,type=tg"`
	MFE *MFE    `hl7:"5,required,display=Master File Entry"`
	OM1 *OM1    `hl7:"6,required,display=General Segment"`
	OM7 *OM7    `hl7:"7,display=Additional Basic Attributes"`
}

Mfobsattributes

type MFN_M13

type MFN_M13 struct {
	HL7 HL7Name `hl7:",name=MFN_M13,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MFI *MFI    `hl7:"4,required,display=Master File Identification"`
	MFE []MFE   `hl7:"5,required,display=Master File Entry"`
}

Master file notification - general

The MFN General master file notification transaction is used where the master file is a simple one that contains only a key and the text value of that key. Both values are carried in MFE-4 - Primary Key Value - MFE. The specific master file being updated is identified by MFI-1 - Master File Identifier and MFI-2 - Master Files Application Identifier.

type MFN_M14

type MFN_M14 struct {
	HL7           HL7Name                 `hl7:",name=MFN_M14,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message Header"`
	SFT           []SFT                   `hl7:"2,display=Software Segment"`
	UAC           *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MFI           *MFI                    `hl7:"4,required,display=Master File Identification"`
	Mfsitedefined []MFN_M14_Mfsitedefined `hl7:",required,display=Mf_site_defined"`
}

Master file notification - site defined

The MFN Site defined master file notification transaction is used where the master file is not a simple one (as defined for MFN^M13) and is not a transaction type currently defined by HL7, but rather requires one or more HL7 and/or 'Z' segments to carry the master file information

type MFN_M14_Mfsitedefined

type MFN_M14_Mfsitedefined struct {
	HL7 HL7Name `hl7:",name=MFN_M14_Mfsitedefined,type=tg"`
	MFE *MFE    `hl7:"5,required,display=Master File Entry"`
	Hxx *Hxx    `hl7:"6,required,display=Any Hl7 Segment"`
}

Mfsitedefined

type MFN_M15

type MFN_M15 struct {
	HL7       HL7Name             `hl7:",name=MFN_M15,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	MFI       *MFI                `hl7:"4,required,display=Master File Identification"`
	Mfinvitem []MFN_M15_Mfinvitem `hl7:",required,display=Mf_inv_item"`
}

Inventory item master file notification

This section is concerned with describing a master file message that should be used to communicate information that relates to the inventory of items that can be used to perform an ordered service. While an order specifies a service that is represented in an Other Observation/Service Item master file, this message is concerned with communicating attributes of those orderable items (for example lot number and expiration date) that are represented in the Other Observation/Service Item master file. These attributes are more granular than can be represented in the Other Observation/Service Item master file as there may be multiple items in inventory that meet the characteristics of the Service Item but have different specific characteristics, e.g., multiple lots of a vaccine. Each MFE/IIM structure describes a specific set of lot, expiration date, location, etc. for a Service Item. Multiple instances of MFE/IIM could be used to describe the same Service Item lot at multiple locations, or a location with multiple lots of the same Service Item. This message is not intended to act as a complete inventory management system. Various inventory management concepts, e.g., PAR levels, invoice and purchase order tracking, are intentionally not supported. The message is intended to synchronize limited orderable item attributes, e.g., quantity on hand, lot number, expiration date, between communicating systems. Such systems may include a Pharmacy Application and a Nurse-based dispensing system. While the Pharmacy application may define the service items (communicated in [MFN^M12^MFN_12] Other Observation/Service Item master file Messages), the dispensing system would communicate the lot numbers, expiration date and quantity on hand for service items in inventory using the Inventory Item Master file message

type MFN_M15_Mfinvitem

type MFN_M15_Mfinvitem struct {
	HL7 HL7Name `hl7:",name=MFN_M15_Mfinvitem,type=tg"`
	MFE *MFE    `hl7:"5,required,display=Master File Entry"`
	IIM *IIM    `hl7:"6,required,display=Inventory Item Master"`
}

Mfinvitem

type MFN_M16

type MFN_M16 struct {
	HL7                HL7Name                      `hl7:",name=MFN_M16,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	MFI                *MFI                         `hl7:"4,required,display=Master File Identification"`
	Materialitemrecord []MFN_M16_Materialitemrecord `hl7:",required,display=Material_item_record"`
}

Master File Notification Inventory Item Enhanced

This section describes a master file message designed to communicate information that relates to the sharing of material item master catalog and material item-inventory information between materials management systems and other systems such as surgical and immunization systems. The synchronization of the "item master" between systems and across the enterprise enables the success of the subsequent interfacing of transactions such as: material item requisitions (pre and post case), accounts payable invoices for the payment of material items, journal entries generated from the issue of items to departments or other inventory locations, and patient charges that allow a customer to improve patient care through the better management of materials. To face budget challenges, healthcare organizations need materials management systems that integrate with finance to automate logistics, eliminate paperwork and analyze data to improve efficiency and reduce overall costs. This process is a major contributor to improving the customers' bottom line by helping to eliminate materials waste, streamline ordering, ensure accurate payment of materials purchased, ensure accurate billing for materials used, and an accurate presentation of the financial statements of a healthcare facility. Material items defined in this message include consumable supplies, devices, surgical sets, and implants.

type MFN_M16_Materialitemrecord

type MFN_M16_Materialitemrecord struct {
	HL7              HL7Name                    `hl7:",name=MFN_M16_Materialitemrecord,type=tg"`
	MFE              *MFE                       `hl7:"5,required,display=Master File Entry"`
	ITM              *ITM                       `hl7:"6,required,display=Material Item"`
	NTE              []NTE                      `hl7:"7,display=Notes And Comments"`
	Sterilization    []MFN_M16_Sterilization    `hl7:",display=Sterilization"`
	Purchasingvendor []MFN_M16_Purchasingvendor `hl7:",display=Purchasing_vendor"`
	Materiallocation []MFN_M16_Materiallocation `hl7:",display=Material_location"`
}

Materialitemrecord

type MFN_M16_Materiallocation

type MFN_M16_Materiallocation struct {
	HL7 HL7Name `hl7:",name=MFN_M16_Materiallocation,type=tg"`
	IVT *IVT    `hl7:"13,required,display=Material Location"`
	ILT []ILT   `hl7:"14,display=Material Lot"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Materiallocation

type MFN_M16_Packaging

type MFN_M16_Packaging struct {
	HL7 HL7Name `hl7:",name=MFN_M16_Packaging,type=tg"`
	PKG *PKG    `hl7:"11,required,display=Item Packaging"`
	PCE []PCE   `hl7:"12,display=Patient Charge Cost Center Exceptions"`
}

Packaging

type MFN_M16_Purchasingvendor

type MFN_M16_Purchasingvendor struct {
	HL7       HL7Name             `hl7:",name=MFN_M16_Purchasingvendor,type=tg"`
	VND       *VND                `hl7:"10,required,display=Purchasing Vendor"`
	Packaging []MFN_M16_Packaging `hl7:",display=Packaging"`
}

Purchasingvendor

type MFN_M16_Sterilization

type MFN_M16_Sterilization struct {
	HL7 HL7Name `hl7:",name=MFN_M16_Sterilization,type=tg"`
	STZ *STZ    `hl7:"8,required,display=Sterilization Parameter"`
	NTE []NTE   `hl7:"9,display=Notes And Comments"`
}

Sterilization

type MFN_M17

type MFN_M17 struct {
	HL7   HL7Name         `hl7:",name=MFN_M17,type=t"`
	MSH   *MSH            `hl7:"1,required,display=Message Header"`
	SFT   []SFT           `hl7:"2,display=Software Segment"`
	UAC   *UAC            `hl7:"3,display=User Authentication Credential Segment"`
	MFI   *MFI            `hl7:"4,required,display=Master File Identification"`
	Mfdrg []MFN_M17_Mfdrg `hl7:",required,display=Mf_drg"`
}

DRG Master File Message

This section is specifically concerned with describing a master file message that should be used to transmit information which identifies the DRG basic information, such as relative weight, lower and upper trim points, etc. The DMI segment must be preceded by the MFI and MFE segments, as described in Section 8.5, GENERAL MASTER FILE SEGMENTS. In the following message, the MFI-1 - Master File Identifier field should equal "DMI".

type MFN_M17_Mfdrg

type MFN_M17_Mfdrg struct {
	HL7 HL7Name `hl7:",name=MFN_M17_Mfdrg,type=tg"`
	MFE *MFE    `hl7:"5,required,display=Master File Entry"`
	DMI *DMI    `hl7:"6,required,display=Drg Master File Information"`
}

Mfdrg

type MO

type MO struct {
	HL7          HL7Name `hl7:",name=MO,len=0,type=d"`
	Quantity     NM      `hl7:"1,display=The first component is a quantity."`
	Denomination ID      `` /* 483-byte string literal not displayed */
}

Money

This data type specifies an amount of money and the denomination in which it is expressed.

type MOC

type MOC struct {
	HL7            HL7Name `hl7:",name=MOC,len=0,type=d"`
	MonetaryAmount *MO     `hl7:"1,display=The amount and denomination of money associated with the charge code."`
	ChargeCode     *CWE    `hl7:"2,display=The code identifying the charge to the ordering entity for the services performed."`
}

Money And Code

Transmits monetary information and the associated charge code for services performed.

Note: Replaces the CM data type used in sections 4.5.3.23 OBR-23 and 7.4.1.23- OBR-23 as of v 2.5.

type MOP

type MOP struct {
	HL7                        HL7Name `hl7:",name=MOP,len=0,type=d"`
	MoneyOrPercentageIndicator ID      `` /* 170-byte string literal not displayed */
	MoneyOrPercentageQuantity  NM      `hl7:"2,required,display=Specifies the currency or percentage quantity."`
	MonetaryDenomination       ID      `` /* 432-byte string literal not displayed */
}

Money Or Percentage

This data type specifies an amount that may be either currency or a percentage. It is a variation on the MO data type that is limited to currency.

Note: Replaces the CM data type used in section 6.5.8.5 IN3-5, as of v 2.5. This data type is restricted to this field.

Example: USD is the ISO 4217 code for the U.S. American dollar. |AT^99.50^USD|

type MRG

type MRG struct {
	HL7                        HL7Name `hl7:",name=MRG,type=s"`
	PriorPatientIdentifierList []CX    `hl7:"1,required,display=Prior Patient Identifier List"`
	PriorAlternatePatientID    ST      `hl7:"2,display=Prior Alternate Patient Id"`
	PriorPatientAccountNumber  *CX     `hl7:"3,display=Prior Patient Account Number"`
	PriorPatientID             ST      `hl7:"4,display=Prior Patient Id"`
	PriorVisitNumber           *CX     `hl7:"5,display=Prior Visit Number"`
	PriorAlternateVisitID      *CX     `hl7:"6,display=Prior Alternate Visit Id"`
	PriorPatientName           []XPN   `hl7:"7,display=Prior Patient Name"`
}

Merge Patient Information

The MRG segment provides receiving applications with information necessary to initiate the merging of patient data as well as groups of records. It is intended that this segment be used throughout the Standard to allow the merging of registration, accounting, and clinical records within specific applications.

The assigning authority, the fourth component of the patient identifiers, is an HD data type that is uniquely associated with the assigning authority that originally assigned the number. A given institution, or group of intercommunicating institutions, should establish a list of assigning authorities that may be potential assignors of patient identification (and other important identification) numbers. The list will be one of the institution's master dictionary lists. Since third parties (other than the assignors of patient identification numbers) may send or receive HL7 messages containing patient identification numbers, the assigning authority in the patient identification numbers may not be the same as those of the sending and receiving systems identified in the MSH. The assigning authority must be unique across applications at a given site. This field is required in HL7 implementations that have more than a single Patient Administration application assigning such numbers.

type MSA

type MSA struct {
	HL7                       HL7Name `hl7:",name=MSA,type=s"`
	AcknowledgmentCode        ID      `hl7:"1,required,len=2,table=0008,display=Acknowledgment Code"`
	MessageControlID          ST      `hl7:"2,required,len=199,display=Message Control Id"`
	TextMessage               ST      `hl7:"3,display=Text Message"`
	ExpectedSequenceNumber    NM      `hl7:"4,display=Expected Sequence Number"`
	DelayedAcknowledgmentType ST      `hl7:"5,display=Delayed Acknowledgment Type"`
	ErrorCondition            ST      `hl7:"6,display=Error Condition"`
	MessageWaitingNumber      NM      `hl7:"7,display=Message Waiting Number"`
	MessageWaitingPriority    ID      `hl7:"8,len=1,table=0520,display=Message Waiting Priority"`
}

Message Acknowledgment

The MSA segment contains information sent while acknowledging another message.

type MSG

type MSG struct {
	HL7              HL7Name `hl7:",name=MSG,len=0,type=d"`
	MessageCode      ID      `` /* 270-byte string literal not displayed */
	TriggerEvent     ID      `` /* 184-byte string literal not displayed */
	MessageStructure ID      `` /* 152-byte string literal not displayed */
}

Message Type

This field contains the message type, trigger event, and the message structure ID for the message.

Note: Replaces the CM data type used in 2.16.9.9 MSH-9 as of v 2.5.

func (MSG) MessageStructureID

func (d MSG) MessageStructureID() []string

type MSH

type MSH struct {
	HL7                                 HL7Name `hl7:",name=MSH,type=s"`
	FieldSeparator                      ST      `hl7:"1,noescape,fieldsep,omit,required,len=1,display=Field Separator"`
	EncodingCharacters                  ST      `hl7:"2,noescape,fieldchars,required,len=5,display=Encoding Characters"`
	SendingApplication                  *HD     `hl7:"3,table=0361,display=Sending Application"`
	SendingFacility                     *HD     `hl7:"4,table=0362,display=Sending Facility"`
	ReceivingApplication                *HD     `hl7:"5,table=0361,display=Receiving Application"`
	ReceivingFacility                   *HD     `hl7:"6,table=0362,display=Receiving Facility"`
	DateTimeOfMessage                   DTM     `hl7:"7,required,format=YMDHM,display=Date/Time Of Message"`
	Security                            ST      `hl7:"8,display=Security"`
	MessageType                         MSG     `hl7:"9,required,display=Message Type"`
	MessageControlID                    ST      `hl7:"10,required,len=199,display=Message Control Id"`
	ProcessingID                        PT      `hl7:"11,required,display=Processing Id"`
	VersionID                           VID     `hl7:"12,required,display=Version Id"`
	SequenceNumber                      NM      `hl7:"13,display=Sequence Number"`
	ContinuationPointer                 ST      `hl7:"14,display=Continuation Pointer"`
	AcceptAcknowledgmentType            ID      `hl7:"15,len=2,table=0155,display=Accept Acknowledgment Type"`
	ApplicationAcknowledgmentType       ID      `hl7:"16,len=2,table=0155,display=Application Acknowledgment Type"`
	CountryCode                         ID      `hl7:"17,len=3,table=0399,display=Country Code"`
	CharacterSet                        []ID    `hl7:"18,len=15,table=0211,display=Character Set"`
	PrincipalLanguageOfMessage          *CWE    `hl7:"19,display=Principal Language Of Message"`
	AlternateCharacterSetHandlingScheme ID      `hl7:"20,len=13,table=0356,display=Alternate Character Set Handling Scheme"`
	MessageProfileIdentifier            []EI    `hl7:"21,display=Message Profile Identifier"`
	SendingResponsibleOrganization      *XON    `hl7:"22,display=Sending Responsible Organization"`
	ReceivingResponsibleOrganization    *XON    `hl7:"23,display=Receiving Responsible Organization"`
	SendingNetworkAddress               *HD     `hl7:"24,display=Sending Network Address"`
	ReceivingNetworkAddress             *HD     `hl7:"25,display=Receiving Network Address"`
}

Message Header

The MSH segment defines the intent, source, destination, and some specifics of the syntax of a message.

func (MSH) MessageStructureID

func (s MSH) MessageStructureID() []string

MessageStructureID returns the code for the message structure. Implements the interface for decoders.

type NA

type NA struct {
	HL7    HL7Name `hl7:",name=NA,len=0,type=d"`
	Value1 NM      `hl7:"1,display=Value1"`
	Value2 NM      `hl7:"2,display=Value2"`
	Value3 NM      `hl7:"3,display=Value3"`
	Value4 NM      `hl7:"4,display=Value4"`
}

Numeric Array

This data type is used to represent a series (array) of numeric values. A field of this type may contain a one-dimensional array (vector or row) of numbers. Also, by allowing the field to repeat, a two-dimensional array (table) of numbers may be transmitted using this format, with each row of the table represented as one repetition of the field. Arrays that have one or more values not present may be transmitted using this data type. "Not present" values are represented as two adjacent component delimiters. If the absent values occur at the end of a row, the trailing component delimiters may be omitted. If an entire row of a table has no values, no component delimiters are necessary (in this case, there will be two adjacent repetition delimiters).

Example 1: vector of 8 numbers |125^34^-22^-234^569^442^-212^6|

Example 2: 3 x 3 array of numbers |1.2^-3.5^5.2~2.0^3.1^-6.2~3.5^7.8^-1.3|

Example 3: 5 x 4 array of numbers with the values in positions (1,1), (2,2), (2,3), (3,3), (3,4), (4,1), (4,2), (4,3), and (4,4) not present |^2^3^4~5^^^8~9^10~~17^18^19^20|

type NCK

type NCK struct {
	HL7            HL7Name `hl7:",name=NCK,type=s"`
	SystemDateTime DTM     `hl7:"1,required,len=24,format=YMDHM,display=System Date/Time"`
}

System Clock

The NCK segment is used to allow the various applications on the network to synchronize their system clocks (system date and time).

Usage Notes: If this message is to be used to automatically reset/correct system clocks, it is recommended that the system or administrative personnel initiating the NMQ with the NCK segment have the authority to correct the clock (system date and time) for the other systems on the network. This is important in order to avoid the obvious confusion of multiple systems attempting to resynchronize each other's clocks.

If this message is used only to gather information on the various systems' clocks, it is still important for an administrative procedure to be worked out to avoid conflicts when resetting clocks.

type NDL

type NDL struct {
	HL7                 HL7Name `hl7:",name=NDL,len=0,type=d"`
	Name                *CNN    `hl7:"1,display=This component specifies the name of the person performing a service. "`
	StartDateTime       DTM     `` /* 127-byte string literal not displayed */
	EndDateTime         DTM     `` /* 126-byte string literal not displayed */
	PointOfCare         IS      `` /* 346-byte string literal not displayed */
	Room                IS      `` /* 168-byte string literal not displayed */
	Bed                 IS      `` /* 201-byte string literal not displayed */
	Facility            *HD     `` /* 222-byte string literal not displayed */
	LocationStatus      IS      `` /* 220-byte string literal not displayed */
	PatientLocationType IS      `` /* 393-byte string literal not displayed */
	Building            IS      `` /* 234-byte string literal not displayed */
	Floor               IS      `` /* 228-byte string literal not displayed */
}

Name With Date And Location

Specifies the name of the person performing a service, when the person performed the service and where the person performed the service. Retained for backward compatibility as of v2.6.

Note: Replaces the CM data type used in sections 4.5.3.32 and 7.4.1.32-( OBR-32), 4.5.3.33 and 7.4.1.33 - ( OBR-33) 4.5.3.34 and 7.4.1.34 - ( OBR-34) 4.5.3.35 and 7.4.1.35 - ( OBR-35) as of v 2.5.

Attention: Retained for backward compatibility only in v2.6. Fields associated with this data type have been replaced by the ROL segment.

type NDS

type NDS struct {
	HL7                         HL7Name `hl7:",name=NDS,type=s"`
	NotificationReferenceNumber NM      `hl7:"1,required,display=Notification Reference Number"`
	NotificationDateTime        DTM     `hl7:"2,required,format=YMDHM,display=Notification Date/Time"`
	NotificationAlertSeverity   CWE     `hl7:"3,required,table=0367,display=Notification Alert Severity"`
	NotificationCode            CWE     `hl7:"4,required,table=9999,display=Notification Code"`
}

Notification Detail

The equipment notification detail segment is the data necessary to maintain an adequate audit trail as well as notifications of events, (e.g., alarms that have occurred on a particular piece of equipment.

type NK1

type NK1 struct {
	HL7                                        HL7Name `hl7:",name=NK1,type=s"`
	SetID                                      SI      `hl7:"1,seq,required,len=4,display=Set Id - Nk1"`
	Name                                       []XPN   `hl7:"2,display=Name"`
	Relationship                               *CWE    `hl7:"3,table=0063,display=Relationship"`
	Address                                    []XAD   `hl7:"4,display=Address"`
	PhoneNumber                                []XTN   `hl7:"5,display=Phone Number"`
	BusinessPhoneNumber                        []XTN   `hl7:"6,display=Business Phone Number"`
	ContactRole                                *CWE    `hl7:"7,table=0131,display=Contact Role"`
	StartDate                                  DT      `hl7:"8,format=YMD,display=Start Date"`
	EndDate                                    DT      `hl7:"9,format=YMD,display=End Date"`
	NextOfKinAssociatedPartiesJobTitle         ST      `hl7:"10,display=Next Of Kin / Associated Parties Job Title"`
	NextOfKinAssociatedPartiesJobCodeClass     *JCC    `hl7:"11,display=Next Of Kin / Associated Parties Job Code/Class"`
	NextOfKinAssociatedPartiesEmployeeNumber   *CX     `hl7:"12,display=Next Of Kin / Associated Parties Employee Number"`
	OrganizationName                           []XON   `hl7:"13,display=Organization Name - Nk1"`
	MaritalStatus                              *CWE    `hl7:"14,table=0002,display=Marital Status"`
	AdministrativeSex                          *CWE    `hl7:"15,table=0001,display=Administrative Sex"`
	DateTimeOfBirth                            DTM     `hl7:"16,format=YMDHM,display=Date/Time Of Birth"`
	LivingDependency                           []CWE   `hl7:"17,table=0223,display=Living Dependency"`
	AmbulatoryStatus                           []CWE   `hl7:"18,table=0009,display=Ambulatory Status"`
	Citizenship                                []CWE   `hl7:"19,table=0171,display=Citizenship"`
	PrimaryLanguage                            *CWE    `hl7:"20,table=0296,display=Primary Language"`
	LivingArrangement                          *CWE    `hl7:"21,table=0220,display=Living Arrangement"`
	PublicityCode                              *CWE    `hl7:"22,table=0215,display=Publicity Code"`
	ProtectionIndicator                        ID      `hl7:"23,len=1,table=0136,display=Protection Indicator"`
	StudentIndicator                           *CWE    `hl7:"24,table=0231,display=Student Indicator"`
	Religion                                   *CWE    `hl7:"25,table=0006,display=Religion"`
	MothersMaidenName                          []XPN   `hl7:"26,display=Mother's Maiden Name"`
	Nationality                                *CWE    `hl7:"27,table=0212,display=Nationality"`
	EthnicGroup                                []CWE   `hl7:"28,table=0189,display=Ethnic Group"`
	ContactReason                              []CWE   `hl7:"29,table=0222,display=Contact Reason"`
	ContactPersonsName                         []XPN   `hl7:"30,display=Contact Person's Name"`
	ContactPersonsTelephoneNumber              []XTN   `hl7:"31,display=Contact Person's Telephone Number"`
	ContactPersonsAddress                      []XAD   `hl7:"32,display=Contact Person's Address"`
	NextOfKinAssociatedPartysIdentifiers       []CX    `hl7:"33,display=Next Of Kin/Associated Party's Identifiers"`
	JobStatus                                  *CWE    `hl7:"34,table=0311,display=Job Status"`
	Race                                       []CWE   `hl7:"35,table=0005,display=Race"`
	Handicap                                   *CWE    `hl7:"36,table=0295,display=Handicap"`
	ContactPersonSocialSecurityNumber          ST      `hl7:"37,display=Contact Person Social Security Number"`
	NextOfKinBirthPlace                        ST      `hl7:"38,display=Next Of Kin Birth Place"`
	VipIndicator                               *CWE    `hl7:"39,table=0099,display=Vip Indicator"`
	NextOfKinTelecommunicationInformation      *XTN    `hl7:"40,display=Next Of Kin Telecommunication Information"`
	ContactPersonsTelecommunicationInformation *XTN    `hl7:"41,display=Contact Person's Telecommunication Information"`
}

Next Of Kin / Associated Parties

The NK1 segment contains information about the patient's other related parties. Any associated parties may be identified. Utilizing NK1-1 - set ID, multiple NK1 segments can be sent to patient accounts.

If a person or organization fulfills multiple contact roles, for example, a person is an emergency contact and a next of kin, it is recommended to send a NK1 segment for each contact role (field 7).

type NM

type NM = string

Numeric

Definition: A number represented as a series of ASCII numeric characters consisting of an optional leading sign (+ or -), the digits and an optional decimal point. In the absence of a sign, the number is assumed to be positive. If there is no decimal point the number is assumed to be an integer.

Examples: |999| |-123.792|

Leading zeros, or trailing zeros after a decimal point, are not significant. For example, the following two values with different representations, “01.20” and “1.2," are identical. Except for the optional leading sign (+ or -) and the optional decimal point (.), no non-numeric ASCII characters are allowed. Thus, the value <12 should be encoded as a structured numeric (SN) (preferred) or as a string (ST) (allowed, but not preferred) data type.

The NM data type does not follow the normal truncation pattern, and the truncation character is never valid in the NM data type. Instead, the truncation behavior is based on the semantics of numbers.

Values of type NM may always have leading zeros truncated. Note that HL7 recommends that leading zeros not be used. Unless NM is used to represent a monetary amount, implementations may truncate trailing zeros after the decimal point up to the first non-zero digit or the decimal point, which ever comes first. Any digits to the left of the decimal point may never be truncated (other than leading zeros).

Example: 1.0200 may be truncated to 1.02, but not to 1.0.

type NMD_N02

type NMD_N02 struct {
	HL7                    HL7Name                          `hl7:",name=NMD_N02,type=t"`
	MSH                    *MSH                             `hl7:"1,required,display=Message Header"`
	SFT                    []SFT                            `hl7:"2,display=Software Segment"`
	UAC                    *UAC                             `hl7:"3,display=User Authentication Credential Segment"`
	Clockandstatswithnotes []NMD_N02_Clockandstatswithnotes `hl7:",required,display=Clock_and_stats_with_notes"`
}

Application management data message (unsolicited)

The N02 event signifies when an unsolicited update (UU) Application Management Data message (NMD) is created by on application to transmit application management information to other applications. In this case, the initiating application sends an NMD message as an unsolicited update (UU) containing application management information to a receiving application, which responds with a generic acknowledgement message (ACK).

For example, an application going down for backups (or starting up again after backups) might issue such a message to one or more other applications. An application switching to another CPU or file-server may also need to use this transaction to notify other systems.

type NMD_N02_Appstats

type NMD_N02_Appstats struct {
	HL7 HL7Name `hl7:",name=NMD_N02_Appstats,type=tg"`
	NST *NST    `hl7:"6,required,display=Application Control Level Statistics"`
	NTE []NTE   `hl7:"7,display=Notes And Comments"`
}

Appstats

type NMD_N02_Appstatus

type NMD_N02_Appstatus struct {
	HL7 HL7Name `hl7:",name=NMD_N02_Appstatus,type=tg"`
	NSC *NSC    `hl7:"8,required,display=Application Status Change"`
	NTE []NTE   `hl7:"9,display=Notes And Comments"`
}

Appstatus

type NMD_N02_Clock

type NMD_N02_Clock struct {
	HL7 HL7Name `hl7:",name=NMD_N02_Clock,type=tg"`
	NCK *NCK    `hl7:"4,required,display=System Clock"`
	NTE []NTE   `hl7:"5,display=Notes And Comments"`
}

Clock

type NMD_N02_Clockandstatswithnotes

type NMD_N02_Clockandstatswithnotes struct {
	HL7       HL7Name            `hl7:",name=NMD_N02_Clockandstatswithnotes,type=tg"`
	Clock     *NMD_N02_Clock     `hl7:",display=Clock"`
	Appstats  *NMD_N02_Appstats  `hl7:",display=App_stats"`
	Appstatus *NMD_N02_Appstatus `hl7:",display=App_status"`
}

Clockandstatswithnotes

type NPU

type NPU struct {
	HL7         HL7Name `hl7:",name=NPU,type=s"`
	BedLocation PL      `hl7:"1,required,display=Bed Location"`
	BedStatus   *CWE    `hl7:"2,table=0116,display=Bed Status"`
}

Bed Status Update

The NPU segment allows the updating of census (bed status) data without sending patient-specific data. An example might include changing the status of a bed from "housekeeping" to "unoccupied."

type NR

type NR struct {
	HL7       HL7Name `hl7:",name=NR,len=0,type=d"`
	LowValue  NM      `hl7:"1,display=The number specifying the lower limit or boundary of the range."`
	HighValue NM      `hl7:"2,display=The number specifying the high limit or boundary of the range."`
}

Numeric Range

Specifies the interval between the lowest and the highest values in a series of data. In the case where a numeric range is unbounded on one side, the component of the unbounded side is null. Whether the end points are included in the range is defined in the usage note for the field.

Note: Replaces the CM data type used in sections 8.8.4.6.1– OM2-6.1, 8.8.4.6.3– OM2-6.3and 8.8.4.6.4– OM2-6.4, as of v 2.5.

type NSC

type NSC struct {
	HL7                   HL7Name `hl7:",name=NSC,type=s"`
	ApplicationChangeType CWE     `hl7:"1,required,table=0409,display=Application Change Type"`
	CurrentCPU            ST      `hl7:"2,display=Current Cpu"`
	CurrentFileserver     ST      `hl7:"3,display=Current Fileserver"`
	CurrentApplication    *HD     `hl7:"4,table=0361,display=Current Application"`
	CurrentFacility       *HD     `hl7:"5,table=0362,display=Current Facility"`
	NewCPU                ST      `hl7:"6,display=New Cpu"`
	NewFileserver         ST      `hl7:"7,display=New Fileserver"`
	NewApplication        *HD     `hl7:"8,table=0361,display=New Application"`
	NewFacility           *HD     `hl7:"9,table=0362,display=New Facility"`
}

Application Status Change

The NSC segment is used to inform (NMR query response) or announce (NMD unsolicited update) the start up, shut down, and/or migration (to a different CPU or file server/file system) of a particular application.

Usage Notes: Fields 2-9. These are not applicable ("n/a") when the type of change being requested or reported is start-up or shut-down. If the change is of type "M", at least one of fields 2-5 must be different from its corresponding field in range 6-9. Fields 4-5, 8-9. See definitions for the MSH, message header segment, in Chapter 2, "Control Section," for fields 3-4, for system and facility. "Application" is available for interfacing with lower level protocols. "Facility" is entirely site-defined. Fields 2-3, 6-7: entirely site-defined.

type NST

type NST struct {
	HL7                           HL7Name `hl7:",name=NST,type=s"`
	StatisticsAvailable           ID      `hl7:"1,required,len=1,table=0136,display=Statistics Available"`
	SourceIdentifier              ST      `hl7:"2,display=Source Identifier"`
	SourceType                    ID      `hl7:"3,table=0332,display=Source Type"`
	StatisticsStart               DTM     `hl7:"4,format=YMDHM,display=Statistics Start"`
	StatisticsEnd                 DTM     `hl7:"5,format=YMDHM,display=Statistics End"`
	ReceiveCharacterCount         NM      `hl7:"6,display=Receive Character Count"`
	SendCharacterCount            NM      `hl7:"7,display=Send Character Count"`
	MessagesReceived              NM      `hl7:"8,display=Messages Received"`
	MessagesSent                  NM      `hl7:"9,display=Messages Sent"`
	ChecksumErrorsReceived        NM      `hl7:"10,display=Checksum Errors Received"`
	LengthErrorsReceived          NM      `hl7:"11,display=Length Errors Received"`
	OtherErrorsReceived           NM      `hl7:"12,display=Other Errors Received"`
	ConnectTimeouts               NM      `hl7:"13,display=Connect Timeouts"`
	ReceiveTimeouts               NM      `hl7:"14,display=Receive Timeouts"`
	ApplicationControlLevelErrors NM      `hl7:"15,display=Application Control-level Errors"`
}

Application Control Level Statistics

The NST segment allows application control-level statistical information to be passed between the various systems on the network. Some fields in this segment refer to portions of lower level protocols; they contain information that can be used by application management applications monitoring the state of various network links.

Usage Notes: Fields 2-15. These are all marked optional since the statistics kept on a particular link and negotiated between the two systems in question will vary. Not all values will apply to each system. Some values are concerned with the type of port, and some values pertain to the lower level protocol.

type NTE

type NTE struct {
	HL7                HL7Name `hl7:",name=NTE,type=s"`
	SetID              SI      `hl7:"1,seq,display=Set Id - Nte"`
	SourceOfComment    ID      `hl7:"2,len=1,table=0105,display=Source Of Comment"`
	Comment            []FT    `hl7:"3,display=Comment"`
	CommentType        *CWE    `hl7:"4,table=0364,display=Comment Type"`
	EnteredBy          *XCN    `hl7:"5,display=Entered By"`
	EnteredDateTime    DTM     `hl7:"6,format=YMDHM,display=Entered Date/Time"`
	EffectiveStartDate DTM     `hl7:"7,format=YMDHM,display=Effective Start Date"`
	ExpirationDate     DTM     `hl7:"8,format=YMDHM,display=Expiration Date"`
}

Notes And Comments

The NTE segment is defined here for inclusion in messages defined in other chapters. It is commonly used for sending notes and comments.

The technical committees define the meaning of the NTE segments within the context of the messages in their chapters. For each NTE, the description in the message attribute table should include an indication of the segment associated with the NTE, for example "Notes and Comments for the PID".

type OBR

type OBR struct {
	HL7                                        HL7Name `hl7:",name=OBR,type=s"`
	SetID                                      SI      `hl7:"1,seq,len=4,display=Set Id - Obr"`
	PlacerOrderNumber                          *EI     `hl7:"2,conditional,display=Placer Order Number"`
	FillerOrderNumber                          *EI     `hl7:"3,conditional,display=Filler Order Number"`
	UniversalServiceIdentifier                 CWE     `hl7:"4,required,display=Universal Service Identifier"`
	Priority                                   ST      `hl7:"5,display=Priority"`
	RequestedDateTime                          ST      `hl7:"6,display=Requested Date/Time"`
	ObservationDateTime                        DTM     `hl7:"7,conditional,format=YMDHM,display=Observation Date/Time #"`
	ObservationEndDateTime                     DTM     `hl7:"8,format=YMDHM,display=Observation End Date/Time #"`
	CollectionVolume                           *CQ     `hl7:"9,display=Collection Volume *"`
	CollectorIdentifier                        []XCN   `hl7:"10,display=Collector Identifier *"`
	SpecimenActionCode                         ID      `hl7:"11,len=1,table=0065,display=Specimen Action Code *"`
	DangerCode                                 *CWE    `hl7:"12,table=9999,display=Danger Code"`
	RelevantClinicalInformation                []CWE   `hl7:"13,table=0916,display=Relevant Clinical Information"`
	SpecimenReceivedDateTime                   ST      `hl7:"14,display=Specimen Received Date/Time"`
	SpecimenSource                             ST      `hl7:"15,display=Specimen Source"`
	OrderingProvider                           []XCN   `hl7:"16,display=Ordering Provider"`
	OrderCallbackPhoneNumber                   []XTN   `hl7:"17,max=2,display=Order Callback Phone Number"`
	PlacerField1                               ST      `hl7:"18,display=Placer Field 1"`
	PlacerField2                               ST      `hl7:"19,display=Placer Field 2"`
	FillerField1                               ST      `hl7:"20,display=Filler Field 1 +"`
	FillerField2                               ST      `hl7:"21,display=Filler Field 2 +"`
	ResultsRptStatusChngDateTime               DTM     `hl7:"22,conditional,format=YMDHM,display=Results Rpt/Status Chng - Date/Time +"`
	ChargeToPractice                           *MOC    `hl7:"23,display=Charge To Practice +"`
	DiagnosticServSectID                       ID      `hl7:"24,len=3,table=0074,display=Diagnostic Serv Sect Id"`
	ResultStatus                               ID      `hl7:"25,conditional,len=1,table=0123,display=Result Status +"`
	ParentResult                               *PRL    `hl7:"26,display=Parent Result +"`
	QuantityTiming                             []ST    `hl7:"27,display=Quantity/Timing"`
	ResultCopiesTo                             []XCN   `hl7:"28,display=Result Copies To"`
	Parent                                     *EIP    `hl7:"29,display=Parent"`
	TransportationMode                         ID      `hl7:"30,len=4,table=0124,display=Transportation Mode"`
	ReasonForStudy                             []CWE   `hl7:"31,table=9999,display=Reason For Study"`
	PrincipalResultInterpreter                 NDL     `hl7:"32,display=Principal Result Interpreter +"`
	AssistantResultInterpreter                 []NDL   `hl7:"33,display=Assistant Result Interpreter +"`
	Technician                                 []NDL   `hl7:"34,display=Technician +"`
	Transcriptionist                           []NDL   `hl7:"35,display=Transcriptionist +"`
	ScheduledDateTime                          DTM     `hl7:"36,format=YMDHM,display=Scheduled Date/Time +"`
	NumberOfSampleContainers                   NM      `hl7:"37,display=Number Of Sample Containers *"`
	TransportLogisticsOfCollectedSample        []CWE   `hl7:"38,table=9999,display=Transport Logistics Of Collected Sample *"`
	CollectorsComment                          []CWE   `hl7:"39,table=9999,display=Collector's Comment *"`
	TransportArrangementResponsibility         *CWE    `hl7:"40,table=9999,display=Transport Arrangement Responsibility"`
	TransportArranged                          ID      `hl7:"41,len=1,table=0224,display=Transport Arranged"`
	EscortRequired                             ID      `hl7:"42,len=1,table=0225,display=Escort Required"`
	PlannedPatientTransportComment             []CWE   `hl7:"43,table=9999,display=Planned Patient Transport Comment"`
	ProcedureCode                              *CNE    `hl7:"44,table=0088,display=Procedure Code"`
	ProcedureCodeModifier                      []CNE   `hl7:"45,table=0340,display=Procedure Code Modifier"`
	PlacerSupplementalServiceInformation       []CWE   `hl7:"46,table=0411,display=Placer Supplemental Service Information"`
	FillerSupplementalServiceInformation       []CWE   `hl7:"47,table=0411,display=Filler Supplemental Service Information"`
	MedicallyNecessaryDuplicateProcedureReason *CWE    `hl7:"48,conditional,table=0476,display=Medically Necessary Duplicate Procedure Reason"`
	ResultHandling                             *CWE    `hl7:"49,table=0507,display=Result Handling"`
	ParentUniversalServiceIdentifier           CWE     `hl7:"50,display=Parent Universal Service Identifier"`
	ObservationGroupID                         *EI     `hl7:"51,display=Observation Group Id"`
	ParentObservationGroupID                   *EI     `hl7:"52,display=Parent Observation Group Id"`
	AlternatePlacerOrderNumber                 []CX    `hl7:"53,display=Alternate Placer Order Number"`
	ParentOrder                                *EIP    `hl7:"54,display=Parent Order"`
}

Observation Request

The Observation Request (OBR) segment is used to transmit information specific to an order for a diagnostic study or observation, physical exam, or assessment.

The Observation Request segment defines the attributes of a particular request for diagnostic services (e.g., laboratory, EKG) or clinical observations (e.g., vital signs or physical exam). When a placer requests a given set of observations, always include an order segment. For lab tests, the information in the order segment usually applies to a single specimen. However, there is not a one-to-one relationship between specimen and tests ordered. Different test batteries will usually require their own order segments even when they can be performed on a single specimen. In this case, the specimen information must be duplicated in each of the order segments that employ that specimen. For other diagnostic studies, e.g., chest X-ray, a separate order segment will usually be generated for each diagnostic study.

Though multiple observation batteries can be ordered on a single order segment, the observation filler shall generate a separate order segment for each battery that it processes independently, e.g., electrolyte, CBC, vital signs. When reporting the observations, the filling service shall copy the appropriate order (specimen) information from the original order segment into each of the new order segments so that a separate "order" segment is returned to the placer as a "header" for each separate battery of observations.

In the event that an ordered battery of observations cannot be performed, e.g., because of hemolysis on a blood sample, an order segment will be returned to the placer with OBR-25-result status equal to X (to indicate that the study was not performed). In this case, no observation segments will be transmitted.

When observations are successfully completed, the message returned to the placer will include the order segment (OBR) followed by observation (OBX) segments for each distinct observation generated by the order (see Chapter 7). The number of such observation segments will depend upon the number of individual measurements performed in the process.

OBX segments can be sent by the placer along with an order to provide the filling service with clinical data needed to interpret the results. (See Chapter 7 for OBX details.)

The daggered (+) items in this segment are created by the filler, not the placer. They are valued by the filler as needed when the OBR segment is returned as part of a report.

The starred (*) fields are only relevant when an observation is associated with a specimen. These are completed by the placer when the placer obtains the specimen. They are completed by the filler when the filler obtains the specimen.

OBR-7-observation date/time and OBR-8-observation end date/time (flagged with #) are the physiologically relevant times. In the case of an observation on a specimen, they represent the start and end of the specimen collection. In the case of an observation obtained directly from a subject (e.g., BP, Chest X-ray), they represent the start and end time of the observation.

In the reporting of clinical data, the OBR serves as the report header. It identifies the observation set represented by the following atomic observations. It includes the relevant ordering information when that applies. It contains many of the attributes that usually apply to all of the included observations.

When a set of observations is ordered, the order message contains an OBR segment. However, observations can be collected and reported without an antecedent order. When observations are reported, the report message also includes one or more OBR segments. So, the OBR segment is like a turn-around document. Some fields in the OBR segment apply only to the ordering message and some to the reporting message. To those familiar with healthcare procedures, these should be obvious from their names (e.g., transcriptionist or principal result interpreter could only apply to the reporting phase). However, we have also flagged them in the OBR HL7 Attribute Table to indicate whether placer, filler, or both may send data in a given field.

type OBX

type OBX struct {
	HL7                                   HL7Name  `hl7:",name=OBX,type=s"`
	SetID                                 SI       `hl7:"1,seq,len=4,display=Set Id - Obx"`
	ValueType                             ID       `hl7:"2,conditional,len=3,table=0125,display=Value Type"`
	ObservationIdentifier                 CWE      `hl7:"3,required,table=9999,display=Observation Identifier"`
	ObservationSubID                      ST       `hl7:"4,conditional,display=Observation Sub-id"`
	ObservationValue                      []VARIES `hl7:"5,conditional,display=Observation Value"`
	Units                                 *CWE     `hl7:"6,table=9999,display=Units"`
	ReferencesRange                       ST       `hl7:"7,display=References Range"`
	InterpretationCodes                   []CWE    `hl7:"8,display=Interpretation Codes"`
	Probability                           NM       `hl7:"9,display=Probability"`
	NatureOfAbnormalTest                  []ID     `hl7:"10,len=2,table=0080,display=Nature Of Abnormal Test"`
	ObservationResultStatus               ID       `hl7:"11,required,len=1,table=0085,display=Observation Result Status"`
	EffectiveDateOfReferenceRange         DTM      `hl7:"12,format=YMDHM,display=Effective Date Of Reference Range"`
	UserDefinedAccessChecks               ST       `hl7:"13,display=User Defined Access Checks"`
	DateTimeOfTheObservation              DTM      `hl7:"14,format=YMDHM,display=Date/Time Of The Observation"`
	ProducersID                           CWE      `hl7:"15,table=9999,display=Producer's Id"`
	ResponsibleObserver                   []XCN    `hl7:"16,display=Responsible Observer"`
	ObservationMethod                     []CWE    `hl7:"17,table=9999,display=Observation Method"`
	EquipmentInstanceIdentifier           []EI     `hl7:"18,display=Equipment Instance Identifier"`
	DateTimeOfTheAnalysis                 DTM      `hl7:"19,format=YMDHM,display=Date/Time Of The Analysis"`
	ObservationSite                       []CWE    `hl7:"20,table=0163,display=Observation Site"`
	ObservationInstanceIdentifier         *EI      `hl7:"21,display=Observation Instance Identifier"`
	MoodCode                              *CNE     `hl7:"22,conditional,table=0725,display=Mood Code"`
	PerformingOrganizationName            XON      `hl7:"23,display=Performing Organization Name"`
	PerformingOrganizationAddress         XAD      `hl7:"24,display=Performing Organization Address"`
	PerformingOrganizationMedicalDirector XCN      `hl7:"25,display=Performing Organization Medical Director"`
	PatientResultsReleaseCategory         ID       `hl7:"26,len=10,table=0909,display=Patient Results Release Category"`
}

Observation/result

The OBX segment is used to transmit a single observation or observation fragment. It represents the smallest indivisible unit of a report. The OBX segment can also contain encapsulated data, e.g., a CDA document or a DICOM image.

Its principal mission is to carry information about observations in report messages. But the OBX can also be part of an observation order (see Chapter 4, section 4.4, "General Trigger Events & Message Definitions"). In this case, the OBX carries clinical information needed by the filler to interpret the observation the filler makes. For example, an OBX is needed to report the inspired oxygen on an order for a blood oxygen to a blood gas lab, or to report the menstrual phase information which should be included on an order for a pap smear to a cytology lab. Appendix 7A includes codes for identifying many of pieces of information needed by observation producing services to properly interpret a test result. OBX is also found in other HL7 messages that need to include patient clinical information.

When using the OBX for the TIM category, OBX-2 Value Type should be valued to DTM. Consequently, OBX-5 Observation Value should have a length of 26 given the format of the DTM data type. Note the expectations on which fields are required as well as the fields that should not be valued.

When using the OBX for the CHN category, OBX-2 Value Type should be valued to CD. Consequently, OBX-5 Observation Value could have a length of up to 65536 given the format of the CD data type. Note the expectations on which fields are required as well as the fields that should not be valued.

When using the OBX for the WAV category, OBX-2 can be valued as either NA or MA. The length of OBX-5 Observation Value depends on the data type chosen. NA is a repeating data type, and the length will depend on the number of repeats. Note the expectations on which fields are required as well as the fields that should not be valued.

When using the OBX for the ANO category, OBX-2 Value Type should be valued to CWE. Consequently, OBX-5 Observation Value could have a length of up the 65536 given the format of the data types. Note the expectations on which fields are required as well as the fields that should not be valued.

func (OBX) ChildVaries

func (v OBX) ChildVaries(reg func(string) (any, bool)) (reflect.Value, error)

type OCD

type OCD struct {
	HL7            HL7Name `hl7:",name=OCD,len=0,type=d"`
	OccurrenceCode CNE     `` /* 316-byte string literal not displayed */
	OccurrenceDate DT      `hl7:"2,required,format=YMD,display=The date the event- relating to a bill that may affect payer processing- occurred."`
}

Occurrence Code And Date

The code and associated date defining a significant event relating to a bill that may affect payer processing.

Note: Replaces the CM data type used in sections 6.5.10.10 UB1-16 and 6.5.11.7 UB2-7, as of v 2.5.

This data type carries data defined by CMS or other regulatory agencies. It corresponds to UB82 Fields 28 32 and UB92 fields 32a, 32b, 33a, 33b, 34a, 34b, 35a, and 35b. Refer to a UB specification for additional information.

Use Case: A Medicare beneficiary was confined in hospital from January 1, 1992 to January 10, 1992, however, his Medicare Part A benefits were exhausted as of January 8, 1992, and he was not entitled to Part B benefits. Therefore, Form Locator 32 should contain code 23 and the date 010892.

Example: |23&Benefits Exhausted&NUBC^19920108|

type ODS

type ODS struct {
	HL7                            HL7Name `hl7:",name=ODS,type=s"`
	Type                           ID      `hl7:"1,required,len=1,table=0159,display=Type"`
	ServicePeriod                  []CWE   `hl7:"2,max=10,table=9999,display=Service Period"`
	DietSupplementOrPreferenceCode []CWE   `hl7:"3,required,max=20,table=9999,display=Diet- Supplement- Or Preference Code"`
	TextInstruction                []ST    `hl7:"4,max=2,display=Text Instruction"`
}

Dietary Orders, Supplements, And Preferences

The ORC sequence items of interest to ODS are ORC-1-order control, ORC-2-placer order number, ORC-3-filler order number, ORC-7-quantity/timing, ORC-9-date/time of transaction, ORC-10-entered by, and ORC-11-verified by. For ORC-1-order control, the values may be New (NW), Cancel (CA), Discontinue Order Request (DC), Change (XO), Hold Order Request (HD), and Release Previous Hold (RL). The HD and RL codes could stop service for a specified length of time. ORC-7-quantity/timing should be used to specify whether an order is continuous or for one service period only. It is also useful for supplements which are part of a diet but only delivered, say, every day at night.

Example: |1^QPM^^20010415|.

type ODT

type ODT struct {
	HL7             HL7Name `hl7:",name=ODT,type=s"`
	TrayType        CWE     `hl7:"1,required,table=0160,display=Tray Type"`
	ServicePeriod   []CWE   `hl7:"2,max=10,table=9999,display=Service Period"`
	TextInstruction ST      `hl7:"3,display=Text Instruction"`
}

Diet Tray Instructions

This segment addresses tray instructions. These are independent of diet codes, supplements, and preferences and therefore get separate order numbers.

type OM1

type OM1 struct {
	HL7                                                    HL7Name `hl7:",name=OM1,type=s"`
	SequenceNumberTestObservationMasterFile                NM      `hl7:"1,required,display=Sequence Number - Test/Observation Master File"`
	ProducersServiceTestObservationID                      CWE     `hl7:"2,required,table=9999,display=Producer's Service/Test/Observation Id"`
	PermittedDataTypes                                     []ID    `hl7:"3,len=3,table=0125,display=Permitted Data Types"`
	SpecimenRequired                                       ID      `hl7:"4,required,len=1,table=0136,display=Specimen Required"`
	ProducerID                                             CWE     `hl7:"5,required,table=9999,display=Producer Id"`
	ObservationDescription                                 TX      `hl7:"6,display=Observation Description"`
	OtherServiceTestObservationIdsForTheObservation        *CWE    `hl7:"7,table=9999,display=Other Service/Test/Observation Ids For The Observation"`
	OtherNames                                             []ST    `hl7:"8,required,display=Other Names"`
	PreferredReportNameForTheObservation                   ST      `hl7:"9,display=Preferred Report Name For The Observation"`
	PreferredShortNameOrMnemonicForTheObservation          ST      `hl7:"10,len=8,display=Preferred Short Name Or Mnemonic For The Observation"`
	PreferredLongNameForTheObservation                     ST      `hl7:"11,display=Preferred Long Name For The Observation"`
	Orderability                                           ID      `hl7:"12,len=1,table=0136,display=Orderability"`
	IdentityOfInstrumentUsedToPerformThisStudy             []CWE   `hl7:"13,table=9999,display=Identity Of Instrument Used To Perform This Study"`
	CodedRepresentationOfMethod                            []CWE   `hl7:"14,table=9999,display=Coded Representation Of Method"`
	PortableDeviceIndicator                                ID      `hl7:"15,len=1,table=0136,display=Portable Device Indicator"`
	ObservationProducingDepartmentSection                  []CWE   `hl7:"16,table=9999,display=Observation Producing Department/Section"`
	TelephoneNumberOfSection                               *XTN    `hl7:"17,display=Telephone Number Of Section"`
	NatureOfServiceTestObservation                         CWE     `hl7:"18,required,len=1,table=0174,display=Nature Of Service/Test/Observation"`
	ReportSubheader                                        *CWE    `hl7:"19,table=9999,display=Report Subheader"`
	ReportDisplayOrder                                     ST      `hl7:"20,display=Report Display Order"`
	DateTimeStampForAnyChangeInDefinitionForTheObservation DTM     `hl7:"21,format=YMDHM,display=Date/Time Stamp For Any Change In Definition For The Observation"`
	EffectiveDateTimeOfChange                              DTM     `hl7:"22,format=YMDHM,display=Effective Date/Time Of Change"`
	TypicalTurnAroundTime                                  NM      `hl7:"23,display=Typical Turn-around Time"`
	ProcessingTime                                         NM      `hl7:"24,display=Processing Time"`
	ProcessingPriority                                     []ID    `hl7:"25,len=1,table=0168,display=Processing Priority"`
	ReportingPriority                                      ID      `hl7:"26,len=1,table=0169,display=Reporting Priority"`
	OutsideSiteSWhereObservationMayBePerformed             []CWE   `hl7:"27,table=9999,display=Outside Site(s) Where Observation May Be Performed"`
	AddressOfOutsideSiteS                                  []XAD   `hl7:"28,display=Address Of Outside Site(s)"`
	PhoneNumberOfOutsideSite                               *XTN    `hl7:"29,display=Phone Number Of Outside Site"`
	ConfidentialityCode                                    *CWE    `hl7:"30,table=0177,display=Confidentiality Code"`
	ObservationsRequiredToInterpretThisObservation         *CWE    `hl7:"31,table=9999,display=Observations Required To Interpret This Observation"`
	InterpretationOfObservations                           TX      `hl7:"32,display=Interpretation Of Observations"`
	ContraindicationsToObservations                        *CWE    `hl7:"33,table=9999,display=Contraindications To Observations"`
	ReflexTestsObservations                                []CWE   `hl7:"34,table=9999,display=Reflex Tests/Observations"`
	RulesThatTriggerReflexTesting                          TX      `hl7:"35,display=Rules That Trigger Reflex Testing"`
	FixedCannedMessage                                     *CWE    `hl7:"36,table=9999,display=Fixed Canned Message"`
	PatientPreparation                                     TX      `hl7:"37,display=Patient Preparation"`
	ProcedureMedication                                    *CWE    `hl7:"38,table=9999,display=Procedure Medication"`
	FactorsThatMayAffectTheObservation                     TX      `hl7:"39,display=Factors That May Affect The Observation"`
	ServiceTestObservationPerformanceSchedule              []ST    `hl7:"40,display=Service/Test/Observation Performance Schedule"`
	DescriptionOfTestMethods                               TX      `hl7:"41,display=Description Of Test Methods"`
	KindOfQuantityObserved                                 *CWE    `hl7:"42,table=0254,display=Kind Of Quantity Observed"`
	PointVersusInterval                                    *CWE    `hl7:"43,table=0255,display=Point Versus Interval"`
	ChallengeInformation                                   TX      `hl7:"44,display=Challenge Information"`
	RelationshipModifier                                   *CWE    `hl7:"45,table=0258,display=Relationship Modifier"`
	TargetAnatomicSiteOfTest                               *CWE    `hl7:"46,table=9999,display=Target Anatomic Site Of Test"`
	ModalityOfImagingMeasurement                           *CWE    `hl7:"47,table=0910,display=Modality Of Imaging Measurement"`
}

General Segment

The OM1 segment contains the attributes that apply to the definition of most observations. This segment also contains the field attributes that specify what additional segments might also be defined for this observation.

type OM2

type OM2 struct {
	HL7                                                     HL7Name `hl7:",name=OM2,type=s"`
	SequenceNumberTestObservationMasterFile                 NM      `hl7:"1,display=Sequence Number - Test/Observation Master File"`
	UnitsOfMeasure                                          *CWE    `hl7:"2,table=9999,display=Units Of Measure"`
	RangeOfDecimalPrecision                                 []NM    `hl7:"3,display=Range Of Decimal Precision"`
	CorrespondingSiUnitsOfMeasure                           *CWE    `hl7:"4,table=9999,display=Corresponding Si Units Of Measure"`
	SiConversionFactor                                      TX      `hl7:"5,display=Si Conversion Factor"`
	ReferenceNormalRangeForOrdinalAndContinuousObservations []RFR   `hl7:"6,display=Reference (normal) Range For Ordinal And Continuous Observations"`
	CriticalRangeForOrdinalAndContinuousObservations        []RFR   `hl7:"7,display=Critical Range For Ordinal And Continuous Observations"`
	AbsoluteRangeForOrdinalAndContinuousObservations        *RFR    `hl7:"8,display=Absolute Range For Ordinal And Continuous Observations"`
	DeltaCheckCriteria                                      []DLT   `hl7:"9,display=Delta Check Criteria"`
	MinimumMeaningfulIncrements                             NM      `hl7:"10,display=Minimum Meaningful Increments"`
}

Numeric Observation

This segment contains the attributes of observations with continuous values (including those with data types of numeric, date, or time stamp). It can be applied to observation batteries of type A and C (see OM1-18 - Nature of Service/Test/Observation).

type OM3

type OM3 struct {
	HL7                                         HL7Name `hl7:",name=OM3,type=s"`
	SequenceNumberTestObservationMasterFile     NM      `hl7:"1,display=Sequence Number - Test/Observation Master File"`
	PreferredCodingSystem                       *CWE    `hl7:"2,table=9999,display=Preferred Coding System"`
	ValidCodedAnswers                           []CWE   `hl7:"3,table=9999,display=Valid Coded 'answers'"`
	NormalTextCodesForCategoricalObservations   []CWE   `hl7:"4,table=9999,display=Normal Text/Codes For Categorical Observations"`
	AbnormalTextCodesForCategoricalObservations []CWE   `hl7:"5,table=9999,display=Abnormal Text/Codes For Categorical Observations"`
	CriticalTextCodesForCategoricalObservations []CWE   `hl7:"6,table=9999,display=Critical Text/Codes For Categorical Observations"`
	ValueType                                   ID      `hl7:"7,len=3,table=0125,display=Value Type"`
}

Categorical Service/test/observation

This segment applies to free text and other non-numeric data types.

type OM4

type OM4 struct {
	HL7                                     HL7Name `hl7:",name=OM4,type=s"`
	SequenceNumberTestObservationMasterFile NM      `hl7:"1,display=Sequence Number - Test/Observation Master File"`
	DerivedSpecimen                         ID      `hl7:"2,len=1,table=0170,display=Derived Specimen"`
	ContainerDescription                    TX      `hl7:"3,len=60,display=Container Description"`
	ContainerVolume                         NM      `hl7:"4,display=Container Volume"`
	ContainerUnits                          *CWE    `hl7:"5,table=9999,display=Container Units"`
	Specimen                                *CWE    `hl7:"6,table=9999,display=Specimen"`
	Additive                                *CWE    `hl7:"7,table=0371,display=Additive"`
	Preparation                             TX      `hl7:"8,display=Preparation"`
	SpecialHandlingRequirements             TX      `hl7:"9,display=Special Handling Requirements"`
	NormalCollectionVolume                  *CQ     `hl7:"10,display=Normal Collection Volume"`
	MinimumCollectionVolume                 *CQ     `hl7:"11,display=Minimum Collection Volume"`
	SpecimenRequirements                    TX      `hl7:"12,display=Specimen Requirements"`
	SpecimenPriorities                      []ID    `hl7:"13,len=1,table=0027,display=Specimen Priorities"`
	SpecimenRetentionTime                   *CQ     `hl7:"14,display=Specimen Retention Time"`
}

Observations That Require Specimens

This segment applies to observations/batteries that require a specimen for their performance. When an observation or battery requires multiple specimens for their performance (e.g., creatinine clearance requires a 24-hour urine specimen and a serum specimen), multiple segments may be included, one for each specimen type.

type OM5

type OM5 struct {
	HL7                                                HL7Name `hl7:",name=OM5,type=s"`
	SequenceNumberTestObservationMasterFile            NM      `hl7:"1,display=Sequence Number - Test/Observation Master File"`
	TestObservationsIncludedWithinAnOrderedTestBattery []CWE   `hl7:"2,table=9999,display=Test/Observations Included Within An Ordered Test Battery"`
	ObservationIDSuffixes                              ST      `hl7:"3,display=Observation Id Suffixes"`
}

Observation Batteries (sets)

This segment contains the information about batteries and supersets (a nature code of F, P or S, as described in OM1-18 - Nature of Service/Test/Observation).

type OM6

type OM6 struct {
	HL7                                     HL7Name `hl7:",name=OM6,type=s"`
	SequenceNumberTestObservationMasterFile NM      `hl7:"1,display=Sequence Number - Test/Observation Master File"`
	DerivationRule                          TX      `hl7:"2,display=Derivation Rule"`
}

Observations That Are Calculated From Other Observations

This segment contains the information about quantities that are derived from one or more other quantities or direct observations by mathematical or logical means.

type OM7

type OM7 struct {
	HL7                                     HL7Name `hl7:",name=OM7,type=s"`
	SequenceNumberTestObservationMasterFile NM      `hl7:"1,required,display=Sequence Number - Test/Observation Master File"`
	UniversalServiceIdentifier              CWE     `hl7:"2,required,display=Universal Service Identifier"`
	CategoryIdentifier                      []CWE   `hl7:"3,table=0412,display=Category Identifier"`
	CategoryDescription                     TX      `hl7:"4,display=Category Description"`
	CategorySynonym                         []ST    `hl7:"5,display=Category Synonym"`
	EffectiveTestServiceStartDateTime       DTM     `hl7:"6,format=YMDHM,display=Effective Test/Service Start Date/Time"`
	EffectiveTestServiceEndDateTime         DTM     `hl7:"7,format=YMDHM,display=Effective Test/Service End Date/Time"`
	TestServiceDefaultDurationQuantity      NM      `hl7:"8,display=Test/Service Default Duration Quantity"`
	TestServiceDefaultDurationUnits         *CWE    `hl7:"9,table=9999,display=Test/Service Default Duration Units"`
	TestServiceDefaultFrequency             *CWE    `hl7:"10,display=Test/Service Default Frequency"`
	ConsentIndicator                        ID      `hl7:"11,len=1,table=0136,display=Consent Indicator"`
	ConsentIdentifier                       *CWE    `hl7:"12,table=0413,display=Consent Identifier"`
	ConsentEffectiveStartDateTime           DTM     `hl7:"13,format=YMDHM,display=Consent Effective Start Date/Time"`
	ConsentEffectiveEndDateTime             DTM     `hl7:"14,format=YMDHM,display=Consent Effective End Date/Time"`
	ConsentIntervalQuantity                 NM      `hl7:"15,display=Consent Interval Quantity"`
	ConsentIntervalUnits                    *CWE    `hl7:"16,conditional,table=0414,display=Consent Interval Units"`
	ConsentWaitingPeriodQuantity            NM      `hl7:"17,display=Consent Waiting Period Quantity"`
	ConsentWaitingPeriodUnits               *CWE    `hl7:"18,conditional,table=0414,display=Consent Waiting Period Units"`
	EffectiveDateTimeOfChange               DTM     `hl7:"19,format=YMDHM,display=Effective Date/Time Of Change"`
	EnteredBy                               *XCN    `hl7:"20,display=Entered By"`
	OrderableAtLocation                     []PL    `hl7:"21,display=Orderable-at Location"`
	FormularyStatus                         *CWE    `hl7:"22,table=0473,display=Formulary Status"`
	SpecialOrderIndicator                   ID      `hl7:"23,len=1,table=0136,display=Special Order Indicator"`
	PrimaryKeyValueCdm                      []CWE   `hl7:"24,table=0132,display=Primary Key Value - Cdm"`
}

Additional Basic Attributes

The OM7 segment contains additional basic attributes that apply to the definition of most observations/services.

type OMB_O27

type OMB_O27 struct {
	HL7     HL7Name          `hl7:",name=OMB_O27,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *OMB_O27_Patient `hl7:",display=Patient"`
	Order   []OMB_O27_Order  `hl7:",required,display=Order"`
}

Blood product order

Blood product order messages present the need for additional information that is not included in standard HL7 order messages. Order messages must contain accompanying details regarding the blood product component, such as special processing requirements (e.g., irradiation and leukoreduction), and the amount of the blood product to be administered. Additionally, specific relevant clinical information can be included to allow the prospective review of the appropriateness of the blood product order.

Blood product orders use the OMB message with the BPO segment for the detail segment and the acknowledgment message, ORB as described below.

The NTE segment(s) can be included in the OMB message in four places; in each place the NTE refers to the segment that it follows. In particular, the NTEs following the MSH refer only to the message header; the NTEs following the blood product order segment apply to the service defined by that ORC and blood product order segment.

The PID segment is required if and only if new orders are being entered and they are related to a particular patient. For non-patient-related orders the PID segment is never included.

The optional PV1 segment is present mainly to permit transmission of patient visit information such as current location with an order.

type OMB_O27_Insurance

type OMB_O27_Insurance struct {
	HL7 HL7Name `hl7:",name=OMB_O27_Insurance,type=tg"`
	IN1 *IN1    `hl7:"11,required,display=Insurance"`
	IN2 *IN2    `hl7:"12,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"13,display=Insurance Additional Information- Certification"`
}

Insurance

type OMB_O27_Observation

type OMB_O27_Observation struct {
	HL7 HL7Name `hl7:",name=OMB_O27_Observation,type=tg"`
	OBX *OBX    `hl7:"23,required,display=Observation/result"`
	NTE []NTE   `hl7:"24,display=Notes And Comments"`
}

Observation

type OMB_O27_Order

type OMB_O27_Order struct {
	HL7         HL7Name               `hl7:",name=OMB_O27_Order,type=tg"`
	ORC         *ORC                  `hl7:"16,required,display=Common Order"`
	Timing      []OMB_O27_Timing      `hl7:",display=Timing"`
	BPO         *BPO                  `hl7:"19,required,display=Blood Product Order"`
	SPM         *SPM                  `hl7:"20,display=Specimen"`
	NTE         []NTE                 `hl7:"21,display=Notes And Comments"`
	DG1         []DG1                 `hl7:"22,display=Diagnosis"`
	Observation []OMB_O27_Observation `hl7:",display=Observation"`
	FT1         []FT1                 `hl7:"25,display=Financial Transaction"`
	BLG         *BLG                  `hl7:"26,display=Billing"`
}

Order

type OMB_O27_Patient

type OMB_O27_Patient struct {
	HL7          HL7Name               `hl7:",name=OMB_O27_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	Patientvisit *OMB_O27_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OMB_O27_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"14,display=Guarantor"`
	AL1          []AL1                 `hl7:"15,display=Patient Allergy Information"`
}

Patient

type OMB_O27_Patientvisit

type OMB_O27_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OMB_O27_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type OMB_O27_Timing

type OMB_O27_Timing struct {
	HL7 HL7Name `hl7:",name=OMB_O27_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timing

type OMD_O03

type OMD_O03 struct {
	HL7       HL7Name             `hl7:",name=OMD_O03,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   *OMD_O03_Patient    `hl7:",display=Patient"`
	Orderdiet []OMD_O03_Orderdiet `hl7:",required,display=Order_diet"`
	Ordertray []OMD_O03_Ordertray `hl7:",display=Order_tray"`
}

Diet order

type OMD_O03_Diet

type OMD_O03_Diet struct {
	HL7         HL7Name               `hl7:",name=OMD_O03_Diet,type=tg"`
	ODS         []ODS                 `hl7:"19,required,display=Dietary Orders- Supplements- And Preferences"`
	NTE         []NTE                 `hl7:"20,display=Notes And Comments"`
	Observation []OMD_O03_Observation `hl7:",display=Observation"`
}

Diet

type OMD_O03_Insurance

type OMD_O03_Insurance struct {
	HL7 HL7Name `hl7:",name=OMD_O03_Insurance,type=tg"`
	IN1 *IN1    `hl7:"11,required,display=Insurance"`
	IN2 *IN2    `hl7:"12,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"13,display=Insurance Additional Information- Certification"`
}

Insurance

type OMD_O03_Observation

type OMD_O03_Observation struct {
	HL7 HL7Name `hl7:",name=OMD_O03_Observation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Observation

type OMD_O03_Orderdiet

type OMD_O03_Orderdiet struct {
	HL7        HL7Name              `hl7:",name=OMD_O03_Orderdiet,type=tg"`
	ORC        *ORC                 `hl7:"16,required,display=Common Order"`
	Timingdiet []OMD_O03_Timingdiet `hl7:",display=Timing_diet"`
	Diet       *OMD_O03_Diet        `hl7:",display=Diet"`
}

Orderdiet

type OMD_O03_Ordertray

type OMD_O03_Ordertray struct {
	HL7        HL7Name              `hl7:",name=OMD_O03_Ordertray,type=tg"`
	ORC        *ORC                 `hl7:"23,required,display=Common Order"`
	Timingtray []OMD_O03_Timingtray `hl7:",display=Timing_tray"`
	ODT        []ODT                `hl7:"26,required,display=Diet Tray Instructions"`
	NTE        []NTE                `hl7:"27,display=Notes And Comments"`
}

Ordertray

type OMD_O03_Patient

type OMD_O03_Patient struct {
	HL7          HL7Name               `hl7:",name=OMD_O03_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	Patientvisit *OMD_O03_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OMD_O03_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"14,display=Guarantor"`
	AL1          []AL1                 `hl7:"15,display=Patient Allergy Information"`
}

Patient

type OMD_O03_Patientvisit

type OMD_O03_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OMD_O03_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type OMD_O03_Timingdiet

type OMD_O03_Timingdiet struct {
	HL7 HL7Name `hl7:",name=OMD_O03_Timingdiet,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timingdiet

type OMD_O03_Timingtray

type OMD_O03_Timingtray struct {
	HL7 HL7Name `hl7:",name=OMD_O03_Timingtray,type=tg"`
	TQ1 *TQ1    `hl7:"24,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"25,display=Timing/quantity Relationship"`
}

Timingtray

type OMG_O19

type OMG_O19 struct {
	HL7     HL7Name          `hl7:",name=OMG_O19,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *OMG_O19_Patient `hl7:",display=Patient"`
	Order   []OMG_O19_Order  `hl7:",required,display=Order"`
}

General clinical order

The function of this message is to initiate the transmission of information about a general clinical order that uses the OBR segment. OMG messages can originate also with a placer, filler, or an interested third party. The trigger event for this message is any change to a general clinical order. Such changes include submission of new orders, cancellations, updates, patient and non-patient-specific orders, etc.

This trigger includes segments identified as being for 'previous results.' These segments allow the sending system to include demographic and/or result information from previous result reports when they are related to the current order.

For example: - Diagnostic laboratories referring tests to another lab for either confirmation of results (HIV, etc.) or due to not being equipped to do the tests (genetic testing, etc.). - Diagnostic laboratories sending test results to Knowledge Bases for the automated generation of diagnostic comments for inclusion into the lab report.

The CTD segment in this trigger is used to transmit temporary patient contact details specific to this order.

type OMG_O19_Container

type OMG_O19_Container struct {
	HL7                  HL7Name                        `hl7:",name=OMG_O19_Container,type=tg"`
	SAC                  *SAC                           `hl7:"33,required,display=Specimen Container Detail"`
	Containerobservation []OMG_O19_Containerobservation `hl7:",display=Container_observation"`
}

Container

type OMG_O19_Containerobservation

type OMG_O19_Containerobservation struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Containerobservation,type=tg"`
	OBX *OBX    `hl7:"34,required,display=Observation/result"`
	PRT []PRT   `hl7:"35,display=Participation Information"`
}

Containerobservation

type OMG_O19_Insurance

type OMG_O19_Insurance struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Insurance,type=tg"`
	IN1 *IN1    `hl7:"13,required,display=Insurance"`
	IN2 *IN2    `hl7:"14,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"15,display=Insurance Additional Information- Certification"`
}

Insurance

type OMG_O19_Observation

type OMG_O19_Observation struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Observation,type=tg"`
	OBX *OBX    `hl7:"27,required,display=Observation/result"`
	PRT []PRT   `hl7:"28,display=Participation Information"`
	NTE []NTE   `hl7:"29,display=Notes And Comments"`
}

Observation

type OMG_O19_Observationprior

type OMG_O19_Observationprior struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Observationprior,type=tg"`
	OBX *OBX    `hl7:"50,required,display=Observation/result"`
	PRT []PRT   `hl7:"51,display=Participation Information"`
	NTE []NTE   `hl7:"52,display=Notes And Comments"`
}

Observationprior

type OMG_O19_Order

type OMG_O19_Order struct {
	HL7         HL7Name               `hl7:",name=OMG_O19_Order,type=tg"`
	ORC         *ORC                  `hl7:"18,required,display=Common Order"`
	PRT         []PRT                 `hl7:"19,display=Participation Information"`
	Timing      []OMG_O19_Timing      `hl7:",display=Timing"`
	OBR         *OBR                  `hl7:"22,required,display=Observation Request"`
	NTE         []NTE                 `hl7:"23,display=Notes And Comments"`
	PRT2        []PRT                 `hl7:"24,display=Participation Information"`
	CTD         *CTD                  `hl7:"25,display=Contact Data"`
	DG1         []DG1                 `hl7:"26,display=Diagnosis"`
	Observation []OMG_O19_Observation `hl7:",display=Observation"`
	Specimen    []OMG_O19_Specimen    `hl7:",display=Specimen"`
	Priorresult []OMG_O19_Priorresult `hl7:",display=Prior_result"`
	FT1         []FT1                 `hl7:"53,display=Financial Transaction"`
	CTI         []CTI                 `hl7:"54,display=Clinical Trial Identification"`
	BLG         *BLG                  `hl7:"55,display=Billing"`
}

Order

type OMG_O19_Orderprior

type OMG_O19_Orderprior struct {
	HL7              HL7Name                    `hl7:",name=OMG_O19_Orderprior,type=tg"`
	ORC              *ORC                       `hl7:"43,required,display=Common Order"`
	OBR              *OBR                       `hl7:"44,required,display=Observation Request"`
	Timingprior      []OMG_O19_Timingprior      `hl7:",display=Timing_prior"`
	NTE              []NTE                      `hl7:"47,display=Notes And Comments"`
	PRT              []PRT                      `hl7:"48,display=Participation Information"`
	CTD              *CTD                       `hl7:"49,display=Contact Data"`
	Observationprior []OMG_O19_Observationprior `hl7:",required,display=Observation_prior"`
}

Orderprior

type OMG_O19_Patient

type OMG_O19_Patient struct {
	HL7          HL7Name               `hl7:",name=OMG_O19_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	NK1          []NK1                 `hl7:"9,display=Next Of Kin / Associated Parties"`
	Patientvisit *OMG_O19_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OMG_O19_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"16,display=Guarantor"`
	AL1          []AL1                 `hl7:"17,display=Patient Allergy Information"`
}

Patient

type OMG_O19_Patientprior

type OMG_O19_Patientprior struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Patientprior,type=tg"`
	PID *PID    `hl7:"36,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"37,display=Patient Additional Demographic"`
	PRT []PRT   `hl7:"38,display=Participation Information"`
}

Patientprior

type OMG_O19_Patientvisit

type OMG_O19_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"10,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"11,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"12,display=Participation Information"`
}

Patientvisit

type OMG_O19_Patientvisitprior

type OMG_O19_Patientvisitprior struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Patientvisitprior,type=tg"`
	PV1 *PV1    `hl7:"39,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"40,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"41,display=Participation Information"`
}

Patientvisitprior

type OMG_O19_Priorresult

type OMG_O19_Priorresult struct {
	HL7               HL7Name                    `hl7:",name=OMG_O19_Priorresult,type=tg"`
	Patientprior      *OMG_O19_Patientprior      `hl7:",display=Patient_prior"`
	Patientvisitprior *OMG_O19_Patientvisitprior `hl7:",display=Patient_visit_prior"`
	AL1               []AL1                      `hl7:"42,display=Patient Allergy Information"`
	Orderprior        []OMG_O19_Orderprior       `hl7:",required,display=Order_prior"`
}

Priorresult

type OMG_O19_Specimen

type OMG_O19_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OMG_O19_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"30,required,display=Specimen"`
	Specimenobservation []OMG_O19_Specimenobservation `hl7:",display=Specimen_observation"`
	Container           []OMG_O19_Container           `hl7:",display=Container"`
}

Specimen

type OMG_O19_Specimenobservation

type OMG_O19_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"31,required,display=Observation/result"`
	PRT []PRT   `hl7:"32,display=Participation Information"`
}

Specimenobservation

type OMG_O19_Timing

type OMG_O19_Timing struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"20,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"21,display=Timing/quantity Relationship"`
}

Timing

type OMG_O19_Timingprior

type OMG_O19_Timingprior struct {
	HL7 HL7Name `hl7:",name=OMG_O19_Timingprior,type=tg"`
	TQ1 *TQ1    `hl7:"45,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"46,display=Timing/quantity Relationship"`
}

Timingprior

type OMI_O23

type OMI_O23 struct {
	HL7     HL7Name          `hl7:",name=OMI_O23,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *OMI_O23_Patient `hl7:",display=Patient"`
	Order   []OMI_O23_Order  `hl7:",required,display=Order"`
}

Imaging order

This message is used in communication between the information systems involved in the fulfillment of the request directed to the imaging department, such as a Radiology Information System (RIS) and a Picture Archiving and Communication System (PACS). For the purpose of the following discussion these systems will be identified as Imaging Department Information Systems (IDIS). Information contained in the Imaging Procedure Control (IPC) segment allows multiple IDIS to share the context of Imaging Studies (collections of images acquired, processed, stored, and interpreted) in Image Management tasks.

The order for the imaging service is communicated between the Order Placer (such as an Order Entry system) and the Order Filler (such as an RIS). In the imaging department environment, the Order Filler also identifies the set of procedures (studies) and sub-procedures (procedure steps) that have to be performed in the process of fulfilling the order. Each sub-procedure is performed using a single device (station). The Order Filler identifies the type of device and either a specific device or group of devices (for example, by geographic location) one of which is to be used in performing the procedure step. Thus, the system performs an aspect of workflow management in the department.

Another information system in the department may be managing storage and distribution of the images within the department as well as providing them to the enterprise. This system will have to operate within the same context as the system managing the workflow. This context includes identifiers, content of the order, and details of procedures and procedure steps that have to be performed to fulfill that particular order.

It is expected that the OMI message will typically be used in communication between IDIS as depicted in figure 4-1.

type OMI_O23_Insurance

type OMI_O23_Insurance struct {
	HL7 HL7Name `hl7:",name=OMI_O23_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type OMI_O23_Observation

type OMI_O23_Observation struct {
	HL7 HL7Name `hl7:",name=OMI_O23_Observation,type=tg"`
	OBX *OBX    `hl7:"25,required,display=Observation/result"`
	PRT []PRT   `hl7:"26,display=Participation Information"`
	NTE []NTE   `hl7:"27,display=Notes And Comments"`
}

Observation

type OMI_O23_Order

type OMI_O23_Order struct {
	HL7         HL7Name               `hl7:",name=OMI_O23_Order,type=tg"`
	ORC         *ORC                  `hl7:"17,required,display=Common Order"`
	Timing      []OMI_O23_Timing      `hl7:",display=Timing"`
	OBR         *OBR                  `hl7:"20,required,display=Observation Request"`
	NTE         []NTE                 `hl7:"21,display=Notes And Comments"`
	PRT         []PRT                 `hl7:"22,display=Participation Information"`
	CTD         *CTD                  `hl7:"23,display=Contact Data"`
	DG1         []DG1                 `hl7:"24,display=Diagnosis"`
	Observation []OMI_O23_Observation `hl7:",display=Observation"`
	IPC         []IPC                 `hl7:"28,required,display=Imaging Procedure Control Segment"`
}

Order

type OMI_O23_Patient

type OMI_O23_Patient struct {
	HL7          HL7Name               `hl7:",name=OMI_O23_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	Patientvisit *OMI_O23_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OMI_O23_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"15,display=Guarantor"`
	AL1          []AL1                 `hl7:"16,display=Patient Allergy Information"`
}

Patient

type OMI_O23_Patientvisit

type OMI_O23_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OMI_O23_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Patientvisit

type OMI_O23_Timing

type OMI_O23_Timing struct {
	HL7 HL7Name `hl7:",name=OMI_O23_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"18,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"19,display=Timing/quantity Relationship"`
}

Timing

type OML_O21

type OML_O21 struct {
	HL7     HL7Name          `hl7:",name=OML_O21,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *OML_O21_Patient `hl7:",display=Patient"`
	Order   []OML_O21_Order  `hl7:",required,display=Order"`
}

Laboratory order

The following message structure may be used for the communication of laboratory and other order messages and must be used for lab automation messages where it is required that the Specimen/Container information is within the ORC/OBR segment group.

The trigger event for this message is any change to a laboratory order. Such changes include submission of new orders, cancellations, updates, etc. OML messages can originate also with a placer, filler, or an interested third party.

Note: The additional patient information, which is sent after the OBR with the current order (the segments PID, PD1, PV1, PV2, etc, indicated below with words "previous result"), could have been transferred with the previous result because the patient demographics related to the previous result can differ from the demographics related to the current order. The current intent is to only allow references to the same patient as in the header PID.

The SAC segments included in the message allow the transfer of, e.g., a laboratory order with multiple containers and multiple test orders related to each container, or laboratory orders with test order requiring multiple containers.

Refer to Chapter 13, "Laboratory Automation" for examples of usage, particularly to clarify the use of two references to SAC segments in this one message.

The CTD segment in this trigger is used to transmit temporary patient contact details specific to this order.

In relationship to triggers O21, O33, O35, and Oxx this message/trigger (O21) should be used where an order with multiple samples and optionally multiple containers per order item are to be communicated, but not against a complete specimen shipment (O39)

type OML_O21_Container

type OML_O21_Container struct {
	HL7                  HL7Name                        `hl7:",name=OML_O21_Container,type=tg"`
	SAC                  *SAC                           `hl7:"35,required,display=Specimen Container Detail"`
	Containerobservation []OML_O21_Containerobservation `hl7:",display=Container_observation"`
}

Container

type OML_O21_Containerobservation

type OML_O21_Containerobservation struct {
	HL7 HL7Name `hl7:",name=OML_O21_Containerobservation,type=tg"`
	OBX *OBX    `hl7:"36,required,display=Observation/result"`
	PRT []PRT   `hl7:"37,display=Participation Information"`
}

Containerobservation

type OML_O21_Insurance

type OML_O21_Insurance struct {
	HL7 HL7Name `hl7:",name=OML_O21_Insurance,type=tg"`
	IN1 *IN1    `hl7:"13,required,display=Insurance"`
	IN2 *IN2    `hl7:"14,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"15,display=Insurance Additional Information- Certification"`
}

Insurance

type OML_O21_Observation

type OML_O21_Observation struct {
	HL7 HL7Name `hl7:",name=OML_O21_Observation,type=tg"`
	OBX *OBX    `hl7:"28,required,display=Observation/result"`
	PRT []PRT   `hl7:"29,display=Participation Information"`
	TCD *TCD    `hl7:"30,display=Test Code Detail"`
	NTE []NTE   `hl7:"31,display=Notes And Comments"`
}

Observation

type OML_O21_Observationprior

type OML_O21_Observationprior struct {
	HL7 HL7Name `hl7:",name=OML_O21_Observationprior,type=tg"`
	OBX *OBX    `hl7:"51,required,display=Observation/result"`
	PRT []PRT   `hl7:"52,display=Participation Information"`
	NTE []NTE   `hl7:"53,display=Notes And Comments"`
}

Observationprior

type OML_O21_Observationrequest

type OML_O21_Observationrequest struct {
	HL7         HL7Name               `hl7:",name=OML_O21_Observationrequest,type=tg"`
	OBR         *OBR                  `hl7:"22,required,display=Observation Request"`
	TCD         *TCD                  `hl7:"23,display=Test Code Detail"`
	NTE         []NTE                 `hl7:"24,display=Notes And Comments"`
	PRT         []PRT                 `hl7:"25,display=Participation Information"`
	CTD         *CTD                  `hl7:"26,display=Contact Data"`
	DG1         []DG1                 `hl7:"27,display=Diagnosis"`
	Observation []OML_O21_Observation `hl7:",display=Observation"`
	Specimen    []OML_O21_Specimen    `hl7:",display=Specimen"`
	Priorresult []OML_O21_Priorresult `hl7:",display=Prior_result"`
}

Observationrequest

type OML_O21_Order

type OML_O21_Order struct {
	HL7                HL7Name                     `hl7:",name=OML_O21_Order,type=tg"`
	ORC                *ORC                        `hl7:"18,required,display=Common Order"`
	PRT                []PRT                       `hl7:"19,display=Participation Information"`
	Timing             []OML_O21_Timing            `hl7:",display=Timing"`
	Observationrequest *OML_O21_Observationrequest `hl7:",display=Observation_request"`
	FT1                []FT1                       `hl7:"54,display=Financial Transaction"`
	CTI                []CTI                       `hl7:"55,display=Clinical Trial Identification"`
	BLG                *BLG                        `hl7:"56,display=Billing"`
}

Order

type OML_O21_Orderprior

type OML_O21_Orderprior struct {
	HL7              HL7Name                    `hl7:",name=OML_O21_Orderprior,type=tg"`
	ORC              *ORC                       `hl7:"45,required,display=Common Order"`
	OBR              *OBR                       `hl7:"46,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"47,display=Notes And Comments"`
	PRT              []PRT                      `hl7:"48,display=Participation Information"`
	Timingprior      []OML_O21_Timingprior      `hl7:",display=Timing_prior"`
	Observationprior []OML_O21_Observationprior `hl7:",required,display=Observation_prior"`
}

Orderprior

type OML_O21_Patient

type OML_O21_Patient struct {
	HL7          HL7Name               `hl7:",name=OML_O21_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	NK1          []NK1                 `hl7:"9,display=Next Of Kin / Associated Parties"`
	Patientvisit *OML_O21_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OML_O21_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"16,display=Guarantor"`
	AL1          []AL1                 `hl7:"17,display=Patient Allergy Information"`
}

Patient

type OML_O21_Patientprior

type OML_O21_Patientprior struct {
	HL7 HL7Name `hl7:",name=OML_O21_Patientprior,type=tg"`
	PID *PID    `hl7:"38,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"39,display=Patient Additional Demographic"`
	PRT []PRT   `hl7:"40,display=Participation Information"`
}

Patientprior

type OML_O21_Patientvisit

type OML_O21_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OML_O21_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"10,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"11,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"12,display=Participation Information"`
}

Patientvisit

type OML_O21_Patientvisitprior

type OML_O21_Patientvisitprior struct {
	HL7 HL7Name `hl7:",name=OML_O21_Patientvisitprior,type=tg"`
	PV1 *PV1    `hl7:"41,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"42,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"43,display=Participation Information"`
}

Patientvisitprior

type OML_O21_Priorresult

type OML_O21_Priorresult struct {
	HL7               HL7Name                    `hl7:",name=OML_O21_Priorresult,type=tg"`
	Patientprior      *OML_O21_Patientprior      `hl7:",display=Patient_prior"`
	Patientvisitprior *OML_O21_Patientvisitprior `hl7:",display=Patient_visit_prior"`
	AL1               []AL1                      `hl7:"44,display=Patient Allergy Information"`
	Orderprior        []OML_O21_Orderprior       `hl7:",required,display=Order_prior"`
}

Priorresult

type OML_O21_Specimen

type OML_O21_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OML_O21_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"32,required,display=Specimen"`
	Specimenobservation []OML_O21_Specimenobservation `hl7:",display=Specimen_observation"`
	Container           []OML_O21_Container           `hl7:",display=Container"`
}

Specimen

type OML_O21_Specimenobservation

type OML_O21_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OML_O21_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation/result"`
	PRT []PRT   `hl7:"34,display=Participation Information"`
}

Specimenobservation

type OML_O21_Timing

type OML_O21_Timing struct {
	HL7 HL7Name `hl7:",name=OML_O21_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"20,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"21,display=Timing/quantity Relationship"`
}

Timing

type OML_O21_Timingprior

type OML_O21_Timingprior struct {
	HL7 HL7Name `hl7:",name=OML_O21_Timingprior,type=tg"`
	TQ1 *TQ1    `hl7:"49,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"50,display=Timing/quantity Relationship"`
}

Timingprior

type OML_O33

type OML_O33 struct {
	HL7      HL7Name            `hl7:",name=OML_O33,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	NTE      []NTE              `hl7:"4,display=Notes And Comments"`
	Patient  *OML_O33_Patient   `hl7:",display=Patient"`
	Specimen []OML_O33_Specimen `hl7:",required,display=Specimen"`
}

Laboratory order for multiple orders related to a single specimen

The trigger event for this message is any change to a laboratory order. Such changes include submission of new orders, cancellations, updates, etc., where multiple orders are associated with a single sample which may be carried in multiple containers. OML messages can originate also with a placer, filler, or an interested third party.

This allows for a Specimen-centric message with multiple orders per specimen grouped by the specimen.

The following message structure may be used for the communication of laboratory and other order messages and must be used for lab automation messages where the message requires Specimen/container information to group a number of orders.

In relationship to triggers O21, O33, and O35, this message/trigger (O33) should be used where a specimen, with optional multiple containers, may have multiple orders to be communicated.

type OML_O33_Insurance

type OML_O33_Insurance struct {
	HL7 HL7Name `hl7:",name=OML_O33_Insurance,type=tg"`
	IN1 *IN1    `hl7:"13,required,display=Insurance"`
	IN2 *IN2    `hl7:"14,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"15,display=Insurance Additional Information- Certification"`
}

Insurance

type OML_O33_Observation

type OML_O33_Observation struct {
	HL7 HL7Name `hl7:",name=OML_O33_Observation,type=tg"`
	OBX *OBX    `hl7:"31,required,display=Observation/result"`
	PRT []PRT   `hl7:"32,display=Participation Information"`
	TCD *TCD    `hl7:"33,display=Test Code Detail"`
	NTE []NTE   `hl7:"34,display=Notes And Comments"`
}

Observation

type OML_O33_Observationprior

type OML_O33_Observationprior struct {
	HL7 HL7Name `hl7:",name=OML_O33_Observationprior,type=tg"`
	OBX *OBX    `hl7:"48,required,display=Observation/result"`
	PRT []PRT   `hl7:"49,display=Participation Information"`
	NTE []NTE   `hl7:"50,display=Notes And Comments"`
}

Observationprior

type OML_O33_Observationrequest

type OML_O33_Observationrequest struct {
	HL7         HL7Name               `hl7:",name=OML_O33_Observationrequest,type=tg"`
	OBR         *OBR                  `hl7:"26,required,display=Observation Request"`
	TCD         *TCD                  `hl7:"27,display=Test Code Detail"`
	NTE         []NTE                 `hl7:"28,display=Notes And Comments"`
	PRT         []PRT                 `hl7:"29,display=Participation Information"`
	DG1         []DG1                 `hl7:"30,display=Diagnosis"`
	Observation []OML_O33_Observation `hl7:",display=Observation"`
	Priorresult []OML_O33_Priorresult `hl7:",display=Prior_result"`
}

Observationrequest

type OML_O33_Order

type OML_O33_Order struct {
	HL7                HL7Name                     `hl7:",name=OML_O33_Order,type=tg"`
	ORC                *ORC                        `hl7:"22,required,display=Common Order"`
	PRT                []PRT                       `hl7:"23,display=Participation Information"`
	Timing             []OML_O33_Timing            `hl7:",display=Timing"`
	Observationrequest *OML_O33_Observationrequest `hl7:",display=Observation_request"`
	FT1                []FT1                       `hl7:"51,display=Financial Transaction"`
	CTI                []CTI                       `hl7:"52,display=Clinical Trial Identification"`
	BLG                *BLG                        `hl7:"53,display=Billing"`
}

Order

type OML_O33_Orderprior

type OML_O33_Orderprior struct {
	HL7              HL7Name                    `hl7:",name=OML_O33_Orderprior,type=tg"`
	ORC              *ORC                       `hl7:"42,required,display=Common Order"`
	OBR              *OBR                       `hl7:"43,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"44,display=Notes And Comments"`
	PRT              []PRT                      `hl7:"45,display=Participation Information"`
	Timingprior      []OML_O33_Timingprior      `hl7:",display=Timing_prior"`
	Observationprior []OML_O33_Observationprior `hl7:",required,display=Observation_prior"`
}

Orderprior

type OML_O33_Patient

type OML_O33_Patient struct {
	HL7          HL7Name               `hl7:",name=OML_O33_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	NK1          []NK1                 `hl7:"9,display=Next Of Kin / Associated Parties"`
	Patientvisit *OML_O33_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OML_O33_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"16,display=Guarantor"`
	AL1          []AL1                 `hl7:"17,display=Patient Allergy Information"`
}

Patient

type OML_O33_Patientprior

type OML_O33_Patientprior struct {
	HL7 HL7Name `hl7:",name=OML_O33_Patientprior,type=tg"`
	PID *PID    `hl7:"35,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"36,display=Patient Additional Demographic"`
	PRT []PRT   `hl7:"37,display=Participation Information"`
}

Patientprior

type OML_O33_Patientvisit

type OML_O33_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OML_O33_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"10,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"11,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"12,display=Participation Information"`
}

Patientvisit

type OML_O33_Patientvisitprior

type OML_O33_Patientvisitprior struct {
	HL7 HL7Name `hl7:",name=OML_O33_Patientvisitprior,type=tg"`
	PV1 *PV1    `hl7:"38,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"39,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"40,display=Participation Information"`
}

Patientvisitprior

type OML_O33_Priorresult

type OML_O33_Priorresult struct {
	HL7               HL7Name                    `hl7:",name=OML_O33_Priorresult,type=tg"`
	Patientprior      *OML_O33_Patientprior      `hl7:",display=Patient_prior"`
	Patientvisitprior *OML_O33_Patientvisitprior `hl7:",display=Patient_visit_prior"`
	AL1               []AL1                      `hl7:"41,display=Patient Allergy Information"`
	Orderprior        []OML_O33_Orderprior       `hl7:",required,display=Order_prior"`
}

Priorresult

type OML_O33_Specimen

type OML_O33_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OML_O33_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"18,required,display=Specimen"`
	Specimenobservation []OML_O33_Specimenobservation `hl7:",display=Specimen_observation"`
	SAC                 []SAC                         `hl7:"21,display=Specimen Container Detail"`
	Order               []OML_O33_Order               `hl7:",required,display=Order"`
}

Specimen

type OML_O33_Specimenobservation

type OML_O33_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OML_O33_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"19,required,display=Observation/result"`
	PRT []PRT   `hl7:"20,display=Participation Information"`
}

Specimenobservation

type OML_O33_Timing

type OML_O33_Timing struct {
	HL7 HL7Name `hl7:",name=OML_O33_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"24,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"25,display=Timing/quantity Relationship"`
}

Timing

type OML_O33_Timingprior

type OML_O33_Timingprior struct {
	HL7 HL7Name `hl7:",name=OML_O33_Timingprior,type=tg"`
	TQ1 *TQ1    `hl7:"46,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"47,display=Timing/quantity Relationship"`
}

Timingprior

type OML_O35

type OML_O35 struct {
	HL7      HL7Name            `hl7:",name=OML_O35,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	NTE      []NTE              `hl7:"4,display=Notes And Comments"`
	Patient  *OML_O35_Patient   `hl7:",display=Patient"`
	Specimen []OML_O35_Specimen `hl7:",required,display=Specimen"`
}

Laboratory order for multiple orders related to a single container of a sp

The trigger event for this message is any change to a laboratory order. Such changes include submission of new orders, cancellations, updates, etc., where multiple orders are associated with a single sample which may be carried in multiple containers. OML messages can originate also with a placer, filler, or an interested third party.

This allows for a Specimen-centric message with multiple orders per specimen grouped by the specimen.

The following message structure may be used for the communication of laboratory and other order messages and must be used for lab automation messages where the message requires Specimen/container information to group a number of orders.

In relationship to triggers O21, O33, and O35, this message/trigger (O35) should be used for laboratory orders where there is 1 or more Specimens with 1 to many containers and each container may have 1 to many orders with previous result(s) per container.

type OML_O35_Insurance

type OML_O35_Insurance struct {
	HL7 HL7Name `hl7:",name=OML_O35_Insurance,type=tg"`
	IN1 *IN1    `hl7:"13,required,display=Insurance"`
	IN2 *IN2    `hl7:"14,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"15,display=Insurance Additional Information- Certification"`
}

Insurance

type OML_O35_Observation

type OML_O35_Observation struct {
	HL7 HL7Name `hl7:",name=OML_O35_Observation,type=tg"`
	OBX *OBX    `hl7:"31,required,display=Observation/result"`
	PRT []PRT   `hl7:"32,display=Participation Information"`
	TCD *TCD    `hl7:"33,display=Test Code Detail"`
	NTE []NTE   `hl7:"34,display=Notes And Comments"`
}

Observation

type OML_O35_Observationprior

type OML_O35_Observationprior struct {
	HL7 HL7Name `hl7:",name=OML_O35_Observationprior,type=tg"`
	OBX *OBX    `hl7:"48,required,display=Observation/result"`
	PRT []PRT   `hl7:"49,display=Participation Information"`
	NTE []NTE   `hl7:"50,display=Notes And Comments"`
}

Observationprior

type OML_O35_Observationrequest

type OML_O35_Observationrequest struct {
	HL7         HL7Name               `hl7:",name=OML_O35_Observationrequest,type=tg"`
	OBR         *OBR                  `hl7:"26,required,display=Observation Request"`
	TCD         *TCD                  `hl7:"27,display=Test Code Detail"`
	NTE         []NTE                 `hl7:"28,display=Notes And Comments"`
	PRT         []PRT                 `hl7:"29,display=Participation Information"`
	DG1         []DG1                 `hl7:"30,display=Diagnosis"`
	Observation []OML_O35_Observation `hl7:",display=Observation"`
	Priorresult []OML_O35_Priorresult `hl7:",display=Prior_result"`
}

Observationrequest

type OML_O35_Order

type OML_O35_Order struct {
	HL7                HL7Name                     `hl7:",name=OML_O35_Order,type=tg"`
	ORC                *ORC                        `hl7:"22,required,display=Common Order"`
	PRT                []PRT                       `hl7:"23,display=Participation Information"`
	Timing             []OML_O35_Timing            `hl7:",display=Timing"`
	Observationrequest *OML_O35_Observationrequest `hl7:",display=Observation_request"`
	FT1                []FT1                       `hl7:"51,display=Financial Transaction"`
	CTI                []CTI                       `hl7:"52,display=Clinical Trial Identification"`
	BLG                *BLG                        `hl7:"53,display=Billing"`
}

Order

type OML_O35_Orderprior

type OML_O35_Orderprior struct {
	HL7              HL7Name                    `hl7:",name=OML_O35_Orderprior,type=tg"`
	ORC              *ORC                       `hl7:"42,required,display=Common Order"`
	OBR              *OBR                       `hl7:"43,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"44,display=Notes And Comments"`
	PRT              []PRT                      `hl7:"45,display=Participation Information"`
	Timingprior      []OML_O35_Timingprior      `hl7:",display=Timing_prior"`
	Observationprior []OML_O35_Observationprior `hl7:",required,display=Observation_prior"`
}

Orderprior

type OML_O35_Patient

type OML_O35_Patient struct {
	HL7          HL7Name               `hl7:",name=OML_O35_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	NK1          []NK1                 `hl7:"9,display=Next Of Kin / Associated Parties"`
	Patientvisit *OML_O35_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OML_O35_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"16,display=Guarantor"`
	AL1          []AL1                 `hl7:"17,display=Patient Allergy Information"`
}

Patient

type OML_O35_Patientprior

type OML_O35_Patientprior struct {
	HL7 HL7Name `hl7:",name=OML_O35_Patientprior,type=tg"`
	PID *PID    `hl7:"35,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"36,display=Patient Additional Demographic"`
	PRT []PRT   `hl7:"37,display=Participation Information"`
}

Patientprior

type OML_O35_Patientvisit

type OML_O35_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OML_O35_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"10,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"11,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"12,display=Participation Information"`
}

Patientvisit

type OML_O35_Patientvisitprior

type OML_O35_Patientvisitprior struct {
	HL7 HL7Name `hl7:",name=OML_O35_Patientvisitprior,type=tg"`
	PV1 *PV1    `hl7:"38,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"39,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"40,display=Participation Information"`
}

Patientvisitprior

type OML_O35_Priorresult

type OML_O35_Priorresult struct {
	HL7               HL7Name                    `hl7:",name=OML_O35_Priorresult,type=tg"`
	Patientprior      *OML_O35_Patientprior      `hl7:",display=Patient_prior"`
	Patientvisitprior *OML_O35_Patientvisitprior `hl7:",display=Patient_visit_prior"`
	AL1               []AL1                      `hl7:"41,display=Patient Allergy Information"`
	Orderprior        []OML_O35_Orderprior       `hl7:",required,display=Order_prior"`
}

Priorresult

type OML_O35_Specimen

type OML_O35_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OML_O35_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"18,required,display=Specimen"`
	Specimenobservation []OML_O35_Specimenobservation `hl7:",display=Specimen_observation"`
	Specimencontainer   []OML_O35_Specimencontainer   `hl7:",required,display=Specimen_container"`
}

Specimen

type OML_O35_Specimencontainer

type OML_O35_Specimencontainer struct {
	HL7   HL7Name         `hl7:",name=OML_O35_Specimencontainer,type=tg"`
	SAC   *SAC            `hl7:"21,required,display=Specimen Container Detail"`
	Order []OML_O35_Order `hl7:",required,display=Order"`
}

Specimencontainer

type OML_O35_Specimenobservation

type OML_O35_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OML_O35_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"19,required,display=Observation/result"`
	PRT []PRT   `hl7:"20,display=Participation Information"`
}

Specimenobservation

type OML_O35_Timing

type OML_O35_Timing struct {
	HL7 HL7Name `hl7:",name=OML_O35_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"24,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"25,display=Timing/quantity Relationship"`
}

Timing

type OML_O35_Timingprior

type OML_O35_Timingprior struct {
	HL7 HL7Name `hl7:",name=OML_O35_Timingprior,type=tg"`
	TQ1 *TQ1    `hl7:"46,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"47,display=Timing/quantity Relationship"`
}

Timingprior

type OML_O39

type OML_O39 struct {
	HL7     HL7Name          `hl7:",name=OML_O39,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *OML_O39_Patient `hl7:",display=Patient"`
	Order   []OML_O39_Order  `hl7:",required,display=Order"`
}

Specimen shipment centric laboratory order

The function of this message is to apply an order to all specimens in a shipment or a package within a shipment.

type OML_O39_Containerobservation

type OML_O39_Containerobservation struct {
	HL7 HL7Name `hl7:",name=OML_O39_Containerobservation,type=tg"`
	OBX *OBX    `hl7:"40,required,display=Observation/result"`
	PRT []PRT   `hl7:"41,display=Participation Information"`
}

Containerobservation

type OML_O39_Insurance

type OML_O39_Insurance struct {
	HL7 HL7Name `hl7:",name=OML_O39_Insurance,type=tg"`
	IN1 *IN1    `hl7:"13,required,display=Insurance"`
	IN2 *IN2    `hl7:"14,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"15,display=Insurance Additional Information- Certification"`
}

Insurance

type OML_O39_Observation

type OML_O39_Observation struct {
	HL7 HL7Name `hl7:",name=OML_O39_Observation,type=tg"`
	OBX *OBX    `hl7:"28,required,display=Observation/result"`
	PRT []PRT   `hl7:"29,display=Participation Information"`
	TCD *TCD    `hl7:"30,display=Test Code Detail"`
	NTE []NTE   `hl7:"31,display=Notes And Comments"`
}

Observation

type OML_O39_Observationrequest

type OML_O39_Observationrequest struct {
	HL7              HL7Name                    `hl7:",name=OML_O39_Observationrequest,type=tg"`
	OBR              *OBR                       `hl7:"22,required,display=Observation Request"`
	TCD              *TCD                       `hl7:"23,display=Test Code Detail"`
	NTE              []NTE                      `hl7:"24,display=Notes And Comments"`
	PRT              []PRT                      `hl7:"25,display=Participation Information"`
	CTD              *CTD                       `hl7:"26,display=Contact Data"`
	DG1              []DG1                      `hl7:"27,display=Diagnosis"`
	Observation      []OML_O39_Observation      `hl7:",display=Observation"`
	Specimenshipment []OML_O39_Specimenshipment `hl7:",display=Specimen_shipment"`
}

Observationrequest

type OML_O39_Order

type OML_O39_Order struct {
	HL7                HL7Name                     `hl7:",name=OML_O39_Order,type=tg"`
	ORC                *ORC                        `hl7:"18,required,display=Common Order"`
	PRT                []PRT                       `hl7:"19,display=Participation Information"`
	Timing             []OML_O39_Timing            `hl7:",display=Timing"`
	Observationrequest *OML_O39_Observationrequest `hl7:",display=Observation_request"`
	FT1                []FT1                       `hl7:"42,display=Financial Transaction"`
	CTI                []CTI                       `hl7:"43,display=Clinical Trial Identification"`
	BLG                *BLG                        `hl7:"44,display=Billing"`
}

Order

type OML_O39_Package

type OML_O39_Package struct {
	HL7               HL7Name                     `hl7:",name=OML_O39_Package,type=tg"`
	PAC               *PAC                        `hl7:"35,required,display=Shipment Package"`
	Specimeninpackage []OML_O39_Specimeninpackage `hl7:",display=Specimen_in_package"`
}

Package

type OML_O39_Patient

type OML_O39_Patient struct {
	HL7          HL7Name               `hl7:",name=OML_O39_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	NK1          []NK1                 `hl7:"9,display=Next Of Kin / Associated Parties"`
	Patientvisit *OML_O39_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OML_O39_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"16,display=Guarantor"`
	AL1          []AL1                 `hl7:"17,display=Patient Allergy Information"`
}

Patient

type OML_O39_Patientvisit

type OML_O39_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OML_O39_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"10,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"11,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"12,display=Participation Information"`
}

Patientvisit

type OML_O39_Shipmentobservation

type OML_O39_Shipmentobservation struct {
	HL7 HL7Name `hl7:",name=OML_O39_Shipmentobservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation/result"`
	PRT []PRT   `hl7:"34,display=Participation Information"`
}

Shipmentobservation

type OML_O39_Specimencontainerinpackage

type OML_O39_Specimencontainerinpackage struct {
	HL7                  HL7Name                        `hl7:",name=OML_O39_Specimencontainerinpackage,type=tg"`
	SAC                  *SAC                           `hl7:"39,required,display=Specimen Container Detail"`
	Containerobservation []OML_O39_Containerobservation `hl7:",display=Container_observation"`
}

Specimencontainerinpackage

type OML_O39_Specimeninpackage

type OML_O39_Specimeninpackage struct {
	HL7                        HL7Name                              `hl7:",name=OML_O39_Specimeninpackage,type=tg"`
	SPM                        *SPM                                 `hl7:"36,required,display=Specimen"`
	Specimenobservation        []OML_O39_Specimenobservation        `hl7:",display=Specimen_observation"`
	Specimencontainerinpackage []OML_O39_Specimencontainerinpackage `hl7:",display=Specimen_container_in_package"`
}

Specimeninpackage

type OML_O39_Specimenobservation

type OML_O39_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OML_O39_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"37,required,display=Observation/result"`
	PRT []PRT   `hl7:"38,display=Participation Information"`
}

Specimenobservation

type OML_O39_Specimenshipment

type OML_O39_Specimenshipment struct {
	HL7                 HL7Name                       `hl7:",name=OML_O39_Specimenshipment,type=tg"`
	SHP                 *SHP                          `hl7:"32,required,display=Shipment"`
	Shipmentobservation []OML_O39_Shipmentobservation `hl7:",display=Shipment_observation"`
	Package             []OML_O39_Package             `hl7:",required,display=Package"`
}

Specimenshipment

type OML_O39_Timing

type OML_O39_Timing struct {
	HL7 HL7Name `hl7:",name=OML_O39_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"20,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"21,display=Timing/quantity Relationship"`
}

Timing

type OMN_O07

type OMN_O07 struct {
	HL7     HL7Name          `hl7:",name=OMN_O07,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *OMN_O07_Patient `hl7:",display=Patient"`
	Order   []OMN_O07_Order  `hl7:",required,display=Order"`
}

Non-stock requisition order

Non-stock requisitions can use the ORM message with the RQD and RQ1 segments as the detail segment, or use the OMN and ORN messages described below:

type OMN_O07_Insurance

type OMN_O07_Insurance struct {
	HL7 HL7Name `hl7:",name=OMN_O07_Insurance,type=tg"`
	IN1 *IN1    `hl7:"11,required,display=Insurance"`
	IN2 *IN2    `hl7:"12,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"13,display=Insurance Additional Information- Certification"`
}

Insurance

type OMN_O07_Observation

type OMN_O07_Observation struct {
	HL7 HL7Name `hl7:",name=OMN_O07_Observation,type=tg"`
	OBX *OBX    `hl7:"22,required,display=Observation/result"`
	NTE []NTE   `hl7:"23,display=Notes And Comments"`
}

Observation

type OMN_O07_Order

type OMN_O07_Order struct {
	HL7         HL7Name               `hl7:",name=OMN_O07_Order,type=tg"`
	ORC         *ORC                  `hl7:"16,required,display=Common Order"`
	Timing      []OMN_O07_Timing      `hl7:",display=Timing"`
	RQD         *RQD                  `hl7:"19,required,display=Requisition Detail"`
	RQ1         *RQ1                  `hl7:"20,display=Requisition Detail-1"`
	NTE         []NTE                 `hl7:"21,display=Notes And Comments"`
	Observation []OMN_O07_Observation `hl7:",display=Observation"`
	BLG         *BLG                  `hl7:"24,display=Billing"`
}

Order

type OMN_O07_Patient

type OMN_O07_Patient struct {
	HL7          HL7Name               `hl7:",name=OMN_O07_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	Patientvisit *OMN_O07_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OMN_O07_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"14,display=Guarantor"`
	AL1          []AL1                 `hl7:"15,display=Patient Allergy Information"`
}

Patient

type OMN_O07_Patientvisit

type OMN_O07_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OMN_O07_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type OMN_O07_Timing

type OMN_O07_Timing struct {
	HL7 HL7Name `hl7:",name=OMN_O07_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timing

type OMP_O09

type OMP_O09 struct {
	HL7     HL7Name          `hl7:",name=OMP_O09,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *OMP_O09_Patient `hl7:",display=Patient"`
	Order   []OMP_O09_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment order

type OMP_O09_Additionaldemographics

type OMP_O09_Additionaldemographics struct {
	HL7 HL7Name `hl7:",name=OMP_O09_Additionaldemographics,type=tg"`
	PD1 *PD1    `hl7:"6,required,display=Patient Additional Demographic"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Additionaldemographics

type OMP_O09_Component

type OMP_O09_Component struct {
	HL7 HL7Name `hl7:",name=OMP_O09_Component,type=tg"`
	RXC *RXC    `hl7:"24,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Component

type OMP_O09_Insurance

type OMP_O09_Insurance struct {
	HL7 HL7Name `hl7:",name=OMP_O09_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type OMP_O09_Observation

type OMP_O09_Observation struct {
	HL7 HL7Name `hl7:",name=OMP_O09_Observation,type=tg"`
	OBX *OBX    `hl7:"26,required,display=Observation/result"`
	PRT []PRT   `hl7:"27,display=Participation Information"`
	NTE []NTE   `hl7:"28,display=Notes And Comments"`
}

Observation

type OMP_O09_Order

type OMP_O09_Order struct {
	HL7         HL7Name               `hl7:",name=OMP_O09_Order,type=tg"`
	ORC         *ORC                  `hl7:"17,required,display=Common Order"`
	Timing      []OMP_O09_Timing      `hl7:",display=Timing"`
	RXO         *RXO                  `hl7:"20,required,display=Pharmacy/treatment Order"`
	PRT         []PRT                 `hl7:"21,display=Participation Information"`
	NTE         []NTE                 `hl7:"22,display=Notes And Comments"`
	RXR         []RXR                 `hl7:"23,required,display=Pharmacy/treatment Route"`
	Component   []OMP_O09_Component   `hl7:",display=Component"`
	Observation []OMP_O09_Observation `hl7:",display=Observation"`
	FT1         []FT1                 `hl7:"29,display=Financial Transaction"`
	BLG         *BLG                  `hl7:"30,display=Billing"`
}

Order

type OMP_O09_Patient

type OMP_O09_Patient struct {
	HL7                    HL7Name                         `hl7:",name=OMP_O09_Patient,type=tg"`
	PID                    *PID                            `hl7:"5,required,display=Patient Identification"`
	Additionaldemographics *OMP_O09_Additionaldemographics `hl7:",display=Additional_demographics"`
	NTE                    []NTE                           `hl7:"8,display=Notes And Comments"`
	Patientvisit           *OMP_O09_Patientvisit           `hl7:",display=Patient_visit"`
	Insurance              []OMP_O09_Insurance             `hl7:",display=Insurance"`
	GT1                    *GT1                            `hl7:"15,display=Guarantor"`
	AL1                    []AL1                           `hl7:"16,display=Patient Allergy Information"`
}

Patient

type OMP_O09_Patientvisit

type OMP_O09_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OMP_O09_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Patientvisit

type OMP_O09_Timing

type OMP_O09_Timing struct {
	HL7 HL7Name `hl7:",name=OMP_O09_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"18,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"19,display=Timing/quantity Relationship"`
}

Timing

type OMS_O05

type OMS_O05 struct {
	HL7     HL7Name          `hl7:",name=OMS_O05,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *OMS_O05_Patient `hl7:",display=Patient"`
	Order   []OMS_O05_Order  `hl7:",required,display=Order"`
}

Stock requisition order

Stock requisition orders use the ORM where RQD is the detail segment for backward compatibility or can use the OMS and ORS messages described below.

type OMS_O05_Insurance

type OMS_O05_Insurance struct {
	HL7 HL7Name `hl7:",name=OMS_O05_Insurance,type=tg"`
	IN1 *IN1    `hl7:"11,required,display=Insurance"`
	IN2 *IN2    `hl7:"12,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"13,display=Insurance Additional Information- Certification"`
}

Insurance

type OMS_O05_Observation

type OMS_O05_Observation struct {
	HL7 HL7Name `hl7:",name=OMS_O05_Observation,type=tg"`
	OBX *OBX    `hl7:"22,required,display=Observation/result"`
	NTE []NTE   `hl7:"23,display=Notes And Comments"`
}

Observation

type OMS_O05_Order

type OMS_O05_Order struct {
	HL7         HL7Name               `hl7:",name=OMS_O05_Order,type=tg"`
	ORC         *ORC                  `hl7:"16,required,display=Common Order"`
	Timing      []OMS_O05_Timing      `hl7:",display=Timing"`
	RQD         *RQD                  `hl7:"19,required,display=Requisition Detail"`
	RQ1         *RQ1                  `hl7:"20,display=Requisition Detail-1"`
	NTE         []NTE                 `hl7:"21,display=Notes And Comments"`
	Observation []OMS_O05_Observation `hl7:",display=Observation"`
	BLG         *BLG                  `hl7:"24,display=Billing"`
}

Order

type OMS_O05_Patient

type OMS_O05_Patient struct {
	HL7          HL7Name               `hl7:",name=OMS_O05_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	Patientvisit *OMS_O05_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []OMS_O05_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"14,display=Guarantor"`
	AL1          []AL1                 `hl7:"15,display=Patient Allergy Information"`
}

Patient

type OMS_O05_Patientvisit

type OMS_O05_Patientvisit struct {
	HL7 HL7Name `hl7:",name=OMS_O05_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type OMS_O05_Timing

type OMS_O05_Timing struct {
	HL7 HL7Name `hl7:",name=OMS_O05_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timing

type OPL_O37

type OPL_O37 struct {
	HL7       HL7Name            `hl7:",name=OPL_O37,type=t"`
	MSH       *MSH               `hl7:"1,required,display=Message Header"`
	SFT       []SFT              `hl7:"2,display=Software Segment"`
	UAC       *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	NTE       []NTE              `hl7:"4,display=Notes And Comments"`
	PRT       []PRT              `hl7:"5,required,display=Participation Information"`
	Guarantor *OPL_O37_Guarantor `hl7:",display=Guarantor"`
	Order     []OPL_O37_Order    `hl7:",required,display=Order"`
}

Population/Location-Based Laboratory Order Message

This message supports the use-case for submission of field level specimen and order data to diagnostic laboratories

type OPL_O37_Container

type OPL_O37_Container struct {
	HL7                  HL7Name                        `hl7:",name=OPL_O37_Container,type=tg"`
	SAC                  *SAC                           `hl7:"21,required,display=Specimen Container Detail"`
	Containerobservation []OPL_O37_Containerobservation `hl7:",display=Container_observation"`
}

Container

type OPL_O37_Containerobservation

type OPL_O37_Containerobservation struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Containerobservation,type=tg"`
	OBX *OBX    `hl7:"22,required,display=Observation/result"`
	PRT []PRT   `hl7:"23,display=Participation Information"`
}

Containerobservation

type OPL_O37_Guarantor

type OPL_O37_Guarantor struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Guarantor,type=tg"`
	GT1 *GT1    `hl7:"6,required,display=Guarantor"`
	NTE []NTE   `hl7:"7,display=Notes And Comments"`
}

Guarantor

type OPL_O37_Insurance

type OPL_O37_Insurance struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Insurance,type=tg"`
	IN1 *IN1    `hl7:"14,required,display=Insurance"`
	IN2 *IN2    `hl7:"15,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"16,display=Insurance Additional Information- Certification"`
}

Insurance

type OPL_O37_Observationrequest

type OPL_O37_Observationrequest struct {
	HL7                     HL7Name                           `hl7:",name=OPL_O37_Observationrequest,type=tg"`
	ORC                     *ORC                              `hl7:"24,required,display=Common Order"`
	OBR                     *OBR                              `hl7:"25,required,display=Observation Request"`
	PRT                     []PRT                             `hl7:"26,display=Participation Information"`
	Timing                  []OPL_O37_Timing                  `hl7:",display=Timing"`
	TCD                     *TCD                              `hl7:"29,display=Test Code Detail"`
	DG1                     []DG1                             `hl7:"30,display=Diagnosis"`
	Orderrelatedobservation []OPL_O37_Orderrelatedobservation `hl7:",display=Order_related_observation"`
}

Observationrequest

type OPL_O37_Observationresultgroup

type OPL_O37_Observationresultgroup struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Observationresultgroup,type=tg"`
	OBX *OBX    `hl7:"46,required,display=Observation/result"`
	PRT []PRT   `hl7:"47,display=Participation Information"`
}

Observationresultgroup

type OPL_O37_Observationsonpatient

type OPL_O37_Observationsonpatient struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Observationsonpatient,type=tg"`
	OBX *OBX    `hl7:"12,required,display=Observation/result"`
	PRT []PRT   `hl7:"13,display=Participation Information"`
}

Observationsonpatient

type OPL_O37_Order

type OPL_O37_Order struct {
	HL7         HL7Name              `hl7:",name=OPL_O37_Order,type=tg"`
	NK1         []NK1                `hl7:"8,required,display=Next Of Kin / Associated Parties"`
	Patient     *OPL_O37_Patient     `hl7:",display=Patient"`
	Specimen    []OPL_O37_Specimen   `hl7:",required,display=Specimen"`
	Priorresult *OPL_O37_Priorresult `hl7:",display=Prior_result"`
	FT1         []FT1                `hl7:"48,display=Financial Transaction"`
	CTI         []CTI                `hl7:"49,display=Clinical Trial Identification"`
	BLG         *BLG                 `hl7:"50,display=Billing"`
}

Order

type OPL_O37_Orderprior

type OPL_O37_Orderprior struct {
	HL7                    HL7Name                          `hl7:",name=OPL_O37_Orderprior,type=tg"`
	OBR                    *OBR                             `hl7:"41,required,display=Observation Request"`
	ORC                    *ORC                             `hl7:"42,display=Common Order"`
	PRT                    []PRT                            `hl7:"43,display=Participation Information"`
	Timing2                *OPL_O37_Timing2                 `hl7:",display=Timing2"`
	Observationresultgroup []OPL_O37_Observationresultgroup `hl7:",required,display=Observation_result_group"`
}

Orderprior

type OPL_O37_Orderrelatedobservation

type OPL_O37_Orderrelatedobservation struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Orderrelatedobservation,type=tg"`
	OBX *OBX    `hl7:"31,required,display=Observation/result"`
	PRT []PRT   `hl7:"32,display=Participation Information"`
}

Orderrelatedobservation

type OPL_O37_Patient

type OPL_O37_Patient struct {
	HL7                   HL7Name                         `hl7:",name=OPL_O37_Patient,type=tg"`
	PID                   *PID                            `hl7:"9,required,display=Patient Identification"`
	PD1                   *PD1                            `hl7:"10,display=Patient Additional Demographic"`
	PRT                   []PRT                           `hl7:"11,display=Participation Information"`
	Observationsonpatient []OPL_O37_Observationsonpatient `hl7:",display=Observations_on_patient"`
	Insurance             []OPL_O37_Insurance             `hl7:",display=Insurance"`
	AL1                   []AL1                           `hl7:"17,display=Patient Allergy Information"`
}

Patient

type OPL_O37_Patientprior

type OPL_O37_Patientprior struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Patientprior,type=tg"`
	PID *PID    `hl7:"34,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"35,display=Patient Additional Demographic"`
	PRT []PRT   `hl7:"36,display=Participation Information"`
}

Patientprior

type OPL_O37_Patientvisitprior

type OPL_O37_Patientvisitprior struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Patientvisitprior,type=tg"`
	PV1 *PV1    `hl7:"37,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"38,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"39,display=Participation Information"`
}

Patientvisitprior

type OPL_O37_Priorresult

type OPL_O37_Priorresult struct {
	HL7               HL7Name                    `hl7:",name=OPL_O37_Priorresult,type=tg"`
	NK1               []NK1                      `hl7:"33,required,display=Next Of Kin / Associated Parties"`
	Patientprior      *OPL_O37_Patientprior      `hl7:",display=Patient_prior"`
	Patientvisitprior *OPL_O37_Patientvisitprior `hl7:",display=Patient_visit_prior"`
	AL1               *AL1                       `hl7:"40,display=Patient Allergy Information"`
	Orderprior        []OPL_O37_Orderprior       `hl7:",required,display=Order_prior"`
}

Priorresult

type OPL_O37_Specimen

type OPL_O37_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OPL_O37_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"18,required,display=Specimen"`
	Specimenobservation []OPL_O37_Specimenobservation `hl7:",display=Specimen_observation"`
	Container           []OPL_O37_Container           `hl7:",display=Container"`
	Observationrequest  []OPL_O37_Observationrequest  `hl7:",required,display=Observation_request"`
}

Specimen

type OPL_O37_Specimenobservation

type OPL_O37_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"19,required,display=Observation/result"`
	PRT []PRT   `hl7:"20,display=Participation Information"`
}

Specimenobservation

type OPL_O37_Timing

type OPL_O37_Timing struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"27,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"28,display=Timing/quantity Relationship"`
}

Timing

type OPL_O37_Timing2

type OPL_O37_Timing2 struct {
	HL7 HL7Name `hl7:",name=OPL_O37_Timing2,type=tg"`
	TQ1 *TQ1    `hl7:"44,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"45,display=Timing/quantity Relationship"`
}

Timing2

type OPR_O38

type OPR_O38 struct {
	HL7      HL7Name           `hl7:",name=OPR_O38,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *OPR_O38_Response `hl7:",display=Response"`
}

Population/Location-Based Laboratory Order Acknowledgment Message

The function of this message is to respond to an OPL message. An OPR message is the application acknowledgment to an OPL message. See Chapter 2 for a description of the acknowledgment paradigm.

Note: Based upon general message/acknowledgment patterns, it would be expected that this message type would be ORP. However, when this message type was introduced, ORP was already in use as Pharmacy/Treatment Order Acknowledgment.

type OPR_O38_Observationrequest

type OPR_O38_Observationrequest struct {
	HL7 HL7Name `hl7:",name=OPR_O38_Observationrequest,type=tg"`
	ORC *ORC    `hl7:"14,required,display=Common Order"`
	OBR *OBR    `hl7:"15,required,display=Observation Request"`
	PRT []PRT   `hl7:"16,display=Participation Information"`
}

Observationrequest

type OPR_O38_Order

type OPR_O38_Order struct {
	HL7      HL7Name            `hl7:",name=OPR_O38_Order,type=tg"`
	NK1      []NK1              `hl7:"7,required,display=Next Of Kin / Associated Parties"`
	PID      *PID               `hl7:"8,display=Patient Identification"`
	PRT      []PRT              `hl7:"9,display=Participation Information"`
	Specimen []OPR_O38_Specimen `hl7:",display=Specimen"`
}

Order

type OPR_O38_Response

type OPR_O38_Response struct {
	HL7   HL7Name         `hl7:",name=OPR_O38_Response,type=tg"`
	Order []OPR_O38_Order `hl7:",required,display=Order"`
}

Response

type OPR_O38_Specimen

type OPR_O38_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OPR_O38_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"10,required,display=Specimen"`
	Specimenobservation []OPR_O38_Specimenobservation `hl7:",display=Specimen_observation"`
	SAC                 []SAC                         `hl7:"13,display=Specimen Container Detail"`
	Observationrequest  []OPR_O38_Observationrequest  `hl7:",display=Observation_request"`
	Timing              []OPR_O38_Timing              `hl7:",display=Timing"`
}

Specimen

type OPR_O38_Specimenobservation

type OPR_O38_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OPR_O38_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"11,required,display=Observation/result"`
	PRT []PRT   `hl7:"12,display=Participation Information"`
}

Specimenobservation

type OPR_O38_Timing

type OPR_O38_Timing struct {
	HL7 HL7Name `hl7:",name=OPR_O38_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timing

type OPU_R25

type OPU_R25 struct {
	HL7                     HL7Name                           `hl7:",name=OPU_R25,type=t"`
	MSH                     *MSH                              `hl7:"1,required,display=Message Header"`
	SFT                     []SFT                             `hl7:"2,display=Software Segment"`
	UAC                     *UAC                              `hl7:"3,display=User Authentication Credential Segment"`
	NTE                     *NTE                              `hl7:"4,display=Notes And Comments"`
	PV1                     *PV1                              `hl7:"5,required,display=Patient Visit"`
	PV2                     *PV2                              `hl7:"6,display=Patient Visit - Additional Information"`
	PRT                     []PRT                             `hl7:"7,display=Participation Information"`
	Patientvisitobservation []OPU_R25_Patientvisitobservation `hl7:",display=Patient_visit_observation"`
	Accessiondetail         []OPU_R25_Accessiondetail         `hl7:",required,display=Accession_detail"`
}

Unsolicited Population/Location-Based Laboratory Observation Message

This message supports unsolicited population or location-based surveillance reporting to a central repository where the accession / visit may contain references to multiple patients, multiple specimens, non-patient specimens, and multiple orders per specimen.

This message structure represents the way most submissions to veterinary laboratories occur. There is a multi-tier hierarchy in which a single individual (for example, a veterinarian or an owner of a production facility) submits one or more specimen samples from one or more animals or non-living entity, such as environmental specimens or feed. This grouped submission of specimens from multiple animal 'patients' is usually referred to as an 'accession' which can be considered analogous to a 'visit' in the veterinary laboratory context. This is what accounts for the unusual structure where the PV1 segment precedes a repeatable ACCESSION_DETAIL group.

Since specimens can originate from non-patients the PATIENT group is optional. This allows for specimens that are both associated with patients as well as those associated with non-patients to be included under the same accession (visit). Each specimen may have one or more orders assigned, each of which may have one or more individual results.

The OBX segment at the visit level provides the reason for submission. The repeatable PRT segment at the visit level represents the person(s) or organization submitting the request and other interested parties and locations who (that) play a role in the disposition of the accession/visit.

The NK1 segment contains owner and/or responsible party information for the patient and/or specimen.

type OPU_R25_Accessiondetail

type OPU_R25_Accessiondetail struct {
	HL7      HL7Name            `hl7:",name=OPU_R25_Accessiondetail,type=tg"`
	NK1      []NK1              `hl7:"11,required,display=Next Of Kin / Associated Parties"`
	Patient  *OPU_R25_Patient   `hl7:",display=Patient"`
	Specimen []OPU_R25_Specimen `hl7:",required,display=Specimen"`
}

Accessiondetail

type OPU_R25_Container

type OPU_R25_Container struct {
	HL7 HL7Name `hl7:",name=OPU_R25_Container,type=tg"`
	SAC *SAC    `hl7:"22,required,display=Specimen Container Detail"`
	INV *INV    `hl7:"23,display=Inventory Detail"`
}

Container

type OPU_R25_Order

type OPU_R25_Order struct {
	HL7       HL7Name             `hl7:",name=OPU_R25_Order,type=tg"`
	OBR       *OBR                `hl7:"24,required,display=Observation Request"`
	ORC       *ORC                `hl7:"25,display=Common Order"`
	NTE       []NTE               `hl7:"26,display=Notes And Comments"`
	PRT       []PRT               `hl7:"27,display=Participation Information"`
	Timingqty []OPU_R25_Timingqty `hl7:",display=Timing_qty"`
	Result    []OPU_R25_Result    `hl7:",required,display=Result"`
}

Order

type OPU_R25_Patient

type OPU_R25_Patient struct {
	HL7                HL7Name                      `hl7:",name=OPU_R25_Patient,type=tg"`
	PID                *PID                         `hl7:"12,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"13,display=Patient Additional Demographic"`
	PRT                []PRT                        `hl7:"14,display=Participation Information"`
	Patientobservation []OPU_R25_Patientobservation `hl7:",display=Patient_observation"`
}

Patient

type OPU_R25_Patientobservation

type OPU_R25_Patientobservation struct {
	HL7 HL7Name `hl7:",name=OPU_R25_Patientobservation,type=tg"`
	OBX *OBX    `hl7:"15,required,display=Observation/result"`
	PRT []PRT   `hl7:"16,display=Participation Information"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Patientobservation

type OPU_R25_Patientvisitobservation

type OPU_R25_Patientvisitobservation struct {
	HL7 HL7Name `hl7:",name=OPU_R25_Patientvisitobservation,type=tg"`
	OBX *OBX    `hl7:"8,required,display=Observation/result"`
	NTE []NTE   `hl7:"9,display=Notes And Comments"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Patientvisitobservation

type OPU_R25_Result

type OPU_R25_Result struct {
	HL7 HL7Name `hl7:",name=OPU_R25_Result,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation/result"`
	PRT []PRT   `hl7:"31,display=Participation Information"`
	NTE []NTE   `hl7:"32,display=Notes And Comments"`
}

Result

type OPU_R25_Specimen

type OPU_R25_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OPU_R25_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"18,required,display=Specimen"`
	Specimenobservation []OPU_R25_Specimenobservation `hl7:",display=Specimen_observation"`
	Container           []OPU_R25_Container           `hl7:",display=Container"`
	Order               []OPU_R25_Order               `hl7:",required,display=Order"`
}

Specimen

type OPU_R25_Specimenobservation

type OPU_R25_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OPU_R25_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"19,required,display=Observation/result"`
	PRT []PRT   `hl7:"20,display=Participation Information"`
	NTE []NTE   `hl7:"21,display=Notes And Comments"`
}

Specimenobservation

type OPU_R25_Timingqty

type OPU_R25_Timingqty struct {
	HL7 HL7Name `hl7:",name=OPU_R25_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"28,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"29,display=Timing/quantity Relationship"`
}

Timingqty

type ORA_R33

type ORA_R33 struct {
	HL7 HL7Name `hl7:",name=ORA_R33,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR []ERR   `hl7:"5,display=Error"`
	ORC *ORC    `hl7:"6,display=Common Order"`
}

Observation Report Acknowledgement

This message enables a response to the ORU^R30 message to provide an application level acknowledgement that may include a placer order number.

type ORB_O28

type ORB_O28 struct {
	HL7      HL7Name           `hl7:",name=ORB_O28,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORB_O28_Response `hl7:",display=Response"`
}

Blood product order acknowledgment

type ORB_O28_Order

type ORB_O28_Order struct {
	HL7    HL7Name          `hl7:",name=ORB_O28_Order,type=tg"`
	ORC    *ORC             `hl7:"8,required,display=Common Order"`
	Timing []ORB_O28_Timing `hl7:",display=Timing"`
	BPO    *BPO             `hl7:"11,display=Blood Product Order"`
}

Order

type ORB_O28_Patient

type ORB_O28_Patient struct {
	HL7   HL7Name         `hl7:",name=ORB_O28_Patient,type=tg"`
	PID   *PID            `hl7:"7,required,display=Patient Identification"`
	Order []ORB_O28_Order `hl7:",display=Order"`
}

Patient

type ORB_O28_Response

type ORB_O28_Response struct {
	HL7     HL7Name          `hl7:",name=ORB_O28_Response,type=tg"`
	Patient *ORB_O28_Patient `hl7:",display=Patient"`
}

Response

type ORB_O28_Timing

type ORB_O28_Timing struct {
	HL7 HL7Name `hl7:",name=ORB_O28_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"9,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"10,display=Timing/quantity Relationship"`
}

Timing

type ORC

type ORC struct {
	HL7                                     HL7Name `hl7:",name=ORC,type=s"`
	OrderControl                            ID      `hl7:"1,required,len=2,table=0119,display=Order Control"`
	PlacerOrderNumber                       *EI     `hl7:"2,conditional,display=Placer Order Number"`
	FillerOrderNumber                       *EI     `hl7:"3,conditional,display=Filler Order Number"`
	PlacerGroupNumber                       *EI     `hl7:"4,display=Placer Group Number"`
	OrderStatus                             ID      `hl7:"5,len=2,table=0038,display=Order Status"`
	ResponseFlag                            ID      `hl7:"6,len=1,table=0121,display=Response Flag"`
	QuantityTiming                          []ST    `hl7:"7,display=Quantity/Timing"`
	Parent                                  *EIP    `hl7:"8,display=Parent"`
	DateTimeOfTransaction                   DTM     `hl7:"9,format=YMDHM,display=Date/Time Of Transaction"`
	EnteredBy                               []XCN   `hl7:"10,display=Entered By"`
	VerifiedBy                              []XCN   `hl7:"11,display=Verified By"`
	OrderingProvider                        []XCN   `hl7:"12,display=Ordering Provider"`
	EnterersLocation                        *PL     `hl7:"13,display=Enterer's Location"`
	CallBackPhoneNumber                     []XTN   `hl7:"14,max=2,display=Call Back Phone Number"`
	OrderEffectiveDateTime                  DTM     `hl7:"15,format=YMDHM,display=Order Effective Date/Time"`
	OrderControlCodeReason                  *CWE    `hl7:"16,table=9999,display=Order Control Code Reason"`
	EnteringOrganization                    CWE     `hl7:"17,table=9999,display=Entering Organization"`
	EnteringDevice                          CWE     `hl7:"18,table=9999,display=Entering Device"`
	ActionBy                                []XCN   `hl7:"19,display=Action By"`
	AdvancedBeneficiaryNoticeCode           *CWE    `hl7:"20,table=0339,display=Advanced Beneficiary Notice Code"`
	OrderingFacilityName                    []XON   `hl7:"21,display=Ordering Facility Name"`
	OrderingFacilityAddress                 []XAD   `hl7:"22,display=Ordering Facility Address"`
	OrderingFacilityPhoneNumber             []XTN   `hl7:"23,display=Ordering Facility Phone Number"`
	OrderingProviderAddress                 []XAD   `hl7:"24,display=Ordering Provider Address"`
	OrderStatusModifier                     *CWE    `hl7:"25,table=9999,display=Order Status Modifier"`
	AdvancedBeneficiaryNoticeOverrideReason *CWE    `hl7:"26,conditional,table=0552,display=Advanced Beneficiary Notice Override Reason"`
	FillersExpectedAvailabilityDateTime     DTM     `hl7:"27,format=YMDHM,display=Filler's Expected Availability Date/Time"`
	ConfidentialityCode                     *CWE    `hl7:"28,table=0177,display=Confidentiality Code"`
	OrderType                               *CWE    `hl7:"29,table=0482,display=Order Type"`
	EntererAuthorizationMode                *CNE    `hl7:"30,table=0483,display=Enterer Authorization Mode"`
	ParentUniversalServiceIdentifier        CWE     `hl7:"31,display=Parent Universal Service Identifier"`
	AdvancedBeneficiaryNoticeDate           DT      `hl7:"32,format=YMD,display=Advanced Beneficiary Notice Date"`
	AlternatePlacerOrderNumber              []CX    `hl7:"33,display=Alternate Placer Order Number"`
}

Common Order

The Common Order segment (ORC) is used to transmit fields that are common to all orders (all types of services that are requested).

There is some overlap between fields of the ORC and those in the order detail segments. These are described in the succeeding sections.

ORC use notes a) placer order groups The Standard supports a mechanism to collect several orders together in a group. Most often this is used to represent an "ordering session" for a single patient. An order group is a list of orders (ORCs) associated with an ORC-4-placer group number. A group is established when the placer supplies a placer group number with the original order. The order group consists of all the ORCs and order detail segments that have the same placer group number. Orders can be removed from the group using cancel, or added using the replacement or parent-child mechanisms. New orders cannot otherwise be added to the group.

b) duplicate fields The ORC is intended to uniformly define the fields that are common to all orders (i.e., requested services). Some ORC fields are duplicated in some order detail segments (e.g., OBR, RXO). For example, ORC-2-placer order number has the same meaning and purpose as OBR-2-placer order number field. This promotes upward compatibility with past versions and ASTM. The rule for using these fields is that the value must appear in the order detail segment if it does not appear in the ORC. However, it is recommended to transmit the field value in both places to avoid confusion.

c) parent/child – cancel, hold, discontinue During transmission of a request to cancel, hold, or discontinue a parent order, the request is intended to apply recursively to the parent order and all associated child orders. For example: 1) An EKG application receives an order for three EKGs on successive mornings. 2) The EKG application creates three child orders, one for each requested EKG. 3) The first daily EKG has already been performed when a request is received to cancel the original parent order. (The parent is beyond the point of cancellation.) 4) The remaining, unperformed, children are canceled as a result of the request.

type ORD_O04

type ORD_O04 struct {
	HL7      HL7Name           `hl7:",name=ORD_O04,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORD_O04_Response `hl7:",display=Response"`
}

Diet order acknowledgment

type ORD_O04_Orderdiet

type ORD_O04_Orderdiet struct {
	HL7        HL7Name              `hl7:",name=ORD_O04_Orderdiet,type=tg"`
	ORC        *ORC                 `hl7:"9,required,display=Common Order"`
	Timingdiet []ORD_O04_Timingdiet `hl7:",display=Timing_diet"`
	ODS        []ODS                `hl7:"12,display=Dietary Orders- Supplements- And Preferences"`
	NTE        []NTE                `hl7:"13,display=Notes And Comments"`
}

Orderdiet

type ORD_O04_Ordertray

type ORD_O04_Ordertray struct {
	HL7        HL7Name              `hl7:",name=ORD_O04_Ordertray,type=tg"`
	ORC        *ORC                 `hl7:"14,required,display=Common Order"`
	Timingtray []ORD_O04_Timingtray `hl7:",display=Timing_tray"`
	ODT        []ODT                `hl7:"17,display=Diet Tray Instructions"`
	NTE        []NTE                `hl7:"18,display=Notes And Comments"`
}

Ordertray

type ORD_O04_Patient

type ORD_O04_Patient struct {
	HL7 HL7Name `hl7:",name=ORD_O04_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
}

Patient

type ORD_O04_Response

type ORD_O04_Response struct {
	HL7       HL7Name             `hl7:",name=ORD_O04_Response,type=tg"`
	Patient   *ORD_O04_Patient    `hl7:",display=Patient"`
	Orderdiet []ORD_O04_Orderdiet `hl7:",required,display=Order_diet"`
	Ordertray []ORD_O04_Ordertray `hl7:",display=Order_tray"`
}

Response

type ORD_O04_Timingdiet

type ORD_O04_Timingdiet struct {
	HL7 HL7Name `hl7:",name=ORD_O04_Timingdiet,type=tg"`
	TQ1 *TQ1    `hl7:"10,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"11,display=Timing/quantity Relationship"`
}

Timingdiet

type ORD_O04_Timingtray

type ORD_O04_Timingtray struct {
	HL7 HL7Name `hl7:",name=ORD_O04_Timingtray,type=tg"`
	TQ1 *TQ1    `hl7:"15,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"16,display=Timing/quantity Relationship"`
}

Timingtray

type ORG

type ORG struct {
	HL7                                        HL7Name `hl7:",name=ORG,type=s"`
	SetID                                      SI      `hl7:"1,seq,required,len=4,display=Set Id - Org"`
	OrganizationUnitCode                       *CWE    `hl7:"2,table=0405,display=Organization Unit Code"`
	OrganizationUnitTypeCode                   *CWE    `hl7:"3,table=0474,display=Organization Unit Type Code"`
	PrimaryUnitIndicator                       ID      `hl7:"4,len=1,table=0136,display=Primary Org Unit Indicator"`
	PractitionerUnitIdentifier                 *CX     `hl7:"5,display=Practitioner Org Unit Identifier"`
	HealthCareProviderTypeCode                 *CWE    `hl7:"6,table=0452,display=Health Care Provider Type Code"`
	HealthCareProviderClassificationCode       *CWE    `hl7:"7,table=0453,display=Health Care Provider Classification Code"`
	HealthCareProviderAreaOfSpecializationCode *CWE    `hl7:"8,table=0454,display=Health Care Provider Area Of Specialization Code"`
	EffectiveDateRange                         *DR     `hl7:"9,display=Effective Date Range"`
	EmploymentStatusCode                       *CWE    `hl7:"10,table=0066,display=Employment Status Code"`
	BoardApprovalIndicator                     ID      `hl7:"11,len=1,table=0136,display=Board Approval Indicator"`
	PrimaryCarePhysicianIndicator              ID      `hl7:"12,len=1,table=0136,display=Primary Care Physician Indicator"`
	CostCenterCode                             []CWE   `hl7:"13,table=0539,display=Cost Center Code"`
}

Practitioner Organization Unit Segment

The ORG segment relates a practitioner to an organization unit and adds detailed information regarding the practitioner's practicing specialty in that organization unit. An ORG segment may optionally follow an STF segment. An ORG segment must always have been preceded by a corresponding STF segment. If no organization unit is specified, this segment is used to relate practitioners with their practicing specialties, including effective and end dates. When it is not necessary to record organization unit or dates associated with the practicing specialty, this data is recorded in PRA-3-Practitioner Category.

type ORG_O20

type ORG_O20 struct {
	HL7      HL7Name           `hl7:",name=ORG_O20,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORG_O20_Response `hl7:",display=Response"`
}

General clinical order response

The function of this message is to respond to an OMG message. An ORG message is the application acknowledgment to an OMG message. See Chapter 2 for a description of the acknowledgment paradigm.

In ORG the PID and ORC segments are optional, particularly in case of an error response. However, ORC segments are always required in ORG when the OBR is present. For example, a response ORG might include only the MSH and MSA.

The function (e.g., cancel, new order) of both OMG and ORG messages is determined by the value in ORC-1-order control. (See the table of order control values for a complete list.)

type ORG_O20_Observationgroup

type ORG_O20_Observationgroup struct {
	HL7 HL7Name `hl7:",name=ORG_O20_Observationgroup,type=tg"`
	OBR *OBR    `hl7:"13,required,display=Observation Request"`
}

Observationgroup

type ORG_O20_Order

type ORG_O20_Order struct {
	HL7              HL7Name                   `hl7:",name=ORG_O20_Order,type=tg"`
	ORC              *ORC                      `hl7:"10,required,display=Common Order"`
	Timing           []ORG_O20_Timing          `hl7:",display=Timing"`
	Observationgroup *ORG_O20_Observationgroup `hl7:",display=Observation_group"`
	PRT              []PRT                     `hl7:"14,display=Participation Information"`
	NTE              []NTE                     `hl7:"15,display=Notes And Comments"`
	CTI              []CTI                     `hl7:"16,display=Clinical Trial Identification"`
	Specimen         []ORG_O20_Specimen        `hl7:",display=Specimen"`
}

Order

type ORG_O20_Patient

type ORG_O20_Patient struct {
	HL7 HL7Name `hl7:",name=ORG_O20_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
	PRT []PRT   `hl7:"9,display=Participation Information"`
}

Patient

type ORG_O20_Response

type ORG_O20_Response struct {
	HL7     HL7Name          `hl7:",name=ORG_O20_Response,type=tg"`
	Patient *ORG_O20_Patient `hl7:",display=Patient"`
	Order   []ORG_O20_Order  `hl7:",required,display=Order"`
}

Response

type ORG_O20_Specimen

type ORG_O20_Specimen struct {
	HL7 HL7Name `hl7:",name=ORG_O20_Specimen,type=tg"`
	SPM *SPM    `hl7:"17,required,display=Specimen"`
	SAC []SAC   `hl7:"18,display=Specimen Container Detail"`
}

Specimen

type ORG_O20_Timing

type ORG_O20_Timing struct {
	HL7 HL7Name `hl7:",name=ORG_O20_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"11,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"12,display=Timing/quantity Relationship"`
}

Timing

type ORI_O24

type ORI_O24 struct {
	HL7      HL7Name           `hl7:",name=ORI_O24,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORI_O24_Response `hl7:",display=Response"`
}

Imaging order response message to any OMI

The function of this message is to respond to an OMI message. An ORI message is the application acknowledgment to an OMI message. See Chapter 2 for a description of the acknowledgment paradigm.

type ORI_O24_Order

type ORI_O24_Order struct {
	HL7    HL7Name          `hl7:",name=ORI_O24_Order,type=tg"`
	ORC    *ORC             `hl7:"10,required,display=Common Order"`
	Timing []ORI_O24_Timing `hl7:",display=Timing"`
	OBR    *OBR             `hl7:"13,required,display=Observation Request"`
	NTE    []NTE            `hl7:"14,display=Notes And Comments"`
	PRT    []PRT            `hl7:"15,display=Participation Information"`
	IPC    []IPC            `hl7:"16,required,display=Imaging Procedure Control Segment"`
}

Order

type ORI_O24_Patient

type ORI_O24_Patient struct {
	HL7 HL7Name `hl7:",name=ORI_O24_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
	PRT []PRT   `hl7:"9,display=Participation Information"`
}

Patient

type ORI_O24_Response

type ORI_O24_Response struct {
	HL7     HL7Name          `hl7:",name=ORI_O24_Response,type=tg"`
	Patient *ORI_O24_Patient `hl7:",display=Patient"`
	Order   []ORI_O24_Order  `hl7:",required,display=Order"`
}

Response

type ORI_O24_Timing

type ORI_O24_Timing struct {
	HL7 HL7Name `hl7:",name=ORI_O24_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"11,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"12,display=Timing/quantity Relationship"`
}

Timing

type ORL_O22

type ORL_O22 struct {
	HL7      HL7Name           `hl7:",name=ORL_O22,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORL_O22_Response `hl7:",display=Response"`
}

General laboratory order response message to any OML

The function of this message is to respond to an OML message. An ORL message is the application acknowledgment to an OML message. See Chapter 2 for a description of the acknowledgment paradigm.

type ORL_O22_Observationrequest

type ORL_O22_Observationrequest struct {
	HL7      HL7Name            `hl7:",name=ORL_O22_Observationrequest,type=tg"`
	OBR      *OBR               `hl7:"13,required,display=Observation Request"`
	PRT      []PRT              `hl7:"14,display=Participation Information"`
	Specimen []ORL_O22_Specimen `hl7:",display=Specimen"`
}

Observationrequest

type ORL_O22_Order

type ORL_O22_Order struct {
	HL7                HL7Name                     `hl7:",name=ORL_O22_Order,type=tg"`
	ORC                *ORC                        `hl7:"9,required,display=Common Order"`
	PRT                []PRT                       `hl7:"10,display=Participation Information"`
	Timing             []ORL_O22_Timing            `hl7:",display=Timing"`
	Observationrequest *ORL_O22_Observationrequest `hl7:",display=Observation_request"`
}

Order

type ORL_O22_Response

type ORL_O22_Response struct {
	HL7   HL7Name         `hl7:",name=ORL_O22_Response,type=tg"`
	PID   *PID            `hl7:"7,required,display=Patient Identification"`
	PRT   []PRT           `hl7:"8,display=Participation Information"`
	Order []ORL_O22_Order `hl7:",display=Order"`
}

Response

type ORL_O22_Specimen

type ORL_O22_Specimen struct {
	HL7 HL7Name `hl7:",name=ORL_O22_Specimen,type=tg"`
	SPM *SPM    `hl7:"15,required,display=Specimen"`
	SAC []SAC   `hl7:"16,display=Specimen Container Detail"`
}

Specimen

type ORL_O22_Timing

type ORL_O22_Timing struct {
	HL7 HL7Name `hl7:",name=ORL_O22_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"11,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"12,display=Timing/quantity Relationship"`
}

Timing

type ORL_O34

type ORL_O34 struct {
	HL7      HL7Name           `hl7:",name=ORL_O34,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORL_O34_Response `hl7:",display=Response"`
}

Laboratory order response message to a multiple order related to single sp

The function of this message is to respond to an OML message where the original trigger event produced an OML with the Specimen Group segment above the ORC. An ORL message is the application acknowledgment to an OML message. See Chapter 2 for a description of the acknowledgment paradigm.

type ORL_O34_Observationrequest

type ORL_O34_Observationrequest struct {
	HL7 HL7Name `hl7:",name=ORL_O34_Observationrequest,type=tg"`
	OBR *OBR    `hl7:"17,required,display=Observation Request"`
	PRT []PRT   `hl7:"18,display=Participation Information"`
}

Observationrequest

type ORL_O34_Order

type ORL_O34_Order struct {
	HL7                HL7Name                     `hl7:",name=ORL_O34_Order,type=tg"`
	ORC                *ORC                        `hl7:"13,required,display=Common Order"`
	PRT                []PRT                       `hl7:"14,display=Participation Information"`
	Timing             []ORL_O34_Timing            `hl7:",display=Timing"`
	Observationrequest *ORL_O34_Observationrequest `hl7:",display=Observation_request"`
}

Order

type ORL_O34_Response

type ORL_O34_Response struct {
	HL7      HL7Name            `hl7:",name=ORL_O34_Response,type=tg"`
	PID      *PID               `hl7:"7,required,display=Patient Identification"`
	PRT      []PRT              `hl7:"8,display=Participation Information"`
	Specimen []ORL_O34_Specimen `hl7:",required,display=Specimen"`
}

Response

type ORL_O34_Specimen

type ORL_O34_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=ORL_O34_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"9,required,display=Specimen"`
	Specimenobservation []ORL_O34_Specimenobservation `hl7:",display=Specimen_observation"`
	SAC                 []SAC                         `hl7:"12,display=Specimen Container Detail"`
	Order               []ORL_O34_Order               `hl7:",display=Order"`
}

Specimen

type ORL_O34_Specimenobservation

type ORL_O34_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=ORL_O34_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"10,required,display=Observation/result"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Specimenobservation

type ORL_O34_Timing

type ORL_O34_Timing struct {
	HL7 HL7Name `hl7:",name=ORL_O34_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"15,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"16,display=Timing/quantity Relationship"`
}

Timing

type ORL_O36

type ORL_O36 struct {
	HL7      HL7Name           `hl7:",name=ORL_O36,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORL_O36_Response `hl7:",display=Response"`
}

Laboratory order response message to a single container of a specimen OML

The function of this message is to respond to an OML message where the original trigger event produced an OML with the Specimen Group segment above the ORC. An ORL message is the application acknowledgment to an OML message. See Chapter 2 for a description of the acknowledgment paradigm.

type ORL_O36_Observationrequest

type ORL_O36_Observationrequest struct {
	HL7 HL7Name `hl7:",name=ORL_O36_Observationrequest,type=tg"`
	OBR *OBR    `hl7:"18,required,display=Observation Request"`
	PRT []PRT   `hl7:"19,display=Participation Information"`
}

Observationrequest

type ORL_O36_Order

type ORL_O36_Order struct {
	HL7                HL7Name                     `hl7:",name=ORL_O36_Order,type=tg"`
	ORC                *ORC                        `hl7:"14,required,display=Common Order"`
	PRT                []PRT                       `hl7:"15,display=Participation Information"`
	Timing             []ORL_O36_Timing            `hl7:",display=Timing"`
	Observationrequest *ORL_O36_Observationrequest `hl7:",display=Observation_request"`
}

Order

type ORL_O36_Response

type ORL_O36_Response struct {
	HL7      HL7Name            `hl7:",name=ORL_O36_Response,type=tg"`
	PID      *PID               `hl7:"7,required,display=Patient Identification"`
	PRT      []PRT              `hl7:"8,display=Participation Information"`
	Specimen []ORL_O36_Specimen `hl7:",required,display=Specimen"`
}

Response

type ORL_O36_Specimen

type ORL_O36_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=ORL_O36_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"9,required,display=Specimen"`
	Specimenobservation []ORL_O36_Specimenobservation `hl7:",display=Specimen_observation"`
	NTE                 []NTE                         `hl7:"12,display=Notes And Comments"`
	Specimencontainer   []ORL_O36_Specimencontainer   `hl7:",required,display=Specimen_container"`
}

Specimen

type ORL_O36_Specimencontainer

type ORL_O36_Specimencontainer struct {
	HL7   HL7Name         `hl7:",name=ORL_O36_Specimencontainer,type=tg"`
	SAC   *SAC            `hl7:"13,required,display=Specimen Container Detail"`
	Order []ORL_O36_Order `hl7:",display=Order"`
}

Specimencontainer

type ORL_O36_Specimenobservation

type ORL_O36_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=ORL_O36_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"10,required,display=Observation/result"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Specimenobservation

type ORL_O36_Timing

type ORL_O36_Timing struct {
	HL7 HL7Name `hl7:",name=ORL_O36_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"16,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"17,display=Timing/quantity Relationship"`
}

Timing

type ORL_O40

type ORL_O40 struct {
	HL7      HL7Name           `hl7:",name=ORL_O40,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORL_O40_Response `hl7:",display=Response"`
}

Specimen Shipment Centric Laboratory Order Acknowledgment Message

The function of this message is to respond to an OML message. An ORL message is the application acknowledgment to an OML message. See Chapter 2 for a description of the acknowledgment paradigm.

type ORL_O40_Observationrequest

type ORL_O40_Observationrequest struct {
	HL7              HL7Name                    `hl7:",name=ORL_O40_Observationrequest,type=tg"`
	OBR              *OBR                       `hl7:"13,required,display=Observation Request"`
	PRT              []PRT                      `hl7:"14,display=Participation Information"`
	Specimenshipment []ORL_O40_Specimenshipment `hl7:",display=Specimen_shipment"`
}

Observationrequest

type ORL_O40_Order

type ORL_O40_Order struct {
	HL7                HL7Name                     `hl7:",name=ORL_O40_Order,type=tg"`
	ORC                *ORC                        `hl7:"9,required,display=Common Order"`
	PRT                []PRT                       `hl7:"10,display=Participation Information"`
	Timing             []ORL_O40_Timing            `hl7:",display=Timing"`
	Observationrequest *ORL_O40_Observationrequest `hl7:",display=Observation_request"`
}

Order

type ORL_O40_Package

type ORL_O40_Package struct {
	HL7               HL7Name                     `hl7:",name=ORL_O40_Package,type=tg"`
	PAC               *PAC                        `hl7:"16,required,display=Shipment Package"`
	Specimeninpackage []ORL_O40_Specimeninpackage `hl7:",display=Specimen_in_package"`
}

Package

type ORL_O40_Patient

type ORL_O40_Patient struct {
	HL7   HL7Name         `hl7:",name=ORL_O40_Patient,type=tg"`
	PID   *PID            `hl7:"7,required,display=Patient Identification"`
	PRT   []PRT           `hl7:"8,display=Participation Information"`
	Order []ORL_O40_Order `hl7:",display=Order"`
}

Patient

type ORL_O40_Response

type ORL_O40_Response struct {
	HL7     HL7Name          `hl7:",name=ORL_O40_Response,type=tg"`
	Patient *ORL_O40_Patient `hl7:",display=Patient"`
}

Response

type ORL_O40_Specimencontainerinpackage

type ORL_O40_Specimencontainerinpackage struct {
	HL7 HL7Name `hl7:",name=ORL_O40_Specimencontainerinpackage,type=tg"`
	SAC *SAC    `hl7:"18,required,display=Specimen Container Detail"`
}

Specimencontainerinpackage

type ORL_O40_Specimeninpackage

type ORL_O40_Specimeninpackage struct {
	HL7                        HL7Name                              `hl7:",name=ORL_O40_Specimeninpackage,type=tg"`
	SPM                        *SPM                                 `hl7:"17,required,display=Specimen"`
	Specimencontainerinpackage []ORL_O40_Specimencontainerinpackage `hl7:",display=Specimen_container_in_package"`
}

Specimeninpackage

type ORL_O40_Specimenshipment

type ORL_O40_Specimenshipment struct {
	HL7     HL7Name           `hl7:",name=ORL_O40_Specimenshipment,type=tg"`
	SHP     *SHP              `hl7:"15,required,display=Shipment"`
	Package []ORL_O40_Package `hl7:",required,display=Package"`
}

Specimenshipment

type ORL_O40_Timing

type ORL_O40_Timing struct {
	HL7 HL7Name `hl7:",name=ORL_O40_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"11,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"12,display=Timing/quantity Relationship"`
}

Timing

type ORN_O08

type ORN_O08 struct {
	HL7      HL7Name           `hl7:",name=ORN_O08,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORN_O08_Response `hl7:",display=Response"`
}

Non-stock requisition acknowledgment

type ORN_O08_Order

type ORN_O08_Order struct {
	HL7    HL7Name          `hl7:",name=ORN_O08_Order,type=tg"`
	ORC    *ORC             `hl7:"9,required,display=Common Order"`
	Timing []ORN_O08_Timing `hl7:",display=Timing"`
	RQD    *RQD             `hl7:"12,required,display=Requisition Detail"`
	RQ1    *RQ1             `hl7:"13,display=Requisition Detail-1"`
	NTE    []NTE            `hl7:"14,display=Notes And Comments"`
}

Order

type ORN_O08_Patient

type ORN_O08_Patient struct {
	HL7 HL7Name `hl7:",name=ORN_O08_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
}

Patient

type ORN_O08_Response

type ORN_O08_Response struct {
	HL7     HL7Name          `hl7:",name=ORN_O08_Response,type=tg"`
	Patient *ORN_O08_Patient `hl7:",display=Patient"`
	Order   []ORN_O08_Order  `hl7:",required,display=Order"`
}

Response

type ORN_O08_Timing

type ORN_O08_Timing struct {
	HL7 HL7Name `hl7:",name=ORN_O08_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"10,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"11,display=Timing/quantity Relationship"`
}

Timing

type ORP_O10

type ORP_O10 struct {
	HL7      HL7Name           `hl7:",name=ORP_O10,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORP_O10_Response `hl7:",display=Response"`
}

Pharmacy/treatment order acknowledgment

type ORP_O10_Component

type ORP_O10_Component struct {
	HL7 HL7Name `hl7:",name=ORP_O10_Component,type=tg"`
	RXC *RXC    `hl7:"17,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Component

type ORP_O10_Order

type ORP_O10_Order struct {
	HL7         HL7Name              `hl7:",name=ORP_O10_Order,type=tg"`
	ORC         *ORC                 `hl7:"9,required,display=Common Order"`
	PRT         []PRT                `hl7:"10,display=Participation Information"`
	Timing      []ORP_O10_Timing     `hl7:",display=Timing"`
	Orderdetail *ORP_O10_Orderdetail `hl7:",display=Order_detail"`
}

Order

type ORP_O10_Orderdetail

type ORP_O10_Orderdetail struct {
	HL7       HL7Name             `hl7:",name=ORP_O10_Orderdetail,type=tg"`
	RXO       *RXO                `hl7:"13,required,display=Pharmacy/treatment Order"`
	PRT       []PRT               `hl7:"14,display=Participation Information"`
	NTE       []NTE               `hl7:"15,display=Notes And Comments"`
	RXR       []RXR               `hl7:"16,required,display=Pharmacy/treatment Route"`
	Component []ORP_O10_Component `hl7:",display=Component"`
}

Orderdetail

type ORP_O10_Patient

type ORP_O10_Patient struct {
	HL7 HL7Name `hl7:",name=ORP_O10_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
}

Patient

type ORP_O10_Response

type ORP_O10_Response struct {
	HL7     HL7Name          `hl7:",name=ORP_O10_Response,type=tg"`
	Patient *ORP_O10_Patient `hl7:",display=Patient"`
	Order   []ORP_O10_Order  `hl7:",required,display=Order"`
}

Response

type ORP_O10_Timing

type ORP_O10_Timing struct {
	HL7 HL7Name `hl7:",name=ORP_O10_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"11,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"12,display=Timing/quantity Relationship"`
}

Timing

type ORS_O06

type ORS_O06 struct {
	HL7      HL7Name           `hl7:",name=ORS_O06,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *ORS_O06_Response `hl7:",display=Response"`
}

Stock requisition acknowledgment

type ORS_O06_Order

type ORS_O06_Order struct {
	HL7    HL7Name          `hl7:",name=ORS_O06_Order,type=tg"`
	ORC    *ORC             `hl7:"9,required,display=Common Order"`
	Timing []ORS_O06_Timing `hl7:",display=Timing"`
	RQD    *RQD             `hl7:"12,required,display=Requisition Detail"`
	RQ1    *RQ1             `hl7:"13,display=Requisition Detail-1"`
	NTE    []NTE            `hl7:"14,display=Notes And Comments"`
}

Order

type ORS_O06_Patient

type ORS_O06_Patient struct {
	HL7 HL7Name `hl7:",name=ORS_O06_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
}

Patient

type ORS_O06_Response

type ORS_O06_Response struct {
	HL7     HL7Name          `hl7:",name=ORS_O06_Response,type=tg"`
	Patient *ORS_O06_Patient `hl7:",display=Patient"`
	Order   []ORS_O06_Order  `hl7:",required,display=Order"`
}

Response

type ORS_O06_Timing

type ORS_O06_Timing struct {
	HL7 HL7Name `hl7:",name=ORS_O06_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"10,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"11,display=Timing/quantity Relationship"`
}

Timing

type ORU_R01

type ORU_R01 struct {
	HL7           HL7Name                 `hl7:",name=ORU_R01,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message Header"`
	SFT           []SFT                   `hl7:"2,display=Software Segment"`
	UAC           *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	Patientresult []ORU_R01_Patientresult `hl7:",required,display=Patient_result"`
	DSC           *DSC                    `hl7:"29,display=Continuation Pointer"`
}

Unsolicited transmission of an observation message

The ORU message is for transmitting laboratory results to other systems. The OUL message is designed to accommodate the laboratory processes of laboratory automation systems.

With the segment (OBX) defined in this chapter, and the OBR defined in Chapter 4, one can construct almost any clinical report as a multi-level hierarchy, with the PID segment defined in Chapter 3 at the upper level, an order record (OBR) at the next level with one or more observation records (OBX), followed by the specimen information (SPM) and one or more observations (OBX) directly associated with the specimen.

One result segment (OBX) is transmitted for each component of a diagnostic report, such as an EKG or obstetrical ultrasound or electrolyte battery.

The CTD segment in this trigger is used to transmit temporary patient contact details specific to this order.

Note: The ORC is permitted but not required in this message. Any information that could be included in either the ORC or the OBR must be included in the OBR on reporting. Notice also that the ORU (and the QRY) messages accommodate reports about many patients.

Many report headers (OBR) may be sent beneath each patient segment, with many separate observation segments (OBX) related to the order / observation request beneath each OBR. OBX segments that are related to specimens immediately follow the SPM segments. Note segments (NTE) may be inserted at different locations in the message. The note segment applies to the entity that immediately precedes it, i.e., the patient if it follows the PID segment, the observation request if it follows the OBR segment, and the individual result if it follows the OBX segment.

type ORU_R01_Observation

type ORU_R01_Observation struct {
	HL7 HL7Name `hl7:",name=ORU_R01_Observation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	PRT []PRT   `hl7:"22,display=Participation Information"`
	NTE []NTE   `hl7:"23,display=Notes And Comments"`
}

Observation

type ORU_R01_Orderobservation

type ORU_R01_Orderobservation struct {
	HL7         HL7Name               `hl7:",name=ORU_R01_Orderobservation,type=tg"`
	ORC         *ORC                  `hl7:"14,display=Common Order"`
	OBR         *OBR                  `hl7:"15,required,display=Observation Request"`
	NTE         []NTE                 `hl7:"16,display=Notes And Comments"`
	PRT         []PRT                 `hl7:"17,display=Participation Information"`
	Timingqty   []ORU_R01_Timingqty   `hl7:",display=Timing_qty"`
	CTD         *CTD                  `hl7:"20,display=Contact Data"`
	Observation []ORU_R01_Observation `hl7:",display=Observation"`
	FT1         []FT1                 `hl7:"24,display=Financial Transaction"`
	CTI         []CTI                 `hl7:"25,display=Clinical Trial Identification"`
	Specimen    []ORU_R01_Specimen    `hl7:",display=Specimen"`
}

Orderobservation

type ORU_R01_Patient

type ORU_R01_Patient struct {
	HL7                HL7Name                      `hl7:",name=ORU_R01_Patient,type=tg"`
	PID                *PID                         `hl7:"4,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"5,display=Patient Additional Demographic"`
	PRT                []PRT                        `hl7:"6,display=Participation Information"`
	NTE                []NTE                        `hl7:"7,display=Notes And Comments"`
	NK1                []NK1                        `hl7:"8,display=Next Of Kin / Associated Parties"`
	Patientobservation []ORU_R01_Patientobservation `hl7:",display=Patient_observation"`
	Visit              *ORU_R01_Visit               `hl7:",display=Visit"`
}

Patient

type ORU_R01_Patientobservation

type ORU_R01_Patientobservation struct {
	HL7 HL7Name `hl7:",name=ORU_R01_Patientobservation,type=tg"`
	OBX *OBX    `hl7:"9,required,display=Observation/result"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Patientobservation

type ORU_R01_Patientresult

type ORU_R01_Patientresult struct {
	HL7              HL7Name                    `hl7:",name=ORU_R01_Patientresult,type=tg"`
	Patient          *ORU_R01_Patient           `hl7:",display=Patient"`
	Orderobservation []ORU_R01_Orderobservation `hl7:",required,display=Order_observation"`
}

Patientresult

type ORU_R01_Specimen

type ORU_R01_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=ORU_R01_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"26,required,display=Specimen"`
	Specimenobservation []ORU_R01_Specimenobservation `hl7:",display=Specimen_observation"`
}

Specimen

type ORU_R01_Specimenobservation

type ORU_R01_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=ORU_R01_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"27,required,display=Observation/result"`
	PRT []PRT   `hl7:"28,display=Participation Information"`
}

Specimenobservation

type ORU_R01_Timingqty

type ORU_R01_Timingqty struct {
	HL7 HL7Name `hl7:",name=ORU_R01_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"18,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"19,display=Timing/quantity Relationship"`
}

Timingqty

type ORU_R01_Visit

type ORU_R01_Visit struct {
	HL7 HL7Name `hl7:",name=ORU_R01_Visit,type=tg"`
	PV1 *PV1    `hl7:"11,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"12,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"13,display=Participation Information"`
}

Visit

type ORU_R30

type ORU_R30 struct {
	HL7                HL7Name                      `hl7:",name=ORU_R30,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	PID                *PID                         `hl7:"4,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"5,display=Patient Additional Demographic"`
	PRT                []PRT                        `hl7:"6,display=Participation Information"`
	Patientobservation []ORU_R30_Patientobservation `hl7:",display=Patient_observation"`
	Visit              *ORU_R30_Visit               `hl7:",display=Visit"`
	ORC                *ORC                         `hl7:"12,required,display=Common Order"`
	OBR                *OBR                         `hl7:"13,required,display=Observation Request"`
	NTE                []NTE                        `hl7:"14,display=Notes And Comments"`
	PRT2               []PRT                        `hl7:"15,display=Participation Information"`
	Timingqty          []ORU_R30_Timingqty          `hl7:",display=Timing_qty"`
	Observation        []ORU_R30_Observation        `hl7:",required,display=Observation"`
}

Unsolicited Point-Of-Care Observation Message Without Existing Order - Pla

This event trigger instructs the receiving system to create a new order for the observation(s) contained in the message.

One example of this trigger’s use case occurs when a Doctor verbally instructs a nurse to perform a test. Looking at this use case from an information management perspective, one might expect that, the nurse would enter an order into laboratory information or ordering system before performing the test. However, there usually isn't time for order entry in these use cases. In fact, it is highly desirable for the POC measurement process to become automated so that the only action a user needs to take is to make a measurement on the POC Device, with all other processes for generating an order and tying it in to the observation handled by the "machines."

In order to allow for the passing of specific information relating to the Patient, responsible Doctor, placing doctor, patient location, etc., there is a requirement for the inclusion of a PV1 and PD1 segment in the ORU message type. One example of this trigger’s use case occurs when a Doctor at a remote site without a shared Patient index instructs a nurse to perform a test. The testing is carried out without prior entry of a request into the LIS. Once performed, the results, along with the patient information are transmitted to the LIS. In some circumstances, the LIS may add clinical interpretation to this and report it back to the placing system and/or another system. In order to allow for this to take place, the requester, location, etc., information is required.

To allow the sending system to correlate every result with its associated order, the receiving system will return the placer order number in the ORC segment of the ORA^R33 message. If the receiving system cannot place an order it must returning an application level error description in the Application Acknowledgement Message MSA Text Message field.

The sending system must return a commit-level acknowledgement in response to the ORA^R33 message.

type ORU_R30_Observation

type ORU_R30_Observation struct {
	HL7 HL7Name `hl7:",name=ORU_R30_Observation,type=tg"`
	OBX *OBX    `hl7:"18,required,display=Observation/result"`
	PRT []PRT   `hl7:"19,display=Participation Information"`
	NTE []NTE   `hl7:"20,display=Notes And Comments"`
}

Observation

type ORU_R30_Patientobservation

type ORU_R30_Patientobservation struct {
	HL7 HL7Name `hl7:",name=ORU_R30_Patientobservation,type=tg"`
	OBX *OBX    `hl7:"7,required,display=Observation/result"`
	PRT []PRT   `hl7:"8,display=Participation Information"`
}

Patientobservation

type ORU_R30_Timingqty

type ORU_R30_Timingqty struct {
	HL7 HL7Name `hl7:",name=ORU_R30_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"16,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"17,display=Timing/quantity Relationship"`
}

Timingqty

type ORU_R30_Visit

type ORU_R30_Visit struct {
	HL7 HL7Name `hl7:",name=ORU_R30_Visit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Visit

type ORU_R31

type ORU_R31 struct {
	HL7                HL7Name                      `hl7:",name=ORU_R31,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	PID                *PID                         `hl7:"4,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"5,display=Patient Additional Demographic"`
	PRT                []PRT                        `hl7:"6,display=Participation Information"`
	Patientobservation []ORU_R31_Patientobservation `hl7:",display=Patient_observation"`
	Visit              *ORU_R31_Visit               `hl7:",display=Visit"`
	ORC                *ORC                         `hl7:"12,required,display=Common Order"`
	OBR                *OBR                         `hl7:"13,required,display=Observation Request"`
	NTE                []NTE                        `hl7:"14,display=Notes And Comments"`
	PRT2               []PRT                        `hl7:"15,display=Participation Information"`
	Timingqty          []ORU_R31_Timingqty          `hl7:",display=Timing_qty"`
	Observation        []ORU_R31_Observation        `hl7:",required,display=Observation"`
}

Unsolicited New Point-Of-Care Observation Message - Search For An Order

This event trigger instructs the receiving system to search for an existing order for the observation(s) contained in the message.

In this case, the sending system does not know if an order has been placed. This transaction instructs the receiving system to search for an existing order for the associated results. If the receiver finds an existing order, it should return the Placer ID to the sender in the ORC segment of an OML^O21 message. This information allows the Observation Reviewer to correlate every result with its associated order.

The institution’s business rules will determine what the receiving system does if it can’t find a matching order. Possibilities include automatically placing an order (as in trigger event R30), or returning an application level error description in the Application Acknowledgement MSA Text Message field..

If it is necessary to pass specific information related to the Patient, responsible Doctor, placing doctor, patient location etc, there is a requirement for the inclusion of a PV1 and PD1 segment in the ORU message type (see also ORU^R30 for description).

type ORU_R31_Observation

type ORU_R31_Observation struct {
	HL7 HL7Name `hl7:",name=ORU_R31_Observation,type=tg"`
	OBX *OBX    `hl7:"18,required,display=Observation/result"`
	PRT []PRT   `hl7:"19,display=Participation Information"`
	NTE []NTE   `hl7:"20,display=Notes And Comments"`
}

Observation

type ORU_R31_Patientobservation

type ORU_R31_Patientobservation struct {
	HL7 HL7Name `hl7:",name=ORU_R31_Patientobservation,type=tg"`
	OBX *OBX    `hl7:"7,required,display=Observation/result"`
	PRT []PRT   `hl7:"8,display=Participation Information"`
}

Patientobservation

type ORU_R31_Timingqty

type ORU_R31_Timingqty struct {
	HL7 HL7Name `hl7:",name=ORU_R31_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"16,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"17,display=Timing/quantity Relationship"`
}

Timingqty

type ORU_R31_Visit

type ORU_R31_Visit struct {
	HL7 HL7Name `hl7:",name=ORU_R31_Visit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Visit

type ORU_R32

type ORU_R32 struct {
	HL7                HL7Name                      `hl7:",name=ORU_R32,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message Header"`
	SFT                []SFT                        `hl7:"2,display=Software Segment"`
	UAC                *UAC                         `hl7:"3,display=User Authentication Credential Segment"`
	PID                *PID                         `hl7:"4,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"5,display=Patient Additional Demographic"`
	PRT                []PRT                        `hl7:"6,display=Participation Information"`
	Patientobservation []ORU_R32_Patientobservation `hl7:",display=Patient_observation"`
	Visit              *ORU_R32_Visit               `hl7:",display=Visit"`
	ORC                *ORC                         `hl7:"12,required,display=Common Order"`
	OBR                *OBR                         `hl7:"13,required,display=Observation Request"`
	NTE                []NTE                        `hl7:"14,display=Notes And Comments"`
	PRT2               []PRT                        `hl7:"15,display=Participation Information"`
	Timingqty          []ORU_R32_Timingqty          `hl7:",display=Timing_qty"`
	Observation        []ORU_R32_Observation        `hl7:",required,display=Observation"`
}

Unsolicited Pre-Ordered Point-Of-Care Observation

This event trigger instructs the receiver to place the result with the order information included in the message.

From a traditional clinical laboratory perspective, this event trigger’s use case is probably the predominant (if not exclusive) one. However, in the POC environment, it is actually uncommon to have an order already generated when a test is performed. It does happen sometimes, though. If it is necessary to pass specific information related to the Patient, responsible Doctor, placing doctor, patient location, etc., there is a requirement for the inclusion of a PV1 and PD1 segment in the ORU message type (see also ORU^R30 for description).

If the receiving system accepts both the order and the result, it will return an ORA^R33 Application Acknowledgement message with the acknowledgement code of AA. A comment may be included in the Acknowledgement Message MSA Text Message field.

If the receiving system is unable to accept both the order and the result, no order or result should be placed and an ACK^33 Application Acknowledgement message must be returned to the sender with the error identified in the MSA Text Message field.

The sending system must return a commit-level acknowledgement in response to the ORA^R33 message.

type ORU_R32_Observation

type ORU_R32_Observation struct {
	HL7 HL7Name `hl7:",name=ORU_R32_Observation,type=tg"`
	OBX *OBX    `hl7:"18,required,display=Observation/result"`
	PRT []PRT   `hl7:"19,display=Participation Information"`
	NTE []NTE   `hl7:"20,display=Notes And Comments"`
}

Observation

type ORU_R32_Patientobservation

type ORU_R32_Patientobservation struct {
	HL7 HL7Name `hl7:",name=ORU_R32_Patientobservation,type=tg"`
	OBX *OBX    `hl7:"7,required,display=Observation/result"`
	PRT []PRT   `hl7:"8,display=Participation Information"`
}

Patientobservation

type ORU_R32_Timingqty

type ORU_R32_Timingqty struct {
	HL7 HL7Name `hl7:",name=ORU_R32_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"16,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"17,display=Timing/quantity Relationship"`
}

Timingqty

type ORU_R32_Visit

type ORU_R32_Visit struct {
	HL7 HL7Name `hl7:",name=ORU_R32_Visit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Visit

type OSM_R26

type OSM_R26 struct {
	HL7      HL7Name            `hl7:",name=OSM_R26,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	Shipment []OSM_R26_Shipment `hl7:",required,display=Shipment"`
}

Unsolicited Specimen Shipment Manifest Message

The OSM^R26 Unsolicited Specimen Shipment Manifest message is used to communicate the contents of a specimen shipment to a specimen receiver (typically a laboratory). The message documents details regard the following: - Shipment information including sender, receiver, shipper, shipping container, etc.; - Specimens in the shipment; - Specimen containers; and, - Identification of persons/places/things associated with the specimens.

type OSM_R26_Container

type OSM_R26_Container struct {
	HL7                  HL7Name                        `hl7:",name=OSM_R26_Container,type=tg"`
	SAC                  *SAC                           `hl7:"14,required,display=Specimen Container Detail"`
	Containerobservation []OSM_R26_Containerobservation `hl7:",display=Container_observation"`
}

Container

type OSM_R26_Containerobservation

type OSM_R26_Containerobservation struct {
	HL7 HL7Name `hl7:",name=OSM_R26_Containerobservation,type=tg"`
	OBX *OBX    `hl7:"15,required,display=Observation/result"`
	PRT []PRT   `hl7:"16,display=Participation Information"`
}

Containerobservation

type OSM_R26_Package

type OSM_R26_Package struct {
	HL7      HL7Name            `hl7:",name=OSM_R26_Package,type=tg"`
	PAC      *PAC               `hl7:"8,required,display=Shipment Package"`
	PRT      []PRT              `hl7:"9,display=Participation Information"`
	Specimen []OSM_R26_Specimen `hl7:",display=Specimen"`
}

Package

type OSM_R26_Patientobservation

type OSM_R26_Patientobservation struct {
	HL7 HL7Name `hl7:",name=OSM_R26_Patientobservation,type=tg"`
	OBX *OBX    `hl7:"19,required,display=Observation/result"`
	PRT []PRT   `hl7:"20,display=Participation Information"`
}

Patientobservation

type OSM_R26_Patientvisitobservation

type OSM_R26_Patientvisitobservation struct {
	HL7 HL7Name `hl7:",name=OSM_R26_Patientvisitobservation,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	PRT []PRT   `hl7:"25,display=Participation Information"`
}

Patientvisitobservation

type OSM_R26_Shipment

type OSM_R26_Shipment struct {
	HL7                 HL7Name                       `hl7:",name=OSM_R26_Shipment,type=tg"`
	SHP                 *SHP                          `hl7:"4,required,display=Shipment"`
	PRT                 []PRT                         `hl7:"5,required,display=Participation Information"`
	Shippingobservation []OSM_R26_Shippingobservation `hl7:",display=Shipping_observation"`
	Package             []OSM_R26_Package             `hl7:",required,display=Package"`
}

Shipment

type OSM_R26_Shippingobservation

type OSM_R26_Shippingobservation struct {
	HL7 HL7Name `hl7:",name=OSM_R26_Shippingobservation,type=tg"`
	OBX *OBX    `hl7:"6,required,display=Observation/result"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Shippingobservation

type OSM_R26_Specimen

type OSM_R26_Specimen struct {
	HL7                                     HL7Name                                          `hl7:",name=OSM_R26_Specimen,type=tg"`
	SPM                                     *SPM                                             `hl7:"10,required,display=Specimen"`
	PRT                                     []PRT                                            `hl7:"11,display=Participation Information"`
	Specimenobservation                     []OSM_R26_Specimenobservation                    `hl7:",display=Specimen_observation"`
	Container                               []OSM_R26_Container                              `hl7:",display=Container"`
	Subjectpersonanimalidentification       *OSM_R26_Subjectpersonanimalidentification       `hl7:",display=Subject_person_animal_identification"`
	Subjectpopulationlocationidentification *OSM_R26_Subjectpopulationlocationidentification `hl7:",display=Subject_population_location_identification"`
}

Specimen

type OSM_R26_Specimenobservation

type OSM_R26_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OSM_R26_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"12,required,display=Observation/result"`
	PRT []PRT   `hl7:"13,display=Participation Information"`
}

Specimenobservation

type OSM_R26_Subjectpersonanimalidentification

type OSM_R26_Subjectpersonanimalidentification struct {
	HL7                HL7Name                      `hl7:",name=OSM_R26_Subjectpersonanimalidentification,type=tg"`
	PID                *PID                         `hl7:"17,required,display=Patient Identification"`
	PRT                []PRT                        `hl7:"18,display=Participation Information"`
	Patientobservation []OSM_R26_Patientobservation `hl7:",display=Patient_observation"`
	NK1                []NK1                        `hl7:"21,display=Next Of Kin / Associated Parties"`
}

Subjectpersonanimalidentification

type OSM_R26_Subjectpopulationlocationidentification

type OSM_R26_Subjectpopulationlocationidentification struct {
	HL7                     HL7Name                           `hl7:",name=OSM_R26_Subjectpopulationlocationidentification,type=tg"`
	PV1                     *PV1                              `hl7:"22,required,display=Patient Visit"`
	PRT                     []PRT                             `hl7:"23,display=Participation Information"`
	Patientvisitobservation []OSM_R26_Patientvisitobservation `hl7:",display=Patient_visit_observation"`
	PID                     *PID                              `hl7:"26,display=Patient Identification"`
	PRT2                    []PRT                             `hl7:"27,display=Participation Information"`
	NK1                     []NK1                             `hl7:"28,display=Next Of Kin / Associated Parties"`
}

Subjectpopulationlocationidentification

type OSP

type OSP struct {
	HL7                     HL7Name `hl7:",name=OSP,len=0,type=d"`
	OccurrenceSpanCode      CNE     `` /* 297-byte string literal not displayed */
	OccurrenceSpanStartDate DT      `hl7:"2,conditional,format=YMD,display=The date an event started that relates to the payment of a claim."`
	OccurrenceSpanStopDate  DT      `hl7:"3,conditional,format=YMD,display=The date an event ended that relates to the payment of a claim."`
}

Occurrence Span Code And Date

A code and the related dates that identify an event that relates to the payment of the claim. For example, Prior Stay Dates which is the from/through dates given by the patient of any hospital stay that ended within 60 days of this hospital or SNF admission.

Note: Replaces the CM data type used in section 6.5.11.8 UB2-8, as of v 2.5.

Use case: The patient was admitted for minor surgery (1/6/03) and discharged the following day (1/7/03). Complications ensured and the patient was readmitted the following day (1/8/03). When the claim for 1/8/03 is filed, the prior stay dates (1/6/03-1/7/03) must be reported (per the Health Plan) using Occurrence Span Code and Dates 71 - Prior Stay Date.

Example: |71&Prior Stay Date&NUBC^20030106^20030107|

type OUL_R22

type OUL_R22 struct {
	HL7      HL7Name            `hl7:",name=OUL_R22,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	NTE      *NTE               `hl7:"4,display=Notes And Comments"`
	Patient  *OUL_R22_Patient   `hl7:",display=Patient"`
	NK1      []NK1              `hl7:"14,display=Next Of Kin / Associated Parties"`
	Specimen []OUL_R22_Specimen `hl7:",required,display=Specimen"`
	DSC      *DSC               `hl7:"32,display=Continuation Pointer"`
}

Unsolicited Specimen Oriented Observation Message

This message was designed to accommodate specimen oriented testing. It should be applicable to container-less testing (e.g., elephant on a table) and laboratory automation systems requiring container.

Generally this construct allows transfer of multiple results related to a specimen from a patient, where this specimen has been in none, one, or multiple containers.

In addition to the patient results themselves it permits the communication of the following kinds of information: - Analysis results of a non patient related sample (e.g., environmental) – patient related segments (e.g., PID, PD1, PV1, PV2) are optional. - Analysis results to a particular container with QC sample and the lot and manufacturer information about this sample (SAC-INV segments) – however for this purpose the "Unsolicited Specimen Container Oriented Observation Message" (OUL^R23) is recommended due to explicit relation between the observation and the container. - Basic identification data (lot, manufacturer, etc.) of the reagents and other substances involved in the generation of analysis results (TCD-SID segments).

Refer to Chapter 13 Laboratory Automation for additional examples of usage of SAC.

type OUL_R22_Container

type OUL_R22_Container struct {
	HL7 HL7Name `hl7:",name=OUL_R22_Container,type=tg"`
	SAC *SAC    `hl7:"18,required,display=Specimen Container Detail"`
	INV *INV    `hl7:"19,display=Inventory Detail"`
}

Container

type OUL_R22_Order

type OUL_R22_Order struct {
	HL7       HL7Name             `hl7:",name=OUL_R22_Order,type=tg"`
	OBR       *OBR                `hl7:"20,required,display=Observation Request"`
	ORC       *ORC                `hl7:"21,display=Common Order"`
	NTE       []NTE               `hl7:"22,display=Notes And Comments"`
	PRT       []PRT               `hl7:"23,display=Participation Information"`
	Timingqty []OUL_R22_Timingqty `hl7:",display=Timing_qty"`
	Result    []OUL_R22_Result    `hl7:",display=Result"`
	CTI       []CTI               `hl7:"31,display=Clinical Trial Identification"`
}

Order

type OUL_R22_Patient

type OUL_R22_Patient struct {
	HL7                HL7Name                      `hl7:",name=OUL_R22_Patient,type=tg"`
	PID                *PID                         `hl7:"5,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"6,display=Patient Additional Demographic"`
	PRT                []PRT                        `hl7:"7,display=Participation Information"`
	NTE                []NTE                        `hl7:"8,display=Notes And Comments"`
	Patientobservation []OUL_R22_Patientobservation `hl7:",display=Patient_observation"`
	Visit              *OUL_R22_Visit               `hl7:",display=Visit"`
}

Patient

type OUL_R22_Patientobservation

type OUL_R22_Patientobservation struct {
	HL7 HL7Name `hl7:",name=OUL_R22_Patientobservation,type=tg"`
	OBX *OBX    `hl7:"9,required,display=Observation/result"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Patientobservation

type OUL_R22_Result

type OUL_R22_Result struct {
	HL7 HL7Name `hl7:",name=OUL_R22_Result,type=tg"`
	OBX *OBX    `hl7:"26,required,display=Observation/result"`
	PRT []PRT   `hl7:"27,display=Participation Information"`
	TCD *TCD    `hl7:"28,display=Test Code Detail"`
	SID []SID   `hl7:"29,display=Substance Identifier"`
	NTE []NTE   `hl7:"30,display=Notes And Comments"`
}

Result

type OUL_R22_Specimen

type OUL_R22_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OUL_R22_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"15,required,display=Specimen"`
	Specimenobservation []OUL_R22_Specimenobservation `hl7:",display=Specimen_observation"`
	Container           []OUL_R22_Container           `hl7:",display=Container"`
	Order               []OUL_R22_Order               `hl7:",required,display=Order"`
}

Specimen

type OUL_R22_Specimenobservation

type OUL_R22_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OUL_R22_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"16,required,display=Observation/result"`
	PRT []PRT   `hl7:"17,display=Participation Information"`
}

Specimenobservation

type OUL_R22_Timingqty

type OUL_R22_Timingqty struct {
	HL7 HL7Name `hl7:",name=OUL_R22_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"24,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"25,display=Timing/quantity Relationship"`
}

Timingqty

type OUL_R22_Visit

type OUL_R22_Visit struct {
	HL7 HL7Name `hl7:",name=OUL_R22_Visit,type=tg"`
	PV1 *PV1    `hl7:"11,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"12,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"13,display=Participation Information"`
}

Visit

type OUL_R23

type OUL_R23 struct {
	HL7      HL7Name            `hl7:",name=OUL_R23,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	NTE      *NTE               `hl7:"4,display=Notes And Comments"`
	Patient  *OUL_R23_Patient   `hl7:",display=Patient"`
	NK1      []NK1              `hl7:"14,display=Next Of Kin / Associated Parties"`
	Specimen []OUL_R23_Specimen `hl7:",required,display=Specimen"`
	DSC      *DSC               `hl7:"32,display=Continuation Pointer"`
}

Unsolicited Specimen Container Oriented Observation Message

This message was designed to accommodate specimen oriented testing. It should be applicable to, for example, laboratory automation systems requiring container.

Generally this construct allows transfer of multiple results related to one or more specific containers with one or more specimens from a patient.

In addition to the patient results themselves it permits the communication of the following kinds of information: - Analysis results of a non patient related sample (e.g., environmental) – patient related segments (e.g., PID, PD1, PV1, PV2) are optional. - Analysis results to a particular container with QC sample and the lot and manufacturer information about this sample (SAC-INV segments). - Basic identification data (lot, manufacturer, etc.) of the reagents and other substances involved in the generation of analysis results (TCD-SID segments).

Refer to Chapter 13 Laboratory Automation for additional examples of usage of SAC.

type OUL_R23_Container

type OUL_R23_Container struct {
	HL7   HL7Name         `hl7:",name=OUL_R23_Container,type=tg"`
	SAC   *SAC            `hl7:"18,required,display=Specimen Container Detail"`
	INV   *INV            `hl7:"19,display=Inventory Detail"`
	Order []OUL_R23_Order `hl7:",required,display=Order"`
}

Container

type OUL_R23_Order

type OUL_R23_Order struct {
	HL7       HL7Name             `hl7:",name=OUL_R23_Order,type=tg"`
	OBR       *OBR                `hl7:"20,required,display=Observation Request"`
	ORC       *ORC                `hl7:"21,display=Common Order"`
	NTE       []NTE               `hl7:"22,display=Notes And Comments"`
	PRT       []PRT               `hl7:"23,display=Participation Information"`
	Timingqty []OUL_R23_Timingqty `hl7:",display=Timing_qty"`
	Result    []OUL_R23_Result    `hl7:",display=Result"`
	CTI       []CTI               `hl7:"31,display=Clinical Trial Identification"`
}

Order

type OUL_R23_Patient

type OUL_R23_Patient struct {
	HL7                HL7Name                      `hl7:",name=OUL_R23_Patient,type=tg"`
	PID                *PID                         `hl7:"5,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"6,display=Patient Additional Demographic"`
	PRT                []PRT                        `hl7:"7,display=Participation Information"`
	NTE                []NTE                        `hl7:"8,display=Notes And Comments"`
	Patientobservation []OUL_R23_Patientobservation `hl7:",display=Patient_observation"`
	Visit              *OUL_R23_Visit               `hl7:",display=Visit"`
}

Patient

type OUL_R23_Patientobservation

type OUL_R23_Patientobservation struct {
	HL7 HL7Name `hl7:",name=OUL_R23_Patientobservation,type=tg"`
	OBX *OBX    `hl7:"9,required,display=Observation/result"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Patientobservation

type OUL_R23_Result

type OUL_R23_Result struct {
	HL7 HL7Name `hl7:",name=OUL_R23_Result,type=tg"`
	OBX *OBX    `hl7:"26,required,display=Observation/result"`
	PRT []PRT   `hl7:"27,display=Participation Information"`
	TCD *TCD    `hl7:"28,display=Test Code Detail"`
	SID []SID   `hl7:"29,display=Substance Identifier"`
	NTE []NTE   `hl7:"30,display=Notes And Comments"`
}

Result

type OUL_R23_Specimen

type OUL_R23_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OUL_R23_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"15,required,display=Specimen"`
	Specimenobservation []OUL_R23_Specimenobservation `hl7:",display=Specimen_observation"`
	Container           []OUL_R23_Container           `hl7:",required,display=Container"`
}

Specimen

type OUL_R23_Specimenobservation

type OUL_R23_Specimenobservation struct {
	HL7 HL7Name `hl7:",name=OUL_R23_Specimenobservation,type=tg"`
	OBX *OBX    `hl7:"16,required,display=Observation/result"`
	PRT []PRT   `hl7:"17,display=Participation Information"`
}

Specimenobservation

type OUL_R23_Timingqty

type OUL_R23_Timingqty struct {
	HL7 HL7Name `hl7:",name=OUL_R23_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"24,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"25,display=Timing/quantity Relationship"`
}

Timingqty

type OUL_R23_Visit

type OUL_R23_Visit struct {
	HL7 HL7Name `hl7:",name=OUL_R23_Visit,type=tg"`
	PV1 *PV1    `hl7:"11,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"12,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"13,display=Participation Information"`
}

Visit

type OUL_R24

type OUL_R24 struct {
	HL7     HL7Name          `hl7:",name=OUL_R24,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     *NTE             `hl7:"4,display=Notes And Comments"`
	Patient *OUL_R24_Patient `hl7:",display=Patient"`
	NK1     []NK1            `hl7:"14,display=Next Of Kin / Associated Parties"`
	Order   []OUL_R24_Order  `hl7:",required,display=Order"`
}

Unsolicited Order Oriented Observation Message

This message was designed to accommodate multi-specimen oriented testing. It should be applicable to, e.g., laboratory automation systems requiring container.

Generally this construct allows transfer of multiple results, each one related to none, one or more specific containers with one or more specimens from a patient. (Example: Creatinine Clearance result with detailed information about the urine and serum specimens and their containers.)

In addition to the patient results themselves it permits the communication of the following kinds of information: - Analysis results of a non patient related sample (e.g., environmental) – patient related segments (e.g., PID, PD1, PV1, PV2) are optional. - Analysis results to a particular container with QC sample and the lot and manufacturer information about this sample (SAC-INV segments). - Basic identification data (lot, manufacturer, etc.) of the reagents and other substances involved in the generation of analysis results (TCD-SID segments).

Refer to Chapter 13 Laboratory Automation for additional examples of usage of SAC.

type OUL_R24_Container

type OUL_R24_Container struct {
	HL7 HL7Name `hl7:",name=OUL_R24_Container,type=tg"`
	SAC *SAC    `hl7:"24,required,display=Specimen Container Detail"`
	INV *INV    `hl7:"25,display=Inventory Detail"`
}

Container

type OUL_R24_Order

type OUL_R24_Order struct {
	HL7       HL7Name             `hl7:",name=OUL_R24_Order,type=tg"`
	OBR       *OBR                `hl7:"15,required,display=Observation Request"`
	ORC       *ORC                `hl7:"16,display=Common Order"`
	NTE       []NTE               `hl7:"17,display=Notes And Comments"`
	PRT       []PRT               `hl7:"18,display=Participation Information"`
	Timingqty []OUL_R24_Timingqty `hl7:",display=Timing_qty"`
	Specimen  []OUL_R24_Specimen  `hl7:",display=Specimen"`
	DSC       *DSC                `hl7:"32,display=Continuation Pointer"`
}

Order

type OUL_R24_Patient

type OUL_R24_Patient struct {
	HL7                HL7Name                      `hl7:",name=OUL_R24_Patient,type=tg"`
	PID                *PID                         `hl7:"5,required,display=Patient Identification"`
	PD1                *PD1                         `hl7:"6,display=Patient Additional Demographic"`
	PRT                []PRT                        `hl7:"7,display=Participation Information"`
	NTE                []NTE                        `hl7:"8,display=Notes And Comments"`
	Patientobservation []OUL_R24_Patientobservation `hl7:",display=Patient_observation"`
	Visit              *OUL_R24_Visit               `hl7:",display=Visit"`
}

Patient

type OUL_R24_Patientobservation

type OUL_R24_Patientobservation struct {
	HL7 HL7Name `hl7:",name=OUL_R24_Patientobservation,type=tg"`
	OBX *OBX    `hl7:"9,required,display=Observation/result"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Patientobservation

type OUL_R24_Result

type OUL_R24_Result struct {
	HL7 HL7Name `hl7:",name=OUL_R24_Result,type=tg"`
	OBX *OBX    `hl7:"26,required,display=Observation/result"`
	PRT []PRT   `hl7:"27,display=Participation Information"`
	TCD *TCD    `hl7:"28,display=Test Code Detail"`
	SID []SID   `hl7:"29,display=Substance Identifier"`
	NTE []NTE   `hl7:"30,display=Notes And Comments"`
}

Result

type OUL_R24_Specimen

type OUL_R24_Specimen struct {
	HL7                 HL7Name                       `hl7:",name=OUL_R24_Specimen,type=tg"`
	SPM                 *SPM                          `hl7:"21,required,display=Specimen"`
	Specimenobservation []OUL_R24_Specimenobservation `hl7:",display=Specimen_observation"`
	Result              []OUL_R24_Result              `hl7:",display=Result"`
	CTI                 []CTI                         `hl7:"31,display=Clinical Trial Identification"`
}

Specimen

type OUL_R24_Specimenobservation

type OUL_R24_Specimenobservation struct {
	HL7       HL7Name             `hl7:",name=OUL_R24_Specimenobservation,type=tg"`
	OBX       *OBX                `hl7:"22,required,display=Observation/result"`
	PRT       []PRT               `hl7:"23,display=Participation Information"`
	Container []OUL_R24_Container `hl7:",display=Container"`
}

Specimenobservation

type OUL_R24_Timingqty

type OUL_R24_Timingqty struct {
	HL7 HL7Name `hl7:",name=OUL_R24_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"19,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"20,display=Timing/quantity Relationship"`
}

Timingqty

type OUL_R24_Visit

type OUL_R24_Visit struct {
	HL7 HL7Name `hl7:",name=OUL_R24_Visit,type=tg"`
	PV1 *PV1    `hl7:"11,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"12,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"13,display=Participation Information"`
}

Visit

type OVR

type OVR struct {
	HL7                      HL7Name `hl7:",name=OVR,type=s"`
	BusinessRuleOverrideType *CWE    `hl7:"1,table=0518,display=Business Rule Override Type"`
	BusinessRuleOverrideCode *CWE    `hl7:"2,table=0521,display=Business Rule Override Code"`
	OverrideComments         TX      `hl7:"3,display=Override Comments"`
	OverrideEnteredBy        *XCN    `hl7:"4,display=Override Entered By"`
	OverrideAuthorizedBy     *XCN    `hl7:"5,display=Override Authorized By"`
}

Override Segment

This segment allows a sender to override specific receiving application's business rules to allow for processing of a message that would normally be rejected or ignored.

In many instances, business rules will be set as guidelines relative to patient care. In some instances it is in the patient's better interest to circumvent these guidelines. In other cases, business rules may exist to support normal process flow, but which may be bypassed or ignored under certain special circumstances. This segment is linked to the proposed ERR segment changes in that the first attempt to process a transaction that violates a business rule may result in an error that must be overridden. The ERR provides a mechanism to identify errors that may be overridden, as well as the allowed override codes.

Use case #1: A patient has received a prescription with a duration of 30 days and receives the full amount at their pharmacy. While at home the patient accidentally spills the container and spoils a significant proportion of the prescription. The patient returns to their pharmacy and explains the situation to the pharmacy technician. The technician consults with their supervising pharmacist. Knowing the patient, thepharmacist decides to override the business rule stating that the dispensed amount for a prescription may not exceed the prescribed amount. In recording the decision, the pharmacy technician specifies that the Override Type is a "Compassionate Refill" and that the Override Code, or reason for the override, is "Spoilage". The technician also provides Override Comments to provide an explanation of the situation for future reference. While recording the decision, the technician's user ID is automatically stored in an Override Recorded By field. The pharmacist's ID is stored in the Override Responsible Provider field.

Use case #2:A hospital wishes to submit an invoice to an insurer who is providing secondary coverage. The invoice is being submitted over a week after the service was performed, which is outside the insurer's normal accept time window. The insurer would normally reject the invoice. However, the submitter includes an Override Type of "late submission" as well as an Override Code indicating that the invoice is late due to delays with the primary payor. The secondary insurer examines the override reason and accepts the invoice.

Usage Note: The override segment should be included in messages adjacent to the segment(s) containing the information that would trigger the business rule(s) that needs to be overridden. The segment should be optional (you shouldn't always need to override business rules), and should be allowed to repeat in circumstances where there may be more than one business rule overridden at the same time. Committees may wish to provide suggested values for override types or codes for use with the OVR segment in different messages.

type PAC

type PAC struct {
	HL7                     HL7Name `hl7:",name=PAC,type=s"`
	SetID                   SI      `hl7:"1,seq,required,len=4,display=Set Id - Pac"`
	PackageID               *EI     `hl7:"2,conditional,display=Package Id"`
	ParentPackageID         *EI     `hl7:"3,display=Parent Package Id"`
	PositionInParentPackage *NA     `hl7:"4,display=Position In Parent Package"`
	PackageType             CWE     `hl7:"5,required,table=0908,display=Package Type"`
	PackageCondition        []CWE   `hl7:"6,table=0544,display=Package Condition"`
	PackageHandlingCode     []CWE   `hl7:"7,table=0376,display=Package Handling Code"`
	PackageRiskCode         []CWE   `hl7:"8,table=0489,display=Package Risk Code"`
}

Shipment Package

The intent of this segment is to describe the information associated with the shipping package specimens are sent in.

type PCE

type PCE struct {
	HL7                     HL7Name `hl7:",name=PCE,type=s"`
	SetID                   SI      `hl7:"1,seq,required,len=4,display=Set Id - Pce"`
	CostCenterAccountNumber *CX     `hl7:"2,table=0319,display=Cost Center Account Number"`
	TransactionCode         *CWE    `hl7:"3,table=0132,display=Transaction Code"`
	TransactionAmountUnit   *CP     `hl7:"4,display=Transaction Amount - Unit"`
}

Patient Charge Cost Center Exceptions

The Patient Charge Cost Center Exception segment identifies the Patient Price associated with Cost Center and Patient Charge Identifier combinations that should be used in an instance that the item is billed to a patient. The grouping of Cost Center accounts, Patient Charge Identifier, and Patient Price is unique.

type PCR

type PCR struct {
	HL7                               HL7Name `hl7:",name=PCR,type=s"`
	ImplicatedProduct                 CWE     `hl7:"1,required,table=9999,display=Implicated Product"`
	GenericProduct                    IS      `hl7:"2,table=0249,display=Generic Product"`
	ProductClass                      *CWE    `hl7:"3,table=9999,display=Product Class"`
	TotalDurationOfTherapy            *CQ     `hl7:"4,display=Total Duration Of Therapy"`
	ProductManufactureDate            DTM     `hl7:"5,format=YMDHM,display=Product Manufacture Date"`
	ProductExpirationDate             DTM     `hl7:"6,format=YMDHM,display=Product Expiration Date"`
	ProductImplantationDate           DTM     `hl7:"7,format=YMDHM,display=Product Implantation Date"`
	ProductExplantationDate           DTM     `hl7:"8,format=YMDHM,display=Product Explantation Date"`
	SingleUseDevice                   *CWE    `hl7:"9,table=0244,display=Single Use Device"`
	IndicationForProductUse           *CWE    `hl7:"10,table=9999,display=Indication For Product Use"`
	ProductProblem                    *CWE    `hl7:"11,table=0245,display=Product Problem"`
	ProductSerialLotNumber            []ST    `hl7:"12,max=3,display=Product Serial/Lot Number"`
	ProductAvailableForInspection     *CWE    `hl7:"13,table=0246,display=Product Available For Inspection"`
	ProductEvaluationPerformed        *CWE    `hl7:"14,table=9999,display=Product Evaluation Performed"`
	ProductEvaluationStatus           *CWE    `hl7:"15,table=0247,display=Product Evaluation Status"`
	ProductEvaluationResults          *CWE    `hl7:"16,table=9999,display=Product Evaluation Results"`
	EvaluatedProductSource            ID      `hl7:"17,len=1,table=0248,display=Evaluated Product Source"`
	DateProductReturnedToManufacturer DTM     `hl7:"18,format=YMDHM,display=Date Product Returned To Manufacturer"`
	DeviceOperatorQualifications      ID      `hl7:"19,len=1,table=0242,display=Device Operator Qualifications"`
	RelatednessAssessment             ID      `hl7:"20,len=1,table=0250,display=Relatedness Assessment"`
	ActionTakenInResponseToTheEvent   []ID    `hl7:"21,max=6,len=2,table=0251,display=Action Taken In Response To The Event"`
	EventCausalityObservations        []ID    `hl7:"22,max=6,len=2,table=0252,display=Event Causality Observations"`
	IndirectExposureMechanism         []ID    `hl7:"23,max=3,len=1,table=0253,display=Indirect Exposure Mechanism"`
}

Possible Causal Relationship

The PCR segment is used to communicate a potential or suspected relationship between a product (drug or device) or test and an event with detrimental effect on a patient. This segment identifies a potential causal relationship between the product identified in this segment and the event identified in the PEO segment.

More than one PCR segment can be included in the message if more than one product is possibly causally related to the event.

type PD1

type PD1 struct {
	HL7                                     HL7Name `hl7:",name=PD1,type=s"`
	LivingDependency                        []CWE   `hl7:"1,table=0223,display=Living Dependency"`
	LivingArrangement                       *CWE    `hl7:"2,table=0220,display=Living Arrangement"`
	PatientPrimaryFacility                  []XON   `hl7:"3,display=Patient Primary Facility"`
	PatientPrimaryCareProviderNameIDNo      ST      `hl7:"4,display=Patient Primary Care Provider Name & Id No."`
	StudentIndicator                        *CWE    `hl7:"5,table=0231,display=Student Indicator"`
	Handicap                                *CWE    `hl7:"6,table=0295,display=Handicap"`
	LivingWillCode                          *CWE    `hl7:"7,table=0315,display=Living Will Code"`
	OrganDonorCode                          *CWE    `hl7:"8,table=0316,display=Organ Donor Code"`
	SeparateBill                            ID      `hl7:"9,len=1,table=0136,display=Separate Bill"`
	DuplicatePatient                        []CX    `hl7:"10,display=Duplicate Patient"`
	PublicityCode                           *CWE    `hl7:"11,table=0215,display=Publicity Code"`
	ProtectionIndicator                     ID      `hl7:"12,len=1,table=0136,display=Protection Indicator"`
	ProtectionIndicatorEffectiveDate        DT      `hl7:"13,format=YMD,display=Protection Indicator Effective Date"`
	PlaceOfWorship                          []XON   `hl7:"14,display=Place Of Worship"`
	AdvanceDirectiveCode                    []CWE   `hl7:"15,conditional,table=0435,display=Advance Directive Code"`
	ImmunizationRegistryStatus              *CWE    `hl7:"16,table=0441,display=Immunization Registry Status"`
	ImmunizationRegistryStatusEffectiveDate DT      `hl7:"17,format=YMD,display=Immunization Registry Status Effective Date"`
	PublicityCodeEffectiveDate              DT      `hl7:"18,format=YMD,display=Publicity Code Effective Date"`
	MilitaryBranch                          *CWE    `hl7:"19,table=0140,display=Military Branch"`
	MilitaryRankGrade                       *CWE    `hl7:"20,table=0141,display=Military Rank/Grade"`
	MilitaryStatus                          *CWE    `hl7:"21,table=0142,display=Military Status"`
	AdvanceDirectiveLastVerifiedDate        DT      `hl7:"22,format=YMD,display=Advance Directive Last Verified Date"`
}

Patient Additional Demographic

The patient additional demographic segment contains demographic information that is likely to change about the patient.

type PDA

type PDA struct {
	HL7                            HL7Name `hl7:",name=PDA,type=s"`
	DeathCauseCode                 []CWE   `hl7:"1,display=Death Cause Code"`
	DeathLocation                  *PL     `hl7:"2,display=Death Location"`
	DeathCertifiedIndicator        ID      `hl7:"3,len=1,table=0136,display=Death Certified Indicator"`
	DeathCertificateSignedDateTime DTM     `hl7:"4,format=YMDHM,display=Death Certificate Signed Date/Time"`
	DeathCertifiedBy               *XCN    `hl7:"5,display=Death Certified By"`
	AutopsyIndicator               ID      `hl7:"6,len=1,table=0136,display=Autopsy Indicator"`
	AutopsyStartAndEndDateTime     *DR     `hl7:"7,display=Autopsy Start And End Date/Time"`
	AutopsyPerformedBy             *XCN    `hl7:"8,display=Autopsy Performed By"`
	CoronerIndicator               ID      `hl7:"9,len=1,table=0136,display=Coroner Indicator"`
}

Patient Death And Autopsy

This segment carries information on a patient's death and possible autopsy.

type PEO

type PEO struct {
	HL7                                   HL7Name `hl7:",name=PEO,type=s"`
	EventIdentifiersUsed                  []CWE   `hl7:"1,table=9999,display=Event Identifiers Used"`
	EventSymptomDiagnosisCode             []CWE   `hl7:"2,table=9999,display=Event Symptom/Diagnosis Code"`
	EventOnsetDateTime                    DTM     `hl7:"3,required,format=YMDHM,display=Event Onset Date/Time"`
	EventExacerbationDateTime             DTM     `hl7:"4,format=YMDHM,display=Event Exacerbation Date/Time"`
	EventImprovedDateTime                 DTM     `hl7:"5,format=YMDHM,display=Event Improved Date/Time"`
	EventEndedDataTime                    DTM     `hl7:"6,format=YMDHM,display=Event Ended Data/Time"`
	EventLocationOccurredAddress          []XAD   `hl7:"7,display=Event Location Occurred Address"`
	EventQualification                    []ID    `hl7:"8,len=1,table=0237,display=Event Qualification"`
	EventSerious                          ID      `hl7:"9,len=1,table=0238,display=Event Serious"`
	EventExpected                         ID      `hl7:"10,len=1,table=0239,display=Event Expected"`
	EventOutcome                          []ID    `hl7:"11,len=1,table=0240,display=Event Outcome"`
	PatientOutcome                        ID      `hl7:"12,len=1,table=0241,display=Patient Outcome"`
	EventDescriptionFromOthers            []FT    `hl7:"13,display=Event Description From Others"`
	EventDescriptionFromOriginalReporter  []FT    `hl7:"14,display=Event Description From Original Reporter"`
	EventDescriptionFromPatient           []FT    `hl7:"15,display=Event Description From Patient"`
	EventDescriptionFromPractitioner      []FT    `hl7:"16,display=Event Description From Practitioner"`
	EventDescriptionFromAutopsy           []FT    `hl7:"17,display=Event Description From Autopsy"`
	CauseOfDeath                          []CWE   `hl7:"18,table=9999,display=Cause Of Death"`
	PrimaryObserverName                   []XPN   `hl7:"19,display=Primary Observer Name"`
	PrimaryObserverAddress                []XAD   `hl7:"20,display=Primary Observer Address"`
	PrimaryObserverTelephone              []XTN   `hl7:"21,display=Primary Observer Telephone"`
	PrimaryObserversQualification         ID      `hl7:"22,len=1,table=0242,display=Primary Observer's Qualification"`
	ConfirmationProvidedBy                ID      `hl7:"23,len=1,table=0242,display=Confirmation Provided By"`
	PrimaryObserverAwareDateTime          DTM     `hl7:"24,format=YMDHM,display=Primary Observer Aware Date/Time"`
	PrimaryObserversIdentityMayBeDivulged ID      `hl7:"25,len=2,table=0243,display=Primary Observer's Identity May Be Divulged"`
}

Product Experience Observation

Details related to a particular clinical experience or event are embodied in the PEO segment. This segment can be used to characterize an event which might be attributed to a product to which the patient was exposed. Products with a possible causal relationship to the observed experience are described in the following PCR (possible causal relationship) segments. The message format was designed to be robust and includes many optional elements which may not be required for a particular regulatory purpose but allow a complete representation of the drug experience if needed.

A PEX message can contain multiple PEO segments if the patient experienced more than one event but must contain at least one PEO segment.

type PES

type PES struct {
	HL7                    HL7Name `hl7:",name=PES,type=s"`
	SenderOrganizationName []XON   `hl7:"1,display=Sender Organization Name"`
	SenderIndividualName   []XCN   `hl7:"2,display=Sender Individual Name"`
	SenderAddress          []XAD   `hl7:"3,display=Sender Address"`
	SenderTelephone        []XTN   `hl7:"4,display=Sender Telephone"`
	SenderEventIdentifier  *EI     `hl7:"5,display=Sender Event Identifier"`
	SenderSequenceNumber   NM      `hl7:"6,display=Sender Sequence Number"`
	SenderEventDescription []FT    `hl7:"7,display=Sender Event Description"`
	SenderComment          FT      `hl7:"8,display=Sender Comment"`
	SenderAwareDateTime    DTM     `hl7:"9,format=YMDHM,display=Sender Aware Date/Time"`
	EventReportDate        DTM     `hl7:"10,required,format=YMDHM,display=Event Report Date"`
	EventReportTimingType  []ID    `hl7:"11,max=2,len=3,table=0234,display=Event Report Timing/Type"`
	EventReportSource      ID      `hl7:"12,len=1,table=0235,display=Event Report Source"`
	EventReportedTo        []ID    `hl7:"13,len=1,table=0236,display=Event Reported To"`
}

Product Experience Sender

type PEX_P07

type PEX_P07 struct {
	HL7        HL7Name              `hl7:",name=PEX_P07,type=t"`
	MSH        *MSH                 `hl7:"1,required,display=Message Header"`
	SFT        []SFT                `hl7:"2,display=Software Segment"`
	UAC        *UAC                 `hl7:"3,display=User Authentication Credential Segment"`
	EVN        *EVN                 `hl7:"4,required,display=Event Type"`
	PID        *PID                 `hl7:"5,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"6,display=Patient Additional Demographic"`
	PRT        []PRT                `hl7:"7,display=Participation Information"`
	NTE        []NTE                `hl7:"8,display=Notes And Comments"`
	Visit      *PEX_P07_Visit       `hl7:",display=Visit"`
	Experience []PEX_P07_Experience `hl7:",required,display=Experience"`
}

Unsolicited initial individual product experience report

The primary application of this message is to transfer information related to an adverse event occurring while a patient was exposed to a product.

The PID segment provides the patient identification information including institutional identification numbers, date of birth and in the case of patients who die, information about their death. Patients are frequently identified only by their initials which can be represented in the PID segment, e.g., the initials JMO would appear as J^M^O in the name field of the PID segment. The EVN segment identifies the type of transaction that is being sent -- primarily it specifies who the sender is and implies which information is expected to be included in the message. A message sent from a healthcare provider, for example, might contain minimal information, while a message from a pharmaceutical manufacturer might contain nearly complete information.

The PES or Product Experience Sender segment provides information about the message sender and its knowledge of the event. The heart of the product experience message is the product experience observation (PEO) segment and the PCR segments clustered under it. The PEO segment identifies a clinical event and the PCR segments identify products which are potentially causally related to the event. There may be more than one product which is potentially related to the event so multiple PCR segments can be included. RXE and RXR segments can be repeated and provide information about the products the patient was exposed to at the time of the event (typically excluding those used to treat the event). Details about the administration of the products identified in the PCR segments should be described with RXE and RXR segments. Repeated PRB segments provide information about diagnoses which represent comorbid conditions. The repeated OBX segments are used to send patient observations such as height, weight, last menstrual period, and laboratory results. Analytical commentary can be included in the NTE segment. This commentary will typically be the sender’s analysis of the event and the potentially causally related products. Finally, the CSR and CSP segments can optionally be included if the event occurred during a formal clinical trial in order to describe the trial.

When a product experience relates to an exposure which occurred indirectly (transmammary or transplacentally for example), the individual experiencing the adverse effect — the fetus or child — would be described in the PID segment and the individual via which they are exposed in the NK1 segment. The first set of RXE segments would typically indicate the drugs which to which the fetus or child was exposed. Additional codes for the route are defined in this Appendix to allow the suspected routes of exposure to be represented. The second set of RXE/RXR segment - those clustered under the NK1 segment - would represent the route by which the mother or father was exposed to the drug. Early spontaneous abortion would normally be treated as an adverse effect on the mother rather than on the fetus, and the PID would refer to the mother. The second set of PRB/OBX segments reflects the problems/observations associated with the individual via which they were exposed.

Each message contains information about a single case including one patient (PID), at least one sender (PES), one or more events (PEO) and one or more suspected products (PCR and RXE/RXA) for a minimal message. The structure of the message allows actual administration information to be sent in the RXA if known; if administration information is unavailable, or the adverse reaction cannot be related to a single administration event, the RXE segment can be used to send prescription level information. Additional information may be included based on availability and regulatory requirements.

The MSH segment specifies the character set (MSH-18) and the language (MSH-19) used in the PEX message. The PEX message is designed to accommodate required reporting of adverse product events to the responsible regulatory agencies. In the United States, the paper version of this report is Medwatch.

type PEX_P07_Associatedobservation

type PEX_P07_Associatedobservation struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Associatedobservation,type=tg"`
	OBX *OBX    `hl7:"37,required,display=Observation/result"`
	PRT []PRT   `hl7:"38,display=Participation Information"`
}

Associatedobservation

type PEX_P07_Associatedperson

type PEX_P07_Associatedperson struct {
	HL7                   HL7Name                         `hl7:",name=PEX_P07_Associatedperson,type=tg"`
	NK1                   *NK1                            `hl7:"27,required,display=Next Of Kin / Associated Parties"`
	Associatedrxorder     *PEX_P07_Associatedrxorder      `hl7:",display=Associated_rx_order"`
	Associatedrxadmin     []PEX_P07_Associatedrxadmin     `hl7:",display=Associated_rx_admin"`
	PRB                   []PRB                           `hl7:"36,display=Problem Details"`
	Associatedobservation []PEX_P07_Associatedobservation `hl7:",display=Associated_observation"`
}

Associatedperson

type PEX_P07_Associatedrxadmin

type PEX_P07_Associatedrxadmin struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Associatedrxadmin,type=tg"`
	RXA *RXA    `hl7:"33,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"34,display=Pharmacy/treatment Route"`
	PRT []PRT   `hl7:"35,display=Participation Information"`
}

Associatedrxadmin

type PEX_P07_Associatedrxorder

type PEX_P07_Associatedrxorder struct {
	HL7          HL7Name                `hl7:",name=PEX_P07_Associatedrxorder,type=tg"`
	RXE          *RXE                   `hl7:"28,required,display=Pharmacy/treatment Encoded Order"`
	PRT          []PRT                  `hl7:"29,display=Participation Information"`
	Nk1timingqty []PEX_P07_Nk1timingqty `hl7:",required,display=Nk1_timing_qty"`
	RXR          []RXR                  `hl7:"32,display=Pharmacy/treatment Route"`
}

Associatedrxorder

type PEX_P07_Experience

type PEX_P07_Experience struct {
	HL7            HL7Name                  `hl7:",name=PEX_P07_Experience,type=tg"`
	PES            *PES                     `hl7:"12,required,display=Product Experience Sender"`
	Pexobservation []PEX_P07_Pexobservation `hl7:",required,display=Pex_observation"`
}

Experience

type PEX_P07_Nk1timingqty

type PEX_P07_Nk1timingqty struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Nk1timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"30,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"31,display=Timing/quantity Relationship"`
}

Nk1timingqty

type PEX_P07_Observation

type PEX_P07_Observation struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Observation,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	PRT []PRT   `hl7:"25,display=Participation Information"`
}

Observation

type PEX_P07_Pexcause

type PEX_P07_Pexcause struct {
	HL7              HL7Name                    `hl7:",name=PEX_P07_Pexcause,type=tg"`
	PCR              *PCR                       `hl7:"14,required,display=Possible Causal Relationship"`
	Rxorder          *PEX_P07_Rxorder           `hl7:",display=Rx_order"`
	Rxadministration []PEX_P07_Rxadministration `hl7:",display=Rx_administration"`
	PRB              []PRB                      `hl7:"23,display=Problem Details"`
	Observation      []PEX_P07_Observation      `hl7:",display=Observation"`
	NTE              []NTE                      `hl7:"26,display=Notes And Comments"`
	Associatedperson *PEX_P07_Associatedperson  `hl7:",display=Associated_person"`
	Study            []PEX_P07_Study            `hl7:",display=Study"`
}

Pexcause

type PEX_P07_Pexobservation

type PEX_P07_Pexobservation struct {
	HL7      HL7Name            `hl7:",name=PEX_P07_Pexobservation,type=tg"`
	PEO      *PEO               `hl7:"13,required,display=Product Experience Observation"`
	Pexcause []PEX_P07_Pexcause `hl7:",required,display=Pex_cause"`
}

Pexobservation

type PEX_P07_Rxadministration

type PEX_P07_Rxadministration struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Rxadministration,type=tg"`
	RXA *RXA    `hl7:"20,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"21,display=Pharmacy/treatment Route"`
	PRT []PRT   `hl7:"22,display=Participation Information"`
}

Rxadministration

type PEX_P07_Rxorder

type PEX_P07_Rxorder struct {
	HL7       HL7Name             `hl7:",name=PEX_P07_Rxorder,type=tg"`
	RXE       *RXE                `hl7:"15,required,display=Pharmacy/treatment Encoded Order"`
	PRT       []PRT               `hl7:"16,display=Participation Information"`
	Timingqty []PEX_P07_Timingqty `hl7:",required,display=Timing_qty"`
	RXR       []RXR               `hl7:"19,display=Pharmacy/treatment Route"`
}

Rxorder

type PEX_P07_Study

type PEX_P07_Study struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Study,type=tg"`
	CSR *CSR    `hl7:"39,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"40,display=Clinical Study Phase"`
}

Study

type PEX_P07_Timingqty

type PEX_P07_Timingqty struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timingqty

type PEX_P07_Visit

type PEX_P07_Visit struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Visit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Visit

type PEX_P08

type PEX_P08 struct {
	HL7        HL7Name              `hl7:",name=PEX_P08,type=t"`
	MSH        *MSH                 `hl7:"1,required,display=Message Header"`
	SFT        []SFT                `hl7:"2,display=Software Segment"`
	UAC        *UAC                 `hl7:"3,display=User Authentication Credential Segment"`
	EVN        *EVN                 `hl7:"4,required,display=Event Type"`
	PID        *PID                 `hl7:"5,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"6,display=Patient Additional Demographic"`
	PRT        []PRT                `hl7:"7,display=Participation Information"`
	NTE        []NTE                `hl7:"8,display=Notes And Comments"`
	Visit      *PEX_P08_Visit       `hl7:",display=Visit"`
	Experience []PEX_P08_Experience `hl7:",required,display=Experience"`
}

Unsolicited update individual product experience report

The primary application of this message is to transfer information related to an adverse event occurring while a patient was exposed to a product.

The PID segment provides the patient identification information including institutional identification numbers, date of birth and in the case of patients who die, information about their death. Patients are frequently identified only by their initials which can be represented in the PID segment, e.g., the initials JMO would appear as J^M^O in the name field of the PID segment. The EVN segment identifies the type of transaction that is being sent -- primarily it specifies who the sender is and implies which information is expected to be included in the message. A message sent from a healthcare provider, for example, might contain minimal information, while a message from a pharmaceutical manufacturer might contain nearly complete information.

The PES or Product Experience Sender segment provides information about the message sender and its knowledge of the event. The heart of the product experience message is the product experience observation (PEO) segment and the PCR segments clustered under it. The PEO segment identifies a clinical event and the PCR segments identify products which are potentially causally related to the event. There may be more than one product which is potentially related to the event so multiple PCR segments can be included. RXE and RXR segments can be repeated and provide information about the products the patient was exposed to at the time of the event (typically excluding those used to treat the event). Details about the administration of the products identified in the PCR segments should be described with RXE and RXR segments. Repeated PRB segments provide information about diagnoses which represent comorbid conditions. The repeated OBX segments are used to send patient observations such as height, weight, last menstrual period, and laboratory results. Analytical commentary can be included in the NTE segment. This commentary will typically be the sender’s analysis of the event and the potentially causally related products. Finally, the CSR and CSP segments can optionally be included if the event occurred during a formal clinical trial in order to describe the trial.

When a product experience relates to an exposure which occurred indirectly (transmammary or transplacentally for example), the individual experiencing the adverse effect — the fetus or child — would be described in the PID segment and the individual via which they are exposed in the NK1 segment. The first set of RXE segments would typically indicate the drugs which to which the fetus or child was exposed. Additional codes for the route are defined in this Appendix to allow the suspected routes of exposure to be represented. The second set of RXE/RXR segment - those clustered under the NK1 segment - would represent the route by which the mother or father was exposed to the drug. Early spontaneous abortion would normally be treated as an adverse effect on the mother rather than on the fetus, and the PID would refer to the mother. The second set of PRB/OBX segments reflects the problems/observations associated with the individual via which they were exposed.

Each message contains information about a single case including one patient (PID), at least one sender (PES), one or more events (PEO) and one or more suspected products (PCR and RXE/RXA) for a minimal message. The structure of the message allows actual administration information to be sent in the RXA if known; if administration information is unavailable, or the adverse reaction cannot be related to a single administration event, the RXE segment can be used to send prescription level information. Additional information may be included based on availability and regulatory requirements.

The MSH segment specifies the character set (MSH-18) and the language (MSH-19) used in the PEX message. The PEX message is designed to accommodate required reporting of adverse product events to the responsible regulatory agencies. In the United States, the paper version of this report is Medwatch.

type PEX_P08_Associatedobservation

type PEX_P08_Associatedobservation struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Associatedobservation,type=tg"`
	OBX *OBX    `hl7:"37,required,display=Observation/result"`
	PRT []PRT   `hl7:"38,display=Participation Information"`
}

Associatedobservation

type PEX_P08_Associatedperson

type PEX_P08_Associatedperson struct {
	HL7                   HL7Name                         `hl7:",name=PEX_P08_Associatedperson,type=tg"`
	NK1                   *NK1                            `hl7:"27,required,display=Next Of Kin / Associated Parties"`
	Associatedrxorder     *PEX_P08_Associatedrxorder      `hl7:",display=Associated_rx_order"`
	Associatedrxadmin     []PEX_P08_Associatedrxadmin     `hl7:",display=Associated_rx_admin"`
	PRB                   []PRB                           `hl7:"36,display=Problem Details"`
	Associatedobservation []PEX_P08_Associatedobservation `hl7:",display=Associated_observation"`
}

Associatedperson

type PEX_P08_Associatedrxadmin

type PEX_P08_Associatedrxadmin struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Associatedrxadmin,type=tg"`
	RXA *RXA    `hl7:"33,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"34,display=Pharmacy/treatment Route"`
	PRT []PRT   `hl7:"35,display=Participation Information"`
}

Associatedrxadmin

type PEX_P08_Associatedrxorder

type PEX_P08_Associatedrxorder struct {
	HL7          HL7Name                `hl7:",name=PEX_P08_Associatedrxorder,type=tg"`
	RXE          *RXE                   `hl7:"28,required,display=Pharmacy/treatment Encoded Order"`
	PRT          []PRT                  `hl7:"29,display=Participation Information"`
	Nk1timingqty []PEX_P08_Nk1timingqty `hl7:",required,display=Nk1_timing_qty"`
	RXR          []RXR                  `hl7:"32,display=Pharmacy/treatment Route"`
}

Associatedrxorder

type PEX_P08_Experience

type PEX_P08_Experience struct {
	HL7            HL7Name                  `hl7:",name=PEX_P08_Experience,type=tg"`
	PES            *PES                     `hl7:"12,required,display=Product Experience Sender"`
	Pexobservation []PEX_P08_Pexobservation `hl7:",required,display=Pex_observation"`
}

Experience

type PEX_P08_Nk1timingqty

type PEX_P08_Nk1timingqty struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Nk1timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"30,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"31,display=Timing/quantity Relationship"`
}

Nk1timingqty

type PEX_P08_Observation

type PEX_P08_Observation struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Observation,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	PRT []PRT   `hl7:"25,display=Participation Information"`
}

Observation

type PEX_P08_Pexcause

type PEX_P08_Pexcause struct {
	HL7              HL7Name                    `hl7:",name=PEX_P08_Pexcause,type=tg"`
	PCR              *PCR                       `hl7:"14,required,display=Possible Causal Relationship"`
	Rxorder          *PEX_P08_Rxorder           `hl7:",display=Rx_order"`
	Rxadministration []PEX_P08_Rxadministration `hl7:",display=Rx_administration"`
	PRB              []PRB                      `hl7:"23,display=Problem Details"`
	Observation      []PEX_P08_Observation      `hl7:",display=Observation"`
	NTE              []NTE                      `hl7:"26,display=Notes And Comments"`
	Associatedperson *PEX_P08_Associatedperson  `hl7:",display=Associated_person"`
	Study            []PEX_P08_Study            `hl7:",display=Study"`
}

Pexcause

type PEX_P08_Pexobservation

type PEX_P08_Pexobservation struct {
	HL7      HL7Name            `hl7:",name=PEX_P08_Pexobservation,type=tg"`
	PEO      *PEO               `hl7:"13,required,display=Product Experience Observation"`
	Pexcause []PEX_P08_Pexcause `hl7:",required,display=Pex_cause"`
}

Pexobservation

type PEX_P08_Rxadministration

type PEX_P08_Rxadministration struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Rxadministration,type=tg"`
	RXA *RXA    `hl7:"20,required,display=Pharmacy/treatment Administration"`
	RXR *RXR    `hl7:"21,display=Pharmacy/treatment Route"`
	PRT []PRT   `hl7:"22,display=Participation Information"`
}

Rxadministration

type PEX_P08_Rxorder

type PEX_P08_Rxorder struct {
	HL7       HL7Name             `hl7:",name=PEX_P08_Rxorder,type=tg"`
	RXE       *RXE                `hl7:"15,required,display=Pharmacy/treatment Encoded Order"`
	PRT       []PRT               `hl7:"16,display=Participation Information"`
	Timingqty []PEX_P08_Timingqty `hl7:",required,display=Timing_qty"`
	RXR       []RXR               `hl7:"19,display=Pharmacy/treatment Route"`
}

Rxorder

type PEX_P08_Study

type PEX_P08_Study struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Study,type=tg"`
	CSR *CSR    `hl7:"39,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"40,display=Clinical Study Phase"`
}

Study

type PEX_P08_Timingqty

type PEX_P08_Timingqty struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Timingqty,type=tg"`
	TQ1 *TQ1    `hl7:"17,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"18,display=Timing/quantity Relationship"`
}

Timingqty

type PEX_P08_Visit

type PEX_P08_Visit struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Visit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Visit

type PGL_PC6

type PGL_PC6 struct {
	HL7          HL7Name               `hl7:",name=PGL_PC6,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PGL_PC6_Patientvisit `hl7:",display=Patient_visit"`
	Goal         []PGL_PC6_Goal        `hl7:",required,display=Goal"`
}

PC/ goal add

This message is used to send goals from one application to another (e.g., a point of care system to a clinical repository). Many of the segments associated with this event are optional. This optionality allows systems in need of this information to set up transactions that fulfill their requirements.

type PGL_PC6_Goal

type PGL_PC6_Goal struct {
	HL7         HL7Name               `hl7:",name=PGL_PC6_Goal,type=tg"`
	GOL         *GOL                  `hl7:"7,required,display=Goal Detail"`
	NTE         []NTE                 `hl7:"8,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"9,display=Variance"`
	Goalrole    []PGL_PC6_Goalrole    `hl7:",display=Goal_role"`
	Pathway     []PGL_PC6_Pathway     `hl7:",display=Pathway"`
	Observation []PGL_PC6_Observation `hl7:",display=Observation"`
	Problem     []PGL_PC6_Problem     `hl7:",display=Problem"`
	Order       []PGL_PC6_Order       `hl7:",display=Order"`
}

Goal

type PGL_PC6_Goalrole

type PGL_PC6_Goalrole struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_Goalrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Goalrole

type PGL_PC6_Observation

type PGL_PC6_Observation struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_Observation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Observation

type PGL_PC6_Order

type PGL_PC6_Order struct {
	HL7         HL7Name              `hl7:",name=PGL_PC6_Order,type=tg"`
	ORC         *ORC                 `hl7:"23,required,display=Common Order"`
	Orderdetail *PGL_PC6_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PGL_PC6_Orderdetail

type PGL_PC6_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PGL_PC6_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"24,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"25,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"26,display=Variance"`
	Orderobservation []PGL_PC6_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PGL_PC6_Orderobservation

type PGL_PC6_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"27,required,display=Observation/result"`
	NTE []NTE   `hl7:"28,display=Notes And Comments"`
	VAR []VAR   `hl7:"29,display=Variance"`
}

Orderobservation

type PGL_PC6_Pathway

type PGL_PC6_Pathway struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_Pathway,type=tg"`
	PTH *PTH    `hl7:"12,required,display=Pathway"`
	VAR []VAR   `hl7:"13,display=Variance"`
}

Pathway

type PGL_PC6_Patientvisit

type PGL_PC6_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PGL_PC6_Problem

type PGL_PC6_Problem struct {
	HL7                HL7Name                      `hl7:",name=PGL_PC6_Problem,type=tg"`
	PRB                *PRB                         `hl7:"16,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"17,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"18,display=Variance"`
	Problemrole        []PGL_PC6_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PGL_PC6_Problemobservation `hl7:",display=Problem_observation"`
}

Problem

type PGL_PC6_Problemobservation

type PGL_PC6_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Problemobservation

type PGL_PC6_Problemrole

type PGL_PC6_Problemrole struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_Problemrole,type=tg"`
	ROL *ROL    `hl7:"19,required,display=Role"`
	VAR []VAR   `hl7:"20,display=Variance"`
}

Problemrole

type PGL_PC7

type PGL_PC7 struct {
	HL7          HL7Name               `hl7:",name=PGL_PC7,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PGL_PC7_Patientvisit `hl7:",display=Patient_visit"`
	Goal         []PGL_PC7_Goal        `hl7:",required,display=Goal"`
}

PC/ goal update

This message is used to update goals from one application to another (e.g., a point of care system to a clinical repository). Many of the segments associated with this event are optional. This optionality allows systems in need of this information to set up transactions that fulfill their requirements.

type PGL_PC7_Goal

type PGL_PC7_Goal struct {
	HL7         HL7Name               `hl7:",name=PGL_PC7_Goal,type=tg"`
	GOL         *GOL                  `hl7:"7,required,display=Goal Detail"`
	NTE         []NTE                 `hl7:"8,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"9,display=Variance"`
	Goalrole    []PGL_PC7_Goalrole    `hl7:",display=Goal_role"`
	Pathway     []PGL_PC7_Pathway     `hl7:",display=Pathway"`
	Observation []PGL_PC7_Observation `hl7:",display=Observation"`
	Problem     []PGL_PC7_Problem     `hl7:",display=Problem"`
	Order       []PGL_PC7_Order       `hl7:",display=Order"`
}

Goal

type PGL_PC7_Goalrole

type PGL_PC7_Goalrole struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_Goalrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Goalrole

type PGL_PC7_Observation

type PGL_PC7_Observation struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_Observation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Observation

type PGL_PC7_Order

type PGL_PC7_Order struct {
	HL7         HL7Name              `hl7:",name=PGL_PC7_Order,type=tg"`
	ORC         *ORC                 `hl7:"23,required,display=Common Order"`
	Orderdetail *PGL_PC7_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PGL_PC7_Orderdetail

type PGL_PC7_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PGL_PC7_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"24,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"25,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"26,display=Variance"`
	Orderobservation []PGL_PC7_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PGL_PC7_Orderobservation

type PGL_PC7_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"27,required,display=Observation/result"`
	NTE []NTE   `hl7:"28,display=Notes And Comments"`
	VAR []VAR   `hl7:"29,display=Variance"`
}

Orderobservation

type PGL_PC7_Pathway

type PGL_PC7_Pathway struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_Pathway,type=tg"`
	PTH *PTH    `hl7:"12,required,display=Pathway"`
	VAR []VAR   `hl7:"13,display=Variance"`
}

Pathway

type PGL_PC7_Patientvisit

type PGL_PC7_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PGL_PC7_Problem

type PGL_PC7_Problem struct {
	HL7                HL7Name                      `hl7:",name=PGL_PC7_Problem,type=tg"`
	PRB                *PRB                         `hl7:"16,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"17,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"18,display=Variance"`
	Problemrole        []PGL_PC7_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PGL_PC7_Problemobservation `hl7:",display=Problem_observation"`
}

Problem

type PGL_PC7_Problemobservation

type PGL_PC7_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Problemobservation

type PGL_PC7_Problemrole

type PGL_PC7_Problemrole struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_Problemrole,type=tg"`
	ROL *ROL    `hl7:"19,required,display=Role"`
	VAR []VAR   `hl7:"20,display=Variance"`
}

Problemrole

type PGL_PC8

type PGL_PC8 struct {
	HL7          HL7Name               `hl7:",name=PGL_PC8,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PGL_PC8_Patientvisit `hl7:",display=Patient_visit"`
	Goal         []PGL_PC8_Goal        `hl7:",required,display=Goal"`
}

PC/ goal delete

This message is used to delete goals from one application to another (e.g., a point of care system to a clinical repository). Many of the segments associated with this event are optional. This optionality allows systems in need of this information to set up transactions that fulfill their requirements.

type PGL_PC8_Goal

type PGL_PC8_Goal struct {
	HL7         HL7Name               `hl7:",name=PGL_PC8_Goal,type=tg"`
	GOL         *GOL                  `hl7:"7,required,display=Goal Detail"`
	NTE         []NTE                 `hl7:"8,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"9,display=Variance"`
	Goalrole    []PGL_PC8_Goalrole    `hl7:",display=Goal_role"`
	Pathway     []PGL_PC8_Pathway     `hl7:",display=Pathway"`
	Observation []PGL_PC8_Observation `hl7:",display=Observation"`
	Problem     []PGL_PC8_Problem     `hl7:",display=Problem"`
	Order       []PGL_PC8_Order       `hl7:",display=Order"`
}

Goal

type PGL_PC8_Goalrole

type PGL_PC8_Goalrole struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_Goalrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Goalrole

type PGL_PC8_Observation

type PGL_PC8_Observation struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_Observation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Observation

type PGL_PC8_Order

type PGL_PC8_Order struct {
	HL7         HL7Name              `hl7:",name=PGL_PC8_Order,type=tg"`
	ORC         *ORC                 `hl7:"23,required,display=Common Order"`
	Orderdetail *PGL_PC8_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PGL_PC8_Orderdetail

type PGL_PC8_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PGL_PC8_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"24,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"25,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"26,display=Variance"`
	Orderobservation []PGL_PC8_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PGL_PC8_Orderobservation

type PGL_PC8_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"27,required,display=Observation/result"`
	NTE []NTE   `hl7:"28,display=Notes And Comments"`
	VAR []VAR   `hl7:"29,display=Variance"`
}

Orderobservation

type PGL_PC8_Pathway

type PGL_PC8_Pathway struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_Pathway,type=tg"`
	PTH *PTH    `hl7:"12,required,display=Pathway"`
	VAR []VAR   `hl7:"13,display=Variance"`
}

Pathway

type PGL_PC8_Patientvisit

type PGL_PC8_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PGL_PC8_Problem

type PGL_PC8_Problem struct {
	HL7                HL7Name                      `hl7:",name=PGL_PC8_Problem,type=tg"`
	PRB                *PRB                         `hl7:"16,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"17,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"18,display=Variance"`
	Problemrole        []PGL_PC8_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PGL_PC8_Problemobservation `hl7:",display=Problem_observation"`
}

Problem

type PGL_PC8_Problemobservation

type PGL_PC8_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Problemobservation

type PGL_PC8_Problemrole

type PGL_PC8_Problemrole struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_Problemrole,type=tg"`
	ROL *ROL    `hl7:"19,required,display=Role"`
	VAR []VAR   `hl7:"20,display=Variance"`
}

Problemrole

type PID

type PID struct {
	HL7                                 HL7Name `hl7:",name=PID,type=s"`
	SetID                               SI      `hl7:"1,seq,len=4,display=Set Id - Pid"`
	PatientID                           ST      `hl7:"2,display=Patient Id"`
	PatientIdentifierList               []CX    `hl7:"3,required,display=Patient Identifier List"`
	AlternatePatientID                  ST      `hl7:"4,display=Alternate Patient Id - Pid"`
	PatientName                         []XPN   `hl7:"5,required,display=Patient Name"`
	MothersMaidenName                   []XPN   `hl7:"6,display=Mother's Maiden Name"`
	DateTimeOfBirth                     DTM     `hl7:"7,format=YMDHM,display=Date/Time Of Birth"`
	AdministrativeSex                   *CWE    `hl7:"8,table=0001,display=Administrative Sex"`
	PatientAlias                        ST      `hl7:"9,display=Patient Alias"`
	Race                                []CWE   `hl7:"10,table=0005,display=Race"`
	PatientAddress                      []XAD   `hl7:"11,display=Patient Address"`
	CountyCode                          ST      `hl7:"12,display=County Code"`
	PhoneNumberHome                     []XTN   `hl7:"13,display=Phone Number - Home"`
	PhoneNumberBusiness                 []XTN   `hl7:"14,display=Phone Number - Business"`
	PrimaryLanguage                     *CWE    `hl7:"15,table=0296,display=Primary Language"`
	MaritalStatus                       *CWE    `hl7:"16,table=0002,display=Marital Status"`
	Religion                            *CWE    `hl7:"17,table=0006,display=Religion"`
	PatientAccountNumber                *CX     `hl7:"18,display=Patient Account Number"`
	SSNNumberPatient                    ST      `hl7:"19,display=Ssn Number - Patient"`
	DriversLicenseNumberPatient         ST      `hl7:"20,display=Driver's License Number - Patient"`
	MothersIdentifier                   []CX    `hl7:"21,display=Mother's Identifier"`
	EthnicGroup                         []CWE   `hl7:"22,table=0189,display=Ethnic Group"`
	BirthPlace                          ST      `hl7:"23,display=Birth Place"`
	MultipleBirthIndicator              ID      `hl7:"24,len=1,table=0136,display=Multiple Birth Indicator"`
	BirthOrder                          NM      `hl7:"25,display=Birth Order"`
	Citizenship                         []CWE   `hl7:"26,table=0171,display=Citizenship"`
	VeteransMilitaryStatus              *CWE    `hl7:"27,table=0172,display=Veterans Military Status"`
	Nationality                         CWE     `hl7:"28,table=0212,display=Nationality"`
	PatientDeathDateAndTime             DTM     `hl7:"29,format=YMDHM,display=Patient Death Date And Time"`
	PatientDeathIndicator               ID      `hl7:"30,len=1,table=0136,display=Patient Death Indicator"`
	IdentityUnknownIndicator            ID      `hl7:"31,len=1,table=0136,display=Identity Unknown Indicator"`
	IdentityReliabilityCode             []CWE   `hl7:"32,table=0445,display=Identity Reliability Code"`
	LastUpdateDateTime                  DTM     `hl7:"33,format=YMDHM,display=Last Update Date/Time"`
	LastUpdateFacility                  *HD     `hl7:"34,display=Last Update Facility"`
	SpeciesCode                         *CWE    `hl7:"35,conditional,table=0446,display=Species Code"`
	BreedCode                           *CWE    `hl7:"36,conditional,table=0447,display=Breed Code"`
	Strain                              ST      `hl7:"37,display=Strain"`
	ProductionClassCode                 []CWE   `hl7:"38,max=2,table=0429,display=Production Class Code"`
	TribalCitizenship                   []CWE   `hl7:"39,table=0171,display=Tribal Citizenship"`
	PatientTelecommunicationInformation []XTN   `hl7:"40,display=Patient Telecommunication Information"`
}

Patient Identification

The PID segment is used by all applications as the primary means of communicating patient identification information. This segment contains permanent patient identifying and demographic information that, for the most part, is not likely to change frequently.

It should be noted that from V2.4 onwards the demographics of animals can also be sent in the PID segment (see PID-35 to PID-38).

The assigning authority, the fourth component of the patient identifiers, is a HD data type that is uniquely associated with the assigning authority that originally assigned the number. A given institution, or group of intercommunicating institutions, should establish a list of assigning authorities that may be potential assignors of patient identification (and other important identification) numbers. The list will be one of the institution's master dictionary lists. Since third parties (other than the assignors of patient identification numbers) may send or receive HL7 messages containing patient identification numbers, the assigning authority in the patient identification numbers may not be the same as the sending and receiving systems identified in the MSH. The assigning authority must be unique across applications at a given site. This field is required in HL7 implementations that have more than a single Patient Administration application assigning such numbers. The assigning authority and identifier type codes are strongly recommended for all CX data types.

With HL7 V2.3, the nomenclature for the fourth component of the patient identifiers was changed from "assigning facility ID" to "assigning authority". While the identifier may be unique to a given healthcare facility (for example, a medical record assigned by facility A in Hospital XYZ), the identifier might also be assigned at a system level (for example a corporate person index or enterprise number spanning multiple facilities) or by a government entity, for example a nationally assigned unique individual identifier. While a facility is usually an assigning authority, not all assigning authorities are facilities. Therefore, the fourth component is referred to as an assigning authority, but retains backward compatibility using the construct of the HD data type (see the note in chapter 2). Additionally, CX data types support the use of assigning facility (HD) as the sixth component.

type PIN_I07

type PIN_I07 struct {
	HL7                HL7Name                     `hl7:",name=PIN_I07,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	Provider           []PIN_I07_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"6,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"7,display=Next Of Kin / Associated Parties"`
	Guarantorinsurance *PIN_I07_Guarantorinsurance `hl7:",display=Guarantor_insurance"`
	NTE                []NTE                       `hl7:"12,display=Notes And Comments"`
}

Unsolicited insurance information

This trigger event is used by an entity or organization to transmit to a healthcare provider the insurance information on a specific patient. Typically, the healthcare provider will be a primary care provider.

type PIN_I07_Guarantorinsurance

type PIN_I07_Guarantorinsurance struct {
	HL7       HL7Name             `hl7:",name=PIN_I07_Guarantorinsurance,type=tg"`
	GT1       []GT1               `hl7:"8,display=Guarantor"`
	Insurance []PIN_I07_Insurance `hl7:",required,display=Insurance"`
}

Guarantorinsurance

type PIN_I07_Insurance

type PIN_I07_Insurance struct {
	HL7 HL7Name `hl7:",name=PIN_I07_Insurance,type=tg"`
	IN1 *IN1    `hl7:"9,required,display=Insurance"`
	IN2 *IN2    `hl7:"10,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"11,display=Insurance Additional Information- Certification"`
}

Insurance

type PIN_I07_Provider

type PIN_I07_Provider struct {
	HL7 HL7Name `hl7:",name=PIN_I07_Provider,type=tg"`
	PRD *PRD    `hl7:"4,required,display=Provider Data"`
	CTD []CTD   `hl7:"5,display=Contact Data"`
}

Provider

type PIP

type PIP struct {
	HL7            HL7Name `hl7:",name=PIP,len=0,type=d"`
	Privilege      CWE     `` /* 150-byte string literal not displayed */
	PrivilegeClass *CWE    `` /* 158-byte string literal not displayed */
	ExpirationDate DT      `hl7:"3,format=YMD,display=Specifies the date the institutional privilege is/was no longer valid."`
	ActivationDate DT      `hl7:"4,format=YMD,display=Specifies the date the institutional privilege became/becomes valid."`
	Facility       *EI     `hl7:"5,display=Specifies the facility in which the institutional privilege is/was valid."`
}

Practitioner Institutional Privileges

This data type specifies the institutional privileges with associated detail granted to a provider.

Note: Replaces the CM data type used in 15.4.5.7 PRA-7 as of v 2.5.

type PKG

type PKG struct {
	HL7                                HL7Name `hl7:",name=PKG,type=s"`
	SetID                              SI      `hl7:"1,seq,required,len=4,display=Set Id - Pkg"`
	PackagingUnits                     *CWE    `hl7:"2,table=0818,display=Packaging Units"`
	DefaultOrderUnitOfMeasureIndicator *CNE    `hl7:"3,table=0532,display=Default Order Unit Of Measure Indicator"`
	PackageQuantity                    NM      `hl7:"4,display=Package Quantity"`
	Price                              *CP     `hl7:"5,display=Price"`
	FutureItemPrice                    *CP     `hl7:"6,display=Future Item Price"`
	FutureItemPriceEffectiveDate       DTM     `hl7:"7,format=YMDHM,display=Future Item Price Effective Date"`
}

Item Packaging

This segment contains the type of packaging available for the inventory supply item to be ordered and/or issued to a department or other supply location for a specified Purchasing Vendor. It would be recommended to send this segment in descending unit of measure order corresponding with the ascending Set ID.

type PL

type PL struct {
	HL7                             HL7Name `hl7:",name=PL,len=0,type=d"`
	PointOfCare                     *HD     `` /* 352-byte string literal not displayed */
	Room                            *HD     `` /* 219-byte string literal not displayed */
	Bed                             *HD     `` /* 208-byte string literal not displayed */
	Facility                        *HD     `` /* 644-byte string literal not displayed */
	LocationStatus                  IS      `` /* 220-byte string literal not displayed */
	PersonLocationType              IS      `` /* 414-byte string literal not displayed */
	Building                        *HD     `` /* 240-byte string literal not displayed */
	Floor                           *HD     `` /* 234-byte string literal not displayed */
	LocationDescription             ST      `hl7:"9,display=This component describes the location in free text."`
	ComprehensiveLocationIdentifier *EI     `` /* 328-byte string literal not displayed */
	AssigningAuthorityForLocation   *HD     `` /* 899-byte string literal not displayed */
}

Person Location

This data type is used to specify a patient location within a healthcare institution. Which components are valued depends on the needs of the site. For example for a patient treated at home, only the person location type is valued. It is most commonly used for specifying patient locations, but may refer to other types of locations within a healthcare setting.

Note: This data type contains several location identifiers that should be thought of in the following order from the most general to the most specific: facility, building, floor, point of care, room, bed.

Additional data about any location defined by these components can be added in the following components: person location type, location description and location status.

Example: Nursing Unit A nursing unit at Community Hospital: 4 East, room 136, bed B 4E^136^B^CommunityHospital^^N^^^

Example: Clinic A clinic at University Hospitals: Internal Medicine Clinic located in the Briones building, 3rd floor. InternalMedicine^^^UniversityHospitals^^C^Briones^3^

type PLN

type PLN struct {
	HL7                             HL7Name `hl7:",name=PLN,len=0,type=d"`
	IDNumber                        ST      `hl7:"1,required,display=Specifies the license number or other ID number such as UPIN- Medicare and Medicaid number."`
	TypeOfIDNumber                  CWE     `` /* 153-byte string literal not displayed */
	StateOtherQualifyingInformation ST      `` /* 236-byte string literal not displayed */
	ExpirationDate                  DT      `hl7:"4,format=YMD,display=Specifies the date when the license or ID is no longer valid."`
}

Practitioner License Or Other Id Number

This data type specifies a practitioner’s license number, or other ID number such as UPIN, Medicare and Medicaid number, and associated detail.

Note: Replaces the CM data type used in 15.4.5.6 PRA-6, 11.6.3.7 PRD-7 and 11.6.4.7 CTD-7 as of v 2.5.

type PMT

type PMT struct {
	HL7                                 HL7Name `hl7:",name=PMT,type=s"`
	PaymentRemittanceAdviceNumber       EI      `hl7:"1,required,display=Payment/Remittance Advice Number"`
	PaymentRemittanceEffectiveDateTime  DTM     `hl7:"2,required,format=YMDHM,display=Payment/Remittance Effective Date/Time"`
	PaymentRemittanceExpirationDateTime DTM     `hl7:"3,required,format=YMDHM,display=Payment/Remittance Expiration Date/Time"`
	PaymentMethod                       CWE     `hl7:"4,required,table=0570,display=Payment Method"`
	PaymentRemittanceDateTime           DTM     `hl7:"5,required,format=YMDHM,display=Payment/Remittance Date/Time"`
	PaymentRemittanceAmount             CP      `hl7:"6,required,display=Payment/Remittance Amount"`
	CheckNumber                         *EI     `hl7:"7,display=Check Number"`
	PayeeBankIdentification             *XON    `hl7:"8,display=Payee Bank Identification"`
	PayeeTransitNumber                  ST      `hl7:"9,display=Payee Transit Number"`
	PayeeBankAccountID                  *CX     `hl7:"10,display=Payee Bank Account Id"`
	PaymentOrganization                 XON     `hl7:"11,required,display=Payment Organization"`
	EsrCodeLine                         ST      `hl7:"12,display=Esr-code-line"`
}

Payment Information

This segment contains information that describes a payment made by a Payer organization.

type PMU_B01

type PMU_B01 struct {
	HL7 HL7Name `hl7:",name=PMU_B01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	STF *STF    `hl7:"5,required,display=Staff Identification"`
	PRA []PRA   `hl7:"6,display=Practitioner Detail"`
	ORG []ORG   `hl7:"7,display=Practitioner Organization Unit Segment"`
	AFF []AFF   `hl7:"8,display=Professional Affiliation"`
	LAN []LAN   `hl7:"9,display=Language Detail"`
	EDU []EDU   `hl7:"10,display=Educational Detail"`
	CER []CER   `hl7:"11,display=Certificate Detail"`
	NK1 []NK1   `hl7:"12,display=Next Of Kin / Associated Parties"`
	ROL []ROL   `hl7:"13,display=Role"`
}

Add personnel record

An event B01 signals to add a new record for healthcare administration information about an individual healthcare practitioner establishing a relationship between that practitioner and the institution. The EVN segment is used to indicate the effective or planned date.

type PMU_B02

type PMU_B02 struct {
	HL7 HL7Name `hl7:",name=PMU_B02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	STF *STF    `hl7:"5,required,display=Staff Identification"`
	PRA []PRA   `hl7:"6,display=Practitioner Detail"`
	ORG []ORG   `hl7:"7,display=Practitioner Organization Unit Segment"`
	AFF []AFF   `hl7:"8,display=Professional Affiliation"`
	LAN []LAN   `hl7:"9,display=Language Detail"`
	EDU []EDU   `hl7:"10,display=Educational Detail"`
	CER []CER   `hl7:"11,display=Certificate Detail"`
	NK1 []NK1   `hl7:"12,display=Next Of Kin / Associated Parties"`
	ROL []ROL   `hl7:"13,display=Role"`
}

Update personnel record

An event B02 signals to update the record with the healthcare administration information about an individual healthcare practitioner. This event should not be used to grant/revoke a certificate. The EVN segment is used to indicate the effective or planned date.

type PMU_B03

type PMU_B03 struct {
	HL7 HL7Name `hl7:",name=PMU_B03,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	STF *STF    `hl7:"5,required,display=Staff Identification"`
}

Delete personnel record

An event B03 signals to delete the record with the healthcare administration information about an individual healthcare practitioner to correct erroneous entries. The EVN segment is used to indicate the effective or planned date.

type PMU_B04

type PMU_B04 struct {
	HL7 HL7Name `hl7:",name=PMU_B04,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	STF *STF    `hl7:"5,required,display=Staff Identification"`
	PRA []PRA   `hl7:"6,display=Practitioner Detail"`
	ORG []ORG   `hl7:"7,display=Practitioner Organization Unit Segment"`
}

Active practicing person

An event B04 signals that a staff member is available for work (e.g., schedules can be created) and has a relationship with the institution. This message applies to STF-7.

type PMU_B05

type PMU_B05 struct {
	HL7 HL7Name `hl7:",name=PMU_B05,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	STF *STF    `hl7:"5,required,display=Staff Identification"`
	PRA []PRA   `hl7:"6,display=Practitioner Detail"`
	ORG []ORG   `hl7:"7,display=Practitioner Organization Unit Segment"`
}

Deactivate practicing person

An event B05 indicates that a staff member is temporarily unavailable for work, while maintaining a relationship with the institution. This message applies to STF-7.

type PMU_B06

type PMU_B06 struct {
	HL7 HL7Name `hl7:",name=PMU_B06,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	STF *STF    `hl7:"5,required,display=Staff Identification"`
	PRA []PRA   `hl7:"6,display=Practitioner Detail"`
	ORG []ORG   `hl7:"7,display=Practitioner Organization Unit Segment"`
}

Terminate practicing person

An event B06 signals that the formal relationship between a staff member and the institution has ended (i.e., upon termination).

type PMU_B07

type PMU_B07 struct {
	HL7         HL7Name               `hl7:",name=PMU_B07,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message Header"`
	SFT         []SFT                 `hl7:"2,display=Software Segment"`
	UAC         *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	EVN         *EVN                  `hl7:"4,required,display=Event Type"`
	STF         *STF                  `hl7:"5,required,display=Staff Identification"`
	PRA         *PRA                  `hl7:"6,display=Practitioner Detail"`
	Certificate []PMU_B07_Certificate `hl7:",display=Certificate"`
}

Grant Certificate/Permission

An event B07 indicates that a health professional is granted a certificate/permission for a special purpose.

A permission is issued by an organization and documented in form of a certificate. An update of a role results in an issuing of a new certificate.

The EVN segment is used to indicate the effective or planned date.

type PMU_B07_Certificate

type PMU_B07_Certificate struct {
	HL7 HL7Name `hl7:",name=PMU_B07_Certificate,type=tg"`
	CER *CER    `hl7:"7,required,display=Certificate Detail"`
	ROL []ROL   `hl7:"8,display=Role"`
}

Certificate

type PMU_B08

type PMU_B08 struct {
	HL7 HL7Name `hl7:",name=PMU_B08,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	EVN *EVN    `hl7:"4,required,display=Event Type"`
	STF *STF    `hl7:"5,required,display=Staff Identification"`
	PRA *PRA    `hl7:"6,display=Practitioner Detail"`
	CER []CER   `hl7:"7,display=Certificate Detail"`
}

Revoke Certificate/Permission

type PPG_PCG

type PPG_PCG struct {
	HL7          HL7Name               `hl7:",name=PPG_PCG,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PPG_PCG_Patientvisit `hl7:",display=Patient_visit"`
	Pathway      []PPG_PCG_Pathway     `hl7:",required,display=Pathway"`
}

PC/ pathway (goal-oriented) add

type PPG_PCG_Goal

type PPG_PCG_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPG_PCG_Goal,type=tg"`
	GOL             *GOL                      `hl7:"12,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"13,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"14,display=Variance"`
	Goalrole        []PPG_PCG_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPG_PCG_Goalobservation `hl7:",display=Goal_observation"`
	Problem         []PPG_PCG_Problem         `hl7:",display=Problem"`
	Order           []PPG_PCG_Order           `hl7:",display=Order"`
}

Goal

type PPG_PCG_Goalobservation

type PPG_PCG_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"17,required,display=Observation/result"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Goalobservation

type PPG_PCG_Goalrole

type PPG_PCG_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_Goalrole,type=tg"`
	ROL *ROL    `hl7:"15,required,display=Role"`
	VAR []VAR   `hl7:"16,display=Variance"`
}

Goalrole

type PPG_PCG_Order

type PPG_PCG_Order struct {
	HL7         HL7Name              `hl7:",name=PPG_PCG_Order,type=tg"`
	ORC         *ORC                 `hl7:"26,required,display=Common Order"`
	Orderdetail *PPG_PCG_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPG_PCG_Orderdetail

type PPG_PCG_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPG_PCG_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"27,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"28,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"29,display=Variance"`
	Orderobservation []PPG_PCG_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPG_PCG_Orderobservation

type PPG_PCG_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation/result"`
	NTE []NTE   `hl7:"31,display=Notes And Comments"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

Orderobservation

type PPG_PCG_Pathway

type PPG_PCG_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPG_PCG_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"7,required,display=Pathway"`
	NTE         []NTE                 `hl7:"8,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"9,display=Variance"`
	Pathwayrole []PPG_PCG_Pathwayrole `hl7:",display=Pathway_role"`
	Goal        []PPG_PCG_Goal        `hl7:",display=Goal"`
}

Pathway

type PPG_PCG_Pathwayrole

type PPG_PCG_Pathwayrole struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_Pathwayrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathwayrole

type PPG_PCG_Patientvisit

type PPG_PCG_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPG_PCG_Problem

type PPG_PCG_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPG_PCG_Problem,type=tg"`
	PRB                *PRB                         `hl7:"19,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"20,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"21,display=Variance"`
	Problemrole        []PPG_PCG_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PPG_PCG_Problemobservation `hl7:",display=Problem_observation"`
}

Problem

type PPG_PCG_Problemobservation

type PPG_PCG_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Problemobservation

type PPG_PCG_Problemrole

type PPG_PCG_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_Problemrole,type=tg"`
	ROL *ROL    `hl7:"22,required,display=Role"`
	VAR []VAR   `hl7:"23,display=Variance"`
}

Problemrole

type PPG_PCH

type PPG_PCH struct {
	HL7          HL7Name               `hl7:",name=PPG_PCH,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PPG_PCH_Patientvisit `hl7:",display=Patient_visit"`
	Pathway      []PPG_PCH_Pathway     `hl7:",required,display=Pathway"`
}

PC/ pathway (goal-oriented) update

type PPG_PCH_Goal

type PPG_PCH_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPG_PCH_Goal,type=tg"`
	GOL             *GOL                      `hl7:"12,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"13,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"14,display=Variance"`
	Goalrole        []PPG_PCH_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPG_PCH_Goalobservation `hl7:",display=Goal_observation"`
	Problem         []PPG_PCH_Problem         `hl7:",display=Problem"`
	Order           []PPG_PCH_Order           `hl7:",display=Order"`
}

Goal

type PPG_PCH_Goalobservation

type PPG_PCH_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"17,required,display=Observation/result"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Goalobservation

type PPG_PCH_Goalrole

type PPG_PCH_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_Goalrole,type=tg"`
	ROL *ROL    `hl7:"15,required,display=Role"`
	VAR []VAR   `hl7:"16,display=Variance"`
}

Goalrole

type PPG_PCH_Order

type PPG_PCH_Order struct {
	HL7         HL7Name              `hl7:",name=PPG_PCH_Order,type=tg"`
	ORC         *ORC                 `hl7:"26,required,display=Common Order"`
	Orderdetail *PPG_PCH_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPG_PCH_Orderdetail

type PPG_PCH_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPG_PCH_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"27,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"28,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"29,display=Variance"`
	Orderobservation []PPG_PCH_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPG_PCH_Orderobservation

type PPG_PCH_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation/result"`
	NTE []NTE   `hl7:"31,display=Notes And Comments"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

Orderobservation

type PPG_PCH_Pathway

type PPG_PCH_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPG_PCH_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"7,required,display=Pathway"`
	NTE         []NTE                 `hl7:"8,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"9,display=Variance"`
	Pathwayrole []PPG_PCH_Pathwayrole `hl7:",display=Pathway_role"`
	Goal        []PPG_PCH_Goal        `hl7:",display=Goal"`
}

Pathway

type PPG_PCH_Pathwayrole

type PPG_PCH_Pathwayrole struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_Pathwayrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathwayrole

type PPG_PCH_Patientvisit

type PPG_PCH_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPG_PCH_Problem

type PPG_PCH_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPG_PCH_Problem,type=tg"`
	PRB                *PRB                         `hl7:"19,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"20,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"21,display=Variance"`
	Problemrole        []PPG_PCH_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PPG_PCH_Problemobservation `hl7:",display=Problem_observation"`
}

Problem

type PPG_PCH_Problemobservation

type PPG_PCH_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Problemobservation

type PPG_PCH_Problemrole

type PPG_PCH_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_Problemrole,type=tg"`
	ROL *ROL    `hl7:"22,required,display=Role"`
	VAR []VAR   `hl7:"23,display=Variance"`
}

Problemrole

type PPG_PCJ

type PPG_PCJ struct {
	HL7          HL7Name               `hl7:",name=PPG_PCJ,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PPG_PCJ_Patientvisit `hl7:",display=Patient_visit"`
	Pathway      []PPG_PCJ_Pathway     `hl7:",required,display=Pathway"`
}

PC/ pathway (goal-oriented) delete

type PPG_PCJ_Goal

type PPG_PCJ_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPG_PCJ_Goal,type=tg"`
	GOL             *GOL                      `hl7:"12,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"13,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"14,display=Variance"`
	Goalrole        []PPG_PCJ_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPG_PCJ_Goalobservation `hl7:",display=Goal_observation"`
	Problem         []PPG_PCJ_Problem         `hl7:",display=Problem"`
	Order           []PPG_PCJ_Order           `hl7:",display=Order"`
}

Goal

type PPG_PCJ_Goalobservation

type PPG_PCJ_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"17,required,display=Observation/result"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Goalobservation

type PPG_PCJ_Goalrole

type PPG_PCJ_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_Goalrole,type=tg"`
	ROL *ROL    `hl7:"15,required,display=Role"`
	VAR []VAR   `hl7:"16,display=Variance"`
}

Goalrole

type PPG_PCJ_Order

type PPG_PCJ_Order struct {
	HL7         HL7Name              `hl7:",name=PPG_PCJ_Order,type=tg"`
	ORC         *ORC                 `hl7:"26,required,display=Common Order"`
	Orderdetail *PPG_PCJ_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPG_PCJ_Orderdetail

type PPG_PCJ_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPG_PCJ_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"27,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"28,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"29,display=Variance"`
	Orderobservation []PPG_PCJ_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPG_PCJ_Orderobservation

type PPG_PCJ_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation/result"`
	NTE []NTE   `hl7:"31,display=Notes And Comments"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

Orderobservation

type PPG_PCJ_Pathway

type PPG_PCJ_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPG_PCJ_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"7,required,display=Pathway"`
	NTE         []NTE                 `hl7:"8,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"9,display=Variance"`
	Pathwayrole []PPG_PCJ_Pathwayrole `hl7:",display=Pathway_role"`
	Goal        []PPG_PCJ_Goal        `hl7:",display=Goal"`
}

Pathway

type PPG_PCJ_Pathwayrole

type PPG_PCJ_Pathwayrole struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_Pathwayrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathwayrole

type PPG_PCJ_Patientvisit

type PPG_PCJ_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPG_PCJ_Problem

type PPG_PCJ_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPG_PCJ_Problem,type=tg"`
	PRB                *PRB                         `hl7:"19,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"20,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"21,display=Variance"`
	Problemrole        []PPG_PCJ_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PPG_PCJ_Problemobservation `hl7:",display=Problem_observation"`
}

Problem

type PPG_PCJ_Problemobservation

type PPG_PCJ_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Problemobservation

type PPG_PCJ_Problemrole

type PPG_PCJ_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_Problemrole,type=tg"`
	ROL *ROL    `hl7:"22,required,display=Role"`
	VAR []VAR   `hl7:"23,display=Variance"`
}

Problemrole

type PPN

type PPN struct {
	HL7                                         HL7Name `hl7:",name=PPN,len=0,type=d"`
	PersonIdentifier                            ST      `` /* 141-byte string literal not displayed */
	FamilyName                                  FN      `` /* 411-byte string literal not displayed */
	GivenName                                   ST      `hl7:"3,display=First name."`
	SecondAndFurtherGivenNamesOrInitialsThereof ST      `hl7:"4,display=Multiple middle names may be included by separating them with spaces."`
	Suffix                                      ST      `hl7:"5,display=Used to specify a name suffix (e.g.- Jr. or III)."`
	Prefix                                      ST      `hl7:"6,display=Used to specify a name prefix (e.g.- Dr.)."`
	Degree                                      ST      `` /* 176-byte string literal not displayed */
	SourceTable                                 CWE     `` /* 298-byte string literal not displayed */
	AssigningAuthority                          *HD     `` /* 1625-byte string literal not displayed */
	NameTypeCode                                ID      `` /* 183-byte string literal not displayed */
	IdentifierCheckDigit                        ST      `` /* 223-byte string literal not displayed */
	CheckDigitScheme                            ID      `` /* 171-byte string literal not displayed */
	IdentifierTypeCode                          ID      `` /* 237-byte string literal not displayed */
	AssigningFacility                           *HD     `` /* 643-byte string literal not displayed */
	DateTimeActionPerformed                     DTM     `` /* 181-byte string literal not displayed */
	NameRepresentationCode                      ID      `` /* 1002-byte string literal not displayed */
	NameContext                                 *CWE    `` /* 599-byte string literal not displayed */
	NameValidityRange                           ST      `` /* 205-byte string literal not displayed */
	NameAssemblyOrder                           ID      `` /* 189-byte string literal not displayed */
	EffectiveDate                               DTM     `hl7:"20,format=YMDHM,display=The first date- if known- on which the person name is valid and active."`
	ExpirationDate                              DTM     `hl7:"21,format=YMDHM,display=The last date- if known- on which the person name is valid and active."`
	ProfessionalSuffix                          ST      `` /* 581-byte string literal not displayed */
	AssigningJurisdiction                       *CWE    `` /* 159-byte string literal not displayed */
	AssigningAgencyOrDepartment                 *CWE    `` /* 170-byte string literal not displayed */
	SecurityCheck                               ST      `` /* 139-byte string literal not displayed */
	SecurityCheckScheme                         ID      `` /* 366-byte string literal not displayed */
}

Performing Person Time Stamp

This data type is the equivalent of an XCN data type joined with a DTM data type. However, the XCN data type has been flattened to allow legal expression of its embedded complex data types HD, CWE and CWE.

type PPP_PCB

type PPP_PCB struct {
	HL7          HL7Name               `hl7:",name=PPP_PCB,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PPP_PCB_Patientvisit `hl7:",display=Patient_visit"`
	Pathway      []PPP_PCB_Pathway     `hl7:",required,display=Pathway"`
}

PC/ pathway (problem-oriented) add

type PPP_PCB_Goal

type PPP_PCB_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPP_PCB_Goal,type=tg"`
	GOL             *GOL                      `hl7:"19,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"20,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"21,display=Variance"`
	Goalrole        []PPP_PCB_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPP_PCB_Goalobservation `hl7:",display=Goal_observation"`
}

Goal

type PPP_PCB_Goalobservation

type PPP_PCB_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Goalobservation

type PPP_PCB_Goalrole

type PPP_PCB_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_Goalrole,type=tg"`
	ROL *ROL    `hl7:"22,required,display=Role"`
	VAR []VAR   `hl7:"23,display=Variance"`
}

Goalrole

type PPP_PCB_Order

type PPP_PCB_Order struct {
	HL7         HL7Name              `hl7:",name=PPP_PCB_Order,type=tg"`
	ORC         *ORC                 `hl7:"26,required,display=Common Order"`
	Orderdetail *PPP_PCB_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPP_PCB_Orderdetail

type PPP_PCB_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPP_PCB_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"27,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"28,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"29,display=Variance"`
	Orderobservation []PPP_PCB_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPP_PCB_Orderobservation

type PPP_PCB_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation/result"`
	NTE []NTE   `hl7:"31,display=Notes And Comments"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

Orderobservation

type PPP_PCB_Pathway

type PPP_PCB_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPP_PCB_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"7,required,display=Pathway"`
	NTE         []NTE                 `hl7:"8,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"9,display=Variance"`
	Pathwayrole []PPP_PCB_Pathwayrole `hl7:",display=Pathway_role"`
	Problem     []PPP_PCB_Problem     `hl7:",display=Problem"`
}

Pathway

type PPP_PCB_Pathwayrole

type PPP_PCB_Pathwayrole struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_Pathwayrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathwayrole

type PPP_PCB_Patientvisit

type PPP_PCB_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPP_PCB_Problem

type PPP_PCB_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPP_PCB_Problem,type=tg"`
	PRB                *PRB                         `hl7:"12,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"13,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"14,display=Variance"`
	Problemrole        []PPP_PCB_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PPP_PCB_Problemobservation `hl7:",display=Problem_observation"`
	Goal               []PPP_PCB_Goal               `hl7:",display=Goal"`
	Order              []PPP_PCB_Order              `hl7:",display=Order"`
}

Problem

type PPP_PCB_Problemobservation

type PPP_PCB_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"17,required,display=Observation/result"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Problemobservation

type PPP_PCB_Problemrole

type PPP_PCB_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_Problemrole,type=tg"`
	ROL *ROL    `hl7:"15,required,display=Role"`
	VAR []VAR   `hl7:"16,display=Variance"`
}

Problemrole

type PPP_PCC

type PPP_PCC struct {
	HL7          HL7Name               `hl7:",name=PPP_PCC,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PPP_PCC_Patientvisit `hl7:",display=Patient_visit"`
	Pathway      []PPP_PCC_Pathway     `hl7:",required,display=Pathway"`
}

PC/ pathway (problem-oriented) update

type PPP_PCC_Goal

type PPP_PCC_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPP_PCC_Goal,type=tg"`
	GOL             *GOL                      `hl7:"19,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"20,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"21,display=Variance"`
	Goalrole        []PPP_PCC_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPP_PCC_Goalobservation `hl7:",display=Goal_observation"`
}

Goal

type PPP_PCC_Goalobservation

type PPP_PCC_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Goalobservation

type PPP_PCC_Goalrole

type PPP_PCC_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_Goalrole,type=tg"`
	ROL *ROL    `hl7:"22,required,display=Role"`
	VAR []VAR   `hl7:"23,display=Variance"`
}

Goalrole

type PPP_PCC_Order

type PPP_PCC_Order struct {
	HL7         HL7Name              `hl7:",name=PPP_PCC_Order,type=tg"`
	ORC         *ORC                 `hl7:"26,required,display=Common Order"`
	Orderdetail *PPP_PCC_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPP_PCC_Orderdetail

type PPP_PCC_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPP_PCC_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"27,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"28,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"29,display=Variance"`
	Orderobservation []PPP_PCC_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPP_PCC_Orderobservation

type PPP_PCC_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation/result"`
	NTE []NTE   `hl7:"31,display=Notes And Comments"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

Orderobservation

type PPP_PCC_Pathway

type PPP_PCC_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPP_PCC_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"7,required,display=Pathway"`
	NTE         []NTE                 `hl7:"8,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"9,display=Variance"`
	Pathwayrole []PPP_PCC_Pathwayrole `hl7:",display=Pathway_role"`
	Problem     []PPP_PCC_Problem     `hl7:",display=Problem"`
}

Pathway

type PPP_PCC_Pathwayrole

type PPP_PCC_Pathwayrole struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_Pathwayrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathwayrole

type PPP_PCC_Patientvisit

type PPP_PCC_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPP_PCC_Problem

type PPP_PCC_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPP_PCC_Problem,type=tg"`
	PRB                *PRB                         `hl7:"12,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"13,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"14,display=Variance"`
	Problemrole        []PPP_PCC_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PPP_PCC_Problemobservation `hl7:",display=Problem_observation"`
	Goal               []PPP_PCC_Goal               `hl7:",display=Goal"`
	Order              []PPP_PCC_Order              `hl7:",display=Order"`
}

Problem

type PPP_PCC_Problemobservation

type PPP_PCC_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"17,required,display=Observation/result"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Problemobservation

type PPP_PCC_Problemrole

type PPP_PCC_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_Problemrole,type=tg"`
	ROL *ROL    `hl7:"15,required,display=Role"`
	VAR []VAR   `hl7:"16,display=Variance"`
}

Problemrole

type PPP_PCD

type PPP_PCD struct {
	HL7          HL7Name               `hl7:",name=PPP_PCD,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PPP_PCD_Patientvisit `hl7:",display=Patient_visit"`
	Pathway      []PPP_PCD_Pathway     `hl7:",required,display=Pathway"`
}

PC/ pathway (problem-oriented) delete

type PPP_PCD_Goal

type PPP_PCD_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPP_PCD_Goal,type=tg"`
	GOL             *GOL                      `hl7:"19,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"20,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"21,display=Variance"`
	Goalrole        []PPP_PCD_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPP_PCD_Goalobservation `hl7:",display=Goal_observation"`
}

Goal

type PPP_PCD_Goalobservation

type PPP_PCD_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Goalobservation

type PPP_PCD_Goalrole

type PPP_PCD_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_Goalrole,type=tg"`
	ROL *ROL    `hl7:"22,required,display=Role"`
	VAR []VAR   `hl7:"23,display=Variance"`
}

Goalrole

type PPP_PCD_Order

type PPP_PCD_Order struct {
	HL7         HL7Name              `hl7:",name=PPP_PCD_Order,type=tg"`
	ORC         *ORC                 `hl7:"26,required,display=Common Order"`
	Orderdetail *PPP_PCD_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPP_PCD_Orderdetail

type PPP_PCD_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPP_PCD_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"27,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"28,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"29,display=Variance"`
	Orderobservation []PPP_PCD_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPP_PCD_Orderobservation

type PPP_PCD_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation/result"`
	NTE []NTE   `hl7:"31,display=Notes And Comments"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

Orderobservation

type PPP_PCD_Pathway

type PPP_PCD_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPP_PCD_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"7,required,display=Pathway"`
	NTE         []NTE                 `hl7:"8,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"9,display=Variance"`
	Pathwayrole []PPP_PCD_Pathwayrole `hl7:",display=Pathway_role"`
	Problem     []PPP_PCD_Problem     `hl7:",display=Problem"`
}

Pathway

type PPP_PCD_Pathwayrole

type PPP_PCD_Pathwayrole struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_Pathwayrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathwayrole

type PPP_PCD_Patientvisit

type PPP_PCD_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPP_PCD_Problem

type PPP_PCD_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPP_PCD_Problem,type=tg"`
	PRB                *PRB                         `hl7:"12,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"13,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"14,display=Variance"`
	Problemrole        []PPP_PCD_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PPP_PCD_Problemobservation `hl7:",display=Problem_observation"`
	Goal               []PPP_PCD_Goal               `hl7:",display=Goal"`
	Order              []PPP_PCD_Order              `hl7:",display=Order"`
}

Problem

type PPP_PCD_Problemobservation

type PPP_PCD_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"17,required,display=Observation/result"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Problemobservation

type PPP_PCD_Problemrole

type PPP_PCD_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_Problemrole,type=tg"`
	ROL *ROL    `hl7:"15,required,display=Role"`
	VAR []VAR   `hl7:"16,display=Variance"`
}

Problemrole

type PPR_PC1

type PPR_PC1 struct {
	HL7          HL7Name               `hl7:",name=PPR_PC1,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PPR_PC1_Patientvisit `hl7:",display=Patient_visit"`
	Problem      []PPR_PC1_Problem     `hl7:",required,display=Problem"`
}

PC/ problem add

The patient problem message is used to send problems from one application to another (e.g., a point of care system to a clinical repository). Many of the segments associated with this event are optional. This optionality allows systems in need of this information to set up transactions that fulfill their requirements.

type PPR_PC1_Goal

type PPR_PC1_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPR_PC1_Goal,type=tg"`
	GOL             *GOL                      `hl7:"16,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"17,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"18,display=Variance"`
	Goalrole        []PPR_PC1_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPR_PC1_Goalobservation `hl7:",display=Goal_observation"`
}

Goal

type PPR_PC1_Goalobservation

type PPR_PC1_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Goalobservation

type PPR_PC1_Goalrole

type PPR_PC1_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_Goalrole,type=tg"`
	ROL *ROL    `hl7:"19,required,display=Role"`
	VAR []VAR   `hl7:"20,display=Variance"`
}

Goalrole

type PPR_PC1_Order

type PPR_PC1_Order struct {
	HL7         HL7Name              `hl7:",name=PPR_PC1_Order,type=tg"`
	ORC         *ORC                 `hl7:"23,required,display=Common Order"`
	Orderdetail *PPR_PC1_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPR_PC1_Orderdetail

type PPR_PC1_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPR_PC1_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"24,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"25,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"26,display=Variance"`
	Orderobservation []PPR_PC1_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPR_PC1_Orderobservation

type PPR_PC1_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"27,required,display=Observation/result"`
	NTE []NTE   `hl7:"28,display=Notes And Comments"`
	VAR []VAR   `hl7:"29,display=Variance"`
}

Orderobservation

type PPR_PC1_Pathway

type PPR_PC1_Pathway struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_Pathway,type=tg"`
	PTH *PTH    `hl7:"12,required,display=Pathway"`
	VAR []VAR   `hl7:"13,display=Variance"`
}

Pathway

type PPR_PC1_Patientvisit

type PPR_PC1_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPR_PC1_Problem

type PPR_PC1_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPR_PC1_Problem,type=tg"`
	PRB                *PRB                         `hl7:"7,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"8,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"9,display=Variance"`
	Problemrole        []PPR_PC1_Problemrole        `hl7:",display=Problem_role"`
	Pathway            []PPR_PC1_Pathway            `hl7:",display=Pathway"`
	Problemobservation []PPR_PC1_Problemobservation `hl7:",display=Problem_observation"`
	Goal               []PPR_PC1_Goal               `hl7:",display=Goal"`
	Order              []PPR_PC1_Order              `hl7:",display=Order"`
}

Problem

type PPR_PC1_Problemobservation

type PPR_PC1_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Problemobservation

type PPR_PC1_Problemrole

type PPR_PC1_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_Problemrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Problemrole

type PPR_PC2

type PPR_PC2 struct {
	HL7          HL7Name               `hl7:",name=PPR_PC2,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PPR_PC2_Patientvisit `hl7:",display=Patient_visit"`
	Problem      []PPR_PC2_Problem     `hl7:",required,display=Problem"`
}

PC/ problem update

The patient problem message is used to update problems from one application to another (e.g., a point of care system to a clinical repository). Many of the segments associated with this event are optional. This optionality allows systems in need of this information to set up transactions that fulfill their requirements.

type PPR_PC2_Goal

type PPR_PC2_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPR_PC2_Goal,type=tg"`
	GOL             *GOL                      `hl7:"16,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"17,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"18,display=Variance"`
	Goalrole        []PPR_PC2_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPR_PC2_Goalobservation `hl7:",display=Goal_observation"`
}

Goal

type PPR_PC2_Goalobservation

type PPR_PC2_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Goalobservation

type PPR_PC2_Goalrole

type PPR_PC2_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_Goalrole,type=tg"`
	ROL *ROL    `hl7:"19,required,display=Role"`
	VAR []VAR   `hl7:"20,display=Variance"`
}

Goalrole

type PPR_PC2_Order

type PPR_PC2_Order struct {
	HL7         HL7Name              `hl7:",name=PPR_PC2_Order,type=tg"`
	ORC         *ORC                 `hl7:"23,required,display=Common Order"`
	Orderdetail *PPR_PC2_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPR_PC2_Orderdetail

type PPR_PC2_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPR_PC2_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"24,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"25,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"26,display=Variance"`
	Orderobservation []PPR_PC2_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPR_PC2_Orderobservation

type PPR_PC2_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"27,required,display=Observation/result"`
	NTE []NTE   `hl7:"28,display=Notes And Comments"`
	VAR []VAR   `hl7:"29,display=Variance"`
}

Orderobservation

type PPR_PC2_Pathway

type PPR_PC2_Pathway struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_Pathway,type=tg"`
	PTH *PTH    `hl7:"12,required,display=Pathway"`
	VAR []VAR   `hl7:"13,display=Variance"`
}

Pathway

type PPR_PC2_Patientvisit

type PPR_PC2_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPR_PC2_Problem

type PPR_PC2_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPR_PC2_Problem,type=tg"`
	PRB                *PRB                         `hl7:"7,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"8,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"9,display=Variance"`
	Problemrole        []PPR_PC2_Problemrole        `hl7:",display=Problem_role"`
	Pathway            []PPR_PC2_Pathway            `hl7:",display=Pathway"`
	Problemobservation []PPR_PC2_Problemobservation `hl7:",display=Problem_observation"`
	Goal               []PPR_PC2_Goal               `hl7:",display=Goal"`
	Order              []PPR_PC2_Order              `hl7:",display=Order"`
}

Problem

type PPR_PC2_Problemobservation

type PPR_PC2_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Problemobservation

type PPR_PC2_Problemrole

type PPR_PC2_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_Problemrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Problemrole

type PPR_PC3

type PPR_PC3 struct {
	HL7          HL7Name               `hl7:",name=PPR_PC3,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message Header"`
	SFT          []SFT                 `hl7:"2,display=Software Segment"`
	UAC          *UAC                  `hl7:"3,display=User Authentication Credential Segment"`
	PID          *PID                  `hl7:"4,required,display=Patient Identification"`
	Patientvisit *PPR_PC3_Patientvisit `hl7:",display=Patient_visit"`
	Problem      []PPR_PC3_Problem     `hl7:",required,display=Problem"`
}

PC/ problem delete

The patient problem message is used to delete problems from one application to another (e.g., a point of care system to a clinical repository). Many of the segments associated with this event are optional. This optionality allows systems in need of this information to set up transactions that fulfill their requirements.

type PPR_PC3_Goal

type PPR_PC3_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPR_PC3_Goal,type=tg"`
	GOL             *GOL                      `hl7:"16,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"17,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"18,display=Variance"`
	Goalrole        []PPR_PC3_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPR_PC3_Goalobservation `hl7:",display=Goal_observation"`
}

Goal

type PPR_PC3_Goalobservation

type PPR_PC3_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Goalobservation

type PPR_PC3_Goalrole

type PPR_PC3_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_Goalrole,type=tg"`
	ROL *ROL    `hl7:"19,required,display=Role"`
	VAR []VAR   `hl7:"20,display=Variance"`
}

Goalrole

type PPR_PC3_Order

type PPR_PC3_Order struct {
	HL7         HL7Name              `hl7:",name=PPR_PC3_Order,type=tg"`
	ORC         *ORC                 `hl7:"23,required,display=Common Order"`
	Orderdetail *PPR_PC3_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPR_PC3_Orderdetail

type PPR_PC3_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPR_PC3_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"24,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"25,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"26,display=Variance"`
	Orderobservation []PPR_PC3_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPR_PC3_Orderobservation

type PPR_PC3_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"27,required,display=Observation/result"`
	NTE []NTE   `hl7:"28,display=Notes And Comments"`
	VAR []VAR   `hl7:"29,display=Variance"`
}

Orderobservation

type PPR_PC3_Pathway

type PPR_PC3_Pathway struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_Pathway,type=tg"`
	PTH *PTH    `hl7:"12,required,display=Pathway"`
	VAR []VAR   `hl7:"13,display=Variance"`
}

Pathway

type PPR_PC3_Patientvisit

type PPR_PC3_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"6,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPR_PC3_Problem

type PPR_PC3_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPR_PC3_Problem,type=tg"`
	PRB                *PRB                         `hl7:"7,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"8,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"9,display=Variance"`
	Problemrole        []PPR_PC3_Problemrole        `hl7:",display=Problem_role"`
	Pathway            []PPR_PC3_Pathway            `hl7:",display=Pathway"`
	Problemobservation []PPR_PC3_Problemobservation `hl7:",display=Problem_observation"`
	Goal               []PPR_PC3_Goal               `hl7:",display=Goal"`
	Order              []PPR_PC3_Order              `hl7:",display=Order"`
}

Problem

type PPR_PC3_Problemobservation

type PPR_PC3_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"14,required,display=Observation/result"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Problemobservation

type PPR_PC3_Problemrole

type PPR_PC3_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_Problemrole,type=tg"`
	ROL *ROL    `hl7:"10,required,display=Role"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Problemrole

type PPT_PCL

type PPT_PCL struct {
	HL7     HL7Name           `hl7:",name=PPT_PCL,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	MSA     *MSA              `hl7:"4,required,display=Message Acknowledgment"`
	ERR     []ERR             `hl7:"5,display=Error"`
	QAK     *QAK              `hl7:"6,display=Query Acknowledgment"`
	QRD     *QRD              `hl7:"7,required,display=Withdrawn"`
	Patient []PPT_PCL_Patient `hl7:",required,display=Patient"`
}

PC/ pathway (goal-oriented) query response

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

The following trigger/message event is served by PPT (a response from the system responsible for maintaining the goal-oriented pathway information).

type PPT_PCL_Goal

type PPT_PCL_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPT_PCL_Goal,type=tg"`
	GOL             *GOL                      `hl7:"16,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"17,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"18,display=Variance"`
	Goalrole        []PPT_PCL_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PPT_PCL_Goalobservation `hl7:",display=Goal_observation"`
	Problem         []PPT_PCL_Problem         `hl7:",display=Problem"`
	Order           []PPT_PCL_Order           `hl7:",display=Order"`
}

Goal

type PPT_PCL_Goalobservation

type PPT_PCL_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Goalobservation

type PPT_PCL_Goalrole

type PPT_PCL_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_Goalrole,type=tg"`
	ROL *ROL    `hl7:"19,required,display=Role"`
	VAR []VAR   `hl7:"20,display=Variance"`
}

Goalrole

type PPT_PCL_Order

type PPT_PCL_Order struct {
	HL7         HL7Name              `hl7:",name=PPT_PCL_Order,type=tg"`
	ORC         *ORC                 `hl7:"30,required,display=Common Order"`
	Orderdetail *PPT_PCL_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPT_PCL_Orderdetail

type PPT_PCL_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPT_PCL_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"31,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"32,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"33,display=Variance"`
	Orderobservation []PPT_PCL_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPT_PCL_Orderobservation

type PPT_PCL_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"34,required,display=Observation/result"`
	NTE []NTE   `hl7:"35,display=Notes And Comments"`
	VAR []VAR   `hl7:"36,display=Variance"`
}

Orderobservation

type PPT_PCL_Pathway

type PPT_PCL_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPT_PCL_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"11,required,display=Pathway"`
	NTE         []NTE                 `hl7:"12,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"13,display=Variance"`
	Pathwayrole []PPT_PCL_Pathwayrole `hl7:",display=Pathway_role"`
	Goal        []PPT_PCL_Goal        `hl7:",display=Goal"`
}

Pathway

type PPT_PCL_Pathwayrole

type PPT_PCL_Pathwayrole struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_Pathwayrole,type=tg"`
	ROL *ROL    `hl7:"14,required,display=Role"`
	VAR []VAR   `hl7:"15,display=Variance"`
}

Pathwayrole

type PPT_PCL_Patient

type PPT_PCL_Patient struct {
	HL7          HL7Name               `hl7:",name=PPT_PCL_Patient,type=tg"`
	PID          *PID                  `hl7:"8,required,display=Patient Identification"`
	Patientvisit *PPT_PCL_Patientvisit `hl7:",display=Patient_visit"`
	Pathway      []PPT_PCL_Pathway     `hl7:",required,display=Pathway"`
}

Patient

type PPT_PCL_Patientvisit

type PPT_PCL_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPT_PCL_Problem

type PPT_PCL_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPT_PCL_Problem,type=tg"`
	PRB                *PRB                         `hl7:"23,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"24,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"25,display=Variance"`
	Problemrole        []PPT_PCL_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PPT_PCL_Problemobservation `hl7:",display=Problem_observation"`
}

Problem

type PPT_PCL_Problemobservation

type PPT_PCL_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"28,required,display=Observation/result"`
	NTE []NTE   `hl7:"29,display=Notes And Comments"`
}

Problemobservation

type PPT_PCL_Problemrole

type PPT_PCL_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_Problemrole,type=tg"`
	ROL *ROL    `hl7:"26,required,display=Role"`
	VAR []VAR   `hl7:"27,display=Variance"`
}

Problemrole

type PPV_PCA

type PPV_PCA struct {
	HL7     HL7Name           `hl7:",name=PPV_PCA,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	MSA     *MSA              `hl7:"4,required,display=Message Acknowledgment"`
	ERR     []ERR             `hl7:"5,display=Error"`
	QAK     *QAK              `hl7:"6,display=Query Acknowledgment"`
	QRD     *QRD              `hl7:"7,required,display=Withdrawn"`
	Patient []PPV_PCA_Patient `hl7:",required,display=Patient"`
}

PC/ goal response

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

The following trigger/message event is served by PPV (a response from the system responsible for maintaining the goal information).

type PPV_PCA_Goal

type PPV_PCA_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPV_PCA_Goal,type=tg"`
	GOL             *GOL                      `hl7:"11,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"12,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"13,display=Variance"`
	Goalrole        []PPV_PCA_Goalrole        `hl7:",display=Goal_role"`
	Goalpathway     []PPV_PCA_Goalpathway     `hl7:",display=Goal_pathway"`
	Goalobservation []PPV_PCA_Goalobservation `hl7:",display=Goal_observation"`
	Problem         []PPV_PCA_Problem         `hl7:",display=Problem"`
	Order           []PPV_PCA_Order           `hl7:",display=Order"`
}

Goal

type PPV_PCA_Goalobservation

type PPV_PCA_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"18,required,display=Observation/result"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Goalobservation

type PPV_PCA_Goalpathway

type PPV_PCA_Goalpathway struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_Goalpathway,type=tg"`
	PTH *PTH    `hl7:"16,required,display=Pathway"`
	VAR []VAR   `hl7:"17,display=Variance"`
}

Goalpathway

type PPV_PCA_Goalrole

type PPV_PCA_Goalrole struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_Goalrole,type=tg"`
	ROL *ROL    `hl7:"14,required,display=Role"`
	VAR []VAR   `hl7:"15,display=Variance"`
}

Goalrole

type PPV_PCA_Order

type PPV_PCA_Order struct {
	HL7         HL7Name              `hl7:",name=PPV_PCA_Order,type=tg"`
	ORC         *ORC                 `hl7:"27,required,display=Common Order"`
	Orderdetail *PPV_PCA_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PPV_PCA_Orderdetail

type PPV_PCA_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PPV_PCA_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"28,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"29,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"30,display=Variance"`
	Orderobservation []PPV_PCA_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PPV_PCA_Orderobservation

type PPV_PCA_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"31,required,display=Observation/result"`
	NTE []NTE   `hl7:"32,display=Notes And Comments"`
	VAR []VAR   `hl7:"33,display=Variance"`
}

Orderobservation

type PPV_PCA_Patient

type PPV_PCA_Patient struct {
	HL7          HL7Name               `hl7:",name=PPV_PCA_Patient,type=tg"`
	PID          *PID                  `hl7:"8,required,display=Patient Identification"`
	Patientvisit *PPV_PCA_Patientvisit `hl7:",display=Patient_visit"`
	Goal         []PPV_PCA_Goal        `hl7:",required,display=Goal"`
}

Patient

type PPV_PCA_Patientvisit

type PPV_PCA_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type PPV_PCA_Problem

type PPV_PCA_Problem struct {
	HL7                HL7Name                      `hl7:",name=PPV_PCA_Problem,type=tg"`
	PRB                *PRB                         `hl7:"20,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"21,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"22,display=Variance"`
	Problemrole        []PPV_PCA_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PPV_PCA_Problemobservation `hl7:",display=Problem_observation"`
}

Problem

type PPV_PCA_Problemobservation

type PPV_PCA_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"25,required,display=Observation/result"`
	NTE []NTE   `hl7:"26,display=Notes And Comments"`
}

Problemobservation

type PPV_PCA_Problemrole

type PPV_PCA_Problemrole struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_Problemrole,type=tg"`
	ROL *ROL    `hl7:"23,required,display=Role"`
	VAR []VAR   `hl7:"24,display=Variance"`
}

Problemrole

type PR1

type PR1 struct {
	HL7                             HL7Name `hl7:",name=PR1,type=s"`
	SetID                           SI      `hl7:"1,seq,required,len=4,display=Set Id - Pr1"`
	ProcedureCodingMethod           ST      `hl7:"2,display=Procedure Coding Method"`
	ProcedureCode                   CNE     `hl7:"3,required,table=0088,display=Procedure Code"`
	ProcedureDescription            ST      `hl7:"4,display=Procedure Description"`
	ProcedureDateTime               DTM     `hl7:"5,required,format=YMDHM,display=Procedure Date/Time"`
	ProcedureFunctionalType         *CWE    `hl7:"6,table=0230,display=Procedure Functional Type"`
	ProcedureMinutes                NM      `hl7:"7,display=Procedure Minutes"`
	Anesthesiologist                ST      `hl7:"8,display=Anesthesiologist"`
	AnesthesiaCode                  *CWE    `hl7:"9,table=0019,display=Anesthesia Code"`
	AnesthesiaMinutes               NM      `hl7:"10,display=Anesthesia Minutes"`
	Surgeon                         ST      `hl7:"11,display=Surgeon"`
	ProcedurePractitioner           ST      `hl7:"12,display=Procedure Practitioner"`
	ConsentCode                     *CWE    `hl7:"13,table=0059,display=Consent Code"`
	ProcedurePriority               NM      `hl7:"14,len=2,table=0418,display=Procedure Priority"`
	AssociatedDiagnosisCode         *CWE    `hl7:"15,table=0051,display=Associated Diagnosis Code"`
	ProcedureCodeModifier           []CNE   `hl7:"16,table=0340,display=Procedure Code Modifier"`
	ProcedureDrgType                *CWE    `hl7:"17,table=0416,display=Procedure Drg Type"`
	TissueTypeCode                  []CWE   `hl7:"18,table=0417,display=Tissue Type Code"`
	ProcedureIdentifier             *EI     `hl7:"19,conditional,display=Procedure Identifier"`
	ProcedureActionCode             ID      `hl7:"20,conditional,len=1,table=0206,display=Procedure Action Code"`
	DrgProcedureDeterminationStatus *CWE    `hl7:"21,table=0761,display=Drg Procedure Determination Status"`
	DrgProcedureRelevance           *CWE    `hl7:"22,table=0763,display=Drg Procedure Relevance"`
	TreatingOrganizationalUnit      []PL    `hl7:"23,display=Treating Organizational Unit"`
	RespiratoryWithinSurgery        ID      `hl7:"24,len=1,table=0136,display=Respiratory Within Surgery"`
	ParentProcedureID               *EI     `hl7:"25,display=Parent Procedure Id"`
}

Procedures

The PR1 segment contains information relative to various types of procedures that can be performed on a patient. The PR1 segment can be used to send procedure information, for example: Surgical, Nuclear Medicine, X-ray with contrast, etc. The PR1 segment is used to send multiple procedures, for example, for medical records encoding or for billing systems.

type PRA

type PRA struct {
	HL7                                       HL7Name `hl7:",name=PRA,type=s"`
	PrimaryKeyValue                           *CWE    `hl7:"1,conditional,table=9999,display=Primary Key Value - Pra"`
	PractitionerGroup                         []CWE   `hl7:"2,table=0358,display=Practitioner Group"`
	PractitionerCategory                      []CWE   `hl7:"3,table=0186,display=Practitioner Category"`
	ProviderBilling                           ID      `hl7:"4,len=1,table=0187,display=Provider Billing"`
	Specialty                                 []SPD   `hl7:"5,display=Specialty"`
	PractitionerIDNumbers                     []PLN   `hl7:"6,display=Practitioner Id Numbers"`
	Privileges                                []PIP   `hl7:"7,display=Privileges"`
	DateEnteredPractice                       DT      `hl7:"8,format=YMD,display=Date Entered Practice"`
	Institution                               *CWE    `hl7:"9,table=0537,display=Institution"`
	DateLeftPractice                          DT      `hl7:"10,format=YMD,display=Date Left Practice"`
	GovernmentReimbursementBillingEligibility []CWE   `hl7:"11,table=0401,display=Government Reimbursement Billing Eligibility"`
	SetID                                     SI      `hl7:"12,seq,conditional,len=4,display=Set Id - Pra"`
}

Practitioner Detail

The Technical Steward for the PRA segment is PA and Personnel Management.

The PRA segment adds detailed medical practitioner information to the personnel identified by the STF segment. A PRA segment may optionally follow an STF segment. A PRA segment must always have been preceded by a corresponding STF segment. The PRA segment may also be used for staff who work in healthcare who are not practitioners but need to be certified, e.g., "medical records staff."

type PRB

type PRB struct {
	HL7                                               HL7Name `hl7:",name=PRB,type=s"`
	ActionCode                                        ID      `hl7:"1,required,len=2,table=0287,display=Action Code"`
	ActionDateTime                                    DTM     `hl7:"2,required,format=YMDHM,display=Action Date/Time"`
	ProblemID                                         CWE     `hl7:"3,required,display=Problem Id"`
	ProblemInstanceID                                 EI      `hl7:"4,required,display=Problem Instance Id"`
	EpisodeOfCareID                                   *EI     `hl7:"5,display=Episode Of Care Id"`
	ProblemListPriority                               NM      `hl7:"6,display=Problem List Priority"`
	ProblemEstablishedDateTime                        DTM     `hl7:"7,format=YMDHM,display=Problem Established Date/Time"`
	AnticipatedProblemResolutionDateTime              DTM     `hl7:"8,format=YMDHM,display=Anticipated Problem Resolution Date/Time"`
	ActualProblemResolutionDateTime                   DTM     `hl7:"9,format=YMDHM,display=Actual Problem Resolution Date/Time"`
	ProblemClassification                             *CWE    `hl7:"10,display=Problem Classification"`
	ProblemManagementDiscipline                       []CWE   `hl7:"11,display=Problem Management Discipline"`
	ProblemPersistence                                *CWE    `hl7:"12,display=Problem Persistence"`
	ProblemConfirmationStatus                         *CWE    `hl7:"13,display=Problem Confirmation Status"`
	ProblemLifeCycleStatus                            *CWE    `hl7:"14,display=Problem Life Cycle Status"`
	ProblemLifeCycleStatusDateTime                    DTM     `hl7:"15,format=YMDHM,display=Problem Life Cycle Status Date/Time"`
	ProblemDateOfOnset                                DTM     `hl7:"16,format=YMDHM,display=Problem Date Of Onset"`
	ProblemOnsetText                                  ST      `hl7:"17,display=Problem Onset Text"`
	ProblemRanking                                    *CWE    `hl7:"18,display=Problem Ranking"`
	CertaintyOfProblem                                *CWE    `hl7:"19,display=Certainty Of Problem"`
	ProbabilityOfProblem01                            NM      `hl7:"20,display=Probability Of Problem (0-1)"`
	IndividualAwarenessOfProblem                      *CWE    `hl7:"21,display=Individual Awareness Of Problem"`
	ProblemPrognosis                                  *CWE    `hl7:"22,display=Problem Prognosis"`
	IndividualAwarenessOfPrognosis                    *CWE    `hl7:"23,display=Individual Awareness Of Prognosis"`
	FamilySignificantOtherAwarenessOfProblemPrognosis ST      `hl7:"24,display=Family/Significant Other Awareness Of Problem/Prognosis"`
	SecuritySensitivity                               *CWE    `hl7:"25,display=Security/Sensitivity"`
	ProblemSeverity                                   *CWE    `hl7:"26,table=0836,display=Problem Severity"`
	ProblemPerspective                                *CWE    `hl7:"27,table=0838,display=Problem Perspective"`
	MoodCode                                          *CNE    `hl7:"28,conditional,table=0725,display=Mood Code"`
}

Problem Details

The problem detail segment contains the data necessary to add, update, correct, and delete the problems of a given individual.

The business and/or application must assume the responsibility for maintaining knowledge about data ownership, versioning, and/or audit trail control (for purposes of data integrity). It is also their responsibility to represent the appropriate version of that data.

type PRC

type PRC struct {
	HL7                 HL7Name `hl7:",name=PRC,type=s"`
	PrimaryKeyValue     CWE     `hl7:"1,required,table=0132,display=Primary Key Value - Prc"`
	FacilityID          []CWE   `hl7:"2,table=0464,display=Facility Id - Prc"`
	Department          []CWE   `hl7:"3,table=0184,display=Department"`
	ValidPatientClasses []CWE   `hl7:"4,table=0004,display=Valid Patient Classes"`
	Price               []CP    `hl7:"5,conditional,display=Price"`
	Formula             []ST    `hl7:"6,display=Formula"`
	MinimumQuantity     NM      `hl7:"7,display=Minimum Quantity"`
	MaximumQuantity     NM      `hl7:"8,display=Maximum Quantity"`
	MinimumPrice        *MO     `hl7:"9,display=Minimum Price"`
	MaximumPrice        *MO     `hl7:"10,display=Maximum Price"`
	EffectiveStartDate  DTM     `hl7:"11,format=YMDHM,display=Effective Start Date"`
	EffectiveEndDate    DTM     `hl7:"12,format=YMDHM,display=Effective End Date"`
	PriceOverrideFlag   *CWE    `hl7:"13,table=0268,display=Price Override Flag"`
	BillingCategory     []CWE   `hl7:"14,table=0293,display=Billing Category"`
	ChargeableFlag      ID      `hl7:"15,len=1,table=0136,display=Chargeable Flag"`
	ActiveInactiveFlag  ID      `hl7:"16,len=1,table=0183,display=Active/Inactive Flag"`
	Cost                *MO     `hl7:"17,display=Cost"`
	ChargeOnIndicator   *CWE    `hl7:"18,table=0269,display=Charge On Indicator"`
}

Pricing

The PRC segment contains the pricing information for the preceding CDM segment's chargeable item. It contains the fields which, for the same chargeable item, might vary depending upon facility or department or patient type. The preceding CDM segment contains the fields which, for one chargeable item, remain the same across facilities, departments, and patient types.

type PRD

type PRD struct {
	HL7                                          HL7Name `hl7:",name=PRD,type=s"`
	ProviderRole                                 []CWE   `hl7:"1,required,table=0286,display=Provider Role"`
	ProviderName                                 []XPN   `hl7:"2,display=Provider Name"`
	ProviderAddress                              []XAD   `hl7:"3,display=Provider Address"`
	ProviderLocation                             *PL     `hl7:"4,display=Provider Location"`
	ProviderCommunicationInformation             []XTN   `hl7:"5,display=Provider Communication Information"`
	PreferredMethodOfContact                     *CWE    `hl7:"6,table=0185,display=Preferred Method Of Contact"`
	ProviderIdentifiers                          []PLN   `hl7:"7,display=Provider Identifiers"`
	EffectiveStartDateOfProviderRole             DTM     `hl7:"8,format=YMDHM,display=Effective Start Date Of Provider Role"`
	EffectiveEndDateOfProviderRole               []DTM   `hl7:"9,format=YMDHM,display=Effective End Date Of Provider Role"`
	ProviderOrganizationNameAndIdentifier        *XON    `hl7:"10,display=Provider Organization Name And Identifier"`
	ProviderOrganizationAddress                  []XAD   `hl7:"11,display=Provider Organization Address"`
	ProviderOrganizationLocationInformation      []PL    `hl7:"12,display=Provider Organization Location Information"`
	ProviderOrganizationCommunicationInformation []XTN   `hl7:"13,display=Provider Organization Communication Information"`
	ProviderOrganizationMethodOfContact          *CWE    `hl7:"14,table=0185,display=Provider Organization Method Of Contact"`
}

Provider Data

This segment will be employed as part of a patient referral message and its related transactions. The PRD segment contains data specifically focused on a referral, and it is inter-enterprise in nature. The justification for this new segment comes from the fact that we are dealing with referrals that are external to the facilities that received them. Therefore, using a segment such as the current PV1 would be inadequate for all the return information that may be required by the receiving facility or application. In addition, the PV1 does not always provide information sufficient to enable the external facility to make a complete identification of the referring entity. The information contained in the PRD segment will include the referring provider, the referred to provider, the referred to location or service, and the referring provider clinic address.

type PRL

type PRL struct {
	HL7                              HL7Name `hl7:",name=PRL,len=0,type=d"`
	ParentObservationIdentifier      CWE     `` /* 177-byte string literal not displayed */
	ParentObservationSubIdentifier   ST      `` /* 152-byte string literal not displayed */
	ParentObservationValueDescriptor TX      `` /* 334-byte string literal not displayed */
}

Parent Result Link

Uniquely identifies the parent result’s OBX segment related to the current order, together with the information in OBR-29 - Parent.

Usage Note: This data type is applied only to OBR-26 - Parent Result where it serves to make information available for other types of linkages (e.g., toxicology). This important information, together with the information in OBR-29 - Parent, uniquely identifies the parent result’s OBX segment related to this order. The value of this OBX segment in the parent result is the organism or chemical species about which this battery reports. For example, if the current battery is an antimicrobial susceptibility, the parent results identified OBX contains a result that identifies the organism on which the susceptibility was run. This indirect linkage is preferred because the name of the organism in the parent result may undergo several preliminary values prior to finalization.

We emphasize that this field does not take the entire result field from the parent. It is meant only for the text name of the organism or chemical subspecies identified. This field is included only to provide a method for linking back to the parent result for those systems that could not generate unambiguous Observation IDs and sub-IDs. This field is present only when the parent result is identified by OBR-29 - Parent and the parent spawns child orders for each of many results. See Chapter 7, "Observations", for more details about this linkage.

Note: Replaces the CM data type used in sections 4.5.3.26 - OBR-26 and 7.4.1.26 - OBR-26 as of v 2.5.

type PRR_PC5

type PRR_PC5 struct {
	HL7     HL7Name           `hl7:",name=PRR_PC5,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	MSA     *MSA              `hl7:"4,required,display=Message Acknowledgment"`
	ERR     []ERR             `hl7:"5,display=Error"`
	QAK     *QAK              `hl7:"6,display=Query Acknowledgment"`
	QRD     *QRD              `hl7:"7,required,display=Withdrawn"`
	Patient []PRR_PC5_Patient `hl7:",required,display=Patient"`
}

PC/ problem response

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

The following trigger/message event is served by PRR (a response from the system responsible for maintaining the problem information).

type PRR_PC5_Goal

type PRR_PC5_Goal struct {
	HL7             HL7Name                   `hl7:",name=PRR_PC5_Goal,type=tg"`
	GOL             *GOL                      `hl7:"20,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"21,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"22,display=Variance"`
	Goalrole        []PRR_PC5_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PRR_PC5_Goalobservation `hl7:",display=Goal_observation"`
}

Goal

type PRR_PC5_Goalobservation

type PRR_PC5_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"25,required,display=Observation/result"`
	NTE []NTE   `hl7:"26,display=Notes And Comments"`
}

Goalobservation

type PRR_PC5_Goalrole

type PRR_PC5_Goalrole struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_Goalrole,type=tg"`
	ROL *ROL    `hl7:"23,required,display=Role"`
	VAR []VAR   `hl7:"24,display=Variance"`
}

Goalrole

type PRR_PC5_Order

type PRR_PC5_Order struct {
	HL7         HL7Name              `hl7:",name=PRR_PC5_Order,type=tg"`
	ORC         *ORC                 `hl7:"27,required,display=Common Order"`
	Orderdetail *PRR_PC5_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PRR_PC5_Orderdetail

type PRR_PC5_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PRR_PC5_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"28,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"29,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"30,display=Variance"`
	Orderobservation []PRR_PC5_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PRR_PC5_Orderobservation

type PRR_PC5_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"31,required,display=Observation/result"`
	NTE []NTE   `hl7:"32,display=Notes And Comments"`
	VAR []VAR   `hl7:"33,display=Variance"`
}

Orderobservation

type PRR_PC5_Patient

type PRR_PC5_Patient struct {
	HL7          HL7Name               `hl7:",name=PRR_PC5_Patient,type=tg"`
	PID          *PID                  `hl7:"8,required,display=Patient Identification"`
	Patientvisit *PRR_PC5_Patientvisit `hl7:",display=Patient_visit"`
	Problem      []PRR_PC5_Problem     `hl7:",required,display=Problem"`
}

Patient

type PRR_PC5_Patientvisit

type PRR_PC5_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type PRR_PC5_Problem

type PRR_PC5_Problem struct {
	HL7                HL7Name                      `hl7:",name=PRR_PC5_Problem,type=tg"`
	PRB                *PRB                         `hl7:"11,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"12,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"13,display=Variance"`
	Problemrole        []PRR_PC5_Problemrole        `hl7:",display=Problem_role"`
	Problempathway     []PRR_PC5_Problempathway     `hl7:",display=Problem_pathway"`
	Problemobservation []PRR_PC5_Problemobservation `hl7:",display=Problem_observation"`
	Goal               []PRR_PC5_Goal               `hl7:",display=Goal"`
	Order              []PRR_PC5_Order              `hl7:",display=Order"`
}

Problem

type PRR_PC5_Problemobservation

type PRR_PC5_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"18,required,display=Observation/result"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Problemobservation

type PRR_PC5_Problempathway

type PRR_PC5_Problempathway struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_Problempathway,type=tg"`
	PTH *PTH    `hl7:"16,required,display=Pathway"`
	VAR []VAR   `hl7:"17,display=Variance"`
}

Problempathway

type PRR_PC5_Problemrole

type PRR_PC5_Problemrole struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_Problemrole,type=tg"`
	ROL *ROL    `hl7:"14,required,display=Role"`
	VAR []VAR   `hl7:"15,display=Variance"`
}

Problemrole

type PRT

type PRT struct {
	HL7                                   HL7Name `hl7:",name=PRT,type=s"`
	ParticipationInstanceID               *EI     `hl7:"1,conditional,len=4,display=Participation Instance Id"`
	ActionCode                            ID      `hl7:"2,required,len=2,table=0287,display=Action Code"`
	ActionReason                          *CWE    `hl7:"3,display=Action Reason"`
	Participation                         CWE     `hl7:"4,required,table=0912,display=Participation"`
	ParticipationPerson                   []XCN   `hl7:"5,conditional,display=Participation Person"`
	ParticipationPersonProviderType       *CWE    `hl7:"6,conditional,display=Participation Person Provider Type"`
	ParticipantOrganizationUnitType       *CWE    `hl7:"7,conditional,table=0406,display=Participant Organization Unit Type"`
	ParticipationOrganization             []XON   `hl7:"8,conditional,display=Participation Organization"`
	ParticipantLocation                   []PL    `hl7:"9,conditional,display=Participant Location"`
	ParticipationDevice                   []EI    `hl7:"10,conditional,display=Participation Device"`
	ParticipationBeginDateTimeArrivalTime DTM     `hl7:"11,format=YMDHM,display=Participation Begin Date/Time (arrival Time)"`
	ParticipationEndDateTimeDepartureTime DTM     `hl7:"12,format=YMDHM,display=Participation End Date/Time (departure Time)"`
	ParticipationQualitativeDuration      *CWE    `hl7:"13,display=Participation Qualitative Duration"`
	ParticipationAddress                  []XAD   `hl7:"14,conditional,display=Participation Address"`
	ParticipantTelecommunicationAddress   []XTN   `hl7:"15,display=Participant Telecommunication Address"`
}

Participation Information

The Participation Information segment contains the data necessary to add, update, correct, and delete from the record persons, organizations, or locations (participants) participating in the activity being transmitted.

In general, the PRT segment is used to describe a participant playing a particular role within the context of the message. In OO, for example, in the results messages the PRT segment may be used to provide the performing provider, whether a person or organization. In a specimen shipment message it may be the waypoint location relevant for the shipment.

The positional location of the PRT segment indicates the relationship. When the segment is used following the OBX segment, then the participations relate to the relevant participations in the result.

type PSG

type PSG struct {
	HL7                               HL7Name `hl7:",name=PSG,type=s"`
	ProviderProductServiceGroupNumber EI      `hl7:"1,required,display=Provider Product/Service Group Number"`
	PayerProductServiceGroupNumber    *EI     `hl7:"2,display=Payer Product/Service Group Number"`
	ProductServiceGroupSequenceNumber SI      `hl7:"3,required,len=4,display=Product/Service Group Sequence Number"`
	AdjudicateAsGroup                 ID      `hl7:"4,required,len=1,table=0136,display=Adjudicate As Group"`
	ProductServiceGroupBilledAmount   CP      `hl7:"5,required,display=Product/Service Group Billed Amount"`
	ProductServiceGroupDescription    ST      `hl7:"6,required,display=Product/Service Group Description"`
}

Product/service Group

The Product/Service Group segment is used to form a logical grouping of Product/Service Line Items, Patients and Response Summaries for a particular Invoice. For example, a Product/Service Group can be used to group all Product/Service Line Items that must be adjudicated as a group in order to be paid.

type PSL

type PSL struct {
	HL7                                      HL7Name `hl7:",name=PSL,type=s"`
	ProviderProductServiceLineItemNumber     EI      `hl7:"1,required,display=Provider Product/Service Line Item Number"`
	PayerProductServiceLineItemNumber        *EI     `hl7:"2,display=Payer Product/Service Line Item Number"`
	ProductServiceLineItemSequenceNumber     SI      `hl7:"3,required,len=4,display=Product/Service Line Item Sequence Number"`
	ProviderTrackingID                       *EI     `hl7:"4,display=Provider Tracking Id"`
	PayerTrackingID                          *EI     `hl7:"5,display=Payer Tracking Id"`
	ProductServiceLineItemStatus             CWE     `hl7:"6,required,table=0559,display=Product/Service Line Item Status"`
	ProductServiceCode                       CWE     `hl7:"7,required,table=0879,display=Product/Service Code"`
	ProductServiceCodeModifier               *CWE    `hl7:"8,table=0880,display=Product/Service Code Modifier"`
	ProductServiceCodeDescription            ST      `hl7:"9,display=Product/Service Code Description"`
	ProductServiceEffectiveDate              DTM     `hl7:"10,conditional,format=YMDHM,display=Product/Service Effective Date"`
	ProductServiceExpirationDate             DTM     `hl7:"11,format=YMDHM,display=Product/Service Expiration Date"`
	ProductServiceQuantity                   *CQ     `hl7:"12,conditional,display=Product/Service Quantity"`
	ProductServiceUnitCost                   *CP     `hl7:"13,conditional,display=Product/Service Unit Cost"`
	NumberOfItemsPerUnit                     NM      `hl7:"14,conditional,display=Number Of Items Per Unit"`
	ProductServiceGrossAmount                *CP     `hl7:"15,conditional,display=Product/Service Gross Amount"`
	ProductServiceBilledAmount               *CP     `hl7:"16,conditional,display=Product/Service Billed Amount"`
	ProductServiceClarificationCodeType      *CWE    `hl7:"17,table=0561,display=Product/Service Clarification Code Type"`
	ProductServiceClarificationCodeValue     ST      `hl7:"18,display=Product/Service Clarification Code Value"`
	HealthDocumentReferenceIdentifier        *EI     `hl7:"19,display=Health Document Reference Identifier"`
	ProcessingConsiderationCode              *CWE    `hl7:"20,table=0562,display=Processing Consideration Code"`
	RestrictedDisclosureIndicator            ID      `hl7:"21,required,len=4,table=0532,display=Restricted Disclosure Indicator"`
	RelatedProductServiceCodeIndicator       *CWE    `hl7:"22,table=0879,display=Related Product/Service Code Indicator"`
	ProductServiceAmountForPhysician         *CP     `hl7:"23,display=Product/Service Amount For Physician"`
	ProductServiceCostFactor                 NM      `hl7:"24,display=Product/Service Cost Factor"`
	CostCenter                               *CX     `hl7:"25,display=Cost Center"`
	BillingPeriod                            *DR     `hl7:"26,display=Billing Period"`
	DaysWithoutBilling                       NM      `hl7:"27,display=Days Without Billing"`
	SessionNo                                NM      `hl7:"28,len=4,display=Session-no"`
	ExecutingPhysicianID                     *XCN    `hl7:"29,display=Executing Physician Id"`
	ResponsiblePhysicianID                   *XCN    `hl7:"30,display=Responsible Physician Id"`
	RoleExecutingPhysician                   *CWE    `hl7:"31,table=0881,display=Role Executing Physician"`
	MedicalRoleExecutingPhysician            *CWE    `hl7:"32,table=0882,display=Medical Role Executing Physician"`
	SideOfBody                               *CWE    `hl7:"33,table=0894,display=Side Of Body"`
	NumberOfTpsPp                            NM      `hl7:"34,display=Number Of Tp's Pp"`
	TpValuePp                                *CP     `hl7:"35,display=Tp-value Pp"`
	InternalScalingFactorPp                  NM      `hl7:"36,display=Internal Scaling Factor Pp"`
	ExternalScalingFactorPp                  NM      `hl7:"37,display=External Scaling Factor Pp"`
	AmountPp                                 *CP     `hl7:"38,display=Amount Pp"`
	NumberOfTpsTechnicalPart                 NM      `hl7:"39,display=Number Of Tp's Technical Part"`
	TpValueTechnicalPart                     *CP     `hl7:"40,display=Tp-value Technical Part"`
	InternalScalingFactorTechnicalPart       NM      `hl7:"41,display=Internal Scaling Factor Technical Part"`
	ExternalScalingFactorTechnicalPart       NM      `hl7:"42,display=External Scaling Factor Technical Part"`
	AmountTechnicalPart                      *CP     `hl7:"43,display=Amount Technical Part"`
	TotalAmountProfessionalPartTechnicalPart *CP     `hl7:"44,display=Total Amount Professional Part + Technical Part"`
	VatRate                                  NM      `hl7:"45,display=Vat-rate"`
	MainService                              ID      `hl7:"46,len=20,display=Main-service"`
	Validation                               ID      `hl7:"47,len=1,table=0136,display=Validation"`
	Comment                                  ST      `hl7:"48,display=Comment"`
}

Product/service Line Item

The Product/Service Line Item segment is used to identify individual product/service items that typically are aggregated into an Invoice. Each instance of a Product/Service Line Item corresponds to a unique product delivered or service rendered.

type PSS

type PSS struct {
	HL7                                 HL7Name `hl7:",name=PSS,type=s"`
	ProviderProductServiceSectionNumber EI      `hl7:"1,required,display=Provider Product/Service Section Number"`
	PayerProductServiceSectionNumber    *EI     `hl7:"2,display=Payer Product/Service Section Number"`
	ProductServiceSectionSequenceNumber SI      `hl7:"3,required,len=4,display=Product/Service Section Sequence Number"`
	BilledAmount                        CP      `hl7:"4,required,display=Billed Amount"`
	SectionDescriptionOrHeading         ST      `hl7:"5,required,display=Section Description Or Heading"`
}

Product/service Section

The Product/Service Section segment is used to form a logical grouping of Product/Service Group segments, Patients and Response Summaries for a particular Invoice.

type PT

type PT struct {
	HL7            HL7Name `hl7:",name=PT,len=0,type=d"`
	ProcessingID   ID      `` /* 196-byte string literal not displayed */
	ProcessingMode ID      `` /* 184-byte string literal not displayed */
}

Processing Type

This data type indicates whether to process a message as defined in HL7 Application (level 7) Processing rules.

type PTA

type PTA struct {
	HL7                       HL7Name `hl7:",name=PTA,len=0,type=d"`
	PolicyType                CWE     `` /* 131-byte string literal not displayed */
	AmountClass               *CWE    `` /* 133-byte string literal not displayed */
	MoneyOrPercentageQuantity ST      `` /* 168-byte string literal not displayed */
	MoneyOrPercentage         MOP     `hl7:"4,required,display=specifies an amount that may be either currency or a percentage."`
}

Policy Type And Amount

This data type specifies the policy type and amount covered by the insurance.

Note: Replaces the CM data type used in section 6.5.7.29 IN2-29, as of v 2.5.

type PTH

type PTH struct {
	HL7                                  HL7Name `hl7:",name=PTH,type=s"`
	ActionCode                           ID      `hl7:"1,required,len=2,table=0287,display=Action Code"`
	PathwayID                            CWE     `hl7:"2,required,display=Pathway Id"`
	PathwayInstanceID                    EI      `hl7:"3,required,display=Pathway Instance Id"`
	PathwayEstablishedDateTime           DTM     `hl7:"4,required,format=YMDHM,display=Pathway Established Date/Time"`
	PathwayLifeCycleStatus               *CWE    `hl7:"5,display=Pathway Life Cycle Status"`
	ChangePathwayLifeCycleStatusDateTime DTM     `hl7:"6,conditional,format=YMDHM,display=Change Pathway Life Cycle Status Date/Time"`
	MoodCode                             *CNE    `hl7:"7,conditional,table=0725,display=Mood Code"`
}

Pathway

The pathway segment contains the data necessary to add, update, correct, and delete from the record pathways that are utilized to address an individual's health care.

type PTR_PCF

type PTR_PCF struct {
	HL7     HL7Name           `hl7:",name=PTR_PCF,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message Header"`
	SFT     []SFT             `hl7:"2,display=Software Segment"`
	UAC     *UAC              `hl7:"3,display=User Authentication Credential Segment"`
	MSA     *MSA              `hl7:"4,required,display=Message Acknowledgment"`
	ERR     []ERR             `hl7:"5,display=Error"`
	QAK     *QAK              `hl7:"6,display=Query Acknowledgment"`
	QRD     *QRD              `hl7:"7,required,display=Withdrawn"`
	Patient []PTR_PCF_Patient `hl7:",required,display=Patient"`
}

PC/ pathway (problem-oriented) query response

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

The following trigger/message event is served by PTR (a response from the system responsible for maintaining the problem-oriented pathway information).

type PTR_PCF_Goal

type PTR_PCF_Goal struct {
	HL7             HL7Name                   `hl7:",name=PTR_PCF_Goal,type=tg"`
	GOL             *GOL                      `hl7:"23,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"24,display=Notes And Comments"`
	VAR             []VAR                     `hl7:"25,display=Variance"`
	Goalrole        []PTR_PCF_Goalrole        `hl7:",display=Goal_role"`
	Goalobservation []PTR_PCF_Goalobservation `hl7:",display=Goal_observation"`
}

Goal

type PTR_PCF_Goalobservation

type PTR_PCF_Goalobservation struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_Goalobservation,type=tg"`
	OBX *OBX    `hl7:"28,required,display=Observation/result"`
	NTE []NTE   `hl7:"29,display=Notes And Comments"`
}

Goalobservation

type PTR_PCF_Goalrole

type PTR_PCF_Goalrole struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_Goalrole,type=tg"`
	ROL *ROL    `hl7:"26,required,display=Role"`
	VAR []VAR   `hl7:"27,display=Variance"`
}

Goalrole

type PTR_PCF_Order

type PTR_PCF_Order struct {
	HL7         HL7Name              `hl7:",name=PTR_PCF_Order,type=tg"`
	ORC         *ORC                 `hl7:"30,required,display=Common Order"`
	Orderdetail *PTR_PCF_Orderdetail `hl7:",display=Order_detail"`
}

Order

type PTR_PCF_Orderdetail

type PTR_PCF_Orderdetail struct {
	HL7              HL7Name                    `hl7:",name=PTR_PCF_Orderdetail,type=tg"`
	OBR              *OBR                       `hl7:"31,required,display=Observation Request"`
	NTE              []NTE                      `hl7:"32,display=Notes And Comments"`
	VAR              []VAR                      `hl7:"33,display=Variance"`
	Orderobservation []PTR_PCF_Orderobservation `hl7:",display=Order_observation"`
}

Orderdetail

type PTR_PCF_Orderobservation

type PTR_PCF_Orderobservation struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_Orderobservation,type=tg"`
	OBX *OBX    `hl7:"34,required,display=Observation/result"`
	NTE []NTE   `hl7:"35,display=Notes And Comments"`
	VAR []VAR   `hl7:"36,display=Variance"`
}

Orderobservation

type PTR_PCF_Pathway

type PTR_PCF_Pathway struct {
	HL7         HL7Name               `hl7:",name=PTR_PCF_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"11,required,display=Pathway"`
	NTE         []NTE                 `hl7:"12,display=Notes And Comments"`
	VAR         []VAR                 `hl7:"13,display=Variance"`
	Pathwayrole []PTR_PCF_Pathwayrole `hl7:",display=Pathway_role"`
	Problem     []PTR_PCF_Problem     `hl7:",display=Problem"`
}

Pathway

type PTR_PCF_Pathwayrole

type PTR_PCF_Pathwayrole struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_Pathwayrole,type=tg"`
	ROL *ROL    `hl7:"14,required,display=Role"`
	VAR []VAR   `hl7:"15,display=Variance"`
}

Pathwayrole

type PTR_PCF_Patient

type PTR_PCF_Patient struct {
	HL7          HL7Name               `hl7:",name=PTR_PCF_Patient,type=tg"`
	PID          *PID                  `hl7:"8,required,display=Patient Identification"`
	Patientvisit *PTR_PCF_Patientvisit `hl7:",display=Patient_visit"`
	Pathway      []PTR_PCF_Pathway     `hl7:",required,display=Pathway"`
}

Patient

type PTR_PCF_Patientvisit

type PTR_PCF_Patientvisit struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
}

Patientvisit

type PTR_PCF_Problem

type PTR_PCF_Problem struct {
	HL7                HL7Name                      `hl7:",name=PTR_PCF_Problem,type=tg"`
	PRB                *PRB                         `hl7:"16,required,display=Problem Details"`
	NTE                []NTE                        `hl7:"17,display=Notes And Comments"`
	VAR                []VAR                        `hl7:"18,display=Variance"`
	Problemrole        []PTR_PCF_Problemrole        `hl7:",display=Problem_role"`
	Problemobservation []PTR_PCF_Problemobservation `hl7:",display=Problem_observation"`
	Goal               []PTR_PCF_Goal               `hl7:",display=Goal"`
	Order              []PTR_PCF_Order              `hl7:",display=Order"`
}

Problem

type PTR_PCF_Problemobservation

type PTR_PCF_Problemobservation struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_Problemobservation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Problemobservation

type PTR_PCF_Problemrole

type PTR_PCF_Problemrole struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_Problemrole,type=tg"`
	ROL *ROL    `hl7:"19,required,display=Role"`
	VAR []VAR   `hl7:"20,display=Variance"`
}

Problemrole

type PV1

type PV1 struct {
	HL7                       HL7Name `hl7:",name=PV1,type=s"`
	SetID                     SI      `hl7:"1,seq,len=4,display=Set Id - Pv1"`
	PatientClass              CWE     `hl7:"2,required,table=0004,display=Patient Class"`
	AssignedPatientLocation   *PL     `hl7:"3,display=Assigned Patient Location"`
	AdmissionType             *CWE    `hl7:"4,table=0007,display=Admission Type"`
	PreadmitNumber            *CX     `hl7:"5,display=Preadmit Number"`
	PriorPatientLocation      *PL     `hl7:"6,display=Prior Patient Location"`
	AttendingDoctor           []XCN   `hl7:"7,table=0010,display=Attending Doctor"`
	ReferringDoctor           []XCN   `hl7:"8,table=0010,display=Referring Doctor"`
	ConsultingDoctor          []XCN   `hl7:"9,display=Consulting Doctor"`
	HospitalService           *CWE    `hl7:"10,table=0069,display=Hospital Service"`
	TemporaryLocation         *PL     `hl7:"11,display=Temporary Location"`
	PreadmitTestIndicator     *CWE    `hl7:"12,table=0087,display=Preadmit Test Indicator"`
	ReAdmissionIndicator      *CWE    `hl7:"13,table=0092,display=Re-admission Indicator"`
	AdmitSource               *CWE    `hl7:"14,table=0023,display=Admit Source"`
	AmbulatoryStatus          []CWE   `hl7:"15,table=0009,display=Ambulatory Status"`
	VipIndicator              *CWE    `hl7:"16,table=0099,display=Vip Indicator"`
	AdmittingDoctor           []XCN   `hl7:"17,table=0010,display=Admitting Doctor"`
	PatientType               *CWE    `hl7:"18,table=0018,display=Patient Type"`
	VisitNumber               *CX     `hl7:"19,display=Visit Number"`
	FinancialClass            []FC    `hl7:"20,display=Financial Class"`
	ChargePriceIndicator      *CWE    `hl7:"21,table=0032,display=Charge Price Indicator"`
	CourtesyCode              *CWE    `hl7:"22,table=0045,display=Courtesy Code"`
	CreditRating              *CWE    `hl7:"23,table=0046,display=Credit Rating"`
	ContractCode              []CWE   `hl7:"24,table=0044,display=Contract Code"`
	ContractEffectiveDate     []DT    `hl7:"25,format=YMD,display=Contract Effective Date"`
	ContractAmount            []NM    `hl7:"26,display=Contract Amount"`
	ContractPeriod            []NM    `hl7:"27,display=Contract Period"`
	InterestCode              *CWE    `hl7:"28,table=0073,display=Interest Code"`
	TransferToBadDebtCode     *CWE    `hl7:"29,table=0110,display=Transfer To Bad Debt Code"`
	TransferToBadDebtDate     DT      `hl7:"30,format=YMD,display=Transfer To Bad Debt Date"`
	BadDebtAgencyCode         *CWE    `hl7:"31,table=0021,display=Bad Debt Agency Code"`
	BadDebtTransferAmount     NM      `hl7:"32,display=Bad Debt Transfer Amount"`
	BadDebtRecoveryAmount     NM      `hl7:"33,display=Bad Debt Recovery Amount"`
	DeleteAccountIndicator    *CWE    `hl7:"34,table=0111,display=Delete Account Indicator"`
	DeleteAccountDate         DT      `hl7:"35,format=YMD,display=Delete Account Date"`
	DischargeDisposition      *CWE    `hl7:"36,table=0112,display=Discharge Disposition"`
	DischargedToLocation      *DLD    `hl7:"37,display=Discharged To Location"`
	DietType                  *CWE    `hl7:"38,table=0114,display=Diet Type"`
	ServicingFacility         *CWE    `hl7:"39,table=0115,display=Servicing Facility"`
	BedStatus                 CWE     `hl7:"40,table=0116,display=Bed Status"`
	AccountStatus             *CWE    `hl7:"41,table=0117,display=Account Status"`
	PendingLocation           *PL     `hl7:"42,display=Pending Location"`
	PriorTemporaryLocation    *PL     `hl7:"43,display=Prior Temporary Location"`
	AdmitDateTime             DTM     `hl7:"44,format=YMDHM,display=Admit Date/Time"`
	DischargeDateTime         DTM     `hl7:"45,format=YMDHM,display=Discharge Date/Time"`
	CurrentPatientBalance     NM      `hl7:"46,display=Current Patient Balance"`
	TotalCharges              NM      `hl7:"47,display=Total Charges"`
	TotalAdjustments          NM      `hl7:"48,display=Total Adjustments"`
	TotalPayments             NM      `hl7:"49,display=Total Payments"`
	AlternateVisitID          *CX     `hl7:"50,display=Alternate Visit Id"`
	VisitIndicator            *CWE    `hl7:"51,table=0326,display=Visit Indicator"`
	OtherHealthcareProvider   ST      `hl7:"52,display=Other Healthcare Provider"`
	ServiceEpisodeDescription ST      `hl7:"53,display=Service Episode Description"`
	ServiceEpisodeIdentifier  *CX     `hl7:"54,display=Service Episode Identifier"`
}

Patient Visit

The PV1 segment is used by Registration/Patient Administration applications to communicate information on an account or visit-specific basis. The default is to send account level data. To use this segment for visit level data PV1-51 - Visit Indicator must be valued to "V". The value of PV-51 affects the level of data being sent on the PV1, PV2, and any other segments that are part of the associated PV1 hierarchy (e.g., ROL, DG1, or OBX).

The facility ID, the optional fourth component of each patient location field, is a HD data type that is uniquely associated with the healthcare facility containing the location. A given institution, or group of intercommunicating institutions, should establish a list of facilities that may be potential assignors of patient locations. The list will be one of the institution's master dictionary lists. Since third parties other than the assignors of patient locations may send or receive HL7 messages containing patient locations, the facility ID in the patient location may not be the same as that implied by the sending and receiving systems identified in the MSH. The facility ID must be unique across facilities at a given site. This field is required for HL7 implementations that have more than a single healthcare facility with bed locations, since the same <point of care> ^ <room> ^ <bed> combination may exist at more than one facility.

type PV2

type PV2 struct {
	HL7                                 HL7Name `hl7:",name=PV2,type=s"`
	PriorPendingLocation                *PL     `hl7:"1,conditional,display=Prior Pending Location"`
	AccommodationCode                   *CWE    `hl7:"2,table=0129,display=Accommodation Code"`
	AdmitReason                         *CWE    `hl7:"3,display=Admit Reason"`
	TransferReason                      *CWE    `hl7:"4,display=Transfer Reason"`
	PatientValuables                    []ST    `hl7:"5,display=Patient Valuables"`
	PatientValuablesLocation            ST      `hl7:"6,display=Patient Valuables Location"`
	VisitUserCode                       []CWE   `hl7:"7,table=0130,display=Visit User Code"`
	ExpectedAdmitDateTime               DTM     `hl7:"8,format=YMDHM,display=Expected Admit Date/Time"`
	ExpectedDischargeDateTime           DTM     `hl7:"9,format=YMDHM,display=Expected Discharge Date/Time"`
	EstimatedLengthOfInpatientStay      NM      `hl7:"10,display=Estimated Length Of Inpatient Stay"`
	ActualLengthOfInpatientStay         NM      `hl7:"11,display=Actual Length Of Inpatient Stay"`
	VisitDescription                    ST      `hl7:"12,display=Visit Description"`
	ReferralSourceCode                  []XCN   `hl7:"13,display=Referral Source Code"`
	PreviousServiceDate                 DT      `hl7:"14,format=YMD,display=Previous Service Date"`
	EmploymentIllnessRelatedIndicator   ID      `hl7:"15,len=1,table=0136,display=Employment Illness Related Indicator"`
	PurgeStatusCode                     *CWE    `hl7:"16,table=0213,display=Purge Status Code"`
	PurgeStatusDate                     DT      `hl7:"17,format=YMD,display=Purge Status Date"`
	SpecialProgramCode                  *CWE    `hl7:"18,table=0214,display=Special Program Code"`
	RetentionIndicator                  ID      `hl7:"19,len=1,table=0136,display=Retention Indicator"`
	ExpectedNumberOfInsurancePlans      NM      `hl7:"20,display=Expected Number Of Insurance Plans"`
	VisitPublicityCode                  *CWE    `hl7:"21,table=0215,display=Visit Publicity Code"`
	VisitProtectionIndicator            ID      `hl7:"22,len=1,table=0136,display=Visit Protection Indicator"`
	ClinicOrganizationName              []XON   `hl7:"23,display=Clinic Organization Name"`
	PatientStatusCode                   *CWE    `hl7:"24,table=0216,display=Patient Status Code"`
	VisitPriorityCode                   *CWE    `hl7:"25,table=0217,display=Visit Priority Code"`
	PreviousTreatmentDate               DT      `hl7:"26,format=YMD,display=Previous Treatment Date"`
	ExpectedDischargeDisposition        *CWE    `hl7:"27,table=0112,display=Expected Discharge Disposition"`
	SignatureOnFileDate                 DT      `hl7:"28,format=YMD,display=Signature On File Date"`
	FirstSimilarIllnessDate             DT      `hl7:"29,format=YMD,display=First Similar Illness Date"`
	PatientChargeAdjustmentCode         *CWE    `hl7:"30,table=0218,display=Patient Charge Adjustment Code"`
	RecurringServiceCode                *CWE    `hl7:"31,table=0219,display=Recurring Service Code"`
	BillingMediaCode                    ID      `hl7:"32,len=1,table=0136,display=Billing Media Code"`
	ExpectedSurgeryDateAndTime          DTM     `hl7:"33,format=YMDHM,display=Expected Surgery Date And Time"`
	MilitaryPartnershipCode             ID      `hl7:"34,len=1,table=0136,display=Military Partnership Code"`
	MilitaryNonAvailabilityCode         ID      `hl7:"35,len=1,table=0136,display=Military Non-availability Code"`
	NewbornBabyIndicator                ID      `hl7:"36,len=1,table=0136,display=Newborn Baby Indicator"`
	BabyDetainedIndicator               ID      `hl7:"37,len=1,table=0136,display=Baby Detained Indicator"`
	ModeOfArrivalCode                   *CWE    `hl7:"38,table=0430,display=Mode Of Arrival Code"`
	RecreationalDrugUseCode             []CWE   `hl7:"39,table=0431,display=Recreational Drug Use Code"`
	AdmissionLevelOfCareCode            *CWE    `hl7:"40,table=0432,display=Admission Level Of Care Code"`
	PrecautionCode                      []CWE   `hl7:"41,table=0433,display=Precaution Code"`
	PatientConditionCode                *CWE    `hl7:"42,table=0434,display=Patient Condition Code"`
	LivingWillCode                      *CWE    `hl7:"43,table=0315,display=Living Will Code"`
	OrganDonorCode                      *CWE    `hl7:"44,table=0316,display=Organ Donor Code"`
	AdvanceDirectiveCode                []CWE   `hl7:"45,conditional,table=0435,display=Advance Directive Code"`
	PatientStatusEffectiveDate          DT      `hl7:"46,format=YMD,display=Patient Status Effective Date"`
	ExpectedLoaReturnDateTime           DTM     `hl7:"47,conditional,format=YMDHM,display=Expected Loa Return Date/Time"`
	ExpectedPreAdmissionTestingDateTime DTM     `hl7:"48,format=YMDHM,display=Expected Pre-admission Testing Date/Time"`
	NotifyClergyCode                    []CWE   `hl7:"49,table=0534,display=Notify Clergy Code"`
	AdvanceDirectiveLastVerifiedDate    DT      `hl7:"50,format=YMD,display=Advance Directive Last Verified Date"`
}

Patient Visit - Additional Information

The PV2 segment is a continuation of information contained on the PV1 segment.

type PYE

type PYE struct {
	HL7                               HL7Name `hl7:",name=PYE,type=s"`
	SetID                             SI      `hl7:"1,seq,required,len=4,display=Set Id - Pye"`
	PayeeType                         CWE     `hl7:"2,required,table=0557,display=Payee Type"`
	PayeeRelationshipToInvoicePatient *CWE    `hl7:"3,conditional,table=0558,display=Payee Relationship To Invoice (patient)"`
	PayeeIdentificationList           *XON    `hl7:"4,conditional,display=Payee Identification List"`
	PayeePersonName                   *XPN    `hl7:"5,conditional,display=Payee Person Name"`
	PayeeAddress                      *XAD    `hl7:"6,conditional,display=Payee Address"`
	PaymentMethod                     *CWE    `hl7:"7,table=0570,display=Payment Method"`
}

Payee Information

This segment is used to define payee information.

type QAK

type QAK struct {
	HL7                 HL7Name `hl7:",name=QAK,type=s"`
	QueryTag            ST      `hl7:"1,conditional,display=Query Tag"`
	QueryResponseStatus ID      `hl7:"2,len=2,table=0208,display=Query Response Status"`
	MessageQueryName    *CWE    `hl7:"3,table=0471,display=Message Query Name"`
	HitCountTotal       NM      `hl7:"4,display=Hit Count Total"`
	ThisPayload         NM      `hl7:"5,display=This Payload"`
	HitsRemaining       NM      `hl7:"6,display=Hits Remaining"`
}

Query Acknowledgment

The QAK segment contains information sent with responses to a query. The QAK segment may appear as an optional segment placed after the (optional) ERR segment in any query response (message) to any original mode query.

type QBP_E03

type QBP_E03 struct {
	HL7              HL7Name                   `hl7:",name=QBP_E03,type=t"`
	MSH              *MSH                      `hl7:"1,required,display=Message Header"`
	SFT              []SFT                     `hl7:"2,display=Software Segment"`
	UAC              []UAC                     `hl7:"3,display=User Authentication Credential Segment"`
	QueryInformation *QBP_E03_QueryInformation `hl7:",required,display=Query Information"`
}

HealthCare Services Invoice Status Query

This message is used to query the status of a HealthCare Services Invoice. There are 3 types of queries handled by this message: 1) a specific Invoice, 2) a specific Product/Service Group or 3) a specific Product/Service Line Item. If a Provider wants to obtain information on a group of invoices (e.g., submitted in a date range), each individual Invoice must be queried.

This message may also be used to query an Invoice submitted at another Network Application ID and Network Facility ID, as long as sufficient identification information is provided to qualify the request and requestor. These are noted as Processing Rules for this message.

Note that the response to this query has the same content as an EHC^E10 – Edit/Adjudication Results message.

type QBP_E03_QueryInformation

type QBP_E03_QueryInformation struct {
	HL7 HL7Name `hl7:",name=QBP_E03_QueryInformation,type=tg"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
}

QueryInformation

type QBP_E22

type QBP_E22 struct {
	HL7   HL7Name        `hl7:",name=QBP_E22,type=t"`
	MSH   *MSH           `hl7:"1,required,display=Message Header"`
	SFT   []SFT          `hl7:"2,display=Software Segment"`
	UAC   []UAC          `hl7:"3,display=User Authentication Credential Segment"`
	Query *QBP_E22_Query `hl7:",required,display=Query"`
}

Query Authorization Request Status

This message is used to query the status of an Authorization Request. There are 2 types of queries handled by this message: 1) a specific Authorization Request or 2) a specific Product/Service Line Item. If a Provider wants to obtain information on a group of Authorization Requests (e.g., submitted in a date range), each individual Authorization Request must be queried.

type QBP_E22_Query

type QBP_E22_Query struct {
	HL7 HL7Name `hl7:",name=QBP_E22_Query,type=tg"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
}

Query

type QBP_Q11

type QBP_Q11 struct {
	HL7 HL7Name      `hl7:",name=QBP_Q11,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Q11_Qbp `hl7:",display=Qbp"`
	RCP *RCP         `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"7,display=Continuation Pointer"`
}

Query by parameter requesting an RSP segment pattern response

The QBP_Q11 structure supports a Segment Pattern Response and contains the MSH, QPD, RCP, and DSC segments. Its default trigger event is Q11. A standard or site-defined query may use this trigger event or may specify a unique trigger event value in its Query Profile. If a unique trigger event value is chosen for a site-defined query, that value SHALL begin with Z.

Note on QBP: Query By Example variant: The query by example is an extension of Query by Parameter (QBP) in which search parameters are passed by sending them in the segment which naturally carries them. A Query Profile which uses this variant SHALL replace the ellipses in the input QBP_Q11 grammar above, with the specific segments that it accepts.

Note: The indicated trigger events are the default values for MSH-9-2-Trigger event. Standard and site-defined queries may use these trigger events or may specify unique trigger event values in their Query Profiles. Unique trigger event values for site-defined queries SHALL begin with Z.

type QBP_Q11_Qbp

type QBP_Q11_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Q11_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Q13

type QBP_Q13 struct {
	HL7 HL7Name      `hl7:",name=QBP_Q13,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Q13_Qbp `hl7:",display=Qbp"`
	RDF *RDF         `hl7:"6,display=Table Row Definition"`
	RCP *RCP         `hl7:"7,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"8,display=Continuation Pointer"`
}

Query by parameter requesting an RTB - tabular response

The QBP_Q13 structure supports a Tabular Response and contains the MSH, RDF, RCP, and DSC segments. Its default trigger event is Q13. A standard or site-defined query may use this trigger event or may specify a unique trigger event value in its Query Profile. If a unique trigger event value is chosen for a site-defined query, that value SHALL begin with Z.

Unless otherwise specified in the query's Query Profile, the default value for the RDF segment shall be understood to contain all available fields from the Virtual Table. The Client may override the default RDF by specifying explicitly the columns to be returned.

type QBP_Q13_Qbp

type QBP_Q13_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Q13_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Q15

type QBP_Q15 struct {
	HL7 HL7Name `hl7:",name=QBP_Q15,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
	RCP *RCP    `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"7,display=Continuation Pointer"`
}

Query by parameter requesting an RDY display response

The QBP_Q15 structure supports a Display Response and contains the MSH, QPD, RCP, and DSC segments. Its default trigger event is Q15. A standard or site-defined query may use this trigger event or may specify a unique trigger event value in its Query Profile. If a unique trigger event value is chosen for a site-defined query, that value SHALL begin with Z.

Note on QBP: Query By Example variant: The query by example is an extension of Query by Parameter (QBP) in which search parameters are passed by sending them in the segment which naturally carries them. A Query Profile which uses this variant SHALL replace the ellipses in the input QBP_Q11 grammar above, with the specific segments that it accepts.

type QBP_Q21

type QBP_Q21 struct {
	HL7 HL7Name `hl7:",name=QBP_Q21,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"6,display=Continuation Pointer"`
}

Get person demographics

type QBP_Q22

type QBP_Q22 struct {
	HL7 HL7Name `hl7:",name=QBP_Q22,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"6,display=Continuation Pointer"`
}

Find candidates

type QBP_Q23

type QBP_Q23 struct {
	HL7 HL7Name `hl7:",name=QBP_Q23,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"6,display=Continuation Pointer"`
}

Get corresponding identifiers

type QBP_Q24

type QBP_Q24 struct {
	HL7 HL7Name `hl7:",name=QBP_Q24,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"6,display=Continuation Pointer"`
}

Allocate identifiers

type QBP_Q25

type QBP_Q25 struct {
	HL7 HL7Name `hl7:",name=QBP_Q25,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"6,display=Continuation Pointer"`
}

Personnel Information by Segment Query

Retrieve all available personnel information based upon the values of one or more commonly used search parameters

type QBP_Q31

type QBP_Q31 struct {
	HL7 HL7Name      `hl7:",name=QBP_Q31,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Q31_Qbp `hl7:",display=Qbp"`
	RCP *RCP         `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"7,display=Continuation Pointer"`
}

QBP Query Dispense history

type QBP_Q31_Qbp

type QBP_Q31_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Q31_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Q32

type QBP_Q32 struct {
	HL7 HL7Name `hl7:",name=QBP_Q32,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"6,display=Continuation Pointer"`
}

Find Candidates including Visit Information

type QBP_Z73

type QBP_Z73 struct {
	HL7 HL7Name `hl7:",name=QBP_Z73,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
}

Information about Phone Calls

type QBP_Z75

type QBP_Z75 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z75,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z75_Qbp `hl7:",display=Qbp"`
	RDF *RDF         `hl7:"6,display=Table Row Definition"`
	RCP *RCP         `hl7:"7,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"8,display=Continuation Pointer"`
}

Tabular Patient List

To find patient records that closely (as specified by the Client) match a set of input criteria using a specified algorithm.

type QBP_Z75_Qbp

type QBP_Z75_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z75_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Z77

type QBP_Z77 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z77,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z77_Qbp `hl7:",display=Qbp"`
	RDF *RDF         `hl7:"6,display=Table Row Definition"`
	RCP *RCP         `hl7:"7,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"8,display=Continuation Pointer"`
}

Tabular Patient List

To find patient records that closely (as specified by the Client) match a set of input criteria using a specified algorithm

type QBP_Z77_Qbp

type QBP_Z77_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z77_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Z79

type QBP_Z79 struct {
	HL7 HL7Name `hl7:",name=QBP_Z79,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
	RCP *RCP    `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"7,display=Continuation Pointer"`
}

Dispense Information

To retrieve patient pharmacy dispense history information from the Server

type QBP_Z81

type QBP_Z81 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z81,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z81_Qbp `hl7:",display=Qbp"`
	RCP *RCP         `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"7,display=Continuation Pointer"`
}

Dispense History

To retrieve patient pharmacy dispense history information from the Server.

type QBP_Z81_Qbp

type QBP_Z81_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z81_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Z85

type QBP_Z85 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z85,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z85_Qbp `hl7:",display=Qbp"`
	RCP *RCP         `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"7,display=Continuation Pointer"`
}

Pharmacy Information Comprehensive

To retrieve patient pharmacy history information from the Server.

type QBP_Z85_Qbp

type QBP_Z85_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z85_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Z87

type QBP_Z87 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z87,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z87_Qbp `hl7:",display=Qbp"`
	RCP *RCP         `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"7,display=Continuation Pointer"`
}

Dispense Information

To retrieve patient pharmacy dispense history information from the Server

type QBP_Z87_Qbp

type QBP_Z87_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z87_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Z89

type QBP_Z89 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z89,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z89_Qbp `hl7:",display=Qbp"`
	RCP *RCP         `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"7,display=Continuation Pointer"`
}

Lab Results History

To retrieve patient laboratory results information from the Server.

type QBP_Z89_Qbp

type QBP_Z89_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z89_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Z91

type QBP_Z91 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z91,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z91_Qbp `hl7:",display=Qbp"`
	RDF *RDF         `hl7:"6,display=Table Row Definition"`
	RCP *RCP         `hl7:"7,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"8,display=Continuation Pointer"`
}

Who Am I

Find the identity of the patient for specified medical record number(s)

type QBP_Z91_Qbp

type QBP_Z91_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z91_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Z93

type QBP_Z93 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z93,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z93_Qbp `hl7:",display=Qbp"`
	RDF *RDF         `hl7:"6,display=Table Row Definition"`
	RCP *RCP         `hl7:"7,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"8,display=Continuation Pointer"`
}

Tabular Dispense History

Returns response sorted by Date Dispensed unless otherwise specified.

type QBP_Z93_Qbp

type QBP_Z93_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z93_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Z95

type QBP_Z95 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z95,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z95_Qbp `hl7:",display=Qbp"`
	RDF *RDF         `hl7:"6,display=Table Row Definition"`
	RCP *RCP         `hl7:"7,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"8,display=Continuation Pointer"`
}

Tabular Dispense History

To retrieve patient pharmacy dispense history information from the Server.

type QBP_Z95_Qbp

type QBP_Z95_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z95_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QBP_Z97

type QBP_Z97 struct {
	HL7 HL7Name `hl7:",name=QBP_Z97,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
	RCP *RCP    `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"7,display=Continuation Pointer"`
}

Dispense History

To retrieve patient pharmacy dispense history information from the Server.

type QBP_Z99

type QBP_Z99 struct {
	HL7 HL7Name      `hl7:",name=QBP_Z99,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QBP_Z99_Qbp `hl7:",display=Qbp"`
	RDF *RDF         `hl7:"6,display=Table Row Definition"`
	RCP *RCP         `hl7:"7,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"8,display=Continuation Pointer"`
}

Who Am I

Find the identity of the patient for specified medical record number(s)

type QBP_Z99_Qbp

type QBP_Z99_Qbp struct {
	HL7 HL7Name `hl7:",name=QBP_Z99_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type QCN_J01

type QCN_J01 struct {
	HL7 HL7Name `hl7:",name=QCN_J01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QID *QID    `hl7:"4,required,display=Query Identification"`
}

Cancel query/acknowledge message

type QID

type QID struct {
	HL7              HL7Name `hl7:",name=QID,type=s"`
	QueryTag         ST      `hl7:"1,required,display=Query Tag"`
	MessageQueryName CWE     `hl7:"2,required,table=0471,display=Message Query Name"`
}

Query Identification

The QID segment contains the information necessary to uniquely identify a query. Its primary use is in query cancellation or subscription cancellation.

type QPD

type QPD struct {
	HL7                              HL7Name `hl7:",name=QPD,type=s"`
	MessageQueryName                 CWE     `hl7:"1,required,table=0471,display=Message Query Name"`
	QueryTag                         ST      `hl7:"2,conditional,display=Query Tag"`
	UserParametersInSuccessiveFields *VARIES `hl7:"3,display=User Parameters (in Successive Fields)"`
}

Query Parameter Definition

The QPD segment defines the parameters of the query.

type QRD

type QRD struct {
	HL7   HL7Name `hl7:",name=QRD,type=s"`
	Value ST      `hl7:"1,display=QRD.1"`
}

Withdrawn

type QRF

type QRF struct {
	HL7   HL7Name `hl7:",name=QRF,type=s"`
	Value ST      `hl7:"1,display=QRF.1"`
}

Withdrawn

type QRI

type QRI struct {
	HL7                 HL7Name `hl7:",name=QRI,type=s"`
	CandidateConfidence NM      `hl7:"1,display=Candidate Confidence"`
	MatchReasonCode     []CWE   `hl7:"2,len=2,table=0392,display=Match Reason Code"`
	AlgorithmDescriptor *CWE    `hl7:"3,table=0393,display=Algorithm Descriptor"`
}

Query Response Instance

The QRI segment is used to indicate the weight match for a returned record (where the responding system employs a numeric algorithm) and/or the match reason code (where the responding system uses rules or other match options).

Examples of the use of this segment appear in Chapter 3, "Patient Administration," section 3.3.57, "Find Candidates and Response."

type QRY_PC4

type QRY_PC4 struct {
	HL7 HL7Name `hl7:",name=QRY_PC4,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QRD *QRD    `hl7:"4,required,display=Withdrawn"`
	QRF *QRF    `hl7:"5,display=Withdrawn"`
}

PC/ problem query

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

The following trigger/message event is served by QRY (a query from another system). The QRD-8 Who Filter identifies the patient or account number upon which the query is defined and can contain a Format Code of R (record-oriented). If the query is based on the Patient ID and there are data associated with multiple accounts, the problem of which account data should be returned becomes an implementation issue.

type QRY_PC9

type QRY_PC9 struct {
	HL7 HL7Name `hl7:",name=QRY_PC9,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QRD *QRD    `hl7:"4,required,display=Withdrawn"`
	QRF *QRF    `hl7:"5,display=Withdrawn"`
}

PC/ goal query

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

The following trigger/message event is served by QRY (a query from another system). The QRD-8 Who Filter identifies the patient or account number upon which the query is defined and can contain a Format Code of R (record-oriented). If the query is based on the Patient ID and there are data associated with multiple accounts, the problem of which account data should be returned becomes an implementation issue.

type QRY_PCE

type QRY_PCE struct {
	HL7 HL7Name `hl7:",name=QRY_PCE,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QRD *QRD    `hl7:"4,required,display=Withdrawn"`
	QRF *QRF    `hl7:"5,display=Withdrawn"`
}

PC/ pathway (problem-oriented) query

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

The following trigger/message event is served by QRY (a query from another system). The QRD-8 Who Filter identifies the patient or account number upon which the query is defined and can contain a Format Code of R (record-oriented). If the query is based on the Patient ID and there are data associated with multiple accounts, the problem of which account data should be returned becomes an implementation issue.

type QRY_PCK

type QRY_PCK struct {
	HL7 HL7Name `hl7:",name=QRY_PCK,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QRD *QRD    `hl7:"4,required,display=Withdrawn"`
	QRF *QRF    `hl7:"5,display=Withdrawn"`
}

PC/ pathway (goal-oriented) query

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5, section 5.4. The original mode query and the QRD/QRF segments have been replaced.

The following trigger/message event is served by QRY (a query from another system). The QRD-8 Who Filter identifies the patient or account number upon which the query is defined and can contain a Format Code of R (record-oriented). If the query is based on the Patient ID and there are data associated with multiple accounts, the problem of which account data should be returned becomes an implementation issue.

type QSB_Q16

type QSB_Q16 struct {
	HL7 HL7Name `hl7:",name=QSB_Q16,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"6,display=Continuation Pointer"`
}

Create subscription

type QSB_Z83

type QSB_Z83 struct {
	HL7 HL7Name `hl7:",name=QSB_Z83,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD    `hl7:"4,required,display=Query Parameter Definition"`
	RCP *RCP    `hl7:"5,required,display=Response Control Parameter"`
	DSC *DSC    `hl7:"6,display=Continuation Pointer"`
}

ORU Subscription

Sends Lab Results, either filtered or unfiltered, as specified in the input parameters.

type QSX_J02

type QSX_J02 struct {
	HL7 HL7Name `hl7:",name=QSX_J02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	QID *QID    `hl7:"4,required,display=Query Identification"`
}

Cancel subscription/acknowledge message

type QVR_Q17

type QVR_Q17 struct {
	HL7 HL7Name      `hl7:",name=QVR_Q17,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message Header"`
	SFT []SFT        `hl7:"2,display=Software Segment"`
	UAC *UAC         `hl7:"3,display=User Authentication Credential Segment"`
	QPD *QPD         `hl7:"4,required,display=Query Parameter Definition"`
	Qbp *QVR_Q17_Qbp `hl7:",display=Qbp"`
	RCP *RCP         `hl7:"6,required,display=Response Control Parameter"`
	DSC *DSC         `hl7:"7,display=Continuation Pointer"`
}

Query for previous events

The Query for Previous Events is like a Query by Parameter with a Segment Pattern Response except that the response consists of zero to many messages of the type defined in the Query Profile rather than a single response message containing multiple iterations of the segment pattern. While the messages sent in response to a QVR will reflect events which occurred in the past, the time stamp in the message header will reflect the time the message is actually constructed (current time). It is also similar to the previous generation VQQ/RQQ Event Replay.

While the response is similar to subscription messages, it differs from subscription in that the response messages are the result of "interrogating" the database rather than events being triggered in the current timeframe. In a Query for Previous Events, the Server still has to parse the query, but avoids the handshaking protocols required in normal query/response situations. The Server acknowledges the query with the general acknowledgement message ACK. The Server then transmits a sequence of messages as if they were simulated unsolicited messages. This is useful for low end systems that unable to deal with the overhead of the query response message syntax, i.e., systems that can only process unsolicited update messages.

Systems that choose to offer the QVR should offer guidance in the Query Profile, where appropriate, concerning the scope and size of the data requested by the Client. Moreover, the Query Profile should contain language cautioning Clients of the potential for harm from getting messages out of the original sequence and/or context.

Use cases for this query are as follows: 1) to populate a database initially, 2) to recover from an extended down time on the part of the recipient, or 3) to enable systems which normally receive unsolicited data to be extended to act as a query client with minimal modification.

Note: If there is a concern that it will be difficult to distinguish these messages from any current realtime messages, e.g., if they are going down the same pipe, the data offerer might choose to designate a unique MSH-3 Sending application for the messages it sends in response to a QVR. This would allow downstream systems to recognize which messages were the result of the QVR, versus which are the result of current realtime activity on the sending system. For example, there may be 2 systems receiving pharmacy dispense messages. If system A wishes to issue a QVR to receive a historical load, system B might misinterpret the QVR results coming over the pipe as actual live data. A separate Sending Application name would allow for easy differentiation.

type QVR_Q17_Qbp

type QVR_Q17_Qbp struct {
	HL7 HL7Name `hl7:",name=QVR_Q17_Qbp,type=tg"`
	Hxx *Hxx    `hl7:"5,display=Any Hl7 Segment"`
}

Qbp

type RAS_O17

type RAS_O17 struct {
	HL7     HL7Name          `hl7:",name=RAS_O17,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *RAS_O17_Patient `hl7:",display=Patient"`
	Order   []RAS_O17_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment administration

The RAS message may be created by the administering application (e.g., nursing application) for each instance of administration for an existing order. If the administering application wants to report several administrations of medication/treatment for a given order with a single RAS message, each instance is reported by a separate (repeating) RXA segment. In addition, the administration records for a group of orders may be sent in a single message by creating repeating groups of segments at the ORC level.

In the most common case, the RAS messages would be sent from a nursing application to the pharmacy or treatment application (or to the ordering application or another clinical application), which could use the data to generate the medication administration reports. Multiple RXA segments, each corresponding to a separate administration instance for a given order, may be sent with a single ORC.

Note: The use of RAS with the trigger of O01 and RRA with the trigger O02 is maintained for backward compatibility as of v2.4 and is withdrawn as of v2.7.

type RAS_O17_Additionaldemographics

type RAS_O17_Additionaldemographics struct {
	HL7 HL7Name `hl7:",name=RAS_O17_Additionaldemographics,type=tg"`
	PD1 *PD1    `hl7:"6,required,display=Patient Additional Demographic"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Additionaldemographics

type RAS_O17_Administration

type RAS_O17_Administration struct {
	HL7         HL7Name               `hl7:",name=RAS_O17_Administration,type=tg"`
	RXA         []RXA                 `hl7:"29,required,display=Pharmacy/treatment Administration"`
	PRT         []PRT                 `hl7:"30,display=Participation Information"`
	RXR         *RXR                  `hl7:"31,required,display=Pharmacy/treatment Route"`
	Observation []RAS_O17_Observation `hl7:",display=Observation"`
}

Administration

type RAS_O17_Components

type RAS_O17_Components struct {
	HL7 HL7Name `hl7:",name=RAS_O17_Components,type=tg"`
	RXC *RXC    `hl7:"19,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"20,display=Notes And Comments"`
}

Components

type RAS_O17_Encoding

type RAS_O17_Encoding struct {
	HL7           HL7Name                 `hl7:",name=RAS_O17_Encoding,type=tg"`
	RXE           *RXE                    `hl7:"22,required,display=Pharmacy/treatment Encoded Order"`
	PRT           []PRT                   `hl7:"23,display=Participation Information"`
	NTE           []NTE                   `hl7:"24,display=Notes And Comments"`
	Timingencoded []RAS_O17_Timingencoded `hl7:",required,display=Timing_encoded"`
	RXR           []RXR                   `hl7:"27,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"28,display=Pharmacy/treatment Component Order"`
}

Encoding

type RAS_O17_Observation

type RAS_O17_Observation struct {
	HL7 HL7Name `hl7:",name=RAS_O17_Observation,type=tg"`
	OBX *OBX    `hl7:"32,required,display=Observation/result"`
	PRT []PRT   `hl7:"33,display=Participation Information"`
	NTE []NTE   `hl7:"34,display=Notes And Comments"`
}

Observation

type RAS_O17_Order

type RAS_O17_Order struct {
	HL7            HL7Name                  `hl7:",name=RAS_O17_Order,type=tg"`
	ORC            *ORC                     `hl7:"13,required,display=Common Order"`
	Timing         []RAS_O17_Timing         `hl7:",display=Timing"`
	Orderdetail    *RAS_O17_Orderdetail     `hl7:",display=Order_detail"`
	PRT            []PRT                    `hl7:"21,display=Participation Information"`
	Encoding       *RAS_O17_Encoding        `hl7:",display=Encoding"`
	Administration []RAS_O17_Administration `hl7:",required,display=Administration"`
	CTI            []CTI                    `hl7:"35,display=Clinical Trial Identification"`
}

Order

type RAS_O17_Orderdetail

type RAS_O17_Orderdetail struct {
	HL7                   HL7Name                        `hl7:",name=RAS_O17_Orderdetail,type=tg"`
	RXO                   *RXO                           `hl7:"16,required,display=Pharmacy/treatment Order"`
	Orderdetailsupplement *RAS_O17_Orderdetailsupplement `hl7:",display=Order_detail_supplement"`
}

Orderdetail

type RAS_O17_Orderdetailsupplement

type RAS_O17_Orderdetailsupplement struct {
	HL7        HL7Name              `hl7:",name=RAS_O17_Orderdetailsupplement,type=tg"`
	NTE        []NTE                `hl7:"17,required,display=Notes And Comments"`
	RXR        []RXR                `hl7:"18,required,display=Pharmacy/treatment Route"`
	Components []RAS_O17_Components `hl7:",display=Components"`
}

Orderdetailsupplement

type RAS_O17_Patient

type RAS_O17_Patient struct {
	HL7                    HL7Name                         `hl7:",name=RAS_O17_Patient,type=tg"`
	PID                    *PID                            `hl7:"5,required,display=Patient Identification"`
	Additionaldemographics *RAS_O17_Additionaldemographics `hl7:",display=Additional_demographics"`
	NTE                    []NTE                           `hl7:"8,display=Notes And Comments"`
	AL1                    []AL1                           `hl7:"9,display=Patient Allergy Information"`
	Patientvisit           *RAS_O17_Patientvisit           `hl7:",display=Patient_visit"`
}

Patient

type RAS_O17_Patientvisit

type RAS_O17_Patientvisit struct {
	HL7 HL7Name `hl7:",name=RAS_O17_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"10,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"11,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"12,display=Participation Information"`
}

Patientvisit

type RAS_O17_Timing

type RAS_O17_Timing struct {
	HL7 HL7Name `hl7:",name=RAS_O17_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"14,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"15,display=Timing/quantity Relationship"`
}

Timing

type RAS_O17_Timingencoded

type RAS_O17_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RAS_O17_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"25,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"26,display=Timing/quantity Relationship"`
}

Timingencoded

type RCD

type RCD struct {
	HL7                HL7Name `hl7:",name=RCD,len=0,type=d"`
	SegmentFieldName   ST      `` /* 1358-byte string literal not displayed */
	Hl7DataType        ID      `` /* 131-byte string literal not displayed */
	MaximumColumnWidth NM      `` /* 149-byte string literal not displayed */
}

Row Column Definition

This specifies the format of a column in terms of a segment field name, a data type, and a maximum length.

Example: This defines a column containing the value of the "last name" component of PID-5, expressed as a ST data type with a maximum width of 20. |@PID.5.1^ST^20|

type RCI_I05

type RCI_I05 struct {
	HL7         HL7Name              `hl7:",name=RCI_I05,type=t"`
	MSH         *MSH                 `hl7:"1,required,display=Message Header"`
	SFT         []SFT                `hl7:"2,display=Software Segment"`
	UAC         *UAC                 `hl7:"3,display=User Authentication Credential Segment"`
	MSA         *MSA                 `hl7:"4,display=Message Acknowledgment"`
	QRD         *QRD                 `hl7:"5,required,display=Withdrawn"`
	QRF         *QRF                 `hl7:"6,display=Withdrawn"`
	Provider    []RCI_I05_Provider   `hl7:",required,display=Provider"`
	PID         *PID                 `hl7:"9,required,display=Patient Identification"`
	DG1         []DG1                `hl7:"10,display=Diagnosis"`
	DRG         []DRG                `hl7:"11,display=Diagnosis Related Group"`
	AL1         []AL1                `hl7:"12,display=Patient Allergy Information"`
	Observation *RCI_I05_Observation `hl7:",display=Observation"`
	NTE         []NTE                `hl7:"17,display=Notes And Comments"`
}

Return clinical information

type RCI_I05_Observation

type RCI_I05_Observation struct {
	HL7     HL7Name          `hl7:",name=RCI_I05_Observation,type=tg"`
	OBR     *OBR             `hl7:"13,required,display=Observation Request"`
	NTE     []NTE            `hl7:"14,display=Notes And Comments"`
	Results *RCI_I05_Results `hl7:",display=Results"`
}

Observation

type RCI_I05_Provider

type RCI_I05_Provider struct {
	HL7 HL7Name `hl7:",name=RCI_I05_Provider,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Provider

type RCI_I05_Results

type RCI_I05_Results struct {
	HL7 HL7Name `hl7:",name=RCI_I05_Results,type=tg"`
	OBX *OBX    `hl7:"15,required,display=Observation/result"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Results

type RCL_I06

type RCL_I06 struct {
	HL7      HL7Name            `hl7:",name=RCL_I06,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	MSA      *MSA               `hl7:"4,display=Message Acknowledgment"`
	QRD      *QRD               `hl7:"5,required,display=Withdrawn"`
	QRF      *QRF               `hl7:"6,display=Withdrawn"`
	Provider []RCL_I06_Provider `hl7:",required,display=Provider"`
	PID      *PID               `hl7:"9,required,display=Patient Identification"`
	DG1      []DG1              `hl7:"10,display=Diagnosis"`
	DRG      []DRG              `hl7:"11,display=Diagnosis Related Group"`
	AL1      []AL1              `hl7:"12,display=Patient Allergy Information"`
	NTE      []NTE              `hl7:"13,display=Notes And Comments"`
	DSP      []DSP              `hl7:"14,display=Display Data"`
	DSC      *DSC               `hl7:"15,display=Continuation Pointer"`
}

Return clinical list

type RCL_I06_Provider

type RCL_I06_Provider struct {
	HL7 HL7Name `hl7:",name=RCL_I06_Provider,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Provider

type RCP

type RCP struct {
	HL7                      HL7Name `hl7:",name=RCP,type=s"`
	QueryPriority            ID      `hl7:"1,len=1,table=0091,display=Query Priority"`
	QuantityLimitedRequest   *CQ     `hl7:"2,display=Quantity Limited Request"`
	ResponseModality         *CNE    `hl7:"3,table=0394,display=Response Modality"`
	ExecutionAndDeliveryTime DTM     `hl7:"4,conditional,format=YMDHM,display=Execution And Delivery Time"`
	ModifyIndicator          ID      `hl7:"5,len=1,table=0395,display=Modify Indicator"`
	SortByField              []SRT   `hl7:"6,display=Sort-by Field"`
	SegmentGroupInclusion    []ID    `hl7:"7,len=256,table=0391,display=Segment Group Inclusion"`
}

Response Control Parameter

The RCP segment is used to restrict the amount of data that should be returned in response to query.

type RDE_O11

type RDE_O11 struct {
	HL7     HL7Name          `hl7:",name=RDE_O11,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *RDE_O11_Patient `hl7:",display=Patient"`
	Order   []RDE_O11_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment encoded order

This message communicates the pharmacy or treatment application's encoding of the pharmacy/treatment order ,OMP, message. It may be sent as an unsolicited message to report on either a single order or multiple pharmacy/treatment orders for a patient.

The RDE/RRE message pair can also be used to communicate a refill authorization request; however, a specific trigger event has been assigned. See section 4A.3.13 "RDE - Pharmacy/Treatment Refill Authorization Request Message (Event O25)." As a site-specific variant, the original order segments (RXO, RXRs, associated RXCs, and any NTEs) may be sent optionally (for comparison).

Note: The RXCs which follow the RXO may not be fully encoded, but those that follow the RXE must be fully encoded. The NTE segment(s) following the PD1 segment are intended to communicate notes and comments relative to the patient. The NTE segment(s) following the RXO segment are intended to communicate notes and comments relative to the pharmacy/treatment order. The NTE segment(s) following the RXE segment are intended to communicate notes and comments relative to the encoded order. The NTE segment(s) following the RXC segment are intended to communicate notes and comments relative to the component(s). The NTE segment following the OBX segment is intended to communicate notes and comments relative to the results.

type RDE_O11_Component

type RDE_O11_Component struct {
	HL7 HL7Name `hl7:",name=RDE_O11_Component,type=tg"`
	RXC *RXC    `hl7:"23,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"24,display=Notes And Comments"`
}

Component

type RDE_O11_Insurance

type RDE_O11_Insurance struct {
	HL7 HL7Name `hl7:",name=RDE_O11_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type RDE_O11_Observation

type RDE_O11_Observation struct {
	HL7 HL7Name `hl7:",name=RDE_O11_Observation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation/result"`
	PRT []PRT   `hl7:"34,display=Participation Information"`
	NTE []NTE   `hl7:"35,display=Notes And Comments"`
}

Observation

type RDE_O11_Order

type RDE_O11_Order struct {
	HL7           HL7Name                 `hl7:",name=RDE_O11_Order,type=tg"`
	ORC           *ORC                    `hl7:"17,required,display=Common Order"`
	Timing        []RDE_O11_Timing        `hl7:",display=Timing"`
	Orderdetail   *RDE_O11_Orderdetail    `hl7:",display=Order_detail"`
	PRT           []PRT                   `hl7:"25,display=Participation Information"`
	RXE           *RXE                    `hl7:"26,required,display=Pharmacy/treatment Encoded Order"`
	PRT2          []PRT                   `hl7:"27,display=Participation Information"`
	NTE           []NTE                   `hl7:"28,display=Notes And Comments"`
	Timingencoded []RDE_O11_Timingencoded `hl7:",required,display=Timing_encoded"`
	RXR           []RXR                   `hl7:"31,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"32,display=Pharmacy/treatment Component Order"`
	Observation   []RDE_O11_Observation   `hl7:",display=Observation"`
	FT1           []FT1                   `hl7:"36,display=Financial Transaction"`
	BLG           *BLG                    `hl7:"37,display=Billing"`
	CTI           []CTI                   `hl7:"38,display=Clinical Trial Identification"`
}

Order

type RDE_O11_Orderdetail

type RDE_O11_Orderdetail struct {
	HL7       HL7Name             `hl7:",name=RDE_O11_Orderdetail,type=tg"`
	RXO       *RXO                `hl7:"20,required,display=Pharmacy/treatment Order"`
	NTE       []NTE               `hl7:"21,display=Notes And Comments"`
	RXR       []RXR               `hl7:"22,required,display=Pharmacy/treatment Route"`
	Component []RDE_O11_Component `hl7:",display=Component"`
}

Orderdetail

type RDE_O11_Patient

type RDE_O11_Patient struct {
	HL7          HL7Name               `hl7:",name=RDE_O11_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	Patientvisit *RDE_O11_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []RDE_O11_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"15,display=Guarantor"`
	AL1          []AL1                 `hl7:"16,display=Patient Allergy Information"`
}

Patient

type RDE_O11_Patientvisit

type RDE_O11_Patientvisit struct {
	HL7 HL7Name `hl7:",name=RDE_O11_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Patientvisit

type RDE_O11_Timing

type RDE_O11_Timing struct {
	HL7 HL7Name `hl7:",name=RDE_O11_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"18,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"19,display=Timing/quantity Relationship"`
}

Timing

type RDE_O11_Timingencoded

type RDE_O11_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RDE_O11_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"29,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"30,display=Timing/quantity Relationship"`
}

Timingencoded

type RDE_O25

type RDE_O25 struct {
	HL7     HL7Name          `hl7:",name=RDE_O25,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *RDE_O25_Patient `hl7:",display=Patient"`
	Order   []RDE_O25_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment refill authorization request

The RDE/RRE is used to communicate a refill authorization request originating with the pharmacy. This message replicates the standard RDE message with a different trigger event code to indicate the specific use case of a refill authorization request.

type RDE_O25_Component

type RDE_O25_Component struct {
	HL7 HL7Name `hl7:",name=RDE_O25_Component,type=tg"`
	RXC *RXC    `hl7:"23,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"24,display=Notes And Comments"`
}

Component

type RDE_O25_Insurance

type RDE_O25_Insurance struct {
	HL7 HL7Name `hl7:",name=RDE_O25_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type RDE_O25_Observation

type RDE_O25_Observation struct {
	HL7 HL7Name `hl7:",name=RDE_O25_Observation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation/result"`
	PRT []PRT   `hl7:"34,display=Participation Information"`
	NTE []NTE   `hl7:"35,display=Notes And Comments"`
}

Observation

type RDE_O25_Order

type RDE_O25_Order struct {
	HL7           HL7Name                 `hl7:",name=RDE_O25_Order,type=tg"`
	ORC           *ORC                    `hl7:"17,required,display=Common Order"`
	Timing        []RDE_O25_Timing        `hl7:",display=Timing"`
	Orderdetail   *RDE_O25_Orderdetail    `hl7:",display=Order_detail"`
	PRT           []PRT                   `hl7:"25,display=Participation Information"`
	RXE           *RXE                    `hl7:"26,required,display=Pharmacy/treatment Encoded Order"`
	PRT2          []PRT                   `hl7:"27,display=Participation Information"`
	NTE           []NTE                   `hl7:"28,display=Notes And Comments"`
	Timingencoded []RDE_O25_Timingencoded `hl7:",required,display=Timing_encoded"`
	RXR           []RXR                   `hl7:"31,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"32,display=Pharmacy/treatment Component Order"`
	Observation   []RDE_O25_Observation   `hl7:",display=Observation"`
	FT1           []FT1                   `hl7:"36,display=Financial Transaction"`
	BLG           *BLG                    `hl7:"37,display=Billing"`
	CTI           []CTI                   `hl7:"38,display=Clinical Trial Identification"`
}

Order

type RDE_O25_Orderdetail

type RDE_O25_Orderdetail struct {
	HL7       HL7Name             `hl7:",name=RDE_O25_Orderdetail,type=tg"`
	RXO       *RXO                `hl7:"20,required,display=Pharmacy/treatment Order"`
	NTE       []NTE               `hl7:"21,display=Notes And Comments"`
	RXR       []RXR               `hl7:"22,required,display=Pharmacy/treatment Route"`
	Component []RDE_O25_Component `hl7:",display=Component"`
}

Orderdetail

type RDE_O25_Patient

type RDE_O25_Patient struct {
	HL7          HL7Name               `hl7:",name=RDE_O25_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Additional Demographic"`
	PRT          []PRT                 `hl7:"7,display=Participation Information"`
	NTE          []NTE                 `hl7:"8,display=Notes And Comments"`
	Patientvisit *RDE_O25_Patientvisit `hl7:",display=Patient_visit"`
	Insurance    []RDE_O25_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"15,display=Guarantor"`
	AL1          []AL1                 `hl7:"16,display=Patient Allergy Information"`
}

Patient

type RDE_O25_Patientvisit

type RDE_O25_Patientvisit struct {
	HL7 HL7Name `hl7:",name=RDE_O25_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"9,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"10,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Patientvisit

type RDE_O25_Timing

type RDE_O25_Timing struct {
	HL7 HL7Name `hl7:",name=RDE_O25_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"18,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"19,display=Timing/quantity Relationship"`
}

Timing

type RDE_O25_Timingencoded

type RDE_O25_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RDE_O25_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"29,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"30,display=Timing/quantity Relationship"`
}

Timingencoded

type RDF

type RDF struct {
	HL7                   HL7Name `hl7:",name=RDF,type=s"`
	NumberOfColumnsPerRow NM      `hl7:"1,required,display=Number Of Columns Per Row"`
	ColumnDescription     []RCD   `hl7:"2,required,display=Column Description"`
}

Table Row Definition

The RDF segment defines the content of the row data segments (RDT) in the tabular response (RTB). - As an optional segment in a query either a QBP or QBS, this segment can be used to limit the number of columns returned and to specify what column positions the fields occupy (where supported, these features can be used to override the defaults for the particular query). If omitted, all fields defined for the query are returned in their default column order. - As a required segment in a tabular response (RTB) to either a QBP or QBS, this segment defines the contents of the table row data (RDT) segments that follows. It is not necessarily an echo back of the segment as it appeared in the query.

type RDR_RDR

type RDR_RDR struct {
	HL7        HL7Name              `hl7:",name=RDR_RDR,type=t"`
	MSH        *MSH                 `hl7:"1,required,display=Message Header"`
	MSA        *MSA                 `hl7:"2,required,display=Message Acknowledgment"`
	ERR        []ERR                `hl7:"3,display=Error"`
	SFT        *SFT                 `hl7:"4,display=Software Segment"`
	UAC        *UAC                 `hl7:"5,display=User Authentication Credential Segment"`
	Definition []RDR_RDR_Definition `hl7:",required,display=Definition"`
	DSC        *DSC                 `hl7:"21,display=Continuation Pointer"`
}

Pharmacy/treatment Dispense Information

type RDR_RDR_Definition

type RDR_RDR_Definition struct {
	HL7     HL7Name          `hl7:",name=RDR_RDR_Definition,type=tg"`
	QRD     *QRD             `hl7:"6,required,display=Withdrawn"`
	QRF     *QRF             `hl7:"7,display=Withdrawn"`
	Patient *RDR_RDR_Patient `hl7:",display=Patient"`
	Order   []RDR_RDR_Order  `hl7:",required,display=Order"`
}

Definition

type RDR_RDR_Dispense

type RDR_RDR_Dispense struct {
	HL7 HL7Name `hl7:",name=RDR_RDR_Dispense,type=tg"`
	RXD *RXD    `hl7:"18,required,display=Pharmacy/treatment Dispense"`
	RXR []RXR   `hl7:"19,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"20,display=Pharmacy/treatment Component Order"`
}

Dispense

type RDR_RDR_Encoding

type RDR_RDR_Encoding struct {
	HL7           HL7Name                 `hl7:",name=RDR_RDR_Encoding,type=tg"`
	RXE           *RXE                    `hl7:"13,required,display=Pharmacy/treatment Encoded Order"`
	Timingencoded []RDR_RDR_Timingencoded `hl7:",display=Timing_encoded"`
	RXR           []RXR                   `hl7:"16,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"17,display=Pharmacy/treatment Component Order"`
}

Encoding

type RDR_RDR_Order

type RDR_RDR_Order struct {
	HL7      HL7Name            `hl7:",name=RDR_RDR_Order,type=tg"`
	ORC      *ORC               `hl7:"10,required,display=Common Order"`
	Timing   []RDR_RDR_Timing   `hl7:",display=Timing"`
	Encoding *RDR_RDR_Encoding  `hl7:",display=Encoding"`
	Dispense []RDR_RDR_Dispense `hl7:",required,display=Dispense"`
}

Order

type RDR_RDR_Patient

type RDR_RDR_Patient struct {
	HL7 HL7Name `hl7:",name=RDR_RDR_Patient,type=tg"`
	PID *PID    `hl7:"8,required,display=Patient Identification"`
	NTE []NTE   `hl7:"9,display=Notes And Comments"`
}

Patient

type RDR_RDR_Timing

type RDR_RDR_Timing struct {
	HL7 HL7Name `hl7:",name=RDR_RDR_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"11,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"12,display=Timing/quantity Relationship"`
}

Timing

type RDR_RDR_Timingencoded

type RDR_RDR_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RDR_RDR_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"14,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"15,display=Timing/quantity Relationship"`
}

Timingencoded

type RDS_O13

type RDS_O13 struct {
	HL7     HL7Name          `hl7:",name=RDS_O13,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *RDS_O13_Patient `hl7:",display=Patient"`
	Order   []RDS_O13_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment dispense

The RDS message may be created by the pharmacy/treatment application for each instance of dispensing a drug or treatment to fill an existing order or orders. In the most common case, the RDS messages would be routed to a Nursing application or to some clinical application, which needs the data about drugs dispensed or treatments given. As a site-specific variant, the original order segments (RXO, RXE and their associated RXR/RXCs) may be sent optionally (for comparison).

The ORC must have the filler order number and the order control code RE. The RXE and associated RXCs may be present if the receiving application needs any of their data. The RXD carries the dispense data for a given issuance of medication: thus it may describe a single dose, a half-day dose, a daily dose, a refill of a prescription, etc. The RXD is not a complete record of an order. Use the RXO and RXE segments if a complete order is needed. It is a record from the pharmacy or treatment supplier to the Nursing application (or other) with drug/treatment dispense and administration instructions.

The FT1 segment is optional and repeating in order to accommodate multiple charge, benefit and pricing situations. Example use cases demonstrating zero, one and two FT1 segments follow:

In the case where the RDS message represents a dispense event that is in process (i.e., has not been received by the patient), the financial transactions associated with the dispense do not yet exist. Until the financial transactions associated with the dispense event have been completed, no FT1 segment may exist in the message.

In the case where the RDS message represents a dispense event that has been received by the patient, and thus all financial transactions have been completed, the RDS message may contain one or more FT1 segments. Examples of single and multiple FT1 segments follow.

Payment for the dispense event completed by a single payor: MSH|^&~\|Pharm|GenHosp|CIS|GenHosp|2006082911150700||RDS^O13^RDS_O13|...<cr> PID|...<cr> ORC|RE|...<cr> RXD|1|00310‐0131‐10^LISINOPRIL 10MG TABLET^NDC|200607150830|100|TAB|...<cr> FT1|1|||200607151035||PY|00310‐0131‐10^LISINOPRIL 10MG TABLET^NDC|||100|125.43&USD|...<cr>

Payment for the dispense event involves multiple payment sources: MSH|^&~\|Pharm|GenHosp|CIS|GenHosp|2006082213000700||RDS^O13^RDS_O13|...<cr> PID|...<cr> ORC|RE|...<cr> RXD|1|00340‐0241‐10^VERAPAMIL 120MG TABLET^NDC|200607200940|100|TAB|...<cr> FT1|1|||200607211055||CD|00340024110^VERAPAMIL 120MG TABLET ^NDC|||100|55.43&USD|...<cr> (amount paid by insurance) FT1|2|||200607211055||CP|00340024110^VERAPAMIL 120MG TABLET ^NDC|||100|5.00&USD|...<cr> (copay paid by patient)

The use of RDS with the trigger of O01 and RRD with the trigger O02 is maintained for backward compatibility as of v2.4 and is withdrawn as of v2.7.

type RDS_O13_Additionaldemographics

type RDS_O13_Additionaldemographics struct {
	HL7 HL7Name `hl7:",name=RDS_O13_Additionaldemographics,type=tg"`
	PD1 *PD1    `hl7:"6,required,display=Patient Additional Demographic"`
	PRT []PRT   `hl7:"7,display=Participation Information"`
}

Additionaldemographics

type RDS_O13_Component

type RDS_O13_Component struct {
	HL7 HL7Name `hl7:",name=RDS_O13_Component,type=tg"`
	RXC *RXC    `hl7:"19,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"20,display=Notes And Comments"`
}

Component

type RDS_O13_Encoding

type RDS_O13_Encoding struct {
	HL7           HL7Name                 `hl7:",name=RDS_O13_Encoding,type=tg"`
	RXE           *RXE                    `hl7:"22,required,display=Pharmacy/treatment Encoded Order"`
	PRT           []PRT                   `hl7:"23,display=Participation Information"`
	NTE           []NTE                   `hl7:"24,display=Notes And Comments"`
	Timingencoded []RDS_O13_Timingencoded `hl7:",required,display=Timing_encoded"`
	RXR           []RXR                   `hl7:"27,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"28,display=Pharmacy/treatment Component Order"`
}

Encoding

type RDS_O13_Observation

type RDS_O13_Observation struct {
	HL7 HL7Name `hl7:",name=RDS_O13_Observation,type=tg"`
	OBX *OBX    `hl7:"34,required,display=Observation/result"`
	PRT []PRT   `hl7:"35,display=Participation Information"`
	NTE []NTE   `hl7:"36,display=Notes And Comments"`
}

Observation

type RDS_O13_Order

type RDS_O13_Order struct {
	HL7         HL7Name               `hl7:",name=RDS_O13_Order,type=tg"`
	ORC         *ORC                  `hl7:"13,required,display=Common Order"`
	Timing      []RDS_O13_Timing      `hl7:",display=Timing"`
	Orderdetail *RDS_O13_Orderdetail  `hl7:",display=Order_detail"`
	PRT         []PRT                 `hl7:"21,display=Participation Information"`
	Encoding    *RDS_O13_Encoding     `hl7:",display=Encoding"`
	RXD         *RXD                  `hl7:"29,required,display=Pharmacy/treatment Dispense"`
	PRT2        []PRT                 `hl7:"30,display=Participation Information"`
	NTE         []NTE                 `hl7:"31,display=Notes And Comments"`
	RXR         []RXR                 `hl7:"32,required,display=Pharmacy/treatment Route"`
	RXC         []RXC                 `hl7:"33,display=Pharmacy/treatment Component Order"`
	Observation []RDS_O13_Observation `hl7:",display=Observation"`
	FT1         []FT1                 `hl7:"37,display=Financial Transaction"`
}

Order

type RDS_O13_Orderdetail

type RDS_O13_Orderdetail struct {
	HL7                   HL7Name                        `hl7:",name=RDS_O13_Orderdetail,type=tg"`
	RXO                   *RXO                           `hl7:"16,required,display=Pharmacy/treatment Order"`
	Orderdetailsupplement *RDS_O13_Orderdetailsupplement `hl7:",display=Order_detail_supplement"`
}

Orderdetail

type RDS_O13_Orderdetailsupplement

type RDS_O13_Orderdetailsupplement struct {
	HL7       HL7Name             `hl7:",name=RDS_O13_Orderdetailsupplement,type=tg"`
	NTE       []NTE               `hl7:"17,required,display=Notes And Comments"`
	RXR       []RXR               `hl7:"18,required,display=Pharmacy/treatment Route"`
	Component []RDS_O13_Component `hl7:",display=Component"`
}

Orderdetailsupplement

type RDS_O13_Patient

type RDS_O13_Patient struct {
	HL7                    HL7Name                         `hl7:",name=RDS_O13_Patient,type=tg"`
	PID                    *PID                            `hl7:"5,required,display=Patient Identification"`
	Additionaldemographics *RDS_O13_Additionaldemographics `hl7:",display=Additional_demographics"`
	NTE                    []NTE                           `hl7:"8,display=Notes And Comments"`
	AL1                    []AL1                           `hl7:"9,display=Patient Allergy Information"`
	Patientvisit           *RDS_O13_Patientvisit           `hl7:",display=Patient_visit"`
}

Patient

type RDS_O13_Patientvisit

type RDS_O13_Patientvisit struct {
	HL7 HL7Name `hl7:",name=RDS_O13_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"10,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"11,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"12,display=Participation Information"`
}

Patientvisit

type RDS_O13_Timing

type RDS_O13_Timing struct {
	HL7 HL7Name `hl7:",name=RDS_O13_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"14,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"15,display=Timing/quantity Relationship"`
}

Timing

type RDS_O13_Timingencoded

type RDS_O13_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RDS_O13_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"25,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"26,display=Timing/quantity Relationship"`
}

Timingencoded

type RDT

type RDT struct {
	HL7         HL7Name `hl7:",name=RDT,type=s"`
	ColumnValue VARIES  `hl7:"1,required,display=Column Value"`
}

Table Row Data

The RDT segment contains the row data of the tabular data response message (TBR).

type RDY_K15

type RDY_K15 struct {
	HL7 HL7Name `hl7:",name=RDY_K15,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR *ERR    `hl7:"5,display=Error"`
	QAK *QAK    `hl7:"6,required,display=Query Acknowledgment"`
	QPD *QPD    `hl7:"7,required,display=Query Parameter Definition"`
	DSP []DSP   `hl7:"8,display=Display Data"`
	DSC *DSC    `hl7:"9,display=Continuation Pointer"`
}

Display response in response to QBP^Q15

The RDY_K15 supports a Display Response to the QBP and contains the MSH, MSA, ERR, QAK, DSP, and the DSC. Its default trigger event is K15. A standard or site-defined response may use this trigger event or may specify a unique trigger event value in its Query Profile. If a unique trigger event value is chosen for a site-defined response, that value SHALL begin with Z.

Note: The indicated trigger events are the default values for MSH-9-2-Trigger event. Standard and site-defined queries may use these trigger events or may specify unique trigger event values in their Query Profiles. Unique trigger event values for site-defined queries SHALL begin with Z.

type RDY_Z80

type RDY_Z80 struct {
	HL7            HL7Name                 `hl7:",name=RDY_Z80,type=t"`
	MSH            *MSH                    `hl7:"1,required,display=Message Header"`
	SFT            []SFT                   `hl7:"2,display=Software Segment"`
	UAC            *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA            *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	ERR            *ERR                    `hl7:"5,display=Error"`
	QAK            *QAK                    `hl7:"6,required,display=Query Acknowledgment"`
	QPD            *QPD                    `hl7:"7,required,display=Query Parameter Definition"`
	Segmentpattern *RDY_Z80_Segmentpattern `hl7:",display=Segment_pattern"`
	DSC            *DSC                    `hl7:"9,display=Continuation Pointer"`
}

Dispense Information (Response)

Returns data formatted for screen display. Data are sorted by Medication Dispensed unless otherwise specified in SortControl.

type RDY_Z80_Segmentpattern

type RDY_Z80_Segmentpattern struct {
	HL7 HL7Name `hl7:",name=RDY_Z80_Segmentpattern,type=tg"`
	Hxx *Hxx    `hl7:"8,required,display=Any Hl7 Segment"`
}

Segmentpattern

type RDY_Z98

type RDY_Z98 struct {
	HL7 HL7Name `hl7:",name=RDY_Z98,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	MSA *MSA    `hl7:"4,required,display=Message Acknowledgment"`
	ERR *ERR    `hl7:"5,display=Error"`
	QAK *QAK    `hl7:"6,required,display=Query Acknowledgment"`
	QPD *QPD    `hl7:"7,required,display=Query Parameter Definition"`
	DSP []DSP   `hl7:"8,display=Display Data"`
	DSC *DSC    `hl7:"9,display=Continuation Pointer"`
}

Dispense History (Response)

Returns data formatted for screen display. Data are sorted by Medication Dispensed unless otherwise specified in SortControl.

type REF_I12

type REF_I12 struct {
	HL7                  HL7Name                       `hl7:",name=REF_I12,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  *UAC                          `hl7:"3,display=User Authentication Credential Segment"`
	RF1                  *RF1                          `hl7:"4,display=Referral Information"`
	Authorizationcontact *REF_I12_Authorizationcontact `hl7:",display=Authorization_contact"`
	Providercontact      []REF_I12_Providercontact     `hl7:",required,display=Provider_contact"`
	PID                  *PID                          `hl7:"9,required,display=Patient Identification"`
	NK1                  []NK1                         `hl7:"10,display=Next Of Kin / Associated Parties"`
	GT1                  []GT1                         `hl7:"11,display=Guarantor"`
	Insurance            []REF_I12_Insurance           `hl7:",display=Insurance"`
	ACC                  *ACC                          `hl7:"15,display=Accident"`
	DG1                  []DG1                         `hl7:"16,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"17,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"18,display=Patient Allergy Information"`
	Procedure            []REF_I12_Procedure           `hl7:",display=Procedure"`
	Observation          []REF_I12_Observation         `hl7:",display=Observation"`
	Patientvisit         *REF_I12_Patientvisit         `hl7:",display=Patient_visit"`
	NTE                  []NTE                         `hl7:"28,display=Notes And Comments"`
}

Patient referral

This event triggers a message to be sent from one healthcare provider to another regarding a specific patient. The referral message may contain patient demographic information, specific medical procedures to be performed (accompanied by previously obtained authorizations) and relevant clinical information pertinent to the patient's case.

type REF_I12_Authorizationcontact

type REF_I12_Authorizationcontact struct {
	HL7 HL7Name `hl7:",name=REF_I12_Authorizationcontact,type=tg"`
	AUT *AUT    `hl7:"5,required,display=Authorization Information"`
	CTD *CTD    `hl7:"6,display=Contact Data"`
}

Authorizationcontact

type REF_I12_Authorizationcontact2

type REF_I12_Authorizationcontact2 struct {
	HL7 HL7Name `hl7:",name=REF_I12_Authorizationcontact2,type=tg"`
	AUT *AUT    `hl7:"20,required,display=Authorization Information"`
	CTD *CTD    `hl7:"21,display=Contact Data"`
}

Authorizationcontact2

type REF_I12_Insurance

type REF_I12_Insurance struct {
	HL7 HL7Name `hl7:",name=REF_I12_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type REF_I12_Observation

type REF_I12_Observation struct {
	HL7          HL7Name                `hl7:",name=REF_I12_Observation,type=tg"`
	OBR          *OBR                   `hl7:"22,required,display=Observation Request"`
	NTE          []NTE                  `hl7:"23,display=Notes And Comments"`
	Resultsnotes []REF_I12_Resultsnotes `hl7:",display=Results_notes"`
}

Observation

type REF_I12_Patientvisit

type REF_I12_Patientvisit struct {
	HL7 HL7Name `hl7:",name=REF_I12_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"26,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"27,display=Patient Visit - Additional Information"`
}

Patientvisit

type REF_I12_Procedure

type REF_I12_Procedure struct {
	HL7                   HL7Name                        `hl7:",name=REF_I12_Procedure,type=tg"`
	PR1                   *PR1                           `hl7:"19,required,display=Procedures"`
	Authorizationcontact2 *REF_I12_Authorizationcontact2 `hl7:",display=Authorization_contact2"`
}

Procedure

type REF_I12_Providercontact

type REF_I12_Providercontact struct {
	HL7 HL7Name `hl7:",name=REF_I12_Providercontact,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Providercontact

type REF_I12_Resultsnotes

type REF_I12_Resultsnotes struct {
	HL7 HL7Name `hl7:",name=REF_I12_Resultsnotes,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Resultsnotes

type REF_I13

type REF_I13 struct {
	HL7                  HL7Name                       `hl7:",name=REF_I13,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  *UAC                          `hl7:"3,display=User Authentication Credential Segment"`
	RF1                  *RF1                          `hl7:"4,display=Referral Information"`
	Authorizationcontact *REF_I13_Authorizationcontact `hl7:",display=Authorization_contact"`
	Providercontact      []REF_I13_Providercontact     `hl7:",required,display=Provider_contact"`
	PID                  *PID                          `hl7:"9,required,display=Patient Identification"`
	NK1                  []NK1                         `hl7:"10,display=Next Of Kin / Associated Parties"`
	GT1                  []GT1                         `hl7:"11,display=Guarantor"`
	Insurance            []REF_I13_Insurance           `hl7:",display=Insurance"`
	ACC                  *ACC                          `hl7:"15,display=Accident"`
	DG1                  []DG1                         `hl7:"16,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"17,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"18,display=Patient Allergy Information"`
	Procedure            []REF_I13_Procedure           `hl7:",display=Procedure"`
	Observation          []REF_I13_Observation         `hl7:",display=Observation"`
	Patientvisit         *REF_I13_Patientvisit         `hl7:",display=Patient_visit"`
	NTE                  []NTE                         `hl7:"28,display=Notes And Comments"`
}

Modify patient referral

This event triggers a message to be sent from one healthcare provider to another regarding changes to an existing referral. Changes in a referral may include additional instructions from the referring provider, additional clinical information, and even additional information on patient demographics.

type REF_I13_Authorizationcontact

type REF_I13_Authorizationcontact struct {
	HL7 HL7Name `hl7:",name=REF_I13_Authorizationcontact,type=tg"`
	AUT *AUT    `hl7:"5,required,display=Authorization Information"`
	CTD *CTD    `hl7:"6,display=Contact Data"`
}

Authorizationcontact

type REF_I13_Authorizationcontact2

type REF_I13_Authorizationcontact2 struct {
	HL7 HL7Name `hl7:",name=REF_I13_Authorizationcontact2,type=tg"`
	AUT *AUT    `hl7:"20,required,display=Authorization Information"`
	CTD *CTD    `hl7:"21,display=Contact Data"`
}

Authorizationcontact2

type REF_I13_Insurance

type REF_I13_Insurance struct {
	HL7 HL7Name `hl7:",name=REF_I13_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type REF_I13_Observation

type REF_I13_Observation struct {
	HL7          HL7Name                `hl7:",name=REF_I13_Observation,type=tg"`
	OBR          *OBR                   `hl7:"22,required,display=Observation Request"`
	NTE          []NTE                  `hl7:"23,display=Notes And Comments"`
	Resultsnotes []REF_I13_Resultsnotes `hl7:",display=Results_notes"`
}

Observation

type REF_I13_Patientvisit

type REF_I13_Patientvisit struct {
	HL7 HL7Name `hl7:",name=REF_I13_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"26,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"27,display=Patient Visit - Additional Information"`
}

Patientvisit

type REF_I13_Procedure

type REF_I13_Procedure struct {
	HL7                   HL7Name                        `hl7:",name=REF_I13_Procedure,type=tg"`
	PR1                   *PR1                           `hl7:"19,required,display=Procedures"`
	Authorizationcontact2 *REF_I13_Authorizationcontact2 `hl7:",display=Authorization_contact2"`
}

Procedure

type REF_I13_Providercontact

type REF_I13_Providercontact struct {
	HL7 HL7Name `hl7:",name=REF_I13_Providercontact,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Providercontact

type REF_I13_Resultsnotes

type REF_I13_Resultsnotes struct {
	HL7 HL7Name `hl7:",name=REF_I13_Resultsnotes,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Resultsnotes

type REF_I14

type REF_I14 struct {
	HL7                  HL7Name                       `hl7:",name=REF_I14,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  *UAC                          `hl7:"3,display=User Authentication Credential Segment"`
	RF1                  *RF1                          `hl7:"4,display=Referral Information"`
	Authorizationcontact *REF_I14_Authorizationcontact `hl7:",display=Authorization_contact"`
	Providercontact      []REF_I14_Providercontact     `hl7:",required,display=Provider_contact"`
	PID                  *PID                          `hl7:"9,required,display=Patient Identification"`
	NK1                  []NK1                         `hl7:"10,display=Next Of Kin / Associated Parties"`
	GT1                  []GT1                         `hl7:"11,display=Guarantor"`
	Insurance            []REF_I14_Insurance           `hl7:",display=Insurance"`
	ACC                  *ACC                          `hl7:"15,display=Accident"`
	DG1                  []DG1                         `hl7:"16,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"17,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"18,display=Patient Allergy Information"`
	Procedure            []REF_I14_Procedure           `hl7:",display=Procedure"`
	Observation          []REF_I14_Observation         `hl7:",display=Observation"`
	Patientvisit         *REF_I14_Patientvisit         `hl7:",display=Patient_visit"`
	NTE                  []NTE                         `hl7:"28,display=Notes And Comments"`
}

Cancel patient referral

This event triggers a message to be sent from one healthcare provider to another canceling a referral. A previous referral may have been made in error, or perhaps the cancellation has come from the patient.

type REF_I14_Authorizationcontact

type REF_I14_Authorizationcontact struct {
	HL7 HL7Name `hl7:",name=REF_I14_Authorizationcontact,type=tg"`
	AUT *AUT    `hl7:"5,required,display=Authorization Information"`
	CTD *CTD    `hl7:"6,display=Contact Data"`
}

Authorizationcontact

type REF_I14_Authorizationcontact2

type REF_I14_Authorizationcontact2 struct {
	HL7 HL7Name `hl7:",name=REF_I14_Authorizationcontact2,type=tg"`
	AUT *AUT    `hl7:"20,required,display=Authorization Information"`
	CTD *CTD    `hl7:"21,display=Contact Data"`
}

Authorizationcontact2

type REF_I14_Insurance

type REF_I14_Insurance struct {
	HL7 HL7Name `hl7:",name=REF_I14_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type REF_I14_Observation

type REF_I14_Observation struct {
	HL7          HL7Name                `hl7:",name=REF_I14_Observation,type=tg"`
	OBR          *OBR                   `hl7:"22,required,display=Observation Request"`
	NTE          []NTE                  `hl7:"23,display=Notes And Comments"`
	Resultsnotes []REF_I14_Resultsnotes `hl7:",display=Results_notes"`
}

Observation

type REF_I14_Patientvisit

type REF_I14_Patientvisit struct {
	HL7 HL7Name `hl7:",name=REF_I14_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"26,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"27,display=Patient Visit - Additional Information"`
}

Patientvisit

type REF_I14_Procedure

type REF_I14_Procedure struct {
	HL7                   HL7Name                        `hl7:",name=REF_I14_Procedure,type=tg"`
	PR1                   *PR1                           `hl7:"19,required,display=Procedures"`
	Authorizationcontact2 *REF_I14_Authorizationcontact2 `hl7:",display=Authorization_contact2"`
}

Procedure

type REF_I14_Providercontact

type REF_I14_Providercontact struct {
	HL7 HL7Name `hl7:",name=REF_I14_Providercontact,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Providercontact

type REF_I14_Resultsnotes

type REF_I14_Resultsnotes struct {
	HL7 HL7Name `hl7:",name=REF_I14_Resultsnotes,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Resultsnotes

type REF_I15

type REF_I15 struct {
	HL7                  HL7Name                       `hl7:",name=REF_I15,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  *UAC                          `hl7:"3,display=User Authentication Credential Segment"`
	RF1                  *RF1                          `hl7:"4,display=Referral Information"`
	Authorizationcontact *REF_I15_Authorizationcontact `hl7:",display=Authorization_contact"`
	Providercontact      []REF_I15_Providercontact     `hl7:",required,display=Provider_contact"`
	PID                  *PID                          `hl7:"9,required,display=Patient Identification"`
	NK1                  []NK1                         `hl7:"10,display=Next Of Kin / Associated Parties"`
	GT1                  []GT1                         `hl7:"11,display=Guarantor"`
	Insurance            []REF_I15_Insurance           `hl7:",display=Insurance"`
	ACC                  *ACC                          `hl7:"15,display=Accident"`
	DG1                  []DG1                         `hl7:"16,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"17,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"18,display=Patient Allergy Information"`
	Procedure            []REF_I15_Procedure           `hl7:",display=Procedure"`
	Observation          []REF_I15_Observation         `hl7:",display=Observation"`
	Patientvisit         *REF_I15_Patientvisit         `hl7:",display=Patient_visit"`
	NTE                  []NTE                         `hl7:"28,display=Notes And Comments"`
}

Request patient referral status

This event triggers a message to be sent between healthcare providers regarding the status of a patient referral request. A previous referral has been made and acknowledged; however, no response has been received to indicate results and/or procedures performed.

type REF_I15_Authorizationcontact

type REF_I15_Authorizationcontact struct {
	HL7 HL7Name `hl7:",name=REF_I15_Authorizationcontact,type=tg"`
	AUT *AUT    `hl7:"5,required,display=Authorization Information"`
	CTD *CTD    `hl7:"6,display=Contact Data"`
}

Authorizationcontact

type REF_I15_Authorizationcontact2

type REF_I15_Authorizationcontact2 struct {
	HL7 HL7Name `hl7:",name=REF_I15_Authorizationcontact2,type=tg"`
	AUT *AUT    `hl7:"20,required,display=Authorization Information"`
	CTD *CTD    `hl7:"21,display=Contact Data"`
}

Authorizationcontact2

type REF_I15_Insurance

type REF_I15_Insurance struct {
	HL7 HL7Name `hl7:",name=REF_I15_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type REF_I15_Observation

type REF_I15_Observation struct {
	HL7          HL7Name                `hl7:",name=REF_I15_Observation,type=tg"`
	OBR          *OBR                   `hl7:"22,required,display=Observation Request"`
	NTE          []NTE                  `hl7:"23,display=Notes And Comments"`
	Resultsnotes []REF_I15_Resultsnotes `hl7:",display=Results_notes"`
}

Observation

type REF_I15_Patientvisit

type REF_I15_Patientvisit struct {
	HL7 HL7Name `hl7:",name=REF_I15_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"26,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"27,display=Patient Visit - Additional Information"`
}

Patientvisit

type REF_I15_Procedure

type REF_I15_Procedure struct {
	HL7                   HL7Name                        `hl7:",name=REF_I15_Procedure,type=tg"`
	PR1                   *PR1                           `hl7:"19,required,display=Procedures"`
	Authorizationcontact2 *REF_I15_Authorizationcontact2 `hl7:",display=Authorization_contact2"`
}

Procedure

type REF_I15_Providercontact

type REF_I15_Providercontact struct {
	HL7 HL7Name `hl7:",name=REF_I15_Providercontact,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Providercontact

type REF_I15_Resultsnotes

type REF_I15_Resultsnotes struct {
	HL7 HL7Name `hl7:",name=REF_I15_Resultsnotes,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Resultsnotes

type REL

type REL struct {
	HL7                                          HL7Name `hl7:",name=REL,type=s"`
	SetID                                        SI      `hl7:"1,seq,conditional,len=4,display=Set Id -rel"`
	RelationshipType                             CWE     `hl7:"2,required,display=Relationship Type"`
	ThisRelationshipInstanceIdentifier           EI      `hl7:"3,required,display=This Relationship Instance Identifier"`
	SourceInformationInstanceIdentifier          EI      `hl7:"4,required,display=Source Information Instance Identifier"`
	TargetInformationInstanceIdentifier          EI      `hl7:"5,required,display=Target Information Instance Identifier"`
	AssertingEntityInstanceID                    *EI     `hl7:"6,display=Asserting Entity Instance Id"`
	AssertingPerson                              *XCN    `hl7:"7,display=Asserting Person"`
	AssertingOrganization                        *XON    `hl7:"8,display=Asserting Organization"`
	AssertorAddress                              *XAD    `hl7:"9,display=Assertor Address"`
	AssertorContact                              *XTN    `hl7:"10,display=Assertor Contact"`
	AssertionDateRange                           *DR     `hl7:"11,display=Assertion Date Range"`
	NegationIndicator                            ID      `hl7:"12,len=1,table=0136,display=Negation Indicator"`
	CertaintyOfRelationship                      *CWE    `hl7:"13,display=Certainty Of Relationship"`
	PriorityNo                                   NM      `hl7:"14,display=Priority No"`
	PrioritySequenceNoPreferenceForConsideration NM      `hl7:"15,display=Priority  Sequence No (rel Preference For Consideration)"`
	SeparabilityIndicator                        ID      `hl7:"16,len=1,table=0136,display=Separability Indicator"`
}

Clinical Relationship Segment

The Clinical Relationship segment contains the data necessary to relate two data elements within and/or external to the message at run-time. It also includes information about the relationship.

Relationships are constrained to being between explicit segments of messages rather than beween the identities of entities they reference. Segments are available within the message but related persistent information may not be. Because of the transient nature of messages applications must manage the associations with entities which persist outside or across messages.

Examples: - Problem is a consequence of a diagnosis. - Diagnosis is supported by observation. - Observation is a manifestation of a diagnosis. - Complication is a consequence of a procedure.

type RF1

type RF1 struct {
	HL7                                   HL7Name `hl7:",name=RF1,type=s"`
	ReferralStatus                        *CWE    `hl7:"1,table=0283,display=Referral Status"`
	ReferralPriority                      *CWE    `hl7:"2,table=0280,display=Referral Priority"`
	ReferralType                          *CWE    `hl7:"3,table=0281,display=Referral Type"`
	ReferralDisposition                   []CWE   `hl7:"4,table=0282,display=Referral Disposition"`
	ReferralCategory                      *CWE    `hl7:"5,table=0284,display=Referral Category"`
	OriginatingReferralIdentifier         EI      `hl7:"6,required,display=Originating Referral Identifier"`
	EffectiveDate                         DTM     `hl7:"7,format=YMDHM,display=Effective Date"`
	ExpirationDate                        DTM     `hl7:"8,format=YMDHM,display=Expiration Date"`
	ProcessDate                           DTM     `hl7:"9,format=YMDHM,display=Process Date"`
	ReferralReason                        []CWE   `hl7:"10,table=0336,display=Referral Reason"`
	ExternalReferralIdentifier            []EI    `hl7:"11,display=External Referral Identifier"`
	ReferralDocumentationCompletionStatus *CWE    `hl7:"12,table=0865,display=Referral Documentation Completion Status"`
}

Referral Information

This segment represents information that may be useful when sending referrals from the referring provider to the referred-to provider.

type RFI

type RFI struct {
	HL7                                   HL7Name `hl7:",name=RFI,type=s"`
	RequestDate                           DTM     `hl7:"1,required,format=YMDHM,display=Request Date"`
	ResponseDueDate                       DTM     `hl7:"2,required,format=YMDHM,display=Response Due Date"`
	PatientConsent                        ID      `hl7:"3,len=1,table=0136,display=Patient Consent"`
	DateAdditionalInformationWasSubmitted DTM     `hl7:"4,format=YMDHM,display=Date Additional Information Was Submitted"`
}

Request For Information

type RFR

type RFR struct {
	HL7                 HL7Name `hl7:",name=RFR,len=0,type=d"`
	NumericRange        NR      `` /* 273-byte string literal not displayed */
	AdministrativeSex   *CWE    `` /* 235-byte string literal not displayed */
	AgeRange            *NR     `` /* 428-byte string literal not displayed */
	GestationalAgeRange *NR     `` /* 480-byte string literal not displayed */
	Species             ST      `` /* 191-byte string literal not displayed */
	RaceSubspecies      ST      `` /* 344-byte string literal not displayed */
	Conditions          TX      `` /* 339-byte string literal not displayed */
}

Reference Range

Describes a reference range and its supporting detail.

Note: Replaces the CM data type used in sections 8.8.4.6 - OM2-6, 8.8.4.7 - OM2-7 and 8.8.4.8 - OM2-8 as of v 2.5.

Examples: A range that applies unconditionally, such as albumin, is transmitted as: |3.0&5.5|

A normal range that depends on sex, such as Hgb, is transmitted as: |13.5&18^M~12.0 & 16^F|

A normal range that depends on age, sex, and race (a concocted example) is: |10&13^M^0&2^^^B11&13.5^M^2&20^^^B~12&14.5^M^20&70^^^B~13&16.0^M^70&^^^B|

When no value is specified for a particular component, the range given applies to all categories of that component. For example, when nothing is specified for race/species, the range should be taken as the human range without regard to race. If no age range is specified, the normal range given is assumed to apply to all ages.

type RGS

type RGS struct {
	HL7               HL7Name `hl7:",name=RGS,type=s"`
	SetID             SI      `hl7:"1,seq,required,len=4,display=Set Id - Rgs"`
	SegmentActionCode ID      `hl7:"2,conditional,len=1,table=0206,display=Segment Action Code"`
	ResourceGroupID   *CWE    `hl7:"3,display=Resource Group Id"`
}

Resource Group

The RGS segment is used to identify relationships between resources identified for a scheduled event. This segment can be used, on a site specified basis, to identify groups of resources that are used together within a scheduled event, or to describe some other relationship between resources. To specify related groups of resources within a message, begin each group with an RGS segment, and then follow that RGS with one or more of the Appointment Information segments (AIG, AIL, AIS, or AIP).

If a message does not require any grouping of resources, then specify a single RGS in the message, and follow it with all of the Appointment Information segments for the scheduled event. (At least one RGS segment is required in each message – even if no grouping of resources is required – to allow parsers to properly understand the message.)

type RGV_O15

type RGV_O15 struct {
	HL7     HL7Name          `hl7:",name=RGV_O15,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message Header"`
	SFT     []SFT            `hl7:"2,display=Software Segment"`
	UAC     *UAC             `hl7:"3,display=User Authentication Credential Segment"`
	NTE     []NTE            `hl7:"4,display=Notes And Comments"`
	Patient *RGV_O15_Patient `hl7:",display=Patient"`
	Order   []RGV_O15_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment give

The RDS message's RXD segment carries the dispense data for a given issuance of medication: thus it may describe a single dose, a half-day dose, a daily dose, a refill of a prescription, etc. It does not contain the given instructions or scheduling information. When this "give" (i.e., administration) information needs to be transmitted from the pharmacy or treatment application to another application, it is done with the RGV message.

The RGV message uses the RXG segment to record drug or treatment administration instructions. It may carry information about a single scheduled administration on a drug or treatment, or it may carry information about multiple administrations. If the pharmacy or treatment application (or some other application) needs to create an unambiguous MAR report where each administration is matched to a particular give date/time instruction, it may use the RGV message as described in the following way:

For each scheduled administration of the medication, the pharmacy/treatment issues either a single RGV message or a single RGV message with multiple RXG segments, one for each scheduled administration. The actual administrations (transmitted by one or more RAS messages) are matched against the scheduled ones by recording in each RXA segment the Give Sub-ID of the corresponding RXG segment. If more than one administration needs to be matched (as in the case of recording a change or rate of an IV solution) the administering application issues additional RXA segment(s) (corresponding to the same RXG segment). If no matching is needed, the Give Sub-ID of the RXA segments has the value zero (0).

The ORC must have the filler order number and the order control code RE. The RXE and associated RXCs may be present if the receiving application needs any of their data. The RXG carries the scheduled administration data for either a single "give instruction" (single dose) of medication or for multiple "give instructions." The RXG is not a complete record of an order. Use the RXO and RXE segments if a complete order is needed. It is a record from the pharmacy or treatment application to the Nursing application (or other) with drug/treatment administration instructions.

Note: The use of RGV with the trigger of O01 and RRG with the trigger O02 is maintained for backward compatibility as of v2.4 and is withdrawn as of v2.7.

type RGV_O15_Components

type RGV_O15_Components struct {
	HL7 HL7Name `hl7:",name=RGV_O15_Components,type=tg"`
	RXC *RXC    `hl7:"17,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

Components

type RGV_O15_Encoding

type RGV_O15_Encoding struct {
	HL7           HL7Name                 `hl7:",name=RGV_O15_Encoding,type=tg"`
	RXE           *RXE                    `hl7:"20,required,display=Pharmacy/treatment Encoded Order"`
	PRT           []PRT                   `hl7:"21,display=Participation Information"`
	NTE           []NTE                   `hl7:"22,display=Notes And Comments"`
	Timingencoded []RGV_O15_Timingencoded `hl7:",required,display=Timing_encoded"`
	RXR           []RXR                   `hl7:"25,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"26,display=Pharmacy/treatment Component Order"`
}

Encoding

type RGV_O15_Give

type RGV_O15_Give struct {
	HL7         HL7Name               `hl7:",name=RGV_O15_Give,type=tg"`
	RXG         *RXG                  `hl7:"27,required,display=Pharmacy/treatment Give"`
	Timinggive  []RGV_O15_Timinggive  `hl7:",required,display=Timing_give"`
	RXR         []RXR                 `hl7:"30,required,display=Pharmacy/treatment Route"`
	RXC         []RXC                 `hl7:"31,display=Pharmacy/treatment Component Order"`
	Observation []RGV_O15_Observation `hl7:",display=Observation"`
}

Give

type RGV_O15_Observation

type RGV_O15_Observation struct {
	HL7 HL7Name `hl7:",name=RGV_O15_Observation,type=tg"`
	OBX *OBX    `hl7:"32,required,display=Observation/result"`
	PRT []PRT   `hl7:"33,display=Participation Information"`
	NTE []NTE   `hl7:"34,display=Notes And Comments"`
}

Observation

type RGV_O15_Order

type RGV_O15_Order struct {
	HL7         HL7Name              `hl7:",name=RGV_O15_Order,type=tg"`
	ORC         *ORC                 `hl7:"11,required,display=Common Order"`
	Timing      []RGV_O15_Timing     `hl7:",display=Timing"`
	Orderdetail *RGV_O15_Orderdetail `hl7:",display=Order_detail"`
	PRT         []PRT                `hl7:"19,display=Participation Information"`
	Encoding    *RGV_O15_Encoding    `hl7:",display=Encoding"`
	Give        []RGV_O15_Give       `hl7:",required,display=Give"`
}

Order

type RGV_O15_Orderdetail

type RGV_O15_Orderdetail struct {
	HL7                   HL7Name                        `hl7:",name=RGV_O15_Orderdetail,type=tg"`
	RXO                   *RXO                           `hl7:"14,required,display=Pharmacy/treatment Order"`
	Orderdetailsupplement *RGV_O15_Orderdetailsupplement `hl7:",display=Order_detail_supplement"`
}

Orderdetail

type RGV_O15_Orderdetailsupplement

type RGV_O15_Orderdetailsupplement struct {
	HL7        HL7Name              `hl7:",name=RGV_O15_Orderdetailsupplement,type=tg"`
	NTE        []NTE                `hl7:"15,required,display=Notes And Comments"`
	RXR        []RXR                `hl7:"16,required,display=Pharmacy/treatment Route"`
	Components []RGV_O15_Components `hl7:",display=Components"`
}

Orderdetailsupplement

type RGV_O15_Patient

type RGV_O15_Patient struct {
	HL7          HL7Name               `hl7:",name=RGV_O15_Patient,type=tg"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	NTE          []NTE                 `hl7:"6,display=Notes And Comments"`
	AL1          []AL1                 `hl7:"7,display=Patient Allergy Information"`
	Patientvisit *RGV_O15_Patientvisit `hl7:",display=Patient_visit"`
}

Patient

type RGV_O15_Patientvisit

type RGV_O15_Patientvisit struct {
	HL7 HL7Name `hl7:",name=RGV_O15_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"8,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"10,display=Participation Information"`
}

Patientvisit

type RGV_O15_Timing

type RGV_O15_Timing struct {
	HL7 HL7Name `hl7:",name=RGV_O15_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"12,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"13,display=Timing/quantity Relationship"`
}

Timing

type RGV_O15_Timingencoded

type RGV_O15_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RGV_O15_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"23,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"24,display=Timing/quantity Relationship"`
}

Timingencoded

type RGV_O15_Timinggive

type RGV_O15_Timinggive struct {
	HL7 HL7Name `hl7:",name=RGV_O15_Timinggive,type=tg"`
	TQ1 *TQ1    `hl7:"28,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"29,display=Timing/quantity Relationship"`
}

Timinggive

type RI

type RI struct {
	HL7                  HL7Name `hl7:",name=RI,len=0,type=d"`
	RepeatPattern        *CWE    `` /* 567-byte string literal not displayed */
	ExplicitTimeInterval ST      `` /* 936-byte string literal not displayed */
}

Repeat Interval

contains the interval between repeated services.

Note: The reader is referred to the RPT – Repeat pattern data type, which provides a more rigorous framework for defining repeating time intervals.

type RMC

type RMC struct {
	HL7               HL7Name `hl7:",name=RMC,len=0,type=d"`
	RoomType          CWE     `` /* 128-byte string literal not displayed */
	AmountType        *CWE    `` /* 130-byte string literal not displayed */
	CoverageAmount    ST      `` /* 186-byte string literal not displayed */
	MoneyOrPercentage MOP     `hl7:"4,required,display=Specifies an amount that may be either currency or a percentage."`
}

Room Coverage

This data type specifies insurance coverage detail for a room.

Note: Replaces the CM data type used in section 6.5.7.28 IN2-28, as of v 2.5.

type RMI

type RMI struct {
	HL7                        HL7Name `hl7:",name=RMI,type=s"`
	RiskManagementIncidentCode *CWE    `hl7:"1,table=0427,display=Risk Management Incident Code"`
	DateTimeIncident           DTM     `hl7:"2,format=YMDHM,display=Date/Time Incident"`
	IncidentTypeCode           *CWE    `hl7:"3,table=0428,display=Incident Type Code"`
}

Risk Management Incident

The RMI segment is used to report an occurrence of an incident event pertaining or attaching to a patient encounter.

type ROL

type ROL struct {
	HL7                         HL7Name `hl7:",name=ROL,type=s"`
	RoleInstanceID              *EI     `hl7:"1,conditional,display=Role Instance Id"`
	ActionCode                  ID      `hl7:"2,required,len=2,table=0287,display=Action Code"`
	Role                        CWE     `hl7:"3,required,table=0443,display=Role-rol"`
	RolePerson                  []XCN   `hl7:"4,required,display=Role Person"`
	RoleBeginDateTime           DTM     `hl7:"5,format=YMDHM,display=Role Begin Date/Time"`
	RoleEndDateTime             DTM     `hl7:"6,format=YMDHM,display=Role End Date/Time"`
	RoleDuration                *CWE    `hl7:"7,display=Role Duration"`
	RoleActionReason            *CWE    `hl7:"8,display=Role Action Reason"`
	ProviderType                []CWE   `hl7:"9,display=Provider Type"`
	OrganizationUnitType        *CWE    `hl7:"10,table=0406,display=Organization Unit Type"`
	OfficeHomeAddressBirthplace []XAD   `hl7:"11,display=Office/Home Address/Birthplace"`
	Phone                       []XTN   `hl7:"12,display=Phone"`
	PersonsLocation             *PL     `hl7:"13,display=Person's Location"`
	Organization                *XON    `hl7:"14,display=Organization"`
}

Role

The role segment contains the data necessary to add, update, correct, and delete from the record persons involved, as well as their functional involvement with the activity being transmitted.

In general, the ROL segment is used to describe a person playing a particular role within the context of the message. In PM, for example, in the Grant Certificate/Permission message (B07), the ROL segment is used to describe the roles a person may perform pertinent to the certificate in the message.

The positional location of the ROL segment in ADT and Finance messages indicates the relationship. When the segment is used following the IN3 segment, and the role-ROL value is PP or FHCP, the PP or FHCP is related to the health plan. When the segment is used following the PID segment, and the role-ROL value is PP or FHCP, the PP or FHCP is related to the person. When the segment is used following the PV2 segment, and the role-ROL value is PCP or FHCP, the PP or FHCP is related to the patient visit.

type RPA_I08

type RPA_I08 struct {
	HL7           HL7Name                `hl7:",name=RPA_I08,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,display=Message Acknowledgment"`
	RF1           *RF1                   `hl7:"5,display=Referral Information"`
	Authorization *RPA_I08_Authorization `hl7:",display=Authorization"`
	Provider      []RPA_I08_Provider     `hl7:",required,display=Provider"`
	PID           *PID                   `hl7:"10,required,display=Patient Identification"`
	NK1           []NK1                  `hl7:"11,display=Next Of Kin / Associated Parties"`
	GT1           []GT1                  `hl7:"12,display=Guarantor"`
	Insurance     []RPA_I08_Insurance    `hl7:",required,display=Insurance"`
	ACC           *ACC                   `hl7:"16,display=Accident"`
	DG1           []DG1                  `hl7:"17,display=Diagnosis"`
	DRG           []DRG                  `hl7:"18,display=Diagnosis Related Group"`
	AL1           []AL1                  `hl7:"19,display=Patient Allergy Information"`
	Procedure     []RPA_I08_Procedure    `hl7:",display=Procedure"`
	Observation   []RPA_I08_Observation  `hl7:",display=Observation"`
	Visit         *RPA_I08_Visit         `hl7:",display=Visit"`
	NTE           []NTE                  `hl7:"29,display=Notes And Comments"`
}

Return patient authorization

type RPA_I08_Authorization

type RPA_I08_Authorization struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Authorization,type=tg"`
	AUT *AUT    `hl7:"6,required,display=Authorization Information"`
	CTD *CTD    `hl7:"7,display=Contact Data"`
}

Authorization

type RPA_I08_Authorization2

type RPA_I08_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Authorization2,type=tg"`
	AUT *AUT    `hl7:"21,required,display=Authorization Information"`
	CTD *CTD    `hl7:"22,display=Contact Data"`
}

Authorization2

type RPA_I08_Insurance

type RPA_I08_Insurance struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Insurance,type=tg"`
	IN1 *IN1    `hl7:"13,required,display=Insurance"`
	IN2 *IN2    `hl7:"14,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"15,display=Insurance Additional Information- Certification"`
}

Insurance

type RPA_I08_Observation

type RPA_I08_Observation struct {
	HL7     HL7Name           `hl7:",name=RPA_I08_Observation,type=tg"`
	OBR     *OBR              `hl7:"23,required,display=Observation Request"`
	NTE     []NTE             `hl7:"24,display=Notes And Comments"`
	Results []RPA_I08_Results `hl7:",display=Results"`
}

Observation

type RPA_I08_Procedure

type RPA_I08_Procedure struct {
	HL7            HL7Name                 `hl7:",name=RPA_I08_Procedure,type=tg"`
	PR1            *PR1                    `hl7:"20,required,display=Procedures"`
	Authorization2 *RPA_I08_Authorization2 `hl7:",display=Authorization2"`
}

Procedure

type RPA_I08_Provider

type RPA_I08_Provider struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Provider,type=tg"`
	PRD *PRD    `hl7:"8,required,display=Provider Data"`
	CTD []CTD   `hl7:"9,display=Contact Data"`
}

Provider

type RPA_I08_Results

type RPA_I08_Results struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Results,type=tg"`
	OBX *OBX    `hl7:"25,required,display=Observation/result"`
	NTE []NTE   `hl7:"26,display=Notes And Comments"`
}

Results

type RPA_I08_Visit

type RPA_I08_Visit struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Visit,type=tg"`
	PV1 *PV1    `hl7:"27,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"28,display=Patient Visit - Additional Information"`
}

Visit

type RPA_I09

type RPA_I09 struct {
	HL7            HL7Name                 `hl7:",name=RPA_I09,type=t"`
	MSH            *MSH                    `hl7:"1,required,display=Message Header"`
	SFT            []SFT                   `hl7:"2,display=Software Segment"`
	UAC            *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA            *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	RF1            *RF1                    `hl7:"5,display=Referral Information"`
	Authorization1 *RPA_I09_Authorization1 `hl7:",display=Authorization 1"`
	Provider       []RPA_I09_Provider      `hl7:",required,display=Provider"`
	PID            *PID                    `hl7:"10,required,display=Patient Identification"`
	NK1            []NK1                   `hl7:"11,display=Next Of Kin / Associated Parties"`
	GT1            []GT1                   `hl7:"12,display=Guarantor"`
	Insurance      []RPA_I09_Insurance     `hl7:",display=Insurance"`
	ACC            *ACC                    `hl7:"16,display=Accident"`
	DG1            []DG1                   `hl7:"17,display=Diagnosis"`
	DRG            []DRG                   `hl7:"18,display=Diagnosis Related Group"`
	AL1            []AL1                   `hl7:"19,display=Patient Allergy Information"`
	Procedure      []RPA_I09_Procedure     `hl7:",required,display=Procedure"`
	Observation    []RPA_I09_Observation   `hl7:",display=Observation"`
	Visit          *RPA_I09_Visit          `hl7:",display=Visit"`
	NTE            []NTE                   `hl7:"29,display=Notes And Comments"`
}

Return Modification to an Authorization

This event triggers a message sent from a healthcare provider to a payor requesting changes to a previously referenced authorization. For example, a provider may determine that a substitute testing or surgical procedure should be performed on a specified patient.

type RPA_I09_Authorization1

type RPA_I09_Authorization1 struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Authorization1,type=tg"`
	AUT *AUT    `hl7:"6,required,display=Authorization Information"`
	CTD *CTD    `hl7:"7,display=Contact Data"`
}

Authorization1

type RPA_I09_Authorization2

type RPA_I09_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Authorization2,type=tg"`
	AUT *AUT    `hl7:"21,required,display=Authorization Information"`
	CTD *CTD    `hl7:"22,display=Contact Data"`
}

Authorization2

type RPA_I09_Insurance

type RPA_I09_Insurance struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Insurance,type=tg"`
	IN1 *IN1    `hl7:"13,required,display=Insurance"`
	IN2 *IN2    `hl7:"14,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"15,display=Insurance Additional Information- Certification"`
}

Insurance

type RPA_I09_Observation

type RPA_I09_Observation struct {
	HL7     HL7Name           `hl7:",name=RPA_I09_Observation,type=tg"`
	OBR     *OBR              `hl7:"23,required,display=Observation Request"`
	NTE     []NTE             `hl7:"24,display=Notes And Comments"`
	Results []RPA_I09_Results `hl7:",display=Results"`
}

Observation

type RPA_I09_Procedure

type RPA_I09_Procedure struct {
	HL7            HL7Name                 `hl7:",name=RPA_I09_Procedure,type=tg"`
	PR1            *PR1                    `hl7:"20,required,display=Procedures"`
	Authorization2 *RPA_I09_Authorization2 `hl7:",display=Authorization 2"`
}

Procedure

type RPA_I09_Provider

type RPA_I09_Provider struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Provider,type=tg"`
	PRD *PRD    `hl7:"8,required,display=Provider Data"`
	CTD []CTD   `hl7:"9,display=Contact Data"`
}

Provider

type RPA_I09_Results

type RPA_I09_Results struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Results,type=tg"`
	OBX *OBX    `hl7:"25,required,display=Observation/result"`
	NTE []NTE   `hl7:"26,display=Notes And Comments"`
}

Results

type RPA_I09_Visit

type RPA_I09_Visit struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Visit,type=tg"`
	PV1 *PV1    `hl7:"27,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"28,display=Patient Visit - Additional Information"`
}

Visit

type RPA_I10

type RPA_I10 struct {
	HL7            HL7Name                 `hl7:",name=RPA_I10,type=t"`
	MSH            *MSH                    `hl7:"1,required,display=Message Header"`
	SFT            []SFT                   `hl7:"2,display=Software Segment"`
	UAC            *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA            *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	RF1            *RF1                    `hl7:"5,display=Referral Information"`
	Authorization1 *RPA_I10_Authorization1 `hl7:",display=Authorization 1"`
	Provider       []RPA_I10_Provider      `hl7:",required,display=Provider"`
	PID            *PID                    `hl7:"10,required,display=Patient Identification"`
	NK1            []NK1                   `hl7:"11,display=Next Of Kin / Associated Parties"`
	GT1            []GT1                   `hl7:"12,display=Guarantor"`
	Insurance      []RPA_I10_Insurance     `hl7:",display=Insurance"`
	ACC            *ACC                    `hl7:"16,display=Accident"`
	DG1            []DG1                   `hl7:"17,display=Diagnosis"`
	DRG            []DRG                   `hl7:"18,display=Diagnosis Related Group"`
	AL1            []AL1                   `hl7:"19,display=Patient Allergy Information"`
	Procedure      []RPA_I10_Procedure     `hl7:",required,display=Procedure"`
	Observation    []RPA_I10_Observation   `hl7:",display=Observation"`
	Visit          *RPA_I10_Visit          `hl7:",display=Visit"`
	NTE            []NTE                   `hl7:"29,display=Notes And Comments"`
}

Return Resubmission of an Authorization

If a previously submitted request for treatment authorization is rejected or canceled, this event could trigger a resubmission message for a referenced authorization. For example, the payor may have rejected a request until additional clinical information is sent to support the authorization request.

type RPA_I10_Authorization1

type RPA_I10_Authorization1 struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Authorization1,type=tg"`
	AUT *AUT    `hl7:"6,required,display=Authorization Information"`
	CTD *CTD    `hl7:"7,display=Contact Data"`
}

Authorization1

type RPA_I10_Authorization2

type RPA_I10_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Authorization2,type=tg"`
	AUT *AUT    `hl7:"21,required,display=Authorization Information"`
	CTD *CTD    `hl7:"22,display=Contact Data"`
}

Authorization2

type RPA_I10_Insurance

type RPA_I10_Insurance struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Insurance,type=tg"`
	IN1 *IN1    `hl7:"13,required,display=Insurance"`
	IN2 *IN2    `hl7:"14,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"15,display=Insurance Additional Information- Certification"`
}

Insurance

type RPA_I10_Observation

type RPA_I10_Observation struct {
	HL7     HL7Name           `hl7:",name=RPA_I10_Observation,type=tg"`
	OBR     *OBR              `hl7:"23,required,display=Observation Request"`
	NTE     []NTE             `hl7:"24,display=Notes And Comments"`
	Results []RPA_I10_Results `hl7:",display=Results"`
}

Observation

type RPA_I10_Procedure

type RPA_I10_Procedure struct {
	HL7            HL7Name                 `hl7:",name=RPA_I10_Procedure,type=tg"`
	PR1            *PR1                    `hl7:"20,required,display=Procedures"`
	Authorization2 *RPA_I10_Authorization2 `hl7:",display=Authorization 2"`
}

Procedure

type RPA_I10_Provider

type RPA_I10_Provider struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Provider,type=tg"`
	PRD *PRD    `hl7:"8,required,display=Provider Data"`
	CTD []CTD   `hl7:"9,display=Contact Data"`
}

Provider

type RPA_I10_Results

type RPA_I10_Results struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Results,type=tg"`
	OBX *OBX    `hl7:"25,required,display=Observation/result"`
	NTE []NTE   `hl7:"26,display=Notes And Comments"`
}

Results

type RPA_I10_Visit

type RPA_I10_Visit struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Visit,type=tg"`
	PV1 *PV1    `hl7:"27,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"28,display=Patient Visit - Additional Information"`
}

Visit

type RPA_I11

type RPA_I11 struct {
	HL7            HL7Name                 `hl7:",name=RPA_I11,type=t"`
	MSH            *MSH                    `hl7:"1,required,display=Message Header"`
	SFT            []SFT                   `hl7:"2,display=Software Segment"`
	UAC            *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA            *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	RF1            *RF1                    `hl7:"5,display=Referral Information"`
	Authorization1 *RPA_I11_Authorization1 `hl7:",display=Authorization 1"`
	Provider       []RPA_I11_Provider      `hl7:",required,display=Provider"`
	PID            *PID                    `hl7:"10,required,display=Patient Identification"`
	NK1            []NK1                   `hl7:"11,display=Next Of Kin / Associated Parties"`
	GT1            []GT1                   `hl7:"12,display=Guarantor"`
	Insurance      []RPA_I11_Insurance     `hl7:",display=Insurance"`
	ACC            *ACC                    `hl7:"16,display=Accident"`
	DG1            []DG1                   `hl7:"17,display=Diagnosis"`
	DRG            []DRG                   `hl7:"18,display=Diagnosis Related Group"`
	AL1            []AL1                   `hl7:"19,display=Patient Allergy Information"`
	Procedure      []RPA_I11_Procedure     `hl7:",required,display=Procedure"`
	Observation    []RPA_I11_Observation   `hl7:",display=Observation"`
	Visit          *RPA_I11_Visit          `hl7:",display=Visit"`
	NTE            []NTE                   `hl7:"29,display=Notes And Comments"`
}

Return Cancellation of an Authorization

This event may trigger the cancellation of an authorization. It may be used by the provider to indicate that an authorized service was not performed, or perhaps that the patient changed to another provider. A payor may use this request to reject a submitted authorization request from a provider.

type RPA_I11_Authorization1

type RPA_I11_Authorization1 struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Authorization1,type=tg"`
	AUT *AUT    `hl7:"6,required,display=Authorization Information"`
	CTD *CTD    `hl7:"7,display=Contact Data"`
}

Authorization1

type RPA_I11_Authorization2

type RPA_I11_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Authorization2,type=tg"`
	AUT *AUT    `hl7:"21,required,display=Authorization Information"`
	CTD *CTD    `hl7:"22,display=Contact Data"`
}

Authorization2

type RPA_I11_Insurance

type RPA_I11_Insurance struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Insurance,type=tg"`
	IN1 *IN1    `hl7:"13,required,display=Insurance"`
	IN2 *IN2    `hl7:"14,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"15,display=Insurance Additional Information- Certification"`
}

Insurance

type RPA_I11_Observation

type RPA_I11_Observation struct {
	HL7     HL7Name           `hl7:",name=RPA_I11_Observation,type=tg"`
	OBR     *OBR              `hl7:"23,required,display=Observation Request"`
	NTE     []NTE             `hl7:"24,display=Notes And Comments"`
	Results []RPA_I11_Results `hl7:",display=Results"`
}

Observation

type RPA_I11_Procedure

type RPA_I11_Procedure struct {
	HL7            HL7Name                 `hl7:",name=RPA_I11_Procedure,type=tg"`
	PR1            *PR1                    `hl7:"20,required,display=Procedures"`
	Authorization2 *RPA_I11_Authorization2 `hl7:",display=Authorization 2"`
}

Procedure

type RPA_I11_Provider

type RPA_I11_Provider struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Provider,type=tg"`
	PRD *PRD    `hl7:"8,required,display=Provider Data"`
	CTD []CTD   `hl7:"9,display=Contact Data"`
}

Provider

type RPA_I11_Results

type RPA_I11_Results struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Results,type=tg"`
	OBX *OBX    `hl7:"25,required,display=Observation/result"`
	NTE []NTE   `hl7:"26,display=Notes And Comments"`
}

Results

type RPA_I11_Visit

type RPA_I11_Visit struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Visit,type=tg"`
	PV1 *PV1    `hl7:"27,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"28,display=Patient Visit - Additional Information"`
}

Visit

type RPI_I01

type RPI_I01 struct {
	HL7                HL7Name                     `hl7:",name=RPI_I01,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	MSA                *MSA                        `hl7:"4,display=Message Acknowledgment"`
	Provider           []RPI_I01_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"7,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"8,display=Next Of Kin / Associated Parties"`
	Guarantorinsurance *RPI_I01_Guarantorinsurance `hl7:",display=Guarantor_insurance"`
	NTE                []NTE                       `hl7:"13,display=Notes And Comments"`
}

Request for insurance information

type RPI_I01_Guarantorinsurance

type RPI_I01_Guarantorinsurance struct {
	HL7       HL7Name             `hl7:",name=RPI_I01_Guarantorinsurance,type=tg"`
	GT1       []GT1               `hl7:"9,display=Guarantor"`
	Insurance []RPI_I01_Insurance `hl7:",required,display=Insurance"`
}

Guarantorinsurance

type RPI_I01_Insurance

type RPI_I01_Insurance struct {
	HL7 HL7Name `hl7:",name=RPI_I01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"12,display=Insurance Additional Information- Certification"`
}

Insurance

type RPI_I01_Provider

type RPI_I01_Provider struct {
	HL7 HL7Name `hl7:",name=RPI_I01_Provider,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,display=Contact Data"`
}

Provider

type RPI_I04

type RPI_I04 struct {
	HL7                HL7Name                     `hl7:",name=RPI_I04,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	MSA                *MSA                        `hl7:"4,required,display=Message Acknowledgment"`
	Provider           []RPI_I04_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"7,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"8,display=Next Of Kin / Associated Parties"`
	GuarantorInsurance *RPI_I04_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	NTE                []NTE                       `hl7:"13,display=Notes And Comments"`
}

Return Patient Demographic Data

This event triggers a request from one healthcare provider to another for patient demographic information, including insurance and billing information. Typically, this transaction would occur between one provider to another, but it could also be directed to a payor.

type RPI_I04_GuarantorInsurance

type RPI_I04_GuarantorInsurance struct {
	HL7       HL7Name             `hl7:",name=RPI_I04_GuarantorInsurance,type=tg"`
	GT1       []GT1               `hl7:"9,display=Guarantor"`
	Insurance []RPI_I04_Insurance `hl7:",required,display=Insurance"`
}

GuarantorInsurance

type RPI_I04_Insurance

type RPI_I04_Insurance struct {
	HL7 HL7Name `hl7:",name=RPI_I04_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"12,display=Insurance Additional Information- Certification"`
}

Insurance

type RPI_I04_Provider

type RPI_I04_Provider struct {
	HL7 HL7Name `hl7:",name=RPI_I04_Provider,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,display=Contact Data"`
}

Provider

type RPL_I02

type RPL_I02 struct {
	HL7      HL7Name            `hl7:",name=RPL_I02,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	MSA      *MSA               `hl7:"4,required,display=Message Acknowledgment"`
	Provider []RPL_I02_Provider `hl7:",required,display=Provider"`
	NTE      []NTE              `hl7:"7,display=Notes And Comments"`
	DSP      []DSP              `hl7:"8,display=Display Data"`
	DSC      *DSC               `hl7:"9,display=Continuation Pointer"`
}

Return Patient Selection Display List

This trigger event occurs when the inquirer specifies a request for a name lookup listing. Generally, this request is used by the responder when insufficient data is on hand for a positive match. In this case, the requester may ask for a list of possible candidates from which to make a selection. This event code is also used by the responder to signify that the return information contains a list of information rather than information specific to a single patient.

type RPL_I02_Provider

type RPL_I02_Provider struct {
	HL7 HL7Name `hl7:",name=RPL_I02_Provider,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,display=Contact Data"`
}

Provider

type RPR_I03

type RPR_I03 struct {
	HL7      HL7Name            `hl7:",name=RPR_I03,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	MSA      *MSA               `hl7:"4,display=Message Acknowledgment"`
	Provider []RPR_I03_Provider `hl7:",required,display=Provider"`
	PID      *PID               `hl7:"7,required,display=Patient Identification"`
	NTE      []NTE              `hl7:"8,display=Notes And Comments"`
}

Return Patient List

type RPR_I03_Provider

type RPR_I03_Provider struct {
	HL7 HL7Name `hl7:",name=RPR_I03_Provider,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,display=Contact Data"`
}

Provider

type RPT

type RPT struct {
	HL7                        HL7Name `hl7:",name=RPT,len=0,type=d"`
	RepeatPatternCode          CWE     `` /* 199-byte string literal not displayed */
	CalendarAlignment          ID      `` /* 222-byte string literal not displayed */
	PhaseRangeBeginValue       NM      `` /* 819-byte string literal not displayed */
	PhaseRangeEndValue         NM      `` /* 712-byte string literal not displayed */
	PeriodQuantity             NM      `` /* 163-byte string literal not displayed */
	PeriodUnits                *CWE    `` /* 347-byte string literal not displayed */
	InstitutionSpecifiedTime   ID      `` /* 340-byte string literal not displayed */
	Event                      ID      `` /* 156-byte string literal not displayed */
	EventOffsetQuantity        NM      `` /* 417-byte string literal not displayed */
	EventOffsetUnits           *CWE    `` /* 334-byte string literal not displayed */
	GeneralTimingSpecification GTS     `hl7:"11,display=The General Timing Specification as defined by the Version 3 Data Types document."`
}

Repeat Pattern

The repeat pattern data type should be used where it is necessary to define the frequency at which an event is to take place. This data type provides a way to define repeat pattern codes "on the fly". The repeat pattern code is equivalent to the TQ data type, component 2, sub-component 1 (repeat pattern). The additional components define the meaning of the repeat pattern code. Components 2 - 10 are used to define relatively simple repeat patterns. Component 11 is provided to define complex repeat patterns. This data type forms a bridge between the 2.x Repeat Pattern concept from Quantity/Timing, and the Version 3.0 GTS General Timing Specification. Component 1 is the 2.x concept of repeat pattern. Components 2-7 are derived from the version 3.0 data type PIVL. Components 8-10 are derived from the version 3.0 EIVL data type. If a repeat pattern cannot be defined using components 2-10, then component 11, General Timing Specification is provided. This allows the full literal form of the version 3.0 GTS to be specified.

When using the RPT, if an application doesn't recognize the code in component 1, then it may attempt to determine the appropriate frequency using the remaining components. If the application does recognize the code in component 1, the application is not required to determine the frequency from the remaining components. Use Case: The use case supporting this proposal is the need to define repeat patterns on the fly while placing an order. The TQ data type did not have the capability to define the meaning of a repeat pattern on the fly. To get around this problem, vendors have implemented a variety of solutions to solve this issue. One way was to add Z-components to the TQ data type to transmit information about the repeat pattern. Another solution was to attempt to parse the repeat pattern code in an attempt to decipher what the code meant.

Examples: |Q1H&Every 1 Hour&HL7xxx^^^^1^h| |Q2J2&Every second Tuesday&HL7xxx^DW^2^^2^wk| |BID&Twice a day at institution specified times&HL7xxx^^^^12^h^Y| |QAM&Every morning at the institution specified time&HL7xxx^HD^00^11^1^d^Y| |QHS&Every day before the hours of sleep&HL7xxx^^^^1^d^^AHS| |ACM&Before Breakfast&HL7xxx^^^^^^^ACM|

type RQ1

type RQ1 struct {
	HL7                    HL7Name `hl7:",name=RQ1,type=s"`
	AnticipatedPrice       ST      `hl7:"1,display=Anticipated Price"`
	ManufacturerIdentifier *CWE    `hl7:"2,conditional,table=0385,display=Manufacturer Identifier"`
	ManufacturersCatalog   ST      `hl7:"3,conditional,display=Manufacturer's Catalog"`
	VendorID               *CWE    `hl7:"4,conditional,table=9999,display=Vendor Id"`
	VendorCatalog          ST      `hl7:"5,conditional,display=Vendor Catalog"`
	Taxable                ID      `hl7:"6,len=1,table=0136,display=Taxable"`
	SubstituteAllowed      ID      `hl7:"7,len=1,table=0136,display=Substitute Allowed"`
}

Requisition Detail-1

RQ1 contains additional detail for each non-stock requisitioned item. This segment definition is paired with a preceding RQD segment.

type RQA_I08

type RQA_I08 struct {
	HL7                HL7Name                     `hl7:",name=RQA_I08,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	RF1                *RF1                        `hl7:"4,display=Referral Information"`
	Authorization      *RQA_I08_Authorization      `hl7:",display=Authorization"`
	Provider           []RQA_I08_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"9,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"10,display=Next Of Kin / Associated Parties"`
	Guarantorinsurance *RQA_I08_Guarantorinsurance `hl7:",display=Guarantor_insurance"`
	ACC                *ACC                        `hl7:"15,display=Accident"`
	DG1                []DG1                       `hl7:"16,display=Diagnosis"`
	DRG                []DRG                       `hl7:"17,display=Diagnosis Related Group"`
	AL1                []AL1                       `hl7:"18,display=Patient Allergy Information"`
	Procedure          []RQA_I08_Procedure         `hl7:",display=Procedure"`
	Observation        []RQA_I08_Observation       `hl7:",display=Observation"`
	Visit              *RQA_I08_Visit              `hl7:",display=Visit"`
	NTE                []NTE                       `hl7:"28,display=Notes And Comments"`
}

Request for treatment authorization information

This event triggers a message to be sent from a healthcare provider to a payor requesting authorization to perform specific medical procedures or tests on a given patient. The specific medical procedures must be filled out in the PR1 segments. Each repeating PR1 segment may be paired with an AUT segment so that authorization information can be given regarding dollar amounts, number of treatments, and perhaps the estimated length of stay for treatment. The OBR and OBX segments should be used to include any relevant clinical information that may be required to support or process the authorization.

type RQA_I08_Authorization

type RQA_I08_Authorization struct {
	HL7 HL7Name `hl7:",name=RQA_I08_Authorization,type=tg"`
	AUT *AUT    `hl7:"5,required,display=Authorization Information"`
	CTD *CTD    `hl7:"6,display=Contact Data"`
}

Authorization

type RQA_I08_Authorization2

type RQA_I08_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RQA_I08_Authorization2,type=tg"`
	AUT *AUT    `hl7:"20,required,display=Authorization Information"`
	CTD *CTD    `hl7:"21,display=Contact Data"`
}

Authorization2

type RQA_I08_Guarantorinsurance

type RQA_I08_Guarantorinsurance struct {
	HL7       HL7Name             `hl7:",name=RQA_I08_Guarantorinsurance,type=tg"`
	GT1       []GT1               `hl7:"11,display=Guarantor"`
	Insurance []RQA_I08_Insurance `hl7:",required,display=Insurance"`
}

Guarantorinsurance

type RQA_I08_Insurance

type RQA_I08_Insurance struct {
	HL7 HL7Name `hl7:",name=RQA_I08_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type RQA_I08_Observation

type RQA_I08_Observation struct {
	HL7     HL7Name           `hl7:",name=RQA_I08_Observation,type=tg"`
	OBR     *OBR              `hl7:"22,required,display=Observation Request"`
	NTE     []NTE             `hl7:"23,display=Notes And Comments"`
	Results []RQA_I08_Results `hl7:",display=Results"`
}

Observation

type RQA_I08_Procedure

type RQA_I08_Procedure struct {
	HL7            HL7Name                 `hl7:",name=RQA_I08_Procedure,type=tg"`
	PR1            *PR1                    `hl7:"19,required,display=Procedures"`
	Authorization2 *RQA_I08_Authorization2 `hl7:",display=Authorization2"`
}

Procedure

type RQA_I08_Provider

type RQA_I08_Provider struct {
	HL7 HL7Name `hl7:",name=RQA_I08_Provider,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Provider

type RQA_I08_Results

type RQA_I08_Results struct {
	HL7 HL7Name `hl7:",name=RQA_I08_Results,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Results

type RQA_I08_Visit

type RQA_I08_Visit struct {
	HL7 HL7Name `hl7:",name=RQA_I08_Visit,type=tg"`
	PV1 *PV1    `hl7:"26,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"27,display=Patient Visit - Additional Information"`
}

Visit

type RQA_I09

type RQA_I09 struct {
	HL7                HL7Name                     `hl7:",name=RQA_I09,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	RF1                *RF1                        `hl7:"4,display=Referral Information"`
	Authorization      *RQA_I09_Authorization      `hl7:",display=Authorization"`
	Provider           []RQA_I09_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"9,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"10,display=Next Of Kin / Associated Parties"`
	Guarantorinsurance *RQA_I09_Guarantorinsurance `hl7:",display=Guarantor_insurance"`
	ACC                *ACC                        `hl7:"15,display=Accident"`
	DG1                []DG1                       `hl7:"16,display=Diagnosis"`
	DRG                []DRG                       `hl7:"17,display=Diagnosis Related Group"`
	AL1                []AL1                       `hl7:"18,display=Patient Allergy Information"`
	Procedure          []RQA_I09_Procedure         `hl7:",display=Procedure"`
	Observation        []RQA_I09_Observation       `hl7:",display=Observation"`
	Visit              *RQA_I09_Visit              `hl7:",display=Visit"`
	NTE                []NTE                       `hl7:"28,display=Notes And Comments"`
}

Request for modification to an authorization

This event triggers a message sent from a healthcare provider to a payor requesting changes to a previously referenced authorization. For example, a provider may determine that a substitute testing or surgical procedure should be performed on a specified patient.

type RQA_I09_Authorization

type RQA_I09_Authorization struct {
	HL7 HL7Name `hl7:",name=RQA_I09_Authorization,type=tg"`
	AUT *AUT    `hl7:"5,required,display=Authorization Information"`
	CTD *CTD    `hl7:"6,display=Contact Data"`
}

Authorization

type RQA_I09_Authorization2

type RQA_I09_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RQA_I09_Authorization2,type=tg"`
	AUT *AUT    `hl7:"20,required,display=Authorization Information"`
	CTD *CTD    `hl7:"21,display=Contact Data"`
}

Authorization2

type RQA_I09_Guarantorinsurance

type RQA_I09_Guarantorinsurance struct {
	HL7       HL7Name             `hl7:",name=RQA_I09_Guarantorinsurance,type=tg"`
	GT1       []GT1               `hl7:"11,display=Guarantor"`
	Insurance []RQA_I09_Insurance `hl7:",required,display=Insurance"`
}

Guarantorinsurance

type RQA_I09_Insurance

type RQA_I09_Insurance struct {
	HL7 HL7Name `hl7:",name=RQA_I09_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type RQA_I09_Observation

type RQA_I09_Observation struct {
	HL7     HL7Name           `hl7:",name=RQA_I09_Observation,type=tg"`
	OBR     *OBR              `hl7:"22,required,display=Observation Request"`
	NTE     []NTE             `hl7:"23,display=Notes And Comments"`
	Results []RQA_I09_Results `hl7:",display=Results"`
}

Observation

type RQA_I09_Procedure

type RQA_I09_Procedure struct {
	HL7            HL7Name                 `hl7:",name=RQA_I09_Procedure,type=tg"`
	PR1            *PR1                    `hl7:"19,required,display=Procedures"`
	Authorization2 *RQA_I09_Authorization2 `hl7:",display=Authorization2"`
}

Procedure

type RQA_I09_Provider

type RQA_I09_Provider struct {
	HL7 HL7Name `hl7:",name=RQA_I09_Provider,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Provider

type RQA_I09_Results

type RQA_I09_Results struct {
	HL7 HL7Name `hl7:",name=RQA_I09_Results,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Results

type RQA_I09_Visit

type RQA_I09_Visit struct {
	HL7 HL7Name `hl7:",name=RQA_I09_Visit,type=tg"`
	PV1 *PV1    `hl7:"26,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"27,display=Patient Visit - Additional Information"`
}

Visit

type RQA_I10

type RQA_I10 struct {
	HL7                HL7Name                     `hl7:",name=RQA_I10,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	RF1                *RF1                        `hl7:"4,display=Referral Information"`
	Authorization      *RQA_I10_Authorization      `hl7:",display=Authorization"`
	Provider           []RQA_I10_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"9,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"10,display=Next Of Kin / Associated Parties"`
	Guarantorinsurance *RQA_I10_Guarantorinsurance `hl7:",display=Guarantor_insurance"`
	ACC                *ACC                        `hl7:"15,display=Accident"`
	DG1                []DG1                       `hl7:"16,display=Diagnosis"`
	DRG                []DRG                       `hl7:"17,display=Diagnosis Related Group"`
	AL1                []AL1                       `hl7:"18,display=Patient Allergy Information"`
	Procedure          []RQA_I10_Procedure         `hl7:",display=Procedure"`
	Observation        []RQA_I10_Observation       `hl7:",display=Observation"`
	Visit              *RQA_I10_Visit              `hl7:",display=Visit"`
	NTE                []NTE                       `hl7:"28,display=Notes And Comments"`
}

Request for resubmission of an authorization

If a previously submitted request for treatment authorization is rejected or canceled, this event could trigger a resubmission message for a referenced authorization. For example, the payor may have rejected a request until additional clinical information is sent to support the authorization request.

type RQA_I10_Authorization

type RQA_I10_Authorization struct {
	HL7 HL7Name `hl7:",name=RQA_I10_Authorization,type=tg"`
	AUT *AUT    `hl7:"5,required,display=Authorization Information"`
	CTD *CTD    `hl7:"6,display=Contact Data"`
}

Authorization

type RQA_I10_Authorization2

type RQA_I10_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RQA_I10_Authorization2,type=tg"`
	AUT *AUT    `hl7:"20,required,display=Authorization Information"`
	CTD *CTD    `hl7:"21,display=Contact Data"`
}

Authorization2

type RQA_I10_Guarantorinsurance

type RQA_I10_Guarantorinsurance struct {
	HL7       HL7Name             `hl7:",name=RQA_I10_Guarantorinsurance,type=tg"`
	GT1       []GT1               `hl7:"11,display=Guarantor"`
	Insurance []RQA_I10_Insurance `hl7:",required,display=Insurance"`
}

Guarantorinsurance

type RQA_I10_Insurance

type RQA_I10_Insurance struct {
	HL7 HL7Name `hl7:",name=RQA_I10_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type RQA_I10_Observation

type RQA_I10_Observation struct {
	HL7     HL7Name           `hl7:",name=RQA_I10_Observation,type=tg"`
	OBR     *OBR              `hl7:"22,required,display=Observation Request"`
	NTE     []NTE             `hl7:"23,display=Notes And Comments"`
	Results []RQA_I10_Results `hl7:",display=Results"`
}

Observation

type RQA_I10_Procedure

type RQA_I10_Procedure struct {
	HL7            HL7Name                 `hl7:",name=RQA_I10_Procedure,type=tg"`
	PR1            *PR1                    `hl7:"19,required,display=Procedures"`
	Authorization2 *RQA_I10_Authorization2 `hl7:",display=Authorization2"`
}

Procedure

type RQA_I10_Provider

type RQA_I10_Provider struct {
	HL7 HL7Name `hl7:",name=RQA_I10_Provider,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Provider

type RQA_I10_Results

type RQA_I10_Results struct {
	HL7 HL7Name `hl7:",name=RQA_I10_Results,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Results

type RQA_I10_Visit

type RQA_I10_Visit struct {
	HL7 HL7Name `hl7:",name=RQA_I10_Visit,type=tg"`
	PV1 *PV1    `hl7:"26,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"27,display=Patient Visit - Additional Information"`
}

Visit

type RQA_I11

type RQA_I11 struct {
	HL7                HL7Name                     `hl7:",name=RQA_I11,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	RF1                *RF1                        `hl7:"4,display=Referral Information"`
	Authorization      *RQA_I11_Authorization      `hl7:",display=Authorization"`
	Provider           []RQA_I11_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"9,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"10,display=Next Of Kin / Associated Parties"`
	Guarantorinsurance *RQA_I11_Guarantorinsurance `hl7:",display=Guarantor_insurance"`
	ACC                *ACC                        `hl7:"15,display=Accident"`
	DG1                []DG1                       `hl7:"16,display=Diagnosis"`
	DRG                []DRG                       `hl7:"17,display=Diagnosis Related Group"`
	AL1                []AL1                       `hl7:"18,display=Patient Allergy Information"`
	Procedure          []RQA_I11_Procedure         `hl7:",display=Procedure"`
	Observation        []RQA_I11_Observation       `hl7:",display=Observation"`
	Visit              *RQA_I11_Visit              `hl7:",display=Visit"`
	NTE                []NTE                       `hl7:"28,display=Notes And Comments"`
}

Request for cancellation of an authorization

This event may trigger the cancellation of an authorization. It may be used by the provider to indicate that an authorized service was not performed, or perhaps that the patient changed to another provider. A payor may use this request to reject a submitted authorization request from a provider.

type RQA_I11_Authorization

type RQA_I11_Authorization struct {
	HL7 HL7Name `hl7:",name=RQA_I11_Authorization,type=tg"`
	AUT *AUT    `hl7:"5,required,display=Authorization Information"`
	CTD *CTD    `hl7:"6,display=Contact Data"`
}

Authorization

type RQA_I11_Authorization2

type RQA_I11_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RQA_I11_Authorization2,type=tg"`
	AUT *AUT    `hl7:"20,required,display=Authorization Information"`
	CTD *CTD    `hl7:"21,display=Contact Data"`
}

Authorization2

type RQA_I11_Guarantorinsurance

type RQA_I11_Guarantorinsurance struct {
	HL7       HL7Name             `hl7:",name=RQA_I11_Guarantorinsurance,type=tg"`
	GT1       []GT1               `hl7:"11,display=Guarantor"`
	Insurance []RQA_I11_Insurance `hl7:",required,display=Insurance"`
}

Guarantorinsurance

type RQA_I11_Insurance

type RQA_I11_Insurance struct {
	HL7 HL7Name `hl7:",name=RQA_I11_Insurance,type=tg"`
	IN1 *IN1    `hl7:"12,required,display=Insurance"`
	IN2 *IN2    `hl7:"13,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"14,display=Insurance Additional Information- Certification"`
}

Insurance

type RQA_I11_Observation

type RQA_I11_Observation struct {
	HL7     HL7Name           `hl7:",name=RQA_I11_Observation,type=tg"`
	OBR     *OBR              `hl7:"22,required,display=Observation Request"`
	NTE     []NTE             `hl7:"23,display=Notes And Comments"`
	Results []RQA_I11_Results `hl7:",display=Results"`
}

Observation

type RQA_I11_Procedure

type RQA_I11_Procedure struct {
	HL7            HL7Name                 `hl7:",name=RQA_I11_Procedure,type=tg"`
	PR1            *PR1                    `hl7:"19,required,display=Procedures"`
	Authorization2 *RQA_I11_Authorization2 `hl7:",display=Authorization2"`
}

Procedure

type RQA_I11_Provider

type RQA_I11_Provider struct {
	HL7 HL7Name `hl7:",name=RQA_I11_Provider,type=tg"`
	PRD *PRD    `hl7:"7,required,display=Provider Data"`
	CTD []CTD   `hl7:"8,display=Contact Data"`
}

Provider

type RQA_I11_Results

type RQA_I11_Results struct {
	HL7 HL7Name `hl7:",name=RQA_I11_Results,type=tg"`
	OBX *OBX    `hl7:"24,required,display=Observation/result"`
	NTE []NTE   `hl7:"25,display=Notes And Comments"`
}

Results

type RQA_I11_Visit

type RQA_I11_Visit struct {
	HL7 HL7Name `hl7:",name=RQA_I11_Visit,type=tg"`
	PV1 *PV1    `hl7:"26,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"27,display=Patient Visit - Additional Information"`
}

Visit

type RQC_I05

type RQC_I05 struct {
	HL7      HL7Name            `hl7:",name=RQC_I05,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	QRD      *QRD               `hl7:"4,required,display=Withdrawn"`
	QRF      *QRF               `hl7:"5,display=Withdrawn"`
	Provider []RQC_I05_Provider `hl7:",required,display=Provider"`
	PID      *PID               `hl7:"8,required,display=Patient Identification"`
	NK1      []NK1              `hl7:"9,display=Next Of Kin / Associated Parties"`
	GT1      []GT1              `hl7:"10,display=Guarantor"`
	NTE      []NTE              `hl7:"11,display=Notes And Comments"`
}

Request for patient clinical information

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5 section 5.4, "Query Response Message Pairs." The original mode query and the QRD/QRF segments have been replaced.

This event is used to request clinical information for a specific patient. Generally, this transaction occurs between one provider and another (typically a laboratory or radiology, etc.). However, it may also be very useful for a payor-to-provider request for clinical observation information to be used in considering a request for treatment authorization.

type RQC_I05_Provider

type RQC_I05_Provider struct {
	HL7 HL7Name `hl7:",name=RQC_I05_Provider,type=tg"`
	PRD *PRD    `hl7:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,display=Contact Data"`
}

Provider

type RQC_I06

type RQC_I06 struct {
	HL7      HL7Name            `hl7:",name=RQC_I06,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	QRD      *QRD               `hl7:"4,required,display=Withdrawn"`
	QRF      *QRF               `hl7:"5,display=Withdrawn"`
	Provider []RQC_I06_Provider `hl7:",required,display=Provider"`
	PID      *PID               `hl7:"8,required,display=Patient Identification"`
	NK1      []NK1              `hl7:"9,display=Next Of Kin / Associated Parties"`
	GT1      []GT1              `hl7:"10,display=Guarantor"`
	NTE      []NTE              `hl7:"11,display=Notes And Comments"`
}

Request/receipt of clinical data listing

Retained for backwards compatibility only in version 2.4 and later; refer to Chapter 5 section 5.4, "Query Response Message Pairs." The original mode query and the QRD/QRF segments have been replaced.

This event code is sent from one healthcare provider to another (typically a laboratory or radiology, etc.) to request a list of available clinical observation information. When the provider is dealing with a community model in which remote requests make transmission of large amounts of data impractical, this event code will provide for interactive lists of transactions from which more specific selections can be made.

type RQC_I06_Provider

type RQC_I06_Provider struct {
	HL7 HL7Name `hl7:",name=RQC_I06_Provider,type=tg"`
	PRD *PRD    `hl7:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,display=Contact Data"`
}

Provider

type RQD

type RQD struct {
	HL7                      HL7Name `hl7:",name=RQD,type=s"`
	RequisitionLineNumber    SI      `hl7:"1,len=4,display=Requisition Line Number"`
	ItemCodeInternal         *CWE    `hl7:"2,conditional,table=9999,display=Item Code - Internal"`
	ItemCodeExternal         *CWE    `hl7:"3,conditional,table=9999,display=Item Code - External"`
	HospitalItemCode         *CWE    `hl7:"4,conditional,table=9999,display=Hospital Item Code"`
	RequisitionQuantity      NM      `hl7:"5,display=Requisition Quantity"`
	RequisitionUnitOfMeasure *CWE    `hl7:"6,table=9999,display=Requisition Unit Of Measure"`
	CostCenterAccountNumber  *CX     `hl7:"7,table=0319,display=Cost Center Account Number"`
	ItemNaturalAccountCode   *CWE    `hl7:"8,table=0320,display=Item Natural Account Code"`
	DeliverToID              *CWE    `hl7:"9,table=9999,display=Deliver To Id"`
	DateNeeded               DT      `hl7:"10,format=YMD,display=Date Needed"`
}

Requisition Detail

RQD contains the detail for each requisitioned item.

type RQI_I01

type RQI_I01 struct {
	HL7                HL7Name                     `hl7:",name=RQI_I01,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	Provider           []RQI_I01_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"6,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"7,display=Next Of Kin / Associated Parties"`
	Guarantorinsurance *RQI_I01_Guarantorinsurance `hl7:",display=Guarantor_insurance"`
	NTE                []NTE                       `hl7:"12,display=Notes And Comments"`
}

Request for insurance information

This event triggers a message to be sent from one healthcare provider to another to request insurance information for a specified patient.

type RQI_I01_Guarantorinsurance

type RQI_I01_Guarantorinsurance struct {
	HL7       HL7Name             `hl7:",name=RQI_I01_Guarantorinsurance,type=tg"`
	GT1       []GT1               `hl7:"8,display=Guarantor"`
	Insurance []RQI_I01_Insurance `hl7:",required,display=Insurance"`
}

Guarantorinsurance

type RQI_I01_Insurance

type RQI_I01_Insurance struct {
	HL7 HL7Name `hl7:",name=RQI_I01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"9,required,display=Insurance"`
	IN2 *IN2    `hl7:"10,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"11,display=Insurance Additional Information- Certification"`
}

Insurance

type RQI_I01_Provider

type RQI_I01_Provider struct {
	HL7 HL7Name `hl7:",name=RQI_I01_Provider,type=tg"`
	PRD *PRD    `hl7:"4,required,display=Provider Data"`
	CTD []CTD   `hl7:"5,display=Contact Data"`
}

Provider

type RQI_I02

type RQI_I02 struct {
	HL7                HL7Name                     `hl7:",name=RQI_I02,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	Provider           []RQI_I02_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"6,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"7,display=Next Of Kin / Associated Parties"`
	Guarantorinsurance *RQI_I02_Guarantorinsurance `hl7:",display=Guarantor_insurance"`
	NTE                []NTE                       `hl7:"12,display=Notes And Comments"`
}

Request/receipt of patient selection display list

This trigger event occurs when the inquirer specifies a request for a name lookup listing. Generally, this request is used by the responder when insufficient data is on hand for a positive match. In this case, the requester may ask for a list of possible candidates from which to make a selection. This event code is also used by the responder to signify that the return information contains a list of information rather than information specific to a single patient.

type RQI_I02_Guarantorinsurance

type RQI_I02_Guarantorinsurance struct {
	HL7       HL7Name             `hl7:",name=RQI_I02_Guarantorinsurance,type=tg"`
	GT1       []GT1               `hl7:"8,display=Guarantor"`
	Insurance []RQI_I02_Insurance `hl7:",required,display=Insurance"`
}

Guarantorinsurance

type RQI_I02_Insurance

type RQI_I02_Insurance struct {
	HL7 HL7Name `hl7:",name=RQI_I02_Insurance,type=tg"`
	IN1 *IN1    `hl7:"9,required,display=Insurance"`
	IN2 *IN2    `hl7:"10,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"11,display=Insurance Additional Information- Certification"`
}

Insurance

type RQI_I02_Provider

type RQI_I02_Provider struct {
	HL7 HL7Name `hl7:",name=RQI_I02_Provider,type=tg"`
	PRD *PRD    `hl7:"4,required,display=Provider Data"`
	CTD []CTD   `hl7:"5,display=Contact Data"`
}

Provider

type RQI_I03

type RQI_I03 struct {
	HL7                HL7Name                     `hl7:",name=RQI_I03,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message Header"`
	SFT                []SFT                       `hl7:"2,display=Software Segment"`
	UAC                *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	Provider           []RQI_I03_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"6,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"7,display=Next Of Kin / Associated Parties"`
	Guarantorinsurance *RQI_I03_Guarantorinsurance `hl7:",display=Guarantor_insurance"`
	NTE                []NTE                       `hl7:"12,display=Notes And Comments"`
}

Request/receipt of patient selection list

This trigger event occurs when the inquirer specifies a request for a listing of patient names. This event differs from event I02 (request/receipts of patient selection display list) in that it returns the patient list in repeating PID segments instead of repeating DSP segments.

type RQI_I03_Guarantorinsurance

type RQI_I03_Guarantorinsurance struct {
	HL7       HL7Name             `hl7:",name=RQI_I03_Guarantorinsurance,type=tg"`
	GT1       []GT1               `hl7:"8,display=Guarantor"`
	Insurance []RQI_I03_Insurance `hl7:",required,display=Insurance"`
}

Guarantorinsurance

type RQI_I03_Insurance

type RQI_I03_Insurance struct {
	HL7 HL7Name `hl7:",name=RQI_I03_Insurance,type=tg"`
	IN1 *IN1    `hl7:"9,required,display=Insurance"`
	IN2 *IN2    `hl7:"10,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"11,display=Insurance Additional Information- Certification"`
}

Insurance

type RQI_I03_Provider

type RQI_I03_Provider struct {
	HL7 HL7Name `hl7:",name=RQI_I03_Provider,type=tg"`
	PRD *PRD    `hl7:"4,required,display=Provider Data"`
	CTD []CTD   `hl7:"5,display=Contact Data"`
}

Provider

type RQP_I04

type RQP_I04 struct {
	HL7      HL7Name            `hl7:",name=RQP_I04,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	SFT      []SFT              `hl7:"2,display=Software Segment"`
	UAC      *UAC               `hl7:"3,display=User Authentication Credential Segment"`
	Provider []RQP_I04_Provider `hl7:",required,display=Provider"`
	PID      *PID               `hl7:"6,required,display=Patient Identification"`
	NK1      []NK1              `hl7:"7,display=Next Of Kin / Associated Parties"`
	GT1      []GT1              `hl7:"8,display=Guarantor"`
	NTE      []NTE              `hl7:"9,display=Notes And Comments"`
}

Request for patient demographic data

This event triggers a request from one healthcare provider to another for patient demographic information, including insurance and billing information. Typically, this transaction would occur between one provider to another, but it could also be directed to a payor.

type RQP_I04_Provider

type RQP_I04_Provider struct {
	HL7 HL7Name `hl7:",name=RQP_I04_Provider,type=tg"`
	PRD *PRD    `hl7:"4,required,display=Provider Data"`
	CTD []CTD   `hl7:"5,display=Contact Data"`
}

Provider

type RRA_O18

type RRA_O18 struct {
	HL7      HL7Name           `hl7:",name=RRA_O18,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *RRA_O18_Response `hl7:",display=Response"`
}

Pharmacy/treatment administration acknowledgment

Note: The use of RAS with the trigger of O01 and RRA with the trigger O02 is maintained for backward compatibility as of v2.4 and is withdrawn as of v2.7.

type RRA_O18_Administration

type RRA_O18_Administration struct {
	HL7       HL7Name             `hl7:",name=RRA_O18_Administration,type=tg"`
	Treatment []RRA_O18_Treatment `hl7:",required,display=Treatment"`
	RXR       *RXR                `hl7:"15,required,display=Pharmacy/treatment Route"`
}

Administration

type RRA_O18_Order

type RRA_O18_Order struct {
	HL7            HL7Name                 `hl7:",name=RRA_O18_Order,type=tg"`
	ORC            *ORC                    `hl7:"9,required,display=Common Order"`
	PRT            []PRT                   `hl7:"10,display=Participation Information"`
	Timing         []RRA_O18_Timing        `hl7:",display=Timing"`
	Administration *RRA_O18_Administration `hl7:",display=Administration"`
}

Order

type RRA_O18_Patient

type RRA_O18_Patient struct {
	HL7 HL7Name `hl7:",name=RRA_O18_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
}

Patient

type RRA_O18_Response

type RRA_O18_Response struct {
	HL7     HL7Name          `hl7:",name=RRA_O18_Response,type=tg"`
	Patient *RRA_O18_Patient `hl7:",display=Patient"`
	Order   []RRA_O18_Order  `hl7:",required,display=Order"`
}

Response

type RRA_O18_Timing

type RRA_O18_Timing struct {
	HL7 HL7Name `hl7:",name=RRA_O18_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"11,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"12,display=Timing/quantity Relationship"`
}

Timing

type RRA_O18_Treatment

type RRA_O18_Treatment struct {
	HL7 HL7Name `hl7:",name=RRA_O18_Treatment,type=tg"`
	RXA *RXA    `hl7:"13,required,display=Pharmacy/treatment Administration"`
	PRT []PRT   `hl7:"14,display=Participation Information"`
}

Treatment

type RRD_O14

type RRD_O14 struct {
	HL7      HL7Name           `hl7:",name=RRD_O14,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *RRD_O14_Response `hl7:",display=Response"`
}

Pharmacy/treatment dispense acknowledgment

type RRD_O14_Dispense

type RRD_O14_Dispense struct {
	HL7 HL7Name `hl7:",name=RRD_O14_Dispense,type=tg"`
	RXD *RXD    `hl7:"12,required,display=Pharmacy/treatment Dispense"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
	RXR []RXR   `hl7:"14,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"15,display=Pharmacy/treatment Component Order"`
}

Dispense

type RRD_O14_Order

type RRD_O14_Order struct {
	HL7      HL7Name           `hl7:",name=RRD_O14_Order,type=tg"`
	ORC      *ORC              `hl7:"9,required,display=Common Order"`
	Timing   []RRD_O14_Timing  `hl7:",display=Timing"`
	Dispense *RRD_O14_Dispense `hl7:",display=Dispense"`
	PRT      []PRT             `hl7:"16,display=Participation Information"`
}

Order

type RRD_O14_Patient

type RRD_O14_Patient struct {
	HL7 HL7Name `hl7:",name=RRD_O14_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
}

Patient

type RRD_O14_Response

type RRD_O14_Response struct {
	HL7     HL7Name          `hl7:",name=RRD_O14_Response,type=tg"`
	Patient *RRD_O14_Patient `hl7:",display=Patient"`
	Order   []RRD_O14_Order  `hl7:",required,display=Order"`
}

Response

type RRD_O14_Timing

type RRD_O14_Timing struct {
	HL7 HL7Name `hl7:",name=RRD_O14_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"10,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"11,display=Timing/quantity Relationship"`
}

Timing

type RRE_O12

type RRE_O12 struct {
	HL7      HL7Name           `hl7:",name=RRE_O12,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *RRE_O12_Response `hl7:",display=Response"`
}

Pharmacy/treatment encoded order acknowledgment

Note: The use of RDE with the trigger of O01 and RRE with the trigger O02 is maintained for backward compatibility as of v2.4 and is withdrawn as of v2.7.

type RRE_O12_Encoding

type RRE_O12_Encoding struct {
	HL7           HL7Name                 `hl7:",name=RRE_O12_Encoding,type=tg"`
	RXE           *RXE                    `hl7:"12,required,display=Pharmacy/treatment Encoded Order"`
	NTE           []NTE                   `hl7:"13,display=Notes And Comments"`
	Timingencoded []RRE_O12_Timingencoded `hl7:",required,display=Timing_encoded"`
	RXR           []RXR                   `hl7:"16,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"17,display=Pharmacy/treatment Component Order"`
}

Encoding

type RRE_O12_Order

type RRE_O12_Order struct {
	HL7      HL7Name           `hl7:",name=RRE_O12_Order,type=tg"`
	ORC      *ORC              `hl7:"9,required,display=Common Order"`
	Timing   []RRE_O12_Timing  `hl7:",display=Timing"`
	Encoding *RRE_O12_Encoding `hl7:",display=Encoding"`
	PRT      []PRT             `hl7:"18,display=Participation Information"`
}

Order

type RRE_O12_Patient

type RRE_O12_Patient struct {
	HL7 HL7Name `hl7:",name=RRE_O12_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
}

Patient

type RRE_O12_Response

type RRE_O12_Response struct {
	HL7     HL7Name          `hl7:",name=RRE_O12_Response,type=tg"`
	Patient *RRE_O12_Patient `hl7:",display=Patient"`
	Order   []RRE_O12_Order  `hl7:",required,display=Order"`
}

Response

type RRE_O12_Timing

type RRE_O12_Timing struct {
	HL7 HL7Name `hl7:",name=RRE_O12_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"10,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"11,display=Timing/quantity Relationship"`
}

Timing

type RRE_O12_Timingencoded

type RRE_O12_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RRE_O12_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"14,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"15,display=Timing/quantity Relationship"`
}

Timingencoded

type RRE_O26

type RRE_O26 struct {
	HL7      HL7Name           `hl7:",name=RRE_O26,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *RRE_O26_Response `hl7:",display=Response"`
}

Pharmacy/Treatment Refill Authorization Acknowledgement

type RRE_O26_Encoding

type RRE_O26_Encoding struct {
	HL7           HL7Name                 `hl7:",name=RRE_O26_Encoding,type=tg"`
	RXE           *RXE                    `hl7:"12,required,display=Pharmacy/treatment Encoded Order"`
	NTE           []NTE                   `hl7:"13,display=Notes And Comments"`
	Timingencoded []RRE_O26_Timingencoded `hl7:",required,display=Timing_encoded"`
	RXR           []RXR                   `hl7:"16,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"17,display=Pharmacy/treatment Component Order"`
}

Encoding

type RRE_O26_Order

type RRE_O26_Order struct {
	HL7      HL7Name           `hl7:",name=RRE_O26_Order,type=tg"`
	ORC      *ORC              `hl7:"9,required,display=Common Order"`
	Timing   []RRE_O26_Timing  `hl7:",display=Timing"`
	Encoding *RRE_O26_Encoding `hl7:",display=Encoding"`
	PRT      []PRT             `hl7:"18,display=Participation Information"`
}

Order

type RRE_O26_Patient

type RRE_O26_Patient struct {
	HL7 HL7Name `hl7:",name=RRE_O26_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
}

Patient

type RRE_O26_Response

type RRE_O26_Response struct {
	HL7     HL7Name          `hl7:",name=RRE_O26_Response,type=tg"`
	Patient *RRE_O26_Patient `hl7:",display=Patient"`
	Order   []RRE_O26_Order  `hl7:",required,display=Order"`
}

Response

type RRE_O26_Timing

type RRE_O26_Timing struct {
	HL7 HL7Name `hl7:",name=RRE_O26_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"10,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"11,display=Timing/quantity Relationship"`
}

Timing

type RRE_O26_Timingencoded

type RRE_O26_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RRE_O26_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"14,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"15,display=Timing/quantity Relationship"`
}

Timingencoded

type RRG_O16

type RRG_O16 struct {
	HL7      HL7Name           `hl7:",name=RRG_O16,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	SFT      []SFT             `hl7:"4,display=Software Segment"`
	UAC      *UAC              `hl7:"5,display=User Authentication Credential Segment"`
	NTE      []NTE             `hl7:"6,display=Notes And Comments"`
	Response *RRG_O16_Response `hl7:",display=Response"`
}

Pharmacy/treatment give acknowledgment

Note: The use of RGV with the trigger of O01 and RRG with the trigger O02 is maintained for backward compatibility as of v2.4 and is withdrawn as of v2.7.

type RRG_O16_Give

type RRG_O16_Give struct {
	HL7        HL7Name              `hl7:",name=RRG_O16_Give,type=tg"`
	RXG        *RXG                 `hl7:"13,required,display=Pharmacy/treatment Give"`
	Timinggive []RRG_O16_Timinggive `hl7:",required,display=Timing_give"`
	RXR        []RXR                `hl7:"16,required,display=Pharmacy/treatment Route"`
	RXC        []RXC                `hl7:"17,display=Pharmacy/treatment Component Order"`
}

Give

type RRG_O16_Order

type RRG_O16_Order struct {
	HL7    HL7Name          `hl7:",name=RRG_O16_Order,type=tg"`
	ORC    *ORC             `hl7:"9,required,display=Common Order"`
	PRT    []PRT            `hl7:"10,display=Participation Information"`
	Timing []RRG_O16_Timing `hl7:",display=Timing"`
	Give   *RRG_O16_Give    `hl7:",display=Give"`
}

Order

type RRG_O16_Patient

type RRG_O16_Patient struct {
	HL7 HL7Name `hl7:",name=RRG_O16_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes And Comments"`
}

Patient

type RRG_O16_Response

type RRG_O16_Response struct {
	HL7     HL7Name          `hl7:",name=RRG_O16_Response,type=tg"`
	Patient *RRG_O16_Patient `hl7:",display=Patient"`
	Order   []RRG_O16_Order  `hl7:",required,display=Order"`
}

Response

type RRG_O16_Timing

type RRG_O16_Timing struct {
	HL7 HL7Name `hl7:",name=RRG_O16_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"11,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"12,display=Timing/quantity Relationship"`
}

Timing

type RRG_O16_Timinggive

type RRG_O16_Timinggive struct {
	HL7 HL7Name `hl7:",name=RRG_O16_Timinggive,type=tg"`
	TQ1 *TQ1    `hl7:"14,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"15,display=Timing/quantity Relationship"`
}

Timinggive

type RRI_I12

type RRI_I12 struct {
	HL7                  HL7Name                       `hl7:",name=RRI_I12,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  *UAC                          `hl7:"3,display=User Authentication Credential Segment"`
	MSA                  *MSA                          `hl7:"4,display=Message Acknowledgment"`
	RF1                  *RF1                          `hl7:"5,display=Referral Information"`
	Authorizationcontact *RRI_I12_Authorizationcontact `hl7:",display=Authorization_contact"`
	Providercontact      []RRI_I12_Providercontact     `hl7:",required,display=Provider_contact"`
	PID                  *PID                          `hl7:"10,required,display=Patient Identification"`
	ACC                  *ACC                          `hl7:"11,display=Accident"`
	DG1                  []DG1                         `hl7:"12,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"13,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"14,display=Patient Allergy Information"`
	Procedure            []RRI_I12_Procedure           `hl7:",display=Procedure"`
	Observation          []RRI_I12_Observation         `hl7:",display=Observation"`
	Patientvisit         *RRI_I12_Patientvisit         `hl7:",display=Patient_visit"`
	NTE                  []NTE                         `hl7:"24,display=Notes And Comments"`
}

Return referal information

type RRI_I12_Authorizationcontact

type RRI_I12_Authorizationcontact struct {
	HL7 HL7Name `hl7:",name=RRI_I12_Authorizationcontact,type=tg"`
	AUT *AUT    `hl7:"6,required,display=Authorization Information"`
	CTD *CTD    `hl7:"7,display=Contact Data"`
}

Authorizationcontact

type RRI_I12_Authorizationcontact2

type RRI_I12_Authorizationcontact2 struct {
	HL7 HL7Name `hl7:",name=RRI_I12_Authorizationcontact2,type=tg"`
	AUT *AUT    `hl7:"16,required,display=Authorization Information"`
	CTD *CTD    `hl7:"17,display=Contact Data"`
}

Authorizationcontact2

type RRI_I12_Observation

type RRI_I12_Observation struct {
	HL7          HL7Name                `hl7:",name=RRI_I12_Observation,type=tg"`
	OBR          *OBR                   `hl7:"18,required,display=Observation Request"`
	NTE          []NTE                  `hl7:"19,display=Notes And Comments"`
	Resultsnotes []RRI_I12_Resultsnotes `hl7:",display=Results_notes"`
}

Observation

type RRI_I12_Patientvisit

type RRI_I12_Patientvisit struct {
	HL7 HL7Name `hl7:",name=RRI_I12_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"22,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"23,display=Patient Visit - Additional Information"`
}

Patientvisit

type RRI_I12_Procedure

type RRI_I12_Procedure struct {
	HL7                   HL7Name                        `hl7:",name=RRI_I12_Procedure,type=tg"`
	PR1                   *PR1                           `hl7:"15,required,display=Procedures"`
	Authorizationcontact2 *RRI_I12_Authorizationcontact2 `hl7:",display=Authorization_contact2"`
}

Procedure

type RRI_I12_Providercontact

type RRI_I12_Providercontact struct {
	HL7 HL7Name `hl7:",name=RRI_I12_Providercontact,type=tg"`
	PRD *PRD    `hl7:"8,required,display=Provider Data"`
	CTD []CTD   `hl7:"9,display=Contact Data"`
}

Providercontact

type RRI_I12_Resultsnotes

type RRI_I12_Resultsnotes struct {
	HL7 HL7Name `hl7:",name=RRI_I12_Resultsnotes,type=tg"`
	OBX *OBX    `hl7:"20,required,display=Observation/result"`
	NTE []NTE   `hl7:"21,display=Notes And Comments"`
}

Resultsnotes

type RRI_I13

type RRI_I13 struct {
	HL7                  HL7Name                       `hl7:",name=RRI_I13,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  *UAC                          `hl7:"3,display=User Authentication Credential Segment"`
	MSA                  *MSA                          `hl7:"4,display=Message Acknowledgment"`
	RF1                  *RF1                          `hl7:"5,display=Referral Information"`
	AuthorizationContact *RRI_I13_AuthorizationContact `hl7:",display=Authorization Contact"`
	ProviderContact      []RRI_I13_ProviderContact     `hl7:",required,display=Provider Contact"`
	PID                  *PID                          `hl7:"10,required,display=Patient Identification"`
	ACC                  *ACC                          `hl7:"11,display=Accident"`
	DG1                  []DG1                         `hl7:"12,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"13,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"14,display=Patient Allergy Information"`
	Procedure            []RRI_I13_Procedure           `hl7:",display=Procedure"`
	Observation          []RRI_I13_Observation         `hl7:",display=Observation"`
	PatientVisit         *RRI_I13_PatientVisit         `hl7:",display=Patient Visit"`
	NTE                  []NTE                         `hl7:"24,display=Notes And Comments"`
}

Modify Patient Referral Response

This event triggers a message to be sent from one healthcare provider to another regarding changes to an existing referral. Changes in a referral may include additional instructions from the referring provider, additional clinical information, and even additional information on patient demographics.

type RRI_I13_AuthorizationContact

type RRI_I13_AuthorizationContact struct {
	HL7 HL7Name `hl7:",name=RRI_I13_AuthorizationContact,type=tg"`
	AUT *AUT    `hl7:"6,required,display=Authorization Information"`
	CTD *CTD    `hl7:"7,display=Contact Data"`
}

AuthorizationContact

type RRI_I13_AuthorizationContact2

type RRI_I13_AuthorizationContact2 struct {
	HL7 HL7Name `hl7:",name=RRI_I13_AuthorizationContact2,type=tg"`
	AUT *AUT    `hl7:"16,required,display=Authorization Information"`
	CTD *CTD    `hl7:"17,display=Contact Data"`
}

AuthorizationContact

type RRI_I13_Observation

type RRI_I13_Observation struct {
	HL7          HL7Name                `hl7:",name=RRI_I13_Observation,type=tg"`
	OBR          *OBR                   `hl7:"18,required,display=Observation Request"`
	NTE          []NTE                  `hl7:"19,display=Notes And Comments"`
	ResultsNotes []RRI_I13_ResultsNotes `hl7:",display=Results Notes"`
}

Observation

type RRI_I13_PatientVisit

type RRI_I13_PatientVisit struct {
	HL7 HL7Name `hl7:",name=RRI_I13_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"22,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"23,display=Patient Visit - Additional Information"`
}

PatientVisit

type RRI_I13_Procedure

type RRI_I13_Procedure struct {
	HL7                  HL7Name                        `hl7:",name=RRI_I13_Procedure,type=tg"`
	PR1                  *PR1                           `hl7:"15,required,display=Procedures"`
	AuthorizationContact *RRI_I13_AuthorizationContact2 `hl7:",display=Authorization Contact"`
}

Procedure

type RRI_I13_ProviderContact

type RRI_I13_ProviderContact struct {
	HL7 HL7Name `hl7:",name=RRI_I13_ProviderContact,type=tg"`
	PRD *PRD    `hl7:"8,required,display=Provider Data"`
	CTD []CTD   `hl7:"9,display=Contact Data"`
}

ProviderContact

type RRI_I13_ResultsNotes

type RRI_I13_ResultsNotes struct {
	HL7 HL7Name `hl7:",name=RRI_I13_ResultsNotes,type=tg"`
	OBX *OBX    `hl7:"20,required,display=Observation/result"`
	NTE []NTE   `hl7:"21,display=Notes And Comments"`
}

ResultsNotes

type RRI_I14

type RRI_I14 struct {
	HL7                  HL7Name                       `hl7:",name=RRI_I14,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  *UAC                          `hl7:"3,display=User Authentication Credential Segment"`
	MSA                  *MSA                          `hl7:"4,display=Message Acknowledgment"`
	RF1                  *RF1                          `hl7:"5,display=Referral Information"`
	AuthorizationContact *RRI_I14_AuthorizationContact `hl7:",display=Authorization Contact"`
	ProviderContact      []RRI_I14_ProviderContact     `hl7:",required,display=Provider Contact"`
	PID                  *PID                          `hl7:"10,required,display=Patient Identification"`
	ACC                  *ACC                          `hl7:"11,display=Accident"`
	DG1                  []DG1                         `hl7:"12,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"13,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"14,display=Patient Allergy Information"`
	Procedure            []RRI_I14_Procedure           `hl7:",display=Procedure"`
	Observation          []RRI_I14_Observation         `hl7:",display=Observation"`
	PatientVisit         *RRI_I14_PatientVisit         `hl7:",display=Patient Visit"`
	NTE                  []NTE                         `hl7:"24,display=Notes And Comments"`
}

Cancel Patient Referral Response

This event triggers a message to be sent from one healthcare provider to another canceling a referral. A previous referral may have been made in error, or perhaps the cancellation has come from the patient.

type RRI_I14_AuthorizationContact

type RRI_I14_AuthorizationContact struct {
	HL7 HL7Name `hl7:",name=RRI_I14_AuthorizationContact,type=tg"`
	AUT *AUT    `hl7:"6,required,display=Authorization Information"`
	CTD *CTD    `hl7:"7,display=Contact Data"`
}

AuthorizationContact

type RRI_I14_AuthorizationContact2

type RRI_I14_AuthorizationContact2 struct {
	HL7 HL7Name `hl7:",name=RRI_I14_AuthorizationContact2,type=tg"`
	AUT *AUT    `hl7:"16,required,display=Authorization Information"`
	CTD *CTD    `hl7:"17,display=Contact Data"`
}

AuthorizationContact

type RRI_I14_Observation

type RRI_I14_Observation struct {
	HL7          HL7Name                `hl7:",name=RRI_I14_Observation,type=tg"`
	OBR          *OBR                   `hl7:"18,required,display=Observation Request"`
	NTE          []NTE                  `hl7:"19,display=Notes And Comments"`
	ResultsNotes []RRI_I14_ResultsNotes `hl7:",display=Results Notes"`
}

Observation

type RRI_I14_PatientVisit

type RRI_I14_PatientVisit struct {
	HL7 HL7Name `hl7:",name=RRI_I14_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"22,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"23,display=Patient Visit - Additional Information"`
}

PatientVisit

type RRI_I14_Procedure

type RRI_I14_Procedure struct {
	HL7                  HL7Name                        `hl7:",name=RRI_I14_Procedure,type=tg"`
	PR1                  *PR1                           `hl7:"15,required,display=Procedures"`
	AuthorizationContact *RRI_I14_AuthorizationContact2 `hl7:",display=Authorization Contact"`
}

Procedure

type RRI_I14_ProviderContact

type RRI_I14_ProviderContact struct {
	HL7 HL7Name `hl7:",name=RRI_I14_ProviderContact,type=tg"`
	PRD *PRD    `hl7:"8,required,display=Provider Data"`
	CTD []CTD   `hl7:"9,display=Contact Data"`
}

ProviderContact

type RRI_I14_ResultsNotes

type RRI_I14_ResultsNotes struct {
	HL7 HL7Name `hl7:",name=RRI_I14_ResultsNotes,type=tg"`
	OBX *OBX    `hl7:"20,required,display=Observation/result"`
	NTE []NTE   `hl7:"21,display=Notes And Comments"`
}

ResultsNotes

type RRI_I15

type RRI_I15 struct {
	HL7                  HL7Name                       `hl7:",name=RRI_I15,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message Header"`
	SFT                  []SFT                         `hl7:"2,display=Software Segment"`
	UAC                  *UAC                          `hl7:"3,display=User Authentication Credential Segment"`
	MSA                  *MSA                          `hl7:"4,display=Message Acknowledgment"`
	RF1                  *RF1                          `hl7:"5,display=Referral Information"`
	AuthorizationContact *RRI_I15_AuthorizationContact `hl7:",display=Authorization Contact"`
	ProviderContact      []RRI_I15_ProviderContact     `hl7:",required,display=Provider Contact"`
	PID                  *PID                          `hl7:"10,required,display=Patient Identification"`
	ACC                  *ACC                          `hl7:"11,display=Accident"`
	DG1                  []DG1                         `hl7:"12,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"13,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"14,display=Patient Allergy Information"`
	Procedure            []RRI_I15_Procedure           `hl7:",display=Procedure"`
	Observation          []RRI_I15_Observation         `hl7:",display=Observation"`
	PatientVisit         *RRI_I15_PatientVisit         `hl7:",display=Patient Visit"`
	NTE                  []NTE                         `hl7:"24,display=Notes And Comments"`
}

Return Request Patient Referral Status

This event triggers a message to be sent between healthcare providers regarding the status of a patient referral request. A previous referral has been made and acknowledged; however, no response has been received to indicate results and/or procedures performed.

type RRI_I15_AuthorizationContact

type RRI_I15_AuthorizationContact struct {
	HL7 HL7Name `hl7:",name=RRI_I15_AuthorizationContact,type=tg"`
	AUT *AUT    `hl7:"6,required,display=Authorization Information"`
	CTD *CTD    `hl7:"7,display=Contact Data"`
}

AuthorizationContact

type RRI_I15_AuthorizationContact2

type RRI_I15_AuthorizationContact2 struct {
	HL7 HL7Name `hl7:",name=RRI_I15_AuthorizationContact2,type=tg"`
	AUT *AUT    `hl7:"16,required,display=Authorization Information"`
	CTD *CTD    `hl7:"17,display=Contact Data"`
}

AuthorizationContact

type RRI_I15_Observation

type RRI_I15_Observation struct {
	HL7          HL7Name                `hl7:",name=RRI_I15_Observation,type=tg"`
	OBR          *OBR                   `hl7:"18,required,display=Observation Request"`
	NTE          []NTE                  `hl7:"19,display=Notes And Comments"`
	ResultsNotes []RRI_I15_ResultsNotes `hl7:",display=Results Notes"`
}

Observation

type RRI_I15_PatientVisit

type RRI_I15_PatientVisit struct {
	HL7 HL7Name `hl7:",name=RRI_I15_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"22,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"23,display=Patient Visit - Additional Information"`
}

PatientVisit

type RRI_I15_Procedure

type RRI_I15_Procedure struct {
	HL7                  HL7Name                        `hl7:",name=RRI_I15_Procedure,type=tg"`
	PR1                  *PR1                           `hl7:"15,required,display=Procedures"`
	AuthorizationContact *RRI_I15_AuthorizationContact2 `hl7:",display=Authorization Contact"`
}

Procedure

type RRI_I15_ProviderContact

type RRI_I15_ProviderContact struct {
	HL7 HL7Name `hl7:",name=RRI_I15_ProviderContact,type=tg"`
	PRD *PRD    `hl7:"8,required,display=Provider Data"`
	CTD []CTD   `hl7:"9,display=Contact Data"`
}

ProviderContact

type RRI_I15_ResultsNotes

type RRI_I15_ResultsNotes struct {
	HL7 HL7Name `hl7:",name=RRI_I15_ResultsNotes,type=tg"`
	OBX *OBX    `hl7:"20,required,display=Observation/result"`
	NTE []NTE   `hl7:"21,display=Notes And Comments"`
}

ResultsNotes

type RSP_E03

type RSP_E03 struct {
	HL7      HL7Name           `hl7:",name=RSP_E03,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	SFT      []SFT             `hl7:"2,display=Software Segment"`
	UAC      []UAC             `hl7:"3,display=User Authentication Credential Segment"`
	MSA      *MSA              `hl7:"4,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"5,display=Error"`
	QueryAck *RSP_E03_QueryAck `hl7:",required,display=Query Ack"`
}

HealthCare Services Invoice Status Query Response

This message is used to respond to a QPB^E03 – Query HealthCare Services Invoice. It provides Invoice and invoice processing information to a Provider.

A QBP^E03 – Query HealthCare Services Invoice can be used to query against an Invoice or a specific Product/Service Line Item in an Invoice. The same response message, RSP^E03 – HealthCare Services Invoice Query Response, is used for both types of query.

type RSP_E03_InvoiceProcessingResultsInfo

type RSP_E03_InvoiceProcessingResultsInfo struct {
	HL7 HL7Name `hl7:",name=RSP_E03_InvoiceProcessingResultsInfo,type=tg"`
	IPR *IPR    `hl7:"8,required,display=Invoice Processing Results"`
}

InvoiceProcessingResultsInfo

type RSP_E03_QueryAck

type RSP_E03_QueryAck struct {
	HL7                          HL7Name                                `hl7:",name=RSP_E03_QueryAck,type=tg"`
	QAK                          *QAK                                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD                          *QPD                                   `hl7:"7,required,display=Query Parameter Definition"`
	InvoiceProcessingResultsInfo []RSP_E03_InvoiceProcessingResultsInfo `hl7:",display=Invoice Processing Results Info"`
}

QueryAck

type RSP_E22

type RSP_E22 struct {
	HL7      HL7Name           `hl7:",name=RSP_E22,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	SFT      []SFT             `hl7:"2,display=Software Segment"`
	UAC      []UAC             `hl7:"3,display=User Authentication Credential Segment"`
	MSA      *MSA              `hl7:"4,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"5,display=Error"`
	QueryAck *RSP_E22_QueryAck `hl7:",required,display=Query Ack"`
}

Authorization Request StatusResponse

This message is used to respond to a QPB_E22 – Query Authorization Request Status. It provides Authorization status information to a Provider.

type RSP_E22_AuthorizationInfo

type RSP_E22_AuthorizationInfo struct {
	HL7         HL7Name               `hl7:",name=RSP_E22_AuthorizationInfo,type=tg"`
	IVC         *IVC                  `hl7:"8,required,display=Invoice Segment"`
	PSG         *PSG                  `hl7:"9,required,display=Product/service Group"`
	PslItemInfo []RSP_E22_PslItemInfo `hl7:",required,display=Psl Item Info"`
}

AuthorizationInfo

type RSP_E22_PslItemInfo

type RSP_E22_PslItemInfo struct {
	HL7 HL7Name `hl7:",name=RSP_E22_PslItemInfo,type=tg"`
	PSL *PSL    `hl7:"10,required,display=Product/service Line Item"`
}

PslItemInfo

type RSP_E22_QueryAck

type RSP_E22_QueryAck struct {
	HL7               HL7Name                    `hl7:",name=RSP_E22_QueryAck,type=tg"`
	QAK               *QAK                       `hl7:"6,required,display=Query Acknowledgment"`
	QPD               *QPD                       `hl7:"7,required,display=Query Parameter Definition"`
	AuthorizationInfo *RSP_E22_AuthorizationInfo `hl7:",display=Authorization Info"`
}

QueryAck

type RSP_K11

type RSP_K11 struct {
	HL7            HL7Name                 `hl7:",name=RSP_K11,type=t"`
	MSH            *MSH                    `hl7:"1,required,display=Message Header"`
	SFT            []SFT                   `hl7:"2,display=Software Segment"`
	UAC            *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA            *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	ERR            *ERR                    `hl7:"5,display=Error"`
	QAK            *QAK                    `hl7:"6,required,display=Query Acknowledgment"`
	QPD            *QPD                    `hl7:"7,required,display=Query Parameter Definition"`
	Segmentpattern *RSP_K11_Segmentpattern `hl7:",display=Segment_pattern"`
	DSC            *DSC                    `hl7:"9,display=Continuation Pointer"`
}

Segment pattern response in response to QBP^Q11

The RSP_K11 supports a Segment Pattern Response to the QBP and contains the MSH, MSA, ERR, QAK, QPD, variable content segments, and the DSC. Its default trigger event is K11. A standard or site-defined response may use this trigger event or may specify a unique trigger event value in its Query Profile. If a unique trigger event value is chosen for a site-defined response, that value SHALL begin with Z.

Note on RSP: The Query Profile for each QBP/RSP pair shall specify an explicit segment pattern grammar in place of the ellipses shown above in the RSP_K11 grammar.

type RSP_K11_Segmentpattern

type RSP_K11_Segmentpattern struct {
	HL7 HL7Name `hl7:",name=RSP_K11_Segmentpattern,type=tg"`
	Hxx *Hxx    `hl7:"8,required,display=Any Hl7 Segment"`
}

Segmentpattern

type RSP_K21

type RSP_K21 struct {
	HL7           HL7Name                `hl7:",name=RSP_K21,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                   `hl7:"5,display=Error"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Queryresponse *RSP_K21_Queryresponse `hl7:",display=Query_response"`
	DSC           *DSC                   `hl7:"13,display=Continuation Pointer"`
}

Get person demographics response

type RSP_K21_Queryresponse

type RSP_K21_Queryresponse struct {
	HL7 HL7Name `hl7:",name=RSP_K21_Queryresponse,type=tg"`
	PID *PID    `hl7:"8,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"9,display=Patient Additional Demographic"`
	ARV []ARV   `hl7:"10,display=Access Restriction"`
	NK1 []NK1   `hl7:"11,display=Next Of Kin / Associated Parties"`
	QRI *QRI    `hl7:"12,required,display=Query Response Instance"`
}

Queryresponse

type RSP_K22

type RSP_K22 struct {
	HL7           HL7Name                 `hl7:",name=RSP_K22,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message Header"`
	SFT           []SFT                   `hl7:"2,display=Software Segment"`
	UAC           *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                    `hl7:"5,display=Error"`
	QAK           *QAK                    `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                    `hl7:"7,required,display=Query Parameter Definition"`
	Queryresponse []RSP_K22_Queryresponse `hl7:",display=Query_response"`
	DSC           *DSC                    `hl7:"12,display=Continuation Pointer"`
}

Find candidates response

type RSP_K22_Queryresponse

type RSP_K22_Queryresponse struct {
	HL7 HL7Name `hl7:",name=RSP_K22_Queryresponse,type=tg"`
	PID *PID    `hl7:"8,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"9,display=Patient Additional Demographic"`
	NK1 []NK1   `hl7:"10,display=Next Of Kin / Associated Parties"`
	QRI *QRI    `hl7:"11,display=Query Response Instance"`
}

Queryresponse

type RSP_K23

type RSP_K23 struct {
	HL7           HL7Name                `hl7:",name=RSP_K23,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                   `hl7:"5,display=Error"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Queryresponse *RSP_K23_Queryresponse `hl7:",display=Query_response"`
	DSC           *DSC                   `hl7:"9,display=Continuation Pointer"`
}

Get corresponding identifiers response

type RSP_K23_Queryresponse

type RSP_K23_Queryresponse struct {
	HL7 HL7Name `hl7:",name=RSP_K23_Queryresponse,type=tg"`
	PID *PID    `hl7:"8,required,display=Patient Identification"`
}

Queryresponse

type RSP_K24

type RSP_K24 struct {
	HL7           HL7Name                `hl7:",name=RSP_K24,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                   `hl7:"5,display=Error"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Queryresponse *RSP_K24_Queryresponse `hl7:",display=Query_response"`
	DSC           *DSC                   `hl7:"9,display=Continuation Pointer"`
}

Allocate identifiers response

type RSP_K24_Queryresponse

type RSP_K24_Queryresponse struct {
	HL7 HL7Name `hl7:",name=RSP_K24_Queryresponse,type=tg"`
	PID *PID    `hl7:"8,required,display=Patient Identification"`
}

Queryresponse

type RSP_K25

type RSP_K25 struct {
	HL7   HL7Name         `hl7:",name=RSP_K25,type=t"`
	MSH   *MSH            `hl7:"1,required,display=Message Header"`
	SFT   []SFT           `hl7:"2,display=Software Segment"`
	UAC   *UAC            `hl7:"3,display=User Authentication Credential Segment"`
	MSA   *MSA            `hl7:"4,required,display=Message Acknowledgment"`
	ERR   []ERR           `hl7:"5,display=Error"`
	QAK   *QAK            `hl7:"6,required,display=Query Acknowledgment"`
	QPD   *QPD            `hl7:"7,required,display=Query Parameter Definition"`
	RCP   *RCP            `hl7:"8,required,display=Response Control Parameter"`
	Staff []RSP_K25_Staff `hl7:",required,display=Staff"`
	DSC   *DSC            `hl7:"18,display=Continuation Pointer"`
}

Personnel Information by Segment Response

type RSP_K25_Staff

type RSP_K25_Staff struct {
	HL7 HL7Name `hl7:",name=RSP_K25_Staff,type=tg"`
	STF *STF    `hl7:"9,required,display=Staff Identification"`
	PRA []PRA   `hl7:"10,display=Practitioner Detail"`
	ORG []ORG   `hl7:"11,display=Practitioner Organization Unit Segment"`
	AFF []AFF   `hl7:"12,display=Professional Affiliation"`
	LAN []LAN   `hl7:"13,display=Language Detail"`
	EDU []EDU   `hl7:"14,display=Educational Detail"`
	CER []CER   `hl7:"15,display=Certificate Detail"`
	NK1 []NK1   `hl7:"16,display=Next Of Kin / Associated Parties"`
	ROL []ROL   `hl7:"17,display=Role"`
}

Staff

type RSP_K31

type RSP_K31 struct {
	HL7      HL7Name            `hl7:",name=RSP_K31,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message Header"`
	MSA      *MSA               `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR              `hl7:"3,display=Error"`
	SFT      []SFT              `hl7:"4,display=Software Segment"`
	UAC      *UAC               `hl7:"5,display=User Authentication Credential Segment"`
	QAK      *QAK               `hl7:"6,required,display=Query Acknowledgment"`
	QPD      *QPD               `hl7:"7,required,display=Query Parameter Definition"`
	RCP      *RCP               `hl7:"8,required,display=Response Control Parameter"`
	Response []RSP_K31_Response `hl7:",required,display=Response"`
	DSC      *DSC               `hl7:"38,display=Continuation Pointer"`
}

Dispense History Response

type RSP_K31_Additionaldemographics

type RSP_K31_Additionaldemographics struct {
	HL7 HL7Name `hl7:",name=RSP_K31_Additionaldemographics,type=tg"`
	PD1 *PD1    `hl7:"10,required,display=Patient Additional Demographic"`
	PRT []PRT   `hl7:"11,display=Participation Information"`
}

Additionaldemographics

type RSP_K31_Components

type RSP_K31_Components struct {
	HL7 HL7Name `hl7:",name=RSP_K31_Components,type=tg"`
	RXC *RXC    `hl7:"23,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"24,display=Notes And Comments"`
}

Components

type RSP_K31_Encoding

type RSP_K31_Encoding struct {
	HL7           HL7Name                 `hl7:",name=RSP_K31_Encoding,type=tg"`
	RXE           *RXE                    `hl7:"25,required,display=Pharmacy/treatment Encoded Order"`
	NTE           []NTE                   `hl7:"26,display=Notes And Comments"`
	Timingencoded []RSP_K31_Timingencoded `hl7:",required,display=Timing_encoded"`
	RXR           []RXR                   `hl7:"29,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"30,display=Pharmacy/treatment Component Order"`
}

Encoding

type RSP_K31_Observation

type RSP_K31_Observation struct {
	HL7 HL7Name `hl7:",name=RSP_K31_Observation,type=tg"`
	OBX *OBX    `hl7:"35,required,display=Observation/result"`
	PRT []PRT   `hl7:"36,display=Participation Information"`
	NTE []NTE   `hl7:"37,display=Notes And Comments"`
}

Observation

type RSP_K31_Order

type RSP_K31_Order struct {
	HL7         HL7Name               `hl7:",name=RSP_K31_Order,type=tg"`
	ORC         *ORC                  `hl7:"17,required,display=Common Order"`
	Timing      []RSP_K31_Timing      `hl7:",display=Timing"`
	Orderdetail *RSP_K31_Orderdetail  `hl7:",display=Order_detail"`
	Encoding    *RSP_K31_Encoding     `hl7:",display=Encoding"`
	RXD         *RXD                  `hl7:"31,required,display=Pharmacy/treatment Dispense"`
	PRT         []PRT                 `hl7:"32,display=Participation Information"`
	RXR         []RXR                 `hl7:"33,required,display=Pharmacy/treatment Route"`
	RXC         []RXC                 `hl7:"34,display=Pharmacy/treatment Component Order"`
	Observation []RSP_K31_Observation `hl7:",display=Observation"`
}

Order

type RSP_K31_Orderdetail

type RSP_K31_Orderdetail struct {
	HL7        HL7Name              `hl7:",name=RSP_K31_Orderdetail,type=tg"`
	RXO        *RXO                 `hl7:"20,required,display=Pharmacy/treatment Order"`
	NTE        []NTE                `hl7:"21,display=Notes And Comments"`
	RXR        []RXR                `hl7:"22,required,display=Pharmacy/treatment Route"`
	Components []RSP_K31_Components `hl7:",display=Components"`
}

Orderdetail

type RSP_K31_Patient

type RSP_K31_Patient struct {
	HL7                    HL7Name                         `hl7:",name=RSP_K31_Patient,type=tg"`
	PID                    *PID                            `hl7:"9,required,display=Patient Identification"`
	Additionaldemographics *RSP_K31_Additionaldemographics `hl7:",display=Additional_demographics"`
	NTE                    []NTE                           `hl7:"12,display=Notes And Comments"`
	AL1                    []AL1                           `hl7:"13,display=Patient Allergy Information"`
	Patientvisit           *RSP_K31_Patientvisit           `hl7:",display=Patient_visit"`
}

Patient

type RSP_K31_Patientvisit

type RSP_K31_Patientvisit struct {
	HL7 HL7Name `hl7:",name=RSP_K31_Patientvisit,type=tg"`
	PV1 *PV1    `hl7:"14,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"15,display=Patient Visit - Additional Information"`
	PRT []PRT   `hl7:"16,display=Participation Information"`
}

Patientvisit

type RSP_K31_Response

type RSP_K31_Response struct {
	HL7     HL7Name          `hl7:",name=RSP_K31_Response,type=tg"`
	Patient *RSP_K31_Patient `hl7:",display=Patient"`
	Order   []RSP_K31_Order  `hl7:",required,display=Order"`
}

Response

type RSP_K31_Timing

type RSP_K31_Timing struct {
	HL7 HL7Name `hl7:",name=RSP_K31_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"18,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"19,display=Timing/quantity Relationship"`
}

Timing

type RSP_K31_Timingencoded

type RSP_K31_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RSP_K31_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"27,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"28,display=Timing/quantity Relationship"`
}

Timingencoded

type RSP_K32

type RSP_K32 struct {
	HL7           HL7Name                 `hl7:",name=RSP_K32,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message Header"`
	SFT           []SFT                   `hl7:"2,display=Software Segment"`
	MSA           *MSA                    `hl7:"3,required,display=Message Acknowledgment"`
	ERR           *ERR                    `hl7:"4,display=Error"`
	QAK           *QAK                    `hl7:"5,required,display=Query Acknowledgment"`
	QPD           *QPD                    `hl7:"6,required,display=Query Parameter Definition"`
	Queryresponse []RSP_K32_Queryresponse `hl7:",display=Query_response"`
	DSC           *DSC                    `hl7:"13,display=Continuation Pointer"`
}

Find Candidates including Visit Information Response

type RSP_K32_Queryresponse

type RSP_K32_Queryresponse struct {
	HL7 HL7Name `hl7:",name=RSP_K32_Queryresponse,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"8,display=Patient Additional Demographic"`
	NK1 []NK1   `hl7:"9,display=Next Of Kin / Associated Parties"`
	PV1 *PV1    `hl7:"10,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"11,display=Patient Visit - Additional Information"`
	QRI *QRI    `hl7:"12,display=Query Response Instance"`
}

Queryresponse

type RSP_Z82

type RSP_Z82 struct {
	HL7           HL7Name                 `hl7:",name=RSP_Z82,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message Header"`
	SFT           []SFT                   `hl7:"2,display=Software Segment"`
	UAC           *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                    `hl7:"5,display=Error"`
	QAK           *QAK                    `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                    `hl7:"7,required,display=Query Parameter Definition"`
	RCP           *RCP                    `hl7:"8,required,display=Response Control Parameter"`
	Queryresponse []RSP_Z82_Queryresponse `hl7:",required,display=Query_response"`
	DSC           *DSC                    `hl7:"33,display=Continuation Pointer"`
}

Dispense History (Response)

Sorted by Medication Dispensed unless otherwise specified in SortControl.

type RSP_Z82_Commonorder

type RSP_Z82_Commonorder struct {
	HL7          HL7Name               `hl7:",name=RSP_Z82_Commonorder,type=tg"`
	ORC          *ORC                  `hl7:"15,required,display=Common Order"`
	Timing       []RSP_Z82_Timing      `hl7:",display=Timing"`
	Orderdetail  *RSP_Z82_Orderdetail  `hl7:",display=Order_detail"`
	Encodedorder *RSP_Z82_Encodedorder `hl7:",display=Encoded_order"`
	RXD          *RXD                  `hl7:"28,required,display=Pharmacy/treatment Dispense"`
	RXR          []RXR                 `hl7:"29,required,display=Pharmacy/treatment Route"`
	RXC          []RXC                 `hl7:"30,display=Pharmacy/treatment Component Order"`
	Observation  []RSP_Z82_Observation `hl7:",required,display=Observation"`
}

Commonorder

type RSP_Z82_Encodedorder

type RSP_Z82_Encodedorder struct {
	HL7           HL7Name                 `hl7:",name=RSP_Z82_Encodedorder,type=tg"`
	RXE           *RXE                    `hl7:"23,required,display=Pharmacy/treatment Encoded Order"`
	Timingencoded []RSP_Z82_Timingencoded `hl7:",display=Timing_encoded"`
	RXR           []RXR                   `hl7:"26,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"27,display=Pharmacy/treatment Component Order"`
}

Encodedorder

type RSP_Z82_Observation

type RSP_Z82_Observation struct {
	HL7 HL7Name `hl7:",name=RSP_Z82_Observation,type=tg"`
	OBX *OBX    `hl7:"31,display=Observation/result"`
	NTE []NTE   `hl7:"32,display=Notes And Comments"`
}

Observation

type RSP_Z82_Orderdetail

type RSP_Z82_Orderdetail struct {
	HL7       HL7Name            `hl7:",name=RSP_Z82_Orderdetail,type=tg"`
	RXO       *RXO               `hl7:"18,required,display=Pharmacy/treatment Order"`
	NTE       []NTE              `hl7:"19,display=Notes And Comments"`
	RXR       []RXR              `hl7:"20,required,display=Pharmacy/treatment Route"`
	Treatment *RSP_Z82_Treatment `hl7:",display=Treatment"`
}

Orderdetail

type RSP_Z82_Patient

type RSP_Z82_Patient struct {
	HL7   HL7Name        `hl7:",name=RSP_Z82_Patient,type=tg"`
	PID   *PID           `hl7:"9,required,display=Patient Identification"`
	PD1   *PD1           `hl7:"10,display=Patient Additional Demographic"`
	NTE   []NTE          `hl7:"11,display=Notes And Comments"`
	Visit *RSP_Z82_Visit `hl7:",display=Visit"`
}

Patient

type RSP_Z82_Queryresponse

type RSP_Z82_Queryresponse struct {
	HL7         HL7Name               `hl7:",name=RSP_Z82_Queryresponse,type=tg"`
	Patient     *RSP_Z82_Patient      `hl7:",display=Patient"`
	Commonorder []RSP_Z82_Commonorder `hl7:",required,display=Common_order"`
}

Queryresponse

type RSP_Z82_Timing

type RSP_Z82_Timing struct {
	HL7 HL7Name `hl7:",name=RSP_Z82_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"16,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"17,display=Timing/quantity Relationship"`
}

Timing

type RSP_Z82_Timingencoded

type RSP_Z82_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RSP_Z82_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"24,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"25,display=Timing/quantity Relationship"`
}

Timingencoded

type RSP_Z82_Treatment

type RSP_Z82_Treatment struct {
	HL7 HL7Name `hl7:",name=RSP_Z82_Treatment,type=tg"`
	RXC []RXC   `hl7:"21,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Treatment

type RSP_Z82_Visit

type RSP_Z82_Visit struct {
	HL7 HL7Name `hl7:",name=RSP_Z82_Visit,type=tg"`
	AL1 []AL1   `hl7:"12,required,display=Patient Allergy Information"`
	PV1 *PV1    `hl7:"13,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"14,display=Patient Visit - Additional Information"`
}

Visit

type RSP_Z84

type RSP_Z84 struct {
	HL7            HL7Name                 `hl7:",name=RSP_Z84,type=t"`
	MSH            *MSH                    `hl7:"1,required,display=Message Header"`
	SFT            []SFT                   `hl7:"2,display=Software Segment"`
	UAC            *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA            *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	ERR            *ERR                    `hl7:"5,display=Error"`
	QAK            *QAK                    `hl7:"6,required,display=Query Acknowledgment"`
	QPD            *QPD                    `hl7:"7,required,display=Query Parameter Definition"`
	Segmentpattern *RSP_Z84_Segmentpattern `hl7:",display=Segment_pattern"`
	DSC            *DSC                    `hl7:"9,display=Continuation Pointer"`
}

Who Am I (Response)

Returns response sorted by PatientLastName unless otherwise specified

type RSP_Z84_Segmentpattern

type RSP_Z84_Segmentpattern struct {
	HL7 HL7Name `hl7:",name=RSP_Z84_Segmentpattern,type=tg"`
	Hxx *Hxx    `hl7:"8,required,display=Any Hl7 Segment"`
}

Segmentpattern

type RSP_Z86

type RSP_Z86 struct {
	HL7           HL7Name                 `hl7:",name=RSP_Z86,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message Header"`
	SFT           []SFT                   `hl7:"2,display=Software Segment"`
	UAC           *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                    `hl7:"5,display=Error"`
	QAK           *QAK                    `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                    `hl7:"7,required,display=Query Parameter Definition"`
	Queryresponse []RSP_Z86_Queryresponse `hl7:",required,display=Query_response"`
	DSC           *DSC                    `hl7:"34,display=Continuation Pointer"`
}

Pharmacy Information Comprehensive (Response)

Sorted by Medication Dispensed unless otherwise specified in SortControl.

type RSP_Z86_Administration

type RSP_Z86_Administration struct {
	HL7 HL7Name `hl7:",name=RSP_Z86_Administration,type=tg"`
	RXA *RXA    `hl7:"29,required,display=Pharmacy/treatment Administration"`
	RXR []RXR   `hl7:"30,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"31,display=Pharmacy/treatment Component Order"`
}

Administration

type RSP_Z86_Commonorder

type RSP_Z86_Commonorder struct {
	HL7            HL7Name                 `hl7:",name=RSP_Z86_Commonorder,type=tg"`
	ORC            *ORC                    `hl7:"12,required,display=Common Order"`
	Timing         []RSP_Z86_Timing        `hl7:",display=Timing"`
	Orderdetail    *RSP_Z86_Orderdetail    `hl7:",display=Order_detail"`
	Encodedorder   *RSP_Z86_Encodedorder   `hl7:",display=Encoded_order"`
	Dispense       *RSP_Z86_Dispense       `hl7:",display=Dispense"`
	Give           *RSP_Z86_Give           `hl7:",display=Give"`
	Administration *RSP_Z86_Administration `hl7:",display=Administration"`
	Observation    []RSP_Z86_Observation   `hl7:",required,display=Observation"`
}

Commonorder

type RSP_Z86_Dispense

type RSP_Z86_Dispense struct {
	HL7 HL7Name `hl7:",name=RSP_Z86_Dispense,type=tg"`
	RXD *RXD    `hl7:"23,required,display=Pharmacy/treatment Dispense"`
	RXR []RXR   `hl7:"24,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"25,display=Pharmacy/treatment Component Order"`
}

Dispense

type RSP_Z86_Encodedorder

type RSP_Z86_Encodedorder struct {
	HL7           HL7Name                 `hl7:",name=RSP_Z86_Encodedorder,type=tg"`
	RXE           *RXE                    `hl7:"18,required,display=Pharmacy/treatment Encoded Order"`
	Timingencoded []RSP_Z86_Timingencoded `hl7:",display=Timing_encoded"`
	RXR           []RXR                   `hl7:"21,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"22,display=Pharmacy/treatment Component Order"`
}

Encodedorder

type RSP_Z86_Give

type RSP_Z86_Give struct {
	HL7 HL7Name `hl7:",name=RSP_Z86_Give,type=tg"`
	RXG *RXG    `hl7:"26,required,display=Pharmacy/treatment Give"`
	RXR []RXR   `hl7:"27,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"28,display=Pharmacy/treatment Component Order"`
}

Give

type RSP_Z86_Observation

type RSP_Z86_Observation struct {
	HL7 HL7Name `hl7:",name=RSP_Z86_Observation,type=tg"`
	OBX *OBX    `hl7:"32,display=Observation/result"`
	NTE []NTE   `hl7:"33,display=Notes And Comments"`
}

Observation

type RSP_Z86_Orderdetail

type RSP_Z86_Orderdetail struct {
	HL7 HL7Name `hl7:",name=RSP_Z86_Orderdetail,type=tg"`
	RXO *RXO    `hl7:"15,required,display=Pharmacy/treatment Order"`
	RXR []RXR   `hl7:"16,required,display=Pharmacy/treatment Route"`
	RXC []RXC   `hl7:"17,display=Pharmacy/treatment Component Order"`
}

Orderdetail

type RSP_Z86_Patient

type RSP_Z86_Patient struct {
	HL7 HL7Name `hl7:",name=RSP_Z86_Patient,type=tg"`
	PID *PID    `hl7:"8,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"9,display=Patient Additional Demographic"`
	NTE []NTE   `hl7:"10,display=Notes And Comments"`
	AL1 []AL1   `hl7:"11,display=Patient Allergy Information"`
}

Patient

type RSP_Z86_Queryresponse

type RSP_Z86_Queryresponse struct {
	HL7         HL7Name               `hl7:",name=RSP_Z86_Queryresponse,type=tg"`
	Patient     *RSP_Z86_Patient      `hl7:",display=Patient"`
	Commonorder []RSP_Z86_Commonorder `hl7:",required,display=Common_order"`
}

Queryresponse

type RSP_Z86_Timing

type RSP_Z86_Timing struct {
	HL7 HL7Name `hl7:",name=RSP_Z86_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"13,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"14,display=Timing/quantity Relationship"`
}

Timing

type RSP_Z86_Timingencoded

type RSP_Z86_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RSP_Z86_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"19,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"20,display=Timing/quantity Relationship"`
}

Timingencoded

type RSP_Z88

type RSP_Z88 struct {
	HL7           HL7Name                 `hl7:",name=RSP_Z88,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message Header"`
	SFT           []SFT                   `hl7:"2,display=Software Segment"`
	UAC           *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                    `hl7:"5,display=Error"`
	QAK           *QAK                    `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                    `hl7:"7,required,display=Query Parameter Definition"`
	RCP           *RCP                    `hl7:"8,required,display=Response Control Parameter"`
	Queryresponse []RSP_Z88_Queryresponse `hl7:",required,display=Query_response"`
	DSC           *DSC                    `hl7:"33,required,display=Continuation Pointer"`
}

Dispense Information (Response)

Sorted by Medication Dispensed unless otherwise specified in SortControl

type RSP_Z88_Allergy

type RSP_Z88_Allergy struct {
	HL7   HL7Name        `hl7:",name=RSP_Z88_Allergy,type=tg"`
	AL1   []AL1          `hl7:"12,required,display=Patient Allergy Information"`
	Visit *RSP_Z88_Visit `hl7:",display=Visit"`
}

Allergy

type RSP_Z88_Commonorder

type RSP_Z88_Commonorder struct {
	HL7          HL7Name               `hl7:",name=RSP_Z88_Commonorder,type=tg"`
	ORC          *ORC                  `hl7:"15,required,display=Common Order"`
	Timing       []RSP_Z88_Timing      `hl7:",display=Timing"`
	Orderdetail  *RSP_Z88_Orderdetail  `hl7:",display=Order_detail"`
	Orderencoded *RSP_Z88_Orderencoded `hl7:",display=Order_encoded"`
	RXD          *RXD                  `hl7:"28,required,display=Pharmacy/treatment Dispense"`
	RXR          []RXR                 `hl7:"29,required,display=Pharmacy/treatment Route"`
	RXC          []RXC                 `hl7:"30,display=Pharmacy/treatment Component Order"`
	Observation  []RSP_Z88_Observation `hl7:",required,display=Observation"`
}

Commonorder

type RSP_Z88_Component

type RSP_Z88_Component struct {
	HL7 HL7Name `hl7:",name=RSP_Z88_Component,type=tg"`
	RXC []RXC   `hl7:"21,required,display=Pharmacy/treatment Component Order"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Component

type RSP_Z88_Observation

type RSP_Z88_Observation struct {
	HL7 HL7Name `hl7:",name=RSP_Z88_Observation,type=tg"`
	OBX *OBX    `hl7:"31,display=Observation/result"`
	NTE []NTE   `hl7:"32,display=Notes And Comments"`
}

Observation

type RSP_Z88_Orderdetail

type RSP_Z88_Orderdetail struct {
	HL7       HL7Name            `hl7:",name=RSP_Z88_Orderdetail,type=tg"`
	RXO       *RXO               `hl7:"18,required,display=Pharmacy/treatment Order"`
	NTE       []NTE              `hl7:"19,display=Notes And Comments"`
	RXR       []RXR              `hl7:"20,required,display=Pharmacy/treatment Route"`
	Component *RSP_Z88_Component `hl7:",display=Component"`
}

Orderdetail

type RSP_Z88_Orderencoded

type RSP_Z88_Orderencoded struct {
	HL7           HL7Name                 `hl7:",name=RSP_Z88_Orderencoded,type=tg"`
	RXE           *RXE                    `hl7:"23,required,display=Pharmacy/treatment Encoded Order"`
	Timingencoded []RSP_Z88_Timingencoded `hl7:",display=Timing_encoded"`
	RXR           []RXR                   `hl7:"26,required,display=Pharmacy/treatment Route"`
	RXC           []RXC                   `hl7:"27,display=Pharmacy/treatment Component Order"`
}

Orderencoded

type RSP_Z88_Patient

type RSP_Z88_Patient struct {
	HL7     HL7Name          `hl7:",name=RSP_Z88_Patient,type=tg"`
	PID     *PID             `hl7:"9,required,display=Patient Identification"`
	PD1     *PD1             `hl7:"10,display=Patient Additional Demographic"`
	NTE     []NTE            `hl7:"11,display=Notes And Comments"`
	Allergy *RSP_Z88_Allergy `hl7:",display=Allergy"`
}

Patient

type RSP_Z88_Queryresponse

type RSP_Z88_Queryresponse struct {
	HL7         HL7Name               `hl7:",name=RSP_Z88_Queryresponse,type=tg"`
	Patient     *RSP_Z88_Patient      `hl7:",display=Patient"`
	Commonorder []RSP_Z88_Commonorder `hl7:",required,display=Common_order"`
}

Queryresponse

type RSP_Z88_Timing

type RSP_Z88_Timing struct {
	HL7 HL7Name `hl7:",name=RSP_Z88_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"16,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"17,display=Timing/quantity Relationship"`
}

Timing

type RSP_Z88_Timingencoded

type RSP_Z88_Timingencoded struct {
	HL7 HL7Name `hl7:",name=RSP_Z88_Timingencoded,type=tg"`
	TQ1 *TQ1    `hl7:"24,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"25,display=Timing/quantity Relationship"`
}

Timingencoded

type RSP_Z88_Visit

type RSP_Z88_Visit struct {
	HL7 HL7Name `hl7:",name=RSP_Z88_Visit,type=tg"`
	PV1 *PV1    `hl7:"13,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"14,display=Patient Visit - Additional Information"`
}

Visit

type RSP_Z90

type RSP_Z90 struct {
	HL7           HL7Name                 `hl7:",name=RSP_Z90,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message Header"`
	SFT           []SFT                   `hl7:"2,display=Software Segment"`
	UAC           *UAC                    `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                    `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                    `hl7:"5,display=Error"`
	QAK           *QAK                    `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                    `hl7:"7,required,display=Query Parameter Definition"`
	RCP           *RCP                    `hl7:"8,required,display=Response Control Parameter"`
	Queryresponse []RSP_Z90_Queryresponse `hl7:",required,display=Query_response"`
	DSC           *DSC                    `hl7:"25,required,display=Continuation Pointer"`
}

Lab Results History (Response)

type RSP_Z90_Commonorder

type RSP_Z90_Commonorder struct {
	HL7         HL7Name               `hl7:",name=RSP_Z90_Commonorder,type=tg"`
	ORC         *ORC                  `hl7:"15,required,display=Common Order"`
	Timing      []RSP_Z90_Timing      `hl7:",display=Timing"`
	OBR         *OBR                  `hl7:"18,required,display=Observation Request"`
	NTE         []NTE                 `hl7:"19,display=Notes And Comments"`
	CTD         *CTD                  `hl7:"20,display=Contact Data"`
	Observation []RSP_Z90_Observation `hl7:",required,display=Observation"`
}

Commonorder

type RSP_Z90_Observation

type RSP_Z90_Observation struct {
	HL7 HL7Name `hl7:",name=RSP_Z90_Observation,type=tg"`
	OBX *OBX    `hl7:"21,display=Observation/result"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Observation

type RSP_Z90_Patient

type RSP_Z90_Patient struct {
	HL7   HL7Name        `hl7:",name=RSP_Z90_Patient,type=tg"`
	PID   *PID           `hl7:"9,required,display=Patient Identification"`
	PD1   *PD1           `hl7:"10,display=Patient Additional Demographic"`
	NK1   []NK1          `hl7:"11,display=Next Of Kin / Associated Parties"`
	NTE   []NTE          `hl7:"12,display=Notes And Comments"`
	Visit *RSP_Z90_Visit `hl7:",display=Visit"`
}

Patient

type RSP_Z90_Queryresponse

type RSP_Z90_Queryresponse struct {
	HL7         HL7Name               `hl7:",name=RSP_Z90_Queryresponse,type=tg"`
	Patient     *RSP_Z90_Patient      `hl7:",display=Patient"`
	Commonorder []RSP_Z90_Commonorder `hl7:",required,display=Common_order"`
	Specimen    []RSP_Z90_Specimen    `hl7:",display=Specimen"`
}

Queryresponse

type RSP_Z90_Specimen

type RSP_Z90_Specimen struct {
	HL7 HL7Name `hl7:",name=RSP_Z90_Specimen,type=tg"`
	SPM *SPM    `hl7:"23,required,display=Specimen"`
	OBX []OBX   `hl7:"24,display=Observation/result"`
}

Specimen

type RSP_Z90_Timing

type RSP_Z90_Timing struct {
	HL7 HL7Name `hl7:",name=RSP_Z90_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"16,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"17,display=Timing/quantity Relationship"`
}

Timing

type RSP_Z90_Visit

type RSP_Z90_Visit struct {
	HL7 HL7Name `hl7:",name=RSP_Z90_Visit,type=tg"`
	PV1 *PV1    `hl7:"13,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"14,display=Patient Visit - Additional Information"`
}

Visit

type RTB_K13

type RTB_K13 struct {
	HL7           HL7Name                `hl7:",name=RTB_K13,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                   `hl7:"5,display=Error"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Rowdefinition *RTB_K13_Rowdefinition `hl7:",display=Row_definition"`
	DSC           *DSC                   `hl7:"10,display=Continuation Pointer"`
}

Tabular response in response to QBP^Q13

The RTB_K13 supports a Tabular Response to the QBP and contains the MSH, MSA, ERR, QAK, QPD, RDF, RDT and the DSC. Its default trigger event is K13. A standard or site-defined response may use this trigger event or may specify a unique trigger event value in its Query Profile. If a unique trigger event value is chosen for a site-defined response, that value SHALL begin with Z.

The RTB_K13 structure requires that, if any RDT segments are returned, they be preceded by an RDF segment containing the row definition specification for the RDT segments. If no RDF was sent in the query, the default RDF is returned in the RTB_K13.

Note: The indicated trigger events are the default values for MSH-9-2-Trigger event. Standard and site-defined queries may use these trigger events or may specify unique trigger event values in their Query Profiles. Unique trigger event values for site-defined queries SHALL begin with Z.

type RTB_K13_Rowdefinition

type RTB_K13_Rowdefinition struct {
	HL7 HL7Name `hl7:",name=RTB_K13_Rowdefinition,type=tg"`
	RDF *RDF    `hl7:"8,required,display=Table Row Definition"`
	RDT []RDT   `hl7:"9,display=Table Row Data"`
}

Rowdefinition

type RTB_Z74

type RTB_Z74 struct {
	HL7           HL7Name                `hl7:",name=RTB_Z74,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	MSA           *MSA                   `hl7:"2,required,display=Message Acknowledgment"`
	ERR           []ERR                  `hl7:"3,display=Error"`
	SFT           []SFT                  `hl7:"4,display=Software Segment"`
	UAC           *UAC                   `hl7:"5,display=User Authentication Credential Segment"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Rowdefinition *RTB_Z74_Rowdefinition `hl7:",display=Row_definition"`
	DSC           *DSC                   `hl7:"10,display=Continuation Pointer"`
}

Information about Phone Calls (Response)

type RTB_Z74_Rowdefinition

type RTB_Z74_Rowdefinition struct {
	HL7 HL7Name `hl7:",name=RTB_Z74_Rowdefinition,type=tg"`
	RDF *RDF    `hl7:"8,required,display=Table Row Definition"`
	RDT []RDT   `hl7:"9,display=Table Row Data"`
}

Rowdefinition

type RTB_Z76

type RTB_Z76 struct {
	HL7           HL7Name                `hl7:",name=RTB_Z76,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                   `hl7:"5,display=Error"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Rowdefinition *RTB_Z76_Rowdefinition `hl7:",display=Row_definition"`
	DSC           *DSC                   `hl7:"10,display=Continuation Pointer"`
}

Tabular Patient List (Response)

Response returns requested columns from the Virtual Table. If no columns were requested, all columns are returned

type RTB_Z76_Rowdefinition

type RTB_Z76_Rowdefinition struct {
	HL7 HL7Name `hl7:",name=RTB_Z76_Rowdefinition,type=tg"`
	RDF *RDF    `hl7:"8,required,display=Table Row Definition"`
	RDT []RDT   `hl7:"9,display=Table Row Data"`
}

Rowdefinition

type RTB_Z78

type RTB_Z78 struct {
	HL7           HL7Name                `hl7:",name=RTB_Z78,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                   `hl7:"5,display=Error"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Rowdefinition *RTB_Z78_Rowdefinition `hl7:",display=Row_definition"`
	DSC           *DSC                   `hl7:"10,display=Continuation Pointer"`
}

Tabular Patient List (Response)

Response returns requested columns from the Virtual Table. If no columns were requested, all columns are returned.

type RTB_Z78_Rowdefinition

type RTB_Z78_Rowdefinition struct {
	HL7 HL7Name `hl7:",name=RTB_Z78_Rowdefinition,type=tg"`
	RDF *RDF    `hl7:"8,required,display=Table Row Definition"`
	RDT []RDT   `hl7:"9,display=Table Row Data"`
}

Rowdefinition

type RTB_Z92

type RTB_Z92 struct {
	HL7           HL7Name                `hl7:",name=RTB_Z92,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                   `hl7:"5,display=Error"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Rowdefinition *RTB_Z92_Rowdefinition `hl7:",display=Row_definition"`
	DSC           *DSC                   `hl7:"10,display=Continuation Pointer"`
}

Who Am I (Response)

type RTB_Z92_Rowdefinition

type RTB_Z92_Rowdefinition struct {
	HL7 HL7Name `hl7:",name=RTB_Z92_Rowdefinition,type=tg"`
	RDF *RDF    `hl7:"8,required,display=Table Row Definition"`
	RDT []RDT   `hl7:"9,display=Table Row Data"`
}

Rowdefinition

type RTB_Z94

type RTB_Z94 struct {
	HL7           HL7Name                `hl7:",name=RTB_Z94,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                   `hl7:"5,display=Error"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Rowdefinition *RTB_Z94_Rowdefinition `hl7:",display=Row_definition"`
	DSC           *DSC                   `hl7:"10,display=Continuation Pointer"`
}

Tabular Dispense History (Response)

Find medications dispensed between specified date range for specified medical record numbers

type RTB_Z94_Rowdefinition

type RTB_Z94_Rowdefinition struct {
	HL7 HL7Name `hl7:",name=RTB_Z94_Rowdefinition,type=tg"`
	RDF *RDF    `hl7:"8,required,display=Table Row Definition"`
	RDT []RDT   `hl7:"9,display=Table Row Data"`
}

Rowdefinition

type RTB_Z96

type RTB_Z96 struct {
	HL7           HL7Name                `hl7:",name=RTB_Z96,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message Header"`
	SFT           []SFT                  `hl7:"2,display=Software Segment"`
	UAC           *UAC                   `hl7:"3,display=User Authentication Credential Segment"`
	MSA           *MSA                   `hl7:"4,required,display=Message Acknowledgment"`
	ERR           *ERR                   `hl7:"5,display=Error"`
	QAK           *QAK                   `hl7:"6,required,display=Query Acknowledgment"`
	QPD           *QPD                   `hl7:"7,required,display=Query Parameter Definition"`
	Rowdefinition *RTB_Z96_Rowdefinition `hl7:",display=Row_definition"`
	DSC           *DSC                   `hl7:"10,display=Continuation Pointer"`
}

Tabular Dispense History (Response)

Columns from the Virtual Table listed in the Input/Output Specification are specified for output in the RDF segment. If no columns are specified in the RDF segment, all columns will be returned. Response is sorted by Medication Dispensed unless otherwise specified in SortControl.

type RTB_Z96_Rowdefinition

type RTB_Z96_Rowdefinition struct {
	HL7 HL7Name `hl7:",name=RTB_Z96_Rowdefinition,type=tg"`
	RDF *RDF    `hl7:"8,required,display=Table Row Definition"`
	RDT []RDT   `hl7:"9,display=Table Row Data"`
}

Rowdefinition

type RXA

type RXA struct {
	HL7                                 HL7Name `hl7:",name=RXA,type=s"`
	GiveSubIDCounter                    NM      `hl7:"1,required,display=Give Sub-id Counter"`
	AdministrationSubIDCounter          NM      `hl7:"2,required,display=Administration Sub-id Counter"`
	DateTimeStartOfAdministration       DTM     `hl7:"3,required,format=YMDHM,display=Date/Time Start Of Administration"`
	DateTimeEndOfAdministration         DTM     `hl7:"4,required,format=YMDHM,display=Date/Time End Of Administration"`
	AdministeredCode                    CWE     `hl7:"5,required,table=0292,display=Administered Code"`
	AdministeredAmount                  NM      `hl7:"6,required,display=Administered Amount"`
	AdministeredUnits                   *CWE    `hl7:"7,conditional,table=9999,display=Administered Units"`
	AdministeredDosageForm              *CWE    `hl7:"8,table=9999,display=Administered Dosage Form"`
	AdministrationNotes                 []CWE   `hl7:"9,table=9999,display=Administration Notes"`
	AdministeringProvider               []XCN   `hl7:"10,display=Administering Provider"`
	AdministeredAtLocation              LA2     `hl7:"11,display=Administered-at Location"`
	AdministeredPerTimeUnit             ST      `hl7:"12,conditional,display=Administered Per (time Unit)"`
	AdministeredStrength                NM      `hl7:"13,display=Administered Strength"`
	AdministeredStrengthUnits           *CWE    `hl7:"14,table=9999,display=Administered Strength Units"`
	SubstanceLotNumber                  []ST    `hl7:"15,display=Substance Lot Number"`
	SubstanceExpirationDate             []DTM   `hl7:"16,format=YMDHM,display=Substance Expiration Date"`
	SubstanceManufacturerName           []CWE   `hl7:"17,table=0227,display=Substance Manufacturer Name"`
	SubstanceTreatmentRefusalReason     []CWE   `hl7:"18,table=9999,display=Substance/Treatment Refusal Reason"`
	Indication                          []CWE   `hl7:"19,table=9999,display=Indication"`
	CompletionStatus                    ID      `hl7:"20,len=2,table=0322,display=Completion Status"`
	ActionCode                          ID      `hl7:"21,len=1,table=0206,display=Action Code - Rxa"`
	SystemEntryDateTime                 DTM     `hl7:"22,format=YMDHM,display=System Entry Date/Time"`
	AdministeredDrugStrengthVolume      NM      `hl7:"23,display=Administered Drug Strength Volume"`
	AdministeredDrugStrengthVolumeUnits *CWE    `hl7:"24,table=9999,display=Administered Drug Strength Volume Units"`
	AdministeredBarcodeIdentifier       *CWE    `hl7:"25,table=9999,display=Administered Barcode Identifier"`
	PharmacyOrderType                   ID      `hl7:"26,len=1,table=0480,display=Pharmacy Order Type"`
	AdministerAt                        *PL     `hl7:"27,display=Administer-at"`
	AdministeredAtAddress               *XAD    `hl7:"28,display=Administered-at Address"`
}

Pharmacy/treatment Administration

The ORC must have the filler order number and the order control code RE. As a site-specific variant, the RXO and associated RXCs and/or the RXE (and associated RXCs) may be present if the receiving application needs any of their data. The RXA carries the administration data.

type RXC

type RXC struct {
	HL7                              HL7Name `hl7:",name=RXC,type=s"`
	RxComponentType                  ID      `hl7:"1,required,len=1,table=0166,display=Rx Component Type"`
	ComponentCode                    CWE     `hl7:"2,required,table=9999,display=Component Code"`
	ComponentAmount                  NM      `hl7:"3,required,display=Component Amount"`
	ComponentUnits                   CWE     `hl7:"4,required,table=9999,display=Component Units"`
	ComponentStrength                NM      `hl7:"5,display=Component Strength"`
	ComponentStrengthUnits           *CWE    `hl7:"6,table=9999,display=Component Strength Units"`
	SupplementaryCode                []CWE   `hl7:"7,table=9999,display=Supplementary Code"`
	ComponentDrugStrengthVolume      NM      `hl7:"8,display=Component Drug Strength Volume"`
	ComponentDrugStrengthVolumeUnits *CWE    `hl7:"9,table=9999,display=Component Drug Strength Volume Units"`
}

Pharmacy/treatment Component Order

If the drug or treatment ordered with the RXO segment is a compound drug OR an IV solution, AND there is not a coded value for OBR-4-universal service ID, which specifies the components (base and all additives), then the components (the base and additives) are specified by two or more RXC segments. The policy of the pharmacy or treatment application on substitutions at the RXC level is identical to that for the RXO level.

type RXD

type RXD struct {
	HL7                                                     HL7Name `hl7:",name=RXD,type=s"`
	DispenseSubIDCounter                                    NM      `hl7:"1,required,display=Dispense Sub-id Counter"`
	DispenseGiveCode                                        CWE     `hl7:"2,required,table=0292,display=Dispense/Give Code"`
	DateTimeDispensed                                       DTM     `hl7:"3,required,format=YMDHM,display=Date/Time Dispensed"`
	ActualDispenseAmount                                    NM      `hl7:"4,required,display=Actual Dispense Amount"`
	ActualDispenseUnits                                     *CWE    `hl7:"5,conditional,table=9999,display=Actual Dispense Units"`
	ActualDosageForm                                        *CWE    `hl7:"6,table=9999,display=Actual Dosage Form"`
	PrescriptionNumber                                      ST      `hl7:"7,required,display=Prescription Number"`
	NumberOfRefillsRemaining                                NM      `hl7:"8,conditional,display=Number Of Refills Remaining"`
	DispenseNotes                                           []ST    `hl7:"9,display=Dispense Notes"`
	DispensingProvider                                      []XCN   `hl7:"10,display=Dispensing Provider"`
	SubstitutionStatus                                      ID      `hl7:"11,len=1,table=0167,display=Substitution Status"`
	TotalDailyDose                                          *CQ     `hl7:"12,display=Total Daily Dose"`
	DispenseToLocation                                      LA2     `hl7:"13,display=Dispense-to Location"`
	NeedsHumanReview                                        ID      `hl7:"14,len=1,table=0136,display=Needs Human Review"`
	PharmacyTreatmentSuppliersSpecialDispensingInstructions []CWE   `hl7:"15,table=9999,display=Pharmacy/Treatment Supplier's Special Dispensing Instructions"`
	ActualStrength                                          NM      `hl7:"16,display=Actual Strength"`
	ActualStrengthUnit                                      *CWE    `hl7:"17,table=9999,display=Actual Strength Unit"`
	SubstanceLotNumber                                      []ST    `hl7:"18,display=Substance Lot Number"`
	SubstanceExpirationDate                                 []DTM   `hl7:"19,format=YMDHM,display=Substance Expiration Date"`
	SubstanceManufacturerName                               []CWE   `hl7:"20,table=0227,display=Substance Manufacturer Name"`
	Indication                                              []CWE   `hl7:"21,table=9999,display=Indication"`
	DispensePackageSize                                     NM      `hl7:"22,display=Dispense Package Size"`
	DispensePackageSizeUnit                                 *CWE    `hl7:"23,table=9999,display=Dispense Package Size Unit"`
	DispensePackageMethod                                   ID      `hl7:"24,len=2,table=0321,display=Dispense Package Method"`
	SupplementaryCode                                       []CWE   `hl7:"25,table=9999,display=Supplementary Code"`
	InitiatingLocation                                      *CWE    `hl7:"26,table=9999,display=Initiating Location"`
	PackagingAssemblyLocation                               *CWE    `hl7:"27,table=9999,display=Packaging/Assembly Location"`
	ActualDrugStrengthVolume                                NM      `hl7:"28,display=Actual Drug Strength Volume"`
	ActualDrugStrengthVolumeUnits                           *CWE    `hl7:"29,table=9999,display=Actual Drug Strength Volume Units"`
	DispenseToPharmacy                                      CWE     `hl7:"30,table=9999,display=Dispense To Pharmacy"`
	DispenseToPharmacyAddress                               XAD     `hl7:"31,display=Dispense To Pharmacy Address"`
	PharmacyOrderType                                       ID      `hl7:"32,len=1,table=0480,display=Pharmacy Order Type"`
	DispenseType                                            *CWE    `hl7:"33,table=0484,display=Dispense Type"`
	PharmacyPhoneNumber                                     []XTN   `hl7:"34,display=Pharmacy Phone Number"`
}

Pharmacy/treatment Dispense

type RXE

type RXE struct {
	HL7                                                     HL7Name `hl7:",name=RXE,type=s"`
	QuantityTiming                                          ST      `hl7:"1,display=Quantity/Timing"`
	GiveCode                                                CWE     `hl7:"2,required,table=0292,display=Give Code"`
	GiveAmountMinimum                                       NM      `hl7:"3,required,display=Give Amount - Minimum"`
	GiveAmountMaximum                                       NM      `hl7:"4,display=Give Amount - Maximum"`
	GiveUnits                                               CWE     `hl7:"5,required,table=9999,display=Give Units"`
	GiveDosageForm                                          *CWE    `hl7:"6,table=9999,display=Give Dosage Form"`
	ProvidersAdministrationInstructions                     []CWE   `hl7:"7,table=9999,display=Provider's Administration Instructions"`
	DeliverToLocation                                       LA1     `hl7:"8,display=Deliver-to Location"`
	SubstitutionStatus                                      ID      `hl7:"9,len=1,table=0167,display=Substitution Status"`
	DispenseAmount                                          NM      `hl7:"10,conditional,display=Dispense Amount"`
	DispenseUnits                                           *CWE    `hl7:"11,conditional,table=9999,display=Dispense Units"`
	NumberOfRefills                                         NM      `hl7:"12,display=Number Of Refills"`
	OrderingProvidersDeaNumber                              []XCN   `hl7:"13,display=Ordering Provider's Dea Number"`
	PharmacistTreatmentSuppliersVerifierID                  []XCN   `hl7:"14,display=Pharmacist/Treatment Supplier's Verifier Id"`
	PrescriptionNumber                                      ST      `hl7:"15,conditional,display=Prescription Number"`
	NumberOfRefillsRemaining                                NM      `hl7:"16,conditional,display=Number Of Refills Remaining"`
	NumberOfRefillsDosesDispensed                           NM      `hl7:"17,conditional,display=Number Of Refills/Doses Dispensed"`
	DTOfMostRecentRefillOrDoseDispensed                     DTM     `hl7:"18,conditional,format=YMDHM,display=D/T Of Most Recent Refill Or Dose Dispensed"`
	TotalDailyDose                                          *CQ     `hl7:"19,conditional,display=Total Daily Dose"`
	NeedsHumanReview                                        ID      `hl7:"20,len=1,table=0136,display=Needs Human Review"`
	PharmacyTreatmentSuppliersSpecialDispensingInstructions []CWE   `hl7:"21,table=9999,display=Pharmacy/Treatment Supplier's Special Dispensing Instructions"`
	GivePerTimeUnit                                         ST      `hl7:"22,conditional,display=Give Per (time Unit)"`
	GiveRateAmount                                          ST      `hl7:"23,display=Give Rate Amount"`
	GiveRateUnits                                           *CWE    `hl7:"24,table=9999,display=Give Rate Units"`
	GiveStrength                                            NM      `hl7:"25,display=Give Strength"`
	GiveStrengthUnits                                       *CWE    `hl7:"26,table=9999,display=Give Strength Units"`
	GiveIndication                                          []CWE   `hl7:"27,table=9999,display=Give Indication"`
	DispensePackageSize                                     NM      `hl7:"28,display=Dispense Package Size"`
	DispensePackageSizeUnit                                 *CWE    `hl7:"29,table=9999,display=Dispense Package Size Unit"`
	DispensePackageMethod                                   ID      `hl7:"30,len=2,table=0321,display=Dispense Package Method"`
	SupplementaryCode                                       []CWE   `hl7:"31,table=9999,display=Supplementary Code"`
	OriginalOrderDateTime                                   DTM     `hl7:"32,format=YMDHM,display=Original Order Date/Time"`
	GiveDrugStrengthVolume                                  NM      `hl7:"33,display=Give Drug Strength Volume"`
	GiveDrugStrengthVolumeUnits                             *CWE    `hl7:"34,table=9999,display=Give Drug Strength Volume Units"`
	ControlledSubstanceSchedule                             *CWE    `hl7:"35,table=0477,display=Controlled Substance Schedule"`
	FormularyStatus                                         ID      `hl7:"36,len=1,table=0478,display=Formulary Status"`
	PharmaceuticalSubstanceAlternative                      []CWE   `hl7:"37,table=9999,display=Pharmaceutical Substance Alternative"`
	PharmacyOfMostRecentFill                                *CWE    `hl7:"38,table=9999,display=Pharmacy Of Most Recent Fill"`
	InitialDispenseAmount                                   NM      `hl7:"39,display=Initial Dispense Amount"`
	DispensingPharmacy                                      CWE     `hl7:"40,table=9999,display=Dispensing Pharmacy"`
	DispensingPharmacyAddress                               XAD     `hl7:"41,display=Dispensing Pharmacy Address"`
	DeliverToPatientLocation                                *PL     `hl7:"42,display=Deliver-to Patient Location"`
	DeliverToAddress                                        *XAD    `hl7:"43,display=Deliver-to Address"`
	PharmacyOrderType                                       ID      `hl7:"44,len=1,table=0480,display=Pharmacy Order Type"`
	PharmacyPhoneNumber                                     []XTN   `hl7:"45,display=Pharmacy Phone Number"`
}

Pharmacy/treatment Encoded Order

The RXE segment details the pharmacy or treatment application's encoding of the order. It also contains several pharmacy-specific order status fields, such as RXE-16-number of refills remaining, RXE-17-number of refills/doses dispensed, RXE-18-D/T of most recent refill or dose dispensed, and RXE-19-total daily dose.

Note that ORC-7-quantity/timing has a different meaning from RXE-1-quantity/timing and RXG-3-quantity/timing. The pharmacy or treatment department has the "authority" (and/or necessity) to schedule dispense/give events. Hence, the pharmacy or treatment department has the responsibility to encode this scheduling information in RXE-1-quantity/timing and RXG-3-quantity/timing. ORC-7-quantity/timing does not change: it always specifies the requested give/dispense schedule of the original order.

type RXG

type RXG struct {
	HL7                                                         HL7Name `hl7:",name=RXG,type=s"`
	GiveSubIDCounter                                            NM      `hl7:"1,required,display=Give Sub-id Counter"`
	DispenseSubIDCounter                                        NM      `hl7:"2,display=Dispense Sub-id Counter"`
	QuantityTiming                                              ST      `hl7:"3,display=Quantity/Timing"`
	GiveCode                                                    CWE     `hl7:"4,required,table=0292,display=Give Code"`
	GiveAmountMinimum                                           NM      `hl7:"5,required,display=Give Amount - Minimum"`
	GiveAmountMaximum                                           NM      `hl7:"6,display=Give Amount - Maximum"`
	GiveUnits                                                   CWE     `hl7:"7,required,table=9999,display=Give Units"`
	GiveDosageForm                                              *CWE    `hl7:"8,table=9999,display=Give Dosage Form"`
	AdministrationNotes                                         []CWE   `hl7:"9,table=9999,display=Administration Notes"`
	SubstitutionStatus                                          ID      `hl7:"10,len=1,table=0167,display=Substitution Status"`
	DispenseToLocation                                          LA2     `hl7:"11,display=Dispense-to Location"`
	NeedsHumanReview                                            ID      `hl7:"12,len=1,table=0136,display=Needs Human Review"`
	PharmacyTreatmentSuppliersSpecialAdministrationInstructions []CWE   `hl7:"13,len=250,table=9999,display=Pharmacy/Treatment Supplier's Special Administration Instructions"`
	GivePerTimeUnit                                             ST      `hl7:"14,conditional,display=Give Per (time Unit)"`
	GiveRateAmount                                              ST      `hl7:"15,display=Give Rate Amount"`
	GiveRateUnits                                               *CWE    `hl7:"16,table=9999,display=Give Rate Units"`
	GiveStrength                                                NM      `hl7:"17,display=Give Strength"`
	GiveStrengthUnits                                           *CWE    `hl7:"18,table=9999,display=Give Strength Units"`
	SubstanceLotNumber                                          []ST    `hl7:"19,display=Substance Lot Number"`
	SubstanceExpirationDate                                     []DTM   `hl7:"20,format=YMDHM,display=Substance Expiration Date"`
	SubstanceManufacturerName                                   []CWE   `hl7:"21,table=0227,display=Substance Manufacturer Name"`
	Indication                                                  []CWE   `hl7:"22,table=9999,display=Indication"`
	GiveDrugStrengthVolume                                      NM      `hl7:"23,display=Give Drug Strength Volume"`
	GiveDrugStrengthVolumeUnits                                 *CWE    `hl7:"24,table=9999,display=Give Drug Strength Volume Units"`
	GiveBarcodeIdentifier                                       *CWE    `hl7:"25,table=9999,display=Give Barcode Identifier"`
	PharmacyOrderType                                           ID      `hl7:"26,len=1,table=0480,display=Pharmacy Order Type"`
	DispenseToPharmacy                                          CWE     `hl7:"27,table=9999,display=Dispense To Pharmacy"`
	DispenseToPharmacyAddress                                   XAD     `hl7:"28,display=Dispense To Pharmacy Address"`
	DeliverToPatientLocation                                    *PL     `hl7:"29,display=Deliver-to Patient Location"`
	DeliverToAddress                                            *XAD    `hl7:"30,display=Deliver-to Address"`
}

Pharmacy/treatment Give

type RXO

type RXO struct {
	HL7                                    HL7Name `hl7:",name=RXO,type=s"`
	RequestedGiveCode                      *CWE    `hl7:"1,conditional,table=9999,display=Requested Give Code"`
	RequestedGiveAmountMinimum             NM      `hl7:"2,conditional,display=Requested Give Amount - Minimum"`
	RequestedGiveAmountMaximum             NM      `hl7:"3,display=Requested Give Amount - Maximum"`
	RequestedGiveUnits                     *CWE    `hl7:"4,conditional,table=9999,display=Requested Give Units"`
	RequestedDosageForm                    *CWE    `hl7:"5,conditional,table=9999,display=Requested Dosage Form"`
	ProvidersPharmacyTreatmentInstructions []CWE   `hl7:"6,table=9999,display=Provider's Pharmacy/Treatment Instructions"`
	ProvidersAdministrationInstructions    []CWE   `hl7:"7,table=9999,display=Provider's Administration Instructions"`
	DeliverToLocation                      LA1     `hl7:"8,display=Deliver-to Location"`
	AllowSubstitutions                     ID      `hl7:"9,len=1,table=0161,display=Allow Substitutions"`
	RequestedDispenseCode                  *CWE    `hl7:"10,table=9999,display=Requested Dispense Code"`
	RequestedDispenseAmount                NM      `hl7:"11,display=Requested Dispense Amount"`
	RequestedDispenseUnits                 *CWE    `hl7:"12,table=9999,display=Requested Dispense Units"`
	NumberOfRefills                        NM      `hl7:"13,display=Number Of Refills"`
	OrderingProvidersDeaNumber             []XCN   `hl7:"14,display=Ordering Provider's Dea Number"`
	PharmacistTreatmentSuppliersVerifierID []XCN   `hl7:"15,conditional,display=Pharmacist/Treatment Supplier's Verifier Id"`
	NeedsHumanReview                       ID      `hl7:"16,len=1,table=0136,display=Needs Human Review"`
	RequestedGivePerTimeUnit               ST      `hl7:"17,conditional,display=Requested Give Per (time Unit)"`
	RequestedGiveStrength                  NM      `hl7:"18,display=Requested Give Strength"`
	RequestedGiveStrengthUnits             *CWE    `hl7:"19,table=9999,display=Requested Give Strength Units"`
	Indication                             []CWE   `hl7:"20,table=9999,display=Indication"`
	RequestedGiveRateAmount                ST      `hl7:"21,display=Requested Give Rate Amount"`
	RequestedGiveRateUnits                 *CWE    `hl7:"22,table=9999,display=Requested Give Rate Units"`
	TotalDailyDose                         *CQ     `hl7:"23,display=Total Daily Dose"`
	SupplementaryCode                      []CWE   `hl7:"24,table=9999,display=Supplementary Code"`
	RequestedDrugStrengthVolume            NM      `hl7:"25,display=Requested Drug Strength Volume"`
	RequestedDrugStrengthVolumeUnits       *CWE    `hl7:"26,table=9999,display=Requested Drug Strength Volume Units"`
	PharmacyOrderType                      ID      `hl7:"27,len=1,table=0480,display=Pharmacy Order Type"`
	DispensingInterval                     NM      `hl7:"28,display=Dispensing Interval"`
	MedicationInstanceIdentifier           *EI     `hl7:"29,display=Medication Instance Identifier"`
	SegmentInstanceIdentifier              *EI     `hl7:"30,display=Segment Instance Identifier"`
	MoodCode                               *CNE    `hl7:"31,conditional,table=0725,display=Mood Code"`
	DispensingPharmacy                     CWE     `hl7:"32,table=9999,display=Dispensing Pharmacy"`
	DispensingPharmacyAddress              XAD     `hl7:"33,display=Dispensing Pharmacy Address"`
	DeliverToPatientLocation               *PL     `hl7:"34,display=Deliver-to Patient Location"`
	DeliverToAddress                       *XAD    `hl7:"35,display=Deliver-to Address"`
	PharmacyPhoneNumber                    []XTN   `hl7:"36,display=Pharmacy Phone Number"`
}

Pharmacy/treatment Order

This is the "master" pharmacy/treatment order segment. It contains order data not specific to components or additives. Unlike the OBR, it does not contain status fields or other data that are results-only.

It can be used for any type of pharmacy order, including inpatient (unit dose and compound unit dose), outpatient, IVs, and hyperalimentation IVs (nutritional IVs), as well as other non-pharmacy treatments, e.g., respiratory therapy, oxygen, and many nursing treatments.

In addition to the pharmaceutical/treatment information, this segment contains additional data such as provider and text comments.

A quantity/timing field is not needed in the RXO segment. The ORC segment contains the requested ORC-7-quantity/timing of the original order which does not change as the order is encoded, dispensed, or administered.

type RXR

type RXR struct {
	HL7                        HL7Name `hl7:",name=RXR,type=s"`
	Route                      CWE     `hl7:"1,required,table=0162,display=Route"`
	AdministrationSite         *CWE    `hl7:"2,table=0550,display=Administration Site"`
	AdministrationDevice       *CWE    `hl7:"3,table=0164,display=Administration Device"`
	AdministrationMethod       *CWE    `hl7:"4,table=0165,display=Administration Method"`
	RoutingInstruction         *CWE    `hl7:"5,table=9999,display=Routing Instruction"`
	AdministrationSiteModifier *CWE    `hl7:"6,table=0495,display=Administration Site Modifier"`
}

Pharmacy/treatment Route

The Pharmacy/Treatment Route segment contains the alternative combination of route, site, administration device, and administration method that are prescribed as they apply to a particular order. The pharmacy, treatment staff and/or nursing staff has a choice between the routes based on either their professional judgment or administration instructions provided by the physician.

type Row

type Row struct {
	ID          string
	Description string
	Comment     string
}

Row of data table.

type SAC

type SAC struct {
	HL7                               HL7Name `hl7:",name=SAC,type=s"`
	ExternalAccessionIdentifier       *EI     `hl7:"1,display=External Accession Identifier"`
	AccessionIdentifier               *EI     `hl7:"2,display=Accession Identifier"`
	ContainerIdentifier               *EI     `hl7:"3,conditional,display=Container Identifier"`
	PrimaryParentContainerIdentifier  *EI     `hl7:"4,conditional,display=Primary (parent) Container Identifier"`
	EquipmentContainerIdentifier      *EI     `hl7:"5,display=Equipment Container Identifier"`
	SpecimenSource                    ST      `hl7:"6,display=Specimen Source"`
	RegistrationDateTime              DTM     `hl7:"7,format=YMDHM,display=Registration Date/Time"`
	ContainerStatus                   *CWE    `hl7:"8,table=0370,display=Container Status"`
	CarrierType                       *CWE    `hl7:"9,table=0378,display=Carrier Type"`
	CarrierIdentifier                 *EI     `hl7:"10,display=Carrier Identifier"`
	PositionInCarrier                 *NA     `hl7:"11,display=Position In Carrier"`
	TrayType                          *CWE    `hl7:"12,table=0379,display=Tray Type - Sac"`
	TrayIdentifier                    *EI     `hl7:"13,display=Tray Identifier"`
	PositionInTray                    *NA     `hl7:"14,display=Position In Tray"`
	Location                          []CWE   `hl7:"15,table=9999,display=Location"`
	ContainerHeight                   NM      `hl7:"16,display=Container Height"`
	ContainerDiameter                 NM      `hl7:"17,display=Container Diameter"`
	BarrierDelta                      NM      `hl7:"18,display=Barrier Delta"`
	BottomDelta                       NM      `hl7:"19,display=Bottom Delta"`
	ContainerHeightDiameterDeltaUnits *CWE    `hl7:"20,table=9999,display=Container Height/Diameter/Delta Units"`
	ContainerVolume                   NM      `hl7:"21,display=Container Volume"`
	AvailableSpecimenVolume           NM      `hl7:"22,display=Available Specimen Volume"`
	InitialSpecimenVolume             NM      `hl7:"23,display=Initial Specimen Volume"`
	VolumeUnits                       *CWE    `hl7:"24,table=9999,display=Volume Units"`
	SeparatorType                     *CWE    `hl7:"25,table=0380,display=Separator Type"`
	CapType                           *CWE    `hl7:"26,table=0381,display=Cap Type"`
	Additive                          []CWE   `hl7:"27,table=0371,display=Additive"`
	SpecimenComponent                 *CWE    `hl7:"28,table=0372,display=Specimen Component"`
	DilutionFactor                    *SN     `hl7:"29,display=Dilution Factor"`
	Treatment                         *CWE    `hl7:"30,table=0373,display=Treatment"`
	Temperature                       *SN     `hl7:"31,display=Temperature"`
	HemolysisIndex                    NM      `hl7:"32,display=Hemolysis Index"`
	HemolysisIndexUnits               *CWE    `hl7:"33,table=9999,display=Hemolysis Index Units"`
	LipemiaIndex                      NM      `hl7:"34,display=Lipemia Index"`
	LipemiaIndexUnits                 *CWE    `hl7:"35,table=9999,display=Lipemia Index Units"`
	IcterusIndex                      NM      `hl7:"36,display=Icterus Index"`
	IcterusIndexUnits                 *CWE    `hl7:"37,table=9999,display=Icterus Index Units"`
	FibrinIndex                       NM      `hl7:"38,display=Fibrin Index"`
	FibrinIndexUnits                  *CWE    `hl7:"39,table=9999,display=Fibrin Index Units"`
	SystemInducedContaminants         []CWE   `hl7:"40,table=0374,display=System Induced Contaminants"`
	DrugInterference                  []CWE   `hl7:"41,table=0382,display=Drug Interference"`
	ArtificialBlood                   *CWE    `hl7:"42,table=0375,display=Artificial Blood"`
	SpecialHandlingCode               []CWE   `hl7:"43,table=0376,display=Special Handling Code"`
	OtherEnvironmentalFactors         []CWE   `hl7:"44,table=0377,display=Other Environmental Factors"`
}

Specimen Container Detail

The container detail segment is the data necessary to maintain the containers that are being used throughout the Laboratory Automation System.

The specimens in many laboratories are transported and processed in containers (e.g., sample tubes). When SPM and SAC are used in the same message, then the conceptually duplicate attributes will be valued only in the SPM. This applies to SAC-6 Specimen Source, SAC-27 Additives, and SAC-43 Special Handling Considerations.

type SAD

type SAD struct {
	HL7                    HL7Name `hl7:",name=SAD,len=0,type=d"`
	StreetOrMailingAddress ST      `` /* 288-byte string literal not displayed */
	StreetName             ST      `hl7:"2,display=Street Name"`
	DwellingNumber         ST      `hl7:"3,display=Dwelling Number"`
}

Street Address

This data type specifies an entity's street address and associated detail. Note: Appears ONLY in the XAD data type

type SCH

type SCH struct {
	HL7                       HL7Name `hl7:",name=SCH,type=s"`
	PlacerAppointmentID       *EI     `hl7:"1,conditional,display=Placer Appointment Id"`
	FillerAppointmentID       *EI     `hl7:"2,conditional,display=Filler Appointment Id"`
	OccurrenceNumber          NM      `hl7:"3,conditional,display=Occurrence Number"`
	PlacerGroupNumber         *EI     `hl7:"4,display=Placer Group Number"`
	ScheduleID                *CWE    `hl7:"5,display=Schedule Id"`
	EventReason               CWE     `hl7:"6,required,display=Event Reason"`
	AppointmentReason         *CWE    `hl7:"7,table=0276,display=Appointment Reason"`
	AppointmentType           *CWE    `hl7:"8,table=0277,display=Appointment Type"`
	AppointmentDuration       NM      `hl7:"9,display=Appointment Duration"`
	AppointmentDurationUnits  CNE     `hl7:"10,display=Appointment Duration Units"`
	AppointmentTimingQuantity ST      `hl7:"11,display=Appointment Timing Quantity"`
	PlacerContactPerson       []XCN   `hl7:"12,display=Placer Contact Person"`
	PlacerContactPhoneNumber  *XTN    `hl7:"13,display=Placer Contact Phone Number"`
	PlacerContactAddress      []XAD   `hl7:"14,display=Placer Contact Address"`
	PlacerContactLocation     *PL     `hl7:"15,display=Placer Contact Location"`
	FillerContactPerson       []XCN   `hl7:"16,required,display=Filler Contact Person"`
	FillerContactPhoneNumber  *XTN    `hl7:"17,display=Filler Contact Phone Number"`
	FillerContactAddress      []XAD   `hl7:"18,display=Filler Contact Address"`
	FillerContactLocation     *PL     `hl7:"19,display=Filler Contact Location"`
	EnteredByPerson           []XCN   `hl7:"20,required,display=Entered By Person"`
	EnteredByPhoneNumber      []XTN   `hl7:"21,display=Entered By Phone Number"`
	EnteredByLocation         *PL     `hl7:"22,display=Entered By Location"`
	ParentPlacerAppointmentID *EI     `hl7:"23,display=Parent Placer Appointment Id"`
	ParentFillerAppointmentID *EI     `hl7:"24,conditional,display=Parent Filler Appointment Id"`
	FillerStatusCode          *CWE    `hl7:"25,table=0278,display=Filler Status Code"`
	PlacerOrderNumber         []EI    `hl7:"26,conditional,display=Placer Order Number"`
	FillerOrderNumber         []EI    `hl7:"27,conditional,display=Filler Order Number"`
}

Scheduling Activity Information

The SCH segment contains general information about the scheduled appointment.

type SCN_S37

type SCN_S37 struct {
	HL7 HL7Name `hl7:",name=SCN_S37,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SDD *SDD    `hl7:"4,required,display=Sterilization Device Data"`
}

Notification of anti-microbial device cycle data

This message is sent from a filler application to notify other applications that anti-microbial device cycle data has been generated. The information in the SCN segment and the other detail segments as appropriate describe details of a sterilization or decontamination cycle.

type SCP

type SCP struct {
	HL7                                         HL7Name `hl7:",name=SCP,type=s"`
	NumberOfDecontaminationSterilizationDevices NM      `hl7:"1,display=Number Of Decontamination/Sterilization Devices"`
	LaborCalculationType                        *CWE    `hl7:"2,table=0651,display=Labor Calculation Type"`
	DateFormat                                  *CWE    `hl7:"3,table=0653,display=Date Format"`
	DeviceNumber                                *EI     `hl7:"4,display=Device Number"`
	DeviceName                                  ST      `hl7:"5,display=Device Name"`
	DeviceModelName                             ST      `hl7:"6,display=Device Model Name"`
	DeviceType                                  *CWE    `hl7:"7,table=0657,display=Device Type"`
	LotControl                                  *CWE    `hl7:"8,table=0659,display=Lot Control"`
}

Sterilizer Configuration (anti-microbial Devices)

The sterilization configuration segment contains information specific to configuration of a sterilizer or washer for processing sterilization or decontamination loads.

type SCV

type SCV struct {
	HL7            HL7Name `hl7:",name=SCV,len=0,type=d"`
	ParameterClass *CWE    `` /* 253-byte string literal not displayed */
	ParameterValue ST      `` /* 342-byte string literal not displayed */
}

Scheduling Class Value Pair

This data type is used to communicate parameters and preferences to the filler application regarding the selection of an appropriate time slot, resource, location, or filler override criterion for an appointment.

For use only with the scheduling chapter.

type SDD

type SDD struct {
	HL7             HL7Name `hl7:",name=SDD,type=s"`
	LotNumber       *EI     `hl7:"1,display=Lot Number"`
	DeviceNumber    *EI     `hl7:"2,display=Device Number"`
	DeviceName      ST      `hl7:"3,display=Device Name"`
	DeviceDataState *CWE    `hl7:"4,table=0667,display=Device Data State"`
	LoadStatus      *CWE    `hl7:"5,table=0669,display=Load Status"`
	ControlCode     NM      `hl7:"6,display=Control Code"`
	OperatorName    ST      `hl7:"7,display=Operator Name"`
}

Sterilization Device Data

The SDD segment contains the attributes of an instance of a cycle that provides sterilization or decontamination of medical supplies.

type SDN_S36

type SDN_S36 struct {
	HL7 HL7Name `hl7:",name=SDN_S36,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SDD *SDD    `hl7:"4,required,display=Sterilization Device Data"`
}

Notification of anti-microbial device data

This message is sent from a filler application to notify other applications that anti-microbial device data has been generated. The information in the SDN segment and the other detail segments as appropriate describe the detail of a device during a sterilization or decontamination cycle.

type SDR_S31

type SDR_S31 struct {
	HL7 HL7Name `hl7:",name=SDR_S31,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SDD *SDD    `hl7:"4,required,display=Sterilization Device Data"`
}

Request anti-microbial device data

This trigger event is sent by the placer application to the filler application to request anti-microbial device data created during the decontamination/sterilization of medical supplies. In the context of this message segment, the term 'device' refers to a sterilizer or a washer. Sterilizers perform a sterilization process and washers perform a decontamination process.

type SFT

type SFT struct {
	HL7                                     HL7Name `hl7:",name=SFT,type=s"`
	SoftwareVendorOrganization              XON     `hl7:"1,required,display=Software Vendor Organization"`
	SoftwareCertifiedVersionOrReleaseNumber ST      `hl7:"2,required,display=Software Certified Version Or Release Number"`
	SoftwareProductName                     ST      `hl7:"3,required,display=Software Product Name"`
	SoftwareBinaryID                        ST      `hl7:"4,required,display=Software Binary Id"`
	SoftwareProductInformation              TX      `hl7:"5,display=Software Product Information"`
	SoftwareInstallDate                     DTM     `hl7:"6,format=YMDHM,display=Software Install Date"`
}

Software Segment

This segment provides additional information about the software product(s) used as a Sending Application. The primary purpose of this segment is for diagnostic use. There may be additional uses per site-specific agreements.

Implementers are encouraged to use message profile identifiers (as found in 2.14.9.21, "MSH-21 Message Profile Identifier (EI) 01598") to control the behavior of the receiving application rather than relying on application or version information in the SFT segment.

For example, if software product A has versions 9 and 10 deployed in different Enterprise locations, the fact that they use different message types, segments, or fields should be reflected via their message profiles (see section 2B, "Conformance Using Message Profiles"). If there is an upgrade from version 10 to 10.1, this would be reflected in the SFT segment, but changes to the message contents should be reflected via a new/different conformance profile.

Use Case: An external application has been customized to communicate with a centralized patient drug history system. However, due to certain, known characteristics of the external software package, the centralized system must modify its behavior in order to process transactions correctly. In one example, the external application may have multiple versions in production. As such, the centralized application will need to know the name of the Software Vendor Organization, the Software Release Number, the Software Product Name, and the Software Binary ID so that it can correctly identify the software submitting the transaction and modify its behavior appropriately.

While preparing a transaction for submission to a centralized system the sending application specifies its Software Install Date and its configuration settings (Software Product Information). While processing the transaction, the centralized system encounters an error. Upon examination of the error, install date and configuration of the software that sent the message, helpdesk staff are able to determine the sending application has not been updated to reflect recent application changes.

Use Case: In circumstances where a message is manipulated or modified by multiple systems, a repetition of this segment may be appended by each system.

type SHP

type SHP struct {
	HL7                        HL7Name `hl7:",name=SHP,type=s"`
	ShipmentID                 EI      `hl7:"1,required,display=Shipment Id"`
	InternalShipmentID         []EI    `hl7:"2,display=Internal Shipment Id"`
	ShipmentStatus             *CWE    `hl7:"3,table=0905,display=Shipment Status"`
	ShipmentStatusDateTime     DTM     `hl7:"4,required,format=YMDHM,display=Shipment Status Date/Time"`
	ShipmentStatusReason       TX      `hl7:"5,display=Shipment Status Reason"`
	ShipmentPriority           *CWE    `hl7:"6,table=0906,display=Shipment Priority"`
	ShipmentConfidentiality    []CWE   `hl7:"7,table=0907,display=Shipment Confidentiality"`
	NumberOfPackagesInShipment NM      `hl7:"8,display=Number Of Packages In Shipment"`
	ShipmentCondition          []CWE   `hl7:"9,table=0544,display=Shipment Condition"`
	ShipmentHandlingCode       []CWE   `hl7:"10,table=0376,display=Shipment Handling Code"`
	ShipmentRiskCode           []CWE   `hl7:"11,table=0489,display=Shipment Risk Code"`
}

Shipment

The intent of this segment is to describe the information associated with the transportation of the shipment.

type SI

type SI = string

Sequence Id

A non-negative integer in the form of a NM field. The uses of this data type are defined in the chapters defining the segments and messages in which it appears.

This allows for a number between 0 and 9999 to be specified.

type SID

type SID struct {
	HL7                             HL7Name `hl7:",name=SID,type=s"`
	ApplicationMethodIdentifier     *CWE    `hl7:"1,conditional,table=9999,display=Application/Method Identifier"`
	SubstanceLotNumber              ST      `hl7:"2,conditional,display=Substance Lot Number"`
	SubstanceContainerIdentifier    ST      `hl7:"3,conditional,display=Substance Container Identifier"`
	SubstanceManufacturerIdentifier *CWE    `hl7:"4,conditional,table=0385,display=Substance Manufacturer Identifier"`
}

Substance Identifier

The Substance Identifier segment contains data necessary to identify the substance (e.g., reagents) used in the production of analytical test results. The combination of these fields must uniquely identify the substance, i.e., depending on the manufacturer all or some fields are required (this is the reason the optionality is 'C' (conditional)). If the analysis requires multiple substances, this segment is repeated for each substance. The segment(s) should be attached to the TCD segment.

Another purpose of this segment is to transfer the control manufacturer, lot, etc., information for control specimens. In this case the SID segment should be attached to the SAC segment describing the container with the control specimen.

type SIU_S12

type SIU_S12 struct {
	HL7       HL7Name             `hl7:",name=SIU_S12,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S12_Patient   `hl7:",display=Patient"`
	Resources []SIU_S12_Resources `hl7:",required,display=Resources"`
}

Notification of new appointment booking

This message is sent from a filler application to notify other applications that a new appointment has been booked. The information provided in the SCH segment and the other detail segments as appropriate describe the appointment that has been booked by the filler application.

type SIU_S12_Generalresource

type SIU_S12_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S12_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S12_Locationresource

type SIU_S12_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S12_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S12_Patient

type SIU_S12_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S12_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S12_Personnelresource

type SIU_S12_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S12_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S12_Resources

type SIU_S12_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S12_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S12_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S12_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S12_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S12_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S12_Service

type SIU_S12_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S12_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S13

type SIU_S13 struct {
	HL7       HL7Name             `hl7:",name=SIU_S13,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S13_Patient   `hl7:",display=Patient"`
	Resources []SIU_S13_Resources `hl7:",required,display=Resources"`
}

Notification of appointment rescheduling

This message is sent from a filler application to notify other applications that an existing appointment has been rescheduled. The information in the SCH segment and the other detail segments as appropriate describe the new date(s) and time(s) to which the previously booked appointment has been moved. Additionally, it describes the unchanged information in the previously booked appointment.

This transaction should not be used to reschedule an appointment that has begun but has not been completed. In such cases, and only if it logical to do so, the appointment should be discontinued and a new schedule request should be submitted. Likewise, this transaction should not be used to reschedule a parent appointment, in which one or more children have begun or have already taken place. Again, the parent appointment should be discontinued, and a new schedule request should be made. This procedure removes any ambiguity between applications that may arise with an attempt to modify an appointment that is in progress.

type SIU_S13_Generalresource

type SIU_S13_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S13_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S13_Locationresource

type SIU_S13_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S13_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S13_Patient

type SIU_S13_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S13_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S13_Personnelresource

type SIU_S13_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S13_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S13_Resources

type SIU_S13_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S13_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S13_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S13_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S13_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S13_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S13_Service

type SIU_S13_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S13_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S14

type SIU_S14 struct {
	HL7       HL7Name             `hl7:",name=SIU_S14,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S14_Patient   `hl7:",display=Patient"`
	Resources []SIU_S14_Resources `hl7:",required,display=Resources"`
}

Notification of appointment modification

This message notifies other applications that an existing appointment has been modified on the filler application. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

type SIU_S14_Generalresource

type SIU_S14_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S14_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S14_Locationresource

type SIU_S14_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S14_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S14_Patient

type SIU_S14_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S14_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S14_Personnelresource

type SIU_S14_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S14_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S14_Resources

type SIU_S14_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S14_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S14_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S14_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S14_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S14_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S14_Service

type SIU_S14_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S14_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S15

type SIU_S15 struct {
	HL7       HL7Name             `hl7:",name=SIU_S15,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S15_Patient   `hl7:",display=Patient"`
	Resources []SIU_S15_Resources `hl7:",required,display=Resources"`
}

Notification of appointment cancellation

A notification of appointment cancellation is sent by the filler application to other applications when an existing appointment has been canceled. A cancel event is used to stop a valid appointment from taking place. For example, if a patient scheduled for an exam cancels his/her appointment, then the appointment is canceled on the filler application.

This trigger event can be used to cancel a parent appointment, in which none of the children of the appointment have either begun or been completed. Any child appointments that exist on the filler and placer applications should be considered canceled. If one or more child appointments have begun or have been completed, then this trigger event should not be used. Instead, the S16 (notification of appointment discontinuation) event should be used.

type SIU_S15_Generalresource

type SIU_S15_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S15_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S15_Locationresource

type SIU_S15_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S15_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S15_Patient

type SIU_S15_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S15_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S15_Personnelresource

type SIU_S15_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S15_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S15_Resources

type SIU_S15_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S15_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S15_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S15_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S15_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S15_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S15_Service

type SIU_S15_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S15_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S16

type SIU_S16 struct {
	HL7       HL7Name             `hl7:",name=SIU_S16,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S16_Patient   `hl7:",display=Patient"`
	Resources []SIU_S16_Resources `hl7:",required,display=Resources"`
}

Notification of appointment discontinuation

A notification of appointment discontinuation is sent by the filler application to notify other applications that an appointment in progress has been stopped, or that the remaining occurrences of a parent appointment will not occur. If none of the child appointments of a parent appointment have taken place, then a cancel trigger event should be sent instead.

type SIU_S16_Generalresource

type SIU_S16_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S16_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S16_Locationresource

type SIU_S16_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S16_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S16_Patient

type SIU_S16_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S16_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S16_Personnelresource

type SIU_S16_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S16_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S16_Resources

type SIU_S16_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S16_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S16_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S16_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S16_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S16_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S16_Service

type SIU_S16_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S16_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S17

type SIU_S17 struct {
	HL7       HL7Name             `hl7:",name=SIU_S17,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S17_Patient   `hl7:",display=Patient"`
	Resources []SIU_S17_Resources `hl7:",required,display=Resources"`
}

Notification of appointment deletion

A notification of appointment deletion is sent by the filler application to other applications when an appointment that had been entered in error has been removed from the system. A delete trigger event should only be used when an appointment has been erroneously scheduled. It must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from occurring. This trigger event should not be used for any appointment that has already begun, or that has already been completed. Likewise, it should not be used for any parent appointment if any child appointments have either begun or been completed.

The delete trigger event should be implemented with careful forethought, as it typically has different effects and repercussions in various applications. In some applications, a delete event cannot be undone. This means that if a delete transaction was sent erroneously, recovery will be difficult or impossible. In other applications, a delete transaction will not result in the physical deletion of the record(s), but will set a status or a flag. In these cases, the filler and/or placer appointment identifiers (the numbers or codes that uniquely identify the scheduled appointment or request to the placer and filler applications) probably cannot be reused. Since these applications maintain a record of deleted appointments, the reuse of an identifier will likely cause a conflict in the applications' processing of transactions.

type SIU_S17_Generalresource

type SIU_S17_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S17_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S17_Locationresource

type SIU_S17_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S17_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S17_Patient

type SIU_S17_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S17_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S17_Personnelresource

type SIU_S17_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S17_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S17_Resources

type SIU_S17_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S17_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S17_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S17_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S17_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S17_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S17_Service

type SIU_S17_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S17_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S18

type SIU_S18 struct {
	HL7       HL7Name             `hl7:",name=SIU_S18,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S18_Patient   `hl7:",display=Patient"`
	Resources []SIU_S18_Resources `hl7:",required,display=Resources"`
}

Notification of addition of service/resource on appointment

The notification of addition of service/resource is triggered on the filler application when a new service or resource has been added to an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

type SIU_S18_Generalresource

type SIU_S18_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S18_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S18_Locationresource

type SIU_S18_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S18_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S18_Patient

type SIU_S18_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S18_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S18_Personnelresource

type SIU_S18_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S18_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S18_Resources

type SIU_S18_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S18_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S18_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S18_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S18_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S18_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S18_Service

type SIU_S18_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S18_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S19

type SIU_S19 struct {
	HL7       HL7Name             `hl7:",name=SIU_S19,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S19_Patient   `hl7:",display=Patient"`
	Resources []SIU_S19_Resources `hl7:",required,display=Resources"`
}

Notification of modification of service/resource on appointment

The notification of modification of service/resource is triggered on the filler application when the information pertaining to an existing service or resource has been changed for an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

This trigger event should not be used when an existing resource or service has been replaced in relation to an existing appointment. Instead, use two other trigger events: S20 (notification of cancellation of service/ resource on appointment), as well as S18 (notification of addition of service/resource on appointment).

type SIU_S19_Generalresource

type SIU_S19_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S19_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S19_Locationresource

type SIU_S19_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S19_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S19_Patient

type SIU_S19_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S19_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S19_Personnelresource

type SIU_S19_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S19_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S19_Resources

type SIU_S19_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S19_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S19_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S19_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S19_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S19_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S19_Service

type SIU_S19_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S19_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S20

type SIU_S20 struct {
	HL7       HL7Name             `hl7:",name=SIU_S20,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S20_Patient   `hl7:",display=Patient"`
	Resources []SIU_S20_Resources `hl7:",required,display=Resources"`
}

Notification of cancellation of service/resource on appointment

This trigger event notifies other applications that a service or resource has been removed from an existing scheduled appointment that has not yet begun. A cancel event is used to stop a valid service or resource from participating in the appointment. For example, if a portable X-ray machine scheduled for an exam is no longer needed, then the resource is canceled on the filler application. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

type SIU_S20_Generalresource

type SIU_S20_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S20_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S20_Locationresource

type SIU_S20_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S20_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S20_Patient

type SIU_S20_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S20_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S20_Personnelresource

type SIU_S20_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S20_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S20_Resources

type SIU_S20_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S20_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S20_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S20_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S20_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S20_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S20_Service

type SIU_S20_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S20_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S21

type SIU_S21 struct {
	HL7       HL7Name             `hl7:",name=SIU_S21,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S21_Patient   `hl7:",display=Patient"`
	Resources []SIU_S21_Resources `hl7:",required,display=Resources"`
}

Notification of discontinuation of service/resource on appointment

A notification of discontinuation of service/resource is sent by the filler application to other applications when the remaining children of a parent appointment no longer require a particular service or resource. In other words, this trigger event is sent to discontinue the performance of a service or resource in a parent appointment that has already begun. If the first appointment in a set of recurring appointments has not yet taken place, then a cancel trigger event should be sent instead. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed.

type SIU_S21_Generalresource

type SIU_S21_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S21_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S21_Locationresource

type SIU_S21_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S21_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S21_Patient

type SIU_S21_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S21_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S21_Personnelresource

type SIU_S21_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S21_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S21_Resources

type SIU_S21_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S21_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S21_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S21_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S21_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S21_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S21_Service

type SIU_S21_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S21_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S22

type SIU_S22 struct {
	HL7       HL7Name             `hl7:",name=SIU_S22,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S22_Patient   `hl7:",display=Patient"`
	Resources []SIU_S22_Resources `hl7:",required,display=Resources"`
}

Notification of deletion of service/resource on appointment

A notification of deletion of service/resource is sent by the filler application to other applications when a scheduled appointment requiring a service or resource entered in error has been removed from the system. A delete trigger event should only be used in those circumstances when a service or resource has been erroneously attached to an appointment, and must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from taking place.

type SIU_S22_Generalresource

type SIU_S22_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S22_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S22_Locationresource

type SIU_S22_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S22_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S22_Patient

type SIU_S22_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S22_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S22_Personnelresource

type SIU_S22_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S22_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S22_Resources

type SIU_S22_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S22_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S22_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S22_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S22_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S22_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S22_Service

type SIU_S22_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S22_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S23

type SIU_S23 struct {
	HL7       HL7Name             `hl7:",name=SIU_S23,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S23_Patient   `hl7:",display=Patient"`
	Resources []SIU_S23_Resources `hl7:",required,display=Resources"`
}

Notification of blocked schedule time slot(s)

A notification of blocked schedule time slots is sent by the filler application to other applications when a schedule has had one or more time slots blocked and made unavailable for reasons other than the scheduling of an appointment. For example, if an exam room is unavailable for several hours because of maintenance needs or contamination, a user may block off those several hours on the exam room's schedule. Similarly, if a physician is unavailable because he or she has taken vacation time, his or her schedule may be blocked off for the duration of the vacation. When these types of conditions exist, the filler application may use this transaction to notify other applications that the resources controlled by schedules are unavailable.

type SIU_S23_Generalresource

type SIU_S23_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S23_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S23_Locationresource

type SIU_S23_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S23_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S23_Patient

type SIU_S23_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S23_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S23_Personnelresource

type SIU_S23_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S23_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S23_Resources

type SIU_S23_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S23_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S23_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S23_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S23_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S23_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S23_Service

type SIU_S23_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S23_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S24

type SIU_S24 struct {
	HL7       HL7Name             `hl7:",name=SIU_S24,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S24_Patient   `hl7:",display=Patient"`
	Resources []SIU_S24_Resources `hl7:",required,display=Resources"`
}

Notification of opened ("unblocked") schedule time slot(s)

A notification of blocked schedule time slots is sent by the filler application to other applications when a schedule has one or more time slots open up ("un-blocked") and become available for use. Typically, the blocked period of time on a schedule is simply allowed to expire, because the blocked amount of time is generally used for non-appointment activities. This transaction can be used either to discontinue the blocked status on the schedule, or to reverse a previous block made in error. For the purposes of this transaction, discontinuing a block currently in progress (the blocked period has started, but not yet completed) and canceling a blocked period in the future are not significantly different. Therefore, a separate discontinue block transaction is not necessary. If this transaction is received prior to the inception of a blocked period, then the entire block period is simply canceled according to the data provided in the transaction. If the transaction is received after the blocked period has begun, but prior to the end of the blocked period, then the blocked period is discontinued according to the data provided in the transactions. Applications may decide how to handle transactions that attempt to open a blocked period that has both started and ended in the past; however, these transactions can generally be ignored.

For example, if an exam room has been blocked for several hours because of maintenance activities or contamination, and if the work has been completed ahead of schedule, a user may open those several hours on the exam room's schedule. When such a situation occurs, the filler application may use this transaction to notify other applications that the room is available.

type SIU_S24_Generalresource

type SIU_S24_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S24_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S24_Locationresource

type SIU_S24_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S24_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S24_Patient

type SIU_S24_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S24_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S24_Personnelresource

type SIU_S24_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S24_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S24_Resources

type SIU_S24_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S24_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S24_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S24_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S24_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S24_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S24_Service

type SIU_S24_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S24_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S26

type SIU_S26 struct {
	HL7       HL7Name             `hl7:",name=SIU_S26,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S26_Patient   `hl7:",display=Patient"`
	Resources []SIU_S26_Resources `hl7:",required,display=Resources"`
}

Notification that patient did not show up for schedule appointment

A notification that a patient did not show up for an appointment. For example, if a patient was scheduled for a clinic visit, and never arrived for that appointment, this trigger event can be used to set a status on the appointment record for statistical purposes, as well as to free resources assigned to the appointment (or any other application level actions that must be taken in the event a patient does not appear for an appointment).

Patient Administration events defined in Chapter 3 can be used to indicate that a patient has arrived for an appointment, e.g., A01 (admit/visit notification), A04 (register a patient), A05 (pre-admit a patient), or A10 (patient arriving - tracking) as possible examples. Similarly, Patient Administration transactions can be used to identify the end of an appointment, e.g., A03 (discharge/end visit) or A09 (patient departing - tracking) as possible examples.

type SIU_S26_Generalresource

type SIU_S26_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S26_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S26_Locationresource

type SIU_S26_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S26_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S26_Patient

type SIU_S26_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S26_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S26_Personnelresource

type SIU_S26_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S26_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S26_Resources

type SIU_S26_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S26_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S26_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S26_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S26_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S26_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S26_Service

type SIU_S26_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S26_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SIU_S27

type SIU_S27 struct {
	HL7       HL7Name             `hl7:",name=SIU_S27,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SCH       *SCH                `hl7:"2,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"3,display=Timing/quantity"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SIU_S27_Patient   `hl7:",display=Patient"`
	Resources []SIU_S27_Resources `hl7:",required,display=Resources"`
}

Broadcast Notification of Scheduled Appointments

type SIU_S27_Generalresource

type SIU_S27_Generalresource struct {
	HL7 HL7Name `hl7:",name=SIU_S27_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

Generalresource

type SIU_S27_Locationresource

type SIU_S27_Locationresource struct {
	HL7 HL7Name `hl7:",name=SIU_S27_Locationresource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

Locationresource

type SIU_S27_Patient

type SIU_S27_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S27_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"6,display=Patient Additional Demographic"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"9,display=Observation/result"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SIU_S27_Personnelresource

type SIU_S27_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SIU_S27_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Personnelresource

type SIU_S27_Resources

type SIU_S27_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S27_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SIU_S27_Service           `hl7:",display=Service"`
	Generalresource   []SIU_S27_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SIU_S27_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SIU_S27_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SIU_S27_Service

type SIU_S27_Service struct {
	HL7 HL7Name `hl7:",name=SIU_S27_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SLN_S34

type SLN_S34 struct {
	HL7 HL7Name `hl7:",name=SLN_S34,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SLT []SLT   `hl7:"4,required,display=Sterilization Lot"`
}

Notification of sterilization lot

This message is sent from a filler application to notify other applications that a new sterilization lot has been created. The information provided in the SLT segment describes the new sterilization lot that has been created by the filler application.

type SLN_S35

type SLN_S35 struct {
	HL7 HL7Name `hl7:",name=SLN_S35,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SLT []SLT   `hl7:"4,required,display=Sterilization Lot"`
}

Notification of sterilization lot deletion

This message is sent from a filler application to notify other applications that a sterilization lot has been deleted. The information provided in the SLT segment describes the sterilization lot that has been deleted by the filler application.

type SLR_S28

type SLR_S28 struct {
	HL7 HL7Name `hl7:",name=SLR_S28,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SLT []SLT   `hl7:"4,required,display=Sterilization Lot"`
}

Request new sterilization lot

A placer application (Sterilizer) sends a transaction with this trigger event to a filler application (Instrument-tracking system) to request that a new sterilization lot be added. If it is successful, the filler application returns an application acknowledgment (if requested under the enhanced acknowledgment mode, or if the original acknowledgment mode is in use).

type SLR_S29

type SLR_S29 struct {
	HL7 HL7Name `hl7:",name=SLR_S29,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SLT []SLT   `hl7:"4,required,display=Sterilization Lot"`
}

Request Sterilization lot deletion

A request sterilization lot deletion is sent by the placer application to the filler application to request that a lot that had been created in error be removed from the system. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from occurring. If it is successful, an application acknowledgment is returned.

The delete trigger event should be implemented with careful forethought, as it typically has different effects and repercussions in various applications. In some applications, a delete event cannot be undone. This means that if a delete transaction was sent erroneously, recovery will be difficult or impossible. In other applications, a delete transaction will not result in the physical deletion of the record(s), but will set a status or a flag. In these cases, the filler and/or placer appointment identifiers (the numbers or codes that uniquely identify the sterilization lot or request to the placer and filler applications) probably cannot be reused. Since an application may maintain a record of deleted sterilization lots, the reuse of an identifier may cause a conflict in the applications' processing of transactions.

type SLT

type SLT struct {
	HL7            HL7Name `hl7:",name=SLT,type=s"`
	DeviceNumber   *EI     `hl7:"1,display=Device Number"`
	DeviceName     ST      `hl7:"2,display=Device Name"`
	LotNumber      *EI     `hl7:"3,display=Lot Number"`
	ItemIdentifier *EI     `hl7:"4,display=Item Identifier"`
	BarCode        ST      `hl7:"5,display=Bar Code"`
}

Sterilization Lot

The SLT segment defines requests, responses, and notifications of sterilization lots and supply item descriptions. This message may be used for CPD (Central Supply) and OR (Sub-sterile area outside of an Operating Room) mode.

type SMD_S32

type SMD_S32 struct {
	HL7 HL7Name `hl7:",name=SMD_S32,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SDD *SDD    `hl7:"4,required,display=Sterilization Device Data"`
}

Request anti-microbial device cycle data

This trigger event is sent by the placer application to the filler application to request anti-microbial device cycle data created during the decontamination/sterilization of medical supplies. In the context of this message segment, the term 'device' refers to a sterilizer or a washer. Sterilizers perform a sterilization process and washers perform a decontamination process.

type SN

type SN struct {
	HL7             HL7Name `hl7:",name=SN,len=0,type=d"`
	Comparator      ST      `` /* 182-byte string literal not displayed */
	Num1            NM      `hl7:"2,display=A number. "`
	SeparatorSuffix ST      `` /* 267-byte string literal not displayed */
	Num2            NM      `hl7:"4,display=A number or null depending on the measurement."`
}

Structured Numeric

The structured numeric data type is used to unambiguously express numeric clinical results along with qualifications. This enables receiving systems to store the components separately, and facilitates the use of numeric database queries. The corresponding sets of values indicated with the <comparator> and <separator/suffix> components are intended to be the authoritative and complete set of values. If additional values are needed for the <comparator> and <separator/suffix> components, they should be submitted to HL7 for inclusion in the Standard.

If <num1> and <num2> are both non-null, then the separator/suffix must be non-null. If the separator is "-", the data range is inclusive; e.g., <num1> - <num2> defines a range of numbers x, such that: <num1> <=x<= <num2>.

type SNM

type SNM = string

String Of Telephone Number Digits

:A string whose characters are limited to "+" and/or the decimal digits 0 through 9. As a string, leading zeros are always considered significant.

Used only in the XTN data type as of v2.7.

SNM is used for telephone numbers, so it is never appropriate to truncate values of type SNM.

type SPD

type SPD struct {
	HL7                 HL7Name `hl7:",name=SPD,len=0,type=d"`
	SpecialtyName       ST      `hl7:"1,required,display=Identifies the provider’s specialty."`
	GoverningBoard      ST      `hl7:"2,display=Identifies the governing body providing for the specialty."`
	EligibleOrCertified ID      `` /* 135-byte string literal not displayed */
	DateOfCertification DT      `hl7:"4,format=YMD,display=Specifies when certification occurred."`
}

Specialty Description

This data type specifies the practitioner’s specialty and related information.

Note: Replaces the CM data type used in 15.4.5.5 PRA-5 as of v 2.5.

type SPM

type SPM struct {
	HL7                        HL7Name `hl7:",name=SPM,type=s"`
	SetID                      SI      `hl7:"1,seq,len=4,display=Set Id - Spm"`
	SpecimenID                 *EIP    `hl7:"2,display=Specimen Id"`
	SpecimenParentIds          []EIP   `hl7:"3,display=Specimen Parent Ids"`
	SpecimenType               CWE     `hl7:"4,required,table=0487,display=Specimen Type"`
	SpecimenTypeModifier       []CWE   `hl7:"5,table=0541,display=Specimen Type Modifier"`
	SpecimenAdditives          []CWE   `hl7:"6,table=0371,display=Specimen Additives"`
	SpecimenCollectionMethod   *CWE    `hl7:"7,table=0488,display=Specimen Collection Method"`
	SpecimenSourceSite         *CWE    `hl7:"8,table=9999,display=Specimen Source Site"`
	SpecimenSourceSiteModifier []CWE   `hl7:"9,table=0542,display=Specimen Source Site Modifier"`
	SpecimenCollectionSite     *CWE    `hl7:"10,table=0543,display=Specimen Collection Site"`
	SpecimenRole               []CWE   `hl7:"11,table=0369,display=Specimen Role"`
	SpecimenCollectionAmount   *CQ     `hl7:"12,display=Specimen Collection Amount"`
	GroupedSpecimenCount       NM      `hl7:"13,conditional,display=Grouped Specimen Count"`
	SpecimenDescription        []ST    `hl7:"14,display=Specimen Description"`
	SpecimenHandlingCode       []CWE   `hl7:"15,table=0376,display=Specimen Handling Code"`
	SpecimenRiskCode           []CWE   `hl7:"16,table=0489,display=Specimen Risk Code"`
	SpecimenCollectionDateTime *DR     `hl7:"17,display=Specimen Collection Date/Time"`
	SpecimenReceivedDateTime   DTM     `hl7:"18,format=YMDHM,display=Specimen Received Date/Time"`
	SpecimenExpirationDateTime DTM     `hl7:"19,format=YMDHM,display=Specimen Expiration Date/Time"`
	SpecimenAvailability       ID      `hl7:"20,len=1,table=0136,display=Specimen Availability"`
	SpecimenRejectReason       []CWE   `hl7:"21,table=0490,display=Specimen Reject Reason"`
	SpecimenQuality            *CWE    `hl7:"22,table=0491,display=Specimen Quality"`
	SpecimenAppropriateness    *CWE    `hl7:"23,table=0492,display=Specimen Appropriateness"`
	SpecimenCondition          []CWE   `hl7:"24,table=0493,display=Specimen Condition"`
	SpecimenCurrentQuantity    *CQ     `hl7:"25,display=Specimen Current Quantity"`
	NumberOfSpecimenContainers NM      `hl7:"26,display=Number Of Specimen Containers"`
	ContainerType              *CWE    `hl7:"27,table=9999,display=Container Type"`
	ContainerCondition         *CWE    `hl7:"28,table=0544,display=Container Condition"`
	SpecimenChildRole          *CWE    `hl7:"29,table=0494,display=Specimen Child Role"`
	AccessionID                []CX    `hl7:"30,display=Accession Id"`
	OtherSpecimenID            []CX    `hl7:"31,display=Other Specimen Id"`
	ShipmentID                 *EI     `hl7:"32,display=Shipment Id"`
}

Specimen

The intent of this segment is to describe the characteristics of a specimen. It differs from the intent of the OBR in that the OBR addresses order-specific information. It differs from the SAC segment in that the SAC addresses specimen container attributes. An advantage afforded by a separate specimen segment is that it generalizes the multiple relationships among order(s), results, specimen(s) and specimen container(s).

A specimen is defined as "A physical entity that is an individual, a group, an item, or a part representative of a larger group, class or whole that is the target of an observation or analysis for the purpose of drawing conclusions about the group, class, or whole." Note that any physical entity in the universe has the potential to become a specimen

A specimen is collected or obtained from a source and may be representative of the source, or may represent a deviation within the source. A specimen may be wholly or partially consumed during an observation and any remaining portion of the specimen is persistent and can be stored.

This segment may also be used in limited cases to describe a "virtual" specimen. In particular, to identify the characteristics required for a specimen in the context of a specific observation or test.

In summary, SPM represents the attributes specific and unique to a specimen.

type SRM_S01

type SRM_S01 struct {
	HL7       HL7Name             `hl7:",name=SRM_S01,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S01_Patient   `hl7:",display=Patient"`
	Resources []SRM_S01_Resources `hl7:",required,display=Resources"`
}

Request new appointment booking

A placer application sends a transaction with this trigger event to a filler application to request that a new appointment be booked. If it is successful, the filler application returns an application acknowledgment (if requested under the enhanced acknowledgment mode, or if the original acknowledgment mode is in use). The acknowledgment may optionally contain an SCH segment and related detail segments describing the actual appointment that was booked

type SRM_S01_Generalresource

type SRM_S01_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S01_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S01_Locationresource

type SRM_S01_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S01_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S01_Patient

type SRM_S01_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S01_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S01_Personnelresource

type SRM_S01_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S01_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S01_Resources

type SRM_S01_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S01_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S01_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S01_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S01_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S01_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S01_Service

type SRM_S01_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S01_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S02

type SRM_S02 struct {
	HL7       HL7Name             `hl7:",name=SRM_S02,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S02_Patient   `hl7:",display=Patient"`
	Resources []SRM_S02_Resources `hl7:",required,display=Resources"`
}

Request appointment rescheduling

A placer application uses this trigger event to request that an existing appointment be rescheduled. The new Requested Start Date and Time, Appointment Duration, Repeating Interval, Repeating Interval Duration, and/or Priority are provided in the ARQ segment, along with the existing placer and filler identification numbers. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the new information for the rescheduled appointment.

This transaction should not be used to reschedule an appointment that has begun but has not been completed. In such cases, and only if it is logical to do so, the appointment should be discontinued and a new schedule request should be submitted. Likewise, this transaction should not be used to reschedule a parent appointment, in which one or more children have begun or have already occurred. Again, the parent appointment should be discontinued, and a new schedule request should be made. This procedure removes any ambiguity between applications that may arise with an attempt to modify an appointment that is in progress.

type SRM_S02_Generalresource

type SRM_S02_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S02_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S02_Locationresource

type SRM_S02_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S02_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S02_Patient

type SRM_S02_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S02_Personnelresource

type SRM_S02_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S02_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S02_Resources

type SRM_S02_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S02_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S02_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S02_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S02_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S02_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S02_Service

type SRM_S02_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S02_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S03

type SRM_S03 struct {
	HL7       HL7Name             `hl7:",name=SRM_S03,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S03_Patient   `hl7:",display=Patient"`
	Resources []SRM_S03_Resources `hl7:",required,display=Resources"`
}

Request appointment modification

This message transmits a request for modification of an existing appointment to a filler application. This trigger event is used to request the modification of information on an existing appointment, outside of the need to reschedule, cancel, discontinue or delete the appointment, or to add, modify, cancel, discontinue, or delete services and/or resources on the appointment. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the new information for the modified appointment.

type SRM_S03_Generalresource

type SRM_S03_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S03_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S03_Locationresource

type SRM_S03_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S03_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S03_Patient

type SRM_S03_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S03_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S03_Personnelresource

type SRM_S03_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S03_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S03_Resources

type SRM_S03_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S03_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S03_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S03_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S03_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S03_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S03_Service

type SRM_S03_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S03_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S04

type SRM_S04 struct {
	HL7       HL7Name             `hl7:",name=SRM_S04,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S04_Patient   `hl7:",display=Patient"`
	Resources []SRM_S04_Resources `hl7:",required,display=Resources"`
}

Request appointment cancellation

The request appointment cancellation trigger event is sent by the placer application to the filler application to request that an existing appointment be canceled. A cancel event is used to stop a valid appointment from occurring. For example, if a patient scheduled for an exam cancels his/her appointment, then a request to cancel the appointment is sent. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the canceled appointment.

This trigger event can be used to cancel a parent appointment, in which none of the children of the appointment have either begun or have been completed. Any child appointments that exist on the filler and placer applications should be considered canceled. If one or more child appointments have begun or have been completed, then this trigger event should not be used. Instead, the S05 (request appointment discontinuation) event should be used.

type SRM_S04_Generalresource

type SRM_S04_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S04_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S04_Locationresource

type SRM_S04_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S04_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S04_Patient

type SRM_S04_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S04_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S04_Personnelresource

type SRM_S04_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S04_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S04_Resources

type SRM_S04_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S04_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S04_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S04_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S04_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S04_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S04_Service

type SRM_S04_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S04_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S05

type SRM_S05 struct {
	HL7       HL7Name             `hl7:",name=SRM_S05,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S05_Patient   `hl7:",display=Patient"`
	Resources []SRM_S05_Resources `hl7:",required,display=Resources"`
}

Request appointment discontinuation

The request appointment discontinuation is sent by the placer application to the filler application to request that an appointment in progress be stopped, or that the remaining occurrences of a parent appointment not occur as scheduled. If none of the child appointments of a parent appointment have occurred, then a cancel trigger event should be sent instead. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the discontinued appointment.

type SRM_S05_Generalresource

type SRM_S05_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S05_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S05_Locationresource

type SRM_S05_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S05_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S05_Patient

type SRM_S05_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S05_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S05_Personnelresource

type SRM_S05_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S05_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S05_Resources

type SRM_S05_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S05_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S05_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S05_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S05_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S05_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S05_Service

type SRM_S05_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S05_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S06

type SRM_S06 struct {
	HL7       HL7Name             `hl7:",name=SRM_S06,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S06_Patient   `hl7:",display=Patient"`
	Resources []SRM_S06_Resources `hl7:",required,display=Resources"`
}

Request appointment deletion

A request appointment deletion is sent by the placer application to the filler application to request that an appointment that had been entered in error be removed from the system. A delete trigger event should only be used when an appointment has been erroneously requested, and must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from occurring. This trigger event should not be used for any appointment that has already begun, or has already been completed. Likewise, it should not be used on any parent appointment if any child appointments have either begun or been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the deleted appointment.

The delete trigger event should be implemented with careful forethought, as it typically has different effects and repercussions in various applications. In some applications, a delete event cannot be undone. This means that if a delete transaction was sent erroneously, recovery will be difficult or impossible. In other applications, a delete transaction will not result in the physical deletion of the record(s), but will set a status or a flag. In these cases, the filler and/or placer appointment identifiers (the numbers or codes that uniquely identify the scheduled appointment or request to the placer and filler applications) probably cannot be reused. Since these applications maintain a record of deleted appointments, the reuse of an identifier will likely cause a conflict in the applications' processing of transactions.

type SRM_S06_Generalresource

type SRM_S06_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S06_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S06_Locationresource

type SRM_S06_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S06_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S06_Patient

type SRM_S06_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S06_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S06_Personnelresource

type SRM_S06_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S06_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S06_Resources

type SRM_S06_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S06_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S06_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S06_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S06_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S06_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S06_Service

type SRM_S06_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S06_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S07

type SRM_S07 struct {
	HL7       HL7Name             `hl7:",name=SRM_S07,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S07_Patient   `hl7:",display=Patient"`
	Resources []SRM_S07_Resources `hl7:",required,display=Resources"`
}

Request addition of service/resource on appointment

The request addition of service/resource is triggered by the placer application to request that a new service or resource be added to an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment.

type SRM_S07_Generalresource

type SRM_S07_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S07_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S07_Locationresource

type SRM_S07_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S07_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S07_Patient

type SRM_S07_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S07_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S07_Personnelresource

type SRM_S07_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S07_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S07_Resources

type SRM_S07_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S07_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S07_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S07_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S07_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S07_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S07_Service

type SRM_S07_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S07_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S08

type SRM_S08 struct {
	HL7       HL7Name             `hl7:",name=SRM_S08,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S08_Patient   `hl7:",display=Patient"`
	Resources []SRM_S08_Resources `hl7:",required,display=Resources"`
}

Request modification of service/resource on appointment

The request modification of service/resource is triggered on the placer application to request that information pertaining to an existing service or resource be changed for an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment.

This trigger event should not be used when an existing resource or service must be replaced or rescheduled for an existing appointment. The following fields on the indicated segments should not be changed by this trigger event: the first three fields of the AIS, the first four fields of the AIG, the first four fields of the AIL, and the first four fields of the AIP. Instead, use two trigger events to accomplish the replacement or rescheduling of a service or resource: S09 (request cancellation of service/resource on appointment), as well as S07 (request addition of service/resource on appointment).

type SRM_S08_Generalresource

type SRM_S08_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S08_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S08_Locationresource

type SRM_S08_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S08_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S08_Patient

type SRM_S08_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S08_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S08_Personnelresource

type SRM_S08_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S08_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S08_Resources

type SRM_S08_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S08_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S08_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S08_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S08_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S08_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S08_Service

type SRM_S08_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S08_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S09

type SRM_S09 struct {
	HL7       HL7Name             `hl7:",name=SRM_S09,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S09_Patient   `hl7:",display=Patient"`
	Resources []SRM_S09_Resources `hl7:",required,display=Resources"`
}

Request cancellation of service/resource on appointment

This trigger event requests that a service or resource be removed from an existing scheduled appointment that has not yet begun. A cancel event is used to stop a valid service or resource from participating in the appointment. For example, if a portable X-ray machine scheduled for an exam is no longer needed, then the placer application requests that the resource be canceled on the filler application. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment.

type SRM_S09_Generalresource

type SRM_S09_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S09_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S09_Locationresource

type SRM_S09_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S09_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S09_Patient

type SRM_S09_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S09_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S09_Personnelresource

type SRM_S09_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S09_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S09_Resources

type SRM_S09_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S09_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S09_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S09_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S09_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S09_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S09_Service

type SRM_S09_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S09_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S10

type SRM_S10 struct {
	HL7       HL7Name             `hl7:",name=SRM_S10,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S10_Patient   `hl7:",display=Patient"`
	Resources []SRM_S10_Resources `hl7:",required,display=Resources"`
}

Request discontinuation of service/resource on appointment

A request discontinuation of service/resource is sent by the placer application to the filler application when the remaining occurrences of a recurring appointment no longer require a particular service or resource. In other words, this trigger event is sent to request that the performance of a service or resource in a recurring appointment that has already begun be stopped. If the first appointment in a set of recurring appointments has not yet occurred, then a cancel trigger event should be sent instead. This trigger event should only be used on appointments that have not been completed, or on parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment.

type SRM_S10_Generalresource

type SRM_S10_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S10_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S10_Locationresource

type SRM_S10_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S10_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S10_Patient

type SRM_S10_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S10_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S10_Personnelresource

type SRM_S10_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S10_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S10_Resources

type SRM_S10_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S10_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S10_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S10_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S10_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S10_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S10_Service

type SRM_S10_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S10_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRM_S11

type SRM_S11 struct {
	HL7       HL7Name             `hl7:",name=SRM_S11,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes And Comments"`
	Patient   []SRM_S11_Patient   `hl7:",display=Patient"`
	Resources []SRM_S11_Resources `hl7:",required,display=Resources"`
}

Request deletion of service/resource on appointment

A request deletion of service/resource is sent by the placer application to the filler application to request that a scheduled appointment requiring a service or resource entered in error be removed from the system. A delete trigger event should only be used when a service or resource has been erroneously attached to an appointment, and must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from occurring. This trigger event should only be used on appointments that have not been completed, or on parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment

type SRM_S11_Generalresource

type SRM_S11_Generalresource struct {
	HL7 HL7Name `hl7:",name=SRM_S11_Generalresource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

Generalresource

type SRM_S11_Locationresource

type SRM_S11_Locationresource struct {
	HL7 HL7Name `hl7:",name=SRM_S11_Locationresource,type=tg"`
	AIL *AIL    `hl7:"17,required,display=Appointment Information - Location Resource"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Locationresource

type SRM_S11_Patient

type SRM_S11_Patient struct {
	HL7 HL7Name `hl7:",name=SRM_S11_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"6,display=Patient Visit"`
	PV2 *PV2    `hl7:"7,display=Patient Visit - Additional Information"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRM_S11_Personnelresource

type SRM_S11_Personnelresource struct {
	HL7 HL7Name `hl7:",name=SRM_S11_Personnelresource,type=tg"`
	AIP *AIP    `hl7:"20,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"21,display=Appointment Preferences"`
	NTE []NTE   `hl7:"22,display=Notes And Comments"`
}

Personnelresource

type SRM_S11_Resources

type SRM_S11_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRM_S11_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRM_S11_Service           `hl7:",display=Service"`
	Generalresource   []SRM_S11_Generalresource   `hl7:",display=General_resource"`
	Locationresource  []SRM_S11_Locationresource  `hl7:",display=Location_resource"`
	Personnelresource []SRM_S11_Personnelresource `hl7:",display=Personnel_resource"`
}

Resources

type SRM_S11_Service

type SRM_S11_Service struct {
	HL7 HL7Name `hl7:",name=SRM_S11_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S01

type SRR_S01 struct {
	HL7      HL7Name           `hl7:",name=SRR_S01,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S01_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response

type SRR_S01_GeneralResource

type SRR_S01_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S01_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes And Comments"`
}

GeneralResource

type SRR_S01_LocationResource

type SRR_S01_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S01_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"16,display=Notes And Comments"`
}

LocationResource

type SRR_S01_Patient

type SRR_S01_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S01_Patient,type=tg"`
	PID *PID    `hl7:"6,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"7,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient

type SRR_S01_PersonnelResource

type SRR_S01_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S01_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes And Comments"`
}

PersonnelResource

type SRR_S01_Resources

type SRR_S01_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S01_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,required,display=Resource Group"`
	Service           []SRR_S01_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S01_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S01_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S01_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S01_Schedule

type SRR_S01_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S01_Schedule,type=tg"`
	TQ1       []TQ1               `hl7:"4,display=Timing/quantity"`
	NTE       []NTE               `hl7:"5,display=Notes And Comments"`
	Patient   []SRR_S01_Patient   `hl7:",display=Patient"`
	Resources []SRR_S01_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S01_Service

type SRR_S01_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S01_Service,type=tg"`
	AIS *AIS    `hl7:"11,required,display=Appointment Information"`
	NTE []NTE   `hl7:"12,display=Notes And Comments"`
}

Service

type SRR_S02

type SRR_S02 struct {
	HL7      HL7Name           `hl7:",name=SRR_S02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S02_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Appointment Rescheduling

A placer application uses this trigger event to request that an existing appointment be rescheduled. The new Requested Start Date and Time, Appointment Duration, Repeating Interval, Repeating Interval Duration, and/or Priority are provided in the ARQ segment, along with the existing placer and filler identification numbers. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the new information for the rescheduled appointment

type SRR_S02_GeneralResource

type SRR_S02_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S02_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S02_LocationResource

type SRR_S02_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S02_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S02_Patient

type SRR_S02_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S02_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S02_PersonnelResource

type SRR_S02_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S02_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S02_Resources

type SRR_S02_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S02_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S02_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S02_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S02_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S02_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S02_Schedule

type SRR_S02_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S02_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S02_Patient   `hl7:",display=Patient"`
	Resources []SRR_S02_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S02_Service

type SRR_S02_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S02_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S03

type SRR_S03 struct {
	HL7      HL7Name           `hl7:",name=SRR_S03,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S03_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Appointment Modification

This message transmits a request for modification of an existing appointment to a filler application. This trigger event is used to request the modification of information on an existing appointment, outside of the need to reschedule, cancel, discontinue or delete the appointment, or to add, modify, cancel, discontinue, or delete services and/or resources on the appointment. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the new information for the modified appointment

type SRR_S03_GeneralResource

type SRR_S03_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S03_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S03_LocationResource

type SRR_S03_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S03_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S03_Patient

type SRR_S03_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S03_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S03_PersonnelResource

type SRR_S03_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S03_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S03_Resources

type SRR_S03_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S03_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S03_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S03_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S03_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S03_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S03_Schedule

type SRR_S03_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S03_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S03_Patient   `hl7:",display=Patient"`
	Resources []SRR_S03_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S03_Service

type SRR_S03_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S03_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S04

type SRR_S04 struct {
	HL7      HL7Name           `hl7:",name=SRR_S04,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S04_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Appointment Cancellation

The request appointment cancellation trigger event is sent by the placer application to the filler application to request that an existing appointment be canceled. A cancel event is used to stop a valid appointment from occurring. For example, if a patient scheduled for an exam cancels his/her appointment, then a request to cancel the appointment is sent. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the canceled appointment

type SRR_S04_GeneralResource

type SRR_S04_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S04_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S04_LocationResource

type SRR_S04_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S04_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S04_Patient

type SRR_S04_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S04_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S04_PersonnelResource

type SRR_S04_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S04_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S04_Resources

type SRR_S04_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S04_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S04_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S04_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S04_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S04_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S04_Schedule

type SRR_S04_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S04_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S04_Patient   `hl7:",display=Patient"`
	Resources []SRR_S04_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S04_Service

type SRR_S04_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S04_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S05

type SRR_S05 struct {
	HL7      HL7Name           `hl7:",name=SRR_S05,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S05_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Appointment Discontinuation

The request appointment discontinuation is sent by the placer application to the filler application to request that an appointment in progress be stopped, or that the remaining occurrences of a parent appointment not occur as scheduled. If none of the child appointments of a parent appointment have occurred, then a cancel trigger event should be sent instead. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the discontinued appointment

type SRR_S05_GeneralResource

type SRR_S05_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S05_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S05_LocationResource

type SRR_S05_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S05_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S05_Patient

type SRR_S05_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S05_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S05_PersonnelResource

type SRR_S05_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S05_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S05_Resources

type SRR_S05_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S05_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S05_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S05_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S05_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S05_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S05_Schedule

type SRR_S05_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S05_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S05_Patient   `hl7:",display=Patient"`
	Resources []SRR_S05_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S05_Service

type SRR_S05_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S05_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S06

type SRR_S06 struct {
	HL7      HL7Name           `hl7:",name=SRR_S06,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S06_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Appointment Deletion

A request appointment deletion is sent by the placer application to the filler application to request that an appointment that had been entered in error be removed from the system. A delete trigger event should only be used when an appointment has been erroneously requested, and must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from occurring. This trigger event should not be used for any appointment that has already begun, or has already been completed. Likewise, it should not be used on any parent appointment if any child appointments have either begun or been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the deleted appointment

type SRR_S06_GeneralResource

type SRR_S06_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S06_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S06_LocationResource

type SRR_S06_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S06_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S06_Patient

type SRR_S06_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S06_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S06_PersonnelResource

type SRR_S06_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S06_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S06_Resources

type SRR_S06_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S06_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S06_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S06_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S06_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S06_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S06_Schedule

type SRR_S06_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S06_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S06_Patient   `hl7:",display=Patient"`
	Resources []SRR_S06_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S06_Service

type SRR_S06_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S06_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S07

type SRR_S07 struct {
	HL7      HL7Name           `hl7:",name=SRR_S07,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S07_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Addition of Service/Resource on Appointment

The request addition of service/resource is triggered by the placer application to request that a new service or resource be added to an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment

type SRR_S07_GeneralResource

type SRR_S07_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S07_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S07_LocationResource

type SRR_S07_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S07_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S07_Patient

type SRR_S07_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S07_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S07_PersonnelResource

type SRR_S07_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S07_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S07_Resources

type SRR_S07_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S07_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S07_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S07_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S07_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S07_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S07_Schedule

type SRR_S07_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S07_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S07_Patient   `hl7:",display=Patient"`
	Resources []SRR_S07_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S07_Service

type SRR_S07_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S07_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S08

type SRR_S08 struct {
	HL7      HL7Name           `hl7:",name=SRR_S08,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S08_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Modification of Service/Resource on Appointment

The request modification of service/resource is triggered on the placer application to request that information pertaining to an existing service or resource be changed for an existing appointment. Services and resources are represented by the AIS, AIG, AIL, and AIP segments on an HL7 scheduling interface transaction. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment

type SRR_S08_GeneralResource

type SRR_S08_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S08_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S08_LocationResource

type SRR_S08_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S08_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S08_Patient

type SRR_S08_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S08_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S08_PersonnelResource

type SRR_S08_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S08_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S08_Resources

type SRR_S08_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S08_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S08_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S08_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S08_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S08_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S08_Schedule

type SRR_S08_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S08_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S08_Patient   `hl7:",display=Patient"`
	Resources []SRR_S08_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S08_Service

type SRR_S08_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S08_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S09

type SRR_S09 struct {
	HL7      HL7Name           `hl7:",name=SRR_S09,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S09_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Cancellation of Service/Resource on Appointment

This trigger event requests that a service or resource be removed from an existing scheduled appointment that has not yet begun. A cancel event is used to stop a valid service or resource from participating in the appointment. For example, if a portable X-ray machine scheduled for an exam is no longer needed, then the placer application requests that the resource be canceled on the filler application. This trigger event should only be used for appointments that have not been completed, or for parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment

type SRR_S09_GeneralResource

type SRR_S09_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S09_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S09_LocationResource

type SRR_S09_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S09_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S09_Patient

type SRR_S09_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S09_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S09_PersonnelResource

type SRR_S09_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S09_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S09_Resources

type SRR_S09_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S09_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S09_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S09_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S09_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S09_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S09_Schedule

type SRR_S09_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S09_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S09_Patient   `hl7:",display=Patient"`
	Resources []SRR_S09_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S09_Service

type SRR_S09_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S09_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S10

type SRR_S10 struct {
	HL7      HL7Name           `hl7:",name=SRR_S10,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S10_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Discontinuation of Service/Resource on Appointment

A request discontinuation of service/resource is sent by the placer application to the filler application when the remaining occurrences of a recurring appointment no longer require a particular service or resource. In other words, this trigger event is sent to request that the performance of a service or resource in a recurring appointment that has already begun be stopped. If the first appointment in a set of recurring appointments has not yet occurred, then a cancel trigger event should be sent instead. This trigger event should only be used on appointments that have not been completed, or on parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment

type SRR_S10_GeneralResource

type SRR_S10_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S10_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S10_LocationResource

type SRR_S10_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S10_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S10_Patient

type SRR_S10_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S10_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S10_PersonnelResource

type SRR_S10_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S10_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S10_Resources

type SRR_S10_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S10_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S10_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S10_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S10_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S10_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S10_Schedule

type SRR_S10_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S10_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S10_Patient   `hl7:",display=Patient"`
	Resources []SRR_S10_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S10_Service

type SRR_S10_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S10_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRR_S11

type SRR_S11 struct {
	HL7      HL7Name           `hl7:",name=SRR_S11,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message Header"`
	MSA      *MSA              `hl7:"2,required,display=Message Acknowledgment"`
	ERR      []ERR             `hl7:"3,display=Error"`
	Schedule *SRR_S11_Schedule `hl7:",display=Schedule"`
}

Scheduled Request Response - Request Deletion of Service/Resource on Appointment

A request deletion of service/resource is sent by the placer application to the filler application to request that a scheduled appointment requiring a service or resource entered in error be removed from the system. A delete trigger event should only be used when a service or resource has been erroneously attached to an appointment, and must be removed from the schedule so that it does not affect any statistical processing. A delete trigger event differs from a cancel trigger event in that a delete acts to remove an error, whereas a cancel acts to prevent a valid request from occurring. This trigger event should only be used on appointments that have not been completed, or on parent appointments whose children have not been completed. If it is successful, an application acknowledgment is returned, optionally containing an SCH segment and related detail segments describing the modified appointment

type SRR_S11_GeneralResource

type SRR_S11_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SRR_S11_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes And Comments"`
}

GeneralResource

type SRR_S11_LocationResource

type SRR_S11_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S11_LocationResource,type=tg"`
	AIL *AIL    `hl7:"16,required,display=Appointment Information - Location Resource"`
	NTE []NTE   `hl7:"17,display=Notes And Comments"`
}

LocationResource

type SRR_S11_Patient

type SRR_S11_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S11_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"8,display=Patient Visit"`
	PV2 *PV2    `hl7:"9,display=Patient Visit - Additional Information"`
	DG1 []DG1   `hl7:"10,display=Diagnosis"`
}

Patient

type SRR_S11_PersonnelResource

type SRR_S11_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S11_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"18,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

PersonnelResource

type SRR_S11_Resources

type SRR_S11_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S11_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SRR_S11_Service           `hl7:",display=Service"`
	GeneralResource   []SRR_S11_GeneralResource   `hl7:",display=General Resource"`
	LocationResource  []SRR_S11_LocationResource  `hl7:",display=Location Resource"`
	PersonnelResource []SRR_S11_PersonnelResource `hl7:",display=Personnel Resource"`
}

Resources

type SRR_S11_Schedule

type SRR_S11_Schedule struct {
	HL7       HL7Name             `hl7:",name=SRR_S11_Schedule,type=tg"`
	SCH       *SCH                `hl7:"4,required,display=Scheduling Activity Information"`
	TQ1       []TQ1               `hl7:"5,display=Timing/quantity"`
	NTE       []NTE               `hl7:"6,display=Notes And Comments"`
	Patient   []SRR_S11_Patient   `hl7:",display=Patient"`
	Resources []SRR_S11_Resources `hl7:",required,display=Resources"`
}

Schedule

type SRR_S11_Service

type SRR_S11_Service struct {
	HL7 HL7Name `hl7:",name=SRR_S11_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information"`
	NTE []NTE   `hl7:"13,display=Notes And Comments"`
}

Service

type SRT

type SRT struct {
	HL7         HL7Name `hl7:",name=SRT,len=0,type=d"`
	SortByField ST      `` /* 341-byte string literal not displayed */
	Sequencing  ID      `` /* 221-byte string literal not displayed */
}

Sort Order

Specifies those parameters by which the response will be sorted and by what method.

Example: In a tabular response query, where the return data is known by column name, the SRT might look like: |LastName^A~FirstName^A|

Example: In a segment response query, where the return data is known by segment and offset, the SRT field would use segment field name notation: |PID.3.1^A~PID.3.2|

type SSR_U04

type SSR_U04 struct {
	HL7               HL7Name                     `hl7:",name=SSR_U04,type=t"`
	MSH               *MSH                        `hl7:"1,required,display=Message Header"`
	SFT               []SFT                       `hl7:"2,display=Software Segment"`
	UAC               *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	EQU               *EQU                        `hl7:"4,required,display=Equipment Detail"`
	Specimencontainer []SSR_U04_Specimencontainer `hl7:",required,display=Specimen_container"`
	ROL               *ROL                        `hl7:"7,display=Role"`
}

Specimen status request

This message is used to request information concerning the location and status of specimens from one application to another (e.g., Laboratory Automation System to automated equipment). The request can be addressed for a specific container, a specific carrier, a specific tray or a specific location, depending on the arguments set in the SAC segment. The equipment specified in the EQU segment should respond with the "Specimen Status Update."

type SSR_U04_Specimencontainer

type SSR_U04_Specimencontainer struct {
	HL7 HL7Name `hl7:",name=SSR_U04_Specimencontainer,type=tg"`
	SAC *SAC    `hl7:"5,required,display=Specimen Container Detail"`
	SPM []SPM   `hl7:"6,display=Specimen"`
}

Specimencontainer

type SSU_U03

type SSU_U03 struct {
	HL7               HL7Name                     `hl7:",name=SSU_U03,type=t"`
	MSH               *MSH                        `hl7:"1,required,display=Message Header"`
	SFT               []SFT                       `hl7:"2,display=Software Segment"`
	UAC               *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	EQU               *EQU                        `hl7:"4,required,display=Equipment Detail"`
	Specimencontainer []SSU_U03_Specimencontainer `hl7:",required,display=Specimen_container"`
	ROL               *ROL                        `hl7:"9,display=Role"`
}

Specimen status update

This message is used to send information concerning the location and status of specimens from one application to another (e.g., automated equipment to a Laboratory Automation System). The OBX segments attached to the SAC should be used for transfer of information not included in the SAC segment.

type SSU_U03_Specimen

type SSU_U03_Specimen struct {
	HL7 HL7Name `hl7:",name=SSU_U03_Specimen,type=tg"`
	SPM *SPM    `hl7:"7,required,display=Specimen"`
	OBX []OBX   `hl7:"8,display=Observation/result"`
}

Specimen

type SSU_U03_Specimencontainer

type SSU_U03_Specimencontainer struct {
	HL7      HL7Name            `hl7:",name=SSU_U03_Specimencontainer,type=tg"`
	SAC      *SAC               `hl7:"5,required,display=Specimen Container Detail"`
	OBX      []OBX              `hl7:"6,display=Observation/result"`
	Specimen []SSU_U03_Specimen `hl7:",display=Specimen"`
}

Specimencontainer

type ST

type ST = string

String Data

The String data type is used for text data when the appearance of text does not bear meaning. This is true for formalized text, symbols and formal expressions, and all kinds of names intended for machine processing (e.g., sorting, querying, indexing, etc.).

String data is left justified (i.e., no leading blank space) with trailing blanks optional. Any displayable (printable) ACSII characters (hexadecimal values between 20 and 7E, inclusive, or ASCII decimal values between 32 and 126), except the defined escape characters and defined delimiter characters.

Example 1: A textual ST field: |almost any data at all|

To include any HL7 delimiter character (except the segment terminator) within a string data field, use the appropriate HL7 escape sequence (see Section 2.7.1, "Formatting Codes”).

ST has no inbuilt semantics – these are assigned where the ST is used. In each case where ST is used, minimum, maximum, and conformance lengths may be specified. Unless specified in the context of use, values of type ST may not be truncated.

Usage note: The ST data type is intended for short strings (e.g., less than 1000 characters). For longer strings the TX or FT data types should be used (see Sections 2.A.79, “TX - text data” or 2.A.31, “FT - formatted text data”).

Alternate character set note: ST - string data may also be used to express other character sets. See Section 2.15.9.18, "Character set," and Section 2.15.9.20, "Alternate character set handling" for details.

type STC_S33

type STC_S33 struct {
	HL7 HL7Name `hl7:",name=STC_S33,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SCP []SCP   `hl7:"4,required,display=Sterilizer Configuration (anti-microbial Devices)"`
}

Notification of sterilization configuration

This message is sent from a filler application to notify other applications of a new sterilization configuration. The information in the STC segment describes the detail of the new sterilization configuration.

type STF

type STF struct {
	HL7                             HL7Name `hl7:",name=STF,type=s"`
	PrimaryKeyValue                 *CWE    `hl7:"1,conditional,table=9999,display=Primary Key Value - Stf"`
	StaffIdentifierList             []CX    `hl7:"2,display=Staff Identifier List"`
	StaffName                       []XPN   `hl7:"3,display=Staff Name"`
	StaffType                       []CWE   `hl7:"4,table=0182,display=Staff Type"`
	AdministrativeSex               *CWE    `hl7:"5,table=0001,display=Administrative Sex"`
	DateTimeOfBirth                 DTM     `hl7:"6,format=YMDHM,display=Date/Time Of Birth"`
	ActiveInactiveFlag              ID      `hl7:"7,len=1,table=0183,display=Active/Inactive Flag"`
	Department                      []CWE   `hl7:"8,table=0184,display=Department"`
	HospitalService                 []CWE   `hl7:"9,table=0069,display=Hospital Service - Stf"`
	Phone                           []XTN   `hl7:"10,display=Phone"`
	OfficeHomeAddressBirthplace     []XAD   `hl7:"11,display=Office/Home Address/Birthplace"`
	InstitutionActivationDate       []DIN   `hl7:"12,display=Institution Activation Date"`
	InstitutionInactivationDate     []DIN   `hl7:"13,display=Institution Inactivation Date"`
	BackupPersonID                  []CWE   `hl7:"14,display=Backup Person Id"`
	EMailAddress                    []ST    `hl7:"15,display=E-mail Address"`
	PreferredMethodOfContact        *CWE    `hl7:"16,table=0185,display=Preferred Method Of Contact"`
	MaritalStatus                   *CWE    `hl7:"17,table=0002,display=Marital Status"`
	JobTitle                        ST      `hl7:"18,display=Job Title"`
	JobCodeClass                    *JCC    `hl7:"19,display=Job Code/Class"`
	EmploymentStatusCode            *CWE    `hl7:"20,table=0066,display=Employment Status Code"`
	AdditionalInsuredOnAuto         ID      `hl7:"21,len=1,table=0136,display=Additional Insured On Auto"`
	DriversLicenseNumberStaff       *DLN    `hl7:"22,display=Driver's License Number - Staff"`
	CopyAutoIns                     ID      `hl7:"23,len=1,table=0136,display=Copy Auto Ins"`
	AutoInsExpires                  DT      `hl7:"24,format=YMD,display=Auto Ins Expires"`
	DateLastDmvReview               DT      `hl7:"25,format=YMD,display=Date Last Dmv Review"`
	DateNextDmvReview               DT      `hl7:"26,format=YMD,display=Date Next Dmv Review"`
	Race                            *CWE    `hl7:"27,table=0005,display=Race"`
	EthnicGroup                     *CWE    `hl7:"28,table=0189,display=Ethnic Group"`
	ReActivationApprovalIndicator   ID      `hl7:"29,len=1,table=0136,display=Re-activation Approval Indicator"`
	Citizenship                     []CWE   `hl7:"30,table=0171,display=Citizenship"`
	DateTimeOfDeath                 DTM     `hl7:"31,format=YMDHM,display=Date/Time Of Death"`
	DeathIndicator                  ID      `hl7:"32,len=1,table=0136,display=Death Indicator"`
	InstitutionRelationshipTypeCode *CWE    `hl7:"33,table=0538,display=Institution Relationship Type Code"`
	InstitutionRelationshipPeriod   *DR     `hl7:"34,display=Institution Relationship Period"`
	ExpectedReturnDate              DT      `hl7:"35,format=YMD,display=Expected Return Date"`
	CostCenterCode                  []CWE   `hl7:"36,table=0539,display=Cost Center Code"`
	GenericClassificationIndicator  ID      `hl7:"37,len=1,table=0136,display=Generic Classification Indicator"`
	InactiveReasonCode              *CWE    `hl7:"38,table=0540,display=Inactive Reason Code"`
	GenericResourceTypeOrCategory   []CWE   `hl7:"39,table=0771,display=Generic Resource Type Or Category"`
	Religion                        *CWE    `hl7:"40,table=0006,display=Religion"`
	Signature                       *ED     `hl7:"41,display=Signature"`
}

Staff Identification

The Technical Steward for the STF segment is PA and Personnel Management.

The STF segment can identify any personnel referenced by information systems. These can be providers, staff, system users, and referring agents. In a network environment, this segment can be used to define personnel to other applications, for example, order entry clerks, insurance verification clerks, admission clerks, as well as provider demographics. When using the STF and PRA segments in the Staff/Practitioner Master File message, MFE-4-primary key value is used to link all the segments pertaining to the same master file entry. Therefore, in the MFE segment, MFE-4-primary key value must be filled in. Other segments may follow the STF segment to provide data for a particular type of staff member. The PRA segment (practitioner) is one such. It may optionally follow the STF segment in order to add practitioner-specific data. Other segments may be defined as needed. When using the segments included in this chapter for other then Staff/Practitioner Master File messages, disregard references to MFE-4 - primary key value.

type STI_S30

type STI_S30 struct {
	HL7 HL7Name `hl7:",name=STI_S30,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	SLT []SLT   `hl7:"4,required,display=Sterilization Lot"`
}

Request item

A request item is sent by the placer application to the filler application to request the ID and description of an item to be sterilized or decontaminated. If it is successful, the filler application returns an application acknowledgment (if requested under the enhanced acknowledgment mode, or if the original acknowledgment mode is in use).

type STZ

type STZ struct {
	HL7                HL7Name `hl7:",name=STZ,type=s"`
	SterilizationType  *CWE    `hl7:"1,table=0806,display=Sterilization Type"`
	SterilizationCycle *CWE    `hl7:"2,table=0702,display=Sterilization Cycle"`
	MaintenanceCycle   *CWE    `hl7:"3,table=0809,display=Maintenance Cycle"`
	MaintenanceType    *CWE    `hl7:"4,table=0811,display=Maintenance Type"`
}

Sterilization Parameter

The STZ segment contains sterilization-specific attributes of a supply item.

type TCC

type TCC struct {
	HL7                                   HL7Name `hl7:",name=TCC,type=s"`
	UniversalServiceIdentifier            CWE     `hl7:"1,required,display=Universal Service Identifier"`
	EquipmentTestApplicationIdentifier    EI      `hl7:"2,required,display=Equipment Test Application Identifier"`
	SpecimenSource                        ST      `hl7:"3,display=Specimen Source"`
	AutoDilutionFactorDefault             *SN     `hl7:"4,display=Auto-dilution Factor Default"`
	RerunDilutionFactorDefault            *SN     `hl7:"5,display=Rerun Dilution Factor Default"`
	PreDilutionFactorDefault              *SN     `hl7:"6,display=Pre-dilution Factor Default"`
	EndogenousContentOfPreDilutionDiluent *SN     `hl7:"7,display=Endogenous Content Of Pre-dilution Diluent"`
	InventoryLimitsWarningLevel           NM      `hl7:"8,display=Inventory Limits Warning Level"`
	AutomaticRerunAllowed                 ID      `hl7:"9,len=1,table=0136,display=Automatic Rerun Allowed"`
	AutomaticRepeatAllowed                ID      `hl7:"10,len=1,table=0136,display=Automatic Repeat Allowed"`
	AutomaticReflexAllowed                ID      `hl7:"11,len=1,table=0136,display=Automatic Reflex Allowed"`
	EquipmentDynamicRange                 *SN     `hl7:"12,display=Equipment Dynamic Range"`
	Units                                 *CWE    `hl7:"13,table=9999,display=Units"`
	ProcessingType                        *CWE    `hl7:"14,table=0388,display=Processing Type"`
}

Test Code Configuration

The test (e.g., analyte) code configuration segment is the data necessary to maintain and transmit information concerning the test entity codes that are being used throughout the "automated system."

type TCD

type TCD struct {
	HL7                                   HL7Name `hl7:",name=TCD,type=s"`
	UniversalServiceIdentifier            CWE     `hl7:"1,required,display=Universal Service Identifier"`
	AutoDilutionFactor                    *SN     `hl7:"2,display=Auto-dilution Factor"`
	RerunDilutionFactor                   *SN     `hl7:"3,display=Rerun Dilution Factor"`
	PreDilutionFactor                     *SN     `hl7:"4,display=Pre-dilution Factor"`
	EndogenousContentOfPreDilutionDiluent *SN     `hl7:"5,display=Endogenous Content Of Pre-dilution Diluent"`
	AutomaticRepeatAllowed                ID      `hl7:"6,len=1,table=0136,display=Automatic Repeat Allowed"`
	ReflexAllowed                         ID      `hl7:"7,len=1,table=0136,display=Reflex Allowed"`
	AnalyteRepeatStatus                   *CWE    `hl7:"8,table=0389,display=Analyte Repeat Status"`
}

Test Code Detail

The test code detail segment contains the data necessary to perform operations or calculations, or execute decisions by the laboratory automation system, and which are not supported by the original HL7 segments related to orders (ORC, OBR). For detail of use see messages of laboratory orders and observations in chapters 4 and 7.

type TCR_U11

type TCR_U11 struct {
	HL7               HL7Name                     `hl7:",name=TCR_U11,type=t"`
	MSH               *MSH                        `hl7:"1,required,display=Message Header"`
	SFT               []SFT                       `hl7:"2,display=Software Segment"`
	UAC               *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	EQU               *EQU                        `hl7:"4,required,display=Equipment Detail"`
	Testconfiguration []TCR_U11_Testconfiguration `hl7:",required,display=Test_configuration"`
	ROL               *ROL                        `hl7:"7,display=Role"`
}

Automated equipment test code settings request

This message is used to request information concerning test codes from one application to another (e.g., Laboratory Automation System to automated equipment).

type TCR_U11_Testconfiguration

type TCR_U11_Testconfiguration struct {
	HL7 HL7Name `hl7:",name=TCR_U11_Testconfiguration,type=tg"`
	SPM *SPM    `hl7:"5,display=Specimen"`
	TCC []TCC   `hl7:"6,required,display=Test Code Configuration"`
}

Testconfiguration

type TCU_U10

type TCU_U10 struct {
	HL7               HL7Name                     `hl7:",name=TCU_U10,type=t"`
	MSH               *MSH                        `hl7:"1,required,display=Message Header"`
	SFT               []SFT                       `hl7:"2,display=Software Segment"`
	UAC               *UAC                        `hl7:"3,display=User Authentication Credential Segment"`
	EQU               *EQU                        `hl7:"4,required,display=Equipment Detail"`
	Testconfiguration []TCU_U10_Testconfiguration `hl7:",required,display=Test_configuration"`
	ROL               *ROL                        `hl7:"7,display=Role"`
}

Automated equipment test code settings update

This message is used to send information concerning test codes and parameters from one application to another (e.g., automated equipment to a Laboratory Automation System). This message transfers the current snapshot of the test parameters of the sending system. The sent parameter sets are supposed to replace the parameter sets existing at the receiver of this message before the trigger (there is no selective "Add" or "Delete").

type TCU_U10_Testconfiguration

type TCU_U10_Testconfiguration struct {
	HL7 HL7Name `hl7:",name=TCU_U10_Testconfiguration,type=tg"`
	SPM *SPM    `hl7:"5,display=Specimen"`
	TCC []TCC   `hl7:"6,required,display=Test Code Configuration"`
}

Testconfiguration

type TM

type TM = time.Time

Time

Specifies the hour of the day with optional minutes, seconds, fraction of second using a 24-hour clock notation and time zone.

As of v 2.3, the number of characters populated (excluding the time zone specification) specifies the precision.

Format: HH[MM[SS[.S[S[S[S]]]]]]+/-ZZZZ

Example: |0630| specifies 6: 30 AM.

The fractional seconds could be sent by a transmitter who requires greater precision than whole seconds. Fractional representations of minutes, hours or other higher-order units of time are not permitted.

Note: The time zone +/-ZZZZ, when used, is restricted to legally-defined time zones and is represented in HHMM format.

Prior to v 2.3, this data type was specified in the format HHMM[SS[.SSSS]]+/-ZZZZ. As of v 2.3 minutes are no longer required. By site-specific agreement, HHMM[SS[.SSSS]]+/-ZZZZ may be used where backward compatibility must be maintained.This corresponds a minimum length of 4.

The TM data type does not follow the normal truncation pattern, and the truncation character is never valid in the TM data type. Instead, the truncation behavior is based on the semantics of times.

Unless otherwise specified in the context where the DTM type is used, the DTM type may be truncated to a particular minute. When a TM is truncated, the truncated form SHALL still be a valid TM type. Refer to Chapter 2, section 2.5.5.2, "Truncation Pattern", for further information.

type TQ1

type TQ1 struct {
	HL7                  HL7Name `hl7:",name=TQ1,type=s"`
	SetID                SI      `hl7:"1,seq,len=4,display=Set Id - Tq1"`
	Quantity             *CQ     `hl7:"2,display=Quantity"`
	RepeatPattern        []RPT   `hl7:"3,display=Repeat Pattern"`
	ExplicitTime         []TM    `hl7:"4,format=HM,display=Explicit Time"`
	RelativeTimeAndUnits []CQ    `hl7:"5,display=Relative Time And Units"`
	ServiceDuration      *CQ     `hl7:"6,display=Service Duration"`
	StartDateTime        DTM     `hl7:"7,format=YMDHM,display=Start Date/Time"`
	EndDateTime          DTM     `hl7:"8,format=YMDHM,display=End Date/Time"`
	Priority             []CWE   `hl7:"9,table=0485,display=Priority"`
	ConditionText        TX      `hl7:"10,display=Condition Text"`
	TextInstruction      TX      `hl7:"11,display=Text Instruction"`
	Conjunction          ID      `hl7:"12,conditional,len=1,table=0472,display=Conjunction"`
	OccurrenceDuration   *CQ     `hl7:"13,display=Occurrence Duration"`
	TotalOccurrences     NM      `hl7:"14,display=Total Occurrences"`
}

Timing/quantity

The TQ1 segment is used to specify the complex timing of events and actions such as those that occur in order management and scheduling systems. This segment determines the quantity, frequency, priority and timing of a service. By allowing the segment to repeat, it is possible to have service requests that vary the quantity, frequency and priority of a service request over time.

Use cases showing when TQ1 may need to repeat: a) Cardiac enzymes STAT and then q 4 hours. b) Streptokinase studies, draw 1st Stat and run Stat, then draw q 4 hours and run Stat. c) Gentamicin 100mg Now and 80mg q12h second dose (First 80mg dose) given exactly 12 hours after the 100mg dose. (Might be 2 service requests.) Activase 15mg bolus Stat then 50mg over 30 minutes, then 35mg over the next 60 minutes. (Might be 2 service requests.) e) Imodium 4mg (2 caps) po initially, then 2mg (1cap) after each unformed stool to a maximum of 16 mg per day. (Might be 2 service requests.) f) Zithromax 500mg (2tabs) po on the first day then 250mg (1tab) po qd for 5 days. (Might be 2 service requests.) g) Zyban (Bupropion) Start 150mg po qam x 3 days, then increase to 150mg po bid for 7 to 12 weeks. h) Colchicine 1mg (2 tabs) po now then 1 tablet q1 to 2 hours until pain relief or undesirable side effects (Diarrhea, GI upset). (Might be 2 service requests.) i) doxycylcine 100mg po bid on the first day then 100mg po qd. j) scopolamine, xxx mg, 1 hour before surgery. Relative time = -1^hour, priority = P (preop), or alternately repeat pattern = P1H^Preop, 1 Hour before Surgery^99LocalCode, Relative time would be empty and priority would be P (preop).

type TQ2

type TQ2 struct {
	HL7                               HL7Name `hl7:",name=TQ2,type=s"`
	SetID                             SI      `hl7:"1,seq,len=4,display=Set Id - Tq2"`
	SequenceResultsFlag               ID      `hl7:"2,len=1,table=0503,display=Sequence/Results Flag"`
	RelatedPlacerNumber               []EI    `hl7:"3,conditional,display=Related Placer Number"`
	RelatedFillerNumber               []EI    `hl7:"4,conditional,display=Related Filler Number"`
	RelatedPlacerGroupNumber          []EI    `hl7:"5,conditional,display=Related Placer Group Number"`
	SequenceConditionCode             ID      `hl7:"6,conditional,table=0504,display=Sequence Condition Code"`
	CyclicEntryExitIndicator          ID      `hl7:"7,conditional,len=1,table=0505,display=Cyclic Entry/Exit Indicator"`
	SequenceConditionTimeInterval     *CQ     `hl7:"8,display=Sequence Condition Time Interval"`
	CyclicGroupMaximumNumberOfRepeats NM      `hl7:"9,display=Cyclic Group Maximum Number Of Repeats"`
	SpecialServiceRequestRelationship ID      `hl7:"10,conditional,len=1,table=0506,display=Special Service Request Relationship"`
}

Timing/quantity Relationship

The TQ2 segment is used to form a relationship between the service request the TQ1/TQ2 segments are associated with, and other service requests. The TQ2 segment will link the current service request with one or more other service requests.

There are many situations, such as the creation of a service request for a group of intravenous (IV) solutions, where the sequence of the individual intravenous solutions (each a service in itself) needs to be specified, e.g., hyperalimentation with multi-vitamins in every third bottle.

There are other situations where part of the service request's instructions contains a results condition of some type, such as "PRN pain." There is currently a free text "condition" field of TQ1-10 - Condition text which allows any condition to be specified. However, to support a fully encoded version of service request sequencing, or results condition, the TQ2, Timing/Quantity Relationship segment has been defined.

TQ2 Usage notes: a) Cyclic placer service request groups To implement a cyclic group of four IV service requests using the parent/child paradigm, the parent specifies a custom group of IVs, and the following occurs: - TQ2 of the second child service request specifies that it follow the first child service request. - TQ2 of the third child service request specifies that it follow the second child service request. - TQ2 of the fourth child service request specifies that it follow the third service request. To repeat the group of four child service requests in a cyclic manner, the following occurs: - TQ2 of the first child service request specifies that it is to be executed once without any dependence on the completion of other service requests. Its second execution follows the completion of the fourth service request. See example in Section 4A.5.2 RXO segment field examples. This scheme allows the following to be tracked: - The status of the whole group of service requests to be reported back at the level of the parent service request. - The status for each individual IV service request by following the status of the corresponding child service request. Separate Service requests example: - The same group of service requests can be sent as a group of four service requests (without a common parent), linked only by the data in their quantity/timing fields. In this case, there is no convenient HL7 method of transmitting the service request status of the group as a whole without transmitting the status of each of the four separate service requests.

b) Inheritance of service request status Cancellation/discontinuation/hold service request control events: - This logic implies the normal execution of the referenced predecessor service request. Thus a cancel (or discontinuation or hold) of a predecessor service request implies the cancellation (or discontinuation or hold) of all subsequent service requests in the chain. - If the referenced service request has been canceled (or discontinued or held), the current service request inherits that same status. - In the case of hold, the removal of the hold of the predecessor implies a removal of the hold for the given service request (which can then be executed according to the specification in the TQ2 segment).

type TX

type TX = string

Text Data

String data meant for user display (on a terminal or printer). Such data would not necessarily be left justified since leading spaces may contribute greatly to the clarity of the presentation to the user. Because this type of data is intended for display, it may contain certain escape character sequences designed to control the display. Escape sequence formatting is defined in Section 2.7, "Use of escape sequences in text fields". Leading spaces should be included. Trailing spaces should be removed.

Example: | leading spaces are allowed.|

Since TX data is intended for display purposes, the repeat delimiter, when used with a TX data field, implies a series of repeating lines to be displayed on a printer or terminal. Therefore, the repeat delimiters are regarded as paragraph terminators or hard carriage returns (e.g., they would display as though a CR/LF were inserted in the text (DOS type system) or as though a LF were inserted into the text (UNIX style system)).

A receiving system would word wrap the text between repeat delimiters in order to fit it into an arbitrarily sized display window but start any line beginning with a repeat delimiter on a new line.

To include alternative character sets, use the appropriate escape sequence. See Chapter 2, section 2.14.9.18, "MSH-18 - Character Set" and section 2.14.9.20, "MSH-20 - Alternate Character Set Handling Scheme".

This specification applies no limit to the length of the TX data type, either here where the data type is defined, or elsewhere where the data type is used. While there is no intrinsic reason to limit the length of this data type for semantic or syntactical reasons, it is expected that some sort of limitation will be imposed for technical reasons in implementations. HL7 recommends that implementation length limits be published in implementation profiles.

type TXA

type TXA struct {
	HL7                                      HL7Name `hl7:",name=TXA,type=s"`
	SetID                                    SI      `hl7:"1,seq,required,len=4,display=Set Id- Txa"`
	DocumentType                             CWE     `hl7:"2,required,table=0270,display=Document Type"`
	DocumentContentPresentation              ID      `hl7:"3,conditional,table=0191,display=Document Content Presentation"`
	ActivityDateTime                         DTM     `hl7:"4,format=YMDHM,display=Activity Date/Time"`
	PrimaryActivityProviderCodeName          []XCN   `hl7:"5,conditional,display=Primary Activity Provider Code/Name"`
	OriginationDateTime                      DTM     `hl7:"6,format=YMDHM,display=Origination Date/Time"`
	TranscriptionDateTime                    DTM     `hl7:"7,conditional,format=YMDHM,display=Transcription Date/Time"`
	EditDateTime                             []DTM   `hl7:"8,format=YMDHM,display=Edit Date/Time"`
	OriginatorCodeName                       []XCN   `hl7:"9,display=Originator Code/Name"`
	AssignedDocumentAuthenticator            []XCN   `hl7:"10,display=Assigned Document Authenticator"`
	TranscriptionistCodeName                 []XCN   `hl7:"11,conditional,display=Transcriptionist Code/Name"`
	UniqueDocumentNumber                     EI      `hl7:"12,required,display=Unique Document Number"`
	ParentDocumentNumber                     *EI     `hl7:"13,conditional,display=Parent Document Number"`
	PlacerOrderNumber                        []EI    `hl7:"14,display=Placer Order Number"`
	FillerOrderNumber                        *EI     `hl7:"15,display=Filler Order Number"`
	UniqueDocumentFileName                   ST      `hl7:"16,display=Unique Document File Name"`
	DocumentCompletionStatus                 ID      `hl7:"17,required,len=2,table=0271,display=Document Completion Status"`
	DocumentConfidentialityStatus            ID      `hl7:"18,len=1,table=0272,display=Document Confidentiality Status"`
	DocumentAvailabilityStatus               ID      `hl7:"19,len=2,table=0273,display=Document Availability Status"`
	DocumentStorageStatus                    ID      `hl7:"20,len=2,table=0275,display=Document Storage Status"`
	DocumentChangeReason                     ST      `hl7:"21,display=Document Change Reason"`
	AuthenticationPersonTimeStampSet         []PPN   `hl7:"22,conditional,display=Authentication Person- Time Stamp (set)"`
	DistributedCopiesCodeAndNameOfRecipientS []XCN   `hl7:"23,display=Distributed Copies (code And Name Of Recipient(s) )"`
	FolderAssignment                         []CWE   `hl7:"24,display=Folder Assignment"`
	DocumentTitle                            []ST    `hl7:"25,display=Document Title"`
	AgreedDueDateTime                        DTM     `hl7:"26,format=YMDHM,display=Agreed Due Date/Time"`
}

Transcription Document Header

The TXA segment contains information specific to a transcribed document but does not include the text of the document. The message is created as a result of a document status change. This information updates other healthcare systems and allows them to identify reports that are available in the transcription system. By maintaining the TXA message information in these systems, the information is available when constructing queries to the transcription system requesting the full document text.

type Table

type Table struct {
	ID   string
	Name string
	Row  []Row
}

Table of data.

type UAC

type UAC struct {
	HL7                                  HL7Name `hl7:",name=UAC,type=s"`
	UserAuthenticationCredentialTypeCode CWE     `hl7:"1,required,table=0615,display=User Authentication Credential Type Code"`
	UserAuthenticationCredential         ED      `hl7:"2,required,display=User Authentication Credential"`
}

User Authentication Credential Segment

This optional segment provides user authentication credentials, a Kerberos Service Ticket or SAML assertion, to be used by the receiving system to obtain user identification data. Refer to HL7 Table 0615 - User Authentication Credential Type Code. It is to be used in when the receiving application system requires the sending system to provide end-user identification for accountability or access control in interactive applications. Since user authentication implementations often limit the time period for validity of the session authentication credentials, this segment is not intended for use in non-interactive applications.

It is possible that various user authentication credential standards' data may be communicated. Kerberos and SAML are two such standards. A user authentication credential is an encapsulated data (ED type) element, as defined by standards, with no HL7-relevant structure.

Note: The UAC segment is defined for use within simple protocols, such as MLLP, that do not have user authentication semantics. Implementations that use WSDL/SOAP, or similar protocols, to envelope HL7 should employ the user authentication semantics and data structures available within the scope of those protocols rather than the UAC segment.

If the receiving system accepts the user credentials in the UAC segment, no specific acknowledgement is required. However, if the receiving system detects an error while processing the UAC segment, its acknowledgment message shall report it to the sender via an MSA and ERR segment pair: - The ERR-3 (error code) field value is 207 to signify an application error - The ERR-7 (diagnostic information) field reports the specific error. Examples of possible errors are: - User credentials expected but not provided - User credentials invalid - User credentials expired - User credentials from an unknown or untrusted source - User unknown - User not allowed to create or access data on the receiving system. - User not allowed to initiate a processing function on the receiving system.

When an MSA and ERR segment pair is reported to the sender, an application data response shall not occur. In such cases it is correct to assume that the sending application's user is not authorized to get the data.

The processing rules for the ERR segment are outside of HL7's scope.

type UB1

type UB1 struct {
	HL7                     HL7Name `hl7:",name=UB1,type=s"`
	SetID                   SI      `hl7:"1,seq,display=Set Id - Ub1"`
	BloodDeductible         ST      `hl7:"2,display=Blood Deductible"`
	BloodFurnishedPints     ST      `hl7:"3,display=Blood Furnished-pints"`
	BloodReplacedPints      ST      `hl7:"4,display=Blood Replaced-pints"`
	BloodNotReplacedPints   ST      `hl7:"5,display=Blood Not Replaced-pints"`
	CoInsuranceDays         ST      `hl7:"6,display=Co-insurance Days"`
	ConditionCode           []ST    `hl7:"7,max=5,display=Condition Code"`
	CoveredDays             ST      `hl7:"8,display=Covered Days"`
	NonCoveredDays          ST      `hl7:"9,display=Non Covered Days"`
	ValueAmountCode         []ST    `hl7:"10,max=8,display=Value Amount & Code"`
	NumberOfGraceDays       ST      `hl7:"11,display=Number Of Grace Days"`
	SpecialProgramIndicator ST      `hl7:"12,display=Special Program Indicator"`
	PsroUrApprovalIndicator ST      `hl7:"13,display=Psro/Ur Approval Indicator"`
	PsroUrApprovedStayFm    ST      `hl7:"14,display=Psro/Ur Approved Stay-fm"`
	PsroUrApprovedStayTo    ST      `hl7:"15,display=Psro/Ur Approved Stay-to"`
	Occurrence              []ST    `hl7:"16,max=5,display=Occurrence"`
	OccurrenceSpan          ST      `hl7:"17,display=Occurrence Span"`
	OccurSpanStartDate      ST      `hl7:"18,display=Occur Span Start Date"`
	OccurSpanEndDate        ST      `hl7:"19,display=Occur Span End Date"`
	Ub82Locator2            ST      `hl7:"20,display=Ub-82 Locator 2"`
	Ub82Locator9            ST      `hl7:"21,display=Ub-82 Locator 9"`
	Ub82Locator27           ST      `hl7:"22,display=Ub-82 Locator 27"`
	Ub82Locator45           ST      `hl7:"23,display=Ub-82 Locator 45"`
}

Ub82

The UB1 segment contains data specific to the United States. Only billing/claims fields that do not exist in other HL7 defined segments appear in this segment. The codes listed as examples are not an exhaustive or current list.

Attention: UB1-2 was deprecated as of v2.3 and the detail was withdrawn and removed from the standard as of v 2.6.

type UB2

type UB2 struct {
	HL7                       HL7Name `hl7:",name=UB2,type=s"`
	SetID                     SI      `hl7:"1,seq,len=4,display=Set Id - Ub2"`
	CoInsuranceDays9          ST      `hl7:"2,len=3,display=Co-insurance Days (9)"`
	ConditionCode2430         []CWE   `hl7:"3,max=7,table=0043,display=Condition Code (24-30)"`
	CoveredDays7              ST      `hl7:"4,len=3,display=Covered Days (7)"`
	NonCoveredDays8           ST      `hl7:"5,len=4,display=Non-covered Days (8)"`
	ValueAmountCode           []UVC   `hl7:"6,max=12,display=Value Amount & Code"`
	OccurrenceCodeDate3235    []OCD   `hl7:"7,max=8,display=Occurrence Code & Date (32-35)"`
	OccurrenceSpanCodeDates36 []OSP   `hl7:"8,max=2,display=Occurrence Span Code/Dates (36)"`
	UB92Locator2State         []ST    `hl7:"9,max=2,len=29,display=UB92 Locator 2 (state)"`
	UB92Locator11State        []ST    `hl7:"10,max=2,len=12,display=UB92 Locator 11 (state)"`
	UB92Locator31National     ST      `hl7:"11,len=5,display=UB92 Locator 31 (national)"`
	DocumentControlNumber     []ST    `hl7:"12,max=3,len=23,display=Document Control Number"`
	UB92Locator49National     []ST    `hl7:"13,max=23,len=4,display=UB92 Locator 49 (national)"`
	UB92Locator56State        []ST    `hl7:"14,max=5,len=14,display=UB92 Locator 56 (state)"`
	UB92Locator57National     ST      `hl7:"15,len=27,display=UB92 Locator 57 (national)"`
	UB92Locator78State        []ST    `hl7:"16,max=2,len=2,display=UB92 Locator 78 (state)"`
	SpecialVisitCount         NM      `hl7:"17,len=3,display=Special Visit Count"`
}

Uniform Billing Data

The UB2 segment contains data necessary to complete UB92 bills specific to the United States. Realms outside the US are referred to chapter 16. Only Uniform Billing fields that do not exist in other HL7 defined segments appear in this segment. For example, Patient Name and Date of Birth are required; they are included in the PID segment and therefore do not appear here. Uniform Billing field locators are provided in parentheses ( ). The UB codes listed as examples are not an exhaustive or current list; refer to a UB specification for additional information.

type UDM_Q05

type UDM_Q05 struct {
	HL7 HL7Name `hl7:",name=UDM_Q05,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message Header"`
	SFT []SFT   `hl7:"2,display=Software Segment"`
	UAC *UAC    `hl7:"3,display=User Authentication Credential Segment"`
	URD *URD    `hl7:"4,required,display=Withdrawn"`
	URS *URS    `hl7:"5,display=Withdrawn"`
	DSP []DSP   `hl7:"6,required,display=Display Data"`
	DSC *DSC    `hl7:"7,display=Continuation Pointer"`
}

Unsolicited display update message

There is a simple HL7 message that allows for unsolicited display update messages to be sent in HL7 format from one system to another.

Trigger events for the unsolicited update are generally the completion of a particular action (concerning a given patient). For example, a lab test might be completed, generating a STAT unsolicited display message to be sent to the appropriate location.

type URD

type URD struct {
	HL7   HL7Name `hl7:",name=URD,type=s"`
	Value ST      `hl7:"1,display=URD.1"`
}

Withdrawn

type URS

type URS struct {
	HL7   HL7Name `hl7:",name=URS,type=s"`
	Value ST      `hl7:"1,display=URS.1"`
}

Withdrawn

type UVC

type UVC struct {
	HL7                            HL7Name `hl7:",name=UVC,len=0,type=d"`
	ValueCode                      CWE     `` /* 381-byte string literal not displayed */
	ValueAmount                    *MO     `hl7:"2,display=Specifies the numeric amount when needed to pair with the value when it is monetary."`
	NonMonetaryValueAmountQuantity NM      `hl7:"3,display=Specifies the numeric amount when needed to pair with the value when it is non-monetary. "`
	NonMonetaryValueAmountUnits    *CWE    `` /* 204-byte string literal not displayed */
}

Ub Value Code And Amount

A code structure to relate amounts or values to identified data elements necessary to process this claim as qualified by the payer organization.

This data type is used to convey information defined by CMS or other regulatory agencies. It corresponds to UB fields 46A, 47A, 48A, 49A, 46B, 47B, 48B, and 49B and UB92 fields 39a, 39b, 39c, 39d, 40a, 40b, 40c, 40d, 41a, 41b, 41c, and 41d.

Note: Replaces the CM data type used in sections 6.5.10.10 UB1-10 and 6.5.11.6 UB2-6, as of v 2.5.

The most common semi-private room rate is used in instances where the patient is placed in a private room at their request but their insurance only covers a semi-private room rate, which can be calculated using the 01-most common semi-private room rate.

Example: |01&most common semi private rate&NUBC^750&USD|

type VAR

type VAR struct {
	HL7                    HL7Name `hl7:",name=VAR,type=s"`
	VarianceInstanceID     EI      `hl7:"1,required,display=Variance Instance Id"`
	DocumentedDateTime     DTM     `hl7:"2,required,format=YMDHM,display=Documented Date/Time"`
	StatedVarianceDateTime DTM     `hl7:"3,format=YMDHM,display=Stated Variance Date/Time"`
	VarianceOriginator     []XCN   `hl7:"4,display=Variance Originator"`
	VarianceClassification *CWE    `hl7:"5,display=Variance Classification"`
	VarianceDescription    []ST    `hl7:"6,display=Variance Description"`
}

Variance

The variance segment contains the data necessary to describe differences that may have occurred at the time when a healthcare event was documented.

type VARIES

type VARIES any

Varies

type VH

type VH struct {
	HL7            HL7Name `hl7:",name=VH,len=0,type=d"`
	StartDayRange  ID      `` /* 126-byte string literal not displayed */
	EndDayRange    ID      `` /* 162-byte string literal not displayed */
	StartHourRange TM      `` /* 135-byte string literal not displayed */
	EndHourRange   TM      `` /* 131-byte string literal not displayed */
}

Visiting Hours

This data type contains the hours when a patient location is open for visiting. Refer to HL7 Table 0267 - Days of the Week for valid values for the first two components.

type VID

type VID struct {
	HL7                      HL7Name `hl7:",name=VID,len=0,type=d"`
	VersionID                ID      `` /* 144-byte string literal not displayed */
	InternationalizationCode *CWE    `` /* 395-byte string literal not displayed */
	InternationalVersionID   *CWE    `` /* 218-byte string literal not displayed */
}

Version Identifier

type VND

type VND struct {
	HL7                    HL7Name `hl7:",name=VND,type=s"`
	SetID                  SI      `hl7:"1,seq,required,len=4,display=Set Id - Vnd"`
	VendorIdentifier       EI      `hl7:"2,required,display=Vendor Identifier"`
	VendorName             ST      `hl7:"3,display=Vendor Name"`
	VendorCatalogNumber    *EI     `hl7:"4,display=Vendor Catalog Number"`
	PrimaryVendorIndicator *CNE    `hl7:"5,table=0532,display=Primary Vendor Indicator"`
}

Purchasing Vendor

This segment contains purchasing vendors that supply the inventory supply item specified in the ITM segment.

type VXU_V04

type VXU_V04 struct {
	HL7       HL7Name             `hl7:",name=VXU_V04,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message Header"`
	SFT       []SFT               `hl7:"2,display=Software Segment"`
	UAC       *UAC                `hl7:"3,display=User Authentication Credential Segment"`
	PID       *PID                `hl7:"4,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"5,display=Patient Additional Demographic"`
	NK1       []NK1               `hl7:"6,display=Next Of Kin / Associated Parties"`
	Patient   *VXU_V04_Patient    `hl7:",display=Patient"`
	GT1       []GT1               `hl7:"9,display=Guarantor"`
	Insurance []VXU_V04_Insurance `hl7:",display=Insurance"`
	Order     []VXU_V04_Order     `hl7:",display=Order"`
}

Unsolicited vaccination record update

When a provider wishes to update the patient's vaccination record being held in a registry, he will transmit an unsolicited update of the record (a V04 trigger event).

An unsolicited update will follow this format. The three-letter code in the leftmost column indicates the segment that is included; the column on the right specifies the chapter in which that segment is fully defined.

type VXU_V04_Insurance

type VXU_V04_Insurance struct {
	HL7 HL7Name `hl7:",name=VXU_V04_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance Additional Information"`
	IN3 *IN3    `hl7:"12,display=Insurance Additional Information- Certification"`
}

Insurance

type VXU_V04_Observation

type VXU_V04_Observation struct {
	HL7 HL7Name `hl7:",name=VXU_V04_Observation,type=tg"`
	OBX *OBX    `hl7:"18,required,display=Observation/result"`
	NTE []NTE   `hl7:"19,display=Notes And Comments"`
}

Observation

type VXU_V04_Order

type VXU_V04_Order struct {
	HL7         HL7Name               `hl7:",name=VXU_V04_Order,type=tg"`
	ORC         *ORC                  `hl7:"13,required,display=Common Order"`
	Timing      []VXU_V04_Timing      `hl7:",display=Timing"`
	RXA         *RXA                  `hl7:"16,required,display=Pharmacy/treatment Administration"`
	RXR         *RXR                  `hl7:"17,display=Pharmacy/treatment Route"`
	Observation []VXU_V04_Observation `hl7:",display=Observation"`
}

Order

type VXU_V04_Patient

type VXU_V04_Patient struct {
	HL7 HL7Name `hl7:",name=VXU_V04_Patient,type=tg"`
	PV1 *PV1    `hl7:"7,required,display=Patient Visit"`
	PV2 *PV2    `hl7:"8,display=Patient Visit - Additional Information"`
}

Patient

type VXU_V04_Timing

type VXU_V04_Timing struct {
	HL7 HL7Name `hl7:",name=VXU_V04_Timing,type=tg"`
	TQ1 *TQ1    `hl7:"14,required,display=Timing/quantity"`
	TQ2 []TQ2   `hl7:"15,display=Timing/quantity Relationship"`
}

Timing

type XAD

type XAD struct {
	HL7                        HL7Name `hl7:",name=XAD,len=0,type=d"`
	StreetAddress              *SAD    `` /* 170-byte string literal not displayed */
	OtherDesignation           ST      `` /* 217-byte string literal not displayed */
	City                       ST      `` /* 195-byte string literal not displayed */
	StateOrProvince            ST      `` /* 201-byte string literal not displayed */
	ZipOrPostalCode            ST      `` /* 347-byte string literal not displayed */
	Country                    ID      `` /* 256-byte string literal not displayed */
	AddressType                ID      `` /* 226-byte string literal not displayed */
	OtherGeographicDesignation ST      `hl7:"8,display=This component specifies any other geographic designation. It includes county- bioregion- SMSA- etc."`
	CountyParishCode           *CWE    `` /* 602-byte string literal not displayed */
	CensusTract                *CWE    `` /* 281-byte string literal not displayed */
	AddressRepresentationCode  ID      `` /* 1094-byte string literal not displayed */
	AddressValidityRange       ST      `` /* 264-byte string literal not displayed */
	EffectiveDate              DTM     `hl7:"13,format=YMDHM,display=The first date- if known- on which the address is valid and active for the ‘owning’ entity."`
	ExpirationDate             DTM     `hl7:"14,format=YMDHM,display=The last date- if known- on which the address is valid and active for the ‘owning’ entity."`
	ExpirationReason           *CWE    `` /* 166-byte string literal not displayed */
	TemporaryIndicator         ID      `` /* 144-byte string literal not displayed */
	BadAddressIndicator        ID      `` /* 174-byte string literal not displayed */
	AddressUsage               ID      `` /* 158-byte string literal not displayed */
	Addressee                  ST      `` /* 160-byte string literal not displayed */
	Comment                    ST      `hl7:"20,display=Descriptive information about the use of the address.  Example: 'Do not ring bell.'"`
	PreferenceOrder            NM      `` /* 601-byte string literal not displayed */
	ProtectionCode             *CWE    `` /* 427-byte string literal not displayed */
	AddressIdentifier          *EI     `` /* 429-byte string literal not displayed */
}

Extended Address

This data type specifies the address of a person, place or organization plus associated information.

Note: Replaces the AD data type as of v2.3.

Example of usage for US: |1000 Hospital Lane^Ste. 123^Ann Arbor ^MI^99999^USA^B^^WA^|

This would be formatted for postal purposes as 1000 Hospital Lane Ste. 123 Ann Arbor MI 99999

type XCN

type XCN struct {
	HL7                                         HL7Name `hl7:",name=XCN,len=0,type=d"`
	PersonIdentifier                            ST      `` /* 222-byte string literal not displayed */
	FamilyName                                  FN      `` /* 505-byte string literal not displayed */
	GivenName                                   ST      `hl7:"3,display=First name."`
	SecondAndFurtherGivenNamesOrInitialsThereof ST      `hl7:"4,display=Multiple middle names may be included by separating them with spaces."`
	Suffix                                      ST      `hl7:"5,display=Used to specify a name suffix (e.g.- Jr. or III)."`
	Prefix                                      ST      `hl7:"6,display=Used to specify a name prefix (e.g.- Dr.)."`
	Degree                                      ST      `` /* 180-byte string literal not displayed */
	SourceTable                                 CWE     `` /* 300-byte string literal not displayed */
	AssigningAuthority                          *HD     `` /* 1584-byte string literal not displayed */
	NameTypeCode                                ID      `` /* 259-byte string literal not displayed */
	IdentifierCheckDigit                        ST      `` /* 256-byte string literal not displayed */
	CheckDigitScheme                            ID      `` /* 172-byte string literal not displayed */
	IdentifierTypeCode                          ID      `` /* 323-byte string literal not displayed */
	AssigningFacility                           *HD     `` /* 642-byte string literal not displayed */
	NameRepresentationCode                      ID      `` /* 1082-byte string literal not displayed */
	NameContext                                 *CWE    `` /* 510-byte string literal not displayed */
	NameValidityRange                           ST      `` /* 324-byte string literal not displayed */
	NameAssemblyOrder                           ID      `` /* 187-byte string literal not displayed */
	EffectiveDate                               DTM     `hl7:"19,format=YMDHM,display=The first date- if known- on which the person name is valid and active."`
	ExpirationDate                              DTM     `hl7:"20,format=YMDHM,display=The last date- if known- on which the person name is valid and active."`
	ProfessionalSuffix                          ST      `` /* 580-byte string literal not displayed */
	AssigningJurisdiction                       *CWE    `` /* 429-byte string literal not displayed */
	AssigningAgencyOrDepartment                 *CWE    `` /* 439-byte string literal not displayed */
	SecurityCheck                               ST      `` /* 137-byte string literal not displayed */
	SecurityCheckScheme                         ID      `` /* 365-byte string literal not displayed */
}

Extended Composite Id Number And Name For Persons

Note: Replaces CN data type as of v 2.3.

This data type is used extensively appearing in the PV1, ORC, RXO, RXE, OBR and SCH segments, as well as others, where there is a need to specify the ID number and name of a person.

Example without assigning authority and assigning facility: |1234567^Everyman^Adam^A^III^DR^PHD^ADT01^^L^4^M11^MR|

Examples with assigning authority and assigning facility:

Dr. Harold Hippocrates’ provider ID was assigned by the Provider Master and was first issued at Good Health Hospital within the Community Health and Hospitals System. Since IS table values (first component of the HD) were not used for assigning authority and assigning facility, components 2 and 3 of the HD data type are populated and demoted to sub-components as follows: 12188^Hippocrates^Harold^H^IV^Dr^MD^^&Provider Master.Community Health and Hospitals&L^L^9^M10^DN^&Good Health Hospital.Community Health and Hospitals&L^A

Ludwig van Beethoven's medical record number was assigned by the Master Patient Index and was first issued at Fairview Hospital within the University Hospitals System. 10535^van Beethoven&van^Ludwig^A^III^Dr^PHD^^&MPI.Community Health and Hospitals&L^L^3^M10^MR^& Good Health Hospital.Community Health and Hospitals&L^A

type XON

type XON struct {
	HL7                      HL7Name `hl7:",name=XON,len=0,type=d"`
	OrganizationName         ST      `hl7:"1,display=The name of the specified organization."`
	OrganizationNameTypeCode *CWE    `` /* 180-byte string literal not displayed */
	IDNumber                 ST      `` /* 185-byte string literal not displayed */
	IdentifierCheckDigit     NM      `` /* 533-byte string literal not displayed */
	CheckDigitScheme         ID      `` /* 177-byte string literal not displayed */
	AssigningAuthority       *HD     `` /* 754-byte string literal not displayed */
	IdentifierTypeCode       ID      `` /* 236-byte string literal not displayed */
	AssigningFacility        *HD     `` /* 639-byte string literal not displayed */
	NameRepresentationCode   ID      `` /* 1085-byte string literal not displayed */
	OrganizationIdentifier   ST      `` /* 326-byte string literal not displayed */
}

Extended Composite Name And Identification Number For Organizations

This data type is used in fields (e.g., PV2-23, NK1-13, PD1-3, OBR-44) to specify the name and ID number of an organization.

Example 1: The ID for Good Health Hospital was assigned by the Community Health and Hospitals enterprise’s Hospital Master and was first issued at the Central Offices. Good Health Hospital^L^716^9^M10^&Hospital Master.Community Health and Hospitals&L^XX^&Central Offices.Community Health and Hospitals&L^A

Example 2: Good Health Hospital has another ID that was issued by CMS. Assigning Authority, CMS, values only the first HD component, an IS data type and assigning facility is not relevant. This information might be transmitted accordingly: Good Health Hospital^L^4544^3^M10^CMS^XX^^A

type XPN

type XPN struct {
	HL7                                         HL7Name `hl7:",name=XPN,len=0,type=d"`
	FamilyName                                  FN      `` /* 781-byte string literal not displayed */
	GivenName                                   ST      `hl7:"2,table=FirstName,display=First name."`
	SecondAndFurtherGivenNamesOrInitialsThereof ST      `hl7:"3,display=Multiple middle names may be included by separating them with spaces."`
	Suffix                                      ST      `hl7:"4,display=Used to specify a name suffix (e.g.- Jr. or III)."`
	Prefix                                      ST      `hl7:"5,display=Used to specify a name prefix (e.g.- Dr.)."`
	Degree                                      ST      `` /* 176-byte string literal not displayed */
	NameTypeCode                                ID      `` /* 246-byte string literal not displayed */
	NameRepresentationCode                      ID      `` /* 1077-byte string literal not displayed */
	NameContext                                 *CWE    `` /* 509-byte string literal not displayed */
	NameValidityRange                           ST      `` /* 239-byte string literal not displayed */
	NameAssemblyOrder                           ID      `` /* 183-byte string literal not displayed */
	EffectiveDate                               DTM     `hl7:"12,format=YMDHM,display=The first date- if known- on which the person name is valid and active."`
	ExpirationDate                              DTM     `hl7:"13,format=YMDHM,display=The last date- if known- on which the person name is valid and active."`
	ProfessionalSuffix                          ST      `` /* 577-byte string literal not displayed */
	CalledBy                                    ST      `` /* 825-byte string literal not displayed */
}

Extended Person Name

Note: Replaces PN data type as of v 2.3.

Example 1: Adam A. Everyman III PhD |Everyman^Adam^A^III^DR^^L^^^^^^^PHD|

Example 2: Ludwig van Beethoven |Beethoven&van^Ludwig^^^^^L|

Example 3: Hermann Egon Mayer zur alten Schildesche |Mayer^Hermann^Egon^zur alten Schildesche|

type XTN

type XTN struct {
	HL7                               HL7Name `hl7:",name=XTN,len=0,type=d"`
	TelephoneNumber                   ST      `` /* 161-byte string literal not displayed */
	TelecommunicationUseCode          ID      `` /* 351-byte string literal not displayed */
	TelecommunicationEquipmentType    ID      `` /* 323-byte string literal not displayed */
	CommunicationAddress              ST      `` /* 348-byte string literal not displayed */
	CountryCode                       SNM     `` /* 246-byte string literal not displayed */
	AreaCityCode                      SNM     `` /* 939-byte string literal not displayed */
	LocalNumber                       SNM     `` /* 579-byte string literal not displayed */
	Extension                         SNM     `` /* 400-byte string literal not displayed */
	AnyText                           ST      `hl7:"9,display=Contains comments with respect to the telephone number.  Example: |^^^^^^^^Do not use after 5PM|"`
	ExtensionPrefix                   ST      `` /* 323-byte string literal not displayed */
	SpeedDialCode                     ST      `` /* 300-byte string literal not displayed */
	UnformattedTelephoneNumber        ST      `` /* 328-byte string literal not displayed */
	EffectiveStartDate                DTM     `hl7:"13,format=YMDHM,display=The first date- if known- on which the telecommunication number is valid and active."`
	ExpirationDate                    DTM     `hl7:"14,format=YMDHM,display=The last date- if known- on which the telecommunication number is valid and active."`
	ExpirationReason                  *CWE    `` /* 183-byte string literal not displayed */
	ProtectionCode                    *CWE    `` /* 461-byte string literal not displayed */
	SharedTelecommunicationIdentifier *EI     `` /* 552-byte string literal not displayed */
	PreferenceOrder                   NM      `` /* 831-byte string literal not displayed */
}

Extended Telecommunication Number

Example 1: A Work fax number ^WPN^FX^^^734^6777777

Example 2: Telephone number with extension ^WPN^PH^^^734^6777777^1

Example 4: home e-mail address. In this example, assume that a person has a primary home e-mail address such as someone@somewhere.com. The components would be: ^PRN^Internet^someone@somewhere.com

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL