APHL Detor Message Validation Rules

Detor will validate both order and result messages and alert the Public Health Laboratory (PHL) of any errors or warnings.

Errors occur when a message cannot be recognized or processed. For example, a message that is corrupt, invalid, or the correct domain (Newborn Screening, Clinical, Environmental) cannot be determined.

Warnings occur if data that has been deemed required is missing or invalid. For example, ‘Collection Facility’ is missing from the order message.

Note this validation occurs after APHL receives, transforms and translates the message to the middle-ground format.



Validation Principles

Detor validation processing is based on the following principles:

  1. Any message sent to a PHL should be received by the PHL.

  2. The absence or inaccuracy of some data in a message should not prevent the sharing of other data; “something is better than nothing”.

  3. PHLs can create unique validation criteria.

  4. Information on both errors and warnings will be provided to the PHL. APHL Detor Error & Warning Handling

Customizing Validation Criteria

Detor has created standard validation criteria for each use case. A PHL has the option to accept the standard validation or define a unique PHL-specific version that will be applied to their domain. Your implementation team will work with you to select your preferred criteria. Regardless of using standard or customized validation criteria, the criteria should be shared with all organizations sending and receiving messages, in an effort to limit errors and warnings.

Standard Validation Criteria

Newborn Screening Standard Validation

Order

To create a PHL-unique validation for Newborn Screening Orders, please use the template available in Smartsheet.

Result

To create a PHL-unique validation for Newborn Screening Results, please use the template available in Smartsheet.

Clinical Standard Validation

Order

Result

Common Element Definitions

  • AuxData

    • Question (CodedConceptSubId)

    • DateTaken (YYYYMMDD[HH[MM[SS[SSS[+-TZ]]]]])

    • AnswerType (enumeration/one of below)

      • Code (codedConcept)

      • String (can’t be empty)

      • Number

        • LowerNumber (numberStandard)

      • Person (HumanName)

      • Phone (phoneStandard)

      • Email (emailStandard)

      • Address 

        • City (can’t be empty)

        • Street (can’t be empty)

        • State (can’t be empty)

        • Zip (can’t be empty)

      • Date (YYYYMMDD[HH[MM[SS[SSS[+-TZ]]]]])

      • Identifier (IdentiferTypeNotRequired)

  • QAEvaluation

    • Response

      • Code

      • Codesystem

      • Freetext

      • Description

      • Type

      • AlternateCode

      • AlternateCodeSystem

      • AlternateDescription

  • AddressStandardMultiple

    • City (can’t be empty)

    • Street (can’t be empty)

    • State (can’t be empty)

    • Zip (can’t be empty)

  • AddressStandardSingle

    • City (can’t be empty)

    • Street (can’t be empty)

    • State (can’t be empty)

    • Zip (can’t be empty)

  • PhoneStandard

    • AreaCode (can’t be empty)

    • Number (can’t be empty)

  • EmailStandard  (can’t be empty)

  • CodedConcept

    • (code and CodeSystem)

    • OR

    • (textIfNoCode)

  • CodedConceptSubId

    • (code and CodeSystem)

    • OR

    • (textIfNoCode)

  • NumberStandard  (can’t be empty)

  • IdentifierTypeNotRequired

    • assigningAurhority

      • (assignerId and assignerIdType)

      • OR

      • assignerNameSpace

    • id

  • IdentifierTypeRequired

    • assigningAurhority

      • (assignerId and assignerIdType)

      • OR

      • assignerNameSpace

    • Id

    • identifierType (can’t be empty)

  • RelatedEntity

    • (humanName

    • AND

    • (organizationName 

    • OR

    • id)

    • )

  • AuxData

    • Question (CodedConceptSubId)

    • DateTaken (YYYYMMDD[HH[MM[SS[SSS[+-TZ]]]]])

    • AnswerType (enumeration/one of below)

      • Code (codedConcept)

      • String (can’t be empty)

      • Number

        • LowerNumber (numberStandard)

      • Person (HumanName)

      • Phone (phoneStandard)

      • Email (emailStandard)

      • Address 

        • City (can’t be empty)

        • Street (can’t be empty)

        • State (can’t be empty)

        • Zip (can’t be empty)

      • Date (YYYYMMDD[HH[MM[SS[SSS[+-TZ]]]]])

      • Identifier (IdentiferTypeNotRequired)

  • QAEvaluation

    • Response

      • Code

      • Codesystem

      • Freetext

      • Description

      • Type

      • AlternateCode

      • AlternateCodeSystem

      • AlternateDescription

  • AddressStandardMultiple

    • City (can’t be empty)

    • Street (can’t be empty)

    • State (can’t be empty)

    • Zip (can’t be empty)

  • AddressStandardSingle

    • City (can’t be empty)

    • Street (can’t be empty)

    • State (can’t be empty)

    • Zip (can’t be empty)

  • PhoneStandard

    • AreaCode (can’t be empty)

    • Number (can’t be empty)

  • EmailStandard  (can’t be empty)

  • CodedConcept

    • (code and CodeSystem)

    • OR

    • (textIfNoCode)

  • CodedConceptSubId

    • (code and CodeSystem)

    • OR

    • (textIfNoCode)

  • NumberStandard  (can’t be empty)

  • IdentifierTypeNotRequired

    • assigningAurhority

      • (assignerId and assignerIdType)

      • OR

      • assignerNameSpace

    • id

  • IdentifierTypeRequired

    • assigningAurhority

      • (assignerId and assignerIdType)

      • OR

      • assignerNameSpace

    • Id

    • identifierType (can’t be empty)

  • RelatedEntity

    • (humanName

    • AND

    • (organizationName 

    • OR

    • id)

    • )