h230

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: 1 Imported by: 0

Documentation

Overview

Package h230 contains the data structures for HL7 v2.3.

Index

Constants

This section is empty.

Variables

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

Segments specific to file and batch control.

View Source
var DataTypeRegistry = map[string]any{
	"AD":           *(new(AD)),
	"CE":           *(new(CE)),
	"CK":           *(new(CK)),
	"CM_ABS_RANGE": *(new(CM_ABS_RANGE)),
	"CM_AUI":       *(new(CM_AUI)),
	"CM_CCD":       *(new(CM_CCD)),
	"CM_DDI":       *(new(CM_DDI)),
	"CM_DIN":       *(new(CM_DIN)),
	"CM_DLD":       *(new(CM_DLD)),
	"CM_DLT":       *(new(CM_DLT)),
	"CM_DTN":       *(new(CM_DTN)),
	"CM_EIP":       *(new(CM_EIP)),
	"CM_ELD":       *(new(CM_ELD)),
	"CM_MOC":       *(new(CM_MOC)),
	"CM_MSG":       *(new(CM_MSG)),
	"CM_NDL":       *(new(CM_NDL)),
	"CM_OCD":       *(new(CM_OCD)),
	"CM_OSD":       *(new(CM_OSD)),
	"CM_OSP":       *(new(CM_OSP)),
	"CM_PCF":       *(new(CM_PCF)),
	"CM_PEN":       *(new(CM_PEN)),
	"CM_PI":        *(new(CM_PI)),
	"CM_PIP":       *(new(CM_PIP)),
	"CM_PLN":       *(new(CM_PLN)),
	"CM_PRL":       *(new(CM_PRL)),
	"CM_PTA":       *(new(CM_PTA)),
	"CM_RANGE":     *(new(CM_RANGE)),
	"CM_RFR":       *(new(CM_RFR)),
	"CM_RMC":       *(new(CM_RMC)),
	"CM_SPD":       *(new(CM_SPD)),
	"CM_SPS":       *(new(CM_SPS)),
	"CM_UVC":       *(new(CM_UVC)),
	"CM_VR":        *(new(CM_VR)),
	"CN":           *(new(CN)),
	"CP":           *(new(CP)),
	"CQ":           *(new(CQ)),
	"CX":           *(new(CX)),
	"DLN":          *(new(DLN)),
	"DR":           *(new(DR)),
	"DT":           *(new(DT)),
	"EI":           *(new(EI)),
	"FC":           *(new(FC)),
	"FT":           *(new(FT)),
	"HD":           *(new(HD)),
	"ID":           *(new(ID)),
	"IS":           *(new(IS)),
	"JCC":          *(new(JCC)),
	"LA1":          *(new(LA1)),
	"LA2":          *(new(LA2)),
	"MO":           *(new(MO)),
	"NM":           *(new(NM)),
	"PL":           *(new(PL)),
	"PPN":          *(new(PPN)),
	"PT":           *(new(PT)),
	"QIP":          *(new(QIP)),
	"QSC":          *(new(QSC)),
	"RCD":          *(new(RCD)),
	"RI":           *(new(RI)),
	"SCV":          *(new(SCV)),
	"SI":           *(new(SI)),
	"ST":           *(new(ST)),
	"TM":           *(new(TM)),
	"TN":           *(new(TN)),
	"TQ":           *(new(TQ)),
	"TS":           *(new(TS)),
	"TX":           *(new(TX)),
	"VARIES":       *(new(VARIES)),
	"VH":           *(new(VH)),
	"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{}/* 110 elements not displayed */

Segment lookup by ID.

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

TableLookup provides valid values for field types.

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

TableValueLookup may be used to validate a specific value.

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

Trigger lookup by ID.

View Source
var Version = `2.3`

Version of this HL7 package.

Functions

This section is empty.

Types

type ACC

type ACC struct {
	HL7                         HL7Name `hl7:",name=ACC,type=s"`
	AccidentDateTime            TS      `hl7:"1,len=26,format=YMDHMS,display=Accident Date/Time"`
	AccidentCode                *CE     `hl7:"2,len=60,table=0050,display=Accident Code"`
	AccidentLocation            ST      `hl7:"3,len=25,display=Accident Location"`
	AutoAccidentState           *CE     `hl7:"4,len=60,display=Auto Accident State"`
	AccidentJobRelatedIndicator ID      `hl7:"5,len=2,table=0136,display=Accident Job Related Indicator"`
	AccidentDeathIndicator      ID      `hl7:"6,len=2,table=0136,display=Accident Death Indicator"`
}

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 segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
}

General acknowledgment message

The simple general acknowledgment (ACK) can be used where the application does not define a special application level acknowledgment message or where there has been an error that precludes application processing. It is also used for accept level acknowledgments. The details are described in Section 2.12.1, “Original and enhanced processing rules.”

type AD struct {
	HL7                        HL7Name `hl7:",name=AD,len=0,type=d"`
	StreetAddress              ST      `hl7:"1,display=Street address "`
	OtherDesignation           ST      `hl7:"2,display=Second line of address. In general- it qualifies address.  Examples:  Suite 555 or Fourth Floor"`
	City                       ST      `hl7:"3,display=City"`
	StateOrProvince            ST      `hl7:"4,display=State or province should be represented by the official postal service codes for that country"`
	ZipOrPostalCode            ST      `` /* 205-byte string literal not displayed */
	Country                    ID      `` /* 127-byte string literal not displayed */
	AddressType                ID      `hl7:"7,table=0190,display=Type is optional and defined by HL7 table 0190 - Address type"`
	OtherGeographicDesignation ST      `hl7:"8,display=Other geographic designation includes county- bioregion- SMSA- etc"`
}

Address

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

type ADD

type ADD struct {
	HL7                         HL7Name `hl7:",name=ADD,type=s"`
	AddendumContinuationPointer ST      `hl7:"1,len=65536,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.23.2, “Continuation messages and segments,” for details.

type ADR_A19

type ADR_A19 struct {
	HL7           HL7Name                 `hl7:",name=ADR_A19,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message header segment"`
	MSA           *MSA                    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR           *ERR                    `hl7:"3,display=Error segment"`
	QRD           *QRD                    `hl7:"4,required,display=Query definition segment"`
	QRF           *QRF                    `hl7:"5,display=Query filter segment"`
	QueryResponse []ADR_A19_QueryResponse `hl7:",required,display=Query Response"`
	DSC           *DSC                    `hl7:"26,display=Continuation pointer segment"`
}

Patient query

The following trigger event is served by QRY (a query from another system) and ADR (a response from an Patient Administration system.)

Another application determines a need for Patient Administration data about a patient and sends a query to the Patient Administration system. The Who Filter in the QRD can identify 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. The ADT event-type segment, if included in the response, describes the last event for which the Patient Administration system initiated an unsolicited update

type ADR_A19_Insurance

type ADR_A19_Insurance struct {
	HL7 HL7Name `hl7:",name=ADR_A19_Insurance,type=tg"`
	IN1 *IN1    `hl7:"20,required,display=Insurance"`
	IN2 *IN2    `hl7:"21,display=Insurance additional info"`
	IN3 *IN3    `hl7:"22,display=Insurance additional info - certification"`
}

Insurance

type ADR_A19_Procedure

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

Procedure

type ADR_A19_QueryResponse

type ADR_A19_QueryResponse struct {
	HL7       HL7Name             `hl7:",name=ADR_A19_QueryResponse,type=tg"`
	EVN       *EVN                `hl7:"6,display=Event type"`
	PID       *PID                `hl7:"7,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"8,display=Patient Demographic"`
	NK1       []NK1               `hl7:"9,display=Next of kin"`
	PV1       *PV1                `hl7:"10,required,display=Patient visit"`
	PV2       *PV2                `hl7:"11,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"12,display=Disability Segment"`
	OBX       []OBX               `hl7:"13,display=Observation segment"`
	AL1       []AL1               `hl7:"14,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"15,display=Diagnosis"`
	DRG       *DRG                `hl7:"16,display=Diagnosis Related Group"`
	Procedure []ADR_A19_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"19,display=Guarantor"`
	Insurance []ADR_A19_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"23,display=Accident"`
	UB1       *UB1                `hl7:"24,display=UB82  data"`
	UB2       *UB2                `hl7:"25,display=UB92 data"`
}

QueryResponse

type ADT_A01

type ADT_A01 struct {
	HL7       HL7Name             `hl7:",name=ADT_A01,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	NK1       []NK1               `hl7:"5,display=Next of kin"`
	PV1       *PV1                `hl7:"6,required,display=Patient visit"`
	PV2       *PV2                `hl7:"7,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"8,display=Disability Segment"`
	OBX       []OBX               `hl7:"9,display=Observation segment"`
	AL1       []AL1               `hl7:"10,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"11,display=Diagnosis"`
	DRG       *DRG                `hl7:"12,display=Diagnosis Related Group"`
	Procedure []ADT_A01_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"15,display=Guarantor"`
	Insurance []ADT_A01_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 data"`
}

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 John Doe admissions.

type ADT_A01_Insurance

type ADT_A01_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type ADT_A01_Procedure

type ADT_A01_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A01_Procedure,type=tg"`
	PR1 *PR1    `hl7:"13,required,display=Procedures"`
	ROL []ROL   `hl7:"14,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 segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

Transfer a patient

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

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.

type ADT_A03

type ADT_A03 struct {
	HL7       HL7Name             `hl7:",name=ADT_A03,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	PV1       *PV1                `hl7:"5,required,display=Patient visit"`
	PV2       *PV2                `hl7:"6,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"7,display=Disability Segment"`
	DG1       []DG1               `hl7:"8,display=Diagnosis"`
	DRG       *DRG                `hl7:"9,display=Diagnosis Related Group"`
	Procedure []ADT_A03_Procedure `hl7:",display=Procedure"`
	OBX       []OBX               `hl7:"12,display=Observation segment"`
}

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 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.

type ADT_A03_Procedure

type ADT_A03_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A03_Procedure,type=tg"`
	PR1 *PR1    `hl7:"10,required,display=Procedures"`
	ROL []ROL   `hl7:"11,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 segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	NK1       []NK1               `hl7:"5,display=Next of kin"`
	PV1       *PV1                `hl7:"6,required,display=Patient visit"`
	PV2       *PV2                `hl7:"7,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"8,display=Disability Segment"`
	OBX       []OBX               `hl7:"9,display=Observation segment"`
	AL1       []AL1               `hl7:"10,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"11,display=Diagnosis"`
	DRG       *DRG                `hl7:"12,display=Diagnosis Related Group"`
	Procedure []ADT_A04_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"15,display=Guarantor"`
	Insurance []ADT_A04_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 data"`
}

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. 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.

type ADT_A04_Insurance

type ADT_A04_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A04_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type ADT_A04_Procedure

type ADT_A04_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A04_Procedure,type=tg"`
	PR1 *PR1    `hl7:"13,required,display=Procedures"`
	ROL []ROL   `hl7:"14,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 segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	NK1       []NK1               `hl7:"5,display=Next of kin"`
	PV1       *PV1                `hl7:"6,required,display=Patient visit"`
	PV2       *PV2                `hl7:"7,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"8,display=Disability Segment"`
	OBX       []OBX               `hl7:"9,display=Observation segment"`
	AL1       []AL1               `hl7:"10,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"11,display=Diagnosis"`
	DRG       *DRG                `hl7:"12,display=Diagnosis Related Group"`
	Procedure []ADT_A05_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"15,display=Guarantor"`
	Insurance []ADT_A05_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 data"`
}

Pre-admit a patient

An A05 event is sent when a patient undergoes the pre-admission process. During this process, episoderelated data is collected in preparation for a patient’s visit or stay in a healthcare facility. For example, a preadmit 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.

type ADT_A05_Insurance

type ADT_A05_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A05_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type ADT_A05_Procedure

type ADT_A05_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A05_Procedure,type=tg"`
	PR1 *PR1    `hl7:"13,required,display=Procedures"`
	ROL []ROL   `hl7:"14,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 segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	MRG       *MRG                `hl7:"5,display=Merge patient information"`
	NK1       []NK1               `hl7:"6,display=Next of kin"`
	PV1       *PV1                `hl7:"7,required,display=Patient visit"`
	PV2       *PV2                `hl7:"8,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"9,display=Disability Segment"`
	DRG       *DRG                `hl7:"10,display=Diagnosis Related Group"`
	OBX       []OBX               `hl7:"11,display=Observation segment"`
	AL1       []AL1               `hl7:"12,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"13,display=Diagnosis"`
	DRG2      *DRG                `hl7:"14,display=Diagnosis Related Group"`
	Procedure []ADT_A06_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"17,display=Guarantor"`
	Insurance []ADT_A06_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"21,display=Accident"`
	UB1       *UB1                `hl7:"22,display=UB82  data"`
	UB2       *UB2                `hl7:"23,display=UB92 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 nonadmitted 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.

type ADT_A06_Insurance

type ADT_A06_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A06_Insurance,type=tg"`
	IN1 *IN1    `hl7:"18,required,display=Insurance"`
	IN2 *IN2    `hl7:"19,display=Insurance additional info"`
	IN3 *IN3    `hl7:"20,display=Insurance additional info - certification"`
}

Insurance

type ADT_A06_Procedure

type ADT_A06_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A06_Procedure,type=tg"`
	PR1 *PR1    `hl7:"15,required,display=Procedures"`
	ROL []ROL   `hl7:"16,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 segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	MRG       *MRG                `hl7:"5,display=Merge patient information"`
	NK1       []NK1               `hl7:"6,display=Next of kin"`
	PV1       *PV1                `hl7:"7,required,display=Patient visit"`
	PV2       *PV2                `hl7:"8,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"9,display=Disability Segment"`
	DRG       *DRG                `hl7:"10,display=Diagnosis Related Group"`
	OBX       []OBX               `hl7:"11,display=Observation segment"`
	AL1       []AL1               `hl7:"12,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"13,display=Diagnosis"`
	DRG2      *DRG                `hl7:"14,display=Diagnosis Related Group"`
	Procedure []ADT_A07_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"17,display=Guarantor"`
	Insurance []ADT_A07_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"21,display=Accident"`
	UB1       *UB1                `hl7:"22,display=UB82  data"`
	UB2       *UB2                `hl7:"23,display=UB92 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 “nonadmitted” 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.

type ADT_A07_Insurance

type ADT_A07_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A07_Insurance,type=tg"`
	IN1 *IN1    `hl7:"18,required,display=Insurance"`
	IN2 *IN2    `hl7:"19,display=Insurance additional info"`
	IN3 *IN3    `hl7:"20,display=Insurance additional info - certification"`
}

Insurance

type ADT_A07_Procedure

type ADT_A07_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A07_Procedure,type=tg"`
	PR1 *PR1    `hl7:"15,required,display=Procedures"`
	ROL []ROL   `hl7:"16,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 segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	NK1       []NK1               `hl7:"5,display=Next of kin"`
	PV1       *PV1                `hl7:"6,required,display=Patient visit"`
	PV2       *PV2                `hl7:"7,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"8,display=Disability Segment"`
	OBX       []OBX               `hl7:"9,display=Observation segment"`
	AL1       []AL1               `hl7:"10,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"11,display=Diagnosis"`
	DRG       *DRG                `hl7:"12,display=Diagnosis Related Group"`
	Procedure []ADT_A08_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"15,display=Guarantor"`
	Insurance []ADT_A08_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 data"`
}

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 recommend that the A08 transaction be used to update fields that are not related to any of the other trigger events. The A08 event can include information specific to an episode of care, but it can also be used for demographic information only.

type ADT_A08_Insurance

type ADT_A08_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A08_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type ADT_A08_Procedure

type ADT_A08_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A08_Procedure,type=tg"`
	PR1 *PR1    `hl7:"13,required,display=Procedures"`
	ROL []ROL   `hl7:"14,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 segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient departing - tracking

The A09 and A10 (patient arriving tracking) 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.

The DG1 segment remains in this message for backward compatibility only.

type ADT_A10

type ADT_A10 struct {
	HL7 HL7Name `hl7:",name=ADT_A10,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Patient arriving - tracking

The A10 event is sent when a patient arrives at a new location in the healthcare facility. 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.

The DG1 segment remains in this message for backward compatibility only.

type ADT_A11

type ADT_A11 struct {
	HL7 HL7Name `hl7:",name=ADT_A11,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

Cancel admit/visit notification

For “admitted” patients, the A11 event is sent when an A01 (admit/visit notification) event is canceled, 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 patient) event is canceled, 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 is new for Version 2.3 of this Standard.

The DG1 segment remains in this message for backward compatibility only.

type ADT_A12

type ADT_A12 struct {
	HL7 HL7Name `hl7:",name=ADT_A12,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
	DG1 *DG1    `hl7:"9,display=Diagnosis"`
}

Cancel transfer

The A12 event is sent when an A02 (transfer a patient) event is canceled, 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 DG1 segment remains in this message for backward compatibility only.

type ADT_A13

type ADT_A13 struct {
	HL7       HL7Name             `hl7:",name=ADT_A13,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	NK1       []NK1               `hl7:"5,display=Next of kin"`
	PV1       *PV1                `hl7:"6,required,display=Patient visit"`
	PV2       *PV2                `hl7:"7,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"8,display=Disability Segment"`
	OBX       []OBX               `hl7:"9,display=Observation segment"`
	AL1       []AL1               `hl7:"10,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"11,display=Diagnosis"`
	DRG       *DRG                `hl7:"12,display=Diagnosis Related Group"`
	Procedure []ADT_A13_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"15,display=Guarantor"`
	Insurance []ADT_A13_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 data"`
}

Cancel discharge/end visit

The A13 event is sent when an A03 (discharge/end visit) event is canceled, 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. PV13-assigned 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.

type ADT_A13_Insurance

type ADT_A13_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A13_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type ADT_A13_Procedure

type ADT_A13_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A13_Procedure,type=tg"`
	PR1 *PR1    `hl7:"13,required,display=Procedures"`
	ROL []ROL   `hl7:"14,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 segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	NK1       []NK1               `hl7:"5,display=Next of kin"`
	PV1       *PV1                `hl7:"6,required,display=Patient visit"`
	PV2       *PV2                `hl7:"7,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"8,display=Disability Segment"`
	OBX       []OBX               `hl7:"9,display=Observation segment"`
	AL1       []AL1               `hl7:"10,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"11,display=Diagnosis"`
	DRG       *DRG                `hl7:"12,display=Diagnosis Related Group"`
	Procedure []ADT_A14_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"15,display=Guarantor"`
	Insurance []ADT_A14_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 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.

type ADT_A14_Insurance

type ADT_A14_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A14_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type ADT_A14_Procedure

type ADT_A14_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A14_Procedure,type=tg"`
	PR1 *PR1    `hl7:"13,required,display=Procedures"`
	ROL []ROL   `hl7:"14,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 segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
}

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 orderlies will be on hand to move the patient or so that dietary services can route the next meal to the new location.

The DG1 segment remains in this message for backward compatibility only.

type ADT_A16

type ADT_A16 struct {
	HL7 HL7Name `hl7:",name=ADT_A16,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
	DG1 *DG1    `hl7:"9,display=Diagnosis"`
	DRG *DRG    `hl7:"10,display=Diagnosis Related Group"`
}

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.

type ADT_A17

type ADT_A17 struct {
	HL7  HL7Name `hl7:",name=ADT_A17,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message header segment"`
	EVN  *EVN    `hl7:"2,required,display=Event type"`
	PID  *PID    `hl7:"3,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"4,display=Patient Demographic"`
	PV1  *PV1    `hl7:"5,required,display=Patient visit"`
	PV2  *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1  []DB1   `hl7:"7,display=Disability Segment"`
	OBX  []OBX   `hl7:"8,display=Observation segment"`
	PID2 *PID    `hl7:"9,required,display=Patient Identification"`
	PD12 *PD1    `hl7:"10,display=Patient Demographic"`
	PV12 *PV1    `hl7:"11,required,display=Patient visit"`
	PV22 *PV2    `hl7:"12,display=Patient visit - additional information"`
	DB12 []DB1   `hl7:"13,display=Disability Segment"`
	OBX2 []OBX   `hl7:"14,display=Observation segment"`
}

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. See Section 3.5.1, “Swapping a patient,” for a discussion of issues related to implementing this trigger event. When other important fields change, it is recommended that the A08 (update patient information) event be used in addition.

type ADT_A18

type ADT_A18 struct {
	HL7 HL7Name `hl7:",name=ADT_A18,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,display=Merge patient information"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
}

Merge patient information

Event A18 is being retained for backward compatibility.

The A18 event is used to merge current and previous patient identification numbers: PID-3-patient ID ( internal ID), PID-2-patient ID (external ID), PID-4-alternate patient ID-PID, and PID-18-patient account number. This procedure is required, for example, when a previous patient is registered under a new patient identification number because of an error, or because there was insufficient time to determine the actual patient identification number. The merge event occurs when a decision is made to combine the information under either the new or the old identifier(s). We recommend that events A34 (merge patient information-patient ID only), A35 (merge patient information-account number only), A36 (merge patient information-patient ID and account number), A39 (merge person-external ID), A40 (merge patient-internal ID), A41 (merge account-patient account number), and A42 (merge visit-visit number) be utilized in place of the A18 event whenever possible.

The PID segment contains the surviving patient ID information. The MRG segment contains the nonsurviving information.

This merge event is non-specific in that, as a result of the merge, several patient identifiers may or may not have changed. For sites requiring (or desiring) greater specificity with regard to this type of message, new events (A34 (merge patient information-patient ID only), A35 (merge patient information-account number only), A36 (merge patient information-patient ID & account number), A39 (merge person-external ID), A40 (merge patient-internal ID), A41 (merge account-patient account number) and A42 (merge visit-visit number)) are now available as alternatives.

type ADT_A20

type ADT_A20 struct {
	HL7 HL7Name `hl7:",name=ADT_A20,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	NPU *NPU    `hl7:"3,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 segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

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.

type ADT_A22

type ADT_A22 struct {
	HL7 HL7Name `hl7:",name=ADT_A22,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

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.

type ADT_A23

type ADT_A23 struct {
	HL7 HL7Name `hl7:",name=ADT_A23,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

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 segment"`
	EVN  *EVN    `hl7:"2,required,display=Event type"`
	PID  *PID    `hl7:"3,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"4,display=Patient Demographic"`
	PV1  *PV1    `hl7:"5,display=Patient visit"`
	DB1  []DB1   `hl7:"6,display=Disability Segment"`
	PID2 *PID    `hl7:"7,required,display=Patient Identification"`
	PD12 *PD1    `hl7:"8,display=Patient Demographic"`
	PV12 *PV1    `hl7:"9,display=Patient visit"`
	DB12 []DB1   `hl7:"10,display=Disability Segment"`
}

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.

type ADT_A25

type ADT_A25 struct {
	HL7 HL7Name `hl7:",name=ADT_A25,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

Cancel pending discharge

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

type ADT_A26

type ADT_A26 struct {
	HL7 HL7Name `hl7:",name=ADT_A26,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

Cancel pending transfer

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

type ADT_A27

type ADT_A27 struct {
	HL7 HL7Name `hl7:",name=ADT_A27,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

Cancel pending admit

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

type ADT_A28

type ADT_A28 struct {
	HL7       HL7Name             `hl7:",name=ADT_A28,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	NK1       []NK1               `hl7:"5,display=Next of kin"`
	PV1       *PV1                `hl7:"6,required,display=Patient visit"`
	PV2       *PV2                `hl7:"7,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"8,display=Disability Segment"`
	OBX       []OBX               `hl7:"9,display=Observation segment"`
	AL1       []AL1               `hl7:"10,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"11,display=Diagnosis"`
	DRG       *DRG                `hl7:"12,display=Diagnosis Related Group"`
	Procedure []ADT_A28_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"15,display=Guarantor"`
	Insurance []ADT_A28_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 data"`
}

Add person information

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.

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. Visit information may be included but is not required. These events are primarily for demographic data, but optional historical non-demographic data may be sent as well.

type ADT_A28_Insurance

type ADT_A28_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A28_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type ADT_A28_Procedure

type ADT_A28_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A28_Procedure,type=tg"`
	PR1 *PR1    `hl7:"13,required,display=Procedures"`
	ROL []ROL   `hl7:"14,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 segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

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 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.

type ADT_A30

type ADT_A30 struct {
	HL7 HL7Name `hl7:",name=ADT_A30,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
}

Merge person information

An A30 event can be used to merge person information on an MPI. The A34 (merge patient information-patient ID only), A35 (merge patient information-account number only), A36 (merge patient information-patient ID & account number), A40 (merge patient-internal ID), A41(merge account-patient account number) and A42 (merge visit-visit number)events should be used to merge patient information for a current episode. The “incorrect MRN” identified on the MRG segment (MRG-1-prior patient ID-internal) is to be merged with the “correct MRN” identified on the PID segment (PID-3-patient ID (internal ID)). The “incorrect MRN” then no longer exists. All PID data associated with the “correct MRN” are treated as updated information.

An A30 (merge person information) is intended for merging person records without merging patient identifiers.

type ADT_A31

type ADT_A31 struct {
	HL7       HL7Name             `hl7:",name=ADT_A31,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	NK1       []NK1               `hl7:"5,display=Next of kin"`
	PV1       *PV1                `hl7:"6,required,display=Patient visit"`
	PV2       *PV2                `hl7:"7,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"8,display=Disability Segment"`
	OBX       []OBX               `hl7:"9,display=Observation segment"`
	AL1       []AL1               `hl7:"10,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"11,display=Diagnosis"`
	DRG       *DRG                `hl7:"12,display=Diagnosis Related Group"`
	Procedure []ADT_A31_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"15,display=Guarantor"`
	Insurance []ADT_A31_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 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.

type ADT_A31_Insurance

type ADT_A31_Insurance struct {
	HL7 HL7Name `hl7:",name=ADT_A31_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type ADT_A31_Procedure

type ADT_A31_Procedure struct {
	HL7 HL7Name `hl7:",name=ADT_A31_Procedure,type=tg"`
	PR1 *PR1    `hl7:"13,required,display=Procedures"`
	ROL []ROL   `hl7:"14,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 segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

Cancel patient arriving - tracking

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

type ADT_A33

type ADT_A33 struct {
	HL7 HL7Name `hl7:",name=ADT_A33,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
}

Cancel patient departing - tracking

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

type ADT_A34

type ADT_A34 struct {
	HL7 HL7Name `hl7:",name=ADT_A34,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
}

Merge patient information - patient id only

An A34 (merge patient information-patient ID only) event is intended for merging or changing patient identifiers. It would be used to change patient identifiers on all of this patient’s existing accounts

type ADT_A35

type ADT_A35 struct {
	HL7 HL7Name `hl7:",name=ADT_A35,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
}

Merge patient information - account number only

An A35 (merge patient information-account number only) event is intended for merging or changing an account number only.

type ADT_A36

type ADT_A36 struct {
	HL7 HL7Name `hl7:",name=ADT_A36,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
}

Merge patient information - patient id and account number

type ADT_A37

type ADT_A37 struct {
	HL7  HL7Name `hl7:",name=ADT_A37,type=t"`
	MSH  *MSH    `hl7:"1,required,display=Message header segment"`
	EVN  *EVN    `hl7:"2,required,display=Event type"`
	PID  *PID    `hl7:"3,required,display=Patient Identification"`
	PD1  *PD1    `hl7:"4,display=Patient Demographic"`
	PV1  *PV1    `hl7:"5,display=Patient visit"`
	DB1  []DB1   `hl7:"6,display=Disability Segment"`
	PID2 *PID    `hl7:"7,required,display=Patient Identification"`
	PV12 *PV1    `hl7:"8,display=Patient visit"`
	DB12 []DB1   `hl7:"9,display=Disability Segment"`
}

Unlink patient information

The A37 event unlinks two PID segments previously linked with an A24 (link patient information) event

type ADT_A38

type ADT_A38 struct {
	HL7 HL7Name `hl7:",name=ADT_A38,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	DB1 []DB1   `hl7:"7,display=Disability Segment"`
	OBX []OBX   `hl7:"8,display=Observation segment"`
	DG1 []DG1   `hl7:"9,display=Diagnosis"`
	DRG *DRG    `hl7:"10,display=Diagnosis Related Group"`
}

Cancel pre-admit

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

type ADT_A39

type ADT_A39 struct {
	HL7     HL7Name           `hl7:",name=ADT_A39,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	EVN     *EVN              `hl7:"2,required,display=Event type"`
	Patient []ADT_A39_Patient `hl7:",required,display=Patient"`
}

Merge person - external ID

An A39 event is used to signal a merge of records for a person that was incorrectly filed under two different external IDs.

type ADT_A39_Patient

type ADT_A39_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A39_Patient,type=tg"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
	PV1 *PV1    `hl7:"6,display=Patient visit"`
}

Patient

type ADT_A40

type ADT_A40 struct {
	HL7     HL7Name           `hl7:",name=ADT_A40,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	EVN     *EVN              `hl7:"2,required,display=Event type"`
	Patient []ADT_A40_Patient `hl7:",required,display=Patient"`
}

Merge patient - internal ID

An A40 event is used to signal a merge of records for a patient that was incorrectly filed under two different internal IDs.

A merge has been done at the internal identifier level. That is, two PID-3-patient ID (internal ID) identifiers have been merged into one.

type ADT_A40_Patient

type ADT_A40_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A40_Patient,type=tg"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
	PV1 *PV1    `hl7:"6,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 segment"`
	EVN     *EVN              `hl7:"2,required,display=Event type"`
	Patient []ADT_A41_Patient `hl7:",required,display=Patient"`
}

Merge account - patient account number

An A41 event is used to signal a merge of records for an account that was incorrectly filed under two different account numbers.

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

type ADT_A41_Patient

type ADT_A41_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A41_Patient,type=tg"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
	PV1 *PV1    `hl7:"6,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 segment"`
	EVN     *EVN              `hl7:"2,required,display=Event type"`
	Patient []ADT_A42_Patient `hl7:",required,display=Patient"`
}

Merge visit - visit number

An A42 event is used to signal a merge of records for a visit that was incorrectly filed under two different visit numbers.

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

type ADT_A42_Patient

type ADT_A42_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A42_Patient,type=tg"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
	PV1 *PV1    `hl7:"6,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 segment"`
	EVN     *EVN              `hl7:"2,required,display=Event type"`
	Patient []ADT_A43_Patient `hl7:",required,display=Patient"`
}

Move patient information - internal ID

An A43 event is used to signal a move of records identified by the MRG-1-prior patient ID-Internal from the “incorrect source external identifier” identified in the MRG segment (MRG-4-prior patient ID-external) to the “correct target external identifier” identified in the PID segment (PID-2-patient ID-external ID). The internal ID involved in identifying the patient to be moved (MRG-1-prior patient ID-internal) may or may not have accounts, which may or may not have visits.

A move has been done at the internal identifier level. That is, a PID-3-patient ID (internal ID) associated with one external identifier (PID-2-patient ID-external ID) has been moved to another external identifier.

type ADT_A43_Patient

type ADT_A43_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A43_Patient,type=tg"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,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 segment"`
	EVN     *EVN              `hl7:"2,required,display=Event type"`
	Patient []ADT_A44_Patient `hl7:",required,display=Patient"`
}

Move account information - patient account number

An A44 event is used to signal a move of records identified by the MRG-3-prior patient account number from the “incorrect source internal identifier” identified in the MRG segment (MRG-1-prior patient IDinternal) to the “correct target internal identifier” identified in the PID segment (PID-3-patient ID internal ID).

A move has been done at the account identifier level. That is, a PID-18-patient ID (account number) associated with one internal identifier (PID-3-patient ID (internal ID) has been moved to another internal identifier.

type ADT_A44_Patient

type ADT_A44_Patient struct {
	HL7 HL7Name `hl7:",name=ADT_A44_Patient,type=tg"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,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 segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	MergeInfo []ADT_A45_MergeInfo `hl7:",required,display=Merge Info"`
}

Move visit information - visit number

An A45 event is used to signal a move of records identified by the MRG-5-prior visit number or the MRG-6prior alternate visit ID from the “incorrect source account identifier” identified in the MRG segment (MRG3-prior patient account number) to the “correct target account identifier” identified in the PID segment (PID-18-patient account 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-account number) has been moved to another account identifier.

type ADT_A45_MergeInfo

type ADT_A45_MergeInfo struct {
	HL7 HL7Name `hl7:",name=ADT_A45_MergeInfo,type=tg"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
}

MergeInfo

type ADT_A46

type ADT_A46 struct {
	HL7 HL7Name `hl7:",name=ADT_A46,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
}

Change external ID

An A46 event is used to signal a change of an incorrectly assigned external ID value. The “incorrect source external ID” value is stored in the MRG segment (MRG-4-prior patient ID-external) and is to be changed to the “correct target external ID” value stored in the PID segment (PID-2-patient ID-external).

A change has been done at the external identifier level. That is, a PID-2-patient ID (external ID) has been found to be incorrect and has been changed.

type ADT_A47

type ADT_A47 struct {
	HL7 HL7Name `hl7:",name=ADT_A47,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
}

Change internal ID

An A47 event is used to signal a change of an incorrectly assigned internal ID value. The “incorrect source internal ID” value is stored in the MRG segment (MRG-1-prior patient ID-internal) and is to be changed to the “correct target external ID” value stored in the PID segment (PID-3-patient ID (internal ID).

A change has been done at the internal identifier level. That is, a PID-3-patient ID (internal ID) has been found to be incorrect and has been changed.

type ADT_A48

type ADT_A48 struct {
	HL7 HL7Name `hl7:",name=ADT_A48,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
}

Change alternate patient id

An A48 event is used to signal a change of an incorrectly assigned alternate patient identifier value. The “incorrect source alternate patient ID” value is stored in the MRG segment (MRG-2-prior alternate patient ID) and is to be changed to the “correct target alternate patient ID” value stored in the PID segment (PID-4alternate patient ID-PID).

A change has been done at the alternate patient identifier level. That is, a PID-4-alternate patient ID has been found to be incorrect and has been changed.

type ADT_A49

type ADT_A49 struct {
	HL7 HL7Name `hl7:",name=ADT_A49,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
}

Change patient account number

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).

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.

type ADT_A50

type ADT_A50 struct {
	HL7 HL7Name `hl7:",name=ADT_A50,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
}

Change visit number

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).

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.

type ADT_A51

type ADT_A51 struct {
	HL7 HL7Name `hl7:",name=ADT_A51,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	MRG *MRG    `hl7:"5,required,display=Merge patient information"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
}

Change alternate visit id

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).

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.

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=3,table=0206,display=Segment Action Code"`
	ResourceID               *CE     `hl7:"3,conditional,len=200,display=Resource ID"`
	ResourceType             CE      `hl7:"4,required,len=200,display=Resource Type"`
	ResourceGroup            []CE    `hl7:"5,len=200,display=Resource Group"`
	ResourceQuantity         NM      `hl7:"6,len=5,display=Resource Quantity"`
	ResourceQuantityUnits    *CE     `hl7:"7,len=200,display=Resource Quantity Units"`
	StartDateTime            TS      `hl7:"8,conditional,len=26,format=YMDHMS,display=Start Date/Time"`
	StartDateTimeOffset      NM      `hl7:"9,conditional,len=20,display=Start Date/Time Offset"`
	StartDateTimeOffsetUnits *CE     `hl7:"10,conditional,len=200,display=Start Date/Time Offset Units"`
	Duration                 NM      `hl7:"11,len=20,display=Duration"`
	DurationUnits            *CE     `hl7:"12,len=200,display=Duration Units"`
	AllowSubstitutionCode    IS      `hl7:"13,conditional,len=10,table=0279,display=Allow Substitution Code"`
	FillerStatusCode         *CE     `hl7:"14,conditional,len=200,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,len=80,display=Location Resource ID"`
	LocationType             CE      `hl7:"4,required,len=200,display=Location Type"`
	LocationGroup            *CE     `hl7:"5,len=200,display=Location Group"`
	StartDateTime            TS      `hl7:"6,conditional,len=26,format=YMDHMS,display=Start Date/Time"`
	StartDateTimeOffset      NM      `hl7:"7,conditional,len=20,display=Start Date/Time Offset"`
	StartDateTimeOffsetUnits *CE     `hl7:"8,conditional,len=200,display=Start Date/Time Offset Units"`
	Duration                 NM      `hl7:"9,len=20,display=Duration"`
	DurationUnits            *CE     `hl7:"10,len=200,display=Duration Units"`
	AllowSubstitutionCode    IS      `hl7:"11,conditional,len=10,table=0279,display=Allow Substitution Code"`
	FillerStatusCode         *CE     `hl7:"12,conditional,len=200,table=0278,display=Filler Status Code"`
}

Appointment Information - Location

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=3,table=0206,display=Segment Action Code"`
	PersonnelResourceID      *XCN    `hl7:"3,conditional,len=80,display=Personnel Resource ID"`
	ResourceRole             CE      `hl7:"4,required,len=200,display=Resource Role"`
	ResourceGroup            *CE     `hl7:"5,len=200,display=Resource Group"`
	StartDateTime            TS      `hl7:"6,conditional,len=26,format=YMDHMS,display=Start Date/Time"`
	StartDateTimeOffset      NM      `hl7:"7,conditional,len=20,display=Start Date/Time Offset"`
	StartDateTimeOffsetUnits *CE     `hl7:"8,conditional,len=200,display=Start Date/Time Offset Units"`
	Duration                 NM      `hl7:"9,len=20,display=Duration"`
	DurationUnits            *CE     `hl7:"10,len=200,display=Duration Units"`
	AllowSubstitutionCode    IS      `hl7:"11,conditional,len=10,table=0279,display=Allow Substitution Code"`
	FillerStatusCode         *CE     `hl7:"12,conditional,len=200,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=3,table=0206,display=Segment Action Code"`
	UniversalServiceIdentifier CE      `hl7:"3,required,len=200,display=Universal Service Identifier"`
	StartDateTime              TS      `hl7:"4,conditional,len=26,format=YMDHMS,display=Start Date/Time"`
	StartDateTimeOffset        NM      `hl7:"5,conditional,len=20,display=Start Date/Time Offset"`
	StartDateTimeOffsetUnits   *CE     `hl7:"6,conditional,len=200,display=Start Date/Time Offset Units"`
	Duration                   NM      `hl7:"7,len=20,display=Duration"`
	DurationUnits              *CE     `hl7:"8,len=200,display=Duration Units"`
	AllowSubstitutionCode      IS      `hl7:"9,conditional,len=10,table=0279,display=Allow Substitution Code"`
	FillerStatusCode           *CE     `hl7:"10,conditional,len=200,table=0278,display=Filler Status Code"`
}

Appointment Information - Service

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"`
	AllergyType                    IS      `hl7:"2,len=2,table=0127,display=Allergy Type"`
	AllergyCodeMnemonicDescription CE      `hl7:"3,required,len=60,display=Allergy Code/Mnemonic/ Description"`
	AllergySeverity                IS      `hl7:"4,len=2,table=0128,display=Allergy Severity"`
	AllergyReaction                ST      `hl7:"5,len=15,display=Allergy Reaction"`
	IdentificationDate             DT      `hl7:"6,len=8,format=YMD,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,len=80,table=0294,display=Time Selection Criteria"`
	ResourceSelectionCriteria []SCV   `hl7:"2,len=80,display=Resource Selection Criteria"`
	LocationSelectionCriteria []SCV   `hl7:"3,len=80,display=Location Selection Criteria"`
	SlotSpacingCriteria       NM      `hl7:"4,len=5,display=Slot Spacing Criteria"`
	FillerOverrideCriteria    []SCV   `hl7:"5,len=80,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,len=75,display=Placer Appointment ID"`
	FillerAppointmentID         *EI     `hl7:"2,conditional,len=75,display=Filler Appointment ID"`
	OccurrenceNumber            NM      `hl7:"3,conditional,len=5,display=Occurrence Number"`
	PlacerGroupNumber           *EI     `hl7:"4,len=75,display=Placer Group Number"`
	ScheduleID                  *CE     `hl7:"5,len=200,display=Schedule ID"`
	RequestEventReason          *CE     `hl7:"6,len=200,display=Request Event Reason"`
	AppointmentReason           *CE     `hl7:"7,len=200,table=0276,display=Appointment Reason"`
	AppointmentType             *CE     `hl7:"8,len=200,table=0277,display=Appointment Type"`
	AppointmentDuration         NM      `hl7:"9,len=20,display=Appointment Duration"`
	AppointmentDurationUnits    *CE     `hl7:"10,len=200,display=Appointment Duration Units"`
	RequestedStartDateTimeRange []DR    `hl7:"11,len=53,display=Requested Start Date/Time Range"`
	Priority                    ST      `hl7:"12,len=5,display=Priority"`
	RepeatingInterval           *RI     `hl7:"13,len=100,display=Repeating Interval"`
	RepeatingIntervalDuration   ST      `hl7:"14,len=5,display=Repeating Interval Duration"`
	PlacerContactPerson         XCN     `hl7:"15,required,len=48,display=Placer Contact Person"`
	PlacerContactPhoneNumber    []XTN   `hl7:"16,len=40,display=Placer Contact Phone Number"`
	PlacerContactAddress        *XAD    `hl7:"17,len=106,display=Placer Contact Address"`
	PlacerContactLocation       *PL     `hl7:"18,len=80,display=Placer Contact Location"`
	EnteredByPerson             XCN     `hl7:"19,required,len=48,display=Entered By Person"`
	EnteredByPhoneNumber        []XTN   `hl7:"20,len=40,display=Entered By Phone Number"`
	EnteredByLocation           *PL     `hl7:"21,len=80,display=Entered By Location"`
	ParentPlacerAppointmentID   *EI     `hl7:"22,len=75,display=Parent Placer Appointment ID"`
	ParentFillerAppointmentID   *EI     `hl7:"23,len=75,display=Parent Filler Appointment ID"`
}

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 AUT

type AUT struct {
	HL7                          HL7Name `hl7:",name=AUT,type=s"`
	AuthorizingPayorPlanCode     *CE     `hl7:"1,len=200,table=0072,display=Authorizing Payor- Plan Code"`
	AuthorizingPayorCompanyID    CE      `hl7:"2,required,len=200,table=0285,display=Authorizing Payor- Company ID"`
	AuthorizingPayorCompanyName  ST      `hl7:"3,len=45,display=Authorizing Payor- Company Name"`
	AuthorizationEffectiveDate   TS      `hl7:"4,len=26,format=YMDHMS,display=Authorization Effective Date"`
	AuthorizationExpirationDate  TS      `hl7:"5,len=26,format=YMDHMS,display=Authorization Expiration Date"`
	AuthorizationIdentifier      *EI     `hl7:"6,conditional,len=30,display=Authorization Identifier"`
	ReimbursementLimit           *CP     `hl7:"7,len=25,display=Reimbursement Limit"`
	RequestedNumberOfTreatments  NM      `hl7:"8,len=2,display=Requested Number of Treatments"`
	AuthorizedNumberOfTreatments NM      `hl7:"9,len=2,display=Authorized Number of Treatments"`
	ProcessDate                  TS      `hl7:"10,len=26,format=YMDHMS,display=Process Date"`
}

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 segment"`
	EVN   *EVN            `hl7:"2,required,display=Event type"`
	PID   *PID            `hl7:"3,required,display=Patient Identification"`
	PD1   *PD1            `hl7:"4,display=Patient Demographic"`
	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.

type BAR_P01_Insurance

type BAR_P01_Insurance struct {
	HL7 HL7Name `hl7:",name=BAR_P01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type BAR_P01_Procedure

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

Procedure

type BAR_P01_Visit

type BAR_P01_Visit struct {
	HL7       HL7Name             `hl7:",name=BAR_P01_Visit,type=tg"`
	PV1       *PV1                `hl7:"5,display=Patient visit"`
	PV2       *PV2                `hl7:"6,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"7,display=Disability Segment"`
	OBX       []OBX               `hl7:"8,display=Observation segment"`
	AL1       []AL1               `hl7:"9,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"10,display=Diagnosis"`
	DRG       *DRG                `hl7:"11,display=Diagnosis Related Group"`
	Procedure []BAR_P01_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"14,display=Guarantor"`
	NK1       []NK1               `hl7:"15,display=Next of kin"`
	Insurance []BAR_P01_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 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 segment"`
	EVN     *EVN              `hl7:"2,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:"3,required,display=Patient Identification"`
	PD1 *PD1    `hl7:"4,display=Patient Demographic"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	DB1 []DB1   `hl7:"6,display=Disability Segment"`
}

Patient

type BAR_P05

type BAR_P05 struct {
	HL7   HL7Name         `hl7:",name=BAR_P05,type=t"`
	MSH   *MSH            `hl7:"1,required,display=Message header segment"`
	EVN   *EVN            `hl7:"2,required,display=Event type"`
	PID   *PID            `hl7:"3,required,display=Patient Identification"`
	PD1   *PD1            `hl7:"4,display=Patient Demographic"`
	Visit []BAR_P05_Visit `hl7:",required,display=Visit"`
}

Update account

The P05 event is sent when an existing account is being updated. From Standard 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.

type BAR_P05_Insurance

type BAR_P05_Insurance struct {
	HL7 HL7Name `hl7:",name=BAR_P05_Insurance,type=tg"`
	IN1 *IN1    `hl7:"16,required,display=Insurance"`
	IN2 *IN2    `hl7:"17,display=Insurance additional info"`
	IN3 *IN3    `hl7:"18,display=Insurance additional info - certification"`
}

Insurance

type BAR_P05_Procedure

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

Procedure

type BAR_P05_Visit

type BAR_P05_Visit struct {
	HL7       HL7Name             `hl7:",name=BAR_P05_Visit,type=tg"`
	PV1       *PV1                `hl7:"5,display=Patient visit"`
	PV2       *PV2                `hl7:"6,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"7,display=Disability Segment"`
	OBX       []OBX               `hl7:"8,display=Observation segment"`
	AL1       []AL1               `hl7:"9,display=Patient Allergy Information"`
	DG1       []DG1               `hl7:"10,display=Diagnosis"`
	DRG       *DRG                `hl7:"11,display=Diagnosis Related Group"`
	Procedure []BAR_P05_Procedure `hl7:",display=Procedure"`
	GT1       []GT1               `hl7:"14,display=Guarantor"`
	NK1       []NK1               `hl7:"15,display=Next of kin"`
	Insurance []BAR_P05_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"19,display=Accident"`
	UB1       *UB1                `hl7:"20,display=UB82  data"`
	UB2       *UB2                `hl7:"21,display=UB92 data"`
}

Visit

type BAR_P06

type BAR_P06 struct {
	HL7     HL7Name           `hl7:",name=BAR_P06,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	EVN     *EVN              `hl7:"2,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-date/time of event 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:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,display=Patient visit"`
}

Patient

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=3,display=Batch Encoding Characters"`
	BatchSendingApplication   ST      `hl7:"3,len=15,display=Batch Sending Application"`
	BatchSendingFacility      ST      `hl7:"4,len=20,display=Batch Sending Facility"`
	BatchReceivingApplication ST      `hl7:"5,len=15,display=Batch Receiving Application"`
	BatchReceivingFacility    ST      `hl7:"6,len=20,display=Batch Receiving Facility"`
	BatchCreationDateTime     TS      `hl7:"7,len=26,format=YMDHMS,display=Batch Creation Date/Time"`
	BatchSecurity             ST      `hl7:"8,len=40,display=Batch Security"`
	BatchNameIDType           ST      `hl7:"9,len=20,display=Batch Name/ID/Type"`
	BatchComment              ST      `hl7:"10,len=80,display=Batch Comment"`
	BatchControlID            ST      `hl7:"11,len=20,display=Batch Control ID"`
	ReferenceBatchControlID   ST      `hl7:"12,len=20,display=Reference Batch Control ID"`
}

Batch Header Segment

The BHS segment defines the start of a batch.

type BLG

type BLG struct {
	HL7          HL7Name `hl7:",name=BLG,type=s"`
	WhenToCharge *CM_CCD `hl7:"1,len=40,display=When to Charge"`
	ChargeType   ID      `hl7:"2,len=50,table=0122,display=Charge Type"`
	AccountID    *CK     `hl7:"3,len=100,display=Account ID"`
}

Billing

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

type BTS

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

Batch Trailer Segment

The BTS segment defines the end of a batch.

type CDM

type CDM struct {
	HL7                          HL7Name `hl7:",name=CDM,type=s"`
	PrimaryKeyValue              CE      `hl7:"1,required,len=200,table=0132,display=Primary Key Value"`
	ChargeCodeAlias              []CE    `hl7:"2,len=200,display=Charge Code Alias"`
	ChargeDescriptionShort       ST      `hl7:"3,required,len=20,display=Charge Description Short"`
	ChargeDescriptionLong        ST      `hl7:"4,len=250,display=Charge Description Long"`
	DescriptionOverrideIndicator IS      `hl7:"5,len=1,table=0268,display=Description Override Indicator"`
	ExplodingCharges             []CE    `hl7:"6,len=60,display=Exploding Charges"`
	ProcedureCode                []CE    `hl7:"7,len=200,display=Procedure Code"`
	ActiveInactiveFlag           ID      `hl7:"8,len=1,table=0183,display=Active/Inactive Flag"`
	InventoryNumber              []CE    `hl7:"9,len=60,display=Inventory Number"`
	ResourceLoad                 NM      `hl7:"10,len=12,display=Resource Load"`
	ContractNumber               []CK    `hl7:"11,len=200,display=Contract Number"`
	ContractOrganization         *XON    `hl7:"12,len=200,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 CE

type CE struct {
	HL7                         HL7Name `hl7:",name=CE,len=0,type=d"`
	Identifier                  ST      `` /* 175-byte string literal not displayed */
	Text                        ST      `` /* 142-byte string literal not displayed */
	NameOfCodingSystem          ST      `` /* 648-byte string literal not displayed */
	AlternateIdentifier         ST      `` /* 378-byte string literal not displayed */
	AlternateText               ST      `` /* 378-byte string literal not displayed */
	NameOfAlternateCodingSystem ST      `` /* 378-byte string literal not displayed */
}

Coded Element

This data type transmits codes and the text associated with the code. To allow all six components of a CE data type to be valued, the maximum length of this data type must be at least 60 (see Section 2.6.2, “Maximum length”)

Example: |F-11380^CREATININE^I9^2148-5^CREATININE^LN|

type CK

type CK struct {
	HL7                                        HL7Name `hl7:",name=CK,len=0,type=d"`
	IDNumber                                   NM      `hl7:"1,display=ID Number"`
	CheckDigit                                 ST      `` /* 334-byte string literal not displayed */
	CodeIdentifyingTheCheckDigitSchemeEmployed ID      `hl7:"3,table=0061,display=The check digit scheme codes are defined in HL7 table 0061 - Check digit scheme"`
	AssigningAuthority                         *HD     `` /* 279-byte string literal not displayed */
}

Composite ID With Check Digit

This data type is used for certain fields that commonly contain check digits, e.g., PID-3-patient ID (internal). If a site is not using check digits for a particular CK field, the second and third components are not valued.

Example: |128952^6^M11^ADT01|

type CM0

type CM0 struct {
	HL7                 HL7Name `hl7:",name=CM0,type=s"`
	SetID               SI      `hl7:"1,seq,len=4,display=CM0 - Set ID"`
	SponsorStudyID      EI      `hl7:"2,required,len=60,display=Sponsor Study ID"`
	AlternateStudyID    []CE    `hl7:"3,max=3,len=60,display=Alternate Study ID"`
	TitleOfStudy        ST      `hl7:"4,required,len=300,display=Title of Study"`
	ChairmanOfStudy     *XCN    `hl7:"5,len=60,display=Chairman of Study"`
	LastIRBApprovalDate DT      `hl7:"6,len=8,format=YMD,display=Last IRB Approval Date"`
	TotalAccrualToDate  NM      `hl7:"7,len=8,display=Total Accrual to Date"`
	LastAccrualDate     DT      `hl7:"8,len=8,format=YMD,display=Last Accrual Date"`
	ContactForStudy     *XCN    `hl7:"9,len=60,display=Contact for Study"`
	ContactsTelNumber   *XTN    `hl7:"10,len=40,display=Contact's Tel. Number"`
	ContactsAddress     *XAD    `hl7:"11,len=100,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=CM1 - Set ID"`
	StudyPhaseIdentifier    CE      `hl7:"2,required,len=60,display=Study Phase Identifier"`
	DescriptionOfStudyPhase ST      `hl7:"3,required,len=300,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=CM2 - Set ID"`
	ScheduledTimePoint           CE      `hl7:"2,required,len=60,display=Scheduled Time Point"`
	DescriptionOfTimePoint       ST      `hl7:"3,len=300,display=Description of Time Point"`
	EventsScheduledThisTimePoint []CE    `hl7:"4,required,max=200,len=60,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 CM_ABS_RANGE

type CM_ABS_RANGE struct {
	HL7              HL7Name   `hl7:",name=CM_ABS_RANGE,len=0,type=d"`
	Range            *CM_RANGE `hl7:"1,display=Range"`
	NumericChange    NM        `hl7:"2,display=Numeric Change"`
	PercentPerChange NM        `hl7:"3,display=Percent Per Change"`
	Days             NM        `hl7:"4,display=Days"`
}

Absolute Range

type CM_AUI

type CM_AUI struct {
	HL7                 HL7Name `hl7:",name=CM_AUI,len=0,type=d"`
	AuthorizationNumber ST      `hl7:"1,display=Authorization Number"`
	Date                DT      `hl7:"2,format=YMD,display=Date"`
	Source              ST      `hl7:"3,display=Source"`
}

Authorization Information

type CM_CCD

type CM_CCD struct {
	HL7              HL7Name `hl7:",name=CM_CCD,len=0,type=d"`
	WhenToChargeCode ID      `hl7:"1,table=0100,display=When To Charge Code"`
	DateTime         TS      `hl7:"2,format=YMDHMS,display=Date/time"`
}

Charge Time

type CM_DDI

type CM_DDI struct {
	HL7          HL7Name `hl7:",name=CM_DDI,len=0,type=d"`
	DelayDays    NM      `hl7:"1,display=Delay Days"`
	Amount       NM      `hl7:"2,display=Amount"`
	NumberOfDays NM      `hl7:"3,display=Number Of Days"`
}

Daily Deductible

type CM_DIN

type CM_DIN struct {
	HL7             HL7Name `hl7:",name=CM_DIN,len=0,type=d"`
	Date            TS      `hl7:"1,format=YMDHMS,display=Date"`
	InstitutionName *CE     `hl7:"2,display=Institution Name"`
}

Activation Date

type CM_DLD

type CM_DLD struct {
	HL7               HL7Name `hl7:",name=CM_DLD,len=0,type=d"`
	DischargeLocation ID      `hl7:"1,table=0113,display=Discharge Location"`
	EffectiveDate     TS      `hl7:"2,format=YMDHMS,display=Effective Date"`
}

Discharge Location

type CM_DLT

type CM_DLT struct {
	HL7              HL7Name   `hl7:",name=CM_DLT,len=0,type=d"`
	Range            *CM_RANGE `` /* 235-byte string literal not displayed */
	NumericThreshold NM        `hl7:"2,display=The numeric threshold of the change that is detected- e.g.- 10. "`
	Change           ST        `` /* 194-byte string literal not displayed */
	LengthOfTimeDays NM        `` /* 131-byte string literal not displayed */
}

Delta Check

type CM_DTN

type CM_DTN struct {
	HL7          HL7Name `hl7:",name=CM_DTN,len=0,type=d"`
	DayType      IS      `hl7:"1,table=0149,display=Day Type"`
	NumberOfDays NM      `hl7:"2,display=Number Of Days"`
}

Day Type And Number

type CM_EIP

type CM_EIP struct {
	HL7                      HL7Name `hl7:",name=CM_EIP,len=0,type=d"`
	ParentSPlacerOrderNumber *EI     `hl7:"1,display=Parent s Placer Order Number"`
	ParentSFillerOrderNumber *EI     `hl7:"2,display=Parent s Filler Order Number"`
}

Parent Order

type CM_ELD

type CM_ELD struct {
	HL7                  HL7Name `hl7:",name=CM_ELD,len=0,type=d"`
	SegmentID            ST      `hl7:"1,display=Segment ID"`
	Sequence             NM      `hl7:"2,display=Sequence"`
	FieldPosition        NM      `hl7:"3,display=Field Position"`
	CodeIdentifyingError *CE     `hl7:"4,display=Code Identifying Error"`
}

Error

type CM_MOC

type CM_MOC struct {
	HL7          HL7Name `hl7:",name=CM_MOC,len=0,type=d"`
	DollarAmount *MO     `hl7:"1,display=Dollar Amount"`
	ChargeCode   *CE     `hl7:"2,display=Charge Code"`
}

Charge To Practise

type CM_MSG

type CM_MSG struct {
	HL7          HL7Name `hl7:",name=CM_MSG,len=0,type=d"`
	MessageType  ID      `hl7:"1,table=0076,display=The first component is the message type edited by HL7 table 0076 - Message type"`
	TriggerEvent ID      `hl7:"2,table=0003,display=The second is the trigger event code edited by HL7 table 0003 - Event type."`
}

Message Type

This field contains the message type and trigger event for the message.

func (CM_MSG) MessageStructureID

func (d CM_MSG) MessageStructureID() string

type CM_NDL

type CM_NDL struct {
	HL7                HL7Name `hl7:",name=CM_NDL,len=0,type=d"`
	OPName             *CN     `hl7:"1,display=OP Name"`
	StartDateTime      TS      `hl7:"2,format=YMDHMS,display=Start Date/time"`
	EndDateTime        TS      `hl7:"3,format=YMDHMS,display=End Date/time"`
	PointOfCare        IS      `hl7:"4,table=0302,display=Point Of Care"`
	Room               IS      `hl7:"5,table=0303,display=Room"`
	Bed                IS      `hl7:"6,table=0304,display=Bed"`
	Facility           *HD     `hl7:"7,display=Facility"`
	LocationStatus     IS      `hl7:"8,table=0306,display=Location Status"`
	PersonLocationType IS      `hl7:"9,table=0305,display=Person Location Type"`
	Building           IS      `hl7:"10,table=0307,display=Building"`
	Floor              ST      `hl7:"11,display=Floor"`
}

Observing Practitioner

type CM_OCD

type CM_OCD struct {
	HL7            HL7Name `hl7:",name=CM_OCD,len=0,type=d"`
	OccurrenceCode *CE     `hl7:"1,display=Occurrence Code"`
	OccurrenceDate DT      `hl7:"2,format=YMD,display=Occurrence Date"`
}

Occurence

type CM_OSD

type CM_OSD struct {
	HL7                               HL7Name `hl7:",name=CM_OSD,len=0,type=d"`
	SequenceResultsFlag               ID      `` /* 542-byte string literal not displayed */
	PlacerOrderNumberEntityIdentifier ST      `` /* 265-byte string literal not displayed */
	PlacerOrderNumberNamespaceID      IS      `` /* 256-byte string literal not displayed */
	FillerOrderNumberEntityIdentifier ST      `` /* 267-byte string literal not displayed */
	FillerOrderNumberNamespaceID      IS      `` /* 258-byte string literal not displayed */
	SequenceConditionValue            ST      `` /* 904-byte string literal not displayed */
	MaximumNumberOfRepeats            NM      `` /* 219-byte string literal not displayed */
	PlacerOrderNumberUniversalID      ST      `` /* 266-byte string literal not displayed */
	PlacerOrderNumberUniversalIDType  ID      `` /* 257-byte string literal not displayed */
	FillerOrderNumberUniversalID      ST      `` /* 266-byte string literal not displayed */
	FillerOrderNumberUniversalIDType  ID      `` /* 257-byte string literal not displayed */
}

Order Sequence

There are many situations, such as the creation of an order 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 order’s instructions contains a results condition of some type, such as “PRN pain.” There is currently a free text “condition” component of ORC-7-quantity/timing which allows any condition to be specified. However, to support a fully encoded version of order sequencing, or results condition, we have defined in the following paragraphs a 10th component of ORC-7quantity/timing.

The sequencing conditions supported by this 10th component are based on the completion of a predecessor service.

type CM_OSP

type CM_OSP struct {
	HL7                     HL7Name `hl7:",name=CM_OSP,len=0,type=d"`
	OccurrenceSpanCode      *CE     `hl7:"1,display=Occurrence Span Code"`
	OccurrenceSpanStartDate DT      `hl7:"2,format=YMD,display=Occurrence Span Start Date"`
	OccurrenceSpanStopDate  DT      `hl7:"3,format=YMD,display=Occurrence Span Stop Date"`
}

Occurence Span

type CM_PCF

type CM_PCF struct {
	HL7                         HL7Name `hl7:",name=CM_PCF,len=0,type=d"`
	PreCertificationPatientType IS      `` /* 146-byte string literal not displayed */
	PreCertificationRequired    ID      `hl7:"2,table=0136,display=pre-certification required refers to HL7 table 0136 - Yes/no indicator for valid values "`
	PreCertificationWindwow     TS      `hl7:"3,format=YMDHMS,display=Pre-certification Windwow"`
}

Pre-certification Required

This field indicates whether pre-certification is required for particular patient types, and the time window for obtaining the certification.

type CM_PEN

type CM_PEN struct {
	HL7           HL7Name `hl7:",name=CM_PEN,len=0,type=d"`
	PenaltyType   IS      `hl7:"1,table=0148,display=Penalty Type"`
	PenaltyAmount NM      `hl7:"2,display=Penalty Amount"`
}

Penalty

type CM_PI

type CM_PI struct {
	HL7                 HL7Name `hl7:",name=CM_PI,len=0,type=d"`
	IDNumber            ST      `hl7:"1,display=ID Number"`
	TypeOfIDNumber      IS      `hl7:"2,display=Type Of ID Number"`
	OtherQualifyingInfo ST      `hl7:"3,display=Other Qualifying Info"`
}

Person Identifier

type CM_PIP

type CM_PIP struct {
	HL7            HL7Name `hl7:",name=CM_PIP,len=0,type=d"`
	Privilege      *CE     `hl7:"1,display=Privilege"`
	PrivilegeClass *CE     `hl7:"2,display=Privilege Class"`
	ExpirationDate DT      `hl7:"3,format=YMD,display=Expiration Date"`
	ActivationDate DT      `hl7:"4,format=YMD,display=Activation Date"`
}

Privileges

type CM_PLN

type CM_PLN struct {
	HL7                      HL7Name `hl7:",name=CM_PLN,len=0,type=d"`
	IDNumber                 ST      `hl7:"1,display=ID Number"`
	TypeOfIDNumber           IS      `hl7:"2,table=0338,display=Type Of ID Number"`
	StateOtherQualifyingInfo ST      `hl7:"3,display=State/other Qualifying Info"`
	ExpirationDate           DT      `hl7:"4,format=YMD,display=Expiration Date"`
}

Practitioner ID Numbers

type CM_PRL

type CM_PRL struct {
	HL7                                     HL7Name `hl7:",name=CM_PRL,len=0,type=d"`
	OBX3ObservationIdentifierOfParentResult *CE     `hl7:"1,display=OBX-3 Observation Identifier Of Parent Result"`
	OBX4SubIDOfParentResult                 ST      `hl7:"2,display=OBX-4 Sub-ID Of Parent Result"`
	PartOfOBX5ObservationResultFromParent   TX      `hl7:"3,display=Part Of OBX-5 Observation Result From Parent"`
}

Parent Result Link

type CM_PTA

type CM_PTA struct {
	HL7         HL7Name `hl7:",name=CM_PTA,len=0,type=d"`
	PolicyType  IS      `hl7:"1,table=0147,display=Policy Type"`
	AmountClass IS      `hl7:"2,table=0193,display=Amount Class"`
	Amount      NM      `hl7:"3,display=Amount"`
}

Policy Type

type CM_RANGE

type CM_RANGE struct {
	HL7       HL7Name `hl7:",name=CM_RANGE,len=0,type=d"`
	LowValue  ST      `hl7:"1,display=Low Value"`
	HighValue ST      `hl7:"2,display=High Value"`
}

Wertebereich

type CM_RFR

type CM_RFR struct {
	HL7            HL7Name   `hl7:",name=CM_RFR,len=0,type=d"`
	ReferenceRange *CM_RANGE `` /* 304-byte string literal not displayed */
	Sex            IS        `` /* 138-byte string literal not displayed */
	AgeRange       *CM_RANGE `` /* 569-byte string literal not displayed */
	AgeGestation   *CM_RANGE `` /* 463-byte string literal not displayed */
	Species        TX        `` /* 150-byte string literal not displayed */
	RaceSubspecies ST        `` /* 247-byte string literal not displayed */
	Conditions     TX        `` /* 369-byte string literal not displayed */
}

Reference Range

type CM_RMC

type CM_RMC struct {
	HL7            HL7Name `hl7:",name=CM_RMC,len=0,type=d"`
	RoomType       IS      `hl7:"1,table=0145,display=Room Type"`
	AmountType     IS      `hl7:"2,table=0146,display=Amount Type"`
	CoverageAmount NM      `hl7:"3,display=Coverage Amount"`
}

Room Coverage

type CM_SPD

type CM_SPD struct {
	HL7                 HL7Name `hl7:",name=CM_SPD,len=0,type=d"`
	SpecialtyName       ST      `hl7:"1,display=Specialty Name"`
	GoverningBoard      ST      `hl7:"2,display=Governing Board"`
	EligibleOrCertified ID      `hl7:"3,table=0337,display=Eligible Or Certified"`
	DateOfCertification DT      `hl7:"4,format=YMD,display=Date Of Certification"`
}

Specialty

type CM_SPS

type CM_SPS struct {
	HL7                          HL7Name `hl7:",name=CM_SPS,len=0,type=d"`
	SpecimenSourceNameOrCode     *CE     `hl7:"1,table=0070,display=Specimen Source Name Or Code"`
	Additives                    TX      `hl7:"2,display=Additives"`
	Freetext                     TX      `hl7:"3,display=Freetext"`
	BodySite                     *CE     `hl7:"4,display=Body Site"`
	SiteModifier                 *CE     `hl7:"5,display=Site Modifier"`
	CollectionModifierMethodCode *CE     `hl7:"6,display=Collection Modifier Method Code"`
}

Specimen Source

type CM_UVC

type CM_UVC struct {
	HL7         HL7Name `hl7:",name=CM_UVC,len=0,type=d"`
	ValueCode   IS      `hl7:"1,table=0153,display=Value Code"`
	ValueAmount NM      `hl7:"2,display=Value Amount"`
}

Value Code And Amount

type CM_VR

type CM_VR struct {
	HL7                HL7Name `hl7:",name=CM_VR,len=0,type=d"`
	FirstDataCodeValue ST      `hl7:"1,display=First Data Code Value"`
	LastDataCodeCalue  ST      `hl7:"2,display=Last Data Code Calue"`
}

Value Qualifier

type CN

type CN struct {
	HL7                 HL7Name `hl7:",name=CN,len=0,type=d"`
	IDNumber            ST      `` /* 191-byte string literal not displayed */
	FamilyName          ST      `hl7:"2,display=Family Name"`
	GivenName           ST      `hl7:"3,display=Given Name"`
	MiddleInitialOrName ST      `hl7:"4,display=Middle Initial Or Name"`
	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      `hl7:"7,display=Used to specify an educational degree (e.g.- MD). "`
	SourceTable         ID      `` /* 136-byte string literal not displayed */
	AssigningAuthority  ST      `hl7:"9,display=Assigning Authority"`
}

Composite ID Number And Name

A field identifying a person both as a coded value and with a text name. For specific fields, individual sites may elect to omit the ID or the name

Example: |12372^RIGGINS^JOHN^""^""^""^MD^ADT1| |12372^^^^^^^ADT1| |^RIGGINS^JOHN^""^""^""^MD|

type CP

type CP struct {
	HL7        HL7Name `hl7:",name=CP,len=0,type=d"`
	Price      *MO     `hl7:"1,display=The only required component; usually containing a decimal point. "`
	PriceType  ID      `hl7:"2,table=0205,display=A coded value- data type ID.  Refer to HL7 table 0205 - Price type for valid values"`
	FromValue  NM      `` /* 476-byte string literal not displayed */
	ToValue    NM      `hl7:"4,display=See From value"`
	RangeUnits *CE     `` /* 355-byte string literal not displayed */
	RangeType  ID      `hl7:"6,table=0298,display=Refers to HL7 table 0298 - CP range type for valid values"`
}

Composite Price

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=Quantity"`
	Units    ST      `` /* 673-byte string literal not displayed */
}

Composite Quantity With Units

In future versions, CQ fields should be avoided because the same data can usually be sent as two separate fields, one with the value and one with the units as a CE data type

Examples:

|123.7^kg| kilograms is an ISO unit |150^lb&&ANSI+| weight in pounds is a customary US unit defined within ANSI+

type CRM_C01

type CRM_C01 struct {
	HL7     HL7Name           `hl7:",name=CRM_C01,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header 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

type CRM_C01_Patient

type CRM_C01_Patient struct {
	HL7 HL7Name `hl7:",name=CRM_C01_Patient,type=tg"`
	PID *PID    `hl7:"2,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"3,display=Patient visit"`
	CSR *CSR    `hl7:"4,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"5,display=Clinical Study Phase"`
}

Patient

type CRM_C02

type CRM_C02 struct {
	HL7     HL7Name           `hl7:",name=CRM_C02,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	Patient []CRM_C02_Patient `hl7:",required,display=Patient"`
}

Cancel a patient registration on 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

type CRM_C02_Patient

type CRM_C02_Patient struct {
	HL7 HL7Name `hl7:",name=CRM_C02_Patient,type=tg"`
	PID *PID    `hl7:"2,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"3,display=Patient visit"`
	CSR *CSR    `hl7:"4,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"5,display=Clinical Study Phase"`
}

Patient

type CRM_C03

type CRM_C03 struct {
	HL7     HL7Name           `hl7:",name=CRM_C03,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header 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

type CRM_C03_Patient

type CRM_C03_Patient struct {
	HL7 HL7Name `hl7:",name=CRM_C03_Patient,type=tg"`
	PID *PID    `hl7:"2,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"3,display=Patient visit"`
	CSR *CSR    `hl7:"4,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"5,display=Clinical Study Phase"`
}

Patient

type CRM_C04

type CRM_C04 struct {
	HL7     HL7Name           `hl7:",name=CRM_C04,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header 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

type CRM_C04_Patient

type CRM_C04_Patient struct {
	HL7 HL7Name `hl7:",name=CRM_C04_Patient,type=tg"`
	PID *PID    `hl7:"2,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"3,display=Patient visit"`
	CSR *CSR    `hl7:"4,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"5,display=Clinical Study Phase"`
}

Patient

type CRM_C05

type CRM_C05 struct {
	HL7     HL7Name           `hl7:",name=CRM_C05,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header 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

type CRM_C05_Patient

type CRM_C05_Patient struct {
	HL7 HL7Name `hl7:",name=CRM_C05_Patient,type=tg"`
	PID *PID    `hl7:"2,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"3,display=Patient visit"`
	CSR *CSR    `hl7:"4,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"5,display=Clinical Study Phase"`
}

Patient

type CRM_C06

type CRM_C06 struct {
	HL7     HL7Name           `hl7:",name=CRM_C06,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	Patient []CRM_C06_Patient `hl7:",required,display=Patient"`
}

Cancel patient entering a phase

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

type CRM_C06_Patient

type CRM_C06_Patient struct {
	HL7 HL7Name `hl7:",name=CRM_C06_Patient,type=tg"`
	PID *PID    `hl7:"2,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"3,display=Patient visit"`
	CSR *CSR    `hl7:"4,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"5,display=Clinical Study Phase"`
}

Patient

type CRM_C07

type CRM_C07 struct {
	HL7     HL7Name           `hl7:",name=CRM_C07,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header 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

type CRM_C07_Patient

type CRM_C07_Patient struct {
	HL7 HL7Name `hl7:",name=CRM_C07_Patient,type=tg"`
	PID *PID    `hl7:"2,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"3,display=Patient visit"`
	CSR *CSR    `hl7:"4,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"5,display=Clinical Study Phase"`
}

Patient

type CRM_C08

type CRM_C08 struct {
	HL7     HL7Name           `hl7:",name=CRM_C08,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header 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

type CRM_C08_Patient

type CRM_C08_Patient struct {
	HL7 HL7Name `hl7:",name=CRM_C08_Patient,type=tg"`
	PID *PID    `hl7:"2,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"3,display=Patient visit"`
	CSR *CSR    `hl7:"4,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"5,display=Clinical Study Phase"`
}

Patient

type CSP

type CSP struct {
	HL7                     HL7Name `hl7:",name=CSP,type=s"`
	StudyPhaseIdentifier    CE      `hl7:"1,required,len=60,display=Study Phase Identifier"`
	DateTimeStudyPhaseBegan TS      `hl7:"2,required,len=26,format=YMDHMS,display=Date/time Study Phase Began"`
	DateTimeStudyPhaseEnded TS      `hl7:"3,len=26,format=YMDHMS,display=Date/time Study Phase Ended"`
	StudyPhaseEvaluability  *CE     `hl7:"4,conditional,len=60,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.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,len=60,display=Sponsor Study ID"`
	AlternateStudyID                   *EI     `hl7:"2,len=60,display=Alternate Study ID"`
	InstitutionRegisteringThePatient   *CE     `hl7:"3,len=60,display=Institution Registering the Patient"`
	SponsorPatientID                   CX      `hl7:"4,required,len=30,display=Sponsor Patient ID"`
	AlternatePatientID                 *CX     `hl7:"5,len=30,display=Alternate Patient ID"`
	DateTimeOfPatientStudyRegistration TS      `hl7:"6,required,len=26,format=YMDHMS,display=Date/Time of Patient Study Registration"`
	PersonPerformingStudyRegistration  *XCN    `hl7:"7,len=60,display=Person Performing Study Registration"`
	StudyAuthorizingProvider           XCN     `hl7:"8,required,len=60,display=Study Authorizing Provider"`
	DateTimePatientStudyConsentSigned  TS      `hl7:"9,conditional,len=26,format=YMDHMS,display=Date/time Patient Study Consent Signed"`
	PatientStudyEligibilityStatus      *CE     `hl7:"10,conditional,len=60,display=Patient Study Eligibility Status"`
	StudyRandomizationDateTime         []TS    `hl7:"11,max=3,len=26,format=YMDHMS,display=Study Randomization Date/time"`
	StudyRandomizedArm                 []CE    `hl7:"12,max=3,len=200,display=Study Randomized Arm"`
	StratumForStudyRandomization       []CE    `hl7:"13,max=3,len=200,display=Stratum for Study Randomization"`
	PatientEvaluabilityStatus          *CE     `hl7:"14,conditional,len=60,display=Patient Evaluability Status"`
	DateTimeEndedStudy                 TS      `hl7:"15,conditional,len=26,format=YMDHMS,display=Date/time Ended Study"`
	ReasonEndedStudy                   *CE     `hl7:"16,conditional,len=60,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        CE      `hl7:"1,required,len=60,display=Study Scheduled Time Point"`
	StudyScheduledPatientTimePoint TS      `hl7:"2,len=26,format=YMDHMS,display=Study Scheduled Patient Time Point"`
	StudyQualityControlCodes       []CE    `hl7:"3,max=3,len=60,display=Study Quality Control Codes"`
}

Clinical Study Data Schedule

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 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

type CSU_C09_Patient

type CSU_C09_Patient struct {
	HL7        HL7Name              `hl7:",name=CSU_C09_Patient,type=tg"`
	PID        *PID                 `hl7:"2,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"3,display=Patient Demographic"`
	NTE        []NTE                `hl7:"4,display=Notes and comments segment"`
	Visit      *CSU_C09_Visit       `hl7:",display=Visit"`
	CSR        *CSR                 `hl7:"7,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:"14,required,display=Pharmacy administration segment"`
	RXR *RXR    `hl7:"15,required,display=Pharmacy route segment"`
}

RxAdmin

type CSU_C09_StudyObservation

type CSU_C09_StudyObservation struct {
	HL7 HL7Name `hl7:",name=CSU_C09_StudyObservation,type=tg"`
	ORC *ORC    `hl7:"10,display=Common order segment"`
	OBR *OBR    `hl7:"11,required,display=Observation request segment"`
	OBX []OBX   `hl7:"12,required,display=Observation segment"`
}

StudyObservation

type CSU_C09_StudyPharm

type CSU_C09_StudyPharm struct {
	HL7     HL7Name           `hl7:",name=CSU_C09_StudyPharm,type=tg"`
	ORC     *ORC              `hl7:"13,display=Common order segment"`
	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:"8,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:"9,display=Clinical Study Data Schedule"`
	StudyObservation []CSU_C09_StudyObservation `hl7:",display=Study Observation"`
	StudyPharm       []CSU_C09_StudyPharm       `hl7:",required,display=Study Pharm"`
}

StudySchedule

type CSU_C09_Visit

type CSU_C09_Visit struct {
	HL7 HL7Name `hl7:",name=CSU_C09_Visit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional 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 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

type CSU_C10_Patient

type CSU_C10_Patient struct {
	HL7        HL7Name              `hl7:",name=CSU_C10_Patient,type=tg"`
	PID        *PID                 `hl7:"2,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"3,display=Patient Demographic"`
	NTE        []NTE                `hl7:"4,display=Notes and comments segment"`
	Visit      *CSU_C10_Visit       `hl7:",display=Visit"`
	CSR        *CSR                 `hl7:"7,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:"14,required,display=Pharmacy administration segment"`
	RXR *RXR    `hl7:"15,required,display=Pharmacy route segment"`
}

RxAdmin

type CSU_C10_StudyObservation

type CSU_C10_StudyObservation struct {
	HL7 HL7Name `hl7:",name=CSU_C10_StudyObservation,type=tg"`
	ORC *ORC    `hl7:"10,display=Common order segment"`
	OBR *OBR    `hl7:"11,required,display=Observation request segment"`
	OBX []OBX   `hl7:"12,required,display=Observation segment"`
}

StudyObservation

type CSU_C10_StudyPharm

type CSU_C10_StudyPharm struct {
	HL7     HL7Name           `hl7:",name=CSU_C10_StudyPharm,type=tg"`
	ORC     *ORC              `hl7:"13,display=Common order segment"`
	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:"8,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:"9,display=Clinical Study Data Schedule"`
	StudyObservation []CSU_C10_StudyObservation `hl7:",display=Study Observation"`
	StudyPharm       []CSU_C10_StudyPharm       `hl7:",required,display=Study Pharm"`
}

StudySchedule

type CSU_C10_Visit

type CSU_C10_Visit struct {
	HL7 HL7Name `hl7:",name=CSU_C10_Visit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional 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 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

type CSU_C11_Patient

type CSU_C11_Patient struct {
	HL7        HL7Name              `hl7:",name=CSU_C11_Patient,type=tg"`
	PID        *PID                 `hl7:"2,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"3,display=Patient Demographic"`
	NTE        []NTE                `hl7:"4,display=Notes and comments segment"`
	Visit      *CSU_C11_Visit       `hl7:",display=Visit"`
	CSR        *CSR                 `hl7:"7,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:"14,required,display=Pharmacy administration segment"`
	RXR *RXR    `hl7:"15,required,display=Pharmacy route segment"`
}

RxAdmin

type CSU_C11_StudyObservation

type CSU_C11_StudyObservation struct {
	HL7 HL7Name `hl7:",name=CSU_C11_StudyObservation,type=tg"`
	ORC *ORC    `hl7:"10,display=Common order segment"`
	OBR *OBR    `hl7:"11,required,display=Observation request segment"`
	OBX []OBX   `hl7:"12,required,display=Observation segment"`
}

StudyObservation

type CSU_C11_StudyPharm

type CSU_C11_StudyPharm struct {
	HL7     HL7Name           `hl7:",name=CSU_C11_StudyPharm,type=tg"`
	ORC     *ORC              `hl7:"13,display=Common order segment"`
	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:"8,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:"9,display=Clinical Study Data Schedule"`
	StudyObservation []CSU_C11_StudyObservation `hl7:",display=Study Observation"`
	StudyPharm       []CSU_C11_StudyPharm       `hl7:",required,display=Study Pharm"`
}

StudySchedule

type CSU_C11_Visit

type CSU_C11_Visit struct {
	HL7 HL7Name `hl7:",name=CSU_C11_Visit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional 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 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

type CSU_C12_Patient

type CSU_C12_Patient struct {
	HL7        HL7Name              `hl7:",name=CSU_C12_Patient,type=tg"`
	PID        *PID                 `hl7:"2,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"3,display=Patient Demographic"`
	NTE        []NTE                `hl7:"4,display=Notes and comments segment"`
	Visit      *CSU_C12_Visit       `hl7:",display=Visit"`
	CSR        *CSR                 `hl7:"7,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:"14,required,display=Pharmacy administration segment"`
	RXR *RXR    `hl7:"15,required,display=Pharmacy route segment"`
}

RxAdmin

type CSU_C12_StudyObservation

type CSU_C12_StudyObservation struct {
	HL7 HL7Name `hl7:",name=CSU_C12_StudyObservation,type=tg"`
	ORC *ORC    `hl7:"10,display=Common order segment"`
	OBR *OBR    `hl7:"11,required,display=Observation request segment"`
	OBX []OBX   `hl7:"12,required,display=Observation segment"`
}

StudyObservation

type CSU_C12_StudyPharm

type CSU_C12_StudyPharm struct {
	HL7     HL7Name           `hl7:",name=CSU_C12_StudyPharm,type=tg"`
	ORC     *ORC              `hl7:"13,display=Common order segment"`
	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:"8,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:"9,display=Clinical Study Data Schedule"`
	StudyObservation []CSU_C12_StudyObservation `hl7:",display=Study Observation"`
	StudyPharm       []CSU_C12_StudyPharm       `hl7:",required,display=Study Pharm"`
}

StudySchedule

type CSU_C12_Visit

type CSU_C12_Visit struct {
	HL7 HL7Name `hl7:",name=CSU_C12_Visit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
}

Visit

type CTD

type CTD struct {
	HL7                             HL7Name `hl7:",name=CTD,type=s"`
	ContactRole                     []CE    `hl7:"1,required,len=200,table=0131,display=Contact Role"`
	ContactName                     []XPN   `hl7:"2,len=106,display=Contact Name"`
	ContactAddress                  *XAD    `hl7:"3,len=60,display=Contact Address"`
	ContactLocation                 *PL     `hl7:"4,len=60,display=Contact Location"`
	ContactCommunicationInformation []XTN   `hl7:"5,len=100,display=Contact Communication Information"`
	PreferredMethodOfContact        *CE     `hl7:"6,len=200,table=0185,display=Preferred Method of Contact"`
	ContactIdentifiers              []CM_PI `hl7:"7,len=100,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,len=60,display=Sponsor Study ID"`
	StudyPhaseIdentifier    *CE     `hl7:"2,conditional,len=60,display=Study Phase Identifier"`
	StudyScheduledTimePoint *CE     `hl7:"3,len=60,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 CX

type CX struct {
	HL7                                        HL7Name `hl7:",name=CX,len=0,type=d"`
	ID                                         ST      `` /* 174-byte string literal not displayed */
	CheckDigit                                 ST      `` /* 497-byte string literal not displayed */
	CodeIdentifyingTheCheckDigitSchemeEmployed ID      `hl7:"3,table=0061,display=The check digit scheme codes are defined in HL7 table 0061 - Check digit scheme"`
	AssigningAuthority                         *HD     `` /* 281-byte string literal not displayed */
	IdentifierTypeCode                         IS      `` /* 244-byte string literal not displayed */
	AssigningFacility                          *HD     `` /* 309-byte string literal not displayed */
}

Extended Composite ID With Check Digit

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         IS      `hl7:"2,len=2,table=0334,display=Disabled person code"`
	DisabledPersonIdentifier   []CX    `hl7:"3,len=32,display=Disabled person identifier"`
	DisabledIndicator          ID      `hl7:"4,len=1,table=0136,display=Disabled Indicator"`
	DisabilityStartDate        DT      `hl7:"5,len=8,format=YMD,display=Disability start date"`
	DisabilityEndDate          DT      `hl7:"6,len=8,format=YMD,display=Disability end date"`
	DisabilityReturnToWorkDate DT      `hl7:"7,len=8,format=YMD,display=Disability return to work date"`
	DisabilityUnableToWorkDate DT      `hl7:"8,len=8,format=YMD,display=Disability unable to work date"`
}

Disability Segment

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 DFT_P03

type DFT_P03 struct {
	HL7       HL7Name             `hl7:",name=DFT_P03,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	EVN       *EVN                `hl7:"2,required,display=Event type"`
	PID       *PID                `hl7:"3,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"4,display=Patient Demographic"`
	PV1       *PV1                `hl7:"5,display=Patient visit"`
	PV2       *PV2                `hl7:"6,display=Patient visit - additional information"`
	DB1       []DB1               `hl7:"7,display=Disability Segment"`
	OBX       []OBX               `hl7:"8,display=Observation segment"`
	Financial []DFT_P03_Financial `hl7:",required,display=Financial"`
	DG1       []DG1               `hl7:"12,display=Diagnosis"`
	DRG       *DRG                `hl7:"13,display=Diagnosis Related Group"`
	GT1       []GT1               `hl7:"14,display=Guarantor"`
	Insurance []DFT_P03_Insurance `hl7:",display=Insurance"`
	ACC       *ACC                `hl7:"18,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.

type DFT_P03_Financial

type DFT_P03_Financial struct {
	HL7                HL7Name                      `hl7:",name=DFT_P03_Financial,type=tg"`
	FT1                *FT1                         `hl7:"9,required,display=Financial transaction"`
	FinancialProcedure []DFT_P03_FinancialProcedure `hl7:",display=Financial Procedure"`
}

Financial

type DFT_P03_FinancialProcedure

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

FinancialProcedure

type DFT_P03_Insurance

type DFT_P03_Insurance struct {
	HL7 HL7Name `hl7:",name=DFT_P03_Insurance,type=tg"`
	IN1 *IN1    `hl7:"15,required,display=Insurance"`
	IN2 *IN2    `hl7:"16,display=Insurance additional info"`
	IN3 *IN3    `hl7:"17,display=Insurance additional info - certification"`
}

Insurance

type DG1

type DG1 struct {
	HL7                     HL7Name `hl7:",name=DG1,type=s"`
	SetIDDiagnosis          SI      `hl7:"1,required,len=4,display=Set ID - Diagnosis"`
	DiagnosisCodingMethod   ID      `hl7:"2,len=2,table=0053,display=Diagnosis Coding Method"`
	DiagnosisCode           *CE     `hl7:"3,len=60,table=0051,display=Diagnosis Code"`
	DiagnosisDescription    ST      `hl7:"4,len=40,display=Diagnosis Description"`
	DiagnosisDateTime       TS      `hl7:"5,len=26,format=YMDHMS,display=Diagnosis Date/Time"`
	DiagnosisType           IS      `hl7:"6,required,len=2,table=0052,display=Diagnosis Type"`
	MajorDiagnosticCategory CE      `hl7:"7,len=60,table=0118,display=Major Diagnostic Category"`
	DiagnosticRelatedGroup  CE      `hl7:"8,len=60,table=0055,display=Diagnostic Related Group"`
	DRGApprovalIndicator    ID      `hl7:"9,len=2,table=0136,display=DRG Approval Indicator"`
	DRGGrouperReviewCode    IS      `hl7:"10,len=2,table=0056,display=DRG Grouper Review Code"`
	OutlierType             CE      `hl7:"11,len=60,table=0083,display=Outlier Type"`
	OutlierDays             NM      `hl7:"12,len=3,display=Outlier Days"`
	OutlierCost             CP      `hl7:"13,len=12,display=Outlier Cost"`
	GrouperVersionAndType   ST      `hl7:"14,len=4,display=Grouper Version and Type"`
	DiagnosisPriority       NM      `hl7:"15,len=2,display=Diagnosis Priority"`
	DiagnosingClinician     []XCN   `hl7:"16,len=60,display=Diagnosing Clinician"`
	DiagnosisClassification IS      `hl7:"17,len=3,table=0228,display=Diagnosis Classification"`
	ConfidentialIndicator   ID      `hl7:"18,len=1,table=0136,display=Confidential Indicator"`
	AttestationDateTime     TS      `hl7:"19,len=26,format=YMDHMS,display=Attestation Date/Time"`
}

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 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 DLN

type DLN struct {
	HL7                         HL7Name `hl7:",name=DLN,len=0,type=d"`
	DriverSLicenseNumber        ST      `hl7:"1,display=This field contains the driver’s license number"`
	IssuingStateProvinceCountry IS      `` /* 243-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 DOC_T12

type DOC_T12 struct {
	HL7    HL7Name          `hl7:",name=DOC_T12,type=t"`
	MSH    *MSH             `hl7:"1,required,display=Message header segment"`
	MSA    *MSA             `hl7:"2,required,display=Message acknowledgement segment"`
	ERR    *ERR             `hl7:"3,display=Error segment"`
	QRD    *QRD             `hl7:"4,required,display=Query definition segment"`
	Result []DOC_T12_Result `hl7:",required,display=Result"`
	DSC    *DSC             `hl7:"10,display=Continuation pointer segment"`
}

Document response

type DOC_T12_Result

type DOC_T12_Result struct {
	HL7 HL7Name `hl7:",name=DOC_T12_Result,type=tg"`
	EVN *EVN    `hl7:"5,display=Event type"`
	PID *PID    `hl7:"6,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"7,required,display=Patient visit"`
	TXA *TXA    `hl7:"8,required,display=Document notification segment"`
	OBX []OBX   `hl7:"9,display=Observation segment"`
}

Result

type DR

type DR struct {
	HL7                HL7Name `hl7:",name=DR,len=0,type=d"`
	RangeStartDateTime TS      `hl7:"1,format=YMDHMS,display=The first component contains the earliest date/time (time stamp) in the specified range"`
	RangeEndDateTime   TS      `hl7:"2,format=YMDHMS,display=The second component contains the latest date/time in the specified range."`
}

Date Time Range

type DRG

type DRG struct {
	HL7                    HL7Name `hl7:",name=DRG,type=s"`
	DiagnosticRelatedGroup *CE     `hl7:"1,len=60,table=0055,display=Diagnostic Related Group"`
	AssignedDateTime       TS      `hl7:"2,len=26,format=YMDHMS,display=DRG Assigned Date/Time"`
	ApprovalIndicator      ID      `hl7:"3,len=2,table=0136,display=DRG Approval Indicator"`
	GrouperReviewCode      IS      `hl7:"4,len=2,table=0056,display=DRG Grouper Review Code"`
	OutlierType            *CE     `hl7:"5,len=60,table=0083,display=Outlier Type"`
	OutlierDays            NM      `hl7:"6,len=3,display=Outlier Days"`
	OutlierCost            *CP     `hl7:"7,len=12,display=Outlier Cost"`
	Payor                  IS      `hl7:"8,len=1,table=0229,display=DRG Payor"`
	OutlierReimbursement   *CP     `hl7:"9,len=9,display=Outlier Reimbursement"`
	ConfidentialIndicator  ID      `hl7:"10,len=1,table=0136,display=Confidential Indicator"`
}

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,len=180,display=Continuation Pointer"`
}

Continuation pointer segment

The DSC segment is used in the continuation protocol

type DSP

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

Display data segment

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 DSR_P04

type DSR_P04 struct {
	HL7 HL7Name `hl7:",name=DSR_P04,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
	QAK *QAK    `hl7:"4,display=Query Acknowledgement"`
	QRD *QRD    `hl7:"5,required,display=Query definition segment"`
	QRF *QRF    `hl7:"6,display=Query filter segment"`
	DSP []DSP   `hl7:"7,required,display=Display data segment"`
	DSC *DSC    `hl7:"8,display=Continuation pointer segment"`
}

Generate bills and accounts receivable statements response

type DSR_Q01

type DSR_Q01 struct {
	HL7 HL7Name `hl7:",name=DSR_Q01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
	QAK *QAK    `hl7:"4,display=Query Acknowledgement"`
	QRD *QRD    `hl7:"5,required,display=Query definition segment"`
	QRF *QRF    `hl7:"6,display=Query filter segment"`
	DSP []DSP   `hl7:"7,required,display=Display data segment"`
	DSC *DSC    `hl7:"8,display=Continuation pointer segment"`
}

Display response message

type DSR_Q03

type DSR_Q03 struct {
	HL7 HL7Name `hl7:",name=DSR_Q03,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
	QAK *QAK    `hl7:"4,display=Query Acknowledgement"`
	QRD *QRD    `hl7:"5,required,display=Query definition segment"`
	QRF *QRF    `hl7:"6,display=Query filter segment"`
	DSP []DSP   `hl7:"7,required,display=Display data segment"`
	DSC *DSC    `hl7:"8,display=Continuation pointer segment"`
}

Deferred response to a query

type DT

type DT = time.Time

Date

In prior versions of HL7, this data type was always specified to be in the format YYYYMMDD. In the current and future versions, the precision of a date may be expressed by limiting the number of digits used with the format specification YYYY[MM[DD]]. Thus, YYYY is used to specify a precision of “year,” YYYYMM specifies a precision of “month,” and YYYYMMDD specifies a precision of “day.”

By site-specific agreement, YYYYMMDD may be used where backward compatibility must be maintained.

Examples:

|19880704| |199503|

type EDR_R07

type EDR_R07 struct {
	HL7 HL7Name `hl7:",name=EDR_R07,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
	QAK *QAK    `hl7:"4,required,display=Query Acknowledgement"`
	DSP []DSP   `hl7:"5,required,display=Display data segment"`
	DSC *DSC    `hl7:"6,display=Continuation pointer segment"`
}

Enhanced display response

type EI

type EI struct {
	HL7              HL7Name `hl7:",name=EI,len=0,type=d"`
	EntityIdentifier ST      `` /* 289-byte string literal not displayed */
	NamespaceID      IS      `hl7:"2,table=0300,display=Refer to user-defined table 0300 - Namespace ID for suggested values"`
	UniversalID      ST      `` /* 525-byte string literal not displayed */
	UniversalIDType  ID      `hl7:"4,table=0301,display=Refer to HL7 table 0301 - Universal ID type for valid values."`
}

Entity Identifier

The entity identifier defines a given entity within a specified series of identifiers.

The specified series, the assigning authority, is defined by components 2 through 4. The assigning authority is of the hierarchic designator 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.8.18, “HD - hierarchic designator.” Hierarchic designators are unique across a given HL7 implementation

type EQL

type EQL struct {
	HL7                     HL7Name `hl7:",name=EQL,type=s"`
	QueryTag                ST      `hl7:"1,len=32,display=Query tag"`
	QueryResponseFormatCode ID      `hl7:"2,required,len=1,table=0106,display=Query/ Response Format Code"`
	QueryName               CE      `hl7:"3,required,len=60,display=EQL Query Name"`
	QueryStatement          ST      `hl7:"4,required,len=4096,display=EQL Query Statement"`
}

Embedded Query Language

The EQL segment is used to define queries using select statements based on the query language of choice (e.g., SQL). Refer to the functional chapters for the lists of HL7-defined EQL select statements

type EQQ_Q01

type EQQ_Q01 struct {
	HL7 HL7Name `hl7:",name=EQQ_Q01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EQL *EQL    `hl7:"2,required,display=Embedded Query Language"`
	DSC *DSC    `hl7:"3,display=Continuation pointer segment"`
}

Embedded query language query

type ERP_R09

type ERP_R09 struct {
	HL7 HL7Name `hl7:",name=ERP_R09,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
	QAK *QAK    `hl7:"4,required,display=Query Acknowledgement"`
	ERQ *ERQ    `hl7:"5,required,display=Event Replay Query Segment"`
	DSC *DSC    `hl7:"6,display=Continuation pointer segment"`
}

Event replay response

type ERQ

type ERQ struct {
	HL7                HL7Name `hl7:",name=ERQ,type=s"`
	QueryTag           ST      `hl7:"1,len=32,display=Query tag"`
	EventIdentifier    CE      `hl7:"2,required,len=60,display=Event identifier"`
	InputParameterList []QIP   `hl7:"3,len=256,display=Input parameter list"`
}

Event Replay Query Segment

The ERQ segment is used to issue queries where the desired response is formatted as an event replay response message. This enables the querying application to request detailed event data from an application that supports this feature, such that it may no longer be necessary for it to capture and store all event information at the time of the original trigger event.

type ERR

type ERR struct {
	HL7                  HL7Name  `hl7:",name=ERR,type=s"`
	ErrorCodeAndLocation []CM_ELD `hl7:"1,required,len=80,display=Error Code and Location"`
}

Error segment

The ERR segment is used to add error comments to acknowledgment messages.

type EVN

type EVN struct {
	HL7                  HL7Name `hl7:",name=EVN,type=s"`
	EventTypeCode        ID      `hl7:"1,len=3,table=0003,display=Event Type Code"`
	RecordedDateTime     TS      `hl7:"2,required,len=26,format=YMDHMS,display=Recorded Date/Time"`
	DateTimePlannedEvent TS      `hl7:"3,len=26,format=YMDHMS,display=Date/Time Planned Event"`
	EventReasonCode      IS      `hl7:"4,len=3,table=0062,display=Event Reason Code"`
	OperatorID           *XCN    `hl7:"5,len=60,table=0188,display=Operator ID"`
	EventOccurred        TS      `hl7:"6,len=26,format=YMDHMS,display=Event Occurred"`
}

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 FAC

type FAC struct {
	HL7                                 HL7Name `hl7:",name=FAC,type=s"`
	FacilityID                          EI      `hl7:"1,required,len=20,display=Facility ID"`
	FacilityType                        ID      `hl7:"2,len=1,table=0331,display=Facility Type"`
	FacilityAddress                     XAD     `hl7:"3,required,len=200,display=Facility Address"`
	FacilityTelecommunication           XTN     `hl7:"4,required,len=44,display=Facility Telecommunication"`
	ContactPerson                       []XCN   `hl7:"5,len=60,display=Contact Person"`
	ContactTitle                        []ST    `hl7:"6,len=60,display=Contact Title"`
	ContactAddress                      []XAD   `hl7:"7,len=200,display=Contact Address"`
	ContactTelecommunication            []XTN   `hl7:"8,len=44,display=Contact Telecommunication"`
	SignatureAuthority                  XCN     `hl7:"9,required,len=60,display=Signature Authority"`
	SignatureAuthorityTitle             ST      `hl7:"10,len=60,display=Signature Authority Title"`
	SignatureAuthorityAddress           *XAD    `hl7:"11,len=200,display=Signature Authority Address"`
	SignatureAuthorityTelecommunication *XTN    `hl7:"12,len=44,display=Signature Authority Telecommunication"`
}

Facility

type FC

type FC struct {
	HL7            HL7Name `hl7:",name=FC,len=0,type=d"`
	FinancialClass IS      `` /* 164-byte string literal not displayed */
	EffectiveDate  TS      `` /* 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=4,display=File Encoding Characters"`
	FileSendingApplication   ST      `hl7:"3,len=15,display=File Sending Application"`
	FileSendingFacility      ST      `hl7:"4,len=20,display=File Sending Facility"`
	FileReceivingApplication ST      `hl7:"5,len=15,display=File Receiving Application"`
	FileReceivingFacility    ST      `hl7:"6,len=20,display=File Receiving Facility"`
	FileCreationDateTime     TS      `hl7:"7,len=26,format=YMDHMS,display=File Creation Date/Time"`
	FileSecurity             ST      `hl7:"8,len=40,display=File Security"`
	FileNameID               ST      `hl7:"9,len=20,display=File Name/ID"`
	FileHeaderComment        ST      `hl7:"10,len=80,display=File Header Comment"`
	FileControlID            ST      `hl7:"11,len=20,display=File Control ID"`
	ReferenceFileControlID   ST      `hl7:"12,len=20,display=Reference File Control ID"`
}

File Header Segment

The FHS segment is used to head a file (group of batches) as defined in Section 2.23.3, “HL7 batch protocol.”

type FT

type FT = string

Formatted Text Data

This data type is derived from the string 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 later in this chapter. 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.9, “Use of escape sequences in text fields.”

type FT1

type FT1 struct {
	HL7                             HL7Name `hl7:",name=FT1,type=s"`
	SetIDFinancialTransaction       SI      `hl7:"1,len=4,display=Set ID - Financial Transaction"`
	TransactionID                   ST      `hl7:"2,len=12,display=Transaction ID"`
	TransactionBatchID              ST      `hl7:"3,len=10,display=Transaction Batch ID"`
	TransactionDate                 TS      `hl7:"4,required,len=26,format=YMDHMS,display=Transaction Date"`
	TransactionPostingDate          TS      `hl7:"5,len=26,format=YMDHMS,display=Transaction Posting Date"`
	TransactionType                 IS      `hl7:"6,required,len=8,table=0017,display=Transaction Type"`
	TransactionCode                 CE      `hl7:"7,required,len=80,table=0132,display=Transaction Code"`
	TransactionDescription          ST      `hl7:"8,len=40,display=Transaction Description"`
	TransactionDescriptionAlternate ST      `hl7:"9,len=40,display=Transaction Description - alternate"`
	TransactionQuantity             NM      `hl7:"10,len=6,display=Transaction Quantity"`
	TransactionAmountExtended       *CP     `hl7:"11,len=12,display=Transaction Amount - Extended"`
	TransactionAmountUnit           *CP     `hl7:"12,len=12,display=Transaction Amount - Unit"`
	DepartmentCode                  *CE     `hl7:"13,len=60,table=0049,display=Department Code"`
	InsurancePlanID                 *CE     `hl7:"14,len=60,table=0072,display=Insurance Plan ID"`
	InsuranceAmount                 *CP     `hl7:"15,len=12,display=Insurance Amount"`
	AssignedPatientLocation         *PL     `hl7:"16,len=80,display=Assigned Patient Location"`
	FeeSchedule                     IS      `hl7:"17,len=1,table=0024,display=Fee Schedule"`
	PatientType                     IS      `hl7:"18,len=2,table=0018,display=Patient Type"`
	DiagnosisCode                   []CE    `hl7:"19,len=60,table=0051,display=Diagnosis Code"`
	PerformedByCode                 *XCN    `hl7:"20,len=120,table=0084,display=Performed By Code"`
	OrderedByCode                   *XCN    `hl7:"21,len=120,display=Ordered By Code"`
	UnitCost                        *CP     `hl7:"22,len=12,display=Unit Cost"`
	FillerOrderNumber               *EI     `hl7:"23,len=22,display=Filler Order Number"`
	EnteredByCode                   *XCN    `hl7:"24,len=120,display=Entered By Code"`
	ProcedureCode                   *CE     `hl7:"25,len=80,table=0088,display=Procedure Code"`
}

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,len=10,display=File Batch Count"`
	FileTrailerComment ST      `hl7:"2,len=80,display=File Trailer Comment"`
}

File Trailer Segment

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                  TS      `hl7:"2,required,len=26,format=YMDHMS,display=Action Date/Time"`
	GoalID                          CE      `hl7:"3,required,len=80,display=Goal ID"`
	GoalInstanceID                  EI      `hl7:"4,required,len=60,display=Goal Instance ID"`
	EpisodeOfCareID                 *EI     `hl7:"5,len=60,display=Episode of Care ID"`
	GoalListPriority                NM      `hl7:"6,len=60,display=Goal List Priority"`
	GoalEstablishedDateTime         TS      `hl7:"7,len=26,format=YMDHMS,display=Goal Established Date/Time"`
	ExpectedGoalAchievementDateTime TS      `hl7:"8,len=26,format=YMDHMS,display=Expected Goal Achievement Date/Time"`
	GoalClassification              *CE     `hl7:"9,len=80,display=Goal Classification"`
	GoalManagementDiscipline        *CE     `hl7:"10,len=80,display=Goal Management Discipline"`
	CurrentGoalReviewStatus         *CE     `hl7:"11,len=80,display=Current Goal Review Status"`
	CurrentGoalReviewDateTime       TS      `hl7:"12,len=26,format=YMDHMS,display=Current Goal Review Date/Time"`
	NextGoalReviewDateTime          TS      `hl7:"13,len=26,format=YMDHMS,display=Next Goal Review Date/Time"`
	PreviousGoalReviewDateTime      TS      `hl7:"14,len=26,format=YMDHMS,display=Previous Goal Review Date/Time"`
	GoalReviewInterval              *TQ     `hl7:"15,len=200,display=Goal Review Interval"`
	GoalEvaluation                  *CE     `hl7:"16,len=80,display=Goal Evaluation"`
	GoalEvaluationComment           []ST    `hl7:"17,len=300,display=Goal Evaluation Comment"`
	GoalLifeCycleStatus             *CE     `hl7:"18,len=80,display=Goal Life Cycle Status"`
	GoalLifeCycleStatusDateTime     TS      `hl7:"19,len=26,format=YMDHMS,display=Goal Life Cycle Status Date/Time"`
	GoalTargetType                  []CE    `hl7:"20,len=80,display=Goal Target Type"`
	GoalTargetName                  []XPN   `hl7:"21,len=80,display=Goal Target Name"`
}

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 GT1

type GT1 struct {
	HL7                                HL7Name `hl7:",name=GT1,type=s"`
	SetIDGuarantor                     SI      `hl7:"1,required,len=4,display=Set ID - Guarantor"`
	GuarantorNumber                    []CX    `hl7:"2,len=59,display=Guarantor Number"`
	GuarantorName                      []XPN   `hl7:"3,required,len=48,display=Guarantor Name"`
	GuarantorSpouseName                []XPN   `hl7:"4,len=48,display=Guarantor Spouse Name"`
	GuarantorAddress                   []XAD   `hl7:"5,len=106,display=Guarantor Address"`
	GuarantorPhNumHome                 []XTN   `hl7:"6,len=40,display=Guarantor Ph Num- Home"`
	GuarantorPhNumBusiness             []XTN   `hl7:"7,len=40,display=Guarantor Ph Num-Business"`
	GuarantorDateTimeOfBirth           TS      `hl7:"8,len=26,format=YMDHMS,display=Guarantor Date/Time of Birth"`
	GuarantorSex                       IS      `hl7:"9,len=1,table=0001,display=Guarantor Sex"`
	GuarantorType                      IS      `hl7:"10,len=2,table=0068,display=Guarantor Type"`
	GuarantorRelationship              IS      `hl7:"11,len=2,table=0063,display=Guarantor Relationship"`
	GuarantorSSN                       ST      `hl7:"12,len=11,display=Guarantor SSN"`
	GuarantorDateBegin                 DT      `hl7:"13,len=8,format=YMD,display=Guarantor Date - Begin"`
	GuarantorDateEnd                   DT      `hl7:"14,len=8,format=YMD,display=Guarantor Date - End"`
	GuarantorPriority                  NM      `hl7:"15,len=2,display=Guarantor Priority"`
	GuarantorEmployerName              []XPN   `hl7:"16,len=130,display=Guarantor Employer Name"`
	GuarantorEmployerAddress           []XAD   `hl7:"17,len=106,display=Guarantor Employer Address"`
	GuarantorEmployPhoneNumber         []XTN   `hl7:"18,len=40,display=Guarantor Employ Phone Number"`
	GuarantorEmployeeIDNumber          []CX    `hl7:"19,len=20,display=Guarantor Employee ID Number"`
	GuarantorEmploymentStatus          IS      `hl7:"20,len=2,table=0066,display=Guarantor Employment Status"`
	GuarantorOrganization              []XON   `hl7:"21,len=130,display=Guarantor Organization"`
	GuarantorBillingHoldFlag           ID      `hl7:"22,len=1,table=0136,display=Guarantor Billing Hold Flag"`
	GuarantorCreditRatingCode          *CE     `hl7:"23,len=80,display=Guarantor Credit Rating Code"`
	GuarantorDeathDateAndTime          TS      `hl7:"24,len=26,format=YMDHMS,display=Guarantor Death Date And Time"`
	GuarantorDeathFlag                 ID      `hl7:"25,len=1,table=0136,display=Guarantor Death Flag"`
	GuarantorChargeAdjustmentCode      *CE     `hl7:"26,len=80,table=0218,display=Guarantor Charge Adjustment Code"`
	GuarantorHouseholdAnnualIncome     *CP     `hl7:"27,len=10,display=Guarantor Household Annual Income"`
	GuarantorHouseholdSize             NM      `hl7:"28,len=3,display=Guarantor Household Size"`
	GuarantorEmployerIDNumber          []CX    `hl7:"29,len=20,display=Guarantor Employer ID Number"`
	GuarantorMaritalStatusCode         IS      `hl7:"30,len=1,table=0002,display=Guarantor Marital Status Code"`
	GuarantorHireEffectiveDate         DT      `hl7:"31,len=8,format=YMD,display=Guarantor Hire Effective Date"`
	EmploymentStopDate                 DT      `hl7:"32,len=8,format=YMD,display=Employment Stop Date"`
	LivingDependency                   IS      `hl7:"33,len=2,table=0223,display=Living Dependency"`
	AmbulatoryStatusCode               IS      `hl7:"34,len=2,table=0009,display=Ambulatory Status Code"`
	Citizenship                        IS      `hl7:"35,len=4,table=0171,display=Citizenship"`
	PrimaryLanguage                    *CE     `hl7:"36,len=60,table=0296,display=Primary Language"`
	LivingArrangement                  IS      `hl7:"37,len=2,table=0220,display=Living Arrangement"`
	PublicityIndicator                 *CE     `hl7:"38,len=80,table=0215,display=Publicity Indicator"`
	ProtectionIndicator                ID      `hl7:"39,len=1,table=0136,display=Protection Indicator"`
	StudentIndicator                   IS      `hl7:"40,len=2,table=0231,display=Student Indicator"`
	Religion                           IS      `hl7:"41,len=3,table=0006,display=Religion"`
	MotherSMaidenName                  *XPN    `hl7:"42,len=48,display=Mother s Maiden Name"`
	NationalityCode                    *CE     `hl7:"43,len=80,table=0212,display=Nationality Code"`
	EthnicGroup                        IS      `hl7:"44,len=3,table=0189,display=Ethnic Group"`
	ContactPersonsName                 []XPN   `hl7:"45,len=48,display=Contact Person's Name"`
	ContactPersonSTelephoneNumber      []XTN   `hl7:"46,len=40,display=Contact Person s Telephone Number"`
	ContactReason                      *CE     `hl7:"47,len=80,table=0222,display=Contact Reason"`
	ContactRelationshipCode            IS      `hl7:"48,len=2,table=0063,display=Contact Relationship Code"`
	JobTitle                           ST      `hl7:"49,len=20,display=Job Title"`
	JobCodeClass                       *JCC    `hl7:"50,len=20,display=Job Code/Class"`
	GuarantorEmployersOrganizationName []XON   `hl7:"51,len=130,display=Guarantor Employer's Organization Name"`
	Handicap                           IS      `hl7:"52,len=2,table=0310,display=Handicap"`
	JobStatus                          IS      `hl7:"53,len=2,table=0311,display=Job Status"`
	GuarantorFinancialClass            *FC     `hl7:"54,len=50,display=Guarantor Financial Class"`
	GuarantorRace                      IS      `hl7:"55,len=1,table=0005,display=Guarantor Race"`
}

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 HD

type HD struct {
	HL7             HL7Name `hl7:",name=HD,len=0,type=d"`
	NamespaceID     IS      `hl7:"1,table=0300,display=Refer to user-defined table 0300 - Namespace ID for suggested values"`
	UniversalID     ST      `` /* 526-byte string literal not displayed */
	UniversalIDType ID      `` /* 266-byte string literal not displayed */
}

Hierarchic Designator

The HD is designed to be a more powerful application identifier. It is also designed to be used either as a local version of a site-defined application identifier or a publicly-assigned UID. Syntactically, the HD is a group of two application identifiers: one defined by the first component, and one defined by the second and third components.

The HD allows any site to act as an assigning authority (on a local or user-defined basis), even if it technically does not have the right to issue new IDs within an identification scheme. HDs which have defined third components (defined UID types) must be unique within the series of ID’s defined by that component.

type HL7Name

type HL7Name struct{}

type ID

type ID = string

Coded values for HL7 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. Examples of ID fields include MSH-12-version ID and OBR-25-result status. This data type should be used only for HL7 tables (see Section 2.6.7, ID number). The reverse is not true, since in some circumstances it is more appropriate to use the CE data type for HL7 tables.

type IN1

type IN1 struct {
	HL7                            HL7Name `hl7:",name=IN1,type=s"`
	SetIDInsurance                 SI      `hl7:"1,required,len=4,display=Set ID - Insurance"`
	InsurancePlanID                CE      `hl7:"2,required,len=60,table=0072,display=Insurance Plan ID"`
	InsuranceCompanyID             []CX    `hl7:"3,required,len=59,display=Insurance Company ID"`
	InsuranceCompanyName           []XON   `hl7:"4,len=130,display=Insurance Company Name"`
	InsuranceCompanyAddress        []XAD   `hl7:"5,len=106,display=Insurance Company Address"`
	InsuranceCoContactPerson       []XPN   `hl7:"6,len=48,display=Insurance Co. Contact Person"`
	InsuranceCoPhoneNumber         []XTN   `hl7:"7,len=40,display=Insurance Co Phone Number"`
	GroupNumber                    ST      `hl7:"8,len=12,display=Group Number"`
	GroupName                      []XON   `hl7:"9,len=130,display=Group Name"`
	InsuredsGroupEmployerID        []CX    `hl7:"10,len=12,display=Insured's group employer ID"`
	InsuredsGroupEmpName           []XON   `hl7:"11,len=130,display=Insured's Group Emp Name"`
	PlanEffectiveDate              DT      `hl7:"12,len=8,format=YMD,display=Plan Effective Date"`
	PlanExpirationDate             DT      `hl7:"13,len=8,format=YMD,display=Plan Expiration Date"`
	AuthorizationInformation       *CM_AUI `hl7:"14,len=55,display=Authorization Information"`
	PlanType                       IS      `hl7:"15,len=3,table=0086,display=Plan Type"`
	NameOfInsured                  []XPN   `hl7:"16,len=48,display=Name of Insured"`
	InsuredsRelationshipToPatient  IS      `hl7:"17,len=2,table=0063,display=Insured's Relationship to Patient"`
	InsuredsDateOfBirth            TS      `hl7:"18,len=26,format=YMDHMS,display=Insured's Date of Birth"`
	InsuredsAddress                []XAD   `hl7:"19,len=106,display=Insured's Address"`
	AssignmentOfBenefits           IS      `hl7:"20,len=2,table=0135,display=Assignment of Benefits"`
	CoordinationOfBenefits         IS      `hl7:"21,len=2,table=0173,display=Coordination of Benefits"`
	CoordOfBenPriority             ST      `hl7:"22,len=2,display=Coord of Ben. Priority"`
	NoticeOfAdmissionCode          ID      `hl7:"23,len=2,table=0136,display=Notice of Admission Code"`
	NoticeOfAdmissionDate          DT      `hl7:"24,len=8,format=YMD,display=Notice of Admission Date"`
	ReportOfEigibilityCode         ID      `hl7:"25,len=2,table=0136,display=Report of Eigibility Code"`
	ReportOfEligibilityDate        DT      `hl7:"26,len=8,format=YMD,display=Report of Eligibility Date"`
	ReleaseInformationCode         IS      `hl7:"27,len=2,table=0093,display=Release Information Code"`
	PreAdmitCert                   ST      `hl7:"28,len=15,display=Pre-Admit Cert"`
	VerificationDateTime           TS      `hl7:"29,len=26,format=YMDHMS,display=Verification Date/Time"`
	VerificationBy                 *XCN    `hl7:"30,len=60,display=Verification By"`
	TypeOfAgreementCode            IS      `hl7:"31,len=2,table=0098,display=Type of Agreement Code"`
	BillingStatus                  IS      `hl7:"32,len=2,table=0022,display=Billing Status"`
	LifetimeReserveDays            NM      `hl7:"33,len=4,display=Lifetime Reserve Days"`
	DelayBeforeLifetimeReserveDays NM      `hl7:"34,len=4,display=Delay before lifetime reserve days"`
	CompanyPlanCode                IS      `hl7:"35,len=8,table=0042,display=Company Plan Code"`
	PolicyNumber                   ST      `hl7:"36,len=15,display=Policy Number"`
	PolicyDeductible               *CP     `hl7:"37,len=12,display=Policy Deductible"`
	PolicyLimitAmount              CP      `hl7:"38,len=12,display=Policy Limit - Amount"`
	PolicyLimitDays                NM      `hl7:"39,len=4,display=Policy Limit - Days"`
	RoomRateSemiPrivate            CP      `hl7:"40,len=12,display=Room Rate - Semi-Private"`
	RoomRatePrivate                CP      `hl7:"41,len=12,display=Room Rate - Private"`
	InsuredsEmploymentStatus       *CE     `hl7:"42,len=60,table=0066,display=Insured's Employment Status"`
	InsuredsSex                    IS      `hl7:"43,len=1,table=0001,display=Insured's Sex"`
	InsuredsEmployerAddress        []XAD   `hl7:"44,len=106,display=Insured's Employer Address"`
	VerificationStatus             ST      `hl7:"45,len=2,display=Verification Status"`
	PriorInsurancePlanID           IS      `hl7:"46,len=8,table=0072,display=Prior Insurance Plan ID"`
	CoverageType                   IS      `hl7:"47,len=3,table=0309,display=Coverage Type"`
	Handicap                       IS      `hl7:"48,len=2,table=0310,display=Handicap"`
	InsuredsIDNumber               []CX    `hl7:"49,len=12,display=Insured's ID Number"`
}

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,len=59,display=Insured's Employee ID"`
	InsuredsSocialSecurityNumber         ST       `hl7:"2,len=11,display=Insured's Social Security Number"`
	InsuredsEmployerName                 []XCN    `hl7:"3,len=130,display=Insured's Employer Name"`
	EmployerInformationData              IS       `hl7:"4,len=1,table=0139,display=Employer Information Data"`
	MailClaimParty                       []IS     `hl7:"5,len=1,table=0137,display=Mail Claim Party"`
	MedicareHealthInsCardNumber          ST       `hl7:"6,len=15,display=Medicare Health Ins Card Number"`
	MedicaidCaseName                     []XPN    `hl7:"7,len=48,display=Medicaid Case Name"`
	MedicaidCaseNumber                   ST       `hl7:"8,len=15,display=Medicaid Case Number"`
	ChampusSponsorName                   []XPN    `hl7:"9,len=48,display=Champus Sponsor Name"`
	ChampusIDNumber                      ST       `hl7:"10,len=20,display=Champus ID Number"`
	DependentOfChampusRecipient          *CE      `hl7:"11,len=80,display=Dependent of Champus Recipient"`
	ChampusOrganization                  ST       `hl7:"12,len=25,display=Champus Organization"`
	ChampusStation                       ST       `hl7:"13,len=25,display=Champus Station"`
	ChampusService                       IS       `hl7:"14,len=14,table=0140,display=Champus Service"`
	ChampusRankGrade                     IS       `hl7:"15,len=2,table=0141,display=Champus Rank/Grade"`
	ChampusStatus                        IS       `hl7:"16,len=3,table=0142,display=Champus Status"`
	ChampusRetireDate                    DT       `hl7:"17,len=8,format=YMD,display=Champus Retire Date"`
	ChampusNonAvailCertOnFile            ID       `hl7:"18,len=1,table=0136,display=Champus 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,len=1,display=Blood Deductible"`
	SpecialCoverageApprovalName          []XPN    `hl7:"22,len=48,display=Special Coverage Approval Name"`
	SpecialCoverageApprovalTitle         ST       `hl7:"23,len=30,display=Special Coverage Approval Title"`
	NonCoveredInsuranceCode              []IS     `hl7:"24,len=8,table=0143,display=Non-Covered Insurance Code"`
	PayorID                              []CX     `hl7:"25,len=59,display=Payor ID"`
	PayorSubscriberID                    []CX     `hl7:"26,len=59,display=Payor Subscriber ID"`
	EligibilitySource                    IS       `hl7:"27,len=1,table=0144,display=Eligibility Source"`
	RoomCoverageTypeAmount               []CM_RMC `hl7:"28,len=25,display=Room Coverage Type/Amount"`
	PolicyTypeAmount                     []CM_PTA `hl7:"29,len=25,display=Policy Type/Amount"`
	DailyDeductible                      *CM_DDI  `hl7:"30,len=25,display=Daily Deductible"`
	LivingDependency                     IS       `hl7:"31,len=2,table=0223,display=Living Dependency"`
	AmbulatoryStatus                     IS       `hl7:"32,len=2,table=0009,display=Ambulatory Status"`
	Citizenship                          IS       `hl7:"33,len=4,table=0171,display=Citizenship"`
	PrimaryLanguage                      *CE      `hl7:"34,len=60,table=0296,display=Primary Language"`
	LivingArrangement                    IS       `hl7:"35,len=2,table=0220,display=Living Arrangement"`
	PublicityIndicator                   *CE      `hl7:"36,len=80,table=0215,display=Publicity Indicator"`
	ProtectionIndicator                  ID       `hl7:"37,len=1,table=0136,display=Protection Indicator"`
	StudentIndicator                     IS       `hl7:"38,len=2,table=0231,display=Student Indicator"`
	Religion                             IS       `hl7:"39,len=3,table=0006,display=Religion"`
	MotherSMaidenName                    *XPN     `hl7:"40,len=48,display=Mother s Maiden Name"`
	NationalityCode                      *CE      `hl7:"41,len=80,table=0212,display=Nationality Code"`
	EthnicGroup                          IS       `hl7:"42,len=3,table=0189,display=Ethnic Group"`
	MaritalStatus                        []IS     `hl7:"43,len=1,table=0002,display=Marital Status"`
	EmploymentStartDate                  DT       `hl7:"44,len=8,format=YMD,display=Employment Start Date"`
	EmploymentStopDate                   DT       `hl7:"45,len=8,format=YMD,display=Employment Stop Date"`
	JobTitle                             ST       `hl7:"46,len=20,display=Job Title"`
	JobCodeClass                         *JCC     `hl7:"47,len=20,display=Job Code/Class"`
	JobStatus                            IS       `hl7:"48,len=2,table=0311,display=Job Status"`
	EmployerContactPersonName            []XPN    `hl7:"49,len=48,display=Employer Contact Person Name"`
	EmployerContactPersonPhoneNumber     []XTN    `hl7:"50,len=40,display=Employer Contact Person Phone Number"`
	EmployerContactReason                IS       `hl7:"51,len=2,table=0222,display=Employer Contact Reason"`
	InsuredsContactPersonName            []XPN    `hl7:"52,len=48,display=Insured's Contact Person Name"`
	InsuredSContactPersonTelephoneNumber []XTN    `hl7:"53,len=40,display=Insured s Contact Person Telephone Number"`
	InsuredSContactPersonReason          []IS     `hl7:"54,len=2,table=0222,display=Insured s Contact Person Reason"`
	RelationshipToThePatientStartDate    DT       `hl7:"55,len=8,format=YMD,display=Relationship To The Patient Start Date"`
	RelationshipToThePatientStopDate     []DT     `hl7:"56,len=8,format=YMD,display=Relationship To The Patient Stop Date"`
	InsuranceCompanyContactReason        IS       `hl7:"57,len=2,table=0232,display=Insurance Company Contact Reason"`
	InsuranceCompanyContactPhoneNumber   *XTN     `hl7:"58,len=40,display=Insurance Company Contact Phone Number"`
	PolicyScope                          IS       `hl7:"59,len=2,table=0312,display=Policy Scope"`
	PolicySource                         IS       `hl7:"60,len=2,table=0313,display=Policy Source"`
	PatientMemberNumber                  *CX      `hl7:"61,len=60,display=Patient Member Number"`
	GuarantorsRelationshipToInsured      IS       `hl7:"62,len=2,table=0063,display=Guarantor's Relationship To Insured"`
	InsuredsTelephoneNumberHome          []XTN    `hl7:"63,len=40,display=Insured's Telephone Number - Home"`
	InsuredsEmployerTelephoneNumber      []XTN    `hl7:"64,len=40,display=Insured's Employer Telephone Number"`
	MilitaryHandicappedProgram           *CE      `hl7:"65,len=60,display=Military Handicapped Program"`
	SuspendFlag                          ID       `hl7:"66,len=2,table=0136,display=Suspend Flag"`
	CoPayLimitFlag                       ID       `hl7:"67,len=2,table=0136,display=Co-pay Limit Flag"`
	StoplossLimitFlag                    ID       `hl7:"68,len=2,table=0136,display=Stoploss Limit Flag"`
	InsuredOrganizationNameAndID         []XON    `hl7:"69,len=130,display=Insured Organization Name And ID"`
	InsuredEmployerOrganizationNameAndID []XON    `hl7:"70,len=130,display=Insured Employer Organization Name And ID"`
	Race                                 IS       `hl7:"71,len=1,table=0005,display=Race"`
	PatientRelationshipToInsured         *CE      `hl7:"72,len=60,display=Patient Relationship to Insured"`
}

Insurance additional info

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 HCFA or other regulatory agencies.

type IN3

type IN3 struct {
	HL7                                HL7Name  `hl7:",name=IN3,type=s"`
	SetIDInsuranceCertification        SI       `hl7:"1,required,len=4,display=Set ID - Insurance Certification"`
	CertificationNumber                *CX      `hl7:"2,len=59,display=Certification Number"`
	CertifiedBy                        []XCN    `hl7:"3,len=60,display=Certified By"`
	CertificationRequired              ID       `hl7:"4,len=1,table=0136,display=Certification Required"`
	Penalty                            *CM_PEN  `hl7:"5,len=10,display=Penalty"`
	CertificationDateTime              TS       `hl7:"6,len=26,format=YMDHMS,display=Certification Date/Time"`
	CertificationModifyDateTime        TS       `hl7:"7,len=26,format=YMDHMS,display=Certification Modify Date/Time"`
	Operator                           []XCN    `hl7:"8,len=60,display=Operator"`
	CertificationBeginDate             DT       `hl7:"9,len=8,format=YMD,display=Certification Begin Date"`
	CertificationEndDate               DT       `hl7:"10,len=8,format=YMD,display=Certification End Date"`
	Days                               *CM_DTN  `hl7:"11,len=3,display=Days"`
	NonConcurCodeDescription           *CE      `hl7:"12,len=60,table=0233,display=Non-Concur Code/Description"`
	NonConcurEffectiveDateTime         TS       `hl7:"13,len=26,format=YMDHMS,display=Non-Concur Effective Date/Time"`
	PhysicianReviewer                  []XCN    `hl7:"14,len=60,display=Physician Reviewer"`
	CertificationContact               ST       `hl7:"15,len=48,display=Certification Contact"`
	CertificationContactPhoneNumber    []XTN    `hl7:"16,len=40,display=Certification Contact Phone Number"`
	AppealReason                       *CE      `hl7:"17,len=60,display=Appeal Reason"`
	CertificationAgency                *CE      `hl7:"18,len=60,display=Certification Agency"`
	CertificationAgencyPhoneNumber     []XTN    `hl7:"19,len=40,display=Certification Agency Phone Number"`
	PreCertificationRequiredWindow     []CM_PCF `hl7:"20,len=40,display=Pre-Certification required/Window"`
	CaseManager                        ST       `hl7:"21,len=48,display=Case Manager"`
	SecondOpinionDate                  DT       `hl7:"22,len=8,format=YMD,display=Second Opinion Date"`
	SecondOpinionStatus                IS       `hl7:"23,len=1,table=0151,display=Second Opinion Status"`
	SecondOpinionDocumentationReceived []IS     `hl7:"24,len=1,table=0152,display=Second Opinion Documentation Received"`
	SecondOpinionPhysician             []XCN    `hl7:"25,len=60,table=0010,display=Second Opinion Physician"`
}

Insurance additional info - certification

The IN3 segment contains additional insurance information for certifying the need for patient care. Fields used by this segment are defined by HCFA, or other regulatory agencies.

type IS

type IS = string

Coded value for user-defined tables

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 Section 3.3.1.4, Event reason code. This data type should be used only for user-defined tables (see Section 2.6.7, ID number). The reverse is not true, since in some circumstances, it is more appropriate to use the CE data type for user-defined tables.

type JCC

type JCC struct {
	HL7      HL7Name `hl7:",name=JCC,len=0,type=d"`
	JobCode  IS      `hl7:"1,table=0327,display=This component contains the person’s  job code.  Refer to user-defined table 0327 - job code"`
	JobClass IS      `hl7:"2,table=0328,display=This component contains the person’s employee classification."`
}

Job Code Class

type LA1

type LA1 struct {
	HL7                HL7Name `hl7:",name=LA1,len=0,type=d"`
	PointOfCare        IS      `hl7:"1,table=0302,display=Point Of Care"`
	Room               IS      `hl7:"2,table=0303,display=Room"`
	Bed                IS      `hl7:"3,table=0304,display=Bed"`
	Facility           *HD     `hl7:"4,display=Facility"`
	LocationStatus     IS      `hl7:"5,table=0306,display=Location Status"`
	PersonLocationType IS      `hl7:"6,table=0305,display=Person Location Type"`
	Building           IS      `hl7:"7,table=0307,display=Building"`
	Floor              IS      `hl7:"8,table=0308,display=Floor"`
	Address            *AD     `hl7:"9,display=Address"`
}

Location With Address Information (variant 1)

type LA2

type LA2 struct {
	HL7                        HL7Name `hl7:",name=LA2,len=0,type=d"`
	PointOfCare                IS      `hl7:"1,table=0302,display=Point Of Care"`
	Room                       IS      `hl7:"2,table=0303,display=Room"`
	Bed                        IS      `hl7:"3,table=0304,display=Bed"`
	Facility                   *HD     `hl7:"4,display=Facility"`
	LocationStatus             IS      `hl7:"5,table=0306,display=Location Status"`
	PersonLocationType         IS      `hl7:"6,table=0305,display=Person Location Type"`
	Building                   IS      `hl7:"7,table=0307,display=Building"`
	Floor                      IS      `hl7:"8,table=0308,display=Floor"`
	StreetAddress              ST      `hl7:"9,display=Street Address"`
	OtherDesignation           ST      `hl7:"10,display=Other Designation"`
	City                       ST      `hl7:"11,display=City"`
	StateOrProvince            ST      `hl7:"12,display=State Or Province"`
	ZipOrPostalCode            ST      `hl7:"13,display=Zip Or Postal Code"`
	Country                    ID      `hl7:"14,table=ISO3166,display=Country"`
	AddressType                ID      `hl7:"15,table=0190,display=Address Type"`
	OtherGeographicDesignation ST      `hl7:"16,display=Other Geographic Designation"`
}

Location With Address Information (variant 2)

type LCC

type LCC struct {
	HL7                HL7Name `hl7:",name=LCC,type=s"`
	PrimaryKeyValue    PL      `hl7:"1,required,len=200,display=Primary Key Value"`
	LocationDepartment IS      `hl7:"2,required,len=10,table=0264,display=Location Department"`
	AccommodationType  []CE    `hl7:"3,len=60,display=Accommodation Type"`
	ChargeCode         []CE    `hl7:"4,required,len=60,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,len=200,display=Primary Key Value"`
	SegmentActionCode           ID      `hl7:"2,len=1,table=0206,display=Segment Action Code"`
	SegmentUniqueKey            *EI     `hl7:"3,len=80,display=Segment Unique Key"`
	LocationCharacteristicID    CE      `hl7:"4,required,len=80,table=0324,display=Location Characteristic ID"`
	LocationCharacteristicValue CE      `hl7:"5,required,len=80,display=Location Characteristic Value"`
}

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,len=200,display=LDP Primary Key Value"`
	LocationDepartment  IS      `hl7:"2,required,len=10,table=0264,display=Location Department"`
	LocationService     []IS    `hl7:"3,len=3,table=0069,display=Location Service"`
	SpecialityType      []CE    `hl7:"4,len=60,table=0265,display=Speciality Type"`
	ValidPatientClasses []IS    `hl7:"5,len=1,table=0004,display=Valid Patient Classes"`
	ActiveInactiveFlag  ID      `hl7:"6,len=1,table=0183,display=Active/Inactive Flag"`
	ActivationDate      TS      `hl7:"7,len=26,format=YMDHMS,display=Activation Date"`
	InactivationDate    TS      `hl7:"8,len=26,format=YMDHMS,display=Inactivation Date - LDP"`
	InactivatedReason   ST      `hl7:"9,len=80,display=Inactivated Reason"`
	VisitingHours       []VH    `hl7:"10,len=80,display=Visiting Hours"`
	ContactPhone        *XTN    `hl7:"11,len=40,display=Contact Phone"`
}

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,len=200,display=Primary Key Value"`
	LocationDescription ST      `hl7:"2,len=48,display=Location Description"`
	LocationType        []IS    `hl7:"3,required,len=2,table=0260,display=Location Type"`
	OrganizationName    *XON    `hl7:"4,len=90,display=Organization Name"`
	LocationAddress     *XAD    `hl7:"5,len=106,display=Location Address"`
	LocationPhone       []XTN   `hl7:"6,len=40,display=Location Phone"`
	LicenseNumber       []CE    `hl7:"7,len=60,display=License Number"`
	LocationEquipment   []IS    `hl7:"8,len=3,table=0261,display=Location Equipment"`
}

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,len=200,display=Primary Key Value"`
	SegmentActionCode                       ID      `hl7:"2,len=3,table=0206,display=Segment Action Code"`
	SegmentUniqueKey                        *EI     `hl7:"3,len=80,display=Segment Unique Key"`
	LocationRelationshipID                  CE      `hl7:"4,required,len=80,table=0325,display=Location Relationship ID"`
	OrganizationalLocationRelationshipValue *XON    `hl7:"5,conditional,len=80,display=Organizational Location Relationship Value"`
	PatientLocationRelationshipValue        *PL     `hl7:"6,conditional,len=80,display=Patient Location Relationship Value"`
}

Location Relationship

The LRL segment is used identify one location’s relationship to another location, the nearest lab, pharmacy, etc.

type MDM_T01

type MDM_T01 struct {
	HL7 HL7Name `hl7:",name=MDM_T01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
}

Original document notification

This is a notification of the creation of a document without the accompanying content.

type MDM_T02

type MDM_T02 struct {
	HL7 HL7Name `hl7:",name=MDM_T02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
	OBX []OBX   `hl7:"6,required,display=Observation segment"`
}

Original document notification and content

This is a notification of the creation of a document with the accompanying content

type MDM_T03

type MDM_T03 struct {
	HL7 HL7Name `hl7:",name=MDM_T03,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
}

Document status change notification

This is a notification of a change in a status of a document without the accompanying content

type MDM_T04

type MDM_T04 struct {
	HL7 HL7Name `hl7:",name=MDM_T04,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
	OBX []OBX   `hl7:"6,required,display=Observation segment"`
}

Document status change notification and content

This is a notification of a change in a status of a document with the accompanying content

type MDM_T05

type MDM_T05 struct {
	HL7 HL7Name `hl7:",name=MDM_T05,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
}

Document addendum notification

This is a notification of an addendum to a document without the accompanying content

type MDM_T06

type MDM_T06 struct {
	HL7 HL7Name `hl7:",name=MDM_T06,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
	OBX []OBX   `hl7:"6,required,display=Observation segment"`
}

Document addendum notification and content

This is a notification of an addendum to a document with the accompanying content

type MDM_T07

type MDM_T07 struct {
	HL7 HL7Name `hl7:",name=MDM_T07,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
}

Document edit notification

This is a notification of an edit to a document without the accompanying content

type MDM_T08

type MDM_T08 struct {
	HL7 HL7Name `hl7:",name=MDM_T08,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
	OBX []OBX   `hl7:"6,required,display=Observation segment"`
}

Document edit notification and content

This is a notification of an edit to a document with the accompanying 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.

type MDM_T09

type MDM_T09 struct {
	HL7 HL7Name `hl7:",name=MDM_T09,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
}

Document replacement notification

This is a notification of replacement to a document without the accompanying content

Note: This trigger event is generally used when the original document availability status is “Available.”

type MDM_T10

type MDM_T10 struct {
	HL7 HL7Name `hl7:",name=MDM_T10,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification segment"`
	OBX []OBX   `hl7:"6,required,display=Observation segment"`
}

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_T11

type MDM_T11 struct {
	HL7 HL7Name `hl7:",name=MDM_T11,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	EVN *EVN    `hl7:"2,required,display=Event type"`
	PID *PID    `hl7:"3,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"4,required,display=Patient visit"`
	TXA *TXA    `hl7:"5,required,display=Document notification 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.

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,len=20,display=MFN Control ID"`
	EventCompletionDateTime  TS      `hl7:"3,len=26,format=YMDHMS,display=Event Completion Date/Time"`
	ErrorReturnCodeAndOrText CE      `hl7:"4,required,len=60,table=0181,display=Error Return Code and/or Text"`
	PrimaryKeyValue          []CE    `hl7:"5,required,len=60,display=Primary Key Value"`
}

Master file acknowledgement segment

The MFA segment contains the following fields as defined in Figure 8-3 - MFA attributes.

type MFD_MFA

type MFD_MFA struct {
	HL7 HL7Name `hl7:",name=MFD_MFA,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MFI *MFI    `hl7:"2,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"3,display=Master file acknowledgement segment"`
}

Master file delayed application acknowledgment

The MFD transaction is the delayed application acknowledgment. It can be used to return “deferred” application-level acknowledgment statuses at the MFE level, without reference to the original MFN message

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,len=20,display=MFN Control ID"`
	EffectiveDateTime    TS       `hl7:"3,len=26,format=YMDHMS,display=Effective Date/Time"`
	PrimaryKeyValue      []VARIES `hl7:"4,required,len=200,display=Primary Key Value"`
}

Master file entry segment

type MFI

type MFI struct {
	HL7                             HL7Name `hl7:",name=MFI,type=s"`
	MasterFileIdentifier            CE      `hl7:"1,required,len=60,table=0175,display=Master File Identifier"`
	MasterFileApplicationIdentifier *HD     `hl7:"2,len=180,display=Master File Application Identifier"`
	FileLevelEventCode              ID      `hl7:"3,required,len=3,table=0178,display=File-Level Event Code"`
	EnteredDateTime                 TS      `hl7:"4,len=26,format=YMDHMS,display=Entered Date/Time"`
	EffectiveDateTime               TS      `hl7:"5,len=26,format=YMDHMS,display=Effective Date/Time"`
	ResponseLevelCode               ID      `hl7:"6,required,len=2,table=0179,display=Response Level Code"`
}

Master file identification segment

type MFK_M01

type MFK_M01 struct {
	HL7  HL7Name      `hl7:",name=MFK_M01,type=t"`
	MSH  *MSH         `hl7:"1,required,display=Message header segment"`
	MSA  *MSA         `hl7:"2,required,display=Message acknowledgement segment"`
	MFI  *MFI         `hl7:"3,required,display=Master file identification segment"`
	ERR  *ERR         `hl7:"4,display=Error segment"`
	MFA  []MFA        `hl7:"5,display=Master file acknowledgement segment"`
	MFI2 *MFI         `hl7:"6,required,display=Master file identification segment"`
	Mf   []MFK_M01_Mf `hl7:",required,display=Mf"`
}

Master file not otherwise specified acknowledgment

type MFK_M01_Mf

type MFK_M01_Mf struct {
	HL7 HL7Name `hl7:",name=MFK_M01_Mf,type=tg"`
	MFA *MFA    `hl7:"7,display=Master file acknowledgement segment"`
}

Mf

type MFK_M02

type MFK_M02 struct {
	HL7 HL7Name `hl7:",name=MFK_M02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
	MFI *MFI    `hl7:"4,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"5,display=Master file acknowledgement segment"`
}

Master file - staff practitioner acknowledgment

type MFK_M03

type MFK_M03 struct {
	HL7 HL7Name `hl7:",name=MFK_M03,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
	MFI *MFI    `hl7:"4,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"5,display=Master file acknowledgement segment"`
}

Master file - Test/Observation acknowledgment

type MFK_M04

type MFK_M04 struct {
	HL7 HL7Name `hl7:",name=MFK_M04,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	MFI *MFI    `hl7:"3,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"4,display=Master file acknowledgement segment"`
}

Master files charge description acknowledgment

type MFK_M05

type MFK_M05 struct {
	HL7 HL7Name `hl7:",name=MFK_M05,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	MFI *MFI    `hl7:"3,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"4,display=Master file acknowledgement segment"`
}

Patient location master file acknowledgment

type MFK_M06

type MFK_M06 struct {
	HL7 HL7Name `hl7:",name=MFK_M06,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	MFI *MFI    `hl7:"3,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"4,display=Master file acknowledgement segment"`
}

Clinical study with phases and schedules master file acknowledgment

type MFK_M07

type MFK_M07 struct {
	HL7 HL7Name `hl7:",name=MFK_M07,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	MFI *MFI    `hl7:"3,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"4,display=Master file acknowledgement segment"`
}

Clinical study without phases but with schedules master file acknowledgment

type MFK_M08

type MFK_M08 struct {
	HL7 HL7Name `hl7:",name=MFK_M08,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	MFI *MFI    `hl7:"3,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"4,display=Master file acknowledgement segment"`
}

Test/observation (numeric) master file acknowledgment

type MFK_M09

type MFK_M09 struct {
	HL7 HL7Name `hl7:",name=MFK_M09,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	MFI *MFI    `hl7:"3,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"4,display=Master file acknowledgement segment"`
}

Test/observation (categorical) master file acknowledgment

type MFK_M10

type MFK_M10 struct {
	HL7 HL7Name `hl7:",name=MFK_M10,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	MFI *MFI    `hl7:"3,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"4,display=Master file acknowledgement segment"`
}

Test/observation batteries master file acknowledgment

type MFK_M11

type MFK_M11 struct {
	HL7 HL7Name `hl7:",name=MFK_M11,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	MFI *MFI    `hl7:"3,required,display=Master file identification segment"`
	MFA []MFA   `hl7:"4,display=Master file acknowledgement segment"`
}

Test/calculated observations master file acknowledgment

type MFN_M01

type MFN_M01 struct {
	HL7 HL7Name      `hl7:",name=MFN_M01,type=t"`
	MSH *MSH         `hl7:"1,required,display=Message header segment"`
	MFI *MFI         `hl7:"2,required,display=Master file identification segment"`
	Mf  []MFN_M01_Mf `hl7:",required,display=Mf"`
}

Master file not otherwise specified

(for backward compatibility only)

type MFN_M01_Mf

type MFN_M01_Mf struct {
	HL7 HL7Name `hl7:",name=MFN_M01_Mf,type=tg"`
	MFE *MFE    `hl7:"3,required,display=Master file entry segment"`
}

Mf

type MFN_M02

type MFN_M02 struct {
	HL7     HL7Name           `hl7:",name=MFN_M02,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MFI     *MFI              `hl7:"2,required,display=Master file identification segment"`
	MfStaff []MFN_M02_MfStaff `hl7:",required,display=Mf Staff"`
}

Master file - staff practitioner

The staff (STF) and practitioner (PRA) segments can be used to transmit master files information between systems. The STF segment provides general information about personnel; the PRA segment provides detailed information for a staff member who is also a health practitioner. Other segments may be defined to follow the STF segment to provide additional detail information for a particular type of staff member: the PRA segment is the first such segment.

type MFN_M02_MfStaff

type MFN_M02_MfStaff struct {
	HL7 HL7Name `hl7:",name=MFN_M02_MfStaff,type=tg"`
	MFE *MFE    `hl7:"3,required,display=Master file entry segment"`
	STF *STF    `hl7:"4,required,display=Staff identification segment"`
	PRA *PRA    `hl7:"5,display=Practitioner detail segment"`
}

MfStaff

type MFN_M03

type MFN_M03 struct {
	HL7    HL7Name          `hl7:",name=MFN_M03,type=t"`
	MSH    *MSH             `hl7:"1,required,display=Message header segment"`
	MFI    *MFI             `hl7:"2,required,display=Master file identification segment"`
	Mftest []MFN_M03_Mftest `hl7:",required,display=Mf_test"`
}

Master file - Test/Observation

(for backward compatibility only)

type MFN_M03_Mftest

type MFN_M03_Mftest struct {
	HL7 HL7Name `hl7:",name=MFN_M03_Mftest,type=tg"`
	MFE *MFE    `hl7:"3,display=Master file entry segment"`
}

Mftest

type MFN_M04

type MFN_M04 struct {
	HL7   HL7Name         `hl7:",name=MFN_M04,type=t"`
	MSH   *MSH            `hl7:"1,required,display=Message header segment"`
	MFI   *MFI            `hl7:"2,required,display=Master file identification segment"`
	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.4, “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:"3,required,display=Master file entry segment"`
	CDM *CDM    `hl7:"4,required,display=Charge Description Master"`
	PRC []PRC   `hl7:"5,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 segment"`
	MFI        *MFI                 `hl7:"2,required,display=Master file identification segment"`
	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.

type MFN_M05_MfLocDept

type MFN_M05_MfLocDept struct {
	HL7 HL7Name `hl7:",name=MFN_M05_MfLocDept,type=tg"`
	LDP *LDP    `hl7:"7,required,display=Location Department"`
	LCH []LCH   `hl7:"8,display=Location Characteristic"`
	LCC []LCC   `hl7:"9,display=Location Charge Code"`
}

MfLocDept

type MFN_M05_MfLocation

type MFN_M05_MfLocation struct {
	HL7       HL7Name             `hl7:",name=MFN_M05_MfLocation,type=tg"`
	MFE       *MFE                `hl7:"3,required,display=Master file entry segment"`
	LOC       *LOC                `hl7:"4,required,display=Location Identification"`
	LCH       []LCH               `hl7:"5,display=Location Characteristic"`
	LRL       []LRL               `hl7:"6,display=Location Relationship"`
	MfLocDept []MFN_M05_MfLocDept `hl7:",required,display=Mf Loc Dept"`
}

MfLocation

type MFN_M06

type MFN_M06 struct {
	HL7         HL7Name               `hl7:",name=MFN_M06,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message header segment"`
	MFI         *MFI                  `hl7:"2,required,display=Master file identification segment"`
	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.

type MFN_M06_MfClinStudy

type MFN_M06_MfClinStudy struct {
	HL7                HL7Name                      `hl7:",name=MFN_M06_MfClinStudy,type=tg"`
	MFE                *MFE                         `hl7:"3,required,display=Master file entry segment"`
	CM0                *CM0                         `hl7:"4,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:"5,required,display=Clinical Study Phase Master"`
	CM2 []CM2   `hl7:"6,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 segment"`
	MFI         *MFI                  `hl7:"2,required,display=Master file identification segment"`
	MfClinStudy []MFN_M07_MfClinStudy `hl7:",required,display=Mf Clin Study"`
}

Clinical study without phases but with schedules master file

type MFN_M07_MfClinStudy

type MFN_M07_MfClinStudy struct {
	HL7                HL7Name                      `hl7:",name=MFN_M07_MfClinStudy,type=tg"`
	MFE                *MFE                         `hl7:"3,required,display=Master file entry segment"`
	CM0                *CM0                         `hl7:"4,required,display=Clinical Study Master"`
	MfPhaseSchedDetail []MFN_M07_MfPhaseSchedDetail `hl7:",display=Mf Phase Sched Detail"`
}

MfClinStudy

type MFN_M07_MfPhaseSchedDetail

type MFN_M07_MfPhaseSchedDetail struct {
	HL7 HL7Name `hl7:",name=MFN_M07_MfPhaseSchedDetail,type=tg"`
	CM1 *CM1    `hl7:"5,required,display=Clinical Study Phase Master"`
	CM2 []CM2   `hl7:"6,display=Clinical Study Schedule Master"`
}

MfPhaseSchedDetail

type MFN_M08

type MFN_M08 struct {
	HL7           HL7Name                 `hl7:",name=MFN_M08,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message header segment"`
	MFI           *MFI                    `hl7:"2,required,display=Master file identification segment"`
	MfTestNumeric []MFN_M08_MfTestNumeric `hl7:",required,display=Mf Test Numeric"`
}

Test/observation (numeric) master file

MFI-1-master file identifier = OMA, for numeric observations

type MFN_M08_MfNumericObservation

type MFN_M08_MfNumericObservation struct {
	HL7 HL7Name `hl7:",name=MFN_M08_MfNumericObservation,type=tg"`
	OM2 *OM2    `hl7:"5,display=Numeric observation"`
	OM3 *OM3    `hl7:"6,display=Categorical test/observation"`
	OM4 *OM4    `hl7:"7,display=Observations that require specimens"`
}

MfNumericObservation

type MFN_M08_MfTestNumeric

type MFN_M08_MfTestNumeric struct {
	HL7                  HL7Name                       `hl7:",name=MFN_M08_MfTestNumeric,type=tg"`
	MFE                  *MFE                          `hl7:"3,required,display=Master file entry segment"`
	OM1                  *OM1                          `hl7:"4,required,display=General - fields that apply to most observations"`
	MfNumericObservation *MFN_M08_MfNumericObservation `hl7:",display=Mf Numeric Observation"`
}

MfTestNumeric

type MFN_M09

type MFN_M09 struct {
	HL7               HL7Name                     `hl7:",name=MFN_M09,type=t"`
	MSH               *MSH                        `hl7:"1,required,display=Message header segment"`
	MFI               *MFI                        `hl7:"2,required,display=Master file identification segment"`
	MfTestCategorical []MFN_M09_MfTestCategorical `hl7:",required,display=Mf Test Categorical"`
}

Test/observation (categorical) master file

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:"5,required,display=Categorical test/observation"`
	OM4 []OM4   `hl7:"6,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:"3,required,display=Master file entry segment"`
	OM1             *OM1                     `hl7:"4,required,display=General - fields that apply to most observations"`
	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 segment"`
	MFI             *MFI                      `hl7:"2,required,display=Master file identification segment"`
	MfTestBatteries []MFN_M10_MfTestBatteries `hl7:",required,display=Mf Test Batteries"`
}

Test/observation batteries master file

type MFN_M10_MfTestBattDetail

type MFN_M10_MfTestBattDetail struct {
	HL7 HL7Name `hl7:",name=MFN_M10_MfTestBattDetail,type=tg"`
	OM5 *OM5    `hl7:"5,required,display=Observation batteries"`
	OM4 []OM4   `hl7:"6,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:"3,required,display=Master file entry segment"`
	OM1              *OM1                      `hl7:"4,required,display=General - fields that apply to most observations"`
	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 segment"`
	MFI              *MFI                       `hl7:"2,required,display=Master file identification segment"`
	MfTestCalculated []MFN_M11_MfTestCalculated `hl7:",required,display=Mf Test Calculated"`
}

Test/calculated observations master file

type MFN_M11_MfTestCalcDetail

type MFN_M11_MfTestCalcDetail struct {
	HL7 HL7Name `hl7:",name=MFN_M11_MfTestCalcDetail,type=tg"`
	OM6 *OM6    `hl7:"5,required,display=Observations that are calculated from other observations"`
	OM2 *OM2    `hl7:"6,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:"3,required,display=Master file entry segment"`
	OM1              *OM1                      `hl7:"4,required,display=General - fields that apply to most observations"`
	MfTestCalcDetail *MFN_M11_MfTestCalcDetail `hl7:",display=Mf Test Calc Detail"`
}

MfTestCalculated

type MFQ_M01

type MFQ_M01 struct {
	HL7 HL7Name `hl7:",name=MFQ_M01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Not otherwise specified

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

(for backward compatibility only)

type MFQ_M02

type MFQ_M02 struct {
	HL7 HL7Name `hl7:",name=MFQ_M02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Staff Practitioner

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFQ_M03

type MFQ_M03 struct {
	HL7 HL7Name `hl7:",name=MFQ_M03,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Test/Observation

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

(for backward compatibility only)

type MFQ_M04

type MFQ_M04 struct {
	HL7 HL7Name `hl7:",name=MFQ_M04,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Charge description

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFQ_M05

type MFQ_M05 struct {
	HL7 HL7Name `hl7:",name=MFQ_M05,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Patient location

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFQ_M06

type MFQ_M06 struct {
	HL7 HL7Name `hl7:",name=MFQ_M06,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Clinical study with phases and schedules

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFQ_M07

type MFQ_M07 struct {
	HL7 HL7Name `hl7:",name=MFQ_M07,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Clinical study without phases but with schedules

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFQ_M08

type MFQ_M08 struct {
	HL7 HL7Name `hl7:",name=MFQ_M08,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Test/observation (Numeric)

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFQ_M09

type MFQ_M09 struct {
	HL7 HL7Name `hl7:",name=MFQ_M09,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Test/Observation (Categorical)

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFQ_M10

type MFQ_M10 struct {
	HL7 HL7Name `hl7:",name=MFQ_M10,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Test /observation batteries

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFQ_M11

type MFQ_M11 struct {
	HL7 HL7Name `hl7:",name=MFQ_M11,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for Master File Record - Test/calculated observations

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M01

type MFR_M01 struct {
	HL7     HL7Name           `hl7:",name=MFR_M01,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M01_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Not otherwise specified

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

(for backward compatibility only)

type MFR_M01_MfQuery

type MFR_M01_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M01_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M02

type MFR_M02 struct {
	HL7     HL7Name           `hl7:",name=MFR_M02,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M02_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Staff Practitioner

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M02_MfQuery

type MFR_M02_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M02_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M03

type MFR_M03 struct {
	HL7     HL7Name           `hl7:",name=MFR_M03,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M03_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Test/Observation

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

(for backward compatibility only)

type MFR_M03_MfQuery

type MFR_M03_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M03_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M04

type MFR_M04 struct {
	HL7     HL7Name           `hl7:",name=MFR_M04,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M04_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Charge description

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M04_MfQuery

type MFR_M04_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M04_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M05

type MFR_M05 struct {
	HL7     HL7Name           `hl7:",name=MFR_M05,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M05_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Patient location

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M05_MfQuery

type MFR_M05_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M05_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M06

type MFR_M06 struct {
	HL7     HL7Name           `hl7:",name=MFR_M06,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M06_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Clinical study with phases and schedules

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M06_MfQuery

type MFR_M06_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M06_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M07

type MFR_M07 struct {
	HL7     HL7Name           `hl7:",name=MFR_M07,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M07_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Clinical study without phases but with schedules

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M07_MfQuery

type MFR_M07_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M07_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M08

type MFR_M08 struct {
	HL7     HL7Name           `hl7:",name=MFR_M08,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M08_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Test/observation (Numeric)

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M08_MfQuery

type MFR_M08_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M08_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M09

type MFR_M09 struct {
	HL7     HL7Name           `hl7:",name=MFR_M09,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M09_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Test/Observation

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M09_MfQuery

type MFR_M09_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M09_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M10

type MFR_M10 struct {
	HL7     HL7Name           `hl7:",name=MFR_M10,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M10_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Test /observation batteries

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M10_MfQuery

type MFR_M10_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M10_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

type MFR_M11

type MFR_M11 struct {
	HL7     HL7Name           `hl7:",name=MFR_M11,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"5,display=Query filter segment"`
	MFI     *MFI              `hl7:"6,required,display=Master file identification segment"`
	MfQuery []MFR_M11_MfQuery `hl7:",required,display=Mf Query"`
	DSC     *DSC              `hl7:"8,display=Continuation pointer segment"`
}

Master Files Response - Test/calculated observations

The MFQ/MFR transaction allows a system to query for a particular record or group records (defined by the primary key) in a particular master file.

type MFR_M11_MfQuery

type MFR_M11_MfQuery struct {
	HL7 HL7Name `hl7:",name=MFR_M11_MfQuery,type=tg"`
	MFE *MFE    `hl7:"7,required,display=Master file entry segment"`
}

MfQuery

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      `` /* 361-byte string literal not displayed */
}

Money

type MRG

type MRG struct {
	HL7                       HL7Name `hl7:",name=MRG,type=s"`
	PriorPatientIDInternal    []CX    `hl7:"1,required,len=20,display=Prior Patient ID - Internal"`
	PriorAlternatePatientID   []CX    `hl7:"2,len=20,display=Prior Alternate Patient ID"`
	PriorPatientAccountNumber *CX     `hl7:"3,len=20,display=Prior Patient Account Number"`
	PriorPatientIDExternal    *CX     `hl7:"4,len=20,display=Prior Patient ID - External"`
	PriorVisitNumber          *CX     `hl7:"5,len=20,display=Prior Visit Number"`
	PriorAlternateVisitID     *CX     `hl7:"6,len=20,display=Prior Alternate Visit ID"`
	PriorPatientName          *XPN    `hl7:"7,len=48,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

Segment notes: MRG merge patient information The assigning facility ID, the fourth component of the patient identifiers, is an HD data type that is uniquely associated with the facility that originally assigned the number. A given institution, or group of intercommunicating institutions, should establish a list of facilities 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 facility ID in the patient identification numbers may not be the same as those of the sending and receiving systems identified in the MSH. The assigning facility ID 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"`
	AcknowledgementCode        ID      `hl7:"1,required,len=2,table=0008,display=Acknowledgement code"`
	MessageControlID           ST      `hl7:"2,required,len=20,display=Message Control ID"`
	TextMessage                ST      `hl7:"3,len=80,display=Text Message"`
	ExpectedSequenceNumber     NM      `hl7:"4,len=15,display=Expected Sequence Number"`
	DelayedAcknowledgementType ID      `hl7:"5,len=1,table=0102,display=Delayed Acknowledgement Type"`
	ErrorCondition             *CE     `hl7:"6,len=100,display=Error Condition"`
}

Message acknowledgement segment

The MSA segment contains information sent while acknowledging another message.

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=4,display=Encoding Characters"`
	SendingApplication             *HD     `hl7:"3,len=180,display=Sending Application"`
	SendingFacility                *HD     `hl7:"4,len=180,display=Sending Facility"`
	ReceivingApplication           *HD     `hl7:"5,len=180,display=Receiving Application"`
	ReceivingFacility              *HD     `hl7:"6,len=180,display=Receiving Facility"`
	DateTimeOfMessage              TS      `hl7:"7,len=26,format=YMDHMS,display=Date / Time of Message"`
	Security                       ST      `hl7:"8,len=40,display=Security"`
	MessageType                    CM_MSG  `hl7:"9,required,len=7,display=Message Type"`
	MessageControlID               ST      `hl7:"10,required,len=20,display=Message Control ID"`
	ProcessingID                   PT      `hl7:"11,required,len=3,display=Processing ID"`
	VersionID                      ID      `hl7:"12,required,len=8,table=0104,display=Version ID"`
	SequenceNumber                 NM      `hl7:"13,len=15,display=Sequence Number"`
	ContinuationPointer            ST      `hl7:"14,len=180,display=Continuation Pointer"`
	AcceptAcknowledgementType      ID      `hl7:"15,len=2,table=0155,display=Accept Acknowledgement Type"`
	ApplicationAcknowledgementType ID      `hl7:"16,len=2,table=0155,display=Application Acknowledgement Type"`
	CountryCode                    ID      `hl7:"17,len=2,table=ISO3166,display=Country Code"`
	CharacterSet                   []ID    `hl7:"18,max=3,len=6,table=0211,display=Character Set"`
	PrincipalLanguageOfMessage     *CE     `hl7:"19,len=60,display=Principal Language of Message"`
}

Message header segment

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 NCK

type NCK struct {
	HL7            HL7Name `hl7:",name=NCK,type=s"`
	SystemDateTime TS      `hl7:"1,required,len=26,format=YMDHMS,display=System Date/Time"`
}

System Clock

The NCK segment is used to allow the various systems on the network to synchronize their system clocks (system date and time).

type NK1

type NK1 struct {
	HL7                                      HL7Name `hl7:",name=NK1,type=s"`
	SetIDNextOfKin                           SI      `hl7:"1,required,len=4,display=Set ID - Next of Kin"`
	NKName                                   []XPN   `hl7:"2,len=48,display=NK Name"`
	Relationship                             *CE     `hl7:"3,len=60,table=0063,display=Relationship"`
	Address                                  []XAD   `hl7:"4,len=106,display=Address"`
	PhoneNumber                              []XTN   `hl7:"5,len=40,display=Phone Number"`
	BusinessPhoneNumber                      []XTN   `hl7:"6,len=40,display=Business Phone Number"`
	ContactRole                              *CE     `hl7:"7,len=60,table=0131,display=Contact Role"`
	StartDate                                DT      `hl7:"8,len=8,format=YMD,display=Start Date"`
	EndDate                                  DT      `hl7:"9,len=8,format=YMD,display=End Date"`
	NextOfKinAssociatedPartiesJobTitle       ST      `hl7:"10,len=60,display=Next of Kin/Associated Parties Job Title"`
	NextOfKinJobAssociatedPartiesCodeClass   *JCC    `hl7:"11,len=20,display=Next of Kin Job/Associated Parties Code/Class"`
	NextOfKinAssociatedPartiesEmployeeNumber *CX     `hl7:"12,len=20,display=Next of Kin/Associated Parties Employee Number"`
	OrganizationName                         []XON   `hl7:"13,len=60,display=Organization Name"`
	MaritalStatus                            IS      `hl7:"14,len=2,table=0002,display=Marital Status"`
	Sex                                      IS      `hl7:"15,len=1,table=0001,display=Sex"`
	DateOfBirth                              TS      `hl7:"16,len=26,format=YMDHMS,display=Date of Birth"`
	LivingDependency                         []IS    `hl7:"17,len=2,table=0223,display=Living Dependency"`
	AmbulatoryStatus                         []IS    `hl7:"18,len=2,table=0009,display=Ambulatory Status"`
	Citizenship                              []IS    `hl7:"19,len=4,table=0171,display=Citizenship"`
	PrimaryLanguage                          *CE     `hl7:"20,len=60,table=0296,display=Primary Language"`
	LivingArrangement                        IS      `hl7:"21,len=2,table=0220,display=Living Arrangement"`
	PublicityIndicator                       *CE     `hl7:"22,len=1,table=0215,display=Publicity Indicator"`
	ProtectionIndicator                      ID      `hl7:"23,len=1,table=0136,display=Protection Indicator"`
	StudentIndicator                         IS      `hl7:"24,len=2,table=0231,display=Student Indicator"`
	Religion                                 IS      `hl7:"25,len=3,table=0006,display=Religion"`
	MotherSMaidenName                        *XPN    `hl7:"26,len=48,display=Mother s Maiden Name"`
	NationalityCode                          *CE     `hl7:"27,len=80,table=0212,display=Nationality Code"`
	EthnicGroup                              IS      `hl7:"28,len=3,table=0189,display=Ethnic Group"`
	ContactReason                            []CE    `hl7:"29,len=80,table=0222,display=Contact Reason"`
	ContactPersonsName                       []XPN   `hl7:"30,len=48,display=Contact Person's Name"`
	ContactPersonSTelephoneNumber            []XTN   `hl7:"31,len=40,display=Contact Person s Telephone Number"`
	ContactPersonSAddress                    []XAD   `hl7:"32,len=106,display=Contact Person s Address"`
	NextOfKinAssociatedPartyIdentifiers      []CX    `hl7:"33,len=32,display=Next of kin/associated party identifiers"`
	JobStatus                                IS      `hl7:"34,len=2,table=0311,display=Job Status"`
	Race                                     IS      `hl7:"35,len=1,table=0005,display=Race"`
	Handicap                                 IS      `hl7:"36,len=2,table=0295,display=Handicap"`
	ContactPersonSocialSecurityNumber        ST      `hl7:"37,len=16,display=Contact Person Social Security Number"`
}

Next of kin

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

type NM

type NM = string

Numeric

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:

type NMD_N02

type NMD_N02 struct {
	HL7                    HL7Name                          `hl7:",name=NMD_N02,type=t"`
	MSH                    *MSH                             `hl7:"1,required,display=Message header segment"`
	ClockAndStatsWithNotes []NMD_N02_ClockAndStatsWithNotes `hl7:",required,display=Clock And Stats With Notes"`
}

Network management data message

One system creates an unsolicited update (UU) Network Management Data message (NMD) to transmit network management information to another system. In this case, the initiating system sends an NMD message as an unsolicited update (UU) containing network management information to a receiving system, which responds with a generic acknowledgement message (ACK).

type NMD_N02_AppStats

type NMD_N02_AppStats struct {
	HL7 HL7Name `hl7:",name=NMD_N02_AppStats,type=tg"`
	NST *NST    `hl7:"4,required,display=Statistics"`
	NTE []NTE   `hl7:"5,display=Notes and comments segment"`
}

AppStats

type NMD_N02_AppStatus

type NMD_N02_AppStatus struct {
	HL7 HL7Name `hl7:",name=NMD_N02_AppStatus,type=tg"`
	NSC *NSC    `hl7:"6,required,display=Status change"`
	NTE []NTE   `hl7:"7,display=Notes and comments segment"`
}

AppStatus

type NMD_N02_Clock

type NMD_N02_Clock struct {
	HL7 HL7Name `hl7:",name=NMD_N02_Clock,type=tg"`
	NCK *NCK    `hl7:"2,required,display=System Clock"`
	NTE []NTE   `hl7:"3,display=Notes and comments segment"`
}

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 NMQ_N01

type NMQ_N01 struct {
	HL7                HL7Name                      `hl7:",name=NMQ_N01,type=t"`
	MSH                *MSH                         `hl7:"1,required,display=Message header segment"`
	QryWithDetail      *NMQ_N01_QryWithDetail       `hl7:",display=Qry With Detail"`
	ClockAndStatistics []NMQ_N01_ClockAndStatistics `hl7:",required,display=Clock And Statistics"`
}

Network management query message

The NMQ (Network Management Query) message is used by one system to make system-level requests for information or action to another system. It has three segments, the NCK segment (network clock), the NST segment (network statistics), and the NSC segment (network status change). An example of the last type, NSC (network status change) would be an application or system startup/shut down request. At least one of these three segments must be present in the NMQ message. If a segment is present in the NMQ message, the corresponding segment needs to be present in the NMR message to return the requested data or status

type NMQ_N01_ClockAndStatistics

type NMQ_N01_ClockAndStatistics struct {
	HL7 HL7Name `hl7:",name=NMQ_N01_ClockAndStatistics,type=tg"`
	NCK *NCK    `hl7:"4,display=System Clock"`
	NST *NST    `hl7:"5,display=Statistics"`
	NSC *NSC    `hl7:"6,display=Status change"`
}

ClockAndStatistics

type NMQ_N01_QryWithDetail

type NMQ_N01_QryWithDetail struct {
	HL7 HL7Name `hl7:",name=NMQ_N01_QryWithDetail,type=tg"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
}

QryWithDetail

type NMR_N01

type NMR_N01 struct {
	HL7                       HL7Name                             `hl7:",name=NMR_N01,type=t"`
	MSH                       *MSH                                `hl7:"1,required,display=Message header segment"`
	MSA                       *MSA                                `hl7:"2,required,display=Message acknowledgement segment"`
	ERR                       []ERR                               `hl7:"3,display=Error segment"`
	QRD                       *QRD                                `hl7:"4,display=Query definition segment"`
	ClockAndStatsWithNotesAlt []NMR_N01_ClockAndStatsWithNotesAlt `hl7:",required,display=Clock And Stats With Notes Alt"`
}

Network management response message

The NMQ (Network Management Query) message is used by one system to make system-level requests for information or action to another system. It has three segments, the NCK segment (network clock), the NST segment (network statistics), and the NSC segment (network status change). An example of the last type, NSC (network status change) would be an application or system startup/shut down request. At least one of these three segments must be present in the NMQ message. If a segment is present in the NMQ message, the corresponding segment needs to be present in the NMR message to return the requested data or status

type NMR_N01_ClockAndStatsWithNotesAlt

type NMR_N01_ClockAndStatsWithNotesAlt struct {
	HL7  HL7Name `hl7:",name=NMR_N01_ClockAndStatsWithNotesAlt,type=tg"`
	NCK  *NCK    `hl7:"5,display=System Clock"`
	NTE  []NTE   `hl7:"6,display=Notes and comments segment"`
	NST  *NST    `hl7:"7,display=Statistics"`
	NTE2 []NTE   `hl7:"8,display=Notes and comments segment"`
	NSC  *NSC    `hl7:"9,display=Status change"`
	NTE3 []NTE   `hl7:"10,display=Notes and comments segment"`
}

ClockAndStatsWithNotesAlt

type NPU

type NPU struct {
	HL7         HL7Name `hl7:",name=NPU,type=s"`
	BedLocation PL      `hl7:"1,required,len=80,display=Bed Location"`
	BedStatus   IS      `hl7:"2,len=1,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 NSC

type NSC struct {
	HL7                HL7Name `hl7:",name=NSC,type=s"`
	NetworkChangeType  IS      `hl7:"1,required,len=4,table=0333,display=Network Change Type"`
	CurrentCPU         ST      `hl7:"2,len=30,display=Current CPU"`
	CurrentFileserver  ST      `hl7:"3,len=30,display=Current Fileserver"`
	CurrentApplication ST      `hl7:"4,len=30,display=Current Application"`
	CurrentFacility    ST      `hl7:"5,len=30,display=Current Facility"`
	NewCPU             ST      `hl7:"6,len=30,display=New CPU"`
	NewFileserver      ST      `hl7:"7,len=30,display=New Fileserver"`
	NewApplication     ST      `hl7:"8,len=30,display=New Application"`
	NewFacility        ST      `hl7:"9,len=30,display=New Facility"`
}

Status change

The NSC segment can be used to request the start-up, shut-down, and/or migration (to a different cpu or file-server/file-system) of a particular application. It can also be used in an unsolicited update from one system to another to announce the start-up, shut-down, or migration of an application.

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,len=30,display=Source Identifier"`
	SourceType             ID      `hl7:"3,len=3,table=0332,display=Source Type"`
	StatisticsStart        TS      `hl7:"4,len=26,format=YMDHMS,display=Statistics Start"`
	StatisticsEnd          TS      `hl7:"5,len=26,format=YMDHMS,display=Statistics End"`
	ReceiveCharacterCount  NM      `hl7:"6,len=10,display=Receive Character Count"`
	SendCharacterCount     NM      `hl7:"7,len=10,display=Send Character Count"`
	MessagesReceived       NM      `hl7:"8,len=10,display=Messages Received"`
	MessagesSent           NM      `hl7:"9,len=10,display=Messages Sent"`
	ChecksumErrorsReceived NM      `hl7:"10,len=10,display=Checksum Errors Received"`
	LengthErrorsReceived   NM      `hl7:"11,len=10,display=Length Errors Received"`
	OtherErrorsReceived    NM      `hl7:"12,len=10,display=Other Errors Received"`
	ConnectTimeouts        NM      `hl7:"13,len=10,display=Connect Timeouts"`
	ReceiveTimeouts        NM      `hl7:"14,len=10,display=Receive Timeouts"`
	NetworkErrors          NM      `hl7:"15,len=10,display=Network Errors"`
}

Statistics

The NST segment allows network 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 network management applications monitoring the state of various network links

type NTE

type NTE struct {
	HL7                   HL7Name `hl7:",name=NTE,type=s"`
	SetIDNotesAndComments SI      `hl7:"1,len=4,display=Set ID - Notes and Comments"`
	SourceOfComment       ID      `hl7:"2,len=8,table=0105,display=Source of Comment"`
	Comment               []FT    `hl7:"3,len=65536,display=Comment"`
}

Notes and comments segment

The NTE segment is defined here for inclusion in messages defined in other chapters. It is a common format for sending notes and comments

type OBR

type OBR struct {
	HL7                                 HL7Name  `hl7:",name=OBR,type=s"`
	SetIDObservationRequest             SI       `hl7:"1,conditional,len=4,display=Set ID - Observation Request"`
	PlacerOrderNumber                   *EI      `hl7:"2,conditional,len=75,display=Placer Order Number"`
	FillerOrderNumber                   *EI      `hl7:"3,conditional,len=75,display=Filler Order Number"`
	UniversalServiceIdentifier          CE       `hl7:"4,required,len=200,display=Universal Service Identifier"`
	Priority                            ID       `hl7:"5,len=2,display=Priority"`
	RequestedDateTime                   TS       `hl7:"6,len=26,format=YMDHMS,display=Requested Date/Time"`
	ObservationDateTime                 TS       `hl7:"7,conditional,len=26,format=YMDHMS,display=Observation Date/Time"`
	ObservationEndDateTime              TS       `hl7:"8,len=26,format=YMDHMS,display=Observation End Date/Time"`
	CollectionVolume                    *CQ      `hl7:"9,len=20,display=Collection Volume"`
	CollectorIdentifier                 []XCN    `hl7:"10,len=60,display=Collector Identifier"`
	SpecimenActionCode                  ID       `hl7:"11,len=1,table=0065,display=Specimen Action Code"`
	DangerCode                          *CE      `hl7:"12,len=60,display=Danger Code"`
	RelevantClinicalInformation         ST       `hl7:"13,len=300,display=Relevant Clinical Information"`
	SpecimenReceivedDateTime            TS       `hl7:"14,conditional,len=26,format=YMDHMS,display=Specimen Received Date/Time"`
	SpecimenSource                      *CM_SPS  `hl7:"15,len=300,display=Specimen Source"`
	OrderingProvider                    []XCN    `hl7:"16,len=80,display=Ordering Provider"`
	OrderCallbackPhoneNumber            []XTN    `hl7:"17,max=2,len=40,display=Order Callback Phone Number"`
	PlacerField1                        ST       `hl7:"18,len=60,display=Placer Field 1"`
	PlacerField2                        ST       `hl7:"19,len=60,display=Placer Field 2"`
	FillerField1                        ST       `hl7:"20,len=60,display=Filler Field 1"`
	FillerField2                        ST       `hl7:"21,len=60,display=Filler Field 2"`
	ResultsRptStatusChngDateTime        TS       `hl7:"22,conditional,len=26,format=YMDHMS,display=Results Rpt/Status Chng - Date/Time"`
	ChargeToPractice                    *CM_MOC  `hl7:"23,len=40,display=Charge To Practice"`
	DiagnosticServiceSectionID          ID       `hl7:"24,len=10,table=0074,display=Diagnostic Service Section ID"`
	ResultStatus                        ID       `hl7:"25,conditional,len=1,table=0123,display=Result Status"`
	ParentResult                        *CM_PRL  `hl7:"26,len=400,display=Parent Result"`
	QuantityTiming                      []TQ     `hl7:"27,len=200,display=Quantity/Timing"`
	ResultCopiesTo                      []XCN    `hl7:"28,max=5,len=150,display=Result Copies To"`
	ParentNumber                        *CM_EIP  `hl7:"29,len=150,display=Parent Number"`
	TransportationMode                  ID       `hl7:"30,len=20,table=0124,display=Transportation Mode"`
	ReasonForStudy                      []CE     `hl7:"31,len=300,display=Reason For Study"`
	PrincipalResultInterpreter          *CM_NDL  `hl7:"32,len=200,display=Principal Result Interpreter"`
	AssistantResultInterpreter          []CM_NDL `hl7:"33,len=200,display=Assistant Result Interpreter"`
	Technician                          []CM_NDL `hl7:"34,len=200,display=Technician"`
	Transcriptionist                    []CM_NDL `hl7:"35,len=200,display=Transcriptionist"`
	ScheduledDateTime                   TS       `hl7:"36,len=26,format=YMDHMS,display=Scheduled Date/Time"`
	NumberOfSampleContainers            NM       `hl7:"37,len=4,display=Number Of Sample Containers"`
	TransportLogisticsOfCollectedSample []CE     `hl7:"38,len=60,display=Transport Logistics Of Collected Sample"`
	CollectorSComment                   []CE     `hl7:"39,len=200,display=Collector s Comment"`
	TransportArrangementResponsibility  *CE      `hl7:"40,len=60,display=Transport Arrangement Responsibility"`
	TransportArranged                   ID       `hl7:"41,len=30,table=0224,display=Transport Arranged"`
	EscortRequired                      ID       `hl7:"42,len=1,table=0225,display=Escort Required"`
	PlannedPatientTransportComment      []CE     `hl7:"43,len=200,display=Planned Patient Transport Comment"`
}

Observation request segment

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

type OBX

type OBX struct {
	HL7                      HL7Name  `hl7:",name=OBX,type=s"`
	SetID                    SI       `hl7:"1,seq,len=10,display=Set ID - OBX"`
	ValueType                ID       `hl7:"2,conditional,len=2,table=0125,display=Value Type"`
	ObservationIdentifier    CE       `hl7:"3,required,len=590,display=Observation Identifier"`
	ObservationSubID         ST       `hl7:"4,conditional,len=20,display=Observation Sub-ID"`
	ObservationValue         []VARIES `hl7:"5,conditional,len=65536,display=Observation Value"`
	Units                    *CE      `hl7:"6,len=60,display=Units"`
	ReferencesRange          ST       `hl7:"7,len=10,display=References Range"`
	AbnormalFlags            []ID     `hl7:"8,max=5,len=5,table=0078,display=Abnormal Flags"`
	Probability              NM       `hl7:"9,len=5,display=Probability"`
	NatureOfAbnormalTest     []ID     `hl7:"10,len=2,table=0080,display=Nature of Abnormal Test"`
	ObservResultStatus       ID       `hl7:"11,required,len=1,table=0085,display=Observ Result Status"`
	DateLastObsNormalValues  TS       `hl7:"12,len=26,format=YMDHMS,display=Date Last Obs Normal Values"`
	UserDefinedAccessChecks  ST       `hl7:"13,len=20,display=User Defined Access Checks"`
	DateTimeOfTheObservation TS       `hl7:"14,len=26,format=YMDHMS,display=Date/Time of the Observation"`
	ProducersID              *CE      `hl7:"15,len=60,display=Producer's ID"`
	ResponsibleObserver      *XCN     `hl7:"16,len=80,display=Responsible Observer"`
	ObservationMethod        []CE     `hl7:"17,len=60,display=Observation Method"`
}

Observation segment

The OBX segment is used to transmit a single observation or observation fragment. It represents the smallest indivisible unit of a report.

Its principal mission is to carry information about observations in report messages. But the OBX can also be part of an observation order (see Section 4.2, “Order 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.

type ODS

type ODS struct {
	HL7                            HL7Name `hl7:",name=ODS,type=s"`
	Type                           ID      `hl7:"1,required,len=1,table=0159,display=Type"`
	ServicePeriod                  []CE    `hl7:"2,max=10,len=60,display=Service Period"`
	DietSupplementOrPreferenceCode []CE    `hl7:"3,required,max=20,len=60,display=Diet- Supplement- or Preference Code"`
	TextInstruction                []ST    `hl7:"4,max=2,len=80,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-3filler 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-4-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.

type ODT

type ODT struct {
	HL7             HL7Name `hl7:",name=ODT,type=s"`
	TrayType        CE      `hl7:"1,required,len=60,table=0160,display=Tray Type"`
	ServicePeriod   []CE    `hl7:"2,max=10,len=60,display=Service Period"`
	TextInstruction ST      `hl7:"3,len=80,display=Text Instruction"`
}

Diet tray instructions segment

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"`
	SequenceNumber                                                  NM      `hl7:"1,required,len=4,display=Sequence Number"`
	ProducersTestObservationID                                      CE      `hl7:"2,required,len=200,display=Producer's Test/Observation ID"`
	PermittedDataTypes                                              []ID    `hl7:"3,len=12,table=0125,display=Permitted Data Types"`
	SpecimenRequired                                                ID      `hl7:"4,required,len=1,table=0136,display=Specimen Required"`
	ProducerID                                                      CE      `hl7:"5,required,len=200,display=Producer ID"`
	ObservationDescription                                          TX      `hl7:"6,len=200,display=Observation Description"`
	OtherTestObservationIDsForTheObservation                        *CE     `hl7:"7,len=200,display=Other Test/Observation IDs for the Observation"`
	OtherNames                                                      []ST    `hl7:"8,required,len=200,display=Other Names"`
	PreferredReportNameForTheObservation                            ST      `hl7:"9,len=30,display=Preferred Report Name for the Observation"`
	PreferredShortNameOrMnemonicForObservation                      ST      `hl7:"10,len=8,display=Preferred Short Name or Mnemonic for Observation"`
	PreferredLongNameForTheObservation                              ST      `hl7:"11,len=200,display=Preferred Long Name for the Observation"`
	Orderability                                                    ID      `hl7:"12,len=1,table=0136,display=Orderability"`
	IdentityOfInstrumentUsedToPerfromThisStudy                      []CE    `hl7:"13,len=60,display=Identity of Instrument Used to Perfrom this Study"`
	CodedRepresentationOfMethod                                     []CE    `hl7:"14,len=200,display=Coded Representation of Method"`
	Portable                                                        ID      `hl7:"15,len=1,table=0136,display=Portable"`
	ObservationProducingDepartmentSection                           []CE    `hl7:"16,len=1,display=Observation Producing Department/Section"`
	TelephoneNumberOfSection                                        *XTN    `hl7:"17,len=40,display=Telephone Number of Section"`
	NatureOfTestObservation                                         IS      `hl7:"18,required,len=1,table=0174,display=Nature of Test/Observation"`
	ReportSubheader                                                 *CE     `hl7:"19,len=200,display=Report Subheader"`
	ReportDisplayOrder                                              ST      `hl7:"20,len=20,display=Report Display Order"`
	DateTimeStampForAnyChangeInDefAttriForObs                       TS      `hl7:"21,len=26,format=YMDHMS,display=Date/Time Stamp for any change in Def Attri for Obs"`
	EffectiveDateTimeOfChangeInTestProcThatMakeResultsNonComparable TS      `hl7:"22,len=26,format=YMDHMS,display=Effective Date/Time of Change in Test Proc. that make Results Non-Comparable"`
	TypicalTurnAroundTime                                           NM      `hl7:"23,len=20,display=Typical Turn-Around Time"`
	ProcessingTime                                                  NM      `hl7:"24,len=20,display=Processing Time"`
	ProcessingPriority                                              []ID    `hl7:"25,len=40,table=0168,display=Processing Priority"`
	ReportingPriority                                               ID      `hl7:"26,len=5,table=0169,display=Reporting Priority"`
	OutsideSite                                                     []CE    `hl7:"27,len=200,display=Outside Site"`
	AddressOfOutsideSite                                            *XAD    `hl7:"28,len=1000,display=Address of Outside Site"`
	PhoneNumberOfOutsideSite                                        *XTN    `hl7:"29,len=400,display=Phone Number of Outside Site"`
	ConfidentialityCode                                             IS      `hl7:"30,len=1,table=0177,display=Confidentiality Code"`
	ObservationsRequiredToInterpretTheObservation                   *CE     `hl7:"31,len=200,display=Observations Required to Interpret the Observation"`
	InterpretationOfObservations                                    TX      `hl7:"32,len=65536,display=Interpretation of Observations"`
	ContraindicationsToObservations                                 *CE     `hl7:"33,len=65536,display=Contraindications to Observations"`
	ReflexTestsObservations                                         []CE    `hl7:"34,len=200,display=Reflex Tests/Observations"`
	RulesThatTriggerReflexTesting                                   TX      `hl7:"35,len=80,display=Rules that Trigger Reflex Testing"`
	FixedCannedMessage                                              *CE     `hl7:"36,len=65536,display=Fixed Canned Message"`
	PatientPreparation                                              TX      `hl7:"37,len=200,display=Patient Preparation"`
	ProcedureMedication                                             *CE     `hl7:"38,len=200,display=Procedure Medication"`
	FactorsThatMayEffectTheObservation                              TX      `hl7:"39,len=200,display=Factors that may Effect the Observation"`
	TestObservationPerformanceSchedule                              []ST    `hl7:"40,len=60,display=Test/Observation Performance Schedule"`
	DescriptionOfTestMethods                                        TX      `hl7:"41,len=65536,display=Description of Test Methods"`
	KindOfQuantityObserved                                          *CE     `hl7:"42,len=60,table=0254,display=Kind of Quantity Observed"`
	PointVersusInterval                                             *CE     `hl7:"43,len=60,table=0255,display=Point versus Interval"`
	ChallengeInformation                                            TX      `hl7:"44,len=200,display=Challenge information"`
	RelationshipModifier                                            *CE     `hl7:"45,len=200,table=0258,display=Relationship modifier"`
	TargetAnatomicSiteOfTest                                        *CE     `hl7:"46,len=200,display=Target anatomic site of test"`
	ModalityOfImagingMeasurement                                    *CE     `hl7:"47,len=200,table=0259,display=Modality of imaging measurement"`
}

General - fields that apply to most observations

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"`
	SequenceNumber                       NM            `hl7:"1,len=4,display=Sequence Number"`
	UnitsOfMeasure                       *CE           `hl7:"2,len=60,display=Units of Measure"`
	RangeOfDecimalPrecision              []NM          `hl7:"3,len=10,display=Range of Decimal Precision"`
	CorrespondingSIUnitsOfMeasure        *CE           `hl7:"4,len=60,display=Corresponding SI Units of Measure"`
	SIConversionFactor                   TX            `hl7:"5,len=60,display=SI Conversion Factor"`
	Reference                            *CM_RFR       `hl7:"6,len=200,display=Reference"`
	CriticalRangeForOrdinalContinuousObs *CM_RANGE     `hl7:"7,len=200,display=Critical Range for Ordinal & Continuous Obs"`
	AbsoluteRangeForOrdinalContinuousObs *CM_ABS_RANGE `hl7:"8,len=200,display=Absolute Range for Ordinal & Continuous Obs"`
	DeltaCheckCriteria                   []CM_DLT      `hl7:"9,len=200,display=Delta Check Criteria"`
	MinimumMeaningfulIncrements          NM            `hl7:"10,len=20,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 OM119-nature of test/observation).

type OM3

type OM3 struct {
	HL7                                         HL7Name `hl7:",name=OM3,type=s"`
	SequenceNumber                              NM      `hl7:"1,len=4,display=Sequence Number"`
	PreferredCodingSystem                       *CE     `hl7:"2,len=60,display=Preferred Coding System"`
	ValidCodedAnswers                           *CE     `hl7:"3,len=60,display=Valid Coded 'Answers'"`
	NormalTextCodesForCategoricalObservations   []CE    `hl7:"4,len=200,display=Normal Text/Codes for Categorical Observations"`
	AbnormalTextCodesForCategoricalObservations *CE     `hl7:"5,len=200,display=Abnormal Text/Codes for Categorical Observations"`
	CriticalTextCodesForCategoricalObservations *CE     `hl7:"6,len=200,display=Critical Text Codes for Categorical Observations"`
	ValueType                                   ID      `hl7:"7,len=3,table=0125,display=Value Type"`
}

Categorical test/observation

This segment applies to free text and other non-numeric data t

type OM4

type OM4 struct {
	HL7                         HL7Name `hl7:",name=OM4,type=s"`
	SequenceNumber              NM      `hl7:"1,len=4,display=Sequence Number"`
	DerivedSpecimen             ID      `hl7:"2,len=1,table=0170,display=Derived Specimen"`
	ContainerDescription        TX      `hl7:"3,len=60,display=Container Description"`
	ContainerVolume             NM      `hl7:"4,len=20,display=Container Volume"`
	ContainerUnits              *CE     `hl7:"5,len=60,display=Container Units"`
	Specimen                    *CE     `hl7:"6,len=60,display=Specimen"`
	Additive                    *CE     `hl7:"7,len=60,display=Additive"`
	Preparation                 TX      `hl7:"8,len=10240,display=Preparation"`
	SpecialHandlingRequirements TX      `hl7:"9,len=10240,display=Special Handling Requirements"`
	NormalCollectionVolume      *CQ     `hl7:"10,len=20,display=Normal Collection Volume"`
	MinimumCollectionVolume     *CQ     `hl7:"11,len=20,display=Minimum Collection Volume"`
	SpecimenRequirements        TX      `hl7:"12,len=10240,display=Specimen Requirements"`
	SpecimenPriorities          []ID    `hl7:"13,len=1,table=0027,display=Specimen Priorities"`
	SpecimenRetentionTime       *CQ     `hl7:"14,len=20,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"`
	SequenceNumber                                NM      `hl7:"1,len=4,display=Sequence Number"`
	TestObservationsIncludedWAnOrderedTestBattery []CE    `hl7:"2,len=200,display=Test/Observations Included w/an Ordered Test Battery"`
	ObservationIDSuffixes                         ST      `hl7:"3,len=200,display=Observation ID Suffixes"`
}

Observation batteries

This segment contains the information about batteries and supersets (a nature code of F, P or S, as described in OM1-18-nature of test/observation).

type OM6

type OM6 struct {
	HL7            HL7Name `hl7:",name=OM6,type=s"`
	SequenceNumber NM      `hl7:"1,len=4,display=Sequence Number"`
	DerivationRule TX      `hl7:"2,len=10240,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 OMD_O01

type OMD_O01 struct {
	HL7       HL7Name             `hl7:",name=OMD_O01,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	NTE       []NTE               `hl7:"2,display=Notes and comments segment"`
	Patient   *OMD_O01_Patient    `hl7:",display=Patient"`
	OrderDiet []OMD_O01_OrderDiet `hl7:",required,display=Order Diet"`
	OrderTray []OMD_O01_OrderTray `hl7:",display=Order Tray"`
}

Dietary order

A diet office needs to receive specific information, the most important being the diet order itself. Diet restrictions (often called diet codes) are the basic building blocks of a diet order.

type OMD_O01_Diet

type OMD_O01_Diet struct {
	HL7         HL7Name               `hl7:",name=OMD_O01_Diet,type=tg"`
	ODS         []ODS                 `hl7:"14,required,display=Dietary orders- supplements- and preferences"`
	NTE         []NTE                 `hl7:"15,display=Notes and comments segment"`
	Observation []OMD_O01_Observation `hl7:",required,display=Observation"`
}

Diet

type OMD_O01_Insurance

type OMD_O01_Insurance struct {
	HL7 HL7Name `hl7:",name=OMD_O01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"8,required,display=Insurance"`
	IN2 *IN2    `hl7:"9,display=Insurance additional info"`
	IN3 *IN3    `hl7:"10,display=Insurance additional info - certification"`
}

Insurance

type OMD_O01_Observation

type OMD_O01_Observation struct {
	HL7 HL7Name `hl7:",name=OMD_O01_Observation,type=tg"`
	OBX *OBX    `hl7:"16,required,display=Observation segment"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

Observation

type OMD_O01_OrderDiet

type OMD_O01_OrderDiet struct {
	HL7  HL7Name       `hl7:",name=OMD_O01_OrderDiet,type=tg"`
	ORC  *ORC          `hl7:"13,required,display=Common order segment"`
	Diet *OMD_O01_Diet `hl7:",display=Diet"`
}

OrderDiet

type OMD_O01_OrderTray

type OMD_O01_OrderTray struct {
	HL7 HL7Name `hl7:",name=OMD_O01_OrderTray,type=tg"`
	ORC *ORC    `hl7:"18,required,display=Common order segment"`
	ODT []ODT   `hl7:"19,required,display=Diet tray instructions segment"`
	NTE []NTE   `hl7:"20,display=Notes and comments segment"`
}

OrderTray

type OMD_O01_Patient

type OMD_O01_Patient struct {
	HL7          HL7Name               `hl7:",name=OMD_O01_Patient,type=tg"`
	PID          *PID                  `hl7:"3,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"4,display=Patient Demographic"`
	NTE          []NTE                 `hl7:"5,display=Notes and comments segment"`
	PatientVisit *OMD_O01_PatientVisit `hl7:",display=Patient Visit"`
	Insurance    []OMD_O01_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"11,display=Guarantor"`
	AL1          []AL1                 `hl7:"12,display=Patient Allergy Information"`
}

Patient

type OMD_O01_PatientVisit

type OMD_O01_PatientVisit struct {
	HL7 HL7Name `hl7:",name=OMD_O01_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,display=Patient visit - additional information"`
}

PatientVisit

type OMN_O01

type OMN_O01 struct {
	HL7     HL7Name          `hl7:",name=OMN_O01,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message header segment"`
	NTE     []NTE            `hl7:"2,display=Notes and comments segment"`
	Patient *OMN_O01_Patient `hl7:",display=Patient"`
	Order   []OMN_O01_Order  `hl7:",required,display=Order"`
}

Non-stock requisition order message

Nonstock supplies are not stocked anywhere in the hospital and must be ordered from an industry distributor or manufacturer.

When the requesting application knows that it is requisitioning nonstock supplies, it may also send an RQ1 segment with the RQD if at least one field in RQ1 is known to the sending application. This may be necessary in order for the receiving application to properly determine where to get these supplies. This depends on the sophistication of the database of the receiving application, which may contain a history of requisitions from the sending application

type OMN_O01_Insurance

type OMN_O01_Insurance struct {
	HL7 HL7Name `hl7:",name=OMN_O01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"8,required,display=Insurance"`
	IN2 *IN2    `hl7:"9,display=Insurance additional info"`
	IN3 *IN3    `hl7:"10,display=Insurance additional info - certification"`
}

Insurance

type OMN_O01_Observation

type OMN_O01_Observation struct {
	HL7 HL7Name `hl7:",name=OMN_O01_Observation,type=tg"`
	OBX *OBX    `hl7:"17,required,display=Observation segment"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

Observation

type OMN_O01_Order

type OMN_O01_Order struct {
	HL7         HL7Name              `hl7:",name=OMN_O01_Order,type=tg"`
	ORC         *ORC                 `hl7:"13,required,display=Common order segment"`
	OrderDetail *OMN_O01_OrderDetail `hl7:",display=Order Detail"`
	BLG         *BLG                 `hl7:"19,display=Billing"`
}

Order

type OMN_O01_OrderDetail

type OMN_O01_OrderDetail struct {
	HL7         HL7Name               `hl7:",name=OMN_O01_OrderDetail,type=tg"`
	RQD         *RQD                  `hl7:"14,required,display=Requisition detail"`
	RQ1         *RQ1                  `hl7:"15,display=Requisition detail-1 segment"`
	NTE         []NTE                 `hl7:"16,display=Notes and comments segment"`
	Observation []OMN_O01_Observation `hl7:",display=Observation"`
}

OrderDetail

type OMN_O01_Patient

type OMN_O01_Patient struct {
	HL7          HL7Name               `hl7:",name=OMN_O01_Patient,type=tg"`
	PID          *PID                  `hl7:"3,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"4,display=Patient Demographic"`
	NTE          []NTE                 `hl7:"5,display=Notes and comments segment"`
	PatientVisit *OMN_O01_PatientVisit `hl7:",display=Patient Visit"`
	Insurance    []OMN_O01_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"11,display=Guarantor"`
	AL1          []AL1                 `hl7:"12,display=Patient Allergy Information"`
}

Patient

type OMN_O01_PatientVisit

type OMN_O01_PatientVisit struct {
	HL7 HL7Name `hl7:",name=OMN_O01_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,display=Patient visit - additional information"`
}

PatientVisit

type OMS_O01

type OMS_O01 struct {
	HL7     HL7Name          `hl7:",name=OMS_O01,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message header segment"`
	NTE     []NTE            `hl7:"2,display=Notes and comments segment"`
	Patient *OMS_O01_Patient `hl7:",display=Patient"`
	Order   []OMS_O01_Order  `hl7:",required,display=Order"`
}

Stock requisition order message

Stock supplies are, as the name suggests, stocked in the hospital in designated areas, such as the warehouse, Central Supply, Nursing floors, or Operating Room.

When requisitioning stock supplies, the requesting application need only specify the information in the RQD segment. It is assumed that this is enough information for the application receiving to identify the item. If the sending application is not aware whether the supply is stock, it may optionally send an RQ1 along with the RQD. Typically in that case, the item is requested with a free text description.

type OMS_O01_Insurance

type OMS_O01_Insurance struct {
	HL7 HL7Name `hl7:",name=OMS_O01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"8,required,display=Insurance"`
	IN2 *IN2    `hl7:"9,display=Insurance additional info"`
	IN3 *IN3    `hl7:"10,display=Insurance additional info - certification"`
}

Insurance

type OMS_O01_Observation

type OMS_O01_Observation struct {
	HL7 HL7Name `hl7:",name=OMS_O01_Observation,type=tg"`
	OBX *OBX    `hl7:"16,required,display=Observation segment"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

Observation

type OMS_O01_Order

type OMS_O01_Order struct {
	HL7         HL7Name              `hl7:",name=OMS_O01_Order,type=tg"`
	ORC         *ORC                 `hl7:"13,required,display=Common order segment"`
	OrderDetail *OMS_O01_OrderDetail `hl7:",display=Order Detail"`
	BLG         *BLG                 `hl7:"18,display=Billing"`
}

Order

type OMS_O01_OrderDetail

type OMS_O01_OrderDetail struct {
	HL7         HL7Name               `hl7:",name=OMS_O01_OrderDetail,type=tg"`
	RQD         *RQD                  `hl7:"14,required,display=Requisition detail"`
	NTE         []NTE                 `hl7:"15,display=Notes and comments segment"`
	Observation []OMS_O01_Observation `hl7:",display=Observation"`
}

OrderDetail

type OMS_O01_Patient

type OMS_O01_Patient struct {
	HL7          HL7Name               `hl7:",name=OMS_O01_Patient,type=tg"`
	PID          *PID                  `hl7:"3,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"4,display=Patient Demographic"`
	NTE          []NTE                 `hl7:"5,display=Notes and comments segment"`
	PatientVisit *OMS_O01_PatientVisit `hl7:",display=Patient Visit"`
	Insurance    []OMS_O01_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"11,display=Guarantor"`
	AL1          []AL1                 `hl7:"12,display=Patient Allergy Information"`
}

Patient

type OMS_O01_PatientVisit

type OMS_O01_PatientVisit struct {
	HL7 HL7Name `hl7:",name=OMS_O01_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,display=Patient visit - additional information"`
}

PatientVisit

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,len=22,display=Placer Order Number"`
	FillerOrderNumber      *EI     `hl7:"3,conditional,len=22,display=Filler Order Number"`
	PlacerGroupNumber      *EI     `hl7:"4,len=22,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         *TQ     `hl7:"7,len=200,display=Quantity/Timing"`
	ParentOrder            *CM_EIP `hl7:"8,len=200,display=Parent Order"`
	DateTimeOfTransaction  TS      `hl7:"9,len=26,format=YMDHMS,display=Date/Time of Transaction"`
	EnteredBy              *XCN    `hl7:"10,len=120,display=Entered By"`
	VerifiedBy             *XCN    `hl7:"11,len=120,display=Verified By"`
	OrderingProvider       *XCN    `hl7:"12,len=120,display=Ordering Provider"`
	EnterersLocation       *PL     `hl7:"13,len=80,display=Enterer's Location"`
	CallBackPhoneNumber    []XTN   `hl7:"14,max=2,len=40,display=Call Back Phone Number"`
	OrderEffectiveDateTime TS      `hl7:"15,len=26,format=YMDHMS,display=Order Effective Date/Time"`
	OrderControlCodeReason *CE     `hl7:"16,len=200,display=Order Control Code Reason"`
	EnteringOrganization   *CE     `hl7:"17,len=60,display=Entering Organization"`
	EnteringDevice         *CE     `hl7:"18,len=60,display=Entering Device"`
	ActionBy               *XCN    `hl7:"19,len=120,display=Action By"`
}

Common order segment

The Common Order segment (ORC) is used to transmit fields that are common to all orders (all types of services that are requested). The ORC segment is required in the Order (ORM) message. ORC is mandatory in Order Acknowledgment (ORR) messages if an order detail segment is present, but is not required otherwise.

If details are needed for a particular type of order segment (e.g., Pharmacy, Dietary), the ORC must precede any order detail segment (e.g., RXO, ODS). In some cases, the ORC may be as simple as the string ORC|OK|<placer order number>|<filler order number>|<cr>.

If details are not needed for the order, the order detail segment may be omitted. For example, to place an order on hold, one would transmit an ORC with the following fields completed: ORC-1-order control with a value of HD, ORC-2-placer order number, and ORC-3-filler order number

type ORD_O02

type ORD_O02 struct {
	HL7      HL7Name           `hl7:",name=ORD_O02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	Response *ORD_O02_Response `hl7:",display=Response"`
}

Dietary order acknowledgment message

type ORD_O02_OrderDiet

type ORD_O02_OrderDiet struct {
	HL7 HL7Name `hl7:",name=ORD_O02_OrderDiet,type=tg"`
	ORC *ORC    `hl7:"7,required,display=Common order segment"`
	ODS []ODS   `hl7:"8,display=Dietary orders- supplements- and preferences"`
	NTE []NTE   `hl7:"9,display=Notes and comments segment"`
}

OrderDiet

type ORD_O02_OrderTray

type ORD_O02_OrderTray struct {
	HL7 HL7Name `hl7:",name=ORD_O02_OrderTray,type=tg"`
	ORC *ORC    `hl7:"10,required,display=Common order segment"`
	ODT []ODT   `hl7:"11,display=Diet tray instructions segment"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

OrderTray

type ORD_O02_Patient

type ORD_O02_Patient struct {
	HL7 HL7Name `hl7:",name=ORD_O02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type ORD_O02_Response

type ORD_O02_Response struct {
	HL7       HL7Name             `hl7:",name=ORD_O02_Response,type=tg"`
	Patient   *ORD_O02_Patient    `hl7:",display=Patient"`
	OrderDiet []ORD_O02_OrderDiet `hl7:",required,display=Order Diet"`
	OrderTray []ORD_O02_OrderTray `hl7:",display=Order Tray"`
}

Response

type ORF_R04

type ORF_R04 struct {
	HL7           HL7Name                 `hl7:",name=ORF_R04,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message header segment"`
	MSA           *MSA                    `hl7:"2,required,display=Message acknowledgement segment"`
	QRD           *QRD                    `hl7:"3,required,display=Query definition segment"`
	QRF           *QRF                    `hl7:"4,display=Query filter segment"`
	QueryResponse []ORF_R04_QueryResponse `hl7:",required,display=Query Response"`
	DSC           *DSC                    `hl7:"13,display=Continuation pointer segment"`
}

Response to query transmission of requested observation

type ORF_R04_Observation

type ORF_R04_Observation struct {
	HL7 HL7Name `hl7:",name=ORF_R04_Observation,type=tg"`
	OBX *OBX    `hl7:"10,display=Observation segment"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Observation

type ORF_R04_Order

type ORF_R04_Order struct {
	HL7         HL7Name               `hl7:",name=ORF_R04_Order,type=tg"`
	ORC         *ORC                  `hl7:"7,display=Common order segment"`
	OBR         *OBR                  `hl7:"8,required,display=Observation request segment"`
	NTE         []NTE                 `hl7:"9,display=Notes and comments segment"`
	Observation []ORF_R04_Observation `hl7:",required,display=Observation"`
	CTI         []CTI                 `hl7:"12,display=Clinical Trial Identification"`
}

Order

type ORF_R04_Patient

type ORF_R04_Patient struct {
	HL7 HL7Name `hl7:",name=ORF_R04_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type ORF_R04_QueryResponse

type ORF_R04_QueryResponse struct {
	HL7     HL7Name          `hl7:",name=ORF_R04_QueryResponse,type=tg"`
	Patient *ORF_R04_Patient `hl7:",display=Patient"`
	Order   []ORF_R04_Order  `hl7:",required,display=Order"`
}

QueryResponse

type ORF_W02

type ORF_W02 struct {
	HL7           HL7Name                 `hl7:",name=ORF_W02,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message header segment"`
	MSA           *MSA                    `hl7:"2,required,display=Message acknowledgement segment"`
	QRD           *QRD                    `hl7:"3,required,display=Query definition segment"`
	QRF           *QRF                    `hl7:"4,display=Query filter segment"`
	QueryResponse []ORF_W02_QueryResponse `hl7:",required,display=Query Response"`
	DSC           *DSC                    `hl7:"13,display=Continuation pointer segment"`
}

Waveform result, response to query

The W02 trigger event identifies ORF messages which are a response to a QRY message specifying an immediate mode query for waveform results/observations with record-oriented format.

type ORF_W02_Observation

type ORF_W02_Observation struct {
	HL7 HL7Name `hl7:",name=ORF_W02_Observation,type=tg"`
	OBX *OBX    `hl7:"10,display=Observation segment"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Observation

type ORF_W02_Order

type ORF_W02_Order struct {
	HL7         HL7Name               `hl7:",name=ORF_W02_Order,type=tg"`
	ORC         *ORC                  `hl7:"7,display=Common order segment"`
	OBR         *OBR                  `hl7:"8,required,display=Observation request segment"`
	NTE         []NTE                 `hl7:"9,display=Notes and comments segment"`
	Observation []ORF_W02_Observation `hl7:",required,display=Observation"`
	CTI         []CTI                 `hl7:"12,display=Clinical Trial Identification"`
}

Order

type ORF_W02_Patient

type ORF_W02_Patient struct {
	HL7 HL7Name `hl7:",name=ORF_W02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type ORF_W02_QueryResponse

type ORF_W02_QueryResponse struct {
	HL7     HL7Name          `hl7:",name=ORF_W02_QueryResponse,type=tg"`
	Patient *ORF_W02_Patient `hl7:",display=Patient"`
	Order   []ORF_W02_Order  `hl7:",required,display=Order"`
}

QueryResponse

type ORM_O01

type ORM_O01 struct {
	HL7     HL7Name          `hl7:",name=ORM_O01,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message header segment"`
	NTE     []NTE            `hl7:"2,display=Notes and comments segment"`
	Patient *ORM_O01_Patient `hl7:",display=Patient"`
	Order   []ORM_O01_Order  `hl7:",required,display=Order"`
}

Order message

The function of this message is to initiate the transmission of information about an order. This includes placing new orders, cancellation of existing orders, discontinuation, holding, etc. ORM messages can originate also with a placer, filler, or an interested third party.

The trigger event for this message is any change to an order. Such changes include submission of new orders, cancellations, updates, patient and nonpatient-specific orders, etc.

type ORM_O01_Insurance

type ORM_O01_Insurance struct {
	HL7 HL7Name `hl7:",name=ORM_O01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"8,required,display=Insurance"`
	IN2 *IN2    `hl7:"9,display=Insurance additional info"`
	IN3 *IN3    `hl7:"10,display=Insurance additional info - certification"`
}

Insurance

type ORM_O01_Observation

type ORM_O01_Observation struct {
	HL7 HL7Name `hl7:",name=ORM_O01_Observation,type=tg"`
	OBX *OBX    `hl7:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

Observation

type ORM_O01_Order

type ORM_O01_Order struct {
	HL7         HL7Name              `hl7:",name=ORM_O01_Order,type=tg"`
	ORC         *ORC                 `hl7:"13,required,display=Common order segment"`
	OrderDetail *ORM_O01_OrderDetail `hl7:",display=Order Detail"`
	CTI         []CTI                `hl7:"24,display=Clinical Trial Identification"`
	BLG         *BLG                 `hl7:"25,display=Billing"`
}

Order

type ORM_O01_OrderDetail

type ORM_O01_OrderDetail struct {
	HL7                HL7Name                     `hl7:",name=ORM_O01_OrderDetail,type=tg"`
	OrderDetailSegment *ORM_O01_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"20,display=Notes and comments segment"`
	DG1                []DG1                       `hl7:"21,display=Diagnosis"`
	Observation        []ORM_O01_Observation       `hl7:",display=Observation"`
}

OrderDetail

type ORM_O01_OrderDetailSegment

type ORM_O01_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=ORM_O01_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"14,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"15,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"16,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"17,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"18,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"19,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type ORM_O01_Patient

type ORM_O01_Patient struct {
	HL7          HL7Name               `hl7:",name=ORM_O01_Patient,type=tg"`
	PID          *PID                  `hl7:"3,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"4,display=Patient Demographic"`
	NTE          []NTE                 `hl7:"5,display=Notes and comments segment"`
	PatientVisit *ORM_O01_PatientVisit `hl7:",display=Patient Visit"`
	Insurance    []ORM_O01_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"11,display=Guarantor"`
	AL1          []AL1                 `hl7:"12,display=Patient Allergy Information"`
}

Patient

type ORM_O01_PatientVisit

type ORM_O01_PatientVisit struct {
	HL7 HL7Name `hl7:",name=ORM_O01_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,display=Patient visit - additional information"`
}

PatientVisit

type ORN_O02

type ORN_O02 struct {
	HL7      HL7Name           `hl7:",name=ORN_O02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	Response *ORN_O02_Response `hl7:",display=Response"`
}

Non-stock requisition acknowledgment message

Nonstock supplies are not stocked anywhere in the hospital and must be ordered from an industry distributor or manufacturer.

When the requesting application knows that it is requisitioning nonstock supplies, it may also send an RQ1 segment with the RQD if at least one field in RQ1 is known to the sending application. This may be necessary in order for the receiving application to properly determine where to get these supplies. This depends on the sophistication of the database of the receiving application, which may contain a history of requisitions from the sending application

type ORN_O02_Order

type ORN_O02_Order struct {
	HL7 HL7Name `hl7:",name=ORN_O02_Order,type=tg"`
	ORC *ORC    `hl7:"7,required,display=Common order segment"`
	RQD *RQD    `hl7:"8,required,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"9,display=Requisition detail-1 segment"`
	NTE []NTE   `hl7:"10,display=Notes and comments segment"`
}

Order

type ORN_O02_Patient

type ORN_O02_Patient struct {
	HL7 HL7Name `hl7:",name=ORN_O02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type ORN_O02_Response

type ORN_O02_Response struct {
	HL7     HL7Name          `hl7:",name=ORN_O02_Response,type=tg"`
	Patient *ORN_O02_Patient `hl7:",display=Patient"`
	Order   []ORN_O02_Order  `hl7:",required,display=Order"`
}

Response

type ORR_O02

type ORR_O02 struct {
	HL7      HL7Name           `hl7:",name=ORR_O02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	Response *ORR_O02_Response `hl7:",display=Response"`
}

Order response

The function of this message is to respond to an ORM message. An ORR message is the application acknowledgment to an ORM message.

type ORR_O02_Order

type ORR_O02_Order struct {
	HL7                HL7Name                     `hl7:",name=ORR_O02_Order,type=tg"`
	ORC                *ORC                        `hl7:"7,required,display=Common order segment"`
	OrderDetailSegment *ORR_O02_OrderDetailSegment `hl7:",display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"14,display=Notes and comments segment"`
	CTI                []CTI                       `hl7:"15,display=Clinical Trial Identification"`
}

Order

type ORR_O02_OrderDetailSegment

type ORR_O02_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=ORR_O02_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"8,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"9,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"10,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"11,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"12,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"13,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type ORR_O02_Patient

type ORR_O02_Patient struct {
	HL7 HL7Name `hl7:",name=ORR_O02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type ORR_O02_Response

type ORR_O02_Response struct {
	HL7     HL7Name          `hl7:",name=ORR_O02_Response,type=tg"`
	Patient *ORR_O02_Patient `hl7:",display=Patient"`
	Order   []ORR_O02_Order  `hl7:",required,display=Order"`
}

Response

type ORS_O02

type ORS_O02 struct {
	HL7      HL7Name           `hl7:",name=ORS_O02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	Response *ORS_O02_Response `hl7:",display=Response"`
}

Stock requisition acknowledgment message

Stock supplies are, as the name suggests, stocked in the hospital in designated areas, such as the warehouse, Central Supply, Nursing floors, or Operating Room.

When requisitioning stock supplies, the requesting application need only specify the information in the RQD segment. It is assumed that this is enough information for the application receiving to identify the item. If the sending application is not aware whether the supply is stock, it may optionally send an RQ1 along with the RQD. Typically in that case, the item is requested with a free text description.

type ORS_O02_Order

type ORS_O02_Order struct {
	HL7 HL7Name `hl7:",name=ORS_O02_Order,type=tg"`
	ORC *ORC    `hl7:"7,required,display=Common order segment"`
	RQD *RQD    `hl7:"8,required,display=Requisition detail"`
	NTE []NTE   `hl7:"9,display=Notes and comments segment"`
}

Order

type ORS_O02_Patient

type ORS_O02_Patient struct {
	HL7 HL7Name `hl7:",name=ORS_O02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type ORS_O02_Response

type ORS_O02_Response struct {
	HL7     HL7Name          `hl7:",name=ORS_O02_Response,type=tg"`
	Patient *ORS_O02_Patient `hl7:",display=Patient"`
	Order   []ORS_O02_Order  `hl7:",required,display=Order"`
}

Response

type ORU_R01

type ORU_R01 struct {
	HL7           HL7Name                 `hl7:",name=ORU_R01,type=t"`
	MSH           *MSH                    `hl7:"1,required,display=Message header segment"`
	PatientResult []ORU_R01_PatientResult `hl7:",required,display=Patient Result"`
	DSC           *DSC                    `hl7:"13,display=Continuation pointer segment"`
}

Unsolicited transmission of an observation message

With the type (OBX) defined in this chapter, and the OBR defined in Chapter 4, one can construct almost any clinical report as a three-level hierarchy, with the PID segment defined in Chapter 3 at the upper level, an order record (OBR) at the next level and one or more observation records (OBX) at the bottom

type ORU_R01_Observation

type ORU_R01_Observation struct {
	HL7 HL7Name `hl7:",name=ORU_R01_Observation,type=tg"`
	OBX *OBX    `hl7:"10,display=Observation segment"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Observation

type ORU_R01_OrderObservation

type ORU_R01_OrderObservation struct {
	HL7         HL7Name               `hl7:",name=ORU_R01_OrderObservation,type=tg"`
	ORC         *ORC                  `hl7:"7,display=Common order segment"`
	OBR         *OBR                  `hl7:"8,required,display=Observation request segment"`
	NTE         []NTE                 `hl7:"9,display=Notes and comments segment"`
	Observation []ORU_R01_Observation `hl7:",required,display=Observation"`
	CTI         []CTI                 `hl7:"12,display=Clinical Trial Identification"`
}

OrderObservation

type ORU_R01_Patient

type ORU_R01_Patient struct {
	HL7   HL7Name        `hl7:",name=ORU_R01_Patient,type=tg"`
	PID   *PID           `hl7:"2,required,display=Patient Identification"`
	PD1   *PD1           `hl7:"3,display=Patient Demographic"`
	NTE   []NTE          `hl7:"4,display=Notes and comments segment"`
	Visit *ORU_R01_Visit `hl7:",display=Visit"`
}

Patient

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_Visit

type ORU_R01_Visit struct {
	HL7 HL7Name `hl7:",name=ORU_R01_Visit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
}

Visit

type ORU_W01

type ORU_W01 struct {
	HL7      HL7Name            `hl7:",name=ORU_W01,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message header segment"`
	Response []ORU_W01_Response `hl7:",required,display=Response"`
	DSC      *DSC               `hl7:"13,display=Continuation pointer segment"`
}

Waveform result, unsolicited transmission of requested information

The waveform response unsolicited trigger event identifies ORU messages used to transmit waveform data which are results of an ordered test or series of observations. The W01 trigger event may also be used to identify ORU messages sent as the eventual response to a QRY message specifying a deferred mode query for waveform results/observations with record-oriented format (similar to the deferred response display mode DSR message type described in Chapter 2). One or more ORU messages with the W01 trigger event may result from this type of QRY message.

type ORU_W01_Observation

type ORU_W01_Observation struct {
	HL7 HL7Name `hl7:",name=ORU_W01_Observation,type=tg"`
	OBX *OBX    `hl7:"10,display=Observation segment"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Observation

type ORU_W01_OrderObservation

type ORU_W01_OrderObservation struct {
	HL7         HL7Name               `hl7:",name=ORU_W01_OrderObservation,type=tg"`
	ORC         *ORC                  `hl7:"7,display=Common order segment"`
	OBR         *OBR                  `hl7:"8,required,display=Observation request segment"`
	NTE         []NTE                 `hl7:"9,display=Notes and comments segment"`
	Observation []ORU_W01_Observation `hl7:",required,display=Observation"`
	CTI         []CTI                 `hl7:"12,display=Clinical Trial Identification"`
}

OrderObservation

type ORU_W01_Patient

type ORU_W01_Patient struct {
	HL7   HL7Name        `hl7:",name=ORU_W01_Patient,type=tg"`
	PID   *PID           `hl7:"2,required,display=Patient Identification"`
	PD1   *PD1           `hl7:"3,display=Patient Demographic"`
	NTE   []NTE          `hl7:"4,display=Notes and comments segment"`
	Visit *ORU_W01_Visit `hl7:",display=Visit"`
}

Patient

type ORU_W01_Response

type ORU_W01_Response struct {
	HL7              HL7Name                    `hl7:",name=ORU_W01_Response,type=tg"`
	Patient          *ORU_W01_Patient           `hl7:",display=Patient"`
	OrderObservation []ORU_W01_OrderObservation `hl7:",required,display=Order Observation"`
}

Response

type ORU_W01_Visit

type ORU_W01_Visit struct {
	HL7 HL7Name `hl7:",name=ORU_W01_Visit,type=tg"`
	PV1 *PV1    `hl7:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
}

Visit

type OSQ_Q06

type OSQ_Q06 struct {
	HL7 HL7Name `hl7:",name=OSQ_Q06,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query for order status

type OSR_Q06

type OSR_Q06 struct {
	HL7      HL7Name           `hl7:",name=OSR_Q06,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	QRD      *QRD              `hl7:"5,required,display=Query definition segment"`
	QRF      *QRF              `hl7:"6,display=Query filter segment"`
	Response *OSR_Q06_Response `hl7:",display=Response"`
	DSC      *DSC              `hl7:"18,display=Continuation pointer segment"`
}

Query response for order status

type OSR_Q06_Order

type OSR_Q06_Order struct {
	HL7                HL7Name                     `hl7:",name=OSR_Q06_Order,type=tg"`
	ORC                *ORC                        `hl7:"9,required,display=Common order segment"`
	OrderDetailSegment *OSR_Q06_OrderDetailSegment `hl7:",display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"16,display=Notes and comments segment"`
	CTI                []CTI                       `hl7:"17,display=Clinical Trial Identification"`
}

Order

type OSR_Q06_OrderDetailSegment

type OSR_Q06_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=OSR_Q06_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"10,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"11,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"12,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"13,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"14,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"15,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type OSR_Q06_Patient

type OSR_Q06_Patient struct {
	HL7 HL7Name `hl7:",name=OSR_Q06_Patient,type=tg"`
	PID *PID    `hl7:"7,required,display=Patient Identification"`
	NTE []NTE   `hl7:"8,display=Notes and comments segment"`
}

Patient

type OSR_Q06_Response

type OSR_Q06_Response struct {
	HL7     HL7Name          `hl7:",name=OSR_Q06_Response,type=tg"`
	Patient *OSR_Q06_Patient `hl7:",display=Patient"`
	Order   []OSR_Q06_Order  `hl7:",required,display=Order"`
}

Response

type PCR

type PCR struct {
	HL7                               HL7Name `hl7:",name=PCR,type=s"`
	ImplicatedProduct                 CE      `hl7:"1,required,len=60,display=Implicated Product"`
	GenericProduct                    IS      `hl7:"2,len=1,table=0249,display=Generic Product"`
	ProductClass                      *CE     `hl7:"3,len=60,display=Product Class"`
	TotalDurationOfTherapy            *CQ     `hl7:"4,len=8,display=Total Duration Of Therapy"`
	ProductManufactureDate            TS      `hl7:"5,len=26,format=YMDHMS,display=Product Manufacture Date"`
	ProductExpirationDate             TS      `hl7:"6,len=26,format=YMDHMS,display=Product Expiration Date"`
	ProductImplantationDate           TS      `hl7:"7,len=26,format=YMDHMS,display=Product Implantation Date"`
	ProductExplantationDate           TS      `hl7:"8,len=26,format=YMDHMS,display=Product Explantation Date"`
	SingleUseDevice                   IS      `hl7:"9,len=8,table=0244,display=Single Use Device"`
	IndicationForProductUse           *CE     `hl7:"10,len=60,display=Indication For Product Use"`
	ProductProblem                    IS      `hl7:"11,len=8,table=0245,display=Product Problem"`
	ProductSerialLotNumber            []ST    `hl7:"12,max=3,len=30,display=Product Serial/Lot Number"`
	ProductAvailableForInspection     IS      `hl7:"13,len=1,table=0246,display=Product Available For Inspection"`
	ProductEvaluationPerformed        *CE     `hl7:"14,len=60,display=Product Evaluation Performed"`
	ProductEvaluationStatus           *CE     `hl7:"15,len=60,table=0247,display=Product Evaluation Status"`
	ProductEvaluationResults          *CE     `hl7:"16,len=60,display=Product Evaluation Results"`
	EvaluatedProductSource            ID      `hl7:"17,len=8,table=0248,display=Evaluated Product Source"`
	DateProductReturnedToManufacturer TS      `hl7:"18,len=26,format=YMDHMS,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                   []IS    `hl7:"1,len=2,table=0223,display=Living Dependency"`
	LivingArrangement                  IS      `hl7:"2,len=2,table=0220,display=Living Arrangement"`
	PatientPrimaryFacility             []XON   `hl7:"3,len=90,display=Patient Primary Facility"`
	PatientPrimaryCareProviderNameIDNo []XCN   `hl7:"4,len=90,display=Patient Primary Care Provider Name & ID No."`
	StudentIndicator                   IS      `hl7:"5,len=2,table=0231,display=Student Indicator"`
	Handicap                           IS      `hl7:"6,len=2,table=0295,display=Handicap"`
	LivingWill                         IS      `hl7:"7,len=2,table=0315,display=Living Will"`
	OrganDonor                         IS      `hl7:"8,len=2,table=0316,display=Organ Donor"`
	SeparateBill                       ID      `hl7:"9,len=2,table=0136,display=Separate Bill"`
	DuplicatePatient                   []CX    `hl7:"10,len=2,display=Duplicate Patient"`
	PublicityIndicator                 *CE     `hl7:"11,len=1,table=0215,display=Publicity Indicator"`
	ProtectionIndicator                ID      `hl7:"12,len=1,table=0136,display=Protection Indicator"`
}

Patient Demographic

The patient additional demographic segment contains demographic information that is likely to change about the patient.

type PDC

type PDC struct {
	HL7                         HL7Name `hl7:",name=PDC,type=s"`
	ManufacturerDistributor     XON     `hl7:"1,required,len=80,display=Manufacturer/Distributor"`
	Country                     CE      `hl7:"2,required,len=60,display=Country"`
	BrandName                   ST      `hl7:"3,required,len=60,display=Brand Name"`
	DeviceFamilyName            ST      `hl7:"4,len=60,display=Device Family Name"`
	GenericName                 *CE     `hl7:"5,len=60,display=Generic Name"`
	ModelIdentifier             []ST    `hl7:"6,len=60,display=Model Identifier"`
	CatalogueIdentifier         ST      `hl7:"7,len=60,display=Catalogue Identifier"`
	OtherIdentifier             []ST    `hl7:"8,len=60,display=Other Identifier"`
	ProductCode                 *CE     `hl7:"9,len=60,display=Product Code"`
	MarketingBasis              ID      `hl7:"10,len=4,table=0330,display=Marketing Basis"`
	MarketingApprovalIdentifier ST      `hl7:"11,len=60,display=Marketing Approval Identifier"`
	LabeledShelfLife            *CQ     `hl7:"12,len=12,display=Labeled Shelf Life"`
	ExpectedShelfLife           *CQ     `hl7:"13,len=12,display=Expected Shelf Life"`
	DateFirstMarked             TS      `hl7:"14,len=26,format=YMDHMS,display=Date First Marked"`
	DateLastMarked              TS      `hl7:"15,len=26,format=YMDHMS,display=Date Last Marked"`
}

Product Detail Country

type PEO

type PEO struct {
	HL7                                   HL7Name `hl7:",name=PEO,type=s"`
	EventIdentifiersUsed                  []CE    `hl7:"1,len=60,display=Event Identifiers Used"`
	EventSymptomDiagnosisCode             []CE    `hl7:"2,len=60,display=Event Symptom/Diagnosis Code"`
	EventOnsetDateTime                    TS      `hl7:"3,required,len=26,format=YMDHMS,display=Event Onset Date/Time"`
	EventExacerbationDateTime             TS      `hl7:"4,len=26,format=YMDHMS,display=Event Exacerbation Date/Time"`
	EventImprovedDateTime                 TS      `hl7:"5,len=26,format=YMDHMS,display=Event Improved Date/Time"`
	EventEndedDataTime                    TS      `hl7:"6,len=26,format=YMDHMS,display=Event Ended Data/Time"`
	EventLocationOccurredAddress          *XAD    `hl7:"7,len=106,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,len=600,display=Event Description From Others"`
	EventFromOriginalReporter             []FT    `hl7:"14,len=600,display=Event From Original Reporter"`
	EventDescriptionFromPatient           []FT    `hl7:"15,len=600,display=Event Description From Patient"`
	EventDescriptionFromPractitioner      []FT    `hl7:"16,len=600,display=Event Description From Practitioner"`
	EventDescriptionFromAutopsy           []FT    `hl7:"17,len=600,display=Event Description From Autopsy"`
	CauseOfDeath                          []CE    `hl7:"18,len=60,display=Cause Of Death"`
	PrimaryObserverName                   *XPN    `hl7:"19,len=46,display=Primary Observer Name"`
	PrimaryObserverAddress                []XAD   `hl7:"20,len=106,display=Primary Observer Address"`
	PrimaryObserverTelephone              []XTN   `hl7:"21,len=40,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          TS      `hl7:"24,len=26,format=YMDHMS,display=Primary Observer Aware Date/Time"`
	PrimaryObserverSIdentityMayBeDivulged ID      `hl7:"25,len=1,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,len=80,display=Sender Organization Name"`
	SenderIndividualName   []XCN   `hl7:"2,len=60,display=Sender Individual Name"`
	SenderAddress          []XAD   `hl7:"3,len=200,display=Sender Address"`
	SenderTelephone        []XTN   `hl7:"4,len=44,display=Sender Telephone"`
	SenderEventIdentifier  *EI     `hl7:"5,len=30,display=Sender Event Identifier"`
	SenderSequenceNumber   NM      `hl7:"6,len=2,display=Sender Sequence Number"`
	SenderEventDescription []FT    `hl7:"7,len=600,display=Sender Event Description"`
	SenderComment          FT      `hl7:"8,len=600,display=Sender Comment"`
	SenderAwareDateTime    TS      `hl7:"9,len=26,format=YMDHMS,display=Sender Aware Date/Time"`
	EventReportDate        TS      `hl7:"10,required,len=26,format=YMDHMS,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 segment"`
	EVN        *EVN                 `hl7:"2,required,display=Event type"`
	PID        *PID                 `hl7:"3,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"4,display=Patient Demographic"`
	NTE        []NTE                `hl7:"5,display=Notes and comments segment"`
	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

type PEX_P07_AssociatedPerson

type PEX_P07_AssociatedPerson struct {
	HL7               HL7Name                     `hl7:",name=PEX_P07_AssociatedPerson,type=tg"`
	NK1               *NK1                        `hl7:"18,required,display=Next of kin"`
	AssociatedRxOrder *PEX_P07_AssociatedRxOrder  `hl7:",display=Associated Rx Order"`
	AssociatedRxAdmin []PEX_P07_AssociatedRxAdmin `hl7:",display=Associated Rx Admin"`
	PRB               []PRB                       `hl7:"23,display=Problem Detail"`
	OBX               []OBX                       `hl7:"24,display=Observation segment"`
}

AssociatedPerson

type PEX_P07_AssociatedRxAdmin

type PEX_P07_AssociatedRxAdmin struct {
	HL7 HL7Name `hl7:",name=PEX_P07_AssociatedRxAdmin,type=tg"`
	RXA *RXA    `hl7:"21,required,display=Pharmacy administration segment"`
	RXR *RXR    `hl7:"22,display=Pharmacy route segment"`
}

AssociatedRxAdmin

type PEX_P07_AssociatedRxOrder

type PEX_P07_AssociatedRxOrder struct {
	HL7 HL7Name `hl7:",name=PEX_P07_AssociatedRxOrder,type=tg"`
	RXE *RXE    `hl7:"19,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"20,display=Pharmacy route segment"`
}

AssociatedRxOrder

type PEX_P07_Experience

type PEX_P07_Experience struct {
	HL7            HL7Name                  `hl7:",name=PEX_P07_Experience,type=tg"`
	PES            *PES                     `hl7:"8,required,display=Product Experience Sender"`
	PexObservation []PEX_P07_PexObservation `hl7:",required,display=Pex Observation"`
}

Experience

type PEX_P07_PexCause

type PEX_P07_PexCause struct {
	HL7              HL7Name                    `hl7:",name=PEX_P07_PexCause,type=tg"`
	PCR              *PCR                       `hl7:"10,required,display=Possible Causal Relationship"`
	RxOrder          *PEX_P07_RxOrder           `hl7:",display=Rx Order"`
	RxAdministration []PEX_P07_RxAdministration `hl7:",display=Rx Administration"`
	PRB              []PRB                      `hl7:"15,display=Problem Detail"`
	OBX              []OBX                      `hl7:"16,display=Observation segment"`
	NTE              []NTE                      `hl7:"17,display=Notes and comments segment"`
	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:"9,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:"13,required,display=Pharmacy administration segment"`
	RXR *RXR    `hl7:"14,display=Pharmacy route segment"`
}

RxAdministration

type PEX_P07_RxOrder

type PEX_P07_RxOrder struct {
	HL7 HL7Name `hl7:",name=PEX_P07_RxOrder,type=tg"`
	RXE *RXE    `hl7:"11,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"12,display=Pharmacy route segment"`
}

RxOrder

type PEX_P07_Study

type PEX_P07_Study struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Study,type=tg"`
	CSR *CSR    `hl7:"25,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"26,display=Clinical Study Phase"`
}

Study

type PEX_P07_Visit

type PEX_P07_Visit struct {
	HL7 HL7Name `hl7:",name=PEX_P07_Visit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,display=Patient visit - additional 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 segment"`
	EVN        *EVN                 `hl7:"2,required,display=Event type"`
	PID        *PID                 `hl7:"3,required,display=Patient Identification"`
	PD1        *PD1                 `hl7:"4,display=Patient Demographic"`
	NTE        []NTE                `hl7:"5,display=Notes and comments segment"`
	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

type PEX_P08_AssociatedPerson

type PEX_P08_AssociatedPerson struct {
	HL7               HL7Name                     `hl7:",name=PEX_P08_AssociatedPerson,type=tg"`
	NK1               *NK1                        `hl7:"18,required,display=Next of kin"`
	AssociatedRxOrder *PEX_P08_AssociatedRxOrder  `hl7:",display=Associated Rx Order"`
	AssociatedRxAdmin []PEX_P08_AssociatedRxAdmin `hl7:",display=Associated Rx Admin"`
	PRB               []PRB                       `hl7:"23,display=Problem Detail"`
	OBX               []OBX                       `hl7:"24,display=Observation segment"`
}

AssociatedPerson

type PEX_P08_AssociatedRxAdmin

type PEX_P08_AssociatedRxAdmin struct {
	HL7 HL7Name `hl7:",name=PEX_P08_AssociatedRxAdmin,type=tg"`
	RXA *RXA    `hl7:"21,required,display=Pharmacy administration segment"`
	RXR *RXR    `hl7:"22,display=Pharmacy route segment"`
}

AssociatedRxAdmin

type PEX_P08_AssociatedRxOrder

type PEX_P08_AssociatedRxOrder struct {
	HL7 HL7Name `hl7:",name=PEX_P08_AssociatedRxOrder,type=tg"`
	RXE *RXE    `hl7:"19,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"20,display=Pharmacy route segment"`
}

AssociatedRxOrder

type PEX_P08_Experience

type PEX_P08_Experience struct {
	HL7            HL7Name                  `hl7:",name=PEX_P08_Experience,type=tg"`
	PES            *PES                     `hl7:"8,required,display=Product Experience Sender"`
	PexObservation []PEX_P08_PexObservation `hl7:",required,display=Pex Observation"`
}

Experience

type PEX_P08_PexCause

type PEX_P08_PexCause struct {
	HL7              HL7Name                    `hl7:",name=PEX_P08_PexCause,type=tg"`
	PCR              *PCR                       `hl7:"10,required,display=Possible Causal Relationship"`
	RxOrder          *PEX_P08_RxOrder           `hl7:",display=Rx Order"`
	RxAdministration []PEX_P08_RxAdministration `hl7:",display=Rx Administration"`
	PRB              []PRB                      `hl7:"15,display=Problem Detail"`
	OBX              []OBX                      `hl7:"16,display=Observation segment"`
	NTE              []NTE                      `hl7:"17,display=Notes and comments segment"`
	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:"9,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:"13,required,display=Pharmacy administration segment"`
	RXR *RXR    `hl7:"14,display=Pharmacy route segment"`
}

RxAdministration

type PEX_P08_RxOrder

type PEX_P08_RxOrder struct {
	HL7 HL7Name `hl7:",name=PEX_P08_RxOrder,type=tg"`
	RXE *RXE    `hl7:"11,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"12,display=Pharmacy route segment"`
}

RxOrder

type PEX_P08_Study

type PEX_P08_Study struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Study,type=tg"`
	CSR *CSR    `hl7:"25,required,display=Clinical Study Registration"`
	CSP []CSP   `hl7:"26,display=Clinical Study Phase"`
}

Study

type PEX_P08_Visit

type PEX_P08_Visit struct {
	HL7 HL7Name `hl7:",name=PEX_P08_Visit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,display=Patient visit - additional 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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PGL_PC6_PatientVisit `hl7:",display=Patient Visit"`
	Goal         []PGL_PC6_Goal        `hl7:",required,display=Goal"`
}

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:"5,required,display=Goal Detail"`
	NTE         []NTE                 `hl7:"6,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"7,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:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,display=Variance"`
}

GoalRole

type PGL_PC6_Observation

type PGL_PC6_Observation struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_Observation,type=tg"`
	OBX *OBX    `hl7:"12,required,display=Observation segment"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Observation

type PGL_PC6_Order

type PGL_PC6_Order struct {
	HL7         HL7Name              `hl7:",name=PGL_PC6_Order,type=tg"`
	ORC         *ORC                 `hl7:"21,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PGL_PC6_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"28,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"29,display=Variance"`
	OrderObservation   []PGL_PC6_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PGL_PC6_OrderDetailSegment

type PGL_PC6_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"22,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"23,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"24,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"25,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"26,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"27,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PGL_PC6_OrderObservation

type PGL_PC6_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation segment"`
	NTE []NTE   `hl7:"31,display=Notes and comments segment"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

OrderObservation

type PGL_PC6_Pathway

type PGL_PC6_Pathway struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_Pathway,type=tg"`
	PTH *PTH    `hl7:"10,required,display=Pathway"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathway

type PGL_PC6_PatientVisit

type PGL_PC6_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"14,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"15,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"16,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:"19,required,display=Observation segment"`
	NTE []NTE   `hl7:"20,display=Notes and comments segment"`
}

ProblemObservation

type PGL_PC6_ProblemRole

type PGL_PC6_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PGL_PC6_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"17,required,display=Role"`
	VAR []VAR   `hl7:"18,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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PGL_PC7_PatientVisit `hl7:",display=Patient Visit"`
	Goal         []PGL_PC7_Goal        `hl7:",required,display=Goal"`
}

Goal update

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_PC7_Goal

type PGL_PC7_Goal struct {
	HL7         HL7Name               `hl7:",name=PGL_PC7_Goal,type=tg"`
	GOL         *GOL                  `hl7:"5,required,display=Goal Detail"`
	NTE         []NTE                 `hl7:"6,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"7,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:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,display=Variance"`
}

GoalRole

type PGL_PC7_Observation

type PGL_PC7_Observation struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_Observation,type=tg"`
	OBX *OBX    `hl7:"12,required,display=Observation segment"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Observation

type PGL_PC7_Order

type PGL_PC7_Order struct {
	HL7         HL7Name              `hl7:",name=PGL_PC7_Order,type=tg"`
	ORC         *ORC                 `hl7:"21,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PGL_PC7_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"28,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"29,display=Variance"`
	OrderObservation   []PGL_PC7_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PGL_PC7_OrderDetailSegment

type PGL_PC7_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"22,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"23,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"24,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"25,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"26,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"27,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PGL_PC7_OrderObservation

type PGL_PC7_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation segment"`
	NTE []NTE   `hl7:"31,display=Notes and comments segment"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

OrderObservation

type PGL_PC7_Pathway

type PGL_PC7_Pathway struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_Pathway,type=tg"`
	PTH *PTH    `hl7:"10,required,display=Pathway"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathway

type PGL_PC7_PatientVisit

type PGL_PC7_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"14,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"15,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"16,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:"19,required,display=Observation segment"`
	NTE []NTE   `hl7:"20,display=Notes and comments segment"`
}

ProblemObservation

type PGL_PC7_ProblemRole

type PGL_PC7_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PGL_PC7_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"17,required,display=Role"`
	VAR []VAR   `hl7:"18,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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PGL_PC8_PatientVisit `hl7:",display=Patient Visit"`
	Goal         []PGL_PC8_Goal        `hl7:",required,display=Goal"`
}

Goal delete

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_PC8_Goal

type PGL_PC8_Goal struct {
	HL7         HL7Name               `hl7:",name=PGL_PC8_Goal,type=tg"`
	GOL         *GOL                  `hl7:"5,required,display=Goal Detail"`
	NTE         []NTE                 `hl7:"6,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"7,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:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,display=Variance"`
}

GoalRole

type PGL_PC8_Observation

type PGL_PC8_Observation struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_Observation,type=tg"`
	OBX *OBX    `hl7:"12,required,display=Observation segment"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Observation

type PGL_PC8_Order

type PGL_PC8_Order struct {
	HL7         HL7Name              `hl7:",name=PGL_PC8_Order,type=tg"`
	ORC         *ORC                 `hl7:"21,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PGL_PC8_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"28,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"29,display=Variance"`
	OrderObservation   []PGL_PC8_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PGL_PC8_OrderDetailSegment

type PGL_PC8_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"22,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"23,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"24,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"25,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"26,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"27,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PGL_PC8_OrderObservation

type PGL_PC8_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation segment"`
	NTE []NTE   `hl7:"31,display=Notes and comments segment"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

OrderObservation

type PGL_PC8_Pathway

type PGL_PC8_Pathway struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_Pathway,type=tg"`
	PTH *PTH    `hl7:"10,required,display=Pathway"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathway

type PGL_PC8_PatientVisit

type PGL_PC8_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PGL_PC8_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"14,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"15,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"16,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:"19,required,display=Observation segment"`
	NTE []NTE   `hl7:"20,display=Notes and comments segment"`
}

ProblemObservation

type PGL_PC8_ProblemRole

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

ProblemRole

type PID

type PID struct {
	HL7                     HL7Name `hl7:",name=PID,type=s"`
	SetIDPatientID          SI      `hl7:"1,len=4,display=Set ID - Patient ID"`
	PatientIDExternalID     *CX     `hl7:"2,len=20,display=Patient ID (External ID)"`
	PatientIDInternalID     []CX    `hl7:"3,required,len=20,display=Patient ID (Internal ID)"`
	AlternatePatientID      []CX    `hl7:"4,len=20,display=Alternate Patient ID"`
	PatientName             []XPN   `hl7:"5,required,len=48,display=Patient Name"`
	MothersMaidenName       *XPN    `hl7:"6,len=48,display=Mother's Maiden Name"`
	DateOfBirth             TS      `hl7:"7,len=26,format=YMDHMS,display=Date of Birth"`
	Sex                     IS      `hl7:"8,len=1,table=0001,display=Sex"`
	PatientAlias            []XPN   `hl7:"9,len=48,display=Patient Alias"`
	Race                    IS      `hl7:"10,len=1,table=0005,display=Race"`
	PatientAddress          []XAD   `hl7:"11,len=106,display=Patient Address"`
	CountyCode              IS      `hl7:"12,len=4,table=0289,display=County Code"`
	PhoneNumberHome         []XTN   `hl7:"13,len=40,display=Phone Number - Home"`
	PhoneNumberBusiness     []XTN   `hl7:"14,len=40,display=Phone Number - Business"`
	PrimaryLanguage         *CE     `hl7:"15,len=60,table=0296,display=Primary Language"`
	MaritalStatus           IS      `hl7:"16,len=1,table=0002,display=Marital Status"`
	Religion                IS      `hl7:"17,len=3,table=0006,display=Religion"`
	PatientAccountNumber    *CX     `hl7:"18,len=20,display=Patient Account Number"`
	SSNNumberPatient        ST      `hl7:"19,len=16,display=SSN Number - Patient"`
	DriversLicenseNumber    *DLN    `hl7:"20,len=25,display=Driver's License Number"`
	MothersIdentifier       []CX    `hl7:"21,len=20,display=Mother's Identifier"`
	EthnicGroup             IS      `hl7:"22,len=3,table=0189,display=Ethnic Group"`
	BirthPlace              ST      `hl7:"23,len=60,display=Birth Place"`
	MultipleBirthIndicator  ID      `hl7:"24,len=2,table=0136,display=Multiple Birth Indicator"`
	BirthOrder              NM      `hl7:"25,len=2,display=Birth Order"`
	Citizenship             []IS    `hl7:"26,len=4,table=0171,display=Citizenship"`
	VeteransMilitaryStatus  *CE     `hl7:"27,len=60,table=0172,display=Veterans Military Status"`
	NationalityCode         *CE     `hl7:"28,len=80,table=0212,display=Nationality Code"`
	PatientDeathDateAndTime TS      `hl7:"29,len=26,format=YMDHMS,display=Patient Death Date and Time"`
	PatientDeathIndicator   ID      `hl7:"30,len=1,table=0136,display=Patient Death Indicator"`
}

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.

Usage notes: PID patient identification The assigning facility ID, the fourth component of the patient identifiers, is a string of up to six characters that is uniquely associated with the facility that originally assigned the number. A given institution, or group of intercommunicating institutions, should establish a list of facilities 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 facility ID in the patient identification numbers may not be the same as the sending and receiving systems identified in the MSH. The assigning facility ID 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 PIN_I07

type PIN_I07 struct {
	HL7                HL7Name                     `hl7:",name=PIN_I07,type=t"`
	MSH                *MSH                        `hl7:"1,required,display=Message header segment"`
	Provider           []PIN_I07_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"4,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"5,display=Next of kin"`
	GuarantorInsurance *PIN_I07_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	NTE                []NTE                       `hl7:"10,display=Notes and comments segment"`
}

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:"6,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:"7,required,display=Insurance"`
	IN2 *IN2    `hl7:"8,display=Insurance additional info"`
	IN3 *IN3    `hl7:"9,display=Insurance additional info - certification"`
}

Insurance

type PIN_I07_Provider

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

Provider

type PL

type PL struct {
	HL7                HL7Name `hl7:",name=PL,len=0,type=d"`
	PointOfCare        IS      `` /* 237-byte string literal not displayed */
	Room               IS      `` /* 165-byte string literal not displayed */
	Bed                IS      `` /* 155-byte string literal not displayed */
	Facility           *HD     `hl7:"4,display=Most general person location designation. (See Section 2.8.18- “HD - hierarchic designator”). "`
	LocationStatus     IS      `` /* 128-byte string literal not displayed */
	PersonLocationType IS      `` /* 196-byte string literal not displayed */
	Building           IS      `` /* 150-byte string literal not displayed */
	Floor              IS      `` /* 147-byte string literal not displayed */
	LocationType       ST      `hl7:"9,display=A free text description of the location"`
}

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. It is most commonly used for specifying patient locations, but may refer to other types of persons within a healthcare setting.

type PPG_PCG

type PPG_PCG struct {
	HL7          HL7Name               `hl7:",name=PPG_PCG,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message header segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PPG_PCG_PatientVisit `hl7:",display=Patient Visit"`
	Pathway      []PPG_PCG_Pathway     `hl7:",required,display=Pathway"`
}

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:"10,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"11,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"12,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:"15,required,display=Observation segment"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

GoalObservation

type PPG_PCG_GoalRole

type PPG_PCG_GoalRole struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_GoalRole,type=tg"`
	ROL *ROL    `hl7:"13,required,display=Role"`
	VAR []VAR   `hl7:"14,display=Variance"`
}

GoalRole

type PPG_PCG_Order

type PPG_PCG_Order struct {
	HL7         HL7Name              `hl7:",name=PPG_PCG_Order,type=tg"`
	ORC         *ORC                 `hl7:"24,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPG_PCG_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"31,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"32,display=Variance"`
	OrderObservation   []PPG_PCG_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPG_PCG_OrderDetailSegment

type PPG_PCG_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"25,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"26,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"27,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"28,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"29,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"30,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPG_PCG_OrderObservation

type PPG_PCG_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation segment"`
	NTE []NTE   `hl7:"34,display=Notes and comments segment"`
	VAR []VAR   `hl7:"35,display=Variance"`
}

OrderObservation

type PPG_PCG_Pathway

type PPG_PCG_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPG_PCG_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"5,required,display=Pathway"`
	NTE         []NTE                 `hl7:"6,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"7,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:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,display=Variance"`
}

PathwayRole

type PPG_PCG_PatientVisit

type PPG_PCG_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"17,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"18,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"19,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

ProblemObservation

type PPG_PCG_ProblemRole

type PPG_PCG_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PPG_PCG_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"20,required,display=Role"`
	VAR []VAR   `hl7:"21,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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PPG_PCH_PatientVisit `hl7:",display=Patient Visit"`
	Pathway      []PPG_PCH_Pathway     `hl7:",required,display=Pathway"`
}

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:"10,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"11,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"12,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:"15,required,display=Observation segment"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

GoalObservation

type PPG_PCH_GoalRole

type PPG_PCH_GoalRole struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_GoalRole,type=tg"`
	ROL *ROL    `hl7:"13,required,display=Role"`
	VAR []VAR   `hl7:"14,display=Variance"`
}

GoalRole

type PPG_PCH_Order

type PPG_PCH_Order struct {
	HL7         HL7Name              `hl7:",name=PPG_PCH_Order,type=tg"`
	ORC         *ORC                 `hl7:"24,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPG_PCH_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"31,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"32,display=Variance"`
	OrderObservation   []PPG_PCH_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPG_PCH_OrderDetailSegment

type PPG_PCH_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"25,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"26,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"27,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"28,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"29,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"30,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPG_PCH_OrderObservation

type PPG_PCH_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation segment"`
	NTE []NTE   `hl7:"34,display=Notes and comments segment"`
	VAR []VAR   `hl7:"35,display=Variance"`
}

OrderObservation

type PPG_PCH_Pathway

type PPG_PCH_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPG_PCH_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"5,required,display=Pathway"`
	NTE         []NTE                 `hl7:"6,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"7,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:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,display=Variance"`
}

PathwayRole

type PPG_PCH_PatientVisit

type PPG_PCH_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"17,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"18,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"19,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

ProblemObservation

type PPG_PCH_ProblemRole

type PPG_PCH_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PPG_PCH_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"20,required,display=Role"`
	VAR []VAR   `hl7:"21,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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PPG_PCJ_PatientVisit `hl7:",display=Patient Visit"`
	Pathway      []PPG_PCJ_Pathway     `hl7:",required,display=Pathway"`
}

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:"10,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"11,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"12,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:"15,required,display=Observation segment"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

GoalObservation

type PPG_PCJ_GoalRole

type PPG_PCJ_GoalRole struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_GoalRole,type=tg"`
	ROL *ROL    `hl7:"13,required,display=Role"`
	VAR []VAR   `hl7:"14,display=Variance"`
}

GoalRole

type PPG_PCJ_Order

type PPG_PCJ_Order struct {
	HL7         HL7Name              `hl7:",name=PPG_PCJ_Order,type=tg"`
	ORC         *ORC                 `hl7:"24,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPG_PCJ_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"31,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"32,display=Variance"`
	OrderObservation   []PPG_PCJ_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPG_PCJ_OrderDetailSegment

type PPG_PCJ_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"25,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"26,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"27,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"28,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"29,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"30,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPG_PCJ_OrderObservation

type PPG_PCJ_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation segment"`
	NTE []NTE   `hl7:"34,display=Notes and comments segment"`
	VAR []VAR   `hl7:"35,display=Variance"`
}

OrderObservation

type PPG_PCJ_Pathway

type PPG_PCJ_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPG_PCJ_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"5,required,display=Pathway"`
	NTE         []NTE                 `hl7:"6,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"7,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:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,display=Variance"`
}

PathwayRole

type PPG_PCJ_PatientVisit

type PPG_PCJ_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PPG_PCJ_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"17,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"18,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"19,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

ProblemObservation

type PPG_PCJ_ProblemRole

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

ProblemRole

type PPN

type PPN struct {
	HL7                                        HL7Name `hl7:",name=PPN,len=0,type=d"`
	IDNumber                                   ST      `` /* 192-byte string literal not displayed */
	FamilyName                                 ST      `hl7:"2,display=Family Name"`
	GivenName                                  ST      `hl7:"3,display=Given Name"`
	MiddleInitialOrName                        ST      `hl7:"4,display=Middle Initial Or Name"`
	Suffix                                     ST      `hl7:"5,display=Suffix"`
	Prefix                                     ST      `hl7:"6,display=Prefix"`
	Degree                                     ST      `hl7:"7,display=Degree"`
	SourceTable                                ID      `hl7:"8,table=0297,display=Source Table"`
	AssigningAuthority                         *HD     `` /* 183-byte string literal not displayed */
	NameTypeCode                               ID      `` /* 178-byte string literal not displayed */
	IdentifierCheckDigit                       ST      `` /* 335-byte string literal not displayed */
	CodeIdentifyingTheCheckDigitSchemeEmployed ID      `hl7:"12,table=0061,display=Refer to HL7 table 0061 - Check digit scheme for valid values"`
	IdentifierTypeCode                         IS      `` /* 245-byte string literal not displayed */
	AssigningFacility                          *HD     `` /* 313-byte string literal not displayed */
	DateTimeActionPerformed                    TS      `` /* 183-byte string literal not displayed */
}

Performing Person Time Stamp

This data type is the equivalent of an XCN data type joined with a TS data type. However, since HL7 does not support subcomponents in Version 2.3, the XCD data type has been flattened.

type PPP_PCB

type PPP_PCB struct {
	HL7          HL7Name               `hl7:",name=PPP_PCB,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message header segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PPP_PCB_PatientVisit `hl7:",display=Patient Visit"`
	Pathway      []PPP_PCB_Pathway     `hl7:",required,display=Pathway"`
}

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:"17,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"18,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"19,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

GoalObservation

type PPP_PCB_GoalRole

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

GoalRole

type PPP_PCB_Order

type PPP_PCB_Order struct {
	HL7         HL7Name              `hl7:",name=PPP_PCB_Order,type=tg"`
	ORC         *ORC                 `hl7:"24,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPP_PCB_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"31,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"32,display=Variance"`
	OrderObservation   []PPP_PCB_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPP_PCB_OrderDetailSegment

type PPP_PCB_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"25,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"26,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"27,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"28,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"29,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"30,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPP_PCB_OrderObservation

type PPP_PCB_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation segment"`
	NTE []NTE   `hl7:"34,display=Notes and comments segment"`
	VAR []VAR   `hl7:"35,display=Variance"`
}

OrderObservation

type PPP_PCB_Pathway

type PPP_PCB_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPP_PCB_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"5,required,display=Pathway"`
	NTE         []NTE                 `hl7:"6,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"7,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:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,display=Variance"`
}

PathwayRole

type PPP_PCB_PatientVisit

type PPP_PCB_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"10,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"11,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"12,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:"15,required,display=Observation segment"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

ProblemObservation

type PPP_PCB_ProblemRole

type PPP_PCB_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PPP_PCB_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"13,required,display=Role"`
	VAR []VAR   `hl7:"14,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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PPP_PCC_PatientVisit `hl7:",display=Patient Visit"`
	Pathway      []PPP_PCC_Pathway     `hl7:",required,display=Pathway"`
}

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:"17,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"18,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"19,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

GoalObservation

type PPP_PCC_GoalRole

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

GoalRole

type PPP_PCC_Order

type PPP_PCC_Order struct {
	HL7         HL7Name              `hl7:",name=PPP_PCC_Order,type=tg"`
	ORC         *ORC                 `hl7:"24,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPP_PCC_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"31,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"32,display=Variance"`
	OrderObservation   []PPP_PCC_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPP_PCC_OrderDetailSegment

type PPP_PCC_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"25,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"26,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"27,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"28,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"29,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"30,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPP_PCC_OrderObservation

type PPP_PCC_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation segment"`
	NTE []NTE   `hl7:"34,display=Notes and comments segment"`
	VAR []VAR   `hl7:"35,display=Variance"`
}

OrderObservation

type PPP_PCC_Pathway

type PPP_PCC_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPP_PCC_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"5,required,display=Pathway"`
	NTE         []NTE                 `hl7:"6,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"7,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:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,display=Variance"`
}

PathwayRole

type PPP_PCC_PatientVisit

type PPP_PCC_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"10,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"11,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"12,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:"15,required,display=Observation segment"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

ProblemObservation

type PPP_PCC_ProblemRole

type PPP_PCC_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PPP_PCC_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"13,required,display=Role"`
	VAR []VAR   `hl7:"14,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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PPP_PCD_PatientVisit `hl7:",display=Patient Visit"`
	Pathway      []PPP_PCD_Pathway     `hl7:",required,display=Pathway"`
}

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:"17,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"18,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"19,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

GoalObservation

type PPP_PCD_GoalRole

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

GoalRole

type PPP_PCD_Order

type PPP_PCD_Order struct {
	HL7         HL7Name              `hl7:",name=PPP_PCD_Order,type=tg"`
	ORC         *ORC                 `hl7:"24,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPP_PCD_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"31,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"32,display=Variance"`
	OrderObservation   []PPP_PCD_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPP_PCD_OrderDetailSegment

type PPP_PCD_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"25,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"26,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"27,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"28,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"29,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"30,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPP_PCD_OrderObservation

type PPP_PCD_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation segment"`
	NTE []NTE   `hl7:"34,display=Notes and comments segment"`
	VAR []VAR   `hl7:"35,display=Variance"`
}

OrderObservation

type PPP_PCD_Pathway

type PPP_PCD_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPP_PCD_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"5,required,display=Pathway"`
	NTE         []NTE                 `hl7:"6,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"7,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:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,display=Variance"`
}

PathwayRole

type PPP_PCD_PatientVisit

type PPP_PCD_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"10,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"11,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"12,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:"15,required,display=Observation segment"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

ProblemObservation

type PPP_PCD_ProblemRole

type PPP_PCD_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PPP_PCD_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"13,required,display=Role"`
	VAR []VAR   `hl7:"14,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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PPR_PC1_PatientVisit `hl7:",display=Patient Visit"`
	Problem      []PPR_PC1_Problem     `hl7:",required,display=Problem"`
}

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:"14,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"15,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"16,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:"19,required,display=Observation segment"`
	NTE []NTE   `hl7:"20,display=Notes and comments segment"`
}

GoalObservation

type PPR_PC1_GoalRole

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

GoalRole

type PPR_PC1_Order

type PPR_PC1_Order struct {
	HL7         HL7Name              `hl7:",name=PPR_PC1_Order,type=tg"`
	ORC         *ORC                 `hl7:"21,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPR_PC1_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"28,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"29,display=Variance"`
	OrderObservation   []PPR_PC1_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPR_PC1_OrderDetailSegment

type PPR_PC1_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"22,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"23,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"24,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"25,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"26,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"27,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPR_PC1_OrderObservation

type PPR_PC1_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation segment"`
	NTE []NTE   `hl7:"31,display=Notes and comments segment"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

OrderObservation

type PPR_PC1_Pathway

type PPR_PC1_Pathway struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_Pathway,type=tg"`
	PTH *PTH    `hl7:"10,required,display=Pathway"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathway

type PPR_PC1_PatientVisit

type PPR_PC1_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"5,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"6,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"7,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:"12,required,display=Observation segment"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

ProblemObservation

type PPR_PC1_ProblemRole

type PPR_PC1_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PPR_PC1_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PPR_PC2_PatientVisit `hl7:",display=Patient Visit"`
	Problem      []PPR_PC2_Problem     `hl7:",required,display=Problem"`
}

Problem update

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_PC2_Goal

type PPR_PC2_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPR_PC2_Goal,type=tg"`
	GOL             *GOL                      `hl7:"14,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"15,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"16,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:"19,required,display=Observation segment"`
	NTE []NTE   `hl7:"20,display=Notes and comments segment"`
}

GoalObservation

type PPR_PC2_GoalRole

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

GoalRole

type PPR_PC2_Order

type PPR_PC2_Order struct {
	HL7         HL7Name              `hl7:",name=PPR_PC2_Order,type=tg"`
	ORC         *ORC                 `hl7:"21,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPR_PC2_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"28,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"29,display=Variance"`
	OrderObservation   []PPR_PC2_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPR_PC2_OrderDetailSegment

type PPR_PC2_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"22,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"23,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"24,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"25,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"26,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"27,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPR_PC2_OrderObservation

type PPR_PC2_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation segment"`
	NTE []NTE   `hl7:"31,display=Notes and comments segment"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

OrderObservation

type PPR_PC2_Pathway

type PPR_PC2_Pathway struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_Pathway,type=tg"`
	PTH *PTH    `hl7:"10,required,display=Pathway"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathway

type PPR_PC2_PatientVisit

type PPR_PC2_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"5,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"6,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"7,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:"12,required,display=Observation segment"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

ProblemObservation

type PPR_PC2_ProblemRole

type PPR_PC2_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PPR_PC2_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,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 segment"`
	PID          *PID                  `hl7:"2,required,display=Patient Identification"`
	PatientVisit *PPR_PC3_PatientVisit `hl7:",display=Patient Visit"`
	Problem      []PPR_PC3_Problem     `hl7:",required,display=Problem"`
}

Problem delete

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_PC3_Goal

type PPR_PC3_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPR_PC3_Goal,type=tg"`
	GOL             *GOL                      `hl7:"14,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"15,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"16,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:"19,required,display=Observation segment"`
	NTE []NTE   `hl7:"20,display=Notes and comments segment"`
}

GoalObservation

type PPR_PC3_GoalRole

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

GoalRole

type PPR_PC3_Order

type PPR_PC3_Order struct {
	HL7         HL7Name              `hl7:",name=PPR_PC3_Order,type=tg"`
	ORC         *ORC                 `hl7:"21,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPR_PC3_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"28,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"29,display=Variance"`
	OrderObservation   []PPR_PC3_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPR_PC3_OrderDetailSegment

type PPR_PC3_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"22,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"23,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"24,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"25,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"26,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"27,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPR_PC3_OrderObservation

type PPR_PC3_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"30,required,display=Observation segment"`
	NTE []NTE   `hl7:"31,display=Notes and comments segment"`
	VAR []VAR   `hl7:"32,display=Variance"`
}

OrderObservation

type PPR_PC3_Pathway

type PPR_PC3_Pathway struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_Pathway,type=tg"`
	PTH *PTH    `hl7:"10,required,display=Pathway"`
	VAR []VAR   `hl7:"11,display=Variance"`
}

Pathway

type PPR_PC3_PatientVisit

type PPR_PC3_PatientVisit struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"3,required,display=Patient visit"`
	PV2 *PV2    `hl7:"4,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:"5,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"6,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"7,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:"12,required,display=Observation segment"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

ProblemObservation

type PPR_PC3_ProblemRole

type PPR_PC3_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PPR_PC3_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"8,required,display=Role"`
	VAR []VAR   `hl7:"9,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 segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	Patient []PPT_PCL_Patient `hl7:",required,display=Patient"`
}

Pathway (goal-oriented) query response

type PPT_PCL_Goal

type PPT_PCL_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPT_PCL_Goal,type=tg"`
	GOL             *GOL                      `hl7:"13,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"14,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"15,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:"18,required,display=Observation segment"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

GoalObservation

type PPT_PCL_GoalRole

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

GoalRole

type PPT_PCL_Order

type PPT_PCL_Order struct {
	HL7         HL7Name              `hl7:",name=PPT_PCL_Order,type=tg"`
	ORC         *ORC                 `hl7:"27,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPT_PCL_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"34,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"35,display=Variance"`
	OrderObservation   []PPT_PCL_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPT_PCL_OrderDetailSegment

type PPT_PCL_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"28,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"29,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"30,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"31,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"32,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"33,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPT_PCL_OrderObservation

type PPT_PCL_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"36,required,display=Observation segment"`
	NTE []NTE   `hl7:"37,display=Notes and comments segment"`
	VAR []VAR   `hl7:"38,display=Variance"`
}

OrderObservation

type PPT_PCL_Pathway

type PPT_PCL_Pathway struct {
	HL7         HL7Name               `hl7:",name=PPT_PCL_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"8,required,display=Pathway"`
	NTE         []NTE                 `hl7:"9,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"10,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:"11,required,display=Role"`
	VAR []VAR   `hl7:"12,display=Variance"`
}

PathwayRole

type PPT_PCL_Patient

type PPT_PCL_Patient struct {
	HL7          HL7Name               `hl7:",name=PPT_PCL_Patient,type=tg"`
	PID          *PID                  `hl7:"5,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:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,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:"20,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"21,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"22,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:"25,required,display=Observation segment"`
	NTE []NTE   `hl7:"26,display=Notes and comments segment"`
}

ProblemObservation

type PPT_PCL_ProblemRole

type PPT_PCL_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PPT_PCL_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"23,required,display=Role"`
	VAR []VAR   `hl7:"24,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 segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	Patient []PPV_PCA_Patient `hl7:",required,display=Patient"`
}

Goal response

type PPV_PCA_Goal

type PPV_PCA_Goal struct {
	HL7             HL7Name                   `hl7:",name=PPV_PCA_Goal,type=tg"`
	GOL             *GOL                      `hl7:"8,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"9,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"10,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:"15,required,display=Observation segment"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

GoalObservation

type PPV_PCA_GoalPathway

type PPV_PCA_GoalPathway struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_GoalPathway,type=tg"`
	PTH *PTH    `hl7:"13,required,display=Pathway"`
	VAR []VAR   `hl7:"14,display=Variance"`
}

GoalPathway

type PPV_PCA_GoalRole

type PPV_PCA_GoalRole struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_GoalRole,type=tg"`
	ROL *ROL    `hl7:"11,required,display=Role"`
	VAR []VAR   `hl7:"12,display=Variance"`
}

GoalRole

type PPV_PCA_Order

type PPV_PCA_Order struct {
	HL7         HL7Name              `hl7:",name=PPV_PCA_Order,type=tg"`
	ORC         *ORC                 `hl7:"24,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PPV_PCA_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"31,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"32,display=Variance"`
	OrderObservation   []PPV_PCA_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PPV_PCA_OrderDetailSegment

type PPV_PCA_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"25,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"26,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"27,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"28,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"29,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"30,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PPV_PCA_OrderObservation

type PPV_PCA_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PPV_PCA_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation segment"`
	NTE []NTE   `hl7:"34,display=Notes and comments segment"`
	VAR []VAR   `hl7:"35,display=Variance"`
}

OrderObservation

type PPV_PCA_Patient

type PPV_PCA_Patient struct {
	HL7          HL7Name               `hl7:",name=PPV_PCA_Patient,type=tg"`
	PID          *PID                  `hl7:"5,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:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,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:"17,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"18,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"19,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

ProblemObservation

type PPV_PCA_ProblemRole

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

ProblemRole

type PR1

type PR1 struct {
	HL7                     HL7Name `hl7:",name=PR1,type=s"`
	SetIDProcedure          SI      `hl7:"1,required,len=4,display=Set ID - Procedure"`
	ProcedureCodingMethod   IS      `hl7:"2,len=2,table=0089,display=Procedure Coding Method"`
	ProcedureCode           CE      `hl7:"3,required,len=80,table=0088,display=Procedure Code"`
	ProcedureDescription    ST      `hl7:"4,len=40,display=Procedure Description"`
	ProcedureDateTime       TS      `hl7:"5,required,len=26,format=YMDHMS,display=Procedure Date/Time"`
	ProcedureType           IS      `hl7:"6,required,len=2,table=0230,display=Procedure Type"`
	ProcedureMinutes        NM      `hl7:"7,len=4,display=Procedure Minutes"`
	Anesthesiologist        []XCN   `hl7:"8,len=120,table=0010,display=Anesthesiologist"`
	AnesthesiaCode          IS      `hl7:"9,len=2,table=0019,display=Anesthesia Code"`
	AnesthesiaMinutes       NM      `hl7:"10,len=4,display=Anesthesia Minutes"`
	Surgeon                 []XCN   `hl7:"11,len=120,table=0010,display=Surgeon"`
	ProcedurePractitioner   []XCN   `hl7:"12,len=230,table=0010,display=Procedure Practitioner"`
	ConsentCode             *CE     `hl7:"13,len=60,table=0059,display=Consent Code"`
	ProcedurePriority       NM      `hl7:"14,len=2,display=Procedure Priority"`
	AssociatedDiagnosisCode *CE     `hl7:"15,len=80,display=Associated Diagnosis Code"`
}

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       ST       `hl7:"1,required,len=20,display=PRA - Primary Key Value"`
	PractionerGroup       []CE     `hl7:"2,len=60,display=Practioner Group"`
	PractionerCategory    []IS     `hl7:"3,len=3,table=0186,display=Practioner Category"`
	ProviderBilling       ID       `hl7:"4,len=1,table=0187,display=Provider Billing"`
	Specialty             []CM_SPD `hl7:"5,len=100,display=Specialty"`
	PractitionerIDNumbers []CM_PLN `hl7:"6,len=100,display=Practitioner ID Numbers"`
	Privileges            []CM_PIP `hl7:"7,len=200,display=Privileges"`
	DateEnteredPractice   DT       `hl7:"8,len=8,format=YMD,display=Date Entered Practice"`
}

Practitioner detail segment

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                                    TS      `hl7:"2,required,len=26,format=YMDHMS,display=Action Date/Time"`
	ProblemID                                         CE      `hl7:"3,required,len=80,display=Problem ID"`
	ProblemInstanceID                                 EI      `hl7:"4,required,len=60,display=Problem Instance ID"`
	EpisodeOfCareID                                   *EI     `hl7:"5,len=60,display=Episode of Care ID"`
	ProblemListPriority                               NM      `hl7:"6,len=60,display=Problem List Priority"`
	ProblemEstablishedDateTime                        TS      `hl7:"7,len=26,format=YMDHMS,display=Problem Established Date/Time"`
	AnticipatedProblemResolutionDateTime              TS      `hl7:"8,len=26,format=YMDHMS,display=Anticipated Problem Resolution Date/Time"`
	ActualProblemResolutionDateTime                   TS      `hl7:"9,len=26,format=YMDHMS,display=Actual Problem Resolution Date/Time"`
	ProblemClassification                             *CE     `hl7:"10,len=80,display=Problem Classification"`
	ProblemManagementDiscipline                       []CE    `hl7:"11,len=80,display=Problem Management Discipline"`
	ProblemPersistence                                *CE     `hl7:"12,len=80,display=Problem Persistence"`
	ProblemConfirmationStatus                         *CE     `hl7:"13,len=80,display=Problem Confirmation Status"`
	ProblemLifeCycleStatus                            *CE     `hl7:"14,len=80,display=Problem Life Cycle Status"`
	ProblemLifeCycleStatusDateTime                    TS      `hl7:"15,len=26,format=YMDHMS,display=Problem Life Cycle Status Date/Time"`
	ProblemDateOfOnset                                TS      `hl7:"16,len=26,format=YMDHMS,display=Problem Date of Onset"`
	ProblemOnsetText                                  ST      `hl7:"17,len=80,display=Problem Onset Text"`
	ProblemRanking                                    *CE     `hl7:"18,len=80,display=Problem Ranking"`
	CertaintyOfProblem                                *CE     `hl7:"19,len=60,display=Certainty of Problem"`
	ProbabilityOfProblem                              NM      `hl7:"20,len=5,display=Probability of Problem"`
	IndividualAwarenessOfProblem                      *CE     `hl7:"21,len=80,display=Individual Awareness of Problem"`
	ProblemPrognosis                                  *CE     `hl7:"22,len=80,display=Problem Prognosis"`
	IndividualAwarenessOfPrognosis                    *CE     `hl7:"23,len=80,display=Individual Awareness of Prognosis"`
	FamilySignificantOtherAwarenessOfProblemPrognosis ST      `hl7:"24,len=200,display=Family/Significant Other Awareness of Problem/Prognosis"`
	SecuritySensitivity                               *CE     `hl7:"25,len=80,display=Security/Sensitivity"`
}

Problem Detail

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     CE      `hl7:"1,required,len=200,table=0132,display=Primary Key Value"`
	FacilityID          []CE    `hl7:"2,len=60,display=Facility ID"`
	Department          []CE    `hl7:"3,len=30,display=Department"`
	ValidPatientClasses []IS    `hl7:"4,len=1,table=0004,display=Valid Patient Classes"`
	Price               []CP    `hl7:"5,conditional,len=12,display=Price"`
	Formula             []ST    `hl7:"6,len=200,display=Formula"`
	MinimumQuantity     NM      `hl7:"7,len=4,display=Minimum Quantity"`
	MaximumQuantity     NM      `hl7:"8,len=4,display=Maximum Quantity"`
	MinimumPrice        *MO     `hl7:"9,len=12,display=Minimum Price"`
	MaximumPrice        *MO     `hl7:"10,len=12,display=Maximum Price"`
	EffectiveStartDate  TS      `hl7:"11,len=26,format=YMDHMS,display=Effective Start Date"`
	EffectiveEndDate    TS      `hl7:"12,len=26,format=YMDHMS,display=Effective End Date"`
	PriceOverrideFlag   IS      `hl7:"13,len=1,table=0268,display=Price Override Flag"`
	BillingCategory     []CE    `hl7:"14,len=60,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,len=12,display=Cost"`
	ChargeOnIndicator   IS      `hl7:"18,len=1,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"`
	Role                             []CE    `hl7:"1,required,len=200,table=0286,display=Role"`
	ProviderName                     []XPN   `hl7:"2,len=106,display=Provider Name"`
	ProviderAddress                  *XAD    `hl7:"3,len=60,display=Provider Address"`
	ProviderLocation                 *PL     `hl7:"4,len=60,display=Provider Location"`
	ProviderCommunicationInformation []XTN   `hl7:"5,len=100,display=Provider Communication Information"`
	PreferredMethodOfContact         *CE     `hl7:"6,len=200,table=0185,display=Preferred Method of Contact"`
	ProviderIdentifiers              []CM_PI `hl7:"7,len=100,display=Provider Identifiers"`
	EffectiveStartDateOfRole         TS      `hl7:"8,len=26,format=YMDHMS,display=Effective Start Date of Role"`
	EffectiveEndDateOfRole           TS      `hl7:"9,len=26,format=YMDHMS,display=Effective End Date of Role"`
}

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 PRR_PC5

type PRR_PC5 struct {
	HL7     HL7Name           `hl7:",name=PRR_PC5,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	Patient []PRR_PC5_Patient `hl7:",required,display=Patient"`
}

Problem response

type PRR_PC5_Goal

type PRR_PC5_Goal struct {
	HL7             HL7Name                   `hl7:",name=PRR_PC5_Goal,type=tg"`
	GOL             *GOL                      `hl7:"17,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"18,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"19,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

GoalObservation

type PRR_PC5_GoalRole

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

GoalRole

type PRR_PC5_Order

type PRR_PC5_Order struct {
	HL7         HL7Name              `hl7:",name=PRR_PC5_Order,type=tg"`
	ORC         *ORC                 `hl7:"24,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PRR_PC5_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"31,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"32,display=Variance"`
	OrderObservation   []PRR_PC5_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PRR_PC5_OrderDetailSegment

type PRR_PC5_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"25,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"26,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"27,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"28,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"29,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"30,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PRR_PC5_OrderObservation

type PRR_PC5_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"33,required,display=Observation segment"`
	NTE []NTE   `hl7:"34,display=Notes and comments segment"`
	VAR []VAR   `hl7:"35,display=Variance"`
}

OrderObservation

type PRR_PC5_Patient

type PRR_PC5_Patient struct {
	HL7          HL7Name               `hl7:",name=PRR_PC5_Patient,type=tg"`
	PID          *PID                  `hl7:"5,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:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,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:"8,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"9,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"10,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:"15,required,display=Observation segment"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

ProblemObservation

type PRR_PC5_ProblemPathway

type PRR_PC5_ProblemPathway struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_ProblemPathway,type=tg"`
	PTH *PTH    `hl7:"13,required,display=Pathway"`
	VAR []VAR   `hl7:"14,display=Variance"`
}

ProblemPathway

type PRR_PC5_ProblemRole

type PRR_PC5_ProblemRole struct {
	HL7 HL7Name `hl7:",name=PRR_PC5_ProblemRole,type=tg"`
	ROL *ROL    `hl7:"11,required,display=Role"`
	VAR []VAR   `hl7:"12,display=Variance"`
}

ProblemRole

type PSH

type PSH struct {
	HL7                                                HL7Name `hl7:",name=PSH,type=s"`
	ReportType                                         ST      `hl7:"1,required,len=60,display=Report Type"`
	ReportFormIdentifier                               ST      `hl7:"2,len=60,display=Report Form Identifier"`
	ReportDate                                         TS      `hl7:"3,required,len=26,format=YMDHMS,display=Report Date"`
	ReportIntervalStartDate                            TS      `hl7:"4,len=26,format=YMDHMS,display=Report Interval Start Date"`
	ReportIntervalEndDate                              TS      `hl7:"5,len=26,format=YMDHMS,display=Report Interval End Date"`
	QuantityManufactured                               *CQ     `hl7:"6,len=12,display=Quantity Manufactured"`
	QuantityDistributed                                *CQ     `hl7:"7,len=12,display=Quantity Distributed"`
	QuantityDistributedMethod                          ID      `hl7:"8,len=1,table=0329,display=Quantity Distributed Method"`
	QuantityDistributedComment                         FT      `hl7:"9,len=600,display=Quantity Distributed Comment"`
	QuantityInUse                                      *CQ     `hl7:"10,len=12,display=Quantity in Use"`
	QuantityInUseMethod                                ID      `hl7:"11,len=1,table=0329,display=Quantity in Use Method"`
	QuantityInUseComment                               FT      `hl7:"12,len=600,display=Quantity in Use Comment"`
	NumberOfProductExperienceReportsFiledByFacility    []NM    `hl7:"13,max=8,len=2,display=Number of Product Experience Reports Filed by Facility"`
	NumberOfProductExperienceReportsFiledByDistributor []NM    `hl7:"14,max=8,len=2,display=Number of Product Experience Reports Filed by Distributor"`
}

Product Summary Header

type PT

type PT struct {
	HL7            HL7Name `hl7:",name=PT,len=0,type=d"`
	ProcessingID   ST      `` /* 181-byte string literal not displayed */
	ProcessingMode ST      `` /* 178-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 PTH

type PTH struct {
	HL7                                  HL7Name `hl7:",name=PTH,type=s"`
	ActionCode                           ID      `hl7:"1,required,len=2,table=0287,display=Action Code"`
	PathwayID                            CE      `hl7:"2,required,len=80,display=Pathway ID"`
	PathwayInstanceID                    EI      `hl7:"3,required,len=60,display=Pathway Instance ID"`
	PathwayEstablishedDateTime           TS      `hl7:"4,required,len=26,format=YMDHMS,display=Pathway Established Date/Time"`
	PathwayLifecycleStatus               *CE     `hl7:"5,len=80,display=Pathway Lifecycle Status"`
	ChangePathwayLifecycleStatusDateTime TS      `hl7:"6,conditional,len=26,format=YMDHMS,display=Change Pathway Lifecycle Status Date/Time"`
}

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 segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR     *ERR              `hl7:"3,display=Error segment"`
	QRD     *QRD              `hl7:"4,required,display=Query definition segment"`
	Patient []PTR_PCF_Patient `hl7:",required,display=Patient"`
}

Pathway (problem-oriented) query response

type PTR_PCF_Goal

type PTR_PCF_Goal struct {
	HL7             HL7Name                   `hl7:",name=PTR_PCF_Goal,type=tg"`
	GOL             *GOL                      `hl7:"20,required,display=Goal Detail"`
	NTE             []NTE                     `hl7:"21,display=Notes and comments segment"`
	VAR             []VAR                     `hl7:"22,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:"25,required,display=Observation segment"`
	NTE []NTE   `hl7:"26,display=Notes and comments segment"`
}

GoalObservation

type PTR_PCF_GoalRole

type PTR_PCF_GoalRole struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_GoalRole,type=tg"`
	ROL *ROL    `hl7:"23,required,display=Role"`
	VAR []VAR   `hl7:"24,display=Variance"`
}

GoalRole

type PTR_PCF_Order

type PTR_PCF_Order struct {
	HL7         HL7Name              `hl7:",name=PTR_PCF_Order,type=tg"`
	ORC         *ORC                 `hl7:"27,required,display=Common order segment"`
	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"`
	OrderDetailSegment *PTR_PCF_OrderDetailSegment `hl7:",required,display=Order Detail Segment"`
	NTE                []NTE                       `hl7:"34,display=Notes and comments segment"`
	VAR                []VAR                       `hl7:"35,display=Variance"`
	OrderObservation   []PTR_PCF_OrderObservation  `hl7:",display=Order Observation"`
}

OrderDetail

type PTR_PCF_OrderDetailSegment

type PTR_PCF_OrderDetailSegment struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_OrderDetailSegment,type=tg"`
	OBR *OBR    `hl7:"28,conditional,display=Observation request segment"`
	RQD *RQD    `hl7:"29,conditional,display=Requisition detail"`
	RQ1 *RQ1    `hl7:"30,conditional,display=Requisition detail-1 segment"`
	RXO *RXO    `hl7:"31,conditional,display=Pharmacy prescription order segment"`
	ODS *ODS    `hl7:"32,conditional,display=Dietary orders- supplements- and preferences"`
	ODT *ODT    `hl7:"33,conditional,display=Diet tray instructions segment"`
}

OrderDetailSegment

type PTR_PCF_OrderObservation

type PTR_PCF_OrderObservation struct {
	HL7 HL7Name `hl7:",name=PTR_PCF_OrderObservation,type=tg"`
	OBX *OBX    `hl7:"36,required,display=Observation segment"`
	NTE []NTE   `hl7:"37,display=Notes and comments segment"`
	VAR []VAR   `hl7:"38,display=Variance"`
}

OrderObservation

type PTR_PCF_Pathway

type PTR_PCF_Pathway struct {
	HL7         HL7Name               `hl7:",name=PTR_PCF_Pathway,type=tg"`
	PTH         *PTH                  `hl7:"8,required,display=Pathway"`
	NTE         []NTE                 `hl7:"9,display=Notes and comments segment"`
	VAR         []VAR                 `hl7:"10,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:"11,required,display=Role"`
	VAR []VAR   `hl7:"12,display=Variance"`
}

PathwayRole

type PTR_PCF_Patient

type PTR_PCF_Patient struct {
	HL7          HL7Name               `hl7:",name=PTR_PCF_Patient,type=tg"`
	PID          *PID                  `hl7:"5,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:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,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:"13,required,display=Problem Detail"`
	NTE                []NTE                        `hl7:"14,display=Notes and comments segment"`
	VAR                []VAR                        `hl7:"15,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:"18,required,display=Observation segment"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

ProblemObservation

type PTR_PCF_ProblemRole

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

ProblemRole

type PV1

type PV1 struct {
	HL7                     HL7Name `hl7:",name=PV1,type=s"`
	SetIDPatientVisit       SI      `hl7:"1,len=4,display=Set ID - Patient Visit"`
	PatientClass            ID      `hl7:"2,required,len=1,table=0004,display=Patient Class"`
	AssignedPatientLocation *PL     `hl7:"3,len=80,display=Assigned Patient Location"`
	AdmissionType           ID      `hl7:"4,len=2,table=0007,display=Admission Type"`
	PreadmitNumber          *CX     `hl7:"5,len=20,display=Preadmit Number"`
	PriorPatientLocation    *PL     `hl7:"6,len=12,display=Prior Patient Location"`
	AttendingDoctor         []XCN   `hl7:"7,len=60,table=0010,display=Attending Doctor"`
	ReferringDoctor         []XCN   `hl7:"8,len=60,table=0010,display=Referring Doctor"`
	ConsultingDoctor        []XCN   `hl7:"9,len=60,table=0010,display=Consulting Doctor"`
	HospitalService         IS      `hl7:"10,len=3,table=0069,display=Hospital Service"`
	TemporaryLocation       *PL     `hl7:"11,len=80,display=Temporary Location"`
	PreadmitTestIndicator   IS      `hl7:"12,len=2,table=0087,display=Preadmit Test Indicator"`
	ReadmissionIndicator    IS      `hl7:"13,len=2,table=0092,display=Readmission Indicator"`
	AdmitSource             IS      `hl7:"14,len=3,table=0023,display=Admit Source"`
	AmbulatoryStatus        []IS    `hl7:"15,len=2,table=0009,display=Ambulatory Status"`
	VIPIndicator            IS      `hl7:"16,len=2,table=0099,display=VIP Indicator"`
	AdmittingDoctor         []XCN   `hl7:"17,len=60,display=Admitting Doctor"`
	PatientType             IS      `hl7:"18,len=2,table=0018,display=Patient Type"`
	VisitNumber             *CX     `hl7:"19,len=20,display=Visit Number"`
	FinancialClass          []FC    `hl7:"20,len=50,display=Financial Class"`
	ChargePriceIndicator    IS      `hl7:"21,len=2,table=0032,display=Charge Price Indicator"`
	CourtesyCode            IS      `hl7:"22,len=2,table=0045,display=Courtesy Code"`
	CreditRating            IS      `hl7:"23,len=2,table=0046,display=Credit Rating"`
	ContractCode            []IS    `hl7:"24,len=2,table=0044,display=Contract Code"`
	ContractEffectiveDate   []DT    `hl7:"25,len=8,format=YMD,display=Contract Effective Date"`
	ContractAmount          []NM    `hl7:"26,len=12,display=Contract Amount"`
	ContractPeriod          []NM    `hl7:"27,len=3,display=Contract Period"`
	InterestCode            IS      `hl7:"28,len=2,table=0073,display=Interest Code"`
	TransferToBadDebtCode   IS      `hl7:"29,len=1,table=0110,display=Transfer to Bad Debt Code"`
	TransferToBadDebtDate   DT      `hl7:"30,len=8,format=YMD,display=Transfer to Bad Debt Date"`
	BadDebtAgencyCode       IS      `hl7:"31,len=10,table=0021,display=Bad Debt Agency Code"`
	BadDebtTransferAmount   NM      `hl7:"32,len=12,display=Bad Debt Transfer Amount"`
	BadDebtRecoveryAmount   NM      `hl7:"33,len=12,display=Bad Debt Recovery Amount"`
	DeleteAccountIndicator  IS      `hl7:"34,len=1,table=0111,display=Delete Account Indicator"`
	DeleteAccountDate       DT      `hl7:"35,len=8,format=YMD,display=Delete Account Date"`
	DischargeDisposition    IS      `hl7:"36,len=3,table=0112,display=Discharge Disposition"`
	DischargedToLocation    *CM_DLD `hl7:"37,len=25,display=Discharged to Location"`
	DietType                IS      `hl7:"38,len=2,table=0114,display=Diet Type"`
	ServicingFacility       IS      `hl7:"39,len=2,table=0115,display=Servicing Facility"`
	BedStatus               IS      `hl7:"40,len=1,table=0116,display=Bed Status"`
	AccountStatus           IS      `hl7:"41,len=2,table=0117,display=Account Status"`
	PendingLocation         *PL     `hl7:"42,len=80,display=Pending Location"`
	PriorTemporaryLocation  *PL     `hl7:"43,len=80,display=Prior Temporary Location"`
	AdmitDateTime           TS      `hl7:"44,len=26,format=YMDHMS,display=Admit Date/Time"`
	DischargeDateTime       TS      `hl7:"45,len=26,format=YMDHMS,display=Discharge Date/Time"`
	CurrentPatientBalance   NM      `hl7:"46,len=12,display=Current Patient Balance"`
	TotalCharges            NM      `hl7:"47,len=12,display=Total Charges"`
	TotalAdjustments        NM      `hl7:"48,len=12,display=Total Adjustments"`
	TotalPayments           NM      `hl7:"49,len=12,display=Total Payments"`
	AlternateVisitID        *CX     `hl7:"50,len=20,display=Alternate Visit ID"`
	VisitIndicator          IS      `hl7:"51,len=1,table=0326,display=Visit Indicator"`
	OtherHealthcareProvider []XCN   `hl7:"52,len=60,table=0010,display=Other Healthcare Provider"`
}

Patient visit

The PV1 segment is used by Registration/Patient Administration applications to communicate information on a visit-specific basis. This segment can be used to send multiple-visit statistic records to the same patient account or single-visit records to more than one account. Individual sites must determine the use for this segment.

PV1 usage notes The facility (servicing) ID, the optional fourth component of each patient location field, is a string of up to six characters that is uniquely associated with the 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 facility with bed locations, since the same <nurse unit> ^ <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,len=80,display=Prior Pending Location"`
	AccommodationCode                 *CE     `hl7:"2,len=60,table=0129,display=Accommodation Code"`
	AdmitReason                       *CE     `hl7:"3,len=60,display=Admit Reason"`
	TransferReason                    *CE     `hl7:"4,len=60,display=Transfer Reason"`
	PatientValuables                  []ST    `hl7:"5,len=25,display=Patient Valuables"`
	PatientValuablesLocation          ST      `hl7:"6,len=25,display=Patient Valuables Location"`
	VisitUserCode                     IS      `hl7:"7,len=2,table=0130,display=Visit User Code"`
	ExpectedAdmitDate                 TS      `hl7:"8,len=26,format=YMDHMS,display=Expected Admit Date"`
	ExpectedDischargeDate             TS      `hl7:"9,len=26,format=YMDHMS,display=Expected Discharge Date"`
	EstimatedLengthOfInpatientStay    NM      `hl7:"10,len=3,display=Estimated Length of Inpatient Stay"`
	ActualLengthOfInpatientStay       NM      `hl7:"11,len=3,display=Actual Length of Inpatient Stay"`
	VisitDescription                  ST      `hl7:"12,len=50,display=Visit Description"`
	ReferralSourceCode                *XCN    `hl7:"13,len=90,display=Referral Source Code"`
	PreviousServiceDate               DT      `hl7:"14,len=8,format=YMD,display=Previous Service Date"`
	EmploymentIllnessRelatedIndicator ID      `hl7:"15,len=1,table=0136,display=Employment Illness Related Indicator"`
	PurgeStatusCode                   IS      `hl7:"16,len=1,table=0213,display=Purge Status Code"`
	PurgeStatusDate                   DT      `hl7:"17,len=8,format=YMD,display=Purge Status Date"`
	SpecialProgramCode                IS      `hl7:"18,len=2,table=0214,display=Special Program Code"`
	RetentionIndicator                ID      `hl7:"19,len=1,table=0136,display=Retention Indicator"`
	ExpectedNumberOfInsurancePlans    NM      `hl7:"20,len=1,display=Expected Number of Insurance Plans"`
	VisitPublicityCode                IS      `hl7:"21,len=1,table=0215,display=Visit Publicity Code"`
	VisitProtectionIndicator          ID      `hl7:"22,len=1,table=0136,display=Visit Protection Indicator"`
	ClinicOrganizationName            []XON   `hl7:"23,len=90,display=Clinic Organization Name"`
	PatientStatusCode                 IS      `hl7:"24,len=2,table=0216,display=Patient Status Code"`
	VisitPriorityCode                 IS      `hl7:"25,len=1,table=0217,display=Visit Priority Code"`
	PreviousTreatmentDate             DT      `hl7:"26,len=8,format=YMD,display=Previous Treatment Date"`
	ExpectedDischargeDisposition      IS      `hl7:"27,len=2,table=0112,display=Expected Discharge Disposition"`
	SignatureOnFileDate               DT      `hl7:"28,len=8,format=YMD,display=Signature on File Date"`
	FirstSimilarIllnessDate           DT      `hl7:"29,len=8,format=YMD,display=First Similar Illness Date"`
	PatientChargeAdjustmentCode       IS      `hl7:"30,len=3,table=0218,display=Patient Charge Adjustment Code"`
	RecurringServiceCode              IS      `hl7:"31,len=2,table=0219,display=Recurring Service Code"`
	BillingMediaCode                  ID      `hl7:"32,len=1,table=0136,display=Billing Media Code"`
	ExpectedSurgeryDateTime           TS      `hl7:"33,len=26,format=YMDHMS,display=Expected Surgery Date & Time"`
	MilitaryPartnershipCode           ID      `hl7:"34,len=2,table=0136,display=Military Partnership Code"`
	MilitaryNonAvailabiltiyCode       ID      `hl7:"35,len=2,table=0136,display=Military Non-Availabiltiy 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"`
}

Patient visit - additional information

The PV2 segment is a continuation of visit-specific information contained on the PV1 segment

type QAK

type QAK struct {
	HL7                 HL7Name `hl7:",name=QAK,type=s"`
	QueryTag            ST      `hl7:"1,conditional,len=32,display=Query tag"`
	QueryResponseStatus ID      `hl7:"2,len=2,table=0208,display=Query response status"`
}

Query Acknowledgement

The QAK segment contains information sent with responses to a query.

type QCK_Q02

type QCK_Q02 struct {
	HL7 HL7Name `hl7:",name=QCK_Q02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
	QAK *QAK    `hl7:"4,display=Query Acknowledgement"`
}

Deferred query response

For clarity, A is the system initiating the query and B is the system sending the responses. Multiple queries and responses are permitted within single messages. The responses to a given query may be broken into several separate DSR messages. A single DSR message may contain responses to more than one QRY.

type QIP

type QIP struct {
	HL7                HL7Name `hl7:",name=QIP,len=0,type=d"`
	FieldName          ST      `` /* 878-byte string literal not displayed */
	Value1Value2Value3 ST      `` /* 476-byte string literal not displayed */
}

Query Input Parameter List

Definition: This field contains the list of parameter names and values to be passed to the stored procedure

type QRD

type QRD struct {
	HL7                        HL7Name `hl7:",name=QRD,type=s"`
	QueryDateTime              TS      `hl7:"1,required,len=26,format=YMDHMS,display=Query Date/Time"`
	QueryFormatCode            ID      `hl7:"2,required,len=1,table=0106,display=Query Format Code"`
	QueryPriority              ID      `hl7:"3,required,len=1,table=0091,display=Query Priority"`
	QueryID                    ST      `hl7:"4,required,len=10,display=Query ID"`
	DeferredResponseType       ID      `hl7:"5,len=1,table=0107,display=Deferred Response Type"`
	DeferredResponseDateTime   TS      `hl7:"6,len=26,format=YMDHMS,display=Deferred Response Date/Time"`
	QuantityLimitedRequest     CQ      `hl7:"7,required,len=10,display=Quantity Limited Request"`
	WhoSubjectFilter           []XCN   `hl7:"8,required,len=60,display=Who Subject Filter"`
	WhatSubjectFilter          []CE    `hl7:"9,required,len=60,table=0048,display=What Subject Filter"`
	WhatDepartmentDataCode     []CE    `hl7:"10,required,len=60,display=What Department Data Code"`
	WhatDataCodeValueQualifier []CM_VR `hl7:"11,len=20,display=What Data Code Value Qualifier"`
	QueryResultsLevel          ID      `hl7:"12,len=1,table=0108,display=Query Results Level"`
}

Query definition segment

The QRD segment is used to define a query

type QRF

type QRF struct {
	HL7                          HL7Name `hl7:",name=QRF,type=s"`
	WhereSubjectFilter           []ST    `hl7:"1,required,len=20,display=Where Subject Filter"`
	WhenDataStartDateTime        TS      `hl7:"2,len=26,format=YMDHMS,display=When Data Start Date/Time"`
	WhenDataEndDateTime          TS      `hl7:"3,len=26,format=YMDHMS,display=When Data End Date/Time"`
	WhatUserQualifier            []ST    `hl7:"4,len=60,display=What User Qualifier"`
	OtherQRYSubjectFilter        []ST    `hl7:"5,len=60,display=Other QRY Subject Filter"`
	WhichDateTimeQualifier       []ID    `hl7:"6,len=12,table=0156,display=Which Date/Time Qualifier"`
	WhichDateTimeStatusQualifier []ID    `hl7:"7,len=12,table=0157,display=Which Date/Time Status Qualifier"`
	DateTimeSelectionQualifier   []ID    `hl7:"8,len=12,table=0158,display=Date/Time Selection Qualifier"`
	WhenQuantityTimingQualifier  *TQ     `hl7:"9,len=60,display=When Quantity/Timing Qualifier"`
}

Query filter segment

The QRF segment is used with the QRD segment to further refine the content of an original style query

type QRY_A19

type QRY_A19 struct {
	HL7 HL7Name `hl7:",name=QRY_A19,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
}

Patient query

The following trigger event is served by QRY (a query from another system) and ADR (a response from an Patient Administration system.) Another application determines a need for Patient Administration data about a patient and sends a query to the Patient Administration system. The Who Filter in the QRD can identify 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. The ADT event-type segment, if included in the response, describes the last event for which the Patient Administration system initiated an unsolicited update

type QRY_P04

type QRY_P04 struct {
	HL7 HL7Name `hl7:",name=QRY_P04,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Generate bills and accounts receivable statements

The QRF and QRD segments from the QRY are echoed back in the response. The DSC segment contains the continuation pointer, if it is not null (DSC-1-continuation pointer).

type QRY_PC4

type QRY_PC4 struct {
	HL7 HL7Name `hl7:",name=QRY_PC4,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
}

Problem query

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 segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
}

Goal query

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 segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
}

Pathway (problem-oriented) query

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 segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
}

Pathway (goal-oriented) query

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_Q01

type QRY_Q01 struct {
	HL7 HL7Name `hl7:",name=QRY_Q01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Query sent for immediate response

The QRF and QRD segments from the QRY are echoed back in the response. The DSC segment contains the continuation pointer, if it is not null (DSC-1-continuation pointer).

type QRY_Q02

type QRY_Q02 struct {
	HL7 HL7Name `hl7:",name=QRY_Q02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Deferred query

For clarity, A is the system initiating the query and B is the system sending the responses. Multiple queries and responses are permitted within single messages. The responses to a given query may be broken into several separate DSR messages. A single DSR message may contain responses to more than one QRY

type QRY_Q26

type QRY_Q26 struct {
	HL7 HL7Name `hl7:",name=QRY_Q26,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Pharmacy/treatment order query

Query (QRY_Q26) / Response (ROR_ROR)

type QRY_Q27

type QRY_Q27 struct {
	HL7 HL7Name `hl7:",name=QRY_Q27,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Pharmacy/treatment administration information query

Query (QRY_Q27) / Response (RAR_RAR)

type QRY_Q28

type QRY_Q28 struct {
	HL7 HL7Name `hl7:",name=QRY_Q28,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Pharmacy/treatment dispense information query

Query (QRY_Q28) / Response (RDR_RDR)

type QRY_Q29

type QRY_Q29 struct {
	HL7 HL7Name `hl7:",name=QRY_Q29,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Pharmacy/treatment encoded order information query

Query (QRY_Q29) / Response (RER_RER)

type QRY_Q30

type QRY_Q30 struct {
	HL7 HL7Name `hl7:",name=QRY_Q30,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Pharmacy/treatment dose information query

Query (QRY_Q30) / Response (RGR_RGR)

type QRY_R02

type QRY_R02 struct {
	HL7 HL7Name `hl7:",name=QRY_R02,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,required,display=Query filter segment"`
}

Deferred query

For clarity, A is the system initiating the query and B is the system sending the responses. Multiple queries and responses are permitted within single messages. The responses to a given query may be broken into several separate DSR messages. A single DSR message may contain responses to more than one QRY.

type QRY_T12

type QRY_T12 struct {
	HL7 HL7Name `hl7:",name=QRY_T12,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
}

Document query

A query may be used to retrieve a list of documents or a specific document

type QSC

type QSC struct {
	HL7                   HL7Name `hl7:",name=QSC,len=0,type=d"`
	NameOfField           ST      `` /* 194-byte string literal not displayed */
	RelationalOperator    ID      `hl7:"2,table=0209,display=Relational Operator"`
	Value                 ST      `hl7:"3,display=The value to which the field will be compared"`
	RelationalConjunction ID      `` /* 1052-byte string literal not displayed */
}

Query Selection Criteria

This field indicates the conditions that qualify the rows to be returned in the query response. (This field conveys the same information as the “WHERE” clause in the corresponding SQL expression of the query, but is formatted differently.)

type RAR_RAR

type RAR_RAR struct {
	HL7        HL7Name              `hl7:",name=RAR_RAR,type=t"`
	MSH        *MSH                 `hl7:"1,required,display=Message header segment"`
	MSA        *MSA                 `hl7:"2,required,display=Message acknowledgement segment"`
	ERR        *ERR                 `hl7:"3,display=Error segment"`
	Definition []RAR_RAR_Definition `hl7:",required,display=Definition"`
	DSC        *DSC                 `hl7:"14,display=Continuation pointer segment"`
}

Pharmacy/treatment administration information response

Query (QRY_Q27) / Response (RAR_RAR)

type RAR_RAR_Definition

type RAR_RAR_Definition struct {
	HL7     HL7Name          `hl7:",name=RAR_RAR_Definition,type=tg"`
	QRD     *QRD             `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF             `hl7:"5,display=Query filter segment"`
	Patient *RAR_RAR_Patient `hl7:",display=Patient"`
	Order   []RAR_RAR_Order  `hl7:",required,display=Order"`
}

Definition

type RAR_RAR_Encoding

type RAR_RAR_Encoding struct {
	HL7 HL7Name `hl7:",name=RAR_RAR_Encoding,type=tg"`
	RXE *RXE    `hl7:"9,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"10,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"11,display=Pharmacy component order segment"`
}

Encoding

type RAR_RAR_Order

type RAR_RAR_Order struct {
	HL7      HL7Name           `hl7:",name=RAR_RAR_Order,type=tg"`
	ORC      *ORC              `hl7:"8,required,display=Common order segment"`
	Encoding *RAR_RAR_Encoding `hl7:",display=Encoding"`
	RXA      []RXA             `hl7:"12,required,display=Pharmacy administration segment"`
	RXR      *RXR              `hl7:"13,required,display=Pharmacy route segment"`
}

Order

type RAR_RAR_Patient

type RAR_RAR_Patient struct {
	HL7 HL7Name `hl7:",name=RAR_RAR_Patient,type=tg"`
	PID *PID    `hl7:"6,required,display=Patient Identification"`
	NTE []NTE   `hl7:"7,display=Notes and comments segment"`
}

Patient

type RAS_O02

type RAS_O02 struct {
	HL7     HL7Name          `hl7:",name=RAS_O02,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message header segment"`
	NTE     []NTE            `hl7:"2,display=Notes and comments segment"`
	Patient *RAS_O02_Patient `hl7:",display=Patient"`
	Order   []RAS_O02_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment administration message

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 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.

type RAS_O02_Components

type RAS_O02_Components struct {
	HL7 HL7Name `hl7:",name=RAS_O02_Components,type=tg"`
	RXC []RXC   `hl7:"13,required,display=Pharmacy component order segment"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

Components

type RAS_O02_Encoding

type RAS_O02_Encoding struct {
	HL7 HL7Name `hl7:",name=RAS_O02_Encoding,type=tg"`
	RXE *RXE    `hl7:"15,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"16,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"17,display=Pharmacy component order segment"`
}

Encoding

type RAS_O02_Observation

type RAS_O02_Observation struct {
	HL7 HL7Name `hl7:",name=RAS_O02_Observation,type=tg"`
	OBX *OBX    `hl7:"20,required,display=Observation segment"`
	NTE []NTE   `hl7:"21,display=Notes and comments segment"`
}

Observation

type RAS_O02_Order

type RAS_O02_Order struct {
	HL7         HL7Name               `hl7:",name=RAS_O02_Order,type=tg"`
	ORC         *ORC                  `hl7:"9,required,display=Common order segment"`
	OrderDetail *RAS_O02_OrderDetail  `hl7:",display=Order Detail"`
	Encoding    *RAS_O02_Encoding     `hl7:",display=Encoding"`
	RXA         []RXA                 `hl7:"18,required,display=Pharmacy administration segment"`
	RXR         *RXR                  `hl7:"19,required,display=Pharmacy route segment"`
	Observation []RAS_O02_Observation `hl7:",display=Observation"`
	CTI         []CTI                 `hl7:"22,display=Clinical Trial Identification"`
}

Order

type RAS_O02_OrderDetail

type RAS_O02_OrderDetail struct {
	HL7                   HL7Name                        `hl7:",name=RAS_O02_OrderDetail,type=tg"`
	RXO                   *RXO                           `hl7:"10,required,display=Pharmacy prescription order segment"`
	OrderDetailSupplement *RAS_O02_OrderDetailSupplement `hl7:",display=Order Detail Supplement"`
}

OrderDetail

type RAS_O02_OrderDetailSupplement

type RAS_O02_OrderDetailSupplement struct {
	HL7        HL7Name             `hl7:",name=RAS_O02_OrderDetailSupplement,type=tg"`
	NTE        []NTE               `hl7:"11,required,display=Notes and comments segment"`
	RXR        []RXR               `hl7:"12,required,display=Pharmacy route segment"`
	Components *RAS_O02_Components `hl7:",display=Components"`
}

OrderDetailSupplement

type RAS_O02_Patient

type RAS_O02_Patient struct {
	HL7          HL7Name               `hl7:",name=RAS_O02_Patient,type=tg"`
	PID          *PID                  `hl7:"3,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"4,display=Patient Demographic"`
	NTE          []NTE                 `hl7:"5,display=Notes and comments segment"`
	AL1          []AL1                 `hl7:"6,display=Patient Allergy Information"`
	PatientVisit *RAS_O02_PatientVisit `hl7:",display=Patient Visit"`
}

Patient

type RAS_O02_PatientVisit

type RAS_O02_PatientVisit struct {
	HL7 HL7Name `hl7:",name=RAS_O02_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"7,required,display=Patient visit"`
	PV2 *PV2    `hl7:"8,display=Patient visit - additional information"`
}

PatientVisit

type RCD

type RCD struct {
	HL7                HL7Name `hl7:",name=RCD,len=0,type=d"`
	HL7ItemNumber      ST      `` /* 186-byte string literal not displayed */
	HL7DateType        ST      `hl7:"2,display=The two or three character HL7 data type- as defined in Section 2.8- “Data types'"`
	MaximumColumnWidth NM      `` /* 146-byte string literal not displayed */
}

Row Column Definition

Each repetition of this field consists of three components

type RCI_I05

type RCI_I05 struct {
	HL7         HL7Name               `hl7:",name=RCI_I05,type=t"`
	MSH         *MSH                  `hl7:"1,required,display=Message header segment"`
	MSA         *MSA                  `hl7:"2,required,display=Message acknowledgement segment"`
	QRD         *QRD                  `hl7:"3,required,display=Query definition segment"`
	QRF         *QRF                  `hl7:"4,display=Query filter segment"`
	Provider    []RCI_I05_Provider    `hl7:",required,display=Provider"`
	PID         *PID                  `hl7:"7,required,display=Patient Identification"`
	DG1         []DG1                 `hl7:"8,display=Diagnosis"`
	DRG         []DRG                 `hl7:"9,display=Diagnosis Related Group"`
	AL1         []AL1                 `hl7:"10,display=Patient Allergy Information"`
	Observation []RCI_I05_Observation `hl7:",display=Observation"`
	NTE         []NTE                 `hl7:"15,display=Notes and comments segment"`
}

Return clinical information

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 RCI_I05_Observation

type RCI_I05_Observation struct {
	HL7     HL7Name           `hl7:",name=RCI_I05_Observation,type=tg"`
	OBR     *OBR              `hl7:"11,required,display=Observation request segment"`
	NTE     []NTE             `hl7:"12,display=Notes and comments segment"`
	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:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,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:"13,required,display=Observation segment"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

Results

type RCL_I06

type RCL_I06 struct {
	HL7      HL7Name            `hl7:",name=RCL_I06,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message header segment"`
	MSA      *MSA               `hl7:"2,required,display=Message acknowledgement segment"`
	QRD      *QRD               `hl7:"3,required,display=Query definition segment"`
	QRF      *QRF               `hl7:"4,display=Query filter segment"`
	Provider []RCL_I06_Provider `hl7:",required,display=Provider"`
	PID      *PID               `hl7:"7,required,display=Patient Identification"`
	DG1      []DG1              `hl7:"8,display=Diagnosis"`
	DRG      []DRG              `hl7:"9,display=Diagnosis Related Group"`
	AL1      []AL1              `hl7:"10,display=Patient Allergy Information"`
	NTE      []NTE              `hl7:"11,display=Notes and comments segment"`
	DSP      []DSP              `hl7:"12,display=Display data segment"`
	DSC      *DSC               `hl7:"13,display=Continuation pointer segment"`
}

Response of clinical data listing

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 RCL_I06_Provider

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

Provider

type RDE_O01

type RDE_O01 struct {
	HL7     HL7Name          `hl7:",name=RDE_O01,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message header segment"`
	NTE     []NTE            `hl7:"2,display=Notes and comments segment"`
	Patient *RDE_O01_Patient `hl7:",display=Patient"`
	Order   []RDE_O01_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment encoded order message

This message communicates the pharmacy or treatment application’s encoding of the pharmacy/treatment order (ORM message with RXO segment, see above). It may be sent as an unsolicited message to report on either a single order or multiple pharmacy/treatment orders for a patient.

As a site-specific variant, the original order segments (RXO, RXRs, associated RXCs, and any NTEs) may be sent optionally (for comparison).

type RDE_O01_Component

type RDE_O01_Component struct {
	HL7 HL7Name `hl7:",name=RDE_O01_Component,type=tg"`
	RXC []RXC   `hl7:"17,required,display=Pharmacy component order segment"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

Component

type RDE_O01_Insurance

type RDE_O01_Insurance struct {
	HL7 HL7Name `hl7:",name=RDE_O01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"8,required,display=Insurance"`
	IN2 *IN2    `hl7:"9,display=Insurance additional info"`
	IN3 *IN3    `hl7:"10,display=Insurance additional info - certification"`
}

Insurance

type RDE_O01_Observation

type RDE_O01_Observation struct {
	HL7 HL7Name `hl7:",name=RDE_O01_Observation,type=tg"`
	OBX *OBX    `hl7:"22,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

Observation

type RDE_O01_Order

type RDE_O01_Order struct {
	HL7         HL7Name               `hl7:",name=RDE_O01_Order,type=tg"`
	ORC         *ORC                  `hl7:"13,required,display=Common order segment"`
	OrderDetail *RDE_O01_OrderDetail  `hl7:",display=Order Detail"`
	RXE         *RXE                  `hl7:"19,required,display=Pharmacy encoded order segment"`
	RXR         []RXR                 `hl7:"20,required,display=Pharmacy route segment"`
	RXC         []RXC                 `hl7:"21,display=Pharmacy component order segment"`
	Observation []RDE_O01_Observation `hl7:",required,display=Observation"`
	CTI         []CTI                 `hl7:"24,display=Clinical Trial Identification"`
}

Order

type RDE_O01_OrderDetail

type RDE_O01_OrderDetail struct {
	HL7       HL7Name            `hl7:",name=RDE_O01_OrderDetail,type=tg"`
	RXO       *RXO               `hl7:"14,required,display=Pharmacy prescription order segment"`
	NTE       []NTE              `hl7:"15,display=Notes and comments segment"`
	RXR       []RXR              `hl7:"16,required,display=Pharmacy route segment"`
	Component *RDE_O01_Component `hl7:",display=Component"`
}

OrderDetail

type RDE_O01_Patient

type RDE_O01_Patient struct {
	HL7          HL7Name               `hl7:",name=RDE_O01_Patient,type=tg"`
	PID          *PID                  `hl7:"3,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"4,display=Patient Demographic"`
	NTE          []NTE                 `hl7:"5,display=Notes and comments segment"`
	PatientVisit *RDE_O01_PatientVisit `hl7:",display=Patient Visit"`
	Insurance    []RDE_O01_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"11,display=Guarantor"`
	AL1          []AL1                 `hl7:"12,display=Patient Allergy Information"`
}

Patient

type RDE_O01_PatientVisit

type RDE_O01_PatientVisit struct {
	HL7 HL7Name `hl7:",name=RDE_O01_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,display=Patient visit - additional information"`
}

PatientVisit

type RDF

type RDF struct {
	HL7                   HL7Name `hl7:",name=RDF,type=s"`
	NumberOfColumnsPerRow NM      `hl7:"1,required,len=3,display=Number of Columns per Row"`
	ColumnDescription     []RCD   `hl7:"2,required,len=40,display=Column Description"`
}

Table Row Definition

The RDF segment defines the content of the row data segments (RDT) in the Tabular Data Response Message (TBR). It is used in two ways:

- As an optional segment in the SPQ message (Stored Procedure Request) or the VQQ (Virtual Table Query) message, 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 on the tabular data response message (TBR), this segment defines the contents of the table row data (RDT) segments that follow.

type RDO_O01

type RDO_O01 struct {
	HL7     HL7Name          `hl7:",name=RDO_O01,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message header segment"`
	NTE     []NTE            `hl7:"2,display=Notes and comments segment"`
	Patient *RDO_O01_Patient `hl7:",display=Patient"`
	Order   []RDO_O01_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment order message

type RDO_O01_Component

type RDO_O01_Component struct {
	HL7 HL7Name `hl7:",name=RDO_O01_Component,type=tg"`
	RXC []RXC   `hl7:"17,required,display=Pharmacy component order segment"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

Component

type RDO_O01_Insurance

type RDO_O01_Insurance struct {
	HL7 HL7Name `hl7:",name=RDO_O01_Insurance,type=tg"`
	IN1 *IN1    `hl7:"8,required,display=Insurance"`
	IN2 *IN2    `hl7:"9,display=Insurance additional info"`
	IN3 *IN3    `hl7:"10,display=Insurance additional info - certification"`
}

Insurance

type RDO_O01_Observation

type RDO_O01_Observation struct {
	HL7 HL7Name `hl7:",name=RDO_O01_Observation,type=tg"`
	OBX *OBX    `hl7:"19,required,display=Observation segment"`
	NTE []NTE   `hl7:"20,display=Notes and comments segment"`
}

Observation

type RDO_O01_Order

type RDO_O01_Order struct {
	HL7         HL7Name              `hl7:",name=RDO_O01_Order,type=tg"`
	ORC         *ORC                 `hl7:"13,required,display=Common order segment"`
	OrderDetail *RDO_O01_OrderDetail `hl7:",display=Order Detail"`
	BLG         *BLG                 `hl7:"21,display=Billing"`
}

Order

type RDO_O01_OrderDetail

type RDO_O01_OrderDetail struct {
	HL7         HL7Name               `hl7:",name=RDO_O01_OrderDetail,type=tg"`
	RXO         *RXO                  `hl7:"14,required,display=Pharmacy prescription order segment"`
	NTE         []NTE                 `hl7:"15,display=Notes and comments segment"`
	RXR         []RXR                 `hl7:"16,required,display=Pharmacy route segment"`
	Component   *RDO_O01_Component    `hl7:",display=Component"`
	Observation []RDO_O01_Observation `hl7:",display=Observation"`
}

OrderDetail

type RDO_O01_Patient

type RDO_O01_Patient struct {
	HL7          HL7Name               `hl7:",name=RDO_O01_Patient,type=tg"`
	PID          *PID                  `hl7:"3,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"4,display=Patient Demographic"`
	NTE          []NTE                 `hl7:"5,display=Notes and comments segment"`
	PatientVisit *RDO_O01_PatientVisit `hl7:",display=Patient Visit"`
	Insurance    []RDO_O01_Insurance   `hl7:",display=Insurance"`
	GT1          *GT1                  `hl7:"11,display=Guarantor"`
	AL1          []AL1                 `hl7:"12,display=Patient Allergy Information"`
}

Patient

type RDO_O01_PatientVisit

type RDO_O01_PatientVisit struct {
	HL7 HL7Name `hl7:",name=RDO_O01_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,display=Patient visit - additional information"`
}

PatientVisit

type RDR_RDR

type RDR_RDR struct {
	HL7        HL7Name              `hl7:",name=RDR_RDR,type=t"`
	MSH        *MSH                 `hl7:"1,required,display=Message header segment"`
	MSA        *MSA                 `hl7:"2,required,display=Message acknowledgement segment"`
	ERR        *ERR                 `hl7:"3,display=Error segment"`
	Definition []RDR_RDR_Definition `hl7:",required,display=Definition"`
	DSC        *DSC                 `hl7:"15,display=Continuation pointer segment"`
}

Pharmacy/treatment dispense information response

Query (QRY_Q28) / Response (RDR_RDR)

type RDR_RDR_Definition

type RDR_RDR_Definition struct {
	HL7     HL7Name          `hl7:",name=RDR_RDR_Definition,type=tg"`
	QRD     *QRD             `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF             `hl7:"5,display=Query filter segment"`
	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:"12,required,display=Pharmacy dispense segment"`
	RXR []RXR   `hl7:"13,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"14,display=Pharmacy component order segment"`
}

Dispense

type RDR_RDR_Encoding

type RDR_RDR_Encoding struct {
	HL7 HL7Name `hl7:",name=RDR_RDR_Encoding,type=tg"`
	RXE *RXE    `hl7:"9,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"10,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"11,display=Pharmacy component order segment"`
}

Encoding

type RDR_RDR_Order

type RDR_RDR_Order struct {
	HL7      HL7Name            `hl7:",name=RDR_RDR_Order,type=tg"`
	ORC      *ORC               `hl7:"8,required,display=Common order segment"`
	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:"6,required,display=Patient Identification"`
	NTE []NTE   `hl7:"7,display=Notes and comments segment"`
}

Patient

type RDS_O01

type RDS_O01 struct {
	HL7     HL7Name          `hl7:",name=RDS_O01,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message header segment"`
	NTE     []NTE            `hl7:"2,display=Notes and comments segment"`
	Patient *RDS_O01_Patient `hl7:",display=Patient"`
	Order   []RDS_O01_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment dispense information

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).

type RDS_O01_Component

type RDS_O01_Component struct {
	HL7 HL7Name `hl7:",name=RDS_O01_Component,type=tg"`
	RXC []RXC   `hl7:"13,required,display=Pharmacy component order segment"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

Component

type RDS_O01_Encoding

type RDS_O01_Encoding struct {
	HL7 HL7Name `hl7:",name=RDS_O01_Encoding,type=tg"`
	RXE *RXE    `hl7:"15,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"16,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"17,display=Pharmacy component order segment"`
}

Encoding

type RDS_O01_Observation

type RDS_O01_Observation struct {
	HL7 HL7Name `hl7:",name=RDS_O01_Observation,type=tg"`
	OBX *OBX    `hl7:"21,required,display=Observation segment"`
	NTE []NTE   `hl7:"22,display=Notes and comments segment"`
}

Observation

type RDS_O01_Order

type RDS_O01_Order struct {
	HL7         HL7Name               `hl7:",name=RDS_O01_Order,type=tg"`
	ORC         *ORC                  `hl7:"9,required,display=Common order segment"`
	OrderDetail *RDS_O01_OrderDetail  `hl7:",display=Order Detail"`
	Encoding    *RDS_O01_Encoding     `hl7:",display=Encoding"`
	RXD         *RXD                  `hl7:"18,required,display=Pharmacy dispense segment"`
	RXR         []RXR                 `hl7:"19,required,display=Pharmacy route segment"`
	RXC         []RXC                 `hl7:"20,display=Pharmacy component order segment"`
	Observation []RDS_O01_Observation `hl7:",required,display=Observation"`
}

Order

type RDS_O01_OrderDetail

type RDS_O01_OrderDetail struct {
	HL7                   HL7Name                        `hl7:",name=RDS_O01_OrderDetail,type=tg"`
	RXO                   *RXO                           `hl7:"10,required,display=Pharmacy prescription order segment"`
	OrderDetailSupplement *RDS_O01_OrderDetailSupplement `hl7:",display=Order Detail Supplement"`
}

OrderDetail

type RDS_O01_OrderDetailSupplement

type RDS_O01_OrderDetailSupplement struct {
	HL7       HL7Name            `hl7:",name=RDS_O01_OrderDetailSupplement,type=tg"`
	NTE       []NTE              `hl7:"11,required,display=Notes and comments segment"`
	RXR       []RXR              `hl7:"12,required,display=Pharmacy route segment"`
	Component *RDS_O01_Component `hl7:",display=Component"`
}

OrderDetailSupplement

type RDS_O01_Patient

type RDS_O01_Patient struct {
	HL7          HL7Name               `hl7:",name=RDS_O01_Patient,type=tg"`
	PID          *PID                  `hl7:"3,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"4,display=Patient Demographic"`
	NTE          []NTE                 `hl7:"5,display=Notes and comments segment"`
	AL1          []AL1                 `hl7:"6,display=Patient Allergy Information"`
	PatientVisit *RDS_O01_PatientVisit `hl7:",display=Patient Visit"`
}

Patient

type RDS_O01_PatientVisit

type RDS_O01_PatientVisit struct {
	HL7 HL7Name `hl7:",name=RDS_O01_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"7,required,display=Patient visit"`
	PV2 *PV2    `hl7:"8,display=Patient visit - additional information"`
}

PatientVisit

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 REF_I12

type REF_I12 struct {
	HL7                  HL7Name                       `hl7:",name=REF_I12,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message header segment"`
	RF1                  *RF1                          `hl7:"2,display=Referral Information Segment"`
	AuthorizationContact *REF_I12_AuthorizationContact `hl7:",display=Authorization Contact"`
	ProviderContact      []REF_I12_ProviderContact     `hl7:",required,display=Provider Contact"`
	PID                  *PID                          `hl7:"7,required,display=Patient Identification"`
	NK1                  []NK1                         `hl7:"8,display=Next of kin"`
	GT1                  []GT1                         `hl7:"9,display=Guarantor"`
	Insurance            []REF_I12_Insurance           `hl7:",display=Insurance"`
	ACC                  *ACC                          `hl7:"13,display=Accident"`
	DG1                  []DG1                         `hl7:"14,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"15,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"16,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:"26,display=Notes and comments segment"`
}

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:"3,required,display=Authorization Information"`
	CTD *CTD    `hl7:"4,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:"18,required,display=Authorization Information"`
	CTD *CTD    `hl7:"19,display=Contact Data"`
}

AuthorizationContact

type REF_I12_Insurance

type REF_I12_Insurance struct {
	HL7 HL7Name `hl7:",name=REF_I12_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance additional info"`
	IN3 *IN3    `hl7:"12,display=Insurance additional info - certification"`
}

Insurance

type REF_I12_Observation

type REF_I12_Observation struct {
	HL7          HL7Name                `hl7:",name=REF_I12_Observation,type=tg"`
	OBR          *OBR                   `hl7:"20,required,display=Observation request segment"`
	NTE          []NTE                  `hl7:"21,display=Notes and comments segment"`
	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:"24,required,display=Patient visit"`
	PV2 *PV2    `hl7:"25,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:"17,required,display=Procedures"`
	AuthorizationContact *REF_I12_AuthorizationContact2 `hl7:",display=Authorization Contact"`
}

Procedure

type REF_I12_ProviderContact

type REF_I12_ProviderContact struct {
	HL7 HL7Name `hl7:",name=REF_I12_ProviderContact,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

ResultsNotes

type REF_I13

type REF_I13 struct {
	HL7                  HL7Name                       `hl7:",name=REF_I13,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message header segment"`
	RF1                  *RF1                          `hl7:"2,display=Referral Information Segment"`
	AuthorizationContact *REF_I13_AuthorizationContact `hl7:",display=Authorization Contact"`
	Provider             []REF_I13_Provider            `hl7:",required,display=Provider"`
	PID                  *PID                          `hl7:"7,required,display=Patient Identification"`
	NK1                  []NK1                         `hl7:"8,display=Next of kin"`
	GT1                  []GT1                         `hl7:"9,display=Guarantor"`
	Insurance            []REF_I13_Insurance           `hl7:",display=Insurance"`
	ACC                  *ACC                          `hl7:"13,display=Accident"`
	DG1                  []DG1                         `hl7:"14,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"15,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"16,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:"26,display=Notes and comments segment"`
}

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:"3,required,display=Authorization Information"`
	CTD *CTD    `hl7:"4,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:"18,required,display=Authorization Information"`
	CTD *CTD    `hl7:"19,display=Contact Data"`
}

AuthorizationContact

type REF_I13_Insurance

type REF_I13_Insurance struct {
	HL7 HL7Name `hl7:",name=REF_I13_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance additional info"`
	IN3 *IN3    `hl7:"12,display=Insurance additional info - certification"`
}

Insurance

type REF_I13_Observation

type REF_I13_Observation struct {
	HL7          HL7Name                `hl7:",name=REF_I13_Observation,type=tg"`
	OBR          *OBR                   `hl7:"20,required,display=Observation request segment"`
	NTE          []NTE                  `hl7:"21,display=Notes and comments segment"`
	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:"24,required,display=Patient visit"`
	PV2 *PV2    `hl7:"25,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:"17,required,display=Procedures"`
	AuthorizationContact *REF_I13_AuthorizationContact2 `hl7:",display=Authorization Contact"`
}

Procedure

type REF_I13_Provider

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

Provider

type REF_I13_ResultsNotes

type REF_I13_ResultsNotes struct {
	HL7 HL7Name `hl7:",name=REF_I13_ResultsNotes,type=tg"`
	OBX *OBX    `hl7:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

ResultsNotes

type REF_I14

type REF_I14 struct {
	HL7                  HL7Name                       `hl7:",name=REF_I14,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message header segment"`
	RF1                  *RF1                          `hl7:"2,display=Referral Information Segment"`
	AuthorizationContact *REF_I14_AuthorizationContact `hl7:",display=Authorization Contact"`
	Provider             []REF_I14_Provider            `hl7:",required,display=Provider"`
	PID                  *PID                          `hl7:"7,required,display=Patient Identification"`
	NK1                  []NK1                         `hl7:"8,display=Next of kin"`
	GT1                  []GT1                         `hl7:"9,display=Guarantor"`
	Insurance            []REF_I14_Insurance           `hl7:",display=Insurance"`
	ACC                  *ACC                          `hl7:"13,display=Accident"`
	DG1                  []DG1                         `hl7:"14,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"15,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"16,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:"26,display=Notes and comments segment"`
}

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:"3,required,display=Authorization Information"`
	CTD *CTD    `hl7:"4,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:"18,required,display=Authorization Information"`
	CTD *CTD    `hl7:"19,display=Contact Data"`
}

AuthorizationContact

type REF_I14_Insurance

type REF_I14_Insurance struct {
	HL7 HL7Name `hl7:",name=REF_I14_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance additional info"`
	IN3 *IN3    `hl7:"12,display=Insurance additional info - certification"`
}

Insurance

type REF_I14_Observation

type REF_I14_Observation struct {
	HL7          HL7Name                `hl7:",name=REF_I14_Observation,type=tg"`
	OBR          *OBR                   `hl7:"20,required,display=Observation request segment"`
	NTE          []NTE                  `hl7:"21,display=Notes and comments segment"`
	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:"24,required,display=Patient visit"`
	PV2 *PV2    `hl7:"25,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:"17,required,display=Procedures"`
	AuthorizationContact *REF_I14_AuthorizationContact2 `hl7:",display=Authorization Contact"`
}

Procedure

type REF_I14_Provider

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

Provider

type REF_I14_ResultsNotes

type REF_I14_ResultsNotes struct {
	HL7 HL7Name `hl7:",name=REF_I14_ResultsNotes,type=tg"`
	OBX *OBX    `hl7:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

ResultsNotes

type REF_I15

type REF_I15 struct {
	HL7                  HL7Name                       `hl7:",name=REF_I15,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message header segment"`
	RF1                  *RF1                          `hl7:"2,display=Referral Information Segment"`
	AuthorizationContact *REF_I15_AuthorizationContact `hl7:",display=Authorization Contact"`
	Provider             []REF_I15_Provider            `hl7:",required,display=Provider"`
	PID                  *PID                          `hl7:"7,required,display=Patient Identification"`
	NK1                  []NK1                         `hl7:"8,display=Next of kin"`
	GT1                  []GT1                         `hl7:"9,display=Guarantor"`
	Insurance            []REF_I15_Insurance           `hl7:",display=Insurance"`
	ACC                  *ACC                          `hl7:"13,display=Accident"`
	DG1                  []DG1                         `hl7:"14,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"15,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"16,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:"26,display=Notes and comments segment"`
}

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:"3,required,display=Authorization Information"`
	CTD *CTD    `hl7:"4,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:"18,required,display=Authorization Information"`
	CTD *CTD    `hl7:"19,display=Contact Data"`
}

AuthorizationContact

type REF_I15_Insurance

type REF_I15_Insurance struct {
	HL7 HL7Name `hl7:",name=REF_I15_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance additional info"`
	IN3 *IN3    `hl7:"12,display=Insurance additional info - certification"`
}

Insurance

type REF_I15_Observation

type REF_I15_Observation struct {
	HL7          HL7Name                `hl7:",name=REF_I15_Observation,type=tg"`
	OBR          *OBR                   `hl7:"20,required,display=Observation request segment"`
	NTE          []NTE                  `hl7:"21,display=Notes and comments segment"`
	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:"24,required,display=Patient visit"`
	PV2 *PV2    `hl7:"25,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:"17,required,display=Procedures"`
	AuthorizationContact *REF_I15_AuthorizationContact2 `hl7:",display=Authorization Contact"`
}

Procedure

type REF_I15_Provider

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

Provider

type REF_I15_ResultsNotes

type REF_I15_ResultsNotes struct {
	HL7 HL7Name `hl7:",name=REF_I15_ResultsNotes,type=tg"`
	OBX *OBX    `hl7:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

ResultsNotes

type RER_RER

type RER_RER struct {
	HL7        HL7Name              `hl7:",name=RER_RER,type=t"`
	MSH        *MSH                 `hl7:"1,required,display=Message header segment"`
	MSA        *MSA                 `hl7:"2,required,display=Message acknowledgement segment"`
	ERR        *ERR                 `hl7:"3,display=Error segment"`
	Definition []RER_RER_Definition `hl7:",required,display=Definition"`
	DSC        *DSC                 `hl7:"12,display=Continuation pointer segment"`
}

Pharmacy/treatment encoded order information response

Query (QRY_Q29) / Response (RER_RER)

type RER_RER_Definition

type RER_RER_Definition struct {
	HL7     HL7Name          `hl7:",name=RER_RER_Definition,type=tg"`
	QRD     *QRD             `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF             `hl7:"5,display=Query filter segment"`
	Patient *RER_RER_Patient `hl7:",display=Patient"`
	Order   []RER_RER_Order  `hl7:",required,display=Order"`
}

Definition

type RER_RER_Order

type RER_RER_Order struct {
	HL7 HL7Name `hl7:",name=RER_RER_Order,type=tg"`
	ORC *ORC    `hl7:"8,required,display=Common order segment"`
	RXE *RXE    `hl7:"9,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"10,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"11,display=Pharmacy component order segment"`
}

Order

type RER_RER_Patient

type RER_RER_Patient struct {
	HL7 HL7Name `hl7:",name=RER_RER_Patient,type=tg"`
	PID *PID    `hl7:"6,required,display=Patient Identification"`
	NTE []NTE   `hl7:"7,display=Notes and comments segment"`
}

Patient

type RF1

type RF1 struct {
	HL7                           HL7Name `hl7:",name=RF1,type=s"`
	ReferralStatus                *CE     `hl7:"1,len=200,table=0283,display=Referral Status"`
	ReferralPriority              *CE     `hl7:"2,len=200,table=0280,display=Referral Priority"`
	ReferralType                  *CE     `hl7:"3,len=200,table=0281,display=Referral Type"`
	ReferralDisposition           []CE    `hl7:"4,len=200,table=0282,display=Referral Disposition"`
	ReferralCategory              *CE     `hl7:"5,len=200,table=0284,display=Referral Category"`
	OriginatingReferralIdentifier EI      `hl7:"6,required,len=30,display=Originating Referral Identifier"`
	EffectiveDate                 TS      `hl7:"7,len=26,format=YMDHMS,display=Effective Date"`
	ExpirationDate                TS      `hl7:"8,len=26,format=YMDHMS,display=Expiration Date"`
	ProcessDate                   TS      `hl7:"9,len=26,format=YMDHMS,display=Process Date"`
	ReferralReason                []CE    `hl7:"10,len=200,table=0336,display=Referral Reason"`
	ExternalReferralIdentifier    []EI    `hl7:"11,len=30,display=External Referral Identifier"`
}

Referral Information Segment

This segment represents information that may be useful when sending referrals from the referring provider to the referred-to provider.

type RGR_RGR

type RGR_RGR struct {
	HL7        HL7Name              `hl7:",name=RGR_RGR,type=t"`
	MSH        *MSH                 `hl7:"1,required,display=Message header segment"`
	MSA        *MSA                 `hl7:"2,required,display=Message acknowledgement segment"`
	ERR        *ERR                 `hl7:"3,display=Error segment"`
	Definition []RGR_RGR_Definition `hl7:",required,display=Definition"`
	DSC        *DSC                 `hl7:"15,display=Continuation pointer segment"`
}

Pharmacy/treatment dose information response

Query (QRY_Q30) / Response (RGR_RGR)

type RGR_RGR_Definition

type RGR_RGR_Definition struct {
	HL7     HL7Name          `hl7:",name=RGR_RGR_Definition,type=tg"`
	QRD     *QRD             `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF             `hl7:"5,display=Query filter segment"`
	Patient *RGR_RGR_Patient `hl7:",display=Patient"`
	Order   []RGR_RGR_Order  `hl7:",required,display=Order"`
}

Definition

type RGR_RGR_Encoding

type RGR_RGR_Encoding struct {
	HL7 HL7Name `hl7:",name=RGR_RGR_Encoding,type=tg"`
	RXE *RXE    `hl7:"9,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"10,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"11,display=Pharmacy component order segment"`
}

Encoding

type RGR_RGR_Order

type RGR_RGR_Order struct {
	HL7      HL7Name           `hl7:",name=RGR_RGR_Order,type=tg"`
	ORC      *ORC              `hl7:"8,required,display=Common order segment"`
	Encoding *RGR_RGR_Encoding `hl7:",display=Encoding"`
	RXG      []RXG             `hl7:"12,required,display=Pharmacy give segment"`
	RXR      []RXR             `hl7:"13,required,display=Pharmacy route segment"`
	RXC      []RXC             `hl7:"14,display=Pharmacy component order segment"`
}

Order

type RGR_RGR_Patient

type RGR_RGR_Patient struct {
	HL7 HL7Name `hl7:",name=RGR_RGR_Patient,type=tg"`
	PID *PID    `hl7:"6,required,display=Patient Identification"`
	NTE []NTE   `hl7:"7,display=Notes and comments segment"`
}

Patient

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=3,table=0206,display=Segment Action Code"`
	ResourceGroupID   *CE     `hl7:"3,len=200,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_O01

type RGV_O01 struct {
	HL7     HL7Name          `hl7:",name=RGV_O01,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message header segment"`
	NTE     []NTE            `hl7:"2,display=Notes and comments segment"`
	Patient *RGV_O01_Patient `hl7:",display=Patient"`
	Order   []RGV_O01_Order  `hl7:",required,display=Order"`
}

Pharmacy/treatment give 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 a nonambiguous MAR report where each administration is matched to a particular give date/time instruction, it may use the RGV message

type RGV_O01_Components

type RGV_O01_Components struct {
	HL7 HL7Name `hl7:",name=RGV_O01_Components,type=tg"`
	RXC []RXC   `hl7:"12,required,display=Pharmacy component order segment"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Components

type RGV_O01_Encoding

type RGV_O01_Encoding struct {
	HL7 HL7Name `hl7:",name=RGV_O01_Encoding,type=tg"`
	RXE *RXE    `hl7:"14,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"15,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"16,display=Pharmacy component order segment"`
}

Encoding

type RGV_O01_Give

type RGV_O01_Give struct {
	HL7         HL7Name               `hl7:",name=RGV_O01_Give,type=tg"`
	RXG         *RXG                  `hl7:"17,required,display=Pharmacy give segment"`
	RXR         []RXR                 `hl7:"18,required,display=Pharmacy route segment"`
	RXC         []RXC                 `hl7:"19,display=Pharmacy component order segment"`
	Observation []RGV_O01_Observation `hl7:",required,display=Observation"`
}

Give

type RGV_O01_Observation

type RGV_O01_Observation struct {
	HL7 HL7Name `hl7:",name=RGV_O01_Observation,type=tg"`
	OBX *OBX    `hl7:"20,display=Observation segment"`
	NTE []NTE   `hl7:"21,display=Notes and comments segment"`
}

Observation

type RGV_O01_Order

type RGV_O01_Order struct {
	HL7         HL7Name              `hl7:",name=RGV_O01_Order,type=tg"`
	ORC         *ORC                 `hl7:"8,required,display=Common order segment"`
	OrderDetail *RGV_O01_OrderDetail `hl7:",display=Order Detail"`
	Encoding    *RGV_O01_Encoding    `hl7:",display=Encoding"`
	Give        []RGV_O01_Give       `hl7:",required,display=Give"`
}

Order

type RGV_O01_OrderDetail

type RGV_O01_OrderDetail struct {
	HL7                   HL7Name                        `hl7:",name=RGV_O01_OrderDetail,type=tg"`
	RXO                   *RXO                           `hl7:"9,required,display=Pharmacy prescription order segment"`
	OrderDetailSupplement *RGV_O01_OrderDetailSupplement `hl7:",display=Order Detail Supplement"`
}

OrderDetail

type RGV_O01_OrderDetailSupplement

type RGV_O01_OrderDetailSupplement struct {
	HL7        HL7Name             `hl7:",name=RGV_O01_OrderDetailSupplement,type=tg"`
	NTE        []NTE               `hl7:"10,required,display=Notes and comments segment"`
	RXR        []RXR               `hl7:"11,required,display=Pharmacy route segment"`
	Components *RGV_O01_Components `hl7:",display=Components"`
}

OrderDetailSupplement

type RGV_O01_Patient

type RGV_O01_Patient struct {
	HL7          HL7Name               `hl7:",name=RGV_O01_Patient,type=tg"`
	PID          *PID                  `hl7:"3,required,display=Patient Identification"`
	NTE          []NTE                 `hl7:"4,display=Notes and comments segment"`
	AL1          []AL1                 `hl7:"5,display=Patient Allergy Information"`
	PatientVisit *RGV_O01_PatientVisit `hl7:",display=Patient Visit"`
}

Patient

type RGV_O01_PatientVisit

type RGV_O01_PatientVisit struct {
	HL7 HL7Name `hl7:",name=RGV_O01_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"6,required,display=Patient visit"`
	PV2 *PV2    `hl7:"7,display=Patient visit - additional information"`
}

PatientVisit

type RI

type RI struct {
	HL7                  HL7Name `hl7:",name=RI,len=0,type=d"`
	RepeatPattern        IS      `` /* 166-byte string literal not displayed */
	ExplicitTimeInterval ST      `` /* 398-byte string literal not displayed */
}

Repeat Interval

This field contains the interval between repeating appointments. The default setting indicates that the appointment should occur once, when the component is not valued. The definition of this field is equivalent to the definition of the Interval component of the Quantity/Timing field given in Chapter 4, Section 4.4.2 “Interval component (CM).”

type ROL

type ROL struct {
	HL7               HL7Name `hl7:",name=ROL,type=s"`
	RoleInstanceID    EI      `hl7:"1,required,len=60,display=Role Instance ID"`
	ActionCode        ID      `hl7:"2,required,len=2,table=0287,display=Action Code"`
	Role              CE      `hl7:"3,required,len=80,display=Role"`
	RolePerson        XCN     `hl7:"4,required,len=80,display=Role Person"`
	RoleBeginDateTime TS      `hl7:"5,len=26,format=YMDHMS,display=Role Begin Date/Time"`
	RoleEndDateTime   TS      `hl7:"6,len=26,format=YMDHMS,display=Role End Date/Time"`
	RoleDuration      *CE     `hl7:"7,len=80,display=Role Duration"`
	RoleAction        *CE     `hl7:"8,len=80,display=Role Action"`
}

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

type ROR_ROR

type ROR_ROR struct {
	HL7        HL7Name              `hl7:",name=ROR_ROR,type=t"`
	MSH        *MSH                 `hl7:"1,required,display=Message header segment"`
	MSA        *MSA                 `hl7:"2,required,display=Message acknowledgement segment"`
	ERR        *ERR                 `hl7:"3,display=Error segment"`
	Definition []ROR_ROR_Definition `hl7:",required,display=Definition"`
	DSC        *DSC                 `hl7:"12,display=Continuation pointer segment"`
}

Pharmacy/treatment order response

Query (QRY_Q26) / Response (ROR_ROR)

type ROR_ROR_Definition

type ROR_ROR_Definition struct {
	HL7     HL7Name          `hl7:",name=ROR_ROR_Definition,type=tg"`
	QRD     *QRD             `hl7:"4,required,display=Query definition segment"`
	QRF     *QRF             `hl7:"5,display=Query filter segment"`
	Patient *ROR_ROR_Patient `hl7:",display=Patient"`
	Order   []ROR_ROR_Order  `hl7:",required,display=Order"`
}

Definition

type ROR_ROR_Order

type ROR_ROR_Order struct {
	HL7 HL7Name `hl7:",name=ROR_ROR_Order,type=tg"`
	ORC *ORC    `hl7:"8,required,display=Common order segment"`
	RXO *RXO    `hl7:"9,required,display=Pharmacy prescription order segment"`
	RXR []RXR   `hl7:"10,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"11,display=Pharmacy component order segment"`
}

Order

type ROR_ROR_Patient

type ROR_ROR_Patient struct {
	HL7 HL7Name `hl7:",name=ROR_ROR_Patient,type=tg"`
	PID *PID    `hl7:"6,required,display=Patient Identification"`
	NTE []NTE   `hl7:"7,display=Notes and comments segment"`
}

Patient

type RPA_I08

type RPA_I08 struct {
	HL7           HL7Name                `hl7:",name=RPA_I08,type=t"`
	MSH           *MSH                   `hl7:"1,required,display=Message header segment"`
	MSA           *MSA                   `hl7:"2,required,display=Message acknowledgement segment"`
	RF1           *RF1                   `hl7:"3,display=Referral Information Segment"`
	Authorization *RPA_I08_Authorization `hl7:",display=Authorization"`
	Provider      []RPA_I08_Provider     `hl7:",required,display=Provider"`
	PID           *PID                   `hl7:"8,required,display=Patient Identification"`
	NK1           []NK1                  `hl7:"9,display=Next of kin"`
	GT1           []GT1                  `hl7:"10,display=Guarantor"`
	Insurance     []RPA_I08_Insurance    `hl7:",display=Insurance"`
	ACC           *ACC                   `hl7:"14,display=Accident"`
	DG1           []DG1                  `hl7:"15,display=Diagnosis"`
	DRG           []DRG                  `hl7:"16,display=Diagnosis Related Group"`
	AL1           []AL1                  `hl7:"17,display=Patient Allergy Information"`
	Procedure     []RPA_I08_Procedure    `hl7:",required,display=Procedure"`
	Observation   []RPA_I08_Observation  `hl7:",display=Observation"`
	Visit         *RPA_I08_Visit         `hl7:",display=Visit"`
	NTE           []NTE                  `hl7:"27,display=Notes and comments segment"`
}

Response 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 RPA_I08_Authorization

type RPA_I08_Authorization struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Authorization,type=tg"`
	AUT *AUT    `hl7:"4,required,display=Authorization Information"`
	CTD *CTD    `hl7:"5,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:"19,required,display=Authorization Information"`
	CTD *CTD    `hl7:"20,display=Contact Data"`
}

Authorization

type RPA_I08_Insurance

type RPA_I08_Insurance struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Insurance,type=tg"`
	IN1 *IN1    `hl7:"11,required,display=Insurance"`
	IN2 *IN2    `hl7:"12,display=Insurance additional info"`
	IN3 *IN3    `hl7:"13,display=Insurance additional info - certification"`
}

Insurance

type RPA_I08_Observation

type RPA_I08_Observation struct {
	HL7     HL7Name           `hl7:",name=RPA_I08_Observation,type=tg"`
	OBR     *OBR              `hl7:"21,required,display=Observation request segment"`
	NTE     []NTE             `hl7:"22,display=Notes and comments segment"`
	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:"18,required,display=Procedures"`
	Authorization *RPA_I08_Authorization2 `hl7:",display=Authorization"`
}

Procedure

type RPA_I08_Provider

type RPA_I08_Provider struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Provider,type=tg"`
	PRD *PRD    `hl7:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,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:"23,required,display=Observation segment"`
	NTE []NTE   `hl7:"24,display=Notes and comments segment"`
}

Results

type RPA_I08_Visit

type RPA_I08_Visit struct {
	HL7 HL7Name `hl7:",name=RPA_I08_Visit,type=tg"`
	PV1 *PV1    `hl7:"25,required,display=Patient visit"`
	PV2 *PV2    `hl7:"26,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 segment"`
	MSA           *MSA                   `hl7:"2,required,display=Message acknowledgement segment"`
	RF1           *RF1                   `hl7:"3,display=Referral Information Segment"`
	Authorization *RPA_I09_Authorization `hl7:",display=Authorization"`
	Provider      []RPA_I09_Provider     `hl7:",required,display=Provider"`
	PID           *PID                   `hl7:"8,required,display=Patient Identification"`
	NK1           []NK1                  `hl7:"9,display=Next of kin"`
	GT1           []GT1                  `hl7:"10,display=Guarantor"`
	Insurance     []RPA_I09_Insurance    `hl7:",display=Insurance"`
	ACC           *ACC                   `hl7:"14,display=Accident"`
	DG1           []DG1                  `hl7:"15,display=Diagnosis"`
	DRG           []DRG                  `hl7:"16,display=Diagnosis Related Group"`
	AL1           []AL1                  `hl7:"17,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:"27,display=Notes and comments segment"`
}

Response 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 RPA_I09_Authorization

type RPA_I09_Authorization struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Authorization,type=tg"`
	AUT *AUT    `hl7:"4,required,display=Authorization Information"`
	CTD *CTD    `hl7:"5,display=Contact Data"`
}

Authorization

type RPA_I09_Authorization2

type RPA_I09_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Authorization2,type=tg"`
	AUT *AUT    `hl7:"19,required,display=Authorization Information"`
	CTD *CTD    `hl7:"20,display=Contact Data"`
}

Authorization

type RPA_I09_Insurance

type RPA_I09_Insurance struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Insurance,type=tg"`
	IN1 *IN1    `hl7:"11,required,display=Insurance"`
	IN2 *IN2    `hl7:"12,display=Insurance additional info"`
	IN3 *IN3    `hl7:"13,display=Insurance additional info - certification"`
}

Insurance

type RPA_I09_Observation

type RPA_I09_Observation struct {
	HL7     HL7Name           `hl7:",name=RPA_I09_Observation,type=tg"`
	OBR     *OBR              `hl7:"21,required,display=Observation request segment"`
	NTE     []NTE             `hl7:"22,display=Notes and comments segment"`
	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:"18,required,display=Procedures"`
	Authorization *RPA_I09_Authorization2 `hl7:",display=Authorization"`
}

Procedure

type RPA_I09_Provider

type RPA_I09_Provider struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Provider,type=tg"`
	PRD *PRD    `hl7:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,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:"23,required,display=Observation segment"`
	NTE []NTE   `hl7:"24,display=Notes and comments segment"`
}

Results

type RPA_I09_Visit

type RPA_I09_Visit struct {
	HL7 HL7Name `hl7:",name=RPA_I09_Visit,type=tg"`
	PV1 *PV1    `hl7:"25,required,display=Patient visit"`
	PV2 *PV2    `hl7:"26,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 segment"`
	MSA           *MSA                   `hl7:"2,required,display=Message acknowledgement segment"`
	RF1           *RF1                   `hl7:"3,display=Referral Information Segment"`
	Authorization *RPA_I10_Authorization `hl7:",display=Authorization"`
	Provider      []RPA_I10_Provider     `hl7:",required,display=Provider"`
	PID           *PID                   `hl7:"8,required,display=Patient Identification"`
	NK1           []NK1                  `hl7:"9,display=Next of kin"`
	GT1           []GT1                  `hl7:"10,display=Guarantor"`
	Insurance     []RPA_I10_Insurance    `hl7:",display=Insurance"`
	ACC           *ACC                   `hl7:"14,display=Accident"`
	DG1           []DG1                  `hl7:"15,display=Diagnosis"`
	DRG           []DRG                  `hl7:"16,display=Diagnosis Related Group"`
	AL1           []AL1                  `hl7:"17,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:"27,display=Notes and comments segment"`
}

Response 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 RPA_I10_Authorization

type RPA_I10_Authorization struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Authorization,type=tg"`
	AUT *AUT    `hl7:"4,required,display=Authorization Information"`
	CTD *CTD    `hl7:"5,display=Contact Data"`
}

Authorization

type RPA_I10_Authorization2

type RPA_I10_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Authorization2,type=tg"`
	AUT *AUT    `hl7:"19,required,display=Authorization Information"`
	CTD *CTD    `hl7:"20,display=Contact Data"`
}

Authorization

type RPA_I10_Insurance

type RPA_I10_Insurance struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Insurance,type=tg"`
	IN1 *IN1    `hl7:"11,required,display=Insurance"`
	IN2 *IN2    `hl7:"12,display=Insurance additional info"`
	IN3 *IN3    `hl7:"13,display=Insurance additional info - certification"`
}

Insurance

type RPA_I10_Observation

type RPA_I10_Observation struct {
	HL7     HL7Name           `hl7:",name=RPA_I10_Observation,type=tg"`
	OBR     *OBR              `hl7:"21,required,display=Observation request segment"`
	NTE     []NTE             `hl7:"22,display=Notes and comments segment"`
	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:"18,required,display=Procedures"`
	Authorization *RPA_I10_Authorization2 `hl7:",display=Authorization"`
}

Procedure

type RPA_I10_Provider

type RPA_I10_Provider struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Provider,type=tg"`
	PRD *PRD    `hl7:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,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:"23,required,display=Observation segment"`
	NTE []NTE   `hl7:"24,display=Notes and comments segment"`
}

Results

type RPA_I10_Visit

type RPA_I10_Visit struct {
	HL7 HL7Name `hl7:",name=RPA_I10_Visit,type=tg"`
	PV1 *PV1    `hl7:"25,required,display=Patient visit"`
	PV2 *PV2    `hl7:"26,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 segment"`
	MSA           *MSA                   `hl7:"2,required,display=Message acknowledgement segment"`
	RF1           *RF1                   `hl7:"3,display=Referral Information Segment"`
	Authorization *RPA_I11_Authorization `hl7:",display=Authorization"`
	Provider      []RPA_I11_Provider     `hl7:",required,display=Provider"`
	PID           *PID                   `hl7:"8,required,display=Patient Identification"`
	NK1           []NK1                  `hl7:"9,display=Next of kin"`
	GT1           []GT1                  `hl7:"10,display=Guarantor"`
	Insurance     []RPA_I11_Insurance    `hl7:",display=Insurance"`
	ACC           *ACC                   `hl7:"14,display=Accident"`
	DG1           []DG1                  `hl7:"15,display=Diagnosis"`
	DRG           []DRG                  `hl7:"16,display=Diagnosis Related Group"`
	AL1           []AL1                  `hl7:"17,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:"27,display=Notes and comments segment"`
}

Response 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 RPA_I11_Authorization

type RPA_I11_Authorization struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Authorization,type=tg"`
	AUT *AUT    `hl7:"4,required,display=Authorization Information"`
	CTD *CTD    `hl7:"5,display=Contact Data"`
}

Authorization

type RPA_I11_Authorization2

type RPA_I11_Authorization2 struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Authorization2,type=tg"`
	AUT *AUT    `hl7:"19,required,display=Authorization Information"`
	CTD *CTD    `hl7:"20,display=Contact Data"`
}

Authorization

type RPA_I11_Insurance

type RPA_I11_Insurance struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Insurance,type=tg"`
	IN1 *IN1    `hl7:"11,required,display=Insurance"`
	IN2 *IN2    `hl7:"12,display=Insurance additional info"`
	IN3 *IN3    `hl7:"13,display=Insurance additional info - certification"`
}

Insurance

type RPA_I11_Observation

type RPA_I11_Observation struct {
	HL7     HL7Name           `hl7:",name=RPA_I11_Observation,type=tg"`
	OBR     *OBR              `hl7:"21,required,display=Observation request segment"`
	NTE     []NTE             `hl7:"22,display=Notes and comments segment"`
	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:"18,required,display=Procedures"`
	Authorization *RPA_I11_Authorization2 `hl7:",display=Authorization"`
}

Procedure

type RPA_I11_Provider

type RPA_I11_Provider struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Provider,type=tg"`
	PRD *PRD    `hl7:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,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:"23,required,display=Observation segment"`
	NTE []NTE   `hl7:"24,display=Notes and comments segment"`
}

Results

type RPA_I11_Visit

type RPA_I11_Visit struct {
	HL7 HL7Name `hl7:",name=RPA_I11_Visit,type=tg"`
	PV1 *PV1    `hl7:"25,required,display=Patient visit"`
	PV2 *PV2    `hl7:"26,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 segment"`
	MSA                *MSA                        `hl7:"2,required,display=Message acknowledgement segment"`
	Provider           []RPI_I01_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"5,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"6,display=Next of kin"`
	GuarantorInsurance *RPI_I01_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	NTE                []NTE                       `hl7:"11,display=Notes and comments segment"`
}

Response 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 RPI_I01_GuarantorInsurance

type RPI_I01_GuarantorInsurance struct {
	HL7       HL7Name             `hl7:",name=RPI_I01_GuarantorInsurance,type=tg"`
	GT1       []GT1               `hl7:"7,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:"8,required,display=Insurance"`
	IN2 *IN2    `hl7:"9,display=Insurance additional info"`
	IN3 *IN3    `hl7:"10,display=Insurance additional info - certification"`
}

Insurance

type RPI_I01_Provider

type RPI_I01_Provider struct {
	HL7 HL7Name `hl7:",name=RPI_I01_Provider,type=tg"`
	PRD *PRD    `hl7:"3,required,display=Provider Data"`
	CTD []CTD   `hl7:"4,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 segment"`
	MSA                *MSA                        `hl7:"2,required,display=Message acknowledgement segment"`
	Provider           []RPI_I04_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"5,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"6,display=Next of kin"`
	GuarantorInsurance *RPI_I04_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	NTE                []NTE                       `hl7:"11,display=Notes and comments segment"`
}

Response 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 RPI_I04_GuarantorInsurance

type RPI_I04_GuarantorInsurance struct {
	HL7       HL7Name             `hl7:",name=RPI_I04_GuarantorInsurance,type=tg"`
	GT1       []GT1               `hl7:"7,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:"8,required,display=Insurance"`
	IN2 *IN2    `hl7:"9,display=Insurance additional info"`
	IN3 *IN3    `hl7:"10,display=Insurance additional info - certification"`
}

Insurance

type RPI_I04_Provider

type RPI_I04_Provider struct {
	HL7 HL7Name `hl7:",name=RPI_I04_Provider,type=tg"`
	PRD *PRD    `hl7:"3,required,display=Provider Data"`
	CTD []CTD   `hl7:"4,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 segment"`
	MSA      *MSA               `hl7:"2,required,display=Message acknowledgement segment"`
	Provider []RPL_I02_Provider `hl7:",required,display=Provider"`
	NTE      []NTE              `hl7:"5,display=Notes and comments segment"`
	DSP      []DSP              `hl7:"6,display=Display data segment"`
	DSC      *DSC               `hl7:"7,display=Continuation pointer segment"`
}

Return patient 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:"3,required,display=Provider Data"`
	CTD []CTD   `hl7:"4,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 segment"`
	MSA      *MSA               `hl7:"2,required,display=Message acknowledgement segment"`
	Provider []RPR_I03_Provider `hl7:",required,display=Provider"`
	PID      []PID              `hl7:"5,display=Patient Identification"`
	NTE      []NTE              `hl7:"6,display=Notes and comments segment"`
}

Return patient 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 RPR_I03_Provider

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

Provider

type RQ1

type RQ1 struct {
	HL7                  HL7Name `hl7:",name=RQ1,type=s"`
	AnticipatedPrice     ST      `hl7:"1,len=10,display=Anticipated Price"`
	ManufacturedID       *CE     `hl7:"2,conditional,len=60,display=Manufactured ID"`
	ManufacturersCatalog ST      `hl7:"3,conditional,len=16,display=Manufacturer's Catalog"`
	VendorID             *CE     `hl7:"4,conditional,len=60,display=Vendor ID"`
	VendorCatalog        ST      `hl7:"5,conditional,len=16,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 segment

RQ1 contains additional detail for each nonstock 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 segment"`
	RF1                *RF1                        `hl7:"2,display=Referral Information Segment"`
	Authorization      *RQA_I08_Authorization      `hl7:",display=Authorization"`
	Provider           []RQA_I08_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"7,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"8,display=Next of kin"`
	GuarantorInsurance *RQA_I08_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	ACC                *ACC                        `hl7:"13,display=Accident"`
	DG1                []DG1                       `hl7:"14,display=Diagnosis"`
	DRG                []DRG                       `hl7:"15,display=Diagnosis Related Group"`
	AL1                []AL1                       `hl7:"16,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:"26,display=Notes and comments segment"`
}

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:"3,required,display=Authorization Information"`
	CTD *CTD    `hl7:"4,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:"18,required,display=Authorization Information"`
	CTD *CTD    `hl7:"19,display=Contact Data"`
}

Authorization

type RQA_I08_GuarantorInsurance

type RQA_I08_GuarantorInsurance struct {
	HL7       HL7Name             `hl7:",name=RQA_I08_GuarantorInsurance,type=tg"`
	GT1       []GT1               `hl7:"9,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:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance additional info"`
	IN3 *IN3    `hl7:"12,display=Insurance additional info - certification"`
}

Insurance

type RQA_I08_Observation

type RQA_I08_Observation struct {
	HL7     HL7Name           `hl7:",name=RQA_I08_Observation,type=tg"`
	OBR     *OBR              `hl7:"20,required,display=Observation request segment"`
	NTE     []NTE             `hl7:"21,display=Notes and comments segment"`
	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:"17,required,display=Procedures"`
	Authorization *RQA_I08_Authorization2 `hl7:",display=Authorization"`
}

Procedure

type RQA_I08_Provider

type RQA_I08_Provider struct {
	HL7 HL7Name `hl7:",name=RQA_I08_Provider,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

Results

type RQA_I08_Visit

type RQA_I08_Visit struct {
	HL7 HL7Name `hl7:",name=RQA_I08_Visit,type=tg"`
	PV1 *PV1    `hl7:"24,required,display=Patient visit"`
	PV2 *PV2    `hl7:"25,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 segment"`
	RF1                *RF1                        `hl7:"2,display=Referral Information Segment"`
	Authorization      *RQA_I09_Authorization      `hl7:",display=Authorization"`
	Provider           []RQA_I09_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"7,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"8,display=Next of kin"`
	GuarantorInsurance *RQA_I09_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	ACC                *ACC                        `hl7:"13,display=Accident"`
	DG1                []DG1                       `hl7:"14,display=Diagnosis"`
	DRG                []DRG                       `hl7:"15,display=Diagnosis Related Group"`
	AL1                []AL1                       `hl7:"16,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:"26,display=Notes and comments segment"`
}

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:"3,required,display=Authorization Information"`
	CTD *CTD    `hl7:"4,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:"18,required,display=Authorization Information"`
	CTD *CTD    `hl7:"19,display=Contact Data"`
}

Authorization

type RQA_I09_GuarantorInsurance

type RQA_I09_GuarantorInsurance struct {
	HL7       HL7Name             `hl7:",name=RQA_I09_GuarantorInsurance,type=tg"`
	GT1       []GT1               `hl7:"9,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:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance additional info"`
	IN3 *IN3    `hl7:"12,display=Insurance additional info - certification"`
}

Insurance

type RQA_I09_Observation

type RQA_I09_Observation struct {
	HL7     HL7Name           `hl7:",name=RQA_I09_Observation,type=tg"`
	OBR     *OBR              `hl7:"20,required,display=Observation request segment"`
	NTE     []NTE             `hl7:"21,display=Notes and comments segment"`
	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:"17,required,display=Procedures"`
	Authorization *RQA_I09_Authorization2 `hl7:",display=Authorization"`
}

Procedure

type RQA_I09_Provider

type RQA_I09_Provider struct {
	HL7 HL7Name `hl7:",name=RQA_I09_Provider,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

Results

type RQA_I09_Visit

type RQA_I09_Visit struct {
	HL7 HL7Name `hl7:",name=RQA_I09_Visit,type=tg"`
	PV1 *PV1    `hl7:"24,required,display=Patient visit"`
	PV2 *PV2    `hl7:"25,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 segment"`
	RF1                *RF1                        `hl7:"2,display=Referral Information Segment"`
	Authorization      *RQA_I10_Authorization      `hl7:",display=Authorization"`
	Provider           []RQA_I10_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"7,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"8,display=Next of kin"`
	GuarantorInsurance *RQA_I10_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	ACC                *ACC                        `hl7:"13,display=Accident"`
	DG1                []DG1                       `hl7:"14,display=Diagnosis"`
	DRG                []DRG                       `hl7:"15,display=Diagnosis Related Group"`
	AL1                []AL1                       `hl7:"16,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:"26,display=Notes and comments segment"`
}

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:"3,required,display=Authorization Information"`
	CTD *CTD    `hl7:"4,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:"18,required,display=Authorization Information"`
	CTD *CTD    `hl7:"19,display=Contact Data"`
}

Authorization

type RQA_I10_GuarantorInsurance

type RQA_I10_GuarantorInsurance struct {
	HL7       HL7Name             `hl7:",name=RQA_I10_GuarantorInsurance,type=tg"`
	GT1       []GT1               `hl7:"9,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:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance additional info"`
	IN3 *IN3    `hl7:"12,display=Insurance additional info - certification"`
}

Insurance

type RQA_I10_Observation

type RQA_I10_Observation struct {
	HL7     HL7Name           `hl7:",name=RQA_I10_Observation,type=tg"`
	OBR     *OBR              `hl7:"20,required,display=Observation request segment"`
	NTE     []NTE             `hl7:"21,display=Notes and comments segment"`
	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:"17,required,display=Procedures"`
	Authorization *RQA_I10_Authorization2 `hl7:",display=Authorization"`
}

Procedure

type RQA_I10_Provider

type RQA_I10_Provider struct {
	HL7 HL7Name `hl7:",name=RQA_I10_Provider,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

Results

type RQA_I10_Visit

type RQA_I10_Visit struct {
	HL7 HL7Name `hl7:",name=RQA_I10_Visit,type=tg"`
	PV1 *PV1    `hl7:"24,required,display=Patient visit"`
	PV2 *PV2    `hl7:"25,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 segment"`
	RF1                *RF1                        `hl7:"2,display=Referral Information Segment"`
	Authorization      *RQA_I11_Authorization      `hl7:",display=Authorization"`
	Provider           []RQA_I11_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"7,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"8,display=Next of kin"`
	GuarantorInsurance *RQA_I11_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	ACC                *ACC                        `hl7:"13,display=Accident"`
	DG1                []DG1                       `hl7:"14,display=Diagnosis"`
	DRG                []DRG                       `hl7:"15,display=Diagnosis Related Group"`
	AL1                []AL1                       `hl7:"16,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:"26,display=Notes and comments segment"`
}

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:"3,required,display=Authorization Information"`
	CTD *CTD    `hl7:"4,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:"18,required,display=Authorization Information"`
	CTD *CTD    `hl7:"19,display=Contact Data"`
}

Authorization

type RQA_I11_GuarantorInsurance

type RQA_I11_GuarantorInsurance struct {
	HL7       HL7Name             `hl7:",name=RQA_I11_GuarantorInsurance,type=tg"`
	GT1       []GT1               `hl7:"9,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:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance additional info"`
	IN3 *IN3    `hl7:"12,display=Insurance additional info - certification"`
}

Insurance

type RQA_I11_Observation

type RQA_I11_Observation struct {
	HL7     HL7Name           `hl7:",name=RQA_I11_Observation,type=tg"`
	OBR     *OBR              `hl7:"20,required,display=Observation request segment"`
	NTE     []NTE             `hl7:"21,display=Notes and comments segment"`
	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:"17,required,display=Procedures"`
	Authorization *RQA_I11_Authorization2 `hl7:",display=Authorization"`
}

Procedure

type RQA_I11_Provider

type RQA_I11_Provider struct {
	HL7 HL7Name `hl7:",name=RQA_I11_Provider,type=tg"`
	PRD *PRD    `hl7:"5,required,display=Provider Data"`
	CTD []CTD   `hl7:"6,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:"22,required,display=Observation segment"`
	NTE []NTE   `hl7:"23,display=Notes and comments segment"`
}

Results

type RQA_I11_Visit

type RQA_I11_Visit struct {
	HL7 HL7Name `hl7:",name=RQA_I11_Visit,type=tg"`
	PV1 *PV1    `hl7:"24,required,display=Patient visit"`
	PV2 *PV2    `hl7:"25,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 segment"`
	QRD      *QRD               `hl7:"2,required,display=Query definition segment"`
	QRF      *QRF               `hl7:"3,display=Query filter segment"`
	Provider []RQC_I05_Provider `hl7:",required,display=Provider"`
	PID      *PID               `hl7:"6,required,display=Patient Identification"`
	NK1      []NK1              `hl7:"7,display=Next of kin"`
	GT1      []GT1              `hl7:"8,display=Guarantor"`
	NTE      []NTE              `hl7:"9,display=Notes and comments segment"`
}

Request for patient clinical information

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:"4,required,display=Provider Data"`
	CTD []CTD   `hl7:"5,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 segment"`
	QRD      *QRD               `hl7:"2,required,display=Query definition segment"`
	QRF      *QRF               `hl7:"3,display=Query filter segment"`
	Provider []RQC_I06_Provider `hl7:",required,display=Provider"`
	PID      *PID               `hl7:"6,required,display=Patient Identification"`
	NK1      []NK1              `hl7:"7,display=Next of kin"`
	GT1      *GT1               `hl7:"8,display=Guarantor"`
	NTE      []NTE              `hl7:"9,display=Notes and comments segment"`
}

Request/receipt of clinical data listing

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:"4,required,display=Provider Data"`
	CTD []CTD   `hl7:"5,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         *CE     `hl7:"2,conditional,len=60,display=Item Code - Internal"`
	ItemCodeExternal         *CE     `hl7:"3,conditional,len=60,display=Item Code - External"`
	HospitalItemCode         *CE     `hl7:"4,conditional,len=60,display=Hospital Item Code"`
	RequisitionQuantity      NM      `hl7:"5,len=6,display=Requisition Quantity"`
	RequisitionUnitOfMeasure *CE     `hl7:"6,len=60,display=Requisition Unit of Measure"`
	DepartmentCostCenter     ID      `hl7:"7,len=30,table=0319,display=Department Cost Center"`
	ItemNaturalAccountCode   ID      `hl7:"8,len=30,table=0320,display=Item Natural Account Code"`
	DeliverToID              *CE     `hl7:"9,len=60,display=Deliver To ID"`
	DateNeeded               DT      `hl7:"10,len=8,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 segment"`
	Provider           []RQI_I01_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"4,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"5,display=Next of kin"`
	GuarantorInsurance *RQI_I01_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	NTE                []NTE                       `hl7:"10,display=Notes and comments segment"`
}

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:"6,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:"7,required,display=Insurance"`
	IN2 *IN2    `hl7:"8,display=Insurance additional info"`
	IN3 *IN3    `hl7:"9,display=Insurance additional info - certification"`
}

Insurance

type RQI_I01_Provider

type RQI_I01_Provider struct {
	HL7 HL7Name `hl7:",name=RQI_I01_Provider,type=tg"`
	PRD *PRD    `hl7:"2,required,display=Provider Data"`
	CTD []CTD   `hl7:"3,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 segment"`
	Provider           []RQI_I02_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"4,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"5,display=Next of kin"`
	GuarantorInsurance *RQI_I02_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	NTE                []NTE                       `hl7:"10,display=Notes and comments segment"`
}

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:"6,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:"7,required,display=Insurance"`
	IN2 *IN2    `hl7:"8,display=Insurance additional info"`
	IN3 *IN3    `hl7:"9,display=Insurance additional info - certification"`
}

Insurance

type RQI_I02_Provider

type RQI_I02_Provider struct {
	HL7 HL7Name `hl7:",name=RQI_I02_Provider,type=tg"`
	PRD *PRD    `hl7:"2,required,display=Provider Data"`
	CTD []CTD   `hl7:"3,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 segment"`
	Provider           []RQI_I03_Provider          `hl7:",required,display=Provider"`
	PID                *PID                        `hl7:"4,required,display=Patient Identification"`
	NK1                []NK1                       `hl7:"5,display=Next of kin"`
	GuarantorInsurance *RQI_I03_GuarantorInsurance `hl7:",display=Guarantor Insurance"`
	NTE                []NTE                       `hl7:"10,display=Notes and comments segment"`
}

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:"6,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:"7,required,display=Insurance"`
	IN2 *IN2    `hl7:"8,display=Insurance additional info"`
	IN3 *IN3    `hl7:"9,display=Insurance additional info - certification"`
}

Insurance

type RQI_I03_Provider

type RQI_I03_Provider struct {
	HL7 HL7Name `hl7:",name=RQI_I03_Provider,type=tg"`
	PRD *PRD    `hl7:"2,required,display=Provider Data"`
	CTD []CTD   `hl7:"3,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 segment"`
	Provider []RQP_I04_Provider `hl7:",required,display=Provider"`
	PID      *PID               `hl7:"4,required,display=Patient Identification"`
	NK1      []NK1              `hl7:"5,display=Next of kin"`
	GT1      []GT1              `hl7:"6,display=Guarantor"`
	NTE      []NTE              `hl7:"7,display=Notes and comments segment"`
}

Request patient demographics

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:"2,required,display=Provider Data"`
	CTD []CTD   `hl7:"3,display=Contact Data"`
}

Provider

type RQQ_Q01

type RQQ_Q01 struct {
	HL7 HL7Name `hl7:",name=RQQ_Q01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	ERQ *ERQ    `hl7:"2,required,display=Event Replay Query Segment"`
	DSC *DSC    `hl7:"3,display=Continuation pointer segment"`
}

Event replay query

type RRA_O02

type RRA_O02 struct {
	HL7      HL7Name           `hl7:",name=RRA_O02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	Response *RRA_O02_Response `hl7:",display=Response"`
}

Pharmacy/treatment administration acknowledgment message

Response to a RAS_O02

type RRA_O02_Administration

type RRA_O02_Administration struct {
	HL7 HL7Name `hl7:",name=RRA_O02_Administration,type=tg"`
	RXA []RXA   `hl7:"8,required,display=Pharmacy administration segment"`
	RXR *RXR    `hl7:"9,required,display=Pharmacy route segment"`
}

Administration

type RRA_O02_Order

type RRA_O02_Order struct {
	HL7            HL7Name                 `hl7:",name=RRA_O02_Order,type=tg"`
	ORC            *ORC                    `hl7:"7,required,display=Common order segment"`
	Administration *RRA_O02_Administration `hl7:",display=Administration"`
}

Order

type RRA_O02_Patient

type RRA_O02_Patient struct {
	HL7 HL7Name `hl7:",name=RRA_O02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type RRA_O02_Response

type RRA_O02_Response struct {
	HL7     HL7Name          `hl7:",name=RRA_O02_Response,type=tg"`
	Patient *RRA_O02_Patient `hl7:",display=Patient"`
	Order   []RRA_O02_Order  `hl7:",required,display=Order"`
}

Response

type RRD_O02

type RRD_O02 struct {
	HL7      HL7Name           `hl7:",name=RRD_O02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	Response *RRD_O02_Response `hl7:",display=Response"`
}

Pharmacy/treatment dispense acknowledgment message

type RRD_O02_Dispense

type RRD_O02_Dispense struct {
	HL7 HL7Name `hl7:",name=RRD_O02_Dispense,type=tg"`
	RXD *RXD    `hl7:"8,required,display=Pharmacy dispense segment"`
	RXR []RXR   `hl7:"9,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"10,display=Pharmacy component order segment"`
}

Dispense

type RRD_O02_Order

type RRD_O02_Order struct {
	HL7      HL7Name           `hl7:",name=RRD_O02_Order,type=tg"`
	ORC      *ORC              `hl7:"7,required,display=Common order segment"`
	Dispense *RRD_O02_Dispense `hl7:",display=Dispense"`
}

Order

type RRD_O02_Patient

type RRD_O02_Patient struct {
	HL7 HL7Name `hl7:",name=RRD_O02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type RRD_O02_Response

type RRD_O02_Response struct {
	HL7     HL7Name          `hl7:",name=RRD_O02_Response,type=tg"`
	Patient *RRD_O02_Patient `hl7:",display=Patient"`
	Order   []RRD_O02_Order  `hl7:",required,display=Order"`
}

Response

type RRE_O02

type RRE_O02 struct {
	HL7      HL7Name           `hl7:",name=RRE_O02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	Response *RRE_O02_Response `hl7:",display=Response"`
}

Pharmacy/treatment encoded order acknowledgment message

type RRE_O02_Encoding

type RRE_O02_Encoding struct {
	HL7 HL7Name `hl7:",name=RRE_O02_Encoding,type=tg"`
	RXE *RXE    `hl7:"8,required,display=Pharmacy encoded order segment"`
	RXR []RXR   `hl7:"9,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"10,display=Pharmacy component order segment"`
}

Encoding

type RRE_O02_Order

type RRE_O02_Order struct {
	HL7      HL7Name           `hl7:",name=RRE_O02_Order,type=tg"`
	ORC      *ORC              `hl7:"7,required,display=Common order segment"`
	Encoding *RRE_O02_Encoding `hl7:",display=Encoding"`
}

Order

type RRE_O02_Patient

type RRE_O02_Patient struct {
	HL7 HL7Name `hl7:",name=RRE_O02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type RRE_O02_Response

type RRE_O02_Response struct {
	HL7     HL7Name          `hl7:",name=RRE_O02_Response,type=tg"`
	Patient *RRE_O02_Patient `hl7:",display=Patient"`
	Order   []RRE_O02_Order  `hl7:",required,display=Order"`
}

Response

type RRG_O02

type RRG_O02 struct {
	HL7      HL7Name           `hl7:",name=RRG_O02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	Response *RRG_O02_Response `hl7:",display=Response"`
}

Pharmacy/treatment give acknowledgment message

Response message to RGV_O01

type RRG_O02_Give

type RRG_O02_Give struct {
	HL7 HL7Name `hl7:",name=RRG_O02_Give,type=tg"`
	RXG *RXG    `hl7:"8,required,display=Pharmacy give segment"`
	RXR []RXR   `hl7:"9,required,display=Pharmacy route segment"`
	RXC []RXC   `hl7:"10,display=Pharmacy component order segment"`
}

Give

type RRG_O02_Order

type RRG_O02_Order struct {
	HL7  HL7Name       `hl7:",name=RRG_O02_Order,type=tg"`
	ORC  *ORC          `hl7:"7,required,display=Common order segment"`
	Give *RRG_O02_Give `hl7:",display=Give"`
}

Order

type RRG_O02_Patient

type RRG_O02_Patient struct {
	HL7 HL7Name `hl7:",name=RRG_O02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type RRG_O02_Response

type RRG_O02_Response struct {
	HL7     HL7Name          `hl7:",name=RRG_O02_Response,type=tg"`
	Patient *RRG_O02_Patient `hl7:",display=Patient"`
	Order   []RRG_O02_Order  `hl7:",required,display=Order"`
}

Response

type RRI_I12

type RRI_I12 struct {
	HL7                  HL7Name                       `hl7:",name=RRI_I12,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message header segment"`
	MSA                  *MSA                          `hl7:"2,display=Message acknowledgement segment"`
	RF1                  *RF1                          `hl7:"3,display=Referral Information Segment"`
	AuthorizationContact *RRI_I12_AuthorizationContact `hl7:",display=Authorization Contact"`
	ProviderContact      []RRI_I12_ProviderContact     `hl7:",required,display=Provider Contact"`
	PID                  *PID                          `hl7:"8,required,display=Patient Identification"`
	ACC                  *ACC                          `hl7:"9,display=Accident"`
	DG1                  []DG1                         `hl7:"10,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"11,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"12,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:"22,display=Notes and comments segment"`
}

Response 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 RRI_I12_AuthorizationContact

type RRI_I12_AuthorizationContact struct {
	HL7 HL7Name `hl7:",name=RRI_I12_AuthorizationContact,type=tg"`
	AUT *AUT    `hl7:"4,required,display=Authorization Information"`
	CTD *CTD    `hl7:"5,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:"14,required,display=Authorization Information"`
	CTD *CTD    `hl7:"15,display=Contact Data"`
}

AuthorizationContact

type RRI_I12_Observation

type RRI_I12_Observation struct {
	HL7          HL7Name                `hl7:",name=RRI_I12_Observation,type=tg"`
	OBR          *OBR                   `hl7:"16,required,display=Observation request segment"`
	NTE          []NTE                  `hl7:"17,display=Notes and comments segment"`
	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:"20,required,display=Patient visit"`
	PV2 *PV2    `hl7:"21,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:"13,required,display=Procedures"`
	AuthorizationContact *RRI_I12_AuthorizationContact2 `hl7:",display=Authorization Contact"`
}

Procedure

type RRI_I12_ProviderContact

type RRI_I12_ProviderContact struct {
	HL7 HL7Name `hl7:",name=RRI_I12_ProviderContact,type=tg"`
	PRD *PRD    `hl7:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,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:"18,required,display=Observation segment"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

ResultsNotes

type RRI_I13

type RRI_I13 struct {
	HL7                  HL7Name                       `hl7:",name=RRI_I13,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message header segment"`
	MSA                  *MSA                          `hl7:"2,display=Message acknowledgement segment"`
	RF1                  *RF1                          `hl7:"3,display=Referral Information Segment"`
	AuthorizationContact *RRI_I13_AuthorizationContact `hl7:",display=Authorization Contact"`
	ProviderContact      []RRI_I13_ProviderContact     `hl7:",required,display=Provider Contact"`
	PID                  *PID                          `hl7:"8,required,display=Patient Identification"`
	ACC                  *ACC                          `hl7:"9,display=Accident"`
	DG1                  []DG1                         `hl7:"10,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"11,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"12,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:"22,display=Notes and comments segment"`
}

Response 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 RRI_I13_AuthorizationContact

type RRI_I13_AuthorizationContact struct {
	HL7 HL7Name `hl7:",name=RRI_I13_AuthorizationContact,type=tg"`
	AUT *AUT    `hl7:"4,required,display=Authorization Information"`
	CTD *CTD    `hl7:"5,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:"14,required,display=Authorization Information"`
	CTD *CTD    `hl7:"15,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:"16,required,display=Observation request segment"`
	NTE          []NTE                  `hl7:"17,display=Notes and comments segment"`
	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:"20,required,display=Patient visit"`
	PV2 *PV2    `hl7:"21,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:"13,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:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,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:"18,required,display=Observation segment"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

ResultsNotes

type RRI_I14

type RRI_I14 struct {
	HL7                  HL7Name                       `hl7:",name=RRI_I14,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message header segment"`
	MSA                  *MSA                          `hl7:"2,display=Message acknowledgement segment"`
	RF1                  *RF1                          `hl7:"3,display=Referral Information Segment"`
	AuthorizationContact *RRI_I14_AuthorizationContact `hl7:",display=Authorization Contact"`
	ProviderContact      []RRI_I14_ProviderContact     `hl7:",required,display=Provider Contact"`
	PID                  *PID                          `hl7:"8,required,display=Patient Identification"`
	ACC                  *ACC                          `hl7:"9,display=Accident"`
	DG1                  []DG1                         `hl7:"10,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"11,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"12,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:"22,display=Notes and comments segment"`
}

Response 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 RRI_I14_AuthorizationContact

type RRI_I14_AuthorizationContact struct {
	HL7 HL7Name `hl7:",name=RRI_I14_AuthorizationContact,type=tg"`
	AUT *AUT    `hl7:"4,required,display=Authorization Information"`
	CTD *CTD    `hl7:"5,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:"14,required,display=Authorization Information"`
	CTD *CTD    `hl7:"15,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:"16,required,display=Observation request segment"`
	NTE          []NTE                  `hl7:"17,display=Notes and comments segment"`
	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:"20,required,display=Patient visit"`
	PV2 *PV2    `hl7:"21,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:"13,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:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,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:"18,required,display=Observation segment"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

ResultsNotes

type RRI_I15

type RRI_I15 struct {
	HL7                  HL7Name                       `hl7:",name=RRI_I15,type=t"`
	MSH                  *MSH                          `hl7:"1,required,display=Message header segment"`
	MSA                  *MSA                          `hl7:"2,display=Message acknowledgement segment"`
	RF1                  *RF1                          `hl7:"3,display=Referral Information Segment"`
	AuthorizationContact *RRI_I15_AuthorizationContact `hl7:",display=Authorization Contact"`
	ProviderContact      []RRI_I15_ProviderContact     `hl7:",required,display=Provider Contact"`
	PID                  *PID                          `hl7:"8,required,display=Patient Identification"`
	ACC                  *ACC                          `hl7:"9,display=Accident"`
	DG1                  []DG1                         `hl7:"10,display=Diagnosis"`
	DRG                  []DRG                         `hl7:"11,display=Diagnosis Related Group"`
	AL1                  []AL1                         `hl7:"12,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:"22,display=Notes and comments segment"`
}

Response 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:"4,required,display=Authorization Information"`
	CTD *CTD    `hl7:"5,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:"14,required,display=Authorization Information"`
	CTD *CTD    `hl7:"15,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:"16,required,display=Observation request segment"`
	NTE          []NTE                  `hl7:"17,display=Notes and comments segment"`
	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:"20,required,display=Patient visit"`
	PV2 *PV2    `hl7:"21,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:"13,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:"6,required,display=Provider Data"`
	CTD []CTD   `hl7:"7,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:"18,required,display=Observation segment"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

ResultsNotes

type RRO_O02

type RRO_O02 struct {
	HL7      HL7Name           `hl7:",name=RRO_O02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	NTE      []NTE             `hl7:"4,display=Notes and comments segment"`
	Response *RRO_O02_Response `hl7:",display=Response"`
}

Pharmacy/treatment order acknowledgment message

ORR message for pharmacy/treatment

type RRO_O02_Order

type RRO_O02_Order struct {
	HL7         HL7Name              `hl7:",name=RRO_O02_Order,type=tg"`
	ORC         *ORC                 `hl7:"7,required,display=Common order segment"`
	OrderDetail *RRO_O02_OrderDetail `hl7:",display=Order Detail"`
}

Order

type RRO_O02_OrderDetail

type RRO_O02_OrderDetail struct {
	HL7  HL7Name `hl7:",name=RRO_O02_OrderDetail,type=tg"`
	RXO  *RXO    `hl7:"8,required,display=Pharmacy prescription order segment"`
	NTE  []NTE   `hl7:"9,display=Notes and comments segment"`
	RXR  []RXR   `hl7:"10,required,display=Pharmacy route segment"`
	RXC  []RXC   `hl7:"11,display=Pharmacy component order segment"`
	NTE2 []NTE   `hl7:"12,display=Notes and comments segment"`
}

OrderDetail

type RRO_O02_Patient

type RRO_O02_Patient struct {
	HL7 HL7Name `hl7:",name=RRO_O02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NTE []NTE   `hl7:"6,display=Notes and comments segment"`
}

Patient

type RRO_O02_Response

type RRO_O02_Response struct {
	HL7     HL7Name          `hl7:",name=RRO_O02_Response,type=tg"`
	Patient *RRO_O02_Patient `hl7:",display=Patient"`
	Order   []RRO_O02_Order  `hl7:",required,display=Order"`
}

Response

type RXA

type RXA struct {
	HL7                           HL7Name `hl7:",name=RXA,type=s"`
	GiveSubIDCounter              NM      `hl7:"1,required,len=4,display=Give Sub-ID Counter"`
	AdministrationSubIDCounter    NM      `hl7:"2,required,len=4,display=Administration Sub-ID Counter"`
	DateTimeStartOfAdministration TS      `hl7:"3,required,len=26,format=YMDHMS,display=Date/Time Start of Administration"`
	DateTimeEndOfAdministration   TS      `hl7:"4,required,len=26,format=YMDHMS,display=Date/Time End of Administration"`
	AdministeredCode              CE      `hl7:"5,required,len=100,table=0292,display=Administered Code"`
	AdministeredAmount            NM      `hl7:"6,required,len=20,display=Administered Amount"`
	AdministeredUnits             *CE     `hl7:"7,conditional,len=60,display=Administered Units"`
	AdministeredDosageForm        *CE     `hl7:"8,len=60,display=Administered Dosage Form"`
	AdministrationNotes           []CE    `hl7:"9,len=200,display=Administration Notes"`
	AdministeringProvider         *XCN    `hl7:"10,len=200,display=Administering Provider"`
	AdministeredAtLocation        *LA2    `hl7:"11,conditional,len=200,display=Administered-at Location"`
	AdministeredPer               ST      `hl7:"12,conditional,len=20,display=Administered Per"`
	AdministeredStrength          NM      `hl7:"13,len=20,display=Administered Strength"`
	AdministeredStrengthUnits     *CE     `hl7:"14,len=60,display=Administered Strength Units"`
	SubstanceLotNumber            []ST    `hl7:"15,len=20,display=Substance Lot Number"`
	SubstanceExpirationDate       []TS    `hl7:"16,len=26,format=YMDHMS,display=Substance Expiration Date"`
	SubstanceManufacturerName     []CE    `hl7:"17,len=60,table=0227,display=Substance Manufacturer Name"`
	SubstanceRefusalReason        []CE    `hl7:"18,len=60,display=Substance Refusal Reason"`
	Indication                    []CE    `hl7:"19,len=200,display=Indication"`
	CompletionStatus              ID      `hl7:"20,len=2,table=0322,display=Completion Status"`
	ActionCode                    ID      `hl7:"21,len=2,table=0323,display=Action Code-RXA"`
	SystemEntryDateTime           TS      `hl7:"22,len=26,format=YMDHMS,display=System Entry Date/Time"`
}

Pharmacy administration segment

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          CE      `hl7:"2,required,len=100,display=Component Code"`
	ComponentAmount        NM      `hl7:"3,required,len=20,display=Component Amount"`
	ComponentUnits         CE      `hl7:"4,required,len=60,display=Component Units"`
	ComponentStrength      NM      `hl7:"5,len=20,display=Component Strength"`
	ComponentStrengthUnits *CE     `hl7:"6,len=60,display=Component Strength Units"`
}

Pharmacy component order segment

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 the 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,len=4,display=Dispense Sub-ID Counter"`
	DispenseGiveCode                                        CE      `hl7:"2,required,len=100,table=0292,display=Dispense/Give Code"`
	DateTimeDispensed                                       TS      `hl7:"3,required,len=26,format=YMDHMS,display=Date/Time Dispensed"`
	ActualDispenseAmount                                    NM      `hl7:"4,required,len=20,display=Actual Dispense Amount"`
	ActualDispenseUnits                                     *CE     `hl7:"5,conditional,len=60,display=Actual Dispense Units"`
	ActualDosageForm                                        *CE     `hl7:"6,len=60,display=Actual Dosage Form"`
	PrescriptionNumber                                      ST      `hl7:"7,required,len=20,display=Prescription Number"`
	NumberOfRefillsRemaining                                NM      `hl7:"8,conditional,len=20,display=Number of Refills Remaining"`
	DispenseNotes                                           []ST    `hl7:"9,len=200,display=Dispense Notes"`
	DispensingProvider                                      *XCN    `hl7:"10,len=200,display=Dispensing Provider"`
	SubstitutionStatus                                      ID      `hl7:"11,len=1,table=0167,display=Substitution Status"`
	TotalDailyDose                                          NM      `hl7:"12,len=10,display=Total Daily Dose"`
	DispenseToLocation                                      *LA2    `hl7:"13,conditional,len=200,display=Dispense-To Location"`
	NeedsHumanReview                                        ID      `hl7:"14,len=1,table=0136,display=Needs Human Review"`
	PharmacyTreatmentSuppliersSpecialDispensingInstructions []CE    `hl7:"15,len=200,display=Pharmacy/Treatment Supplier's Special Dispensing Instructions"`
	ActualStrength                                          NM      `hl7:"16,len=20,display=Actual Strength"`
	ActualStrengthUnit                                      *CE     `hl7:"17,len=60,display=Actual Strength Unit"`
	SubstanceLotNumber                                      []ST    `hl7:"18,len=20,display=Substance Lot Number"`
	SubstanceExpirationDate                                 []TS    `hl7:"19,len=26,format=YMDHMS,display=Substance Expiration Date"`
	SubstanceManufacturerName                               []CE    `hl7:"20,len=60,display=Substance Manufacturer Name"`
	Indication                                              []CE    `hl7:"21,len=200,display=Indication"`
	DispensePackageSize                                     NM      `hl7:"22,len=20,display=Dispense Package Size"`
	DispensePackageSizeUnit                                 *CE     `hl7:"23,len=60,display=Dispense Package Size Unit"`
	DispensePackageMethod                                   ID      `hl7:"24,len=2,table=0321,display=Dispense Package Method"`
}

Pharmacy dispense segment

type RXE

type RXE struct {
	HL7                                                     HL7Name `hl7:",name=RXE,type=s"`
	QuantityTiming                                          TQ      `hl7:"1,required,len=200,display=Quantity/Timing"`
	GiveCode                                                CE      `hl7:"2,required,len=100,table=0292,display=Give Code"`
	GiveAmountMinimum                                       NM      `hl7:"3,required,len=20,display=Give Amount - Minimum"`
	GiveAmountMaximum                                       NM      `hl7:"4,len=20,display=Give Amount - Maximum"`
	GiveUnits                                               CE      `hl7:"5,required,len=60,display=Give Units"`
	GiveDosageForm                                          *CE     `hl7:"6,len=60,display=Give Dosage Form"`
	ProvidersAdministrationInstructions                     []CE    `hl7:"7,len=200,display=Provider's Administration Instructions"`
	DeliverToLocation                                       *LA2    `hl7:"8,conditional,len=200,display=Deliver To Location"`
	SubstitutionStatus                                      ID      `hl7:"9,len=1,table=0167,display=Substitution Status"`
	DispenseAmount                                          NM      `hl7:"10,conditional,len=20,display=Dispense Amount"`
	DispenseUnits                                           *CE     `hl7:"11,conditional,len=60,display=Dispense Units"`
	NumberOfRefills                                         NM      `hl7:"12,len=3,display=Number of Refills"`
	OrderingProvidersDEANumber                              *XCN    `hl7:"13,conditional,len=60,display=Ordering Provider's DEA Number"`
	PharmacistTreatmentSuppliersVerifierID                  *XCN    `hl7:"14,len=60,display=Pharmacist/Treatment Supplier's Verifier ID"`
	PrescriptionNumber                                      ST      `hl7:"15,conditional,len=20,display=Prescription Number"`
	NumberOfRefillsRemaining                                NM      `hl7:"16,conditional,len=20,display=Number of Refills Remaining"`
	NumberOfRefillsDosesDispensed                           NM      `hl7:"17,conditional,len=20,display=Number of Refills/Doses Dispensed"`
	DateTimeOfMostRecentRefillOrDoseDispensed               TS      `hl7:"18,conditional,len=26,format=YMDHMS,display=Date / time of most recent refill or dose dispensed"`
	TotalDailyDose                                          *CQ     `hl7:"19,conditional,len=10,display=Total Daily Dose"`
	NeedsHumanReview                                        ID      `hl7:"20,len=1,table=0136,display=Needs Human Review"`
	PharmacyTreatmentSuppliersSpecialDispensingInstructions []CE    `hl7:"21,len=200,display=Pharmacy/Treatment Supplier's Special Dispensing Instructions"`
	GivePer                                                 ST      `hl7:"22,conditional,len=20,display=Give Per"`
	GiveRateAmount                                          ST      `hl7:"23,len=6,display=Give Rate Amount"`
	GiveRateUnits                                           *CE     `hl7:"24,len=60,display=Give Rate Units"`
	GiveStrength                                            NM      `hl7:"25,len=20,display=Give Strength"`
	GiveStrengthUnits                                       *CE     `hl7:"26,len=60,display=Give Strength Units"`
	GiveIndication                                          []CE    `hl7:"27,len=200,display=Give Indication"`
	DispensePackageSize                                     NM      `hl7:"28,len=20,display=Dispense Package Size"`
	DispensePackageSizeUnit                                 *CE     `hl7:"29,len=60,display=Dispense Package Size Unit"`
	DispensePackageMethod                                   ID      `hl7:"30,len=2,table=0321,display=Dispense Package Method"`
}

Pharmacy encoded order segment

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-date/time of most recent refill/dose, and RXE-19-total daily dose.

Note that ORC-7-quantity/timing has a different meaning from RXE-1-quantity/timing and RXG-3quantity/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,len=4,display=Give Sub-ID Counter"`
	DispenseSubIDCounter                      NM      `hl7:"2,len=4,display=Dispense Sub-ID Counter"`
	QuantityTiming                            TQ      `hl7:"3,required,len=200,display=Quantity/Timing"`
	GiveCode                                  CE      `hl7:"4,required,len=100,table=0292,display=Give Code"`
	GiveAmountMinimum                         NM      `hl7:"5,required,len=20,display=Give Amount - Minimum"`
	GiveAmountMaximum                         NM      `hl7:"6,len=20,display=Give Amount - Maximum"`
	GiveUnits                                 CE      `hl7:"7,required,len=60,display=Give Units"`
	GiveDosageForm                            *CE     `hl7:"8,len=60,display=Give Dosage Form"`
	AdministrationNotes                       []CE    `hl7:"9,len=200,display=Administration Notes"`
	SubstitutionStatus                        ID      `hl7:"10,len=1,table=0167,display=Substitution Status"`
	DispenseToLocation                        *LA2    `hl7:"11,len=200,display=Dispense-To Location"`
	NeedsHumanReview                          ID      `hl7:"12,len=1,table=0136,display=Needs Human Review"`
	PharmacySpecialAdministrationInstructions []CE    `hl7:"13,len=200,display=Pharmacy Special Administration Instructions"`
	GivePer                                   ST      `hl7:"14,conditional,len=20,display=Give Per"`
	GiveRateAmount                            ST      `hl7:"15,len=6,display=Give Rate Amount"`
	GiveRateUnits                             *CE     `hl7:"16,len=60,display=Give Rate Units"`
	GiveStrength                              NM      `hl7:"17,len=20,display=Give Strength"`
	GiveStrengthUnits                         *CE     `hl7:"18,len=60,display=Give Strength Units"`
	SubstanceLotNumber                        []ST    `hl7:"19,len=20,display=Substance Lot Number"`
	SubstanceExpirationDate                   []TS    `hl7:"20,len=26,format=YMDHMS,display=Substance Expiration Date"`
	SubstanceManufacturerName                 []CE    `hl7:"21,len=60,display=Substance Manufacturer Name"`
	Indication                                []CE    `hl7:"22,len=200,display=Indication"`
}

Pharmacy give segment

type RXO

type RXO struct {
	HL7                                    HL7Name `hl7:",name=RXO,type=s"`
	RequestedGiveCode                      CE      `hl7:"1,required,len=100,display=Requested Give Code"`
	RequestedGiveAmountMinimum             NM      `hl7:"2,required,len=20,display=Requested Give Amount - Minimum"`
	RequestedGiveAmountMaximum             NM      `hl7:"3,len=20,display=Requested Give Amount - Maximum"`
	RequestedGiveUnits                     CE      `hl7:"4,required,len=60,display=Requested Give Units"`
	RequestedDosageForm                    *CE     `hl7:"5,len=60,display=Requested Dosage Form"`
	ProvidersPharmacyInstructions          []CE    `hl7:"6,len=200,display=Provider's Pharmacy Instructions"`
	ProvidersAdministrationInstructions    []CE    `hl7:"7,len=200,display=Provider's Administration Instructions"`
	DeliverToLocation                      *LA1    `hl7:"8,len=200,display=Deliver To Location"`
	AllowSubstitutions                     ID      `hl7:"9,len=1,table=0161,display=Allow Substitutions"`
	RequestedDispenseCode                  *CE     `hl7:"10,len=100,display=Requested Dispense Code"`
	RequestedDispenseAmount                NM      `hl7:"11,len=20,display=Requested Dispense Amount"`
	RequestedDispenseUnits                 *CE     `hl7:"12,len=60,display=Requested Dispense Units"`
	NumberOfRefills                        NM      `hl7:"13,len=3,display=Number of Refills"`
	OrderingProvidersDEANumber             *XCN    `hl7:"14,conditional,len=60,display=Ordering Provider's DEA Number"`
	PharmacistTreatmentSuppliersVerifierID *XCN    `hl7:"15,conditional,len=60,display=Pharmacist/Treatment Supplier's Verifier ID"`
	NeedsHumanReview                       ID      `hl7:"16,len=1,table=0136,display=Needs Human Review"`
	RequestedGivePer                       ST      `hl7:"17,conditional,len=20,display=Requested Give Per"`
	RequestedGiveStrength                  NM      `hl7:"18,len=20,display=Requested Give Strength"`
	RequestedGiveStrengthUnits             *CE     `hl7:"19,len=60,display=Requested Give Strength Units"`
	Indication                             *CE     `hl7:"20,len=200,display=Indication"`
	RequestedGiveRateAmount                ST      `hl7:"21,len=6,display=Requested Give Rate Amount"`
	RequestedGiveRateUnits                 *CE     `hl7:"22,len=60,display=Requested Give Rate Units"`
}

Pharmacy prescription order segment

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 nonpharmacy treatments, e.g., respiratory therapy, oxygen, and metabolites.

In addition to the pharmaceutical 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 ORC7-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                CE      `hl7:"1,required,len=60,table=0162,display=Route"`
	Site                 *CE     `hl7:"2,len=60,table=0163,display=Site"`
	AdministrationDevice *CE     `hl7:"3,len=60,table=0164,display=Administration Device"`
	AdministrationMethod *CE     `hl7:"4,len=60,table=0165,display=Administration Method"`
}

Pharmacy route segment

The Pharmacy/Treatment Route segment contains the alternative combination of route, site, administration device, and administration method that are prescribed. 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 SCH

type SCH struct {
	HL7                       HL7Name `hl7:",name=SCH,type=s"`
	PlacerAppointmentID       EI      `hl7:"1,required,len=75,display=Placer Appointment ID"`
	FillerAppointmentID       *EI     `hl7:"2,conditional,len=75,display=Filler Appointment ID"`
	OccurrenceNumber          NM      `hl7:"3,conditional,len=5,display=Occurrence Number"`
	PlacerGroupNumber         *EI     `hl7:"4,len=75,display=Placer Group Number"`
	ScheduleID                *CE     `hl7:"5,len=200,display=Schedule ID"`
	EventReason               CE      `hl7:"6,required,len=200,display=Event Reason"`
	AppointmentReason         *CE     `hl7:"7,len=200,table=0276,display=Appointment Reason"`
	AppointmentType           *CE     `hl7:"8,len=200,table=0277,display=Appointment Type"`
	AppointmentDuration       NM      `hl7:"9,len=20,display=Appointment Duration"`
	AppointmentDurationUnits  *CE     `hl7:"10,len=200,display=Appointment Duration Units"`
	AppointmentTimingQuantity []TQ    `hl7:"11,required,len=200,display=Appointment Timing Quantity"`
	PlacerContactPerson       *XCN    `hl7:"12,len=48,display=Placer Contact Person"`
	PlacerContactPhoneNumber  *XTN    `hl7:"13,len=40,display=Placer Contact Phone Number"`
	PlacerContactAddress      *XAD    `hl7:"14,len=106,display=Placer Contact Address"`
	PlacerContactLocation     *PL     `hl7:"15,len=80,display=Placer Contact Location"`
	FillerContactPerson       XCN     `hl7:"16,required,len=38,display=Filler Contact Person"`
	FillerContactPhoneNumber  *XTN    `hl7:"17,len=40,display=Filler Contact Phone Number"`
	FillerContactAddress      *XAD    `hl7:"18,len=106,display=Filler Contact Address"`
	FillerContactLocation     *PL     `hl7:"19,len=80,display=Filler Contact Location"`
	EnteredByPerson           XCN     `hl7:"20,required,len=48,display=Entered By Person"`
	EnteredByPhoneNumber      []XTN   `hl7:"21,len=40,display=Entered By Phone Number"`
	EnteredByLocation         *PL     `hl7:"22,len=80,display=Entered By Location"`
	ParentPlacerAppointmentID *EI     `hl7:"23,len=75,display=Parent Placer Appointment ID"`
	ParentFillerAppointmentID *EI     `hl7:"24,conditional,len=75,display=Parent Filler Appointment ID"`
	FillerStatusCode          *CE     `hl7:"25,len=200,table=0278,display=Filler Status Code"`
}

Schedule Activity Information

The SCH segment contains general information about the scheduled appointment

type SCV

type SCV struct {
	HL7            HL7Name `hl7:",name=SCV,len=0,type=d"`
	ParameterClass IS      `` /* 138-byte string literal not displayed */
	ParameterValue ST      `` /* 340-byte string literal not displayed */
}

Scheduling Class Value Pair

For use only with the scheduling chapter.

This field 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

type SI

type SI = string

Sequence ID

A non-negative integer in the form of an NM field. The uses of this data type are defined in the chapters defining the segments and messages in which it appears

type SIU_S12

type SIU_S12 struct {
	HL7       HL7Name             `hl7:",name=SIU_S12,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S12_LocationResource

type SIU_S12_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S12_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S12_Patient

type SIU_S12_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S12_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S12_PersonnelResource

type SIU_S12_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S12_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S12_Resources

type SIU_S12_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S12_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S13

type SIU_S13 struct {
	HL7       HL7Name             `hl7:",name=SIU_S13,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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.

type SIU_S13_GeneralResource

type SIU_S13_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SIU_S13_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S13_LocationResource

type SIU_S13_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S13_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S13_Patient

type SIU_S13_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S13_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S13_PersonnelResource

type SIU_S13_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S13_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S13_Resources

type SIU_S13_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S13_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S14

type SIU_S14 struct {
	HL7       HL7Name             `hl7:",name=SIU_S14,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S14_LocationResource

type SIU_S14_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S14_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S14_Patient

type SIU_S14_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S14_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S14_PersonnelResource

type SIU_S14_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S14_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S14_Resources

type SIU_S14_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S14_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S15

type SIU_S15 struct {
	HL7       HL7Name             `hl7:",name=SIU_S15,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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.

type SIU_S15_GeneralResource

type SIU_S15_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SIU_S15_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S15_LocationResource

type SIU_S15_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S15_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S15_Patient

type SIU_S15_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S15_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S15_PersonnelResource

type SIU_S15_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S15_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S15_Resources

type SIU_S15_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S15_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S16

type SIU_S16 struct {
	HL7       HL7Name             `hl7:",name=SIU_S16,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S16_LocationResource

type SIU_S16_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S16_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S16_Patient

type SIU_S16_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S16_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S16_PersonnelResource

type SIU_S16_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S16_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S16_Resources

type SIU_S16_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S16_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S17

type SIU_S17 struct {
	HL7       HL7Name             `hl7:",name=SIU_S17,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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.

type SIU_S17_GeneralResource

type SIU_S17_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SIU_S17_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S17_LocationResource

type SIU_S17_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S17_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S17_Patient

type SIU_S17_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S17_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S17_PersonnelResource

type SIU_S17_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S17_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S17_Resources

type SIU_S17_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S17_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S18

type SIU_S18 struct {
	HL7       HL7Name             `hl7:",name=SIU_S18,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S18_LocationResource

type SIU_S18_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S18_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S18_Patient

type SIU_S18_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S18_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S18_PersonnelResource

type SIU_S18_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S18_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S18_Resources

type SIU_S18_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S18_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S19

type SIU_S19 struct {
	HL7       HL7Name             `hl7:",name=SIU_S19,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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.

type SIU_S19_GeneralResource

type SIU_S19_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SIU_S19_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S19_LocationResource

type SIU_S19_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S19_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S19_Patient

type SIU_S19_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S19_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S19_PersonnelResource

type SIU_S19_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S19_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S19_Resources

type SIU_S19_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S19_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S20

type SIU_S20 struct {
	HL7       HL7Name             `hl7:",name=SIU_S20,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S20_LocationResource

type SIU_S20_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S20_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S20_Patient

type SIU_S20_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S20_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S20_PersonnelResource

type SIU_S20_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S20_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S20_Resources

type SIU_S20_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S20_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S21

type SIU_S21 struct {
	HL7       HL7Name             `hl7:",name=SIU_S21,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S21_LocationResource

type SIU_S21_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S21_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S21_Patient

type SIU_S21_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S21_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S21_PersonnelResource

type SIU_S21_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S21_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S21_Resources

type SIU_S21_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S21_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S22

type SIU_S22 struct {
	HL7       HL7Name             `hl7:",name=SIU_S22,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S22_LocationResource

type SIU_S22_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S22_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S22_Patient

type SIU_S22_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S22_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S22_PersonnelResource

type SIU_S22_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S22_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S22_Resources

type SIU_S22_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S22_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S23

type SIU_S23 struct {
	HL7       HL7Name             `hl7:",name=SIU_S23,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S23_LocationResource

type SIU_S23_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S23_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S23_Patient

type SIU_S23_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S23_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S23_PersonnelResource

type SIU_S23_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S23_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S23_Resources

type SIU_S23_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S23_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S24

type SIU_S24 struct {
	HL7       HL7Name             `hl7:",name=SIU_S24,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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.

type SIU_S24_GeneralResource

type SIU_S24_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SIU_S24_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S24_LocationResource

type SIU_S24_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S24_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S24_Patient

type SIU_S24_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S24_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S24_PersonnelResource

type SIU_S24_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S24_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S24_Resources

type SIU_S24_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S24_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SIU_S26

type SIU_S26 struct {
	HL7       HL7Name             `hl7:",name=SIU_S26,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	SCH       *SCH                `hl7:"2,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"3,display=Notes and comments segment"`
	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).

type SIU_S26_GeneralResource

type SIU_S26_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SIU_S26_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"12,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

GeneralResource

type SIU_S26_LocationResource

type SIU_S26_LocationResource struct {
	HL7 HL7Name `hl7:",name=SIU_S26_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

LocationResource

type SIU_S26_Patient

type SIU_S26_Patient struct {
	HL7 HL7Name `hl7:",name=SIU_S26_Patient,type=tg"`
	PID *PID    `hl7:"4,required,display=Patient Identification"`
	PV1 *PV1    `hl7:"5,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
	OBX []OBX   `hl7:"7,display=Observation segment"`
	DG1 []DG1   `hl7:"8,display=Diagnosis"`
}

Patient

type SIU_S26_PersonnelResource

type SIU_S26_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SIU_S26_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SIU_S26_Resources

type SIU_S26_Resources struct {
	HL7               HL7Name                     `hl7:",name=SIU_S26_Resources,type=tg"`
	RGS               *RGS                        `hl7:"9,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:"10,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"11,display=Notes and comments segment"`
}

Service

type SPQ_Q01

type SPQ_Q01 struct {
	HL7 HL7Name `hl7:",name=SPQ_Q01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	SPR *SPR    `hl7:"2,required,display=Stored Procedure Request Definition"`
	RDF *RDF    `hl7:"3,display=Table Row Definition"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Stored procedure request

type SPR

type SPR struct {
	HL7                     HL7Name `hl7:",name=SPR,type=s"`
	QueryTag                ST      `hl7:"1,len=32,display=Query tag"`
	QueryResponseFormatCode ID      `hl7:"2,required,len=1,table=0106,display=Query/ Response Format Code"`
	StoredProcedureName     CE      `hl7:"3,required,len=60,display=Stored procedure name"`
	InputParameterList      []QIP   `hl7:"4,len=256,display=Input parameter list"`
}

Stored Procedure Request Definition

The SPR segment is used to issue queries using stored procedure calls. Refer to the functional chapters for the lists of HL7-defined stored procedure names, input parameters and output tables

type SQM_S25

type SQM_S25 struct {
	HL7     HL7Name          `hl7:",name=SQM_S25,type=t"`
	MSH     *MSH             `hl7:"1,required,display=Message header segment"`
	QRD     *QRD             `hl7:"2,required,display=Query definition segment"`
	QRF     *QRF             `hl7:"3,display=Query filter segment"`
	Request *SQM_S25_Request `hl7:",display=Request"`
	DSC     *DSC             `hl7:"16,display=Continuation pointer segment"`
}

Schedule query message and response

Original Mode record-oriented query transactions are initiated from the querying application using the Schedule Query (SQM) to request information about a filler application’s schedule(s). The filler application responds to these requests, using the Schedule Query Response (SQR) message to either return the requested information, or to signal that an interfacing error of some kind has occurred.

type SQM_S25_GeneralResource

type SQM_S25_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SQM_S25_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"10,required,display=Appointment Information - General Resource"`
	APR *APR    `hl7:"11,display=Appointment Preferences"`
}

GeneralResource

type SQM_S25_LocationResource

type SQM_S25_LocationResource struct {
	HL7 HL7Name `hl7:",name=SQM_S25_LocationResource,type=tg"`
	AIL *AIL    `hl7:"14,required,display=Appointment Information - Location"`
	APR *APR    `hl7:"15,display=Appointment Preferences"`
}

LocationResource

type SQM_S25_PersonnelResource

type SQM_S25_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SQM_S25_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"12,required,display=Appointment Information - Personnel Resource"`
	APR *APR    `hl7:"13,display=Appointment Preferences"`
}

PersonnelResource

type SQM_S25_Request

type SQM_S25_Request struct {
	HL7       HL7Name             `hl7:",name=SQM_S25_Request,type=tg"`
	ARQ       *ARQ                `hl7:"4,required,display=Appointment Request"`
	APR       *APR                `hl7:"5,display=Appointment Preferences"`
	PID       *PID                `hl7:"6,display=Patient Identification"`
	Resources []SQM_S25_Resources `hl7:",required,display=Resources"`
}

Request

type SQM_S25_Resources

type SQM_S25_Resources struct {
	HL7               HL7Name                     `hl7:",name=SQM_S25_Resources,type=tg"`
	RGS               *RGS                        `hl7:"7,required,display=Resource Group"`
	Service           []SQM_S25_Service           `hl7:",display=Service"`
	GeneralResource   []SQM_S25_GeneralResource   `hl7:",display=General Resource"`
	PersonnelResource []SQM_S25_PersonnelResource `hl7:",display=Personnel Resource"`
	LocationResource  []SQM_S25_LocationResource  `hl7:",display=Location Resource"`
}

Resources

type SQM_S25_Service

type SQM_S25_Service struct {
	HL7 HL7Name `hl7:",name=SQM_S25_Service,type=tg"`
	AIS *AIS    `hl7:"8,required,display=Appointment Information - Service"`
	APR *APR    `hl7:"9,display=Appointment Preferences"`
}

Service

type SQR_S25

type SQR_S25 struct {
	HL7      HL7Name            `hl7:",name=SQR_S25,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message header segment"`
	MSA      *MSA               `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR               `hl7:"3,display=Error segment"`
	QAK      *QAK               `hl7:"4,required,display=Query Acknowledgement"`
	Schedule []SQR_S25_Schedule `hl7:",display=Schedule"`
	DSC      *DSC               `hl7:"20,display=Continuation pointer segment"`
}

Schedule query message and response

Original Mode record-oriented query transactions are initiated from the querying application using the Schedule Query (SQM) to request information about a filler application’s schedule(s). The filler application responds to these requests, using the Schedule Query Response (SQR) message to either return the requested information, or to signal that an interfacing error of some kind has occurred.

type SQR_S25_GeneralResource

type SQR_S25_GeneralResource struct {
	HL7 HL7Name `hl7:",name=SQR_S25_GeneralResource,type=tg"`
	AIG *AIG    `hl7:"14,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"15,display=Notes and comments segment"`
}

GeneralResource

type SQR_S25_LocationResource

type SQR_S25_LocationResource struct {
	HL7 HL7Name `hl7:",name=SQR_S25_LocationResource,type=tg"`
	AIL *AIL    `hl7:"18,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

LocationResource

type SQR_S25_Patient

type SQR_S25_Patient struct {
	HL7 HL7Name `hl7:",name=SQR_S25_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 SQR_S25_PersonnelResource

type SQR_S25_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SQR_S25_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"16,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

PersonnelResource

type SQR_S25_Resources

type SQR_S25_Resources struct {
	HL7               HL7Name                     `hl7:",name=SQR_S25_Resources,type=tg"`
	RGS               *RGS                        `hl7:"11,required,display=Resource Group"`
	Service           []SQR_S25_Service           `hl7:",display=Service"`
	GeneralResource   []SQR_S25_GeneralResource   `hl7:",display=General Resource"`
	PersonnelResource []SQR_S25_PersonnelResource `hl7:",display=Personnel Resource"`
	LocationResource  []SQR_S25_LocationResource  `hl7:",display=Location Resource"`
}

Resources

type SQR_S25_Schedule

type SQR_S25_Schedule struct {
	HL7       HL7Name             `hl7:",name=SQR_S25_Schedule,type=tg"`
	SCH       *SCH                `hl7:"5,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"6,display=Notes and comments segment"`
	Patient   *SQR_S25_Patient    `hl7:",display=Patient"`
	Resources []SQR_S25_Resources `hl7:",required,display=Resources"`
}

Schedule

type SQR_S25_Service

type SQR_S25_Service struct {
	HL7 HL7Name `hl7:",name=SQR_S25_Service,type=tg"`
	AIS *AIS    `hl7:"12,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S01

type SRM_S01 struct {
	HL7       HL7Name             `hl7:",name=SRM_S01,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S02

type SRM_S02 struct {
	HL7       HL7Name             `hl7:",name=SRM_S02,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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.

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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S03

type SRM_S03 struct {
	HL7       HL7Name             `hl7:",name=SRM_S03,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S04

type SRM_S04 struct {
	HL7       HL7Name             `hl7:",name=SRM_S04,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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

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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S05

type SRM_S05 struct {
	HL7       HL7Name             `hl7:",name=SRM_S05,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S06

type SRM_S06 struct {
	HL7       HL7Name             `hl7:",name=SRM_S06,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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.

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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S07

type SRM_S07 struct {
	HL7       HL7Name             `hl7:",name=SRM_S07,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S08

type SRM_S08 struct {
	HL7       HL7Name             `hl7:",name=SRM_S08,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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

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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S09

type SRM_S09 struct {
	HL7       HL7Name             `hl7:",name=SRM_S09,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S10

type SRM_S10 struct {
	HL7       HL7Name             `hl7:",name=SRM_S10,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRM_S11

type SRM_S11 struct {
	HL7       HL7Name             `hl7:",name=SRM_S11,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	ARQ       *ARQ                `hl7:"2,required,display=Appointment Request"`
	APR       *APR                `hl7:"3,display=Appointment Preferences"`
	NTE       []NTE               `hl7:"4,display=Notes and comments segment"`
	Patient   []SRM_S11_Patient   `hl7:",display=Patient"`
	Resources []SRM_S11_Resources `hl7:",required,display=Resources"`
}

Request deletion of service/resource on 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 segment"`
}

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"`
	APR *APR    `hl7:"18,display=Appointment Preferences"`
	NTE []NTE   `hl7:"19,display=Notes and comments segment"`
}

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 segment"`
	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 segment"`
}

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 - Service"`
	APR *APR    `hl7:"12,display=Appointment Preferences"`
	NTE []NTE   `hl7:"13,display=Notes and comments segment"`
}

Service

type SRR_S01

type SRR_S01 struct {
	HL7      HL7Name           `hl7:",name=SRR_S01,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S01_Schedule `hl7:",display=Schedule"`
}

Response 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 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 segment"`
}

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"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

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 segment"`
}

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"`
	SCH       *SCH                `hl7:"4,required,display=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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 - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S02

type SRR_S02 struct {
	HL7      HL7Name           `hl7:",name=SRR_S02,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S02_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S02_LocationResource

type SRR_S02_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S02_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S02_Patient

type SRR_S02_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S02_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_S02_PersonnelResource

type SRR_S02_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S02_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S02_Resources

type SRR_S02_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S02_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S03

type SRR_S03 struct {
	HL7      HL7Name           `hl7:",name=SRR_S03,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S03_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S03_LocationResource

type SRR_S03_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S03_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S03_Patient

type SRR_S03_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S03_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_S03_PersonnelResource

type SRR_S03_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S03_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S03_Resources

type SRR_S03_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S03_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S04

type SRR_S04 struct {
	HL7      HL7Name           `hl7:",name=SRR_S04,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S04_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S04_LocationResource

type SRR_S04_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S04_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S04_Patient

type SRR_S04_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S04_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_S04_PersonnelResource

type SRR_S04_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S04_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S04_Resources

type SRR_S04_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S04_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S05

type SRR_S05 struct {
	HL7      HL7Name           `hl7:",name=SRR_S05,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S05_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S05_LocationResource

type SRR_S05_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S05_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S05_Patient

type SRR_S05_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S05_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_S05_PersonnelResource

type SRR_S05_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S05_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S05_Resources

type SRR_S05_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S05_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S06

type SRR_S06 struct {
	HL7      HL7Name           `hl7:",name=SRR_S06,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S06_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S06_LocationResource

type SRR_S06_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S06_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S06_Patient

type SRR_S06_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S06_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_S06_PersonnelResource

type SRR_S06_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S06_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S06_Resources

type SRR_S06_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S06_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S07

type SRR_S07 struct {
	HL7      HL7Name           `hl7:",name=SRR_S07,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S07_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S07_LocationResource

type SRR_S07_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S07_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S07_Patient

type SRR_S07_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S07_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_S07_PersonnelResource

type SRR_S07_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S07_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S07_Resources

type SRR_S07_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S07_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S08

type SRR_S08 struct {
	HL7      HL7Name           `hl7:",name=SRR_S08,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S08_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S08_LocationResource

type SRR_S08_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S08_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S08_Patient

type SRR_S08_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S08_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_S08_PersonnelResource

type SRR_S08_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S08_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S08_Resources

type SRR_S08_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S08_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S09

type SRR_S09 struct {
	HL7      HL7Name           `hl7:",name=SRR_S09,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S09_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S09_LocationResource

type SRR_S09_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S09_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S09_Patient

type SRR_S09_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S09_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_S09_PersonnelResource

type SRR_S09_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S09_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S09_Resources

type SRR_S09_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S09_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S10

type SRR_S10 struct {
	HL7      HL7Name           `hl7:",name=SRR_S10,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S10_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S10_LocationResource

type SRR_S10_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S10_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S10_Patient

type SRR_S10_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S10_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_S10_PersonnelResource

type SRR_S10_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S10_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S10_Resources

type SRR_S10_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S10_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type SRR_S11

type SRR_S11 struct {
	HL7      HL7Name           `hl7:",name=SRR_S11,type=t"`
	MSH      *MSH              `hl7:"1,required,display=Message header segment"`
	MSA      *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	ERR      *ERR              `hl7:"3,display=Error segment"`
	Schedule *SRR_S11_Schedule `hl7:",display=Schedule"`
}

Response 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:"13,required,display=Appointment Information - General Resource"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

GeneralResource

type SRR_S11_LocationResource

type SRR_S11_LocationResource struct {
	HL7 HL7Name `hl7:",name=SRR_S11_LocationResource,type=tg"`
	AIL *AIL    `hl7:"15,required,display=Appointment Information - Location"`
	NTE []NTE   `hl7:"16,display=Notes and comments segment"`
}

LocationResource

type SRR_S11_Patient

type SRR_S11_Patient struct {
	HL7 HL7Name `hl7:",name=SRR_S11_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_S11_PersonnelResource

type SRR_S11_PersonnelResource struct {
	HL7 HL7Name `hl7:",name=SRR_S11_PersonnelResource,type=tg"`
	AIP *AIP    `hl7:"17,required,display=Appointment Information - Personnel Resource"`
	NTE []NTE   `hl7:"18,display=Notes and comments segment"`
}

PersonnelResource

type SRR_S11_Resources

type SRR_S11_Resources struct {
	HL7               HL7Name                     `hl7:",name=SRR_S11_Resources,type=tg"`
	RGS               *RGS                        `hl7:"10,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=Schedule Activity Information"`
	NTE       []NTE               `hl7:"5,display=Notes and comments segment"`
	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:"11,required,display=Appointment Information - Service"`
	NTE []NTE   `hl7:"12,display=Notes and comments segment"`
}

Service

type ST

type ST = string

String Data

To include any HL7 delimiter character (except the segment terminator) within a string data field, use the appropriate HL7 escape sequence (see Section 2.9.1, Formatting codes).

type STF

type STF struct {
	HL7                      HL7Name  `hl7:",name=STF,type=s"`
	PrimaryKeyValue          CE       `hl7:"1,required,len=60,display=STF - Primary Key Value"`
	StaffIDCode              []CX     `hl7:"2,len=60,display=Staff ID Code"`
	StaffName                *XPN     `hl7:"3,len=48,display=Staff Name"`
	StaffType                []ID     `hl7:"4,len=2,table=0182,display=Staff Type"`
	Sex                      IS       `hl7:"5,len=1,table=0001,display=Sex"`
	DateOfBirth              TS       `hl7:"6,len=26,format=YMDHMS,display=Date of Birth"`
	ActiveInactiveFlag       ID       `hl7:"7,len=1,table=0183,display=Active/Inactive Flag"`
	Department               []CE     `hl7:"8,len=200,table=0184,display=Department"`
	Service                  []CE     `hl7:"9,len=200,table=0069,display=Service"`
	Phone                    []XTN    `hl7:"10,len=40,display=Phone"`
	OfficeHomeAddress        []XAD    `hl7:"11,len=106,display=Office/Home Address"`
	ActivationDate           []CM_DIN `hl7:"12,len=26,display=Activation Date"`
	InactivationDate         []CM_DIN `hl7:"13,len=26,display=Inactivation Date"`
	BackupPersonID           []CE     `hl7:"14,len=60,display=Backup Person ID"`
	EMailAddress             []ST     `hl7:"15,len=40,display=E-mail Address"`
	PreferredMethodOfContact ID       `hl7:"16,len=1,table=0185,display=Preferred Method of Contact"`
	MaritalStatus            IS       `hl7:"17,len=1,table=0002,display=Marital Status"`
	JobTitle                 ST       `hl7:"18,len=20,display=Job Title"`
	JobCodeClass             *JCC     `hl7:"19,len=20,display=Job Code/Class"`
	EmploymentStatus         IS       `hl7:"20,len=2,table=0066,display=Employment Status"`
	AdditionalInsuredOnAuto  ID       `hl7:"21,len=1,table=0136,display=Additional Insured on Auto"`
	DriversLicenseNumber     *DLN     `hl7:"22,len=25,display=Driver's License Number"`
	CopyAutoIns              ID       `hl7:"23,len=1,table=0136,display=Copy Auto Ins"`
	AutoInsExpires           DT       `hl7:"24,len=8,format=YMD,display=Auto Ins. Expires"`
	DateLastDMVReview        DT       `hl7:"25,len=8,format=YMD,display=Date Last DMV Review"`
	DateNextDMVReview        DT       `hl7:"26,len=8,format=YMD,display=Date Next DMV Review"`
}

Staff identification segment

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. 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.

type SUR_P09

type SUR_P09 struct {
	HL7      HL7Name            `hl7:",name=SUR_P09,type=t"`
	MSH      *MSH               `hl7:"1,required,display=Message header segment"`
	Facility []SUR_P09_Facility `hl7:",required,display=Facility"`
}

Summary 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

type SUR_P09_Facility

type SUR_P09_Facility struct {
	HL7            HL7Name                  `hl7:",name=SUR_P09_Facility,type=tg"`
	FAC            *FAC                     `hl7:"2,required,display=Facility"`
	Product        []SUR_P09_Product        `hl7:",required,display=Product"`
	PSH            *PSH                     `hl7:"5,required,display=Product Summary Header"`
	FacilityDetail []SUR_P09_FacilityDetail `hl7:",required,display=Facility Detail"`
}

Facility

type SUR_P09_FacilityDetail

type SUR_P09_FacilityDetail struct {
	HL7 HL7Name `hl7:",name=SUR_P09_FacilityDetail,type=tg"`
	FAC *FAC    `hl7:"6,required,display=Facility"`
	PDC *PDC    `hl7:"7,required,display=Product Detail Country"`
	NTE *NTE    `hl7:"8,required,display=Notes and comments segment"`
}

FacilityDetail

type SUR_P09_Product

type SUR_P09_Product struct {
	HL7 HL7Name `hl7:",name=SUR_P09_Product,type=tg"`
	PSH *PSH    `hl7:"3,required,display=Product Summary Header"`
	PDC *PDC    `hl7:"4,required,display=Product Detail Country"`
}

Product

type TBR_Q01

type TBR_Q01 struct {
	HL7 HL7Name `hl7:",name=TBR_Q01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	MSA *MSA    `hl7:"2,required,display=Message acknowledgement segment"`
	ERR *ERR    `hl7:"3,display=Error segment"`
	QAK *QAK    `hl7:"4,required,display=Query Acknowledgement"`
	RDF *RDF    `hl7:"5,required,display=Table Row Definition"`
	RDT []RDT   `hl7:"6,required,display=Table Row Data"`
	DSC *DSC    `hl7:"7,display=Continuation pointer segment"`
}

Tabular data response

type TM

type TM = time.Time

Time

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

In prior versions of HL7, this data type was always specified to be in the format HHMM[SS[.SSSS]]+/ZZZZ using a 24 hour clock notation. In the current and future versions, the precision of a time may be expressed by limiting the number of digits used with the format specification as shown above. By sitespecific agreement, HHMM[SS[.SSSS]]+/-ZZZZ may be used where backward compatibility must be maintained.

Thus, HH is used to specify a precision of “hour,” HHMM is used to specify a precision of “minute,” HHMMSS is used to specify a precision of seconds, and HHMMSS.SSSS is used to specify a precision of ten-thousandths of a second.

In each of these cases, the time zone is an optional component. The fractional seconds could be sent by a transmitter who requires greater precision than whole seconds. Fractional representations of minutes, hours or other higher orders units of time are not permitted. The time zone of the sender may be sent optionally as an offset from the coordinated universal time (previously known as Greenwich Mean Time). Where the time zone is not present in a particular TM field but is included as part of the date/time field in the MSH segment, the MSH value will be used as the default time zone. Otherwise, the time is understood to refer to the local time of the sender. Midnight is represented as 0000.

Examples:

1 second before midnight in a time zone eleven hours ahead of Universal Coordinated Time (i.e., east of Greenwich). |235959+1100|

Eight AM, local time of the sender. |0800|

44.2312 seconds after Nine thirty-five AM, local time of sender. |093544.2312|

1pm (with a precision of hours), local time of sender. |13|

type TN

type TN = string

Telephone Number

For use in the United States and conforming countries, the telephone number is always in the form:

Format: [NN] [(999)]999-9999[X99999][B99999][C any text]

The optional first two digits are the country code. The optional X portion gives an extension. The optional B portion gives a beeper code. The optional C portion may be used for comments like, After 6:00. While no explicit limit is placed on the text field, receiving systems may be expected to truncate values that are more than 10 characters long. To accommodate the variability of institutional phone systems, the length of the extension and beeper numbers may be extended by local agreement.

Examples: |(415)925-0121X305| |234-4532CWEEKENDS|

type TQ

type TQ struct {
	HL7             HL7Name `hl7:",name=TQ,len=0,type=d"`
	Quantity        *CQ     `` /* 398-byte string literal not displayed */
	Interval        *RI     `` /* 238-byte string literal not displayed */
	Duration        ST      `` /* 746-byte string literal not displayed */
	StartDateTime   TS      `` /* 550-byte string literal not displayed */
	EndDateTime     TS      `` /* 573-byte string literal not displayed */
	Priority        ST      `` /* 1110-byte string literal not displayed */
	Condition       ST      `` /* 316-byte string literal not displayed */
	Text            TX      `hl7:"8,display=This field is a full text version of the instruction (optional)"`
	Conjunction     ST      `` /* 1276-byte string literal not displayed */
	OrderSequencing *CM_OSD `` /* 850-byte string literal not displayed */
}

Timing Quantity

Quantity/timing (ORC-7, OBR-27) provides a means of specifying when the service described by the order segment is to be performed and how frequently. It is a complex multicomponent field that can have repeats; i.e., more than one quantity/timing specification, separated by repeat delimiters, may appear. It is a distinct data type (see Section 2.8.41, “TQ - timing quantity”). The components of a single quantity/timing specification are described in the Sections: 4.4.1, “Quantity component (CQ),” through 4.4.10, “Order sequencing component (CM).”

type TS

type TS = time.Time

Time Stamp

Contains the exact time of an event, including the date and time. The date portion of a time stamp follows the rules of a date field and the time portion follows the rules of a time field. The time zone (+/-ZZZZ) is represented as +/-HHMM offset from UCT (formerly Greenwich Mean Time (GMT)), where +0000 or -0000 both represent UCT (without offset). The specific data representations used in the HL7 encoding rules are compatible with ISO 8824-1987(E).

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 later in this chapter in Section 2.9, “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.

Usage note: the maximum length of a TX data field is 64K

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                    IS      `hl7:"2,required,len=30,table=0270,display=Document Type"`
	DocumentContentPresentation     ID      `hl7:"3,conditional,len=2,table=0191,display=Document Content Presentation"`
	ActivityDateTime                TS      `hl7:"4,len=26,format=YMDHMS,display=Activity Date/Time"`
	PrimaryActivityProviderCodeName *XCN    `hl7:"5,conditional,len=60,display=Primary Activity Provider Code/Name"`
	OriginationDateTime             TS      `hl7:"6,len=26,format=YMDHMS,display=Origination Date/Time"`
	TranscriptionDateTime           TS      `hl7:"7,conditional,len=26,format=YMDHMS,display=Transcription Date/Time"`
	EditDateTime                    []TS    `hl7:"8,len=26,format=YMDHMS,display=Edit Date/Time"`
	OriginatorCodeName              *XCN    `hl7:"9,len=60,display=Originator Code/Name"`
	AssignedDocumentAuthenticator   []XCN   `hl7:"10,len=60,display=Assigned Document Authenticator"`
	TranscriptionistCodeName        *XCN    `hl7:"11,conditional,len=48,display=Transcriptionist Code/Name"`
	UniqueDocumentNumber            EI      `hl7:"12,required,len=30,display=Unique Document Number"`
	ParentDocumentNumber            *EI     `hl7:"13,conditional,len=30,display=Parent Document Number"`
	PlacerOrderNumber               []EI    `hl7:"14,len=22,display=Placer Order Number"`
	FillerOrderNumber               *EI     `hl7:"15,len=22,display=Filler Order Number"`
	UniqueDocumentFileName          ST      `hl7:"16,len=30,display=Unique Document File Name"`
	DocumentCompletionStatus        ID      `hl7:"17,required,len=2,table=0271,display=Document Completion Status"`
	DocumentConfidentialityStatus   ID      `hl7:"18,len=2,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,conditional,len=30,display=Document Change Reason"`
	AuthenticationPersonTimeStamp   []PPN   `hl7:"22,conditional,len=60,display=Authentication Person- Time Stamp"`
	DistributedCopies               []XCN   `hl7:"23,len=60,display=Distributed Copies"`
}

Document notification segment

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 is used to update other healthcare systems 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 UB1

type UB1 struct {
	HL7                     HL7Name  `hl7:",name=UB1,type=s"`
	SetID                   SI       `hl7:"1,seq,len=4,display=Set ID - UB1"`
	BloodDeductible         NM       `hl7:"2,len=1,display=Blood Deductible"`
	BloodFurnishedPintsOf   NM       `hl7:"3,len=2,display=Blood Furnished Pints Of"`
	BloodReplacedPints      NM       `hl7:"4,len=2,display=Blood Replaced Pints"`
	BloodNotReplacedPints   NM       `hl7:"5,len=2,display=Blood Not Replaced Pints"`
	CoInsuranceDays         NM       `hl7:"6,len=2,display=Co Insurance Days"`
	ConditionCode           []IS     `hl7:"7,max=5,len=14,table=0043,display=Condition Code"`
	CoveredDays             NM       `hl7:"8,len=3,display=Covered Days"`
	NonCoveredDays          NM       `hl7:"9,len=3,display=Non Covered Days"`
	ValueAmountCode         []CM_UVC `hl7:"10,max=8,len=12,display=Value Amount & Code"`
	NumberOfGraceDays       NM       `hl7:"11,len=2,display=Number Of Grace Days"`
	SpecProgramIndicator    *CE      `hl7:"12,len=60,display=Spec Program Indicator"`
	PSROURApprovalIndicator *CE      `hl7:"13,len=60,display=PSRO/UR Approval Indicator"`
	PSROURApprovedStayFm    DT       `hl7:"14,len=8,format=YMD,display=PSRO/UR Approved Stay Fm"`
	PSROURApprovedStayTo    DT       `hl7:"15,len=8,format=YMD,display=PSRO/UR Approved Stay To"`
	Occurrence              []CM_OCD `hl7:"16,max=5,len=20,display=Occurrence"`
	OccurrenceSpan          *CE      `hl7:"17,len=60,display=Occurrence Span"`
	OccurSpanStartDate      DT       `hl7:"18,len=8,format=YMD,display=Occur Span Start Date"`
	OccurSpanEndDate        DT       `hl7:"19,len=8,format=YMD,display=Occur Span End Date"`
	UB82Locator2            ST       `hl7:"20,len=30,display=UB 82 Locator 2"`
	UB82Locator9            ST       `hl7:"21,len=7,display=UB 82 Locator 9"`
	UB82Locator27           ST       `hl7:"22,len=8,display=UB 82 Locator 27"`
	UB82Locator45           ST       `hl7:"23,len=17,display=UB 82 Locator 45"`
}

UB82 data

The UB1 segment contains the data necessary to complete UB82 bills. Only UB82 fields that do not exist in other HL7 defined segments appear in this segment. Patient Name and Date of Birth are required for UB82 billing; however, they are included in the PID segment and therefore do not appear here.

type UB2

type UB2 struct {
	HL7                     HL7Name  `hl7:",name=UB2,type=s"`
	SetID                   SI       `hl7:"1,seq,len=4,display=Set ID - UB2"`
	CoInsuranceDays         ST       `hl7:"2,len=3,display=Co-Insurance Days"`
	ConditionCode           []IS     `hl7:"3,max=7,len=2,table=0043,display=Condition Code"`
	CoveredDays             ST       `hl7:"4,len=3,display=Covered Days"`
	NonCoveredDays          ST       `hl7:"5,len=4,display=Non-Covered Days"`
	ValueAmountCode         []CM_UVC `hl7:"6,max=12,len=11,display=Value Amount & Code"`
	OccurrenceCodeDate      []CM_OCD `hl7:"7,max=8,len=11,display=Occurrence Code & Date"`
	OccurrenceSpanCodeDates []CM_OSP `hl7:"8,max=2,len=28,display=Occurrence Span Code/Dates"`
	UB92Locator2            []ST     `hl7:"9,max=2,len=29,display=UB92 Locator 2"`
	UB92Locator11           []ST     `hl7:"10,max=2,len=12,display=UB92 Locator 11"`
	UB92Locator31           ST       `hl7:"11,len=5,display=UB92 Locator 31"`
	DocumentControlNumber   []ST     `hl7:"12,max=3,len=23,display=Document Control Number"`
	UB92Locator49           []ST     `hl7:"13,max=23,len=4,display=UB92 Locator 49"`
	UB92Locator56           []ST     `hl7:"14,max=5,len=14,display=UB92 Locator 56"`
	UB92Locator57           ST       `hl7:"15,len=27,display=UB92 Locator 57"`
	UB92Locator78           []ST     `hl7:"16,max=2,len=2,display=UB92 Locator 78"`
	SpecialVisitCount       NM       `hl7:"17,len=3,display=Special Visit Count"`
}

UB92 data

The UB2 segment contains data necessary to complete UB92 bills. Only UB92 fields that do not exist in other HL7 defined segments appear in this segment. Just as with the UB82 billing, Patient Name and Date of Birth are required; they are included in the PID segment and therefore do not appear here. When the field locators are different on the UB92, as compared to the UB82, the element is listed with its new location in parentheses ( ).

type UDM_Q05

type UDM_Q05 struct {
	HL7 HL7Name `hl7:",name=UDM_Q05,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	URD *URD    `hl7:"2,required,display=Results/update definition segment"`
	URS *URS    `hl7:"3,display=Unsolicited selection segment"`
	DSP []DSP   `hl7:"4,required,display=Display data segment"`
	DSC *DSC    `hl7:"5,display=Continuation pointer segment"`
}

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 UDM_R06

type UDM_R06 struct {
	HL7 HL7Name `hl7:",name=UDM_R06,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	URD *URD    `hl7:"2,required,display=Results/update definition segment"`
	URS *URS    `hl7:"3,display=Unsolicited selection segment"`
	DSP []DSP   `hl7:"4,required,display=Display data segment"`
	DSC *DSC    `hl7:"5,display=Continuation pointer segment"`
}

Continuation of unsolicited display update message

Like other types of HL7 messages, the UDM message can be continued by use of the DSC segment and MSH-14-continuation pointer.

type URD

type URD struct {
	HL7                     HL7Name `hl7:",name=URD,type=s"`
	RUDateTime              TS      `hl7:"1,len=26,format=YMDHMS,display=R/U Date/Time"`
	ReportPriority          ID      `hl7:"2,len=1,table=0109,display=Report Priority"`
	RUWhoSubjectDefinition  []XCN   `hl7:"3,required,len=60,display=R/U Who Subject Definition"`
	RUWhatSubjectDefinition []CE    `hl7:"4,len=60,table=0048,display=R/U What Subject Definition"`
	RUWhatDepartmentCode    []CE    `hl7:"5,len=60,display=R/U What Department Code"`
	RUDisplayPrintLocations []ST    `hl7:"6,len=20,display=R/U Display/Print Locations"`
	RUResultsLevel          ID      `hl7:"7,len=1,table=0108,display=R/U Results Level"`
}

Results/update definition segment

The URD segment is used in sending unsolicited updates about orders and results. It’s purpose is similar to that of the QRD segment, but from the results/unsolicited update point of view. Some of the fields have parallels in the QRD segment

type URS

type URS struct {
	HL7                             HL7Name `hl7:",name=URS,type=s"`
	RUWhereSubjectDefinition        []ST    `hl7:"1,required,len=20,display=R/U Where Subject Definition"`
	RUWhenDataStartDateTime         TS      `hl7:"2,len=26,format=YMDHMS,display=R/U When Data Start Date/Time"`
	RUWhenDataEndDateTime           TS      `hl7:"3,len=26,format=YMDHMS,display=R/U When Data End Date/Time"`
	RUWhatUserQualifier             []ST    `hl7:"4,len=20,display=R/U What User Qualifier"`
	RUOtherResultsSubjectDefinition []ST    `hl7:"5,len=20,display=R/U Other Results Subject Definition"`
	RUWhichDateTimeQualifier        []ID    `hl7:"6,len=12,table=0156,display=R/U Which Date/Time Qualifier"`
	RUWhichDateTimeStatusQualifier  []ID    `hl7:"7,len=12,table=0157,display=R/U Which Date/Time Status Qualifier"`
	RUDateTimeSelectionQualifier    []ID    `hl7:"8,len=12,table=0158,display=R/U Date/Time Selection Qualifier"`
	RUQuantityTimingQualifier       *TQ     `hl7:"9,len=60,display=R/U Quantity/Timing Qualifier"`
}

Unsolicited selection segment

The URS segment is identical with the QRF segment, except that if the name of any field contains Query (of QRY), this word has been changed to Results (see URS-5-R/U other results subject definition).

type VAR

type VAR struct {
	HL7                    HL7Name `hl7:",name=VAR,type=s"`
	VarianceInstanceID     EI      `hl7:"1,required,len=60,display=Variance Instance ID"`
	DocumentedDateTime     TS      `hl7:"2,required,len=26,format=YMDHMS,display=Documented Date/Time"`
	StatedVarianceDateTime TS      `hl7:"3,len=26,format=YMDHMS,display=Stated Variance Date/Time"`
	VarianceOriginator     *XCN    `hl7:"4,len=860,display=Variance Originator"`
	VarianceClassification *CE     `hl7:"5,len=60,display=Variance Classification"`
	VarianceDescription    []ST    `hl7:"6,len=512,display=Variance Description"`
}

Variance

The variance segment contains the data necessary to describes differences that may have occurred at the time when a healthcare event was documented.

type VARIES

type VARIES = CE

Variable Datatype

type VH

type VH struct {
	HL7            HL7Name `hl7:",name=VH,len=0,type=d"`
	StartDayRange  ID      `hl7:"1,table=0267,display=Starting day of visiting hours range.  See HL7 table 0267 - Days of the week for values"`
	EndDayRange    ID      `` /* 152-byte string literal not displayed */
	StartHourRange TM      `` /* 136-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 VQQ_Q01

type VQQ_Q01 struct {
	HL7 HL7Name `hl7:",name=VQQ_Q01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	VTQ *VTQ    `hl7:"2,required,display=Virtual Table Query Request"`
	RDF *RDF    `hl7:"3,display=Table Row Definition"`
	DSC *DSC    `hl7:"4,display=Continuation pointer segment"`
}

Virtual table query

type VTQ

type VTQ struct {
	HL7                     HL7Name `hl7:",name=VTQ,type=s"`
	QueryTag                ST      `hl7:"1,len=32,display=Query tag"`
	QueryResponseFormatCode ID      `hl7:"2,required,len=1,table=0106,display=Query/ Response Format Code"`
	VTQueryName             CE      `hl7:"3,required,len=60,display=VT Query Name"`
	VirtualTableName        CE      `hl7:"4,required,len=60,display=Virtual Table Name"`
	SelectionCriteria       []QSC   `hl7:"5,len=256,display=Selection Criteria"`
}

Virtual Table Query Request

The VTQ segment is used to define queries that are responded to with the Tabular Data Message (TBR). The VTQ query message is an alternate method to the EQQ query message that some systems may find easier to implement, due to its use of HL7 delimiters that separate components of the selection definition, and its limited selection criteria. Queries involving complex selection criteria (nested operators, etc.) may need to be formatted as an EQL segment.

As with the other query methods, the functional chapters define specific queries supported as VTQ messages. Refer to these functional chapters for the lists of HL7-defined virtual tables, selection lists and criteria

type VXQ_V01

type VXQ_V01 struct {
	HL7 HL7Name `hl7:",name=VXQ_V01,type=t"`
	MSH *MSH    `hl7:"1,required,display=Message header segment"`
	QRD *QRD    `hl7:"2,required,display=Query definition segment"`
	QRF *QRF    `hl7:"3,display=Query filter segment"`
}

Query for vaccination record

When a state system does not already have the complete patient vaccination record, it will send a query (with a V01 event) for the definitive (last updated) record. Within the definitions for QRD and QRF, certain components are defined according to position in the field, as detailed in Section 4.11, “QUERIES FOR IMMUNIZATION RECORDS (QRF SEGMENTS).”

type VXR_V03

type VXR_V03 struct {
	HL7          HL7Name               `hl7:",name=VXR_V03,type=t"`
	MSH          *MSH                  `hl7:"1,required,display=Message header segment"`
	MSA          *MSA                  `hl7:"2,required,display=Message acknowledgement segment"`
	QRD          *QRD                  `hl7:"3,required,display=Query definition segment"`
	QRF          *QRF                  `hl7:"4,display=Query filter segment"`
	PID          *PID                  `hl7:"5,required,display=Patient Identification"`
	PD1          *PD1                  `hl7:"6,display=Patient Demographic"`
	NK1          []NK1                 `hl7:"7,display=Next of kin"`
	PatientVisit *VXR_V03_PatientVisit `hl7:",display=Patient Visit"`
	Insurance    []VXR_V03_Insurance   `hl7:",display=Insurance"`
	Order        []VXR_V03_Order       `hl7:",display=Order"`
}

Vaccination record response

When the patient has been uniquely identified (there is only one “match” to the query), the response to the query (with a V03 event) will follow this format.

type VXR_V03_Insurance

type VXR_V03_Insurance struct {
	HL7 HL7Name `hl7:",name=VXR_V03_Insurance,type=tg"`
	IN1 *IN1    `hl7:"10,required,display=Insurance"`
	IN2 *IN2    `hl7:"11,display=Insurance additional info"`
	IN3 *IN3    `hl7:"12,display=Insurance additional info - certification"`
}

Insurance

type VXR_V03_Observation

type VXR_V03_Observation struct {
	HL7 HL7Name `hl7:",name=VXR_V03_Observation,type=tg"`
	OBX *OBX    `hl7:"16,required,display=Observation segment"`
	NTE []NTE   `hl7:"17,display=Notes and comments segment"`
}

Observation

type VXR_V03_Order

type VXR_V03_Order struct {
	HL7         HL7Name               `hl7:",name=VXR_V03_Order,type=tg"`
	ORC         *ORC                  `hl7:"13,display=Common order segment"`
	RXA         *RXA                  `hl7:"14,required,display=Pharmacy administration segment"`
	RXR         *RXR                  `hl7:"15,display=Pharmacy route segment"`
	Observation []VXR_V03_Observation `hl7:",display=Observation"`
}

Order

type VXR_V03_PatientVisit

type VXR_V03_PatientVisit struct {
	HL7 HL7Name `hl7:",name=VXR_V03_PatientVisit,type=tg"`
	PV1 *PV1    `hl7:"8,required,display=Patient visit"`
	PV2 *PV2    `hl7:"9,display=Patient visit - additional information"`
}

PatientVisit

type VXU_V04

type VXU_V04 struct {
	HL7       HL7Name             `hl7:",name=VXU_V04,type=t"`
	MSH       *MSH                `hl7:"1,required,display=Message header segment"`
	PID       *PID                `hl7:"2,required,display=Patient Identification"`
	PD1       *PD1                `hl7:"3,display=Patient Demographic"`
	NK1       []NK1               `hl7:"4,display=Next of kin"`
	Patient   *VXU_V04_Patient    `hl7:",display=Patient"`
	Insurance []VXU_V04_Insurance `hl7:",display=Insurance"`
	Order     []VXU_V04_Order     `hl7:",display=Order"`
}

Unsolicited vaccination record update

When a provider using one system wishes to update the patient’s vaccination record being held in another system, he will transmit an unsolicited update of the record (with a V04 event).

type VXU_V04_Insurance

type VXU_V04_Insurance struct {
	HL7 HL7Name `hl7:",name=VXU_V04_Insurance,type=tg"`
	IN1 *IN1    `hl7:"7,required,display=Insurance"`
	IN2 *IN2    `hl7:"8,display=Insurance additional info"`
	IN3 *IN3    `hl7:"9,display=Insurance additional info - certification"`
}

Insurance

type VXU_V04_Observation

type VXU_V04_Observation struct {
	HL7 HL7Name `hl7:",name=VXU_V04_Observation,type=tg"`
	OBX *OBX    `hl7:"13,required,display=Observation segment"`
	NTE []NTE   `hl7:"14,display=Notes and comments segment"`
}

Observation

type VXU_V04_Order

type VXU_V04_Order struct {
	HL7         HL7Name               `hl7:",name=VXU_V04_Order,type=tg"`
	ORC         *ORC                  `hl7:"10,display=Common order segment"`
	RXA         *RXA                  `hl7:"11,required,display=Pharmacy administration segment"`
	RXR         *RXR                  `hl7:"12,display=Pharmacy route segment"`
	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:"5,required,display=Patient visit"`
	PV2 *PV2    `hl7:"6,display=Patient visit - additional information"`
}

Patient

type VXX_V02

type VXX_V02 struct {
	HL7     HL7Name           `hl7:",name=VXX_V02,type=t"`
	MSH     *MSH              `hl7:"1,required,display=Message header segment"`
	MSA     *MSA              `hl7:"2,required,display=Message acknowledgement segment"`
	QRD     *QRD              `hl7:"3,required,display=Query definition segment"`
	QRF     *QRF              `hl7:"4,display=Query filter segment"`
	Patient []VXX_V02_Patient `hl7:",required,display=Patient"`
}

Response to vaccination query

In response to a query for the definitive patient vaccination record, the system holding the record will return it to the system originating the query

type VXX_V02_Patient

type VXX_V02_Patient struct {
	HL7 HL7Name `hl7:",name=VXX_V02_Patient,type=tg"`
	PID *PID    `hl7:"5,required,display=Patient Identification"`
	NK1 []NK1   `hl7:"6,display=Next of kin"`
}

Patient

type XAD

type XAD struct {
	HL7                        HL7Name `hl7:",name=XAD,len=0,type=d"`
	StreetAddress              ST      `hl7:"1,table=Street,display=The street or mailing address of a person or institution"`
	OtherDesignation           ST      `hl7:"2,display=Second line of address.  In general- it qualifies address.  Examples:  Suite 555 or Fourth Floor"`
	City                       ST      `hl7:"3,table=City,display=City"`
	StateOrProvince            ST      `hl7:"4,table=State,display=tate or province should be represented by the official postal service codes for that country"`
	ZipOrPostalCode            ST      `` /* 219-byte string literal not displayed */
	Country                    ID      `hl7:"6,table=ISO3166,display=Defines the country of the address.  ISO 3166 provides a list of country codes that may be used"`
	AddressType                ID      `hl7:"7,table=0190,display=Address type is optional and defined by HL7 table 0190 - Address type"`
	OtherGeographicDesignation ST      `hl7:"8,display=Other geographic designation includes country- bioregion- SMSA- etc"`
	CountyParishCode           IS      `` /* 534-byte string literal not displayed */
	CensusTract                IS      `` /* 204-byte string literal not displayed */
}

Extended Address

Example: |1234 Easy St.^Ste. 123^San Francisco^CA^95123^USA^B^^SF^|

type XCN

type XCN struct {
	HL7                                        HL7Name `hl7:",name=XCN,len=0,type=d"`
	IDNumber                                   ST      `` /* 191-byte string literal not displayed */
	FamilyName                                 ST      `hl7:"2,display=Family Name"`
	GivenName                                  ST      `hl7:"3,table=FirstName,display=Given Name"`
	MiddleInitialOrName                        ST      `hl7:"4,display=Middle Initial Or Name"`
	Suffix                                     ST      `hl7:"5,display=Suffix"`
	Prefix                                     ST      `hl7:"6,display=Prefix"`
	Degree                                     ST      `hl7:"7,display=Degree"`
	SourceTable                                IS      `` /* 137-byte string literal not displayed */
	AssigningAuthority                         *HD     `` /* 185-byte string literal not displayed */
	NameType                                   ID      `` /* 179-byte string literal not displayed */
	IdentifierCheckDigit                       ST      `` /* 335-byte string literal not displayed */
	CodeIdentifyingTheCheckDigitSchemeEmployed ID      `hl7:"12,table=0061,display=Refer to HL7 table 0060 - Check digit scheme for valid values"`
	IdentifierTypeCode                         IS      `` /* 245-byte string literal not displayed */
	AssigningFacilityID                        *HD     `` /* 312-byte string literal not displayed */
}

Extended Composite ID Number And Name

Example: |1234567^Smith^John^J^III^DR^PHD^ADT01^^L^4^M11^MR|

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                   IS      `` /* 182-byte string literal not displayed */
	IDNumber                                   NM      `hl7:"3,display=ID Number"`
	CheckDigit                                 ST      `` /* 334-byte string literal not displayed */
	CodeIdentifyingTheCheckDigitSchemeEmployed ID      `hl7:"5,table=0061,display=The check digit scheme codes are defined in HL7 table 0061 - Check digit scheme"`
	AssigningAuthority                         *HD     `` /* 279-byte string literal not displayed */
	IdentifierTypeCode                         IS      `` /* 244-byte string literal not displayed */
	AssigningFacilityID                        *HD     `` /* 284-byte string literal not displayed */
}

Extended Composite Name And ID For Organizations

Example: |HL7 Health Center^L^6^M11^HCFA|

type XPN

type XPN struct {
	HL7                    HL7Name `hl7:",name=XPN,len=0,type=d"`
	FamilyName             ST      `hl7:"1,table=LastName,display=Family Name"`
	GivenName              ST      `hl7:"2,table=FirstName,display=Given Name"`
	MiddleInitialOrName    ST      `hl7:"3,display=Middle Initial Or Name"`
	Suffix                 ST      `hl7:"4,display=Suffix"`
	Prefix                 ST      `hl7:"5,display=Prefix"`
	Degree                 ST      `hl7:"6,display=Degree"`
	NameTypeCode           ID      `hl7:"7,table=0200,display=A code that represents the type of name.  Refer to HL7 table 0200 - Name type for valid values"`
	NameRepresentationCode ID      `` /* 501-byte string literal not displayed */
}

Extended Person Name

Example: |Smith^John^J^III^DR^PHD^L|

type XTN

type XTN struct {
	HL7                            HL7Name `hl7:",name=XTN,len=0,type=d"`
	TelephoneNumber                TN      `` /* 191-byte string literal not displayed */
	TelecommunicationUseCode       ID      `` /* 166-byte string literal not displayed */
	TelecommunicationEquipmentType ID      `` /* 167-byte string literal not displayed */
	EmailAddress                   ST      `` /* 412-byte string literal not displayed */
	CountryCode                    NM      `hl7:"5,display=Country Code"`
	AreaCityCode                   NM      `hl7:"6,display=Area/city Code"`
	PhoneNumber                    NM      `hl7:"7,display=Phone Number"`
	Extension                      NM      `hl7:"8,display=Extension"`
	AnyText                        ST      `hl7:"9,display=Any Text"`
}

Extended Telecommunication Number

Example: (415)555-3210^ORN^FX^

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL