"Unknown segment: ZAU"

Discussion of open issues, suggestions and bugs regarding to (known as Delphi HL7) HL7 Components
admin
Site Admin
Posts: 256
Joined: Sun Jun 05, 2011 8:06 pm

Re: "Unknown segment: ZAU"

Post by admin »

Please send to your sample code : support@delphihl7.com
admin
Site Admin
Posts: 256
Joined: Sun Jun 05, 2011 8:06 pm

Re: "Unknown segment: ZAU"

Post by admin »

Yes, you are right.

You must register your class.

Code: Select all

initialization
   RegisterClass(TdiZAU_24);
finalization
   RegisterClass(TdiZAU_24);
Best regards.
admin
Site Admin
Posts: 256
Joined: Sun Jun 05, 2011 8:06 pm

Re: "Unknown segment: ZAU"

Post by admin »

Hi,

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.

Best regards.
ibarrols
Posts: 11
Joined: Thu Nov 24, 2011 5:20 pm

Re: "Unknown segment: ZAU"

Post by ibarrols »

working properly, thanks again!
ibarrols
Posts: 11
Joined: Thu Nov 24, 2011 5:20 pm

Re: "Unknown segment: ZAU"

Post by ibarrols »

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
admin
Site Admin
Posts: 256
Joined: Sun Jun 05, 2011 8:06 pm

Re: "Unknown segment: ZAU"

Post by admin »

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

Who is online

Users browsing this forum: No registered users and 1 guest