"Unknown segment: ZAU"
-
- Site Admin
- Posts: 256
- Joined: Sun Jun 05, 2011 8:06 pm
Re: "Unknown segment: ZAU"
Please send to your sample code : support@delphihl7.com
-
- Site Admin
- Posts: 256
- Joined: Sun Jun 05, 2011 8:06 pm
Re: "Unknown segment: ZAU"
Yes, you are right.
You must register your class.
Best regards.
You must register your class.
Code: Select all
initialization
RegisterClass(TdiZAU_24);
finalization
RegisterClass(TdiZAU_24);
-
- Site Admin
- Posts: 256
- Joined: Sun Jun 05, 2011 8:06 pm
Re: "Unknown segment: ZAU"
Hi,
Fixed code is below.
Best regards.
Fixed code is below.
Code: Select all
unit Unit1;
interface
uses
diHL7Base,diHL724,diHL7DT24,diHL7Grp24;
type
TdiZAU_24 = class(TdiSegment)
private
inscarrier1List:TdiList;
preauthcd1List :TdiList;
inscarrier2List :TdiList;
preauthcd2List :TdiList;
inscarrier3List :TdiList;
preauthcd3List :TdiList;
inscarrier4List :TdiList;
preauthcd4List :TdiList;
inscarrier5List :TdiList;
preauthcd5List :TdiList;
inscarrier6List :TdiList;
preauthcd6List :TdiList;
protected
function Getinscarrier1: TdiST_24;
function Getinscarrier2: TdiST_24;
function Getinscarrier3: TdiST_24;
function Getinscarrier4: TdiST_24;
function Getinscarrier5: TdiST_24;
function Getinscarrier6: TdiST_24;
function Getpreauthcd1: TdiST_24;
function Getpreauthcd2: TdiST_24;
function Getpreauthcd3: TdiST_24;
function Getpreauthcd4: TdiST_24;
function Getpreauthcd5: TdiST_24;
function Getpreauthcd6: TdiST_24;
procedure Setinscarrier1(const Value: TdiST_24);
procedure Setinscarrier2(const Value: TdiST_24);
procedure Setinscarrier3(const Value: TdiST_24);
procedure Setinscarrier4(const Value: TdiST_24);
procedure Setinscarrier5(const Value: TdiST_24);
procedure Setinscarrier6(const Value: TdiST_24);
procedure Setpreauthcd1(const Value: TdiST_24);
procedure Setpreauthcd2(const Value: TdiST_24);
procedure Setpreauthcd3(const Value: TdiST_24);
procedure Setpreauthcd4(const Value: TdiST_24);
procedure Setpreauthcd5(const Value: TdiST_24);
procedure Setpreauthcd6(const Value: TdiST_24);
public
property inscarrier1 : TdiST_24 read Getinscarrier1 write Setinscarrier1;
property preauthcd1 : TdiST_24 read Getpreauthcd1 write Setpreauthcd1;
property inscarrier2 : TdiST_24 read Getinscarrier2 write Setinscarrier2;
property preauthcd2 : TdiST_24 read Getpreauthcd2 write Setpreauthcd2;
property inscarrier3 : TdiST_24 read Getinscarrier3 write Setinscarrier3;
property preauthcd3 : TdiST_24 read Getpreauthcd3 write Setpreauthcd3;
property inscarrier4 : TdiST_24 read Getinscarrier4 write Setinscarrier4;
property preauthcd4 : TdiST_24 read Getpreauthcd4 write Setpreauthcd4;
property inscarrier5 : TdiST_24 read Getinscarrier5 write Setinscarrier5;
property preauthcd5 : TdiST_24 read Getpreauthcd5 write Setpreauthcd5;
property inscarrier6 : TdiST_24 read Getinscarrier6 write Setinscarrier6;
property preauthcd6 : TdiST_24 read Getpreauthcd6 write Setpreauthcd6;
constructor Create; override;
end;
TdiZIN_24 = class(TdiSegment)
private
ifconditionList :TdiList;
conditionList :TdiList;
protected
function Getifcondition: TdiST_24;
function Getcondition: TdiST_24;
procedure Setifcondition(const Value: TdiST_24);
procedure Setcondition(const Value: TdiST_24);
public
property ifcondition : TdiST_24 read Getifcondition write Setifcondition;
property condition : TdiST_24 read Getcondition write Setcondition;
constructor Create; override;
end;
TdiZPI_Z01_24= class(TdiMessage)
private
MSHList:TdiSegmentList;
MSAList:TdiSegmentList;
ZAUList:TdiSegmentList;
PRDList:TdiSegmentList;
PIDList:TdiSegmentList;
IN1List:TdiSegmentList;
ZINList:TdiSegmentList;
protected
function GetIN1: TdiIN1_24;
function GetMSA: TdiMSA_24;
function GetMSH: TdiMSH_24;
function GetPID: TdiPID_24;
function GetPRD: TdiPRD_24;
function GetZAU: TdiZAU_24;
function GetZIN: TdiZIN_24;
procedure SetIN1(const Value: TdiIN1_24);
procedure SetMSA(const Value: TdiMSA_24);
procedure SetMSH(const Value: TdiMSH_24);
procedure SetPID(const Value: TdiPID_24);
procedure SetPRD(const Value: TdiPRD_24);
procedure SetZAU(const Value: TdiZAU_24);
procedure SetZIN(const Value: TdiZIN_24);
public
property MSH : TdiMSH_24 read GetMSH write SetMSH;
property MSA : TdiMSA_24 read GetMSA write SetMSA;
property ZAU : TdiZAU_24 read GetZAU write SetZAU;
property PRD : TdiPRD_24 read GetPRD write SetPRD;
property PID : TdiPID_24 read GetPID write SetPID;
property IN1 : TdiIN1_24 read GetIN1 write SetIN1;
property ZIN : TdiZIN_24 read GetZIN write SetZIN;
constructor Create; override;
end;
implementation
{ TdiZAU_24 }
constructor TdiZAU_24.Create;
begin
inherited;
Name :='ZAU';
inscarrier1List:=TdiList.Create;
inscarrier1List.SetDefault('ST','TdiST_24',0,0,1,Self);
Add(inscarrier1List);
preauthcd1List :=TdiList.Create;
preauthcd1List.SetDefault('ST','TdiST_24',1,0,1,Self);
Add(preauthcd1List);
inscarrier2List :=TdiList.Create;
inscarrier2List.SetDefault('ST','TdiST_24',2,0,1,Self);
Add(inscarrier2List);
preauthcd2List :=TdiList.Create;
preauthcd2List.SetDefault('ST','TdiST_24',3,0,1,Self);
Add(preauthcd2List);
inscarrier3List :=TdiList.Create;
inscarrier3List.SetDefault('ST','TdiST_24',4,0,1,Self);
Add(inscarrier3List);
preauthcd3List :=TdiList.Create;
preauthcd3List.SetDefault('ST','TdiST_24',5,0,1,Self);
Add(preauthcd3List);
inscarrier4List :=TdiList.Create;
inscarrier4List.SetDefault('ST','TdiST_24',6,0,1,Self);
Add(inscarrier4List);
preauthcd4List :=TdiList.Create;
preauthcd4List.SetDefault('ST','TdiST_24',7,0,1,Self);
Add(preauthcd4List);
inscarrier5List :=TdiList.Create;
inscarrier5List.SetDefault('ST','TdiST_24',8,0,1,Self);
Add(inscarrier5List);
preauthcd5List :=TdiList.Create;
preauthcd5List.SetDefault('ST','TdiST_24',9,0,1,Self);
Add(preauthcd5List);
inscarrier6List :=TdiList.Create;
inscarrier6List.SetDefault('ST','TdiST_24',10,0,1,Self);
Add(inscarrier6List);
preauthcd6List :=TdiList.Create;
preauthcd6List.SetDefault('ST','TdiST_24',11,0,1,Self);
Add(preauthcd6List);
end;
function TdiZAU_24.Getinscarrier1: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(0,0));
end;
function TdiZAU_24.Getpreauthcd1: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(1,0));
end;
function TdiZAU_24.Getinscarrier2: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(2,0));
end;
function TdiZAU_24.Getpreauthcd2: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(3,0));
end;
function TdiZAU_24.Getinscarrier3: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(4,0));
end;
function TdiZAU_24.Getpreauthcd3: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(5,0));
end;
function TdiZAU_24.Getinscarrier4: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(6,0));
end;
function TdiZAU_24.Getpreauthcd4: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(7,0));
end;
function TdiZAU_24.Getinscarrier5: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(8,0));
end;
function TdiZAU_24.Getpreauthcd5: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(9,0));
end;
function TdiZAU_24.Getinscarrier6: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(10,0));
end;
function TdiZAU_24.Getpreauthcd6: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(11,0));
end;
procedure TdiZAU_24.Setinscarrier1(const Value: TdiST_24);
begin
SetByIndex(0,0,Value);
end;
procedure TdiZAU_24.Setpreauthcd1(const Value: TdiST_24);
begin
SetByIndex(1,0,Value);
end;
procedure TdiZAU_24.Setinscarrier2(const Value: TdiST_24);
begin
SetByIndex(2,0,Value);
end;
procedure TdiZAU_24.Setpreauthcd2(const Value: TdiST_24);
begin
SetByIndex(3,0,Value);
end;
procedure TdiZAU_24.Setinscarrier3(const Value: TdiST_24);
begin
SetByIndex(4,0,Value);
end;
procedure TdiZAU_24.Setpreauthcd3(const Value: TdiST_24);
begin
SetByIndex(5,0,Value);
end;
procedure TdiZAU_24.Setinscarrier4(const Value: TdiST_24);
begin
SetByIndex(6,0,Value);
end;
procedure TdiZAU_24.Setpreauthcd4(const Value: TdiST_24);
begin
SetByIndex(7,0,Value);
end;
procedure TdiZAU_24.Setinscarrier5(const Value: TdiST_24);
begin
SetByIndex(8,0,Value);
end;
procedure TdiZAU_24.Setpreauthcd5(const Value: TdiST_24);
begin
SetByIndex(9,0,Value);
end;
procedure TdiZAU_24.Setinscarrier6(const Value: TdiST_24);
begin
SetByIndex(10,0,Value);
end;
procedure TdiZAU_24.Setpreauthcd6(const Value: TdiST_24);
begin
SetByIndex(11,0,Value);
end;
{ TdiZIN_24 }
constructor TdiZIN_24.Create;
begin
inherited;
Name :='ZIN';
ifconditionList :=TdiList.Create;
ifconditionList.SetDefault('ST','TdiST_24',0,0,1,Self);
Add(ifconditionList);
conditionList :=TdiList.Create;
conditionList.SetDefault('ST','TdiST_24',0,0,1,Self);
Add(conditionList);
end;
function TdiZIN_24.Getifcondition: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(0,0));
end;
function TdiZIN_24.Getcondition: TdiST_24;
begin
Result:= TdiST_24(GetRepByIndex(1,0));
end;
procedure TdiZIN_24.Setifcondition(const Value: TdiST_24);
begin
SetByIndex(0,0,Value);
end;
procedure TdiZIN_24.Setcondition(const Value: TdiST_24);
begin
SetByIndex(1,0,Value);
end;
{ TdiZPI_Z01_24 }
constructor TdiZPI_Z01_24.Create;
begin
inherited;
Name :='ZPI_Z01';
MessageType :='ZPI';
TriggerEvent :='Z01';
HL7Version :='2.4';
MSHList:=TdiSegmentList.Create;
MSHList.SetDefault('MSH','TdiMSH_24',0,1,1,Self);
Add(MSHList);
MSAList:=TdiSegmentList.Create;
MSAList.SetDefault('MSA','TdiMSA_24',1,1,1,Self);
Add(MSAList);
ZAUList:=TdiSegmentList.Create;
ZAUList.SetDefault('ZAU','TdiZAU_24',2,0,1,Self);
Add(ZAUList);
PRDList:=TdiSegmentList.Create;
PRDList.SetDefault('PRD','TdiPRD_24',3,0,1,Self);
Add(PRDList);
PIDList:=TdiSegmentList.Create;
PIDList.SetDefault('PID','TdiPID_24',4,0,1,Self);
Add(PIDList);
IN1List:=TdiSegmentList.Create;
IN1List.SetDefault('IN1','TdiIN1_24',5,0,1,Self);
Add(IN1List);
ZINList:=TdiSegmentList.Create;
ZINList.SetDefault('ZIN','TdiZIN_24',6,0,1,Self);
Add(ZINList);
Parse(InitMsg);
end;
function TdiZPI_Z01_24.GetIN1: TdiIN1_24;
begin
Result:=TdiIN1_24(Find('IN1',0));
end;
function TdiZPI_Z01_24.GetMSA: TdiMSA_24;
begin
Result:=TdiMSA_24(Find('MSA',0));
end;
function TdiZPI_Z01_24.GetMSH: TdiMSH_24;
begin
Result:=TdiMSH_24(Find('MSH',0));
end;
function TdiZPI_Z01_24.GetPID: TdiPID_24;
begin
Result:=TdiPID_24(Find('PID',0));
end;
function TdiZPI_Z01_24.GetPRD: TdiPRD_24;
begin
Result:=TdiPRD_24(Find('PRD',0));
end;
function TdiZPI_Z01_24.GetZAU: TdiZAU_24;
begin
Result:=TdiZAU_24(Find('ZAU',0));
end;
function TdiZPI_Z01_24.GetZIN: TdiZIN_24;
begin
Result:=TdiZIN_24(Find('ZIN',0));
end;
procedure TdiZPI_Z01_24.SetIN1(const Value: TdiIN1_24);
begin
SetByName('IN1',0,Value);
end;
procedure TdiZPI_Z01_24.SetMSA(const Value: TdiMSA_24);
begin
SetByName('MSA',0,Value);
end;
procedure TdiZPI_Z01_24.SetMSH(const Value: TdiMSH_24);
begin
SetByName('MSH',0,Value);
end;
procedure TdiZPI_Z01_24.SetPID(const Value: TdiPID_24);
begin
SetByName('PID',0,Value);
end;
procedure TdiZPI_Z01_24.SetPRD(const Value: TdiPRD_24);
begin
SetByName('PRD',0,Value);
end;
procedure TdiZPI_Z01_24.SetZAU(const Value: TdiZAU_24);
begin
SetByName('ZAU',0,Value);
end;
procedure TdiZPI_Z01_24.SetZIN(const Value: TdiZIN_24);
begin
SetByName('ZIN',0,Value);
end;
initialization
RegisterClass(TdiZAU_24);
RegisterClass(TdiZIN_24);
finalization
UnRegisterClass(TdiZAU_24);
UnRegisterClass(TdiZIN_24);
end.
-
- Posts: 11
- Joined: Thu Nov 24, 2011 5:20 pm
Re: "Unknown segment: ZAU"
working properly, thanks again!
-
- Posts: 11
- Joined: Thu Nov 24, 2011 5:20 pm
Re: "Unknown segment: ZAU"
I have to redefine the segment with the following fields:
RESPONSE Zau - HEAD
Zau | | NroAuthorization | Description IdState ^ | | | Copayment&MoneyType
Details - HEAD
NroAuthorization Zau-2 (Numeric)
IdState Zau-3.1 (Alpha)
Description Zau-3.2 (Alpha)
CopaymentTotal Zau-6.1 (numeric)
MoneyType Zau-6.2 ($)
RESPONSE Zau - REPLAY
Zau | | NroAuthorization | Description IdState ^ | | | Copayment&MoneyType
Details - REPETITIVE
NroAutohrization Zau-2 (Numeric)
IdState Zau-3.1 (Alpha)
Description Zau-3.2 (Alpha)
Copayment Zau-6.1 (numeric)
MoneyType Zau-6.2 ($)
how do I define a segment to obtain the data of 3.1 and 3.1 separated by the "^".....
best regards,
Sebastian
RESPONSE Zau - HEAD
Zau | | NroAuthorization | Description IdState ^ | | | Copayment&MoneyType
Details - HEAD
NroAuthorization Zau-2 (Numeric)
IdState Zau-3.1 (Alpha)
Description Zau-3.2 (Alpha)
CopaymentTotal Zau-6.1 (numeric)
MoneyType Zau-6.2 ($)
RESPONSE Zau - REPLAY
Zau | | NroAuthorization | Description IdState ^ | | | Copayment&MoneyType
Details - REPETITIVE
NroAutohrization Zau-2 (Numeric)
IdState Zau-3.1 (Alpha)
Description Zau-3.2 (Alpha)
Copayment Zau-6.1 (numeric)
MoneyType Zau-6.2 ($)
how do I define a segment to obtain the data of 3.1 and 3.1 separated by the "^".....
best regards,
Sebastian
-
- Site Admin
- Posts: 256
- Joined: Sun Jun 05, 2011 8:06 pm
Re: "Unknown segment: ZAU"
Hi,
First, you need segment field list and type.
You cannot define 3.1 and 3.2 (sub type) on segment. Only can define 3 (main type).
Field 3 manipulate 3.1 and 3.2 sub field.
Field and Subfield using example:
Notice using msg.PID.PatientName
//Creating Message
uses diHL722, diHL7DT22, diHL7Grp22;
procedure TForm1.diMessageCreateClick(Sender: TObject);
var
msg : TdiADT_A01_22;
begin
msg := TdiADT_A01_22.Create;
// Populate the MSH Segment
//adt_a01.MSH.FieldSeparator.AsString:='|'; Default Value
//adt_a01.MSH.Encodingcharacters.AsString:='^~\&'; Default Value
msg.MSH.Sendingapplication.AsString:='TestSendingSystem';
//adt_a01.MSH.DateTimeofmessage.TimeOfAnEvent.AsString:='200701011539'; Default Value is System Date Time
//adt_a01.MSH.Messagetype.MessageType.AsString:='ADT'; Default Value
//adt_a01.MSH.Messagetype.TriggerEvent.AsString:='A01'; Default Value
//adt_a01.MSH.ProcessingID.AsString:='P'; Default Value
//adt_a01.MSH.VersionID.AsString:='2.2'; Default Value
msg.MSH.Sequencenumber.AsString:='123';
// Populate the PID Segment
msg.PID.PatientName.FamilyName.AsString:='Doe';
msg.PID.PatientName.GivenName.AsString:='John';
msg.PID.PatientID1[0].IDNumber.AsString:='123456';
Memo1.Lines.Text:= msg.AsString;
{
MSH|^~\&|TestSendingSystem||||200701011539||ADT^A01||P|2.2|123
PID|||123456||Doe^John
}
FreeAndNil(msg);
end;
PID segments have a PatientName field. PatientName field type is PN
PN (Person Name)definition :
PN.1 Family Name ST
PN.2 Given Name ST
PN.3 Middle Initial Or Name ST
PN.4 Suffix ST
PN.5 Prefix ST
PN.6 Degree ST
You need a complex type.
Check your documentation.
First, you need segment field list and type.
You cannot define 3.1 and 3.2 (sub type) on segment. Only can define 3 (main type).
Field 3 manipulate 3.1 and 3.2 sub field.
Field and Subfield using example:
Notice using msg.PID.PatientName
//Creating Message
uses diHL722, diHL7DT22, diHL7Grp22;
procedure TForm1.diMessageCreateClick(Sender: TObject);
var
msg : TdiADT_A01_22;
begin
msg := TdiADT_A01_22.Create;
// Populate the MSH Segment
//adt_a01.MSH.FieldSeparator.AsString:='|'; Default Value
//adt_a01.MSH.Encodingcharacters.AsString:='^~\&'; Default Value
msg.MSH.Sendingapplication.AsString:='TestSendingSystem';
//adt_a01.MSH.DateTimeofmessage.TimeOfAnEvent.AsString:='200701011539'; Default Value is System Date Time
//adt_a01.MSH.Messagetype.MessageType.AsString:='ADT'; Default Value
//adt_a01.MSH.Messagetype.TriggerEvent.AsString:='A01'; Default Value
//adt_a01.MSH.ProcessingID.AsString:='P'; Default Value
//adt_a01.MSH.VersionID.AsString:='2.2'; Default Value
msg.MSH.Sequencenumber.AsString:='123';
// Populate the PID Segment
msg.PID.PatientName.FamilyName.AsString:='Doe';
msg.PID.PatientName.GivenName.AsString:='John';
msg.PID.PatientID1[0].IDNumber.AsString:='123456';
Memo1.Lines.Text:= msg.AsString;
{
MSH|^~\&|TestSendingSystem||||200701011539||ADT^A01||P|2.2|123
PID|||123456||Doe^John
}
FreeAndNil(msg);
end;
PID segments have a PatientName field. PatientName field type is PN
PN (Person Name)definition :
PN.1 Family Name ST
PN.2 Given Name ST
PN.3 Middle Initial Or Name ST
PN.4 Suffix ST
PN.5 Prefix ST
PN.6 Degree ST
You need a complex type.
Check your documentation.
Who is online
Users browsing this forum: No registered users and 1 guest