API browser of generalFormRequest430 COM module


/images/arrow_right.png IGeneralFormRequest::GetNextStructRole method
Retrieves the first structure of all semantically well defined structures defined by the currently loaded PDF file.

Note, that basically the variable name/placeholder and the status (defined or not) is returned. Based on the returned status a structure is set by the appropriate method e.g. AddDiagnosis and using the given bstrStructName variable.

VARIANT_FALSE is returned if the end of the structure list is reached.

space
 
/images/arrow_right.png C/C++ calling syntax
HRESULT GetNextStructRole( StructRoleType
BSTR
long
long
YesNoType
BSTR
VARIANT_BOOL
*peStructRoleType,
*pbstrStructName,
*plIndex,
*plMaxOccurs,
*peIsDefined,
*pbstrConstraint4Struct,
*pbStatus);
 
/images/arrow_right.png Calling argument description
[out] StructRoleType *peStructRoleType The role type/typification of the structure defined by the StructRoleType enumerator.
[out] BSTR *pbstrStructName The PDF internal variable name/placeholder onto which the structure was mapped.
[out] long *plIndex The '0'-based index into the array of structures of the given structure role type.
[out] long *plMaxOccurs The maximal cardinality of this given structure role type
[out] YesNoType *peIsDefined Boolean that designates if the structure is already preset and defined (enYes) or not (enNo)
[out] BSTR *pbstrConstraint4Struct bstrConstraint4Struct is -if defined at all- a constraint onto the value space of the structure of type eStructRoleType. The constraint is formatted within the grammar of the SQL WHERE clause with the variable names of the structure as field names.

For example the constraint on the right distant sphere of an eyeglass prescription can be defined in terms of the numericResult structure as:

eResultCode=1 AND bstrUnit LIKE '[[]diop]' AND (bstrCode LIKE '28826-6' OR bstrCode LIKE '28780-5')

where eResultCode=1 requests LOINC as coding system, [diop] as UCUM unit and a LOINC code for the eyeglass prescription 28826-6 or for the lensmeter measurement 28780-5.

Please note, that the constraint is not enforced by the COM module to allow other data as well - in that sense it is more a hint than a constraint. However, it does not make any sense e.g. to add a glucose lab result for the aforementioned distant sphere!

[out, retval] VARIANT_BOOL *pbStatus Return status of the method. If pbStatus is VARIANT_FALSE the end of data is reached
 
/images/arrow_right.png C/C++ return value
S_OK This value is returned if the function call was successful or if the return value of a boolean method signalling a true value. In this case the VARIANT_BOOL is set to VARIANT_TRUE.
S_FALSE This is the return value of a boolean method signalling a false return value. In this case the VARIANT_BOOL is set to VARIANT_FALSE.
E_name This value is returned if the function call was unsuccessful and an error exception was generated. Note that if you are using SmartPointers an exception is thrown under these conditions.