Difference between revisions of "PCC-7"

From IHE Wiki
Jump to navigation Jump to search
Line 183: Line 183:
  
 
===== Expected Actions -- Care Manager =====
 
===== Expected Actions -- Care Manager =====
The Care Manager shall send an acknowledgement response as specified in the MCCI_IN000002UV01 interaction.  The message shall be sent using web services as specified in the ITI-TF: Appendix V.
+
The Care Manager shall send an acknowledgement response as specified in the MCCI_IN000002UV01 interaction.  The message shall be sent using web services as specified in the ITI-TF: Appendix V.  An acknowledgement response is structured almost identically to a transmission wrapper, but includes an acknowledgement element in the response.  The example structure below uses the same values as the transmission wrapper, with the exceptions noted in bold black text below.
  
 
  <font color='#808080'><font color='black'>'''<MCCI_IN000002UV01 xmlns="urn:hl7-org:v3" ITSVersion="XML_1.0"'''
 
  <font color='#808080'><font color='black'>'''<MCCI_IN000002UV01 xmlns="urn:hl7-org:v3" ITSVersion="XML_1.0"'''
Line 224: Line 224:
  
 
======<MCCI_IN000002UV01 xmlns="urn:hl7-org:v3" ITSVersion="XML_1.0" xmlns:xsi="<nowiki>http://www.w3.org/2001/XMLSchema-instance</nowiki>">======
 
======<MCCI_IN000002UV01 xmlns="urn:hl7-org:v3" ITSVersion="XML_1.0" xmlns:xsi="<nowiki>http://www.w3.org/2001/XMLSchema-instance</nowiki>">======
 +
The name of the acknowledgement message element shall be MCCI_IN000002UV01 from the HL7 namespace.
 +
 +
<rule context='/'>
 +
  <assert test='/hl7:MCCI_IN000002UV01'>
 +
  The name of the acknowledgement message element shall be MCCI_IN000002UV01 from the HL7 namespace.
 +
  </assert>
 +
<rule>
 
====== <interactionId extension='MCCI_IN000002UV01' root='2.16.840.1.113883.5'/>======
 
====== <interactionId extension='MCCI_IN000002UV01' root='2.16.840.1.113883.5'/>======
 +
The interactionId element shall be recorded exactly as specified above.
 +
 +
<rule context='/hl7:MCCI_IN000002UV01'>
 +
  <assert test='interactionId/@extension = "MCCI_IN000002UV01" and interactionId/@root = "2.16.840.1.113883.5"'>
 +
  The extension attribute of the interaction Id element shall be MCCI_IN000002UV01.
 +
  </assert>
 +
<rule>
 
====== <processingModeCode code='T'/>======
 
====== <processingModeCode code='T'/>======
 +
The code attribute of the processingModeCode element shall be T to indicate current processing.
 +
 +
<rule context='/hl7:MCCI_IN000002UV01'>
 +
  <assert test='processingModeCode/@code = "T"'>
 +
    The code attribute of the processingModeCode element shall be T to indicate current processing.
 +
  </assert>
 +
<rule>
 +
 
====== <acceptAckCode code='NE'/>======
 
====== <acceptAckCode code='NE'/>======
 +
The code attribute of the acceptAckCode element shall be NE to indicate that acknowledgments are never acknowledged by the reciever.
 +
 +
<rule context='/hl7:MCCI_IN000002UV01'>
 +
  <assert test='acceptAckCode/@code = "NE"'>
 +
    The code attribute of the acceptAckCode element shall be NE.
 +
  </assert>
 +
<rule>
 
====== <acknowledgement>======
 
====== <acknowledgement>======
 +
One and only one acknowledgement element shall be present. 
 +
<rule context='/hl7:MCCI_IN000002UV01'>
 +
  <assert test='count(acknowledgement) = 1'>
 +
    One and only one acknowledgement element shall be present.
 +
  </assert>
 +
<rule>
 
======  <typeCode code='AA|AE|AR'/>======
 
======  <typeCode code='AA|AE|AR'/>======
 +
The typeCode element shall be present.  It shall use only the values AA, AE, or AR to describe whether the application accepted it (AA), found an error in it (AE), or rejected it (AR).
 +
 +
<rule context='/hl7:MCCI_IN000002UV01/hl7:acknowledgement'>
 +
  <assert test='hl7:typeCode/@code = "AA" or hl7:typeCode/@code = "AE" or hl7:typeCode/@code = "AR"'>
 +
    Only the values AA, AE and AR are acceptable.
 +
  </assert>
 +
<rule>
 +
 
======  <acknowledgementDetail>======
 
======  <acknowledgementDetail>======
======    <typeCode='E|I|W'/>======
+
The acknowledgementDetail element shall be present when a message is rejected, or when an error is found.  It may be present even when an application has accepted the message to convey information and warnings.
 +
 
 +
<rule context='/hl7:MCCI_IN000002UV01/hl7:acknowledgement'>
 +
  <assert test='hl7:typeCode/@code = "AA" or hl7:acknowledgementDetail'>
 +
    The acknowledgementDetail element is required when the acknowedgement reports an error (AE) or rejects a message (AR).
 +
  </assert>
 +
<rule>
 +
 
 +
======    <typeCode code='E|I|W'/>======
 +
The typeCode element shll be present in the acknowledgementDetail element.  It shall have a value of E, I or W to indicate errors, information or warnings.  A detail message sent with the acknowledgement type of AA shall not contain a value of E in the detailed type code.
 +
 
 +
<rule context='/hl7:MCCI_IN000002UV01/hl7:acknowledgement/hl7:acknowledgementDetail'>
 +
  <assert test='hl7:typeCode/@code = "E" or hl7:typeCode/@code = "I" or hl7:typeCode/@code = "W"'>
 +
    Only the values E, I or W are acceptable.
 +
  </assert>
 +
  <assert test='hl7:typeCode/@code != "E" or ../../hl7:typeCode != "AA"'>
 +
    Acknowledgement details cannot indicate an error when the acknowledgment is of type AA.
 +
  </assert>
 +
 
 +
<rule>
 +
 
 
======    <code code=' ' displayName=' ' codeSystem='2.16.840.1.113883.5.1100' codeSystemName='AcknowledgementDetailCode'/>======
 
======    <code code=' ' displayName=' ' codeSystem='2.16.840.1.113883.5.1100' codeSystemName='AcknowledgementDetailCode'/>======
 +
The code element may be present in the acknowledgementDetail element to further describe the error.
 
======    <text></text>======
 
======    <text></text>======
 +
The text element may be present in the acknowledgementDetail element to further describe the error in human readable form.
 
======    <location></location>======
 
======    <location></location>======
 
+
The location element may be present in the acknowledgementDetail element to indicate the location of the error.  The location shall be reported as an XPath expression indicating the position of the error in the source message content.
  
 
The name of the acknowledgement response message shall be MCCI_IN000002UV01_Message in the WSDL.
 
The name of the acknowledgement response message shall be MCCI_IN000002UV01_Message in the WSDL.

Revision as of 03:04, 12 May 2008

Guideline Notification

This section corresponds to Transaction PCC-7 of the IHE Patient Care Coordination Technical Framework. Transaction PCC-7 is used by the Guideline Manager and Care Manager Actors.

Use Case Roles

Guideline Manager   Care Manager
Usecase.png
Guideline Notification
Actor
Guideline Manager
Role
Notifies the Care Manager of new and/or updated guidelines for care
Cooresponding HL7 Version 3 Application Roles
Care Provision Informer (REPC_AR004010UV)
Actor
Care Manager
Role
Recieves notification of new and/or updated guidelines for care
Cooresponding HL7 Version 3 Application Roles
Care Provision Tracker (REPC_AR004020UV)

Referenced Standards

CareRecord HL7 Care Provision Care Record (DSTU)
HL7QI HL7 Version 3 Standard: Infrastructure Management – Query Infrastrucure
HL7WS HL7 Version 3 Standard: Transport Specification - Web Services Profile, Release
SOAP Simple Object Access Protocol Version 1.1 (SOAP 1.1)
SOAP12 Simple Object Access Protocol Version 1.2 (SOAP 1.2)

Interaction Diagrams

File:Pcc7id.png

Guideline Notification

Trigger Events

When a new or updated guideline is released, the Guideline Manager uses this transaction to notify the Care Manager of the new and/or updated guideline. This cooresponds to the HL7 trigger events:

Message Semantics

This interaction cooresponds to the HL7 Interactions:

The schema for these interactions can be found at the links above, and include:

  • the transmission wrapper MCCI_MT000100UV01,
  • the control act wrapper MCAI_MT700201UV01, and
  • the message payload REPC_MT004000UV.

These components of the interaction are specified in the HL7 standards described above.

Transmission Wrapper

The transmission wrapper MCCI_MT000100UV01 provides information about the message transmission and routing. Transmission wrappers are further described in ITI TF-2: Appendix O. An example transmission wrapper is given below for this interaction. Items marked in dark gray are transmitted as specified in ITI TF-2: Appendix O. Items in bold black text are further constrained by this profile in this interaction.

<REPC_IN004110UV xmlns="urn:hl7-org:v3" ITSVersion="XML_1.0"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <id root=' ' extension=' '/>
 <creationTime value=' '/>
 <interactionId extension='REPC_IN004110UV|REPC_IN004913UV' root='2.16.840.1.113883.5'/>
 <processingCode code='D|P|T'/>
 <processingModeCode code='T'/>
 <acceptAckCode code='AL'/>
 <receiver typeCode="RCV">
   <device determinerCode="INSTANCE">
     <id/>
     <name/>
     <telecom value=' ' />
     <manufacturerModelName/>
     <softwareName/>
   </device>
 </receiver>
 <sender typeCode="SND">
   <device determinerCode="INSTANCE">
     <id/>
     <name/>
     <telecom value=' ' />
     <manufacturerModelName/>
     <softwareName/>
   </device>
 </sender>
 <controlActProcess>
  See Control Act Wrapper below
 </controlActProcess>
</REPC_IN004110UV>
<REPC_IN004110UV xmlns="urn:hl7-org:v3" ITSVersion="XML_1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

The HL7 Interaction being sent will control the name of the root element in the message. The namespace of this message shall be urn:hl7-org:v3, and the ITSVersion attribute shall be "XML_1.0".

To indicate that this interaction is notification of activation of a guideline, the element shall be named: REPC_IN004110UV To indicate that this interaction is notification of replacement of a guideline, the element shall be named: REPC_IN004913UV

 <rule context='/'>
   <assert test='/hl7:REPC_IN004110UV|/hl7:REPC_IN004913UV'>
     The root element of a PCC-7 transaction shall be REPC_IN004110UV or REPC_IN004913UV from the HL7 namespace (urn:hl7-org:v3).
   </assert>
 </rule>
<interactionId extension='REPC_IN004110UV|REPC_IN004913UV' root='2.16.840.1.113883.5'/>

The identifer for the interaction shall be sent using either the value REPC_IN004110UV or REPC_IN004913UV depending upon whether this interaction describes activation or replacement respectively. This value must be the same as the name of the interaction element being sent.

 <rule context='/hl7:REPC_IN004110UV|/hl7:REPC_IN004913UV'>
   <assert test='hl7:interactionId/@extension = local-name()'>
     The interaction of a PCC-7 transaction shall be REPC_IN004110UV or REPC_IN004913UV and shall coorespond to the interaction being used in the message.
   </assert>
 </rule>
<processingModeCode code='T'/>

The processingModeCode distinguishes the type of processing being performed. This element shall be present and have the value shown above to indicate that this message is for current processing.

 <rule context='/hl7:REPC_IN004110UV|/hl7:REPC_IN004913UV'>
   <assert test='hl7:processingModeCode/@code = "T"'>
     The processingModeCode shall use the code value "T" for this message.
   </assert>
 </rule>
<acceptAckCode code='AL'/>

The acceptAckCode indicates whether the sender wants to recieve an acknowledgement, and shall be sent as shown above.

 <rule context='/hl7:REPC_IN004110UV|/hl7:REPC_IN004913UV'>
   <assert test='hl7:acceptAckCode/@code = "AL"'>
     The acceptAckCode shall use the code "AL" to indicate that the reciever must always acknowledge the message. 
   </assert>
 </rule>
Control Act Wrapper

The control act wrapper MCAI_MT700201UV01 provides information about the business actors related to the transaction, including the author or performer of the act. Control act wrappers are further described in ITI TF-2: Appendix O. An example transmission wrapper is given below for this interaction. Items marked in dark gray are transmitted as specified in ITI TF-2: Appendix O. Items in bold black text are further constrained by this profile in this interaction.

<controlActProcess moodCode="EVN">
  <id root=' ' extension=' '/>
  
  <effectiveTime value=' '/>
  <languageCode code=' '/>
  <authorOrPerformer typeCode=' '></authorOrPerformer>
</controlActProcess>
<controlActProcess moodCode="EVN">

The controlActProcess element is where information about the business act being performed is recorded. The moodCode is set to "EVN" by the sender to indicate notification of a guideline activation or change event.

 <rule context='//hl7:controlActProcess'>
   <assert test='@moodCode="EVN"'>
     The controlActProcess of a PCC-7 transaction shall have moodCode="EVN".
   </assert>
 </rule>

The trigger event which caused the act to be transmitted is recorded in the code element is recorded. The value of the code attribute shall be REPC_TE004110UV to record an activation event, or REPC_TE004913UV to record a replacement. The code attribute shall coorespond to the correct interaction.

 <rule context='//hl7:controlActProcess/hl7:code'>
   <assert test='(@code="REPC_TE004110UV" or @code="REPC_TE004913UV) and substring(@code,8,8) = substring(local-name(/),8,8)"'>
     The trigger event in a PCC-7 transaction shall be REPC_TE004110UV or REPC_TE004913UV, and shall coorespond to the interaction.
   </assert>
 </rule>
Expected Actions -- Guideline Manager

The Guideline Manager shall send notifications as specified in the REPC_IN004110UV and REPC_IN004913UV interactions. The message shall be sent using web services as specified in the ITI-TF: Appendix V.

The name of the messages in the WSDL shall be REPC_IN004110UV_Message for activitation notifications, and REPC_IN004913UV_Message for replacement notifications. The following WSDL snippet defines the types for these messages:

Guideline Notification Message Type Definition
<types>
   <xsd:schema elementFormDefault="qualified" 
      targetNamespace="urn:hl7-org:v3" xmlns:hl7="urn:hl7-org:v3">
    <!-- Include the message schema -->
    <xsd:import namespace="urn:hl7-org:v3"
      schemaLocation="REPC_IN004110UV.xsd"/>
    <xsd:element name="REPC_IN004110UV"/>
    <xsd:import namespace="urn:hl7-org:v3"
      schemaLocation="REPC_IN004913UV.xsd"/>
    <xsd:element name="REPC_IN004913UV"/>
  </xsd:schema>
</types>

The message types are declared to be of the appropriate type by the following WSDL snippet:

Guideline Notification Message WSDL Declarations
<message name='REPC_IN004110UV_Message'>
  <part element='hl7:REPC_IN004110UV' name="Body"/>
</message>
<message name='REPC_IN004913UV_Message'>
  <part element='hl7:REPC_IN004913UV' name="Body"/>
</message>
Expected Actions -- Care Manager

The Care Manager shall send an acknowledgement response as specified in the MCCI_IN000002UV01 interaction. The message shall be sent using web services as specified in the ITI-TF: Appendix V. An acknowledgement response is structured almost identically to a transmission wrapper, but includes an acknowledgement element in the response. The example structure below uses the same values as the transmission wrapper, with the exceptions noted in bold black text below.

<MCCI_IN000002UV01 xmlns="urn:hl7-org:v3" ITSVersion="XML_1.0"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <id root=' ' extension=' '/>
 <creationTime value=' '/>
 <interactionId extension='MCCI_IN000002UV01' root='2.16.840.1.113883.5'/>
 <processingCode code='D|P|T'/>
 <processingModeCode code='T'/>
 <acceptAckCode code='NE'/>
 <receiver typeCode="RCV">
   <device determinerCode="INSTANCE">
     <id/>
     <name/>
     <telecom value=' ' />
     <manufacturerModelName/>
     <softwareName/>
   </device>
 </receiver>
 <sender typeCode="SND">
   <device determinerCode="INSTANCE">
     <id/>
     <name/>
     <telecom value=' ' />
     <manufacturerModelName/>
     <softwareName/>
   </device>
 </sender>
 <acknowledgement>
  <typeCode code='AA|AE|AR'/>
  <acknowledgementDetail>
    <typeCode='E|I|W'/>
    
    <text></text>
    <location></location>
  </acknowledgementDetail>
 </acknowledgement>
</MCCI_IN000002UV01>


<MCCI_IN000002UV01 xmlns="urn:hl7-org:v3" ITSVersion="XML_1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

The name of the acknowledgement message element shall be MCCI_IN000002UV01 from the HL7 namespace.

<rule context='/'>
 <assert test='/hl7:MCCI_IN000002UV01'>
  The name of the acknowledgement message element shall be MCCI_IN000002UV01 from the HL7 namespace.
 </assert>
<rule>
<interactionId extension='MCCI_IN000002UV01' root='2.16.840.1.113883.5'/>

The interactionId element shall be recorded exactly as specified above.

<rule context='/hl7:MCCI_IN000002UV01'>
 <assert test='interactionId/@extension = "MCCI_IN000002UV01" and interactionId/@root = "2.16.840.1.113883.5"'>
  The extension attribute of the interaction Id element shall be MCCI_IN000002UV01.
 </assert>
<rule>
<processingModeCode code='T'/>

The code attribute of the processingModeCode element shall be T to indicate current processing.

<rule context='/hl7:MCCI_IN000002UV01'>
 <assert test='processingModeCode/@code = "T"'>
   The code attribute of the processingModeCode element shall be T to indicate current processing.
 </assert>
<rule>
<acceptAckCode code='NE'/>

The code attribute of the acceptAckCode element shall be NE to indicate that acknowledgments are never acknowledged by the reciever.

<rule context='/hl7:MCCI_IN000002UV01'>
 <assert test='acceptAckCode/@code = "NE"'>
   The code attribute of the acceptAckCode element shall be NE.
 </assert>
<rule>
<acknowledgement>

One and only one acknowledgement element shall be present.

<rule context='/hl7:MCCI_IN000002UV01'>
 <assert test='count(acknowledgement) = 1'>
   One and only one acknowledgement element shall be present.
 </assert>
<rule>
<typeCode code='AA|AE|AR'/>

The typeCode element shall be present. It shall use only the values AA, AE, or AR to describe whether the application accepted it (AA), found an error in it (AE), or rejected it (AR).

<rule context='/hl7:MCCI_IN000002UV01/hl7:acknowledgement'>
 <assert test='hl7:typeCode/@code = "AA" or hl7:typeCode/@code = "AE" or hl7:typeCode/@code = "AR"'>
   Only the values AA, AE and AR are acceptable.
 </assert>
<rule>
<acknowledgementDetail>

The acknowledgementDetail element shall be present when a message is rejected, or when an error is found. It may be present even when an application has accepted the message to convey information and warnings.

<rule context='/hl7:MCCI_IN000002UV01/hl7:acknowledgement'>
 <assert test='hl7:typeCode/@code = "AA" or hl7:acknowledgementDetail'>
   The acknowledgementDetail element is required when the acknowedgement reports an error (AE) or rejects a message (AR).
 </assert>
<rule>
<typeCode code='E|I|W'/>

The typeCode element shll be present in the acknowledgementDetail element. It shall have a value of E, I or W to indicate errors, information or warnings. A detail message sent with the acknowledgement type of AA shall not contain a value of E in the detailed type code.

<rule context='/hl7:MCCI_IN000002UV01/hl7:acknowledgement/hl7:acknowledgementDetail'>
 <assert test='hl7:typeCode/@code = "E" or hl7:typeCode/@code = "I" or hl7:typeCode/@code = "W"'>
   Only the values E, I or W are acceptable.
 </assert>
 <assert test='hl7:typeCode/@code != "E" or ../../hl7:typeCode != "AA"'>
   Acknowledgement details cannot indicate an error when the acknowledgment is of type AA.
 </assert>
<rule>

The code element may be present in the acknowledgementDetail element to further describe the error.

<text></text>

The text element may be present in the acknowledgementDetail element to further describe the error in human readable form.

<location></location>

The location element may be present in the acknowledgementDetail element to indicate the location of the error. The location shall be reported as an XPath expression indicating the position of the error in the source message content.

The name of the acknowledgement response message shall be MCCI_IN000002UV01_Message in the WSDL. The following WSDL snippet defines the type for this message:

Accept Acknowledgement Message Type Definition
 <types>
   <xsd:schema elementFormDefault="qualified" 
     targetNamespace="urn:hl7-org:v3" xmlns:hl7="urn:hl7-org:v3">
     <xsd:import namespace="urn:hl7-org:v3"
       schemaLocation="MCCI_IN000002UV01.xsd"/>
     <xsd:element name="MCCI_IN000002UV01"/>
   </xsd:schema>
 </types>

The message type is declared to be of the appropriate type by the following WSDL snippet:

Accept Acknowledgement Message WSDL Declaration
 <message name='MCCI_IN000002UV01_Message'>
   <part element='hl7:MCCI_IN000002UV01' name="Body"/>
 </message>