PCC-1

From IHE Wiki
Jump to navigation Jump to search

Query Vital Signs

This section corresponds to Transaction PCC-1 of the IHE Patient Care Coordination Technical Framework. Transaction PCC-1 is used by the Clinical Data Consumer and Vital Signs Data Repository Actors.

Transaction PCC-1 is uses the same pattern as other transactions in the PCC Technical Framework: PCC-2, PCC-3, PCC-4 and PCC-5. The sections below first describe the general requirements of all of these transactions. Information specific to this transaction is described in futher detail below in the section on Domain Content.

Use Case Roles

Clinical Data Consumer   Vitals Signs Data Repository
Usecase.png
Query Vital Signs
Actor
Clinical Data Consumer
Role
Requests a list of vital signs matching a minimal set of selection criteria from the Vitals Signs Repository.
Actor
Vitals Signs Data Repository
Role
Returns vital signs measurements matching the selection criteria supplied by the Clinical Data Consumer.


Referenced Standards

CareRecord HL7 Care Provision Care Record (DSTU)
CareQuery HL7 Care Provision Care Record Query (DSTU)
HL7WS HL7 Version 3 Standard: Transport Specification - Web Services Profile, Release
WSDL Web Services Descrition Language (WSDL 1.1)
SOAP Simple Object Access Protocol (SOAP 1.1)

Interaction Diagrams

Qcdpmo.png

Get Care Record Profile Query

Trigger Events

The Clinical Data Consumer's need to obtain information about a patient will trigger the query, based on the following HL7 trigger event: QUPC_TE043100UV -- Query Care Record Event Profile Query

Message Semantics

The Query Care Record Event Profile Query cooresponds to the HL7 Interaction QUPC_IN043100UV.

The message supports specification of the data items listed in the table below as query parameters. The first column of this table provides the name of the parameter. The next column indicates the number of times it may occur in the query. The next column indicates the type of data expected for the query parameter. The next column indicates the vocabulary domain used for coded values. The Consumer column indicates whether the Clinical Data Consumer must send this parameter. The Repository column indicates whether the Data Repository must support this parameter.

A Clinical Data Consumer may supply parameters other than those required by this profile, but must appropriately handle any detected issue alert raised by the Data Repository in its response.

Parameter Name Cardinality Data Type Vocabulary Domain Consumer Repository
Query Parameters
careProvisionCode 0..1 CD   O R
careProvisionReason 0..* CD   O O
careRecordTimePeriod 0..1 IVL<TS>   O R
clinicalStatementTimePeriod 0..1 IVL<TS>   O R
includeCarePlanAttachment 0..1 BL   R R
maximumHistoryStatements 0..1 INT   O R
patientAdministrativeGender 0..1 CE AdministrativeGender O R
patientBirthTime 0..1 TS   O R
patientId 1..1 II   R R
patientName 0..1 PN   O R

Each of the parameters is described in more detail below.

careProvisionCode

This element describes the information that is being looked for. When this value is not present, it indicates that all relevant results are to be reported up to the maximum number specified in maximumHistoryStatements for each result. Specific results or categories of results may be requested using the codes listed in the domain content section below.

careProvisionReason

This element identifies the reason why the result was recorded. If specified, only those results which are recorded for the specified reason will be returned.

careRecordTimePeriod

This element describes the time period over which the results were recorded. A query could for example, request new entries that have been processed for this patient since the last query request. If specified, only those results that were recorded within the specified time period will be returned.

clinicalStatementTimePeriod

This element describes the effective time for the clinical statement. If specified, only those results that were effective within the clinical statement effective time will be returned.

includeCarePlanAttachment

This element is set to either true or false depending upon whether care plans should be returned or not. A Data Repository may choose not to honor this request when the value is set to true, but must then raise a BUS detected issue alert to indicate that this capability is not supported. Note that many data repositories will not associate a care plan attachment with a specific result.

maximumHistoryStatements

This value indicates the maximum number of each type of result that will be returned by the query. No more than the maximum number will be returned. This value is NOT the maximum number of clinical statements returned, rather it is the maximum number of clinical statements returned for individual type of clinical statement specified in the careProvisionCode. Thus, if all results are requested, and maximumHistoryStatements/value/@value = 1, you will receive the most current value for each kind of result requested.

patientAdministrativeGender

The patient gender may be provided in the query. If provided, it serves as a verification of the patient identity. The value must match the patient gender of the patient specified in patientId. If the two values do not match, the Vital Signs Data Repository will raise a detected issue alert.

patientBirthTime

The patient birth time may be provided in the query. If provided, it serves as a verification of the patient identity. The value must match the patient birth time of the patient specified in patientId. If the two values do not match, the Vital Signs Data Repository will raise a detected issue alert.

patientId

The patient identifier shall be specified in this element.

patientName

The patient name may be provided in the query. If provided, it serves as a verification of the patient identity. The value must match the patient name of the patient specified in patientId. If the two values do not match, the Data Repository will raise a detected issue alert.


Expected Actions -- Clinical Data Consumer

The clinical data consumer shall send a query as specified in the QUPC_MT040300UV message type.

Get Care Record Profile Response

Trigger Events

The Clinical Data Consumer's need to obtain information about a patient will trigger the query, based on the following HL7 trigger event: QUPC_TE043100UV -- Query Care Record Event Profile Query

Message Semantics

The Query Care Record Event Profile Query cooresponds to the HL7 Interaction QUPC_IN043100UV.

Expected Actions -- Data Repository

The Data Repository, shall:

  1. Recieve and validate the query
  2. Create the response message.
  3. Add a NAT detected issue alert to the response message if the requesting party is not authorized to perform the query, and immediately return a response indicating the error, and that the query was aborted.
  4. Add a VALIDAT detected issue alert to the response message if the patientName, patientGenderCode or patientBirthTime do not match the values known by the Vital Signs Data Repository Actor.
  5. Add a BUS detected issue alert to the response message if includeCarePlanAttachment is true, but care plans are not associated with observation values.
  6. Add a BUS detected issue alert to the response message if a careProvisionReason value is specified, but the Data Repository cannot query by this field.
  7. Add a BUS detected issue alert to the response message if any of the vocabulary domains are not recognized by the Data Repository.
  8. Add a FORMAT detected issue alert to the response message if any date ranges are incorrectly formed (low > high).
  9. Add a ILLEGAL detected issue alert to the response message if the the data repository does not recognize the identity domain used to identify the patient.
  10. Add a KEY204 detected issue alert to the response message if the the data repository does not know about the patient. This is distict from having nothing to report. If the patient is recognized but there is no data to report, the result returned should simply have no data. However, if information is requested for a patient that isn't known, then the KEY204 alert shall be raised.
  11. If any issues were detected, Set queryAck/statusCode/@code to aborted, and queryAct/queryResponse/@code to QE, and return the response.
  12. Query for the data requested by the query.
  13. If results are found, set queryAct/queryResponse/@code to OK, otherwise set it to NF.
  14. Set queryAck/statusCode/@code to deliveredResponse.
  15. Add any results to the response up to the maximum number of history statements requested.
  16. If all results have been returned, release the query results.
  17. Respond to any requests for additional data when a General Query Activate Query Continue message is sent for any query that was not aborted or otherwise terminated.
  18. Release query results when a General Query Query Cancel message is recieved, and respond with a Get Care Record Profile Response that indicates the query has been aborted. While the query may have already been terminated, this should not raise any error, as there are several reasons why the query may have been terminated that the sender would not be aware of, such as the expiration of a timeout.
  19. Raise a KEY204 detected issue alert upon reciept of a General Query Activate Query Continue, or General Query Query Cancel message which does not have a correct query id.
  20. Raise a VALIDAT detected issue alert upon reciept of a General Query Activate Query Continue request for a query which was previously aborted.
  21. Release query results if no additional messages on the query are recieved within an application configurable timeout value.

A conforming Data Repository shall support those parameters that have an R in the Repository column from the table above, and need not support those query parameters that have an O in this column.

Raising Alerts

If the requesting party is not authorized to perform the query, the minimum response shall be sent indicating only that the requested is not authorized to perform the query. In other cases, all possible alerts shall be accumulated before returning a response to the caller.

This enables Clinical Data Consumer actors to send a test query that will enable them to verify the vocabulary and other request parameters that are desired.

An alert is raised by sending an response where:

queryAck/queryResponseCode/@code = "QE"

One or more ControlActProcess/detectedIssue elements are returned.

Each detectedIssue element identifies the error in detectedIssue/code

The erroneous parameter shall be identified in detectedIssue/text using the element name, and nothing else should be present in detectedIssue/text.


For Public Comment Ideally, there should be a way for the Clinical Data Consumer to determine what vocabularies are supported by a Data Repository, to allow for vocabulary negotiation. The detectedIssue element could return the list of vocabularies supported in some way.


Expected Actions -- Clinical Data Consumer

The clinical data consumer processes the query response data. If the response indicates that more data is available, the clinical data consumer can request additional data using the General Query Activate Query Continue message, indicating which data is being requested.

General Query Activate Query Continue

Trigger Events

The Clinical Data Consumer's need to obtain more information about a patient will trigger the continuation of the query. This cooresponds the the HL7 trigger event:QUQI_TE000003UV01 -- General Query Activate Query Continue

Message Semantics

The Query Care Record Event Profile Query cooresponds to the HL7 Interaction QUPC_IN043100UV.

Expected Actions -- Clinical Data Consumer

Upon completion of all result processing, the clinical data consumer shall send a General Query Query Cancel message to indicate to the server that futher query results are not needed.

General Query Query Cancel

General Query Query Cancel (QUPC_IN000003UV)

Trigger Events

When the Clinical Data Consumer's is finished with the query, it shall cancel the query. This cooresponds the the HL7 trigger event:QUQI_TE000003UV01 -- General Query Activate Query Continue

Message Semantics

The Query Care Record Event Profile Query cooresponds to the HL7 Interaction QUPC_IN043100UV.

Domain Content

A Vital Signs Data Repository shall support the following codes: COBSCAT LOINC Codes defined in