The CCDA with Validation module creates an sample CCDA with validation based on CCDA Release 2 (2012) or Release 2.1 (2015).
This module helps you to quick identify all CCDA Schema errors, Shall errors, and Should errors so that you can ensure the CCDA you created are compliant with HL7 CCDA specifications.
Using the Code [top]
- Import the Create CCDA with Validation channel from the Interfaceware Support repository
- If you are using MacOS or Linux, please enable checkDependencies() function on main to ensure third party software (xsltproc and xmllint) have been installed.
- Review or update CCDA configurations in CCDA/configs.lua:
- Decide the error Mode options:
- Mode 1: outputs all Schema errors and Shall errors
- Mode 2: outputs all Schema errors, Shall errors, and Should errors
- Default (no Mode) : outputs all Schema errors
This is the github code for the main module:
How it works [top]
The CCDA with Validation module imports the C-CDA(R2 and R2.1 release) Schema and Vocabularies (voc) from HL7.org. After importing, you can use CCDA voc to map CCDA code and codeSystems to reduce mapping effort and eliminate mapping error. Moreover, the CCDA schema will allow this module to validate your output CDA XML complaint with CCDA Release 2 or Release 2.1. You will have the optional to decide whether you want to fix schema errors, SHALL errors, and/or SHOULD errors. Once you have completed CCDA implementation and testing, a few considerations listed as follow:
- Remove utils.checkDependencies() in Main: this code only needed during initial setup to ensure your OS has the necessary third party software installed
- Decide whether to keep or remove validate.ValidateCCDA() in Main: the CCDA validate requires time to process. To speed up CDA generation process, you may want to consider to turn validation off in Production.
- Add new release CDA: for future consideration, you can add newly released CDA into other folder as long as they follow the same file structure