Populating QPD-3 for QPD_Q22?
-
- Posts: 10
- Joined: Fri Dec 14, 2012 2:14 pm
Populating QPD-3 for QPD_Q22?
Hello again,
How does one go about adding entries to QPD-3 for a patient demographics query to get the following output format?
@PID.5.1.1^SMITH~@PID.8^F
From this document,
"http://www.ihe.net/Technical_Framework/ ... ol2a-2.pdf"
section 3.21.4.1.2.2.1, I got the following description for what the field represents:
Field QPD-3-Demographics Fields consists of one or more repetitions, each of which contains
two components that together contain the name and value of a distinct parameter to the query.
The first component of each parameter contains the name of an HL7 element in the form
@<seg>.<field no>.<component no>.<subcomponent no>
The second subcomponent of each parameter contains the value that is to be matched.
I understand what needs to be placed in this field, but I do not know how to get DelphiHL7 to create this output.
Thank you.
How does one go about adding entries to QPD-3 for a patient demographics query to get the following output format?
@PID.5.1.1^SMITH~@PID.8^F
From this document,
"http://www.ihe.net/Technical_Framework/ ... ol2a-2.pdf"
section 3.21.4.1.2.2.1, I got the following description for what the field represents:
Field QPD-3-Demographics Fields consists of one or more repetitions, each of which contains
two components that together contain the name and value of a distinct parameter to the query.
The first component of each parameter contains the name of an HL7 element in the form
@<seg>.<field no>.<component no>.<subcomponent no>
The second subcomponent of each parameter contains the value that is to be matched.
I understand what needs to be placed in this field, but I do not know how to get DelphiHL7 to create this output.
Thank you.
-
- Site Admin
- Posts: 256
- Joined: Sun Jun 05, 2011 8:06 pm
Re: Populating QPD-3 for QPD_Q22?
We are working on the issue.
Please wait for our response.
Please wait for our response.
-
- Site Admin
- Posts: 256
- Joined: Sun Jun 05, 2011 8:06 pm
Re: Populating QPD-3 for QPD_Q22?
Hi,
For this issue, we can use custom messages :
sample usage :
Shows :
Best regards.
For this issue, we can use custom messages :
Code: Select all
unit Unit2;
interface
uses diHL7Base,diHL725,diHL7DT25;
type
TMyQPD_25 = class(TdiSegment)
protected
function GetMessageQueryName : TdiCE_25;
procedure SetMessageQueryName(Value : TdiCE_25);
function GetQueryTag : TdiST_25;
procedure SetQueryTag(Value : TdiST_25);
function GetQueryInputParameterList(RepCount :Integer ) : TdiQIP_25;
procedure SetQueryInputParameterList(RepCount :Integer; Value : TdiQIP_25);
function GetParametersforFuzzySearch : TdiQIP_25;
procedure SetParametersforFuzzySearch(Value : TdiQIP_25);
function GetUserParameters : TdiNode;
procedure SetUserParameters(Value : TdiNode);
function GetUserParameters2 : TdiNode;
procedure SetUserParameters2(Value : TdiNode);
function GetUserParameters3 : TdiNode;
procedure SetUserParameters3(Value : TdiNode);
function GetExtendedCompositeIDwithCheckDigit: TdiCX_25;
procedure SetExtendedCompositeIDwithCheckDigit(const Value: TdiCX_25);
public
property MessageQueryName : TdiCE_25 read GetMessageQueryName write SetMessageQueryName;
property QueryTag : TdiST_25 read GetQueryTag write SetQueryTag;
property QueryInputParameterList[RepCount :Integer ] : TdiQIP_25 read GetQueryInputParameterList write SetQueryInputParameterList;
function QueryInputParameterListRepCount : Integer ;
property ParametersforFuzzySearch : TdiQIP_25 read GetParametersforFuzzySearch write SetParametersforFuzzySearch;
property UserParameters : TdiNode read GetUserParameters write SetUserParameters;
property UserParameters2 : TdiNode read GetUserParameters2 write SetUserParameters2;
property UserParameters3 : TdiNode read GetUserParameters3 write SetUserParameters3;
property ExtendedCompositeIDwithCheckDigit : TdiCX_25 read GetExtendedCompositeIDwithCheckDigit write SetExtendedCompositeIDwithCheckDigit;
procedure Init; override;
end;
TMyQBP_Q22_25= class(TdiMessage)
private
protected
function GetMSH : TdiMSH_25;
procedure SetMSH(Value : TdiMSH_25);
function GetSFT(RepCount :Integer ) : TdiSFT_25;
procedure SetSFT(RepCount :Integer;Value : TdiSFT_25);
function GetQPD : TMyQPD_25;
procedure SetQPD(Value : TMyQPD_25);
function GetRCP : TdiRCP_25;
procedure SetRCP(Value : TdiRCP_25);
function GetDSC : TdiDSC_25;
procedure SetDSC(Value : TdiDSC_25);
public
property MSH : TdiMSH_25 read GetMSH write SetMSH;
property SFT[RepCount :Integer ] : TdiSFT_25 read GetSFT write SetSFT;
function SFTRepCount : Integer ;
property QPD : TMyQPD_25 read GetQPD write SetQPD;
property RCP : TdiRCP_25 read GetRCP write SetRCP;
property DSC : TdiDSC_25 read GetDSC write SetDSC;
procedure Init; override;
end;
implementation
procedure TMyQPD_25.Init;
begin
inherited;
Name :='QPD';
Definitions.Add('MessageQueryName',TdiCE_25,1,1);
Definitions.Add('QueryTag',TdiST_25,0,1);
Definitions.Add('QueryInputParameterList',TdiQIP_25,0,1);
Definitions.Add('ParametersforFuzzySearch',TdiQIP_25,0,1);
Definitions.Add('UserParameters',TdiNode,0,1);
Definitions.Add('UserParameters2',TdiNode,0,1);
Definitions.Add('UserParameters3',TdiNode,0,1);
Definitions.Add('ExtendedCompositeIDwithCheckDigit',TdiCX_25,0,1);
end;
function TMyQPD_25.GetMessageQueryName : TdiCE_25;
begin
Result:= TdiCE_25(GetStructure('MessageQueryName',0));
end;
procedure TMyQPD_25.SetMessageQueryName(Value : TdiCE_25);
begin
SetStructure('MessageQueryName',0,Value);
end;
function TMyQPD_25.GetQueryTag : TdiST_25;
begin
Result:= TdiST_25(GetStructure('QueryTag',0));
end;
procedure TMyQPD_25.SetQueryTag(Value : TdiST_25);
begin
SetStructure('QueryTag',0,Value);
end;
function TMyQPD_25.GetQueryInputParameterList(RepCount :Integer ) : TdiQIP_25;
begin
Result:=TdiQIP_25(GetStructure('QueryInputParameterList',RepCount));
end;
procedure TMyQPD_25.SetQueryInputParameterList(RepCount :Integer; Value : TdiQIP_25);
begin
SetStructure('QueryInputParameterList',RepCount,Value);
end;
function TMyQPD_25.QueryInputParameterListRepCount: Integer;
begin
Result := GetNodeCount('QueryInputParameterList');
end;
function TMyQPD_25.GetParametersforFuzzySearch : TdiQIP_25;
begin
Result:= TdiQIP_25(GetStructure('ParametersforFuzzySearch',0));
end;
procedure TMyQPD_25.SetParametersforFuzzySearch(Value : TdiQIP_25);
begin
SetStructure('ParametersforFuzzySearch',0,Value);
end;
function TMyQPD_25.GetUserParameters : TdiNode;
begin
Result:= TdiNode(GetStructure('UserParameters',0));
end;
procedure TMyQPD_25.SetUserParameters(Value : TdiNode);
begin
SetStructure('UserParameters',0,Value);
end;
function TMyQPD_25.GetUserParameters2 : TdiNode;
begin
Result:= TdiNode(GetStructure('UserParameters2',0));
end;
procedure TMyQPD_25.SetUserParameters2(Value : TdiNode);
begin
SetStructure('UserParameters2',0,Value);
end;
function TMyQPD_25.GetUserParameters3 : TdiNode;
begin
Result:= TdiNode(GetStructure('UserParameters3',0));
end;
procedure TMyQPD_25.SetUserParameters3(Value : TdiNode);
begin
SetStructure('UserParameters3',0,Value);
end;
function TMyQPD_25.GetExtendedCompositeIDwithCheckDigit: TdiCX_25;
begin
Result:= TdiCX_25(GetStructure('ExtendedCompositeIDwithCheckDigit',0));
end;
procedure TMyQPD_25.SetExtendedCompositeIDwithCheckDigit(
const Value: TdiCX_25);
begin
SetStructure('ExtendedCompositeIDwithCheckDigit',0,Value);
end;
function TMyQBP_Q22_25.GetMSH : TdiMSH_25;
begin
Result:=TdiMSH_25(GetStructure('MSH',0));
end;
procedure TMyQBP_Q22_25.SetMSH(Value : TdiMSH_25);
begin
SetStructure('MSH',0,Value);
end;
function TMyQBP_Q22_25.GetSFT(RepCount :Integer ) : TdiSFT_25;
begin
Result:=TdiSFT_25(GetStructure('SFT',RepCount));
end;
procedure TMyQBP_Q22_25.SetSFT(RepCount :Integer;Value : TdiSFT_25);
begin
SetStructure('SFT',RepCount,Value);
end;
function TMyQBP_Q22_25.SFTRepCount : Integer;
begin
Result := GetNodeCount('SFT');
end;
function TMyQBP_Q22_25.GetQPD : TMyQPD_25;
begin
Result:=TMyQPD_25(GetStructure('QPD',0));
end;
procedure TMyQBP_Q22_25.SetQPD(Value : TMyQPD_25);
begin
SetStructure('QPD',0,Value);
end;
function TMyQBP_Q22_25.GetRCP : TdiRCP_25;
begin
Result:=TdiRCP_25(GetStructure('RCP',0));
end;
procedure TMyQBP_Q22_25.SetRCP(Value : TdiRCP_25);
begin
SetStructure('RCP',0,Value);
end;
function TMyQBP_Q22_25.GetDSC : TdiDSC_25;
begin
Result:=TdiDSC_25(GetStructure('DSC',0));
end;
procedure TMyQBP_Q22_25.SetDSC(Value : TdiDSC_25);
begin
SetStructure('DSC',0,Value);
end;
procedure TMyQBP_Q22_25.Init;
begin
inherited;
Name :='QBP_Q22';
MessageType :='QBP';
TriggerEvent :='Q22';
HL7Version :='2.5';
Definitions.Add('MSH',TdiMSH_25,1,1);
Definitions.Add('SFT',TdiSFT_25,0,-1);
Definitions.Add('QPD',TMyQPD_25,1,1);
Definitions.Add('RCP',TdiRCP_25,1,1);
Definitions.Add('DSC',TdiDSC_25,0,1);
ParseHL7(InitMsg);
end;
initialization
diRegisterClass(TMyQBP_Q22_25,'QBP_Q22','2.5');
diRegisterClass(TMyQPD_25,'QPD','2.5');
finalization
diUnRegisterClass(TMyQBP_Q22_25);
diUnRegisterClass(TMyQPD_25);
end.
Code: Select all
procedure TForm1.Button1Click(Sender: TObject);
var
msgstr : AnsiString;
msg:TMyQBP_Q22_25;
i:integer;
begin
msgstr:='MSH|^~\&|OTHER_IBM_BRIDGE_TLS|IBM|PAT_IDENTITY_X_REF_MGR_MISYS|ALLSCRIPTS|20090226131524-0600||QBP^Q22^QBP_Q21|4384605233932006785|P|2.5'+#13+
'QPD|Q22^FindCandidates^HL7|2846266284165483109045739371027|@PID.3.1^PDQ113XX05~@PID.3.4.1^IHENA~@PID.3.4.2^1.3.6.1.4.1.21367.2009.1.2.300~@PID.3.4.3^ISO'+#13+
'RCP|I|10^RD'+#13;
msg:=TMyQBP_Q22_25.Create;
msg.AsString:=msgstr;
for i:=0 to msg.QPD.QueryInputParameterListRepCount-1 do
begin
Memo1.Lines.Append( msg.QPD.QueryInputParameterList[i].SegmentFieldName.AsString +' - ' + msg.QPD.QueryInputParameterList[i].Values.AsString );
end;
msg.Free;
end;
Code: Select all
@PID.3.1 - PDQ113XX05
@PID.3.4.1 - IHENA
@PID.3.4.2 - 1.3.6.1.4.1.21367.2009.1.2.300
@PID.3.4.3 - ISO
-
- Posts: 10
- Joined: Fri Dec 14, 2012 2:14 pm
Re: Populating QPD-3 for QPD_Q22?
Hello again,
Thank you. I was able to create messages using code like the following:
My new problem is how to get text into the QPD-8 field of this same segment. Basically how to get access to an AsString property that will be QDP-8 or an AsString I can fill with "|" separators to create a QDP-8.
Thank you for all your quick responses.
Jerry
Thank you. I was able to create messages using code like the following:
Code: Select all
gQpd.QueryInputParameterList[0].SegmentFieldName.AsString := '@PID.5.1.1';
gQpd.QueryInputParameterList[0].Values.AsString := 'Neal';
gQpd.QueryInputParameterList[1].SegmentFieldName.AsString := '@PID.7.1';
gQpd.QueryInputParameterList[1].Values.AsString := '19781013';
Thank you for all your quick responses.
Jerry
-
- Site Admin
- Posts: 256
- Joined: Sun Jun 05, 2011 8:06 pm
Re: Populating QPD-3 for QPD_Q22?
Hi,
QPD segment definitions are the same?
Our QPD-8 is ExtendedCompositeIDwithCheckDigit (CX Type). You can access with using this property.
If your definition is different you may need customization.
'|' is field separator.
When use it with AsString property encoded as '\F\',
When use it with Value property not encoded.
QPD segment definitions are the same?
Our QPD-8 is ExtendedCompositeIDwithCheckDigit (CX Type). You can access with using this property.
If your definition is different you may need customization.
'|' is field separator.
When use it with AsString property encoded as '\F\',
When use it with Value property not encoded.
-
- Posts: 10
- Joined: Fri Dec 14, 2012 2:14 pm
Re: Populating QPD-3 for QPD_Q22?
Hello,
Thank you. I did not realize that ExtendedCompositeIDwithCheckDigit was actually QPD-8.
Is there a way to easily get from a property to its Terser-type representation? Sort of like a reverse terser.
Thank you yet again.
Jerry
Thank you. I did not realize that ExtendedCompositeIDwithCheckDigit was actually QPD-8.
Is there a way to easily get from a property to its Terser-type representation? Sort of like a reverse terser.
Thank you yet again.
Jerry
-
- Site Admin
- Posts: 256
- Joined: Sun Jun 05, 2011 8:06 pm
Re: Populating QPD-3 for QPD_Q22?
Hi,
Terser, works with defined fields, can not do this.
In pdf QPD-8 is defined as follows.
Table 3.21-2: IHE Profile - QPD segment
QPD-8 CX O What Domains Returned
Type is CX. Only element names is different.
Element names changed code is below :
If your element type different, please write us.
Best regards.
Terser, works with defined fields, can not do this.
In pdf QPD-8 is defined as follows.
Table 3.21-2: IHE Profile - QPD segment
QPD-8 CX O What Domains Returned
Type is CX. Only element names is different.
Element names changed code is below :
Code: Select all
unit Unit2;
interface
uses diHL7Base,diHL725,diHL7DT25;
type
TMyQPD_25 = class(TdiSegment)
protected
function GetMessageQueryName : TdiCE_25;
procedure SetMessageQueryName(Value : TdiCE_25);
function GetQueryTag : TdiST_25;
procedure SetQueryTag(Value : TdiST_25);
function GetQueryInputParameterList(RepCount :Integer ) : TdiQIP_25;
procedure SetQueryInputParameterList(RepCount :Integer; Value : TdiQIP_25);
function GetParametersforFuzzySearch : TdiQIP_25;
procedure SetParametersforFuzzySearch(Value : TdiQIP_25);
function GetUserParameters : TdiNode;
procedure SetUserParameters(Value : TdiNode);
function GetUserParameters2 : TdiNode;
procedure SetUserParameters2(Value : TdiNode);
function GetUserParameters3 : TdiNode;
procedure SetUserParameters3(Value : TdiNode);
function GetWhatDomainsReturned: TdiCX_25;
procedure SetWhatDomainsReturned(const Value: TdiCX_25);
public
property MessageQueryName : TdiCE_25 read GetMessageQueryName write SetMessageQueryName;
property QueryTag : TdiST_25 read GetQueryTag write SetQueryTag;
property QueryInputParameterList[RepCount :Integer ] : TdiQIP_25 read GetQueryInputParameterList write SetQueryInputParameterList;
function QueryInputParameterListRepCount : Integer ;
property ParametersforFuzzySearch : TdiQIP_25 read GetParametersforFuzzySearch write SetParametersforFuzzySearch;
property UserParameters : TdiNode read GetUserParameters write SetUserParameters;
property UserParameters2 : TdiNode read GetUserParameters2 write SetUserParameters2;
property UserParameters3 : TdiNode read GetUserParameters3 write SetUserParameters3;
property WhatDomainsReturned: TdiCX_25 read GetWhatDomainsReturned write SetWhatDomainsReturned;
procedure Init; override;
end;
TMyQBP_Q22_25= class(TdiMessage)
private
protected
function GetMSH : TdiMSH_25;
procedure SetMSH(Value : TdiMSH_25);
function GetSFT(RepCount :Integer ) : TdiSFT_25;
procedure SetSFT(RepCount :Integer;Value : TdiSFT_25);
function GetQPD : TMyQPD_25;
procedure SetQPD(Value : TMyQPD_25);
function GetRCP : TdiRCP_25;
procedure SetRCP(Value : TdiRCP_25);
function GetDSC : TdiDSC_25;
procedure SetDSC(Value : TdiDSC_25);
public
property MSH : TdiMSH_25 read GetMSH write SetMSH;
property SFT[RepCount :Integer ] : TdiSFT_25 read GetSFT write SetSFT;
function SFTRepCount : Integer ;
property QPD : TMyQPD_25 read GetQPD write SetQPD;
property RCP : TdiRCP_25 read GetRCP write SetRCP;
property DSC : TdiDSC_25 read GetDSC write SetDSC;
procedure Init; override;
end;
implementation
procedure TMyQPD_25.Init;
begin
inherited;
Name :='QPD';
Definitions.Add('MessageQueryName',TdiCE_25,1,1);
Definitions.Add('QueryTag',TdiST_25,0,1);
Definitions.Add('QueryInputParameterList',TdiQIP_25,0,1);
Definitions.Add('ParametersforFuzzySearch',TdiQIP_25,0,1);
Definitions.Add('UserParameters',TdiNode,0,1);
Definitions.Add('UserParameters2',TdiNode,0,1);
Definitions.Add('UserParameters3',TdiNode,0,1);
Definitions.Add('ExtendedCompositeIDwithCheckDigit',TdiCX_25,0,1);
end;
function TMyQPD_25.GetMessageQueryName : TdiCE_25;
begin
Result:= TdiCE_25(GetStructure('MessageQueryName',0));
end;
procedure TMyQPD_25.SetMessageQueryName(Value : TdiCE_25);
begin
SetStructure('MessageQueryName',0,Value);
end;
function TMyQPD_25.GetQueryTag : TdiST_25;
begin
Result:= TdiST_25(GetStructure('QueryTag',0));
end;
procedure TMyQPD_25.SetQueryTag(Value : TdiST_25);
begin
SetStructure('QueryTag',0,Value);
end;
function TMyQPD_25.GetQueryInputParameterList(RepCount :Integer ) : TdiQIP_25;
begin
Result:=TdiQIP_25(GetStructure('QueryInputParameterList',RepCount));
end;
procedure TMyQPD_25.SetQueryInputParameterList(RepCount :Integer; Value : TdiQIP_25);
begin
SetStructure('QueryInputParameterList',RepCount,Value);
end;
function TMyQPD_25.QueryInputParameterListRepCount: Integer;
begin
Result := GetNodeCount('QueryInputParameterList');
end;
function TMyQPD_25.GetParametersforFuzzySearch : TdiQIP_25;
begin
Result:= TdiQIP_25(GetStructure('ParametersforFuzzySearch',0));
end;
procedure TMyQPD_25.SetParametersforFuzzySearch(Value : TdiQIP_25);
begin
SetStructure('ParametersforFuzzySearch',0,Value);
end;
function TMyQPD_25.GetUserParameters : TdiNode;
begin
Result:= TdiNode(GetStructure('UserParameters',0));
end;
procedure TMyQPD_25.SetUserParameters(Value : TdiNode);
begin
SetStructure('UserParameters',0,Value);
end;
function TMyQPD_25.GetUserParameters2 : TdiNode;
begin
Result:= TdiNode(GetStructure('UserParameters2',0));
end;
procedure TMyQPD_25.SetUserParameters2(Value : TdiNode);
begin
SetStructure('UserParameters2',0,Value);
end;
function TMyQPD_25.GetUserParameters3 : TdiNode;
begin
Result:= TdiNode(GetStructure('UserParameters3',0));
end;
procedure TMyQPD_25.SetUserParameters3(Value : TdiNode);
begin
SetStructure('UserParameters3',0,Value);
end;
function TMyQPD_25.GetWhatDomainsReturned: TdiCX_25;
begin
Result:= TdiCX_25(GetStructure('WhatDomainsReturned',0));
end;
procedure TMyQPD_25.SetWhatDomainsReturned(
const Value: TdiCX_25);
begin
SetStructure('WhatDomainsReturned',0,Value);
end;
function TMyQBP_Q22_25.GetMSH : TdiMSH_25;
begin
Result:=TdiMSH_25(GetStructure('MSH',0));
end;
procedure TMyQBP_Q22_25.SetMSH(Value : TdiMSH_25);
begin
SetStructure('MSH',0,Value);
end;
function TMyQBP_Q22_25.GetSFT(RepCount :Integer ) : TdiSFT_25;
begin
Result:=TdiSFT_25(GetStructure('SFT',RepCount));
end;
procedure TMyQBP_Q22_25.SetSFT(RepCount :Integer;Value : TdiSFT_25);
begin
SetStructure('SFT',RepCount,Value);
end;
function TMyQBP_Q22_25.SFTRepCount : Integer;
begin
Result := GetNodeCount('SFT');
end;
function TMyQBP_Q22_25.GetQPD : TMyQPD_25;
begin
Result:=TMyQPD_25(GetStructure('QPD',0));
end;
procedure TMyQBP_Q22_25.SetQPD(Value : TMyQPD_25);
begin
SetStructure('QPD',0,Value);
end;
function TMyQBP_Q22_25.GetRCP : TdiRCP_25;
begin
Result:=TdiRCP_25(GetStructure('RCP',0));
end;
procedure TMyQBP_Q22_25.SetRCP(Value : TdiRCP_25);
begin
SetStructure('RCP',0,Value);
end;
function TMyQBP_Q22_25.GetDSC : TdiDSC_25;
begin
Result:=TdiDSC_25(GetStructure('DSC',0));
end;
procedure TMyQBP_Q22_25.SetDSC(Value : TdiDSC_25);
begin
SetStructure('DSC',0,Value);
end;
procedure TMyQBP_Q22_25.Init;
begin
inherited;
Name :='QBP_Q22';
MessageType :='QBP';
TriggerEvent :='Q22';
HL7Version :='2.5';
Definitions.Add('MSH',TdiMSH_25,1,1);
Definitions.Add('SFT',TdiSFT_25,0,-1);
Definitions.Add('QPD',TMyQPD_25,1,1);
Definitions.Add('RCP',TdiRCP_25,1,1);
Definitions.Add('DSC',TdiDSC_25,0,1);
ParseHL7(InitMsg);
end;
initialization
diRegisterClass(TMyQBP_Q22_25,'QBP_Q22','2.5');
diRegisterClass(TMyQPD_25,'QPD','2.5');
finalization
diUnRegisterClass(TMyQBP_Q22_25);
diUnRegisterClass(TMyQPD_25);
end.
Best regards.
-
- Posts: 10
- Joined: Fri Dec 14, 2012 2:14 pm
Re: Populating QPD-3 for QPD_Q22?
Hello,
ExtendedCompositeIDwithCheckDigit is fine, I just did not know that that was the QPD-8 field. It works fine like it is.
My question was if there is a way to get from a TdiXXXX property to its Terser-type value. For instance: assuming FPid : TdiPID_26, how to get the Terser-type representation of FPid.PatientName[0].FamilyName.Surname? (PID-5.1.1, I believe.)
Does that clear up my question?
(Should I start a new topic for this question?)
Thank you.
ExtendedCompositeIDwithCheckDigit is fine, I just did not know that that was the QPD-8 field. It works fine like it is.
My question was if there is a way to get from a TdiXXXX property to its Terser-type value. For instance: assuming FPid : TdiPID_26, how to get the Terser-type representation of FPid.PatientName[0].FamilyName.Surname? (PID-5.1.1, I believe.)
Does that clear up my question?
(Should I start a new topic for this question?)
Thank you.
-
- Site Admin
- Posts: 256
- Joined: Sun Jun 05, 2011 8:06 pm
Re: Populating QPD-3 for QPD_Q22?
Hi,
Yes, you can use name or order.
seperator is "-" not "."
Example code :
Yes, you can use name or order.
seperator is "-" not "."
Example code :
Code: Select all
uses diHL722, diHL7DT22, diHL7Grp22;
procedure TForm1.diTerserTestClick(Sender: TObject);
var
msg : TdiADT_A01_22;
begin
msg := TdiADT_A01_22.Create;
// Populate the MSH Segment
msg.Terser('/MSH-3-1').AsString:='TestSendingSystem';
msg.Terser('/MSH-13-1').AsString:='123';
// Populate the PID Segment
msg.Terser('/PID-5-1').AsString:='Doe';
msg.Terser('/PID-5-2').AsString:='John';
msg.Terser('/PID-3-1').AsString:='123456';
msg.Terser('/PID-3(2)-1').AsString:='7890';
Memo1.Lines.Text:= msg.AsString;
{
MSH|^~\&|TestSendingSystem||||201112011539||ADT^A01||P|2.2|123
PID|||123456~7890||Doe^John
}
FreeAndNil(msg);
end;
-
- Posts: 10
- Joined: Fri Dec 14, 2012 2:14 pm
Re: Populating QPD-3 for QPD_Q22?
Hello,
I was asking if there is a way to go the other way: find out the XXX-#... from the property.
Thank you.
Jerry
I was asking if there is a way to go the other way: find out the XXX-#... from the property.
Thank you.
Jerry
Who is online
Users browsing this forum: No registered users and 7 guests