CARES Schematron Rules - NEMSIS 3.3.4/3.4.0

myCARES Schematron Rules - NEMSIS 3.3.4/3.4.0 - updated 05/08/2023

We are currently developing a CARES-specific schematron. The schematron results are available via the File Upload Validation Report in the respective myCARES account.

Below is a list of current schematron ERROR/FATAL errors available for and in test on myCARES Beta. [FATAL] violations will trigger file rejection and are usually due to an incorrect format or value passed in an element. Because the file would fail at database level in these cases, we are now rejecting them before further parsing. Please check back often for updates.

You can access the current myCARES Schematron here or refer to the below.

  • Date of Arrest is required - either eArrest.14 or custom element servicedate must be present with a valid and non-empty date value. If these are not present, the value of eTimes.03 will be used. Missing servicedate/eArrest.14 will produce a [WARNING] while improper value will produce a [FATAL] error.
  • First Arrest Rhythm is required - either custom element FirstRhythm or eArrest.11 must be present with a valid value. NV not allowed. Missing will produce a [ERROR] while improper value will produce a [FATAL] error.
  • First Arrest Rhythm - Either eCustomConfiguration.firstRhythm or eArrest.11 is required when firstDefibPatient is not empty.
  • First Arrest Rhythm - checks for FirstDefibPatient - 8 with FirstRhythm - 0, 1, 6.
  • The following custom elements must be present with a correct value. Except FirstResponder, a [FATAL] violation will occur if an improper value is passed, meaning the file will be rejected. A missing value will produce a [ERROR].:
    • ArrestWitnessed
    • ArrestAfterArrivalEMS
    • WasAEDAppliedPrior - can`t be empty string, also it checks for:
    • FirstDefibPatient - 8 - with WasAEDAppliedPrior - 5 (3007005)
    • FirstDefibPatient - 4 - with WasAEDAppliedPrior - 5 (3007005)
    • FirstDefibPatient ID should match with WhoFirstAppliedAED ID - with WasAEDAppliedPrior - 5 (3007005)
    • FirstDefibPatient - 1, 2, 5, 10, 11 - with WasAEDAppliedPrior - 6 (3007003)
    • FirstRhythm - 0 (3011011), 1 (3011013), 6 (3011009) - with WasAEDAppliedPrior - 6 (3007003)
    • WhoFirstAppliedAED:
      • Required if eArrest.07 is Yes - (3007003 or 3007005)
      • If WhoFirstAppliedAED = First Responder, (non-EMS) then PoliceAED is required with a correct value.
      • Requires confirmation if equals to 10 or 11 and NoFRDisp is 1
      • Requires confirmation if equals to 10 or 11 and FirstDefibPatient is 1, 2, or 5
      • Requires confirmation if equals to 1, 2 or 6 and LocationType is 1
    • PoliceAED - required if WhoFirstAppliedAED is 3
    • LocationType - can`t be empty string.
    • LocationTypeOther - now checks for Location Type ID - 14.
    • InitiatedCPR:
      • Can be empty string if ResusAttemptEMS is 2
      • Should not be 3 if NoFRDisp is 1
      • Requires confirmation if equals to 8 and ResusAttemptEMS is 1
      • Requires confirmation if equals to 4 and eArrest.07 is 3007003 or 3007005
      • Requires confirmation if equals to 4 and FirstDefibPatient is 1,2,3,5,10 or 11
    • ResusAttemptEMS - can`t be empty string, also it checks for:
    • InitiatedCPRValue - 3, 4 - with ResusAttemptEMSValue - 2
    • EndOfEventValue - 2, 3 - with ResusAttemptEMSValue - 2
    • AEDUsedPriorEMS - 5 (3007005) - with ResusAttemptEMSValue - 2
    • FirstDefibPatient - 1, 2, 4, 5, 10, 11 - with ResusAttemptEMSValue - 2
    • 911RespCPR - 1 - with ResusAttemptEMSValue - 2
    • SustainedROSC - can`t be empty string, also it checks for:
    • EndOfEventValue - 1 - with SustainedROSC - 4
    • ROSCStart - 1 - with SustainedROSC - 3, 4
    • ROSCStart - 1, '' - with SustainedROSC - 2
    • EndOfEvent - can`t be empty string.
    • PoliceDefib - can`t be empty string.
    • FirstDefibPatient - can`t be empty string, also it checks for:
    • NoFRDisp - 1 with FirstDefibPatient - 10 and WhoFirstAppliedAED - 11
    • ROSCStart - 3, 5 with FirstDefibPatient - 8
    • Defib Time - now checks for First Defib Patient - 8.
    • if FirstDefibPatient = First Responder, (non-EMS) then PoliceDefib is required with a correct value.
  • FirstResponder must be present and not nil, unless there is a NoFRDisp element with the value of 1.
  • If NoFRDisp is 1, InitiatedCPR should not be 3, and WhoFirstAppliedAED/FirstDefibPatient should not be 10
  • The following NEMSIS elements are required by CARES and must be present with a value (no NV/nil). Except where noted, these are [ERROR] level:
    • Incident Number (eResponse.03) [FATAL] value required - file will fail in parsing without this, also it can`t be empty string and should be less than 50 characters.
    • Incident Address (eScene.15) - can`t be empty string.
    • Incident County (eScene.21) - can`t be empty string.
    • Incident City (eScene.17) - can`t be empty string.
    • Incident State (eScene.18) - can`t be empty string. Also, it validates that the value corresponds to a valid state ID.
    • Incident Zip (eScene.19) - can`t be empty string
    • Patient Last Name (ePatient.02) - can`t be empty string.
    • Patient First Name (ePatient.03) - can`t be empty string.
    • Either Patient Age (ePatient.15/16, ePatient.15 must be a numeric value between 1 and 99) or Date of Birth (ePatient.17, can`t be empty string)
    • Patient Date of Birth (ePatient.17) - can't be empty string unless there is a DOB_Unknown element with the value of 1
    • Destination Hospital (eDisposition.02) - can't be empty string if End of Event is Pronounced Dead in ED or Ongoing Resuscitation in ED, must be empty/absent if End of Event is Pronounced in the Field or Effort Ceased Due to DNR
    • Patient Gender (ePatient.13) - can`t be empty string.
    • Patient Ethnicity (ePatient.14) required (or pass an NV or EthnicityUnknown must equal 8), also it checks for xsi:nil=true and presence of NV attribute
    • Presumed Cardiac Arrest Etiology (eArrest.02) - can`t be empty string.
    • Presumed Cardiac Arrest Etiology Other - now checks for Presumed Cardiac Arrest Etiology ID - 6.
    • Was an AED applied prior to EMS Arrival (eArrest.07)
    • Was Hypothermia provided in the field (3.4.0-eProcedure.03; 3.3.4-eArrest.10) [WARNING]
    • Medical History (eHistory.08) - can`t be empty string [WARNING]
  • If used, the following optional custom elements must contain the proper value/format (can be omitted or nil). All of the below will constitute a [FATAL] violation, meaning the file will be rejected:
    • BystanderCPRProvidedID - schematron validation results gives the result with the [WARNING] if BystanderCPRProvidedID is 3.
    • CPRInstructionsProvided
    • 911RespCPR - can`t be empty string, also it checks for ROSCStart - 4 - with 911RespCPR - 2
    • ROSCStart - Requires confirmation if equals to 2 and ResusAttemptEMS is 1
    • DefibTime
    • NoFRDisp
    • FRDispatched - it warn when NoFRDisp is true and FR_DISPATCHED has a value
    • FREnroute - it warn when NoFRDisp is true and FREnroute has a value
    • FROnscene - it warn when NoFRDisp is true and FROnscene has a value
    • MechCPRDeviceID
    • CPRFeedbackDevice
    • DrugAdministration
    • ITDID
    • VascularAccessID
    • STEMI
    • EROutcome
    • Hypothermia_Provided_Hosp
    • HospOutcome
    • HospOutcomeDNR
    • EROutcomeTrans
    • HospOutcomeTrans
    • HospOutcomeDNRTrans
    • HospDispositionTrans
    • NeuroOutcomeTrans
    • Hypothermia_Provided_Hosp_Trans
    • MyocardialInfarction
    • CoronaryAngiography
    • CoronaryAngiographyDateTime
    • CardiacStent
    • CABGPerformed
    • ICDPlaced
    • HypoNotInitiatedHosp
    • DischargeDeathDateTime
    • InitiatedCPRLaw - can't be empty string if InitiatedCPR is 3
    • CPRTime - now checks for Initiated CPR - 8.
    • TimeSusRosc
  • If NULL or null is passed as a value in the following elements, the file will be rejected [FATAL]:
    • FirstResponder
    • DOB_Unknown
  • Any PatientCareReport with more than one ArrestWitnessed element per PatientCareReport will be flagged as an [ERROR]. These records fail at database level and must be resubmitted.

Test data sent to the Beta server should not contain any PHI.


Copyright © 2022 MyCares.net. All rights reserved. Unauthorized usage is prohibited. Usage will be monitored.