How to run the example
This CBPR+ MX Validation will use the sample files to demonstrate the generation of validation reports as output from a CBPR+ XML message.
About this task
The stopValidation.json file will report the validation failure due to the pre-conversion checks:
If input file is other than any of the supported CBPR+ messages as per schema list indicated above.
Procedure
- Import the cbpr_validation.zip project into the Design Server.
-
Open the cbpr_validation_flow project in Design Server and view the
cbpr_validation flow.
-
The Flow Description points to all the maps to be executed during the
flow process, which will be called from within some of the map nodes in the flow. The following is a
list of maps invoked using RUN built-in function during the flow process:
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6001_camt_029_001_09
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6002_camt_052_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6003_camt_053_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6004_camt_054_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6005_camt_057_001_06
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6006_camt_056_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6007_camt_060_001_05
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6008_camt_055_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6009_camt_058_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6010_camt_107_001_01
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6011_camt_108_001_01
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6012_camt_109_001_01
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6013_camt_105_001_02
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6014_camt_105_001_02_mlp
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6015_camt_106_001_02
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6016_camt_106_001_02_mlp
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6017_camt_025_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6051_head112_camt029
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6052_head112_camt052
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6053_head112_camt053
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6054_head112_camt054
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6055_head112_camt057
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6056_head112_camt056
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6057_head112_camt060
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6058_head112_camt055
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6059_head112_camt058
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6060_head112_camt107
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6061_head112_camt108
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6062_head112_camt109
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6063_head112_camt105
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6064_head112_camt105_mlp
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6065_head112_camt106
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6066_head112_camt106_mlp
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_camt_validation_enh/cbpr6067_head112_camt025
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6101_pacs_002_001_10
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6102_pacs_004_001_09
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6103_pacs_008_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6104_pacs_009_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6105_pacs_009_001_08_cov
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6106_pacs_010_001_03_mgn
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6107_pacs_008_001_08_stp
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6108_pacs_009_001_08_adv
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6109_pacs_003_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6110_pacs_010_001_03
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6151_head112_pacs002
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6152_head112_pacs004
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6153_head112_pacs008
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6154_head112_pacs009
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6155_head112_pacs009_cov
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6156_head112_pacs010_mgn
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6157_head112_pacs008_stp
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6158_head112_pacs009_adv
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6159_head112_pacs003
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pacs_validation_enh/cbpr6160_head112_pacs010
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pain_validation_enh/cbpr6401_pain_001_001_09
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pain_validation_enh/cbpr6402_pain_002_001_10
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pain_validation_enh/cbpr6403_pain_008_001_08
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pain_validation_enh/cbpr6451_head112_pain001
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pain_validation_enh/cbpr6452_head112_pain002
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_pain_validation_enh/cbpr6453_head112_pain008
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_admi_validation_enh/cbpr6601_admi_024_001_01
- @packagemap=cbpr_plus/validation/mx_extended/maps/cbpr_mx_admi_validation_enh/cbpr6651_head112_admi024
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6201_camt_029_001_09
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6202_camt_052_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6203_camt_053_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6204_camt_054_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6205_camt_056_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6206_camt_057_001_06
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6207_camt_060_001_05
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6208_camt_055_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6209_camt_058_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6210_camt_107_001_01
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6211_camt_108_001_01
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6212_camt_109_001_01
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6213_camt_105_001_02
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6214_camt_105_001_02_mlp
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6215_camt_106_001_02
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6216_camt_106_001_02_mlp
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6217_camt_025_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6251_head112_camt029
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6252_head112_camt052
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6253_head112_camt053
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6254_head112_camt054
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6255_head112_camt056
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6256_head112_camt057
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6257_head112_camt060
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6258_head112_camt055
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6259_head112_camt058
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6260_head112_camt107
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6261_head112_camt108
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6262_head112_camt109
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6263_head112_camt105
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6264_head112_camt105_mlp
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6265_head112_camt106
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6266_head112_camt106_mlp
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6267_head112_camt025
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6301_pacs_002_001_10
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6302_pacs_004_001_09
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6303_pacs_008_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6304_pacs_009_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6305_pacs_009_001_08_cov
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6306_pacs_010_001_03_mgn
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6307_pacs_008_001_08_stp
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6308_pacs_009_001_08_adv
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6309_pacs_003_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6310_pacs_010_001_03
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6351_head112_pacs002
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6352_head112_pacs004
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6353_head112_pacs008
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6354_head112_pacs009
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6355_head112_pacs009_cov
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6356_head112_pacs010_mgn
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6357_head112_pacs008_stp
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6358_head112_pacs009_adv
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6359_head112_pacs003
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6360_head112_pacs010
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6501_pain_001_001_09
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6502_pain_002_001_10
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6503_pain_008_001_08
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6551_head112_pain001
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6552_head112_pain002
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6553_head112_pain008
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6701_admi_024_001_01
- @packagemap=cbpr_plus/validation/schema_only/maps/cbpr_mx_schema_validation_xsd/cbpr6751_head112_admi024
-
It utilizes the following nodes:
- Source Nodes:
- mx_input
This node identifies the input data to be validated in the flow. It uses the INPUT_FILE variable to set the location of the data.
- mx_input
- Map Nodes:
- MX pre-check
Runs map mxut1001_bizsvc_cbpr which sets flow variables, checks pre-validation conditions and creates infoset.json for validation.
- EXT_VAL
Runs map cbpr6200_val which calls the appropriate map to perform extended validation of a CBPR+ message.
- XSD_VAL
Runs map cbpr6100_val which calls the appropriate map to perform schema validation of a CBPR+ message.
Note: The maps cbpr6200_val and cbpr6100_val internally call all the other maps identified in the above Flow Description step. - MX pre-check
- Decision Nodes:
- pre-valid chk
This node checks the flow variable stopValidation to decide if further validation/processing is not required.
- EXT_RESULT_FORMAT
This node checks the value of the flow variable REPORT_FORMAT to determine if the resulting report for extended validation should be generated in XML (default) or JSON.
- XSD_RESULT_FORMAT
This node checks the value of the flow variable REPORT_FORMAT to determine if the resulting report for schema-only validation should be generated in XML (default) or JSON.
- pre-valid chk
- Route Nodes:
- VAL_TYPE
This node checks the variable VALIDATION_TYPE to determine if the process will do extended validation or schema-only validation on the data.
- VAL_TYPE
- Log Nodes:
- FAILURE
In case of no validation due to precondition check failures, this node creates a log file specified by the flow variable FAILURE_LOG.
- FAILURE
- Fail Node:
- STOP
It generates error message setup in the node in case of no validation performed.
- STOP
- Passthrough Nodes:
- EXT_XML_CONVERT
This node receives an extended validation report in XML format and does not modify the content, thus passing it as is to the appropriate target node.
- XSD_XML_CONVERT
This node receives a schema-only validation report in XML format and does not modify the content, thus passing it as is to the appropriate target node.
- EXT_XML_CONVERT
- Format Converter Nodes:
- EXT_JSON_CONVERT
This node receives an extended validation report in XML format and converts it to JSON before passing it to the appropriate target node.
- XSD_JSON_CONVERT
This node receives a schema-only validation report in XML format and converts it to JSON before passing it to the appropriate target node.
- EXT_JSON_CONVERT
- Target Nodes:
- ext_xml
This node contains the resulting extended validation report in XML format and creates the output as defined by the variable OUTPUT_RESULT_XML.
- ext_json
This node contains the resulting extended validation report in JSON format and creates the output as defined by the variable OUTPUT_RESULT_JSON.
- xsd_xml
This node contains the resulting schema-only validation report in XML format and creates the output as defined by the variable OUTPUT_RESULT_XML.
- xsd_json
This node contains the resulting schema-only validation report in JSON format and creates the output as defined by the variable OUTPUT_RESULT_JSON.
- ext_xml
- Source Nodes:
-
It utilizes the following variables:
Flow variables:
- VALIDATION_TYPE
The default value is extended.
For schema-only validation, it can be changed to schema. This is used in Route node VAL_TYPE.
- REPORT_FORMAT
The default value is xml.
It can be changed to json. This is used in Decision nodes EXT_RESULT_FORMAT and XSD_RESULT_FORMAT.
- INPUT_FILE
The default value is ../tools/mxservice/data/cbpr_pacs_009_adv.xml.
This is the data file to be used for validation and can be customized. This is used in Source node mx_input.
- BIC_FILE
The default value is ../data/bic.xml.
This is the location of the bic cross-reference file that is used in all the maps executed by the map in node EXT_VAL. It can be customized.
- CCY_FILE
The default value is ../data/currencycodedecimals.xml.
This is the location of the country code cross-reference file that is used in all the maps executed by the map in node EXT_VAL. It can be customized.
- MXCONFIG_FILE
The default value is ../data/mxconfig.xml.
This is the location of the file containing the rule validation settings that is used in all the maps executed by the map in node EXT_VAL. It can be customized.
- OUTPUT_RESULT_XML
The default value is validation_result.xml.
This is the location of the validation report file in xml format. It is used in Target nodes ext_xml and xsd_xml. It can be customized.
- OUTPUT_RESULT_JSON
The default value is validation_result.json.
This is the location of the validation report file in json format. It is used in Target nodes ext_json and xsd_json. It can be customized.
- FAILURE_LOG
The default value is stopMXValidation.json.
This is the location of the failure log. It is used in Log node FAILURE. It can be customized.
- bizSvc
For internal use in the Map node MX pre-check to determine the type of data being read in the input file.
- stopValidation
For internal use in the Map node MX pre-check and is checked in Decision node pre-valid chk to cause a Failure log in case a data file was not recognized as a valid CBPR+ message.
- VALIDATION_TYPE
-
The Flow Description points to all the maps to be executed during the
flow process, which will be called from within some of the map nodes in the flow. The following is a
list of maps invoked using RUN built-in function during the flow process:
- Open the main flow cbpr_validation in the Design Server. It utilizes above one source node, three map nodes, one route nodes, three decision nodes, one log node, one fail node, two passthrough nodes, two format converter nodes and four target nodes.
-
In Design Server, create a package that contains the input files and one flow
cbpr_validation. The maps will automatically be included during
deployment of the package onto the runtime server.
Note: Not required for running flows on Design Server user interface directly.