Uploaded image for project: 'CDA Specification Feedback'
  1. CDA Specification Feedback
  2. CDA-20086

Correction to the latest Schematron rule for CONF:1198-8456

    XMLWordPrintableJSON

Details

    • Icon: Technical Correction Technical Correction
    • Resolution: Persuasive
    • Icon: Medium Medium

    Description

      The approved new Schematron rule is being ignored by Schematron implementers with the following error.

       

      {
          "errorCount": 0,
          "warningCount": 0,
          "ignoredCount": 1,
          "errors": [],
          "warnings": [],
          "ignored": [
              {
                  "errorMessage": "Cannot convert boolean to nodeset",
                  "type": "error",
                  "test": "count(cda:author/cda:assignedAuthor[count(cda:assignedPerson | (cda:representedOrganization and cda:assignedAuthoringDevice)) > 1])=0",
                  "description": "Such assignedAuthors **SHALL** contain (exactly one [1..1] assignedPerson) or (exactly one [1..1] assignedAuthoringDevice and exactly one [1..1] representedOrganization) (CONF:1198-8456).",
                  "patternId": "p-urn-hl7ii-2.16.840.1.113883.10.20.22.1.2-2015-08-01-errors",
                  "ruleId": "r-urn-hl7ii-2.16.840.1.113883.10.20.22.1.2-2015-08-01-errors",
                  "assertionId": "a-1198-8456-c",
                  "context": "cda:ClinicalDocument[cda:templateId[@root='2.16.840.1.113883.10.20.22.1.2' and @extension = '2015-08-01']]"
              }
          ]
      }
      

      While this rule being ignored allowed the previous intent in not restricting assignedPerson and representedOrganization combination from existing, it does not test the rule for avoiding the combination of `assignedPerson with (assigendAuthoringDevide and representedOrganization)`.

      We propose a change to this rule which has been tested thoroughly with the latest Schematron and XPath validators or remove the rule entirely as the rule `a-1198-16790-c` achieves the same purpose.

      Proposed change

       1. Remove the rule from the schematron file, or

      2. Change the rule to the following

      <sch:assert id="a-1198-8456-c" test="not(cda:author/cda:assignedAuthor[cda:assignedPerson and cda:representedOrganization and cda:assignedAuthoringDevice])">Such assignedAuthors *SHALL* contain (exactly one [1..1] assignedPerson) or (exactly one [1..1] assignedAuthoringDevice and exactly one [1..1] representedOrganization) (CONF:1198-8456).</sch:assert>
      

      While this rule prevents all three of assignedPerson, representedOrganization, and assignedAuthoringDevice to exist at the same time, would not eliminate the combination of assignedPerson and assignedAuthoringDevice (which would be handled by the schematron rule `a-1198-16790-c` (CONF:1198-16790)). 

       

      While the proposed rules here reflects the guidance and language of (CONF:1198-8456), it seems that the schematron rule `a-1198-16790-c` is sufficient to address both CONF:1198-8456 and CONF:1198-16790.

      The rule `a-1198-16790-c` effectively allows all the other combinations

      • cda:author/cda:assignedAuthor[cda:assignedPerson]
      • cda:author/cda:assignedAuthor[cda:representedOrganization](this is not allowed per CONF:1198-16790)
      • cda:author/cda:assignedAuthor[cda:assignedPerson and cda:representedOrganization]
      • cda:author/cda:assignedAuthor[cda:assignedAuthoringDevice and cda:representedOrganization]

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            ptokachichu Priyaranjan Tokachichu (Inactive)
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: