PCC-7/careProvisionEvent

From IHE Wiki
Jump to: navigation, search
<careProvisionEvent classCode='PCPR' moodCode='EVN'>

An example <careProvisionEvent> element is shown below.

 <careProvisionEvent classCode='PCPR' moodCode='EVN'>
   <replacementOf typeCode='RPLC' contextControlCode='OP' contextConductionInd='false'>
     <careProvisionEvent classCode='PCPR' moodCode='EVN'>
       <id root=' ' extension=' '/>  
     </careProvisionEvent>
   </replacementOf>
   <component typeCode='COMP'>
     <carePlan classCode='PCPR' moodCode='INT'>
       <definition typeCode='INST' contextControlCode='OP' contextConductionInd='false'>
         <guideline classCode='PCPR' moodCode='DEF'>
           <id root=' ' extension=' '/>
           <title></title>
           <text></text>
           <statusCode code='active|obsolete'/>
           <effectiveTime>
             <low value=' '/>
             <high value=' '/>
           </effectiveTime>
           <!-- zero or more components containing acts of care to be monitored -->
           <component2 typeCode='COMP'>
             <!-- One of the following elements -->
             <observationDefinition classCode='OBS' moodCode='DEF'>
               <templateId root=' ' extension=' '/>
               <id root=' ' extension=' '/>
               <code code=' ' displayName=' ' codeSystem=' ' codeSystemName=' '/>
             </observationDefinition>
             <substanceAdministrationDefinition classCode='SBADM' moodCode='DEF'>
               <templateId root=' ' extension=' '/>
               <id root=' ' extension=' '/>
               <code code=' ' displayName=' ' codeSystem=' ' codeSystemName=' '/>
             </substanceAdministrationDefinition>
             <procedureDefinition classCode='PROC' moodCode='DEF'>
               <templateId root=' ' extension=' '/>
               <id root=' ' extension=' '/>
               <code code=' ' displayName=' ' codeSystem=' ' codeSystemName=' '/>
             </procedureDefinition>
             <encounterDefinition classCode='ENC' moodCode='DEF'>
               <templateId root=' ' extension=' '/>
               <id root=' ' extension=' '/>
               <code code=' ' displayName=' ' codeSystem=' ' codeSystemName=' '/>
             </encounterDefinition>
             <actDefinition classCode='ACT' moodCode='DEF'>
               <templateId root=' ' extension=' '/>
               <id root=' ' extension=' '/>
               <code code=' ' displayName=' ' codeSystem=' ' codeSystemName=' '/>
             </actDefinition>
           </component2>
           <!-- zero or more components containing "sub-guidelines" that make up this guideline -->
           <component3 typeCode='COMP'>
             <!-- The content model for "sub-guidelines" is as for a guideline, with the exception
             that it need not contain an id, title, text, statusCode, or effectiveTime element.  -->
           </component3>
         </guideline>
       </definition>
     </carePlan>
   </component>
 </careProvisionEvent>

The <careProvisionEvent> elements sent by a Guideline Notification transaction, or returned in a Request Guideline Data transaction represent activations or replacements of guidelines. As such these elements shall not contain any of the following participants:

  • The <careProvisionEvent> element SHALL NOT contain a <recordTarget>, as guidelines are not specific to a single patient record.
  • The <careProvisionEvent> element SHALL NOT contain a <subject> element, as guidelines are not specific to a device being maintained.

The <careProvisionEvent> may contain other participants not otherwise prohibited above.

Furthermore, these elements shall not contain any of the following relationships which would be only relevant to a single patient:

  • The <careProvisionEvent> element SHALL NOT contain a <pertinentInformation2> element.
  • The <careProvisionEvent> element SHALL NOT contain a <pertinentInformation3> element.

Furthermore, the <careProvisionEvent> element SHOULD NOT contain a <pertinentInformation1> element, as this information is not directly relevant to the guideline being retrieved.

The <careProvisionEvent> may contain other relationships not otherwise prohibited above, but the use of these elements is not described in this profile.

<rule context='hl7:careProvisionEvent[not(../hl7:replacementOf)]'>
  <assert test='count(hl7:component) = 1'>
    A careProvisionEvent shall have only one component containing the guideline.
  </assert>
  <assert test='not(hl7:recordTarget)'>
    The careProvisionEvent shall not contain a recordTarget element.
  </assert>
  <assert test='not(hl7:subject)'>
    The careProvisionEvent shall not contain a subject element.
  </assert>
  <assert test='not(hl7:pertinentInformation1)'>
    Warning: The careProvisionEvent should not contain a pertinentInformation1 element.
  </assert>
  <assert test='not(hl7:pertinentInformation2)'>
    The careProvisionEvent shall not contain a pertinentInformation2 element.
  </assert>
  <assert test='not(hl7:pertinentInformation3)'>
    The careProvisionEvent shall not contain a pertinentInformation3 element.
  </assert>
</rule>
<replacementOf typeCode='RPLC' contextControlCode='OP' contextConductionInd='false'>
<careProvisionEvent classCode='PCPR' moodCode='EVN'>
<id root=' ' extension=' '/>

When a Guideline Notification transaction sends a replacement notification, the <careProvisionEvent> that references the guideline being replaced shall be identified in the <replacementOf> element. The <replacementOf> element shall contain a single <careProvisionEvent> element that shall contain the an <id> element giving the unique identifier of the <careProvisionElement> that was replaced, and which should not contain any other elements.

<rule context='/hl7:REPC_IN004913UV'>
  <assert test='hl7:careProvisionEvent/hl7:replacementOf'>
    A replacement transaction shall contain a replacementOf element identifying 
    the careProvisionEvent being replaced.
  </assert>
</rule>
<rule context='hl7:replacementOf/hl7:careProvisionEvent'>
  <assert test='hl7:id'>
    The careProvisionEvent that is being replaced shall contain an id element.
  </assert>
  <assert test='not(hl7:*[local-name() != "id"])'>
    Warning: The careProvisionEvent that is being replaced should not contain anything other than an id element.
  </assert>
</rule>
<component typeCode='COMP'>
<carePlan classCode='PCPR' moodCode='INT'>

A <careProvisionEvent> shall have only one <component> element, containing only one <carePlan>, represented exactly as shown above.

<rule context='hl7:careProvisionEvent/hl7:component'>
  <assert test='count(hl7:carePlan) = 1'>
    The component of the careProvisionEven shall have one and only one carePlan element.
  </assert>
</rule>
<definition typeCode='INST' contextControlCode='OP' contextConductionInd='false'>
<guideline classCode='PCPR' moodCode='DEF'>

The <carePlan> element shall be empty of all participants and relations with the exception of the <definition> of the <carePlan>. The <definition> element contains one and only one <guideline>.

<rule context='hl7:carePlan'>
  <assert test='not(*[local-name() != "definition"])'>
    The carePlan element shall be empty of all participants and relations with the exception of the definition element.
  </assert>
  <assert test='count(hl7:definition) = 1'>
    The carePlan element shall have one and only one definition element.
  </assert>
</rule>
<rule context='hl7:definition'>
  <assert test='count(hl7:guideline) = 1'>
    The definition element shall have one and only one guideline element.
  </assert>
</rule>


<id root=' ' extension=' '/>

Top level guidelines shall have a unique identifier.

<rule context='hl7:definition/hl7:guideline'>
  <assert test='hl7:id'>
    A top level guideline shall have an id element.
  </assert>
</rule>
<title></title>

Top level guidelines shall have a title.

<rule context='hl7:definition/hl7:guideline'>
  <assert test='hl7:title'>
    A top level guideline shall have a title element.
  </assert>
</rule>
<text></text>

All guidelines may contain narrative text describing the guideline.

<statusCode code='active|obsolete'/>

Top level guidelines shall have a statusCode value that is either "active" or "obsolete".

<rule context='hl7:definition/hl7:guideline'>
  <assert test='hl7:statusCode'>
    A top level guideline shall have a statusCode element.
  </assert>
</rule>
<rule context='hl7:guideline/hl7:statusCode'>
  <assert test='@code="active" or @code="obsolete"'>
    The statusCode/@code attribute shall be either "active" or "obsolete".
  </assert>
<rule>
<effectiveTime><low value=' '/><high value=' '/></effectiveTime>

Top level guidelines shall contain an <effectiveTime> element that records the time period over which the guideline is effective. It shall contain a <low> element recording at the very least the date upon which the guideline was activated. An obsolete guideline shall contain a <high> element recording the last date upon which the guideline was effective. An active guideline may record the date upon which the guideline is expected to be revised.

<rule context='hl7:definition/hl7:guideline'>
  <assert test='hl7:effectiveTime'>
    A top level guideline shall have a effectiveTime element.
  </assert>
</rule>
<rule context='hl7:guideline/hl7:effectiveTime'>
  <assert test='hl7:low and hl7:low/@value'>
    The effectiveTime element shall contain a low element containing a value attribute indicating the time at which
    the guideline became effective.
  </assert>
<rule>
<rule context='hl7:guideline[hl7:statusCode/@code="obsolete"]/hl7:effectiveTime'>
  <assert test='hl7:high and hl7:high/@value'>
    The effectiveTime element in an obsolete guideline shall contain a high element containing a value attribute 
    indicating the time at which the guideline became ineffective.
  </assert>
<rule>
<component2 typeCode='COMP'>

All guidelines are composed (at some level) of one or more definitions for acts of care which are to be monitored by a Care Manager and reported upon by a Clinical Data Source during the provision of care. These may include various observations performed (e.g., Hemoglobin A1C tests), medications or immunizations given or prescribed, procedures performed (e.g., foot care), encounters performed (e.g., eye exam), or other acts of care not elsewhere described above.

<rule context='hl7:guideline'>
  <assert test='count(.//hl7:component2/hl7:*[@moodCode='DEF']) > 0'>
    At least one act of care must be defined at some level beneath a guideline element.
  </assert>
</rule>
<observationDefinition classCode='OBS' moodCode='DEF'>
<substanceAdministrationDefinition classCode='SBADM' moodCode='DEF'>
<procedureDefinition classCode='PROC' moodCode='DEF'>
<encounterDefinition classCode='ENC' moodCode='DEF'>
<actDefinition classCode='ACT' moodCode='DEF'>

One of the above definitions of an act of care shall be present in a <component2> element.

<templateId root=' ' extension=' '/>

Each act of care to be monitored shall indicate the identifier of the template used to report information on that act.

<rule context='hl7:component2/hl7:*[@moodCode='DEF']'>
  <assert test='hl7:templateId'>
    A templateId element must appear in the definition.
  </assert>
</rule>

A Guideline Manager actor shall use one the IHE Template identifiers specified for PCC-1 under careProvisionCode to request information profiled in an IHE template to be returned in a PCC-10 transaction. A Clincial Data Source implementing the Care Record option shall report activites to the Care Manager using the Care Record Query Response message using the template identified.

A Guideline Manager actor may include an ActDefinition in the <guideline> to identify the HL7 Version 2 Message Profile to describe the data to be monitored by a Care Manager. A Clinical Data Source implementing the HL7 Version 2 option shall report activities to the Care Manager using the HL7 Version 2 message identified by those ActDefinition elements.

<id root=' ' extension=' '/>
<code code=' ' displayName=' ' codeSystem=' ' codeSystemName=' '/>

Each act of care to be monitored shall contain an identifier for the definition of the act. It shall also contain a code element describing the specific act of care to be monitored. Other features of the specific act allowed by the standard may be provided by the Guideline Manager to further identify the specific acts of care that a Care Manager wants to recieve (e.g., routeCode, targetSiteCode). A Clinical Data Source may use these additional features to limit the number of items it reports, but is not required to review any feature other than the "code" element when making its reports. The Care Manager is expected to use its decision support capabilities to ignore reports that are not relevant to its decision making processes.

<rule context='hl7:component2/hl7:*[@moodCode='DEF']'>
  <assert test='hl7:id'>
    An id element must appear in the definition.
  </assert>
  <assert test='hl7:code'>
    An code element must appear in the definition.
  </assert>
</rule>

A Clinical Data Source implementing the Care Record Option shall report care activities that meet the definitions in the guideline to the Care Manager using the clinical statement templates specified in PCC-10.

A Clinical Data Source implementing the HL7 Version 2 Option shall report care activities that meet the definitions in the guideline to the Care Manager using the clinical statement templates specified in PCC-11.

<component3 typeCode='COMP'>

Guidelines may cover different phases (e.g., pre-operative, post-operative) or perspectives of care (e.g., patient education, diet, medications). A guideline can therefore be constructed of other guideline components, which follow the same pattern as for the top level guideline in the careProvisionEvent, except that these subcomponents need not have a unique identity, a title, a status, or effective time.