STU 3 Ballot

This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R3 R2

12.6 Resource ProcessRequest - Content

Financial Management Work GroupMaturity Level: 1Compartments: Practitioner

This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.

12.6.1 Scope and Usage

NOTE: This resource is slated to be refactored and reduced in scope as some of its functionality is taken over by the Task resource as part of the FHIR Workflow refactoring. Readers of this resource are encouraged to review the Task resource and consider using it instead and/or to provide feedback if they feel it will be inadequate to satisfy the use-cases associated with this resource and to express opinions about which purposes they feel ProcessRequest and ProcessResponse should be retained for.

The ProcessRequest resource allows for the specification of an action to be performed on an existing resource or resources and then provides the additional supporting information to support that action. The actions currently defined are: cancel, poll, reprocess, and status.

Cancel indicates the resource which is to be reversed and provides both supporting information for the reversal and whether the receiving system is permitted to retain a copy of the reversed resource.

The Cancel is the formal request to cease processing an incomplete prior request or to reverse and/or nullify a complete prior request or information submission. When nullify=true then all copies of the original submission are to be purged, although audit logs may be retained. When Nullify=false a copy of the original request may be retained. A ProcessResponse may be craeted or returned to indicate whether the requestion action was accepted and scucessful.

Poll provides supporting information for the poll request. The response to this is a previously undelivered response or a StatusResponse (or other acknowledgement stype resource which may contain errors).

This is a formal request for Payors or systems which require such and/or transports which don't support a 'Get Operation', for the retrieval of pended, held, resources.

A simple Poll request, one which doesn't specify: request, include, exclude or period; would return any pended resource. Specific types of business behaviors may be supported by providing values for the filtering elements, for example:

  • Get any pended resource - no filters specified
  • Get deferred response to a Claim - specify the Claim in the 'request'
  • Get all Supporting Documentation - specify 'SupportingDocumentation' as an 'include'
  • Get an Explanation of Benefit - specify 'ExplanationOfBenefit' as an 'include'
  • Get a payment reconciliation - specify a 'period' which contains the expected reconciliation creation date, and specify 'PaymentReconciliation' as an 'include'

Reprocess indicates the resource which is to be reprocessed, for example a claim to be readjudicated or a specemin or diagnostic image to be re-examined, and provides both supporting information for the reprocessing and the line items which are to be reprocessed.

This is necessary for the limited supporters who require the ability to formally request the reprocessing of specified service sub-trees from an already processed resource such as a previously adjudicated Claim.

Status indicates the resource for which the processing status is requested and provides supporting information for the status request.

This is a formal request for Payors which require such and/or transports which don't support a 'Get Operation', for the processing status of a previously submitted processing request.

This resource is referenced by CarePlan, ClinicalImpression and PaymentReconciliation

12.6.2 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ProcessRequest DomainResourceProcess request
... identifier 0..*IdentifierBusiness Identifier
... status ?!Σ1..1codeactive | cancelled | draft | entered-in-error
ProcessRequestStatus (Required)
... ruleset 0..1CodingResource version
Ruleset Codes (Example)
... originalRuleset 0..1CodingOriginal version
Ruleset Codes (Example)
... action 1..1codecancel | poll | reprocess | status
ActionList (Required)
... created 0..1dateTimeCreation date
... target[x] 0..1Target of the request
.... targetIdentifierIdentifier
.... targetReferenceReference(Organization)
... provider[x] 0..1Responsible practitioner
.... providerIdentifierIdentifier
.... providerReferenceReference(Practitioner)
... organization[x] 0..1Responsible organization
.... organizationIdentifierIdentifier
.... organizationReferenceReference(Organization)
... request[x] 0..1Request reference
.... requestIdentifierIdentifier
.... requestReferenceReference(Any)
... response[x] 0..1Response reference
.... responseIdentifierIdentifier
.... responseReferenceReference(Any)
... nullify 0..1booleanNullify
... reference 0..1stringReference number/string
... item 0..*BackboneElementItems to re-adjudicate
.... sequenceLinkId 1..1integerService instance
... include 0..*stringResource type(s) to include
... exclude 0..*stringResource type(s) to exclude
... period 0..1PeriodPeriod

doco Documentation for this format

UML Diagram (Legend)

ProcessRequest (DomainResource)The ProcessRequest business identifieridentifier : Identifier [0..*]The status of the resource instance (this element modifies the meaning of other elements)status : code [1..1] « A code specifying the state of the resource instance. (Strength=Required)ProcessRequestStatus! »The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resourcesruleset : Coding [0..1] « The static and dynamic model to which contents conform, which may be business version or standard/version. (Strength=Example)Ruleset ?? »The style (standard) and version of the original material which was converted into this resourceoriginalRuleset : Coding [0..1] « The static and dynamic model to which contents conform, which may be business version or standard/version. (Strength=Example)Ruleset ?? »The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequestaction : code [1..1] « List of allowable action which this resource can request. (Strength=Required)ActionList! »The date when this resource was createdcreated : dateTime [0..1]The organization which is the target of the requesttarget[x] : Type [0..1] « Identifier|Reference(Organization) »The practitioner who is responsible for the action specified in this requestprovider[x] : Type [0..1] « Identifier|Reference(Practitioner) »The organization which is responsible for the action speccified in this requestorganization[x] : Type [0..1] « Identifier|Reference(Organization) »Reference of resource which is the target or subject of this actionrequest[x] : Type [0..1] « Identifier|Reference(Any) »Reference of a prior response to resource which is the target or subject of this actionresponse[x] : Type [0..1] « Identifier|Reference(Any) »If true remove all history excluding auditnullify : boolean [0..1]A reference to supply which authenticates the processreference : string [0..1]Names of resource types to includeinclude : string [0..*]Names of resource types to excludeexclude : string [0..*]A period of time during which the fulfilling resources would have been createdperiod : Period [0..1]ItemsA service line numbersequenceLinkId : integer [1..1]List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicateditem[0..*]

XML Template

<ProcessRequest xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business Identifier --></identifier>
 <status value="[code]"/><!-- 1..1 active | cancelled | draft | entered-in-error -->
 <ruleset><!-- 0..1 Coding Resource version --></ruleset>
 <originalRuleset><!-- 0..1 Coding Original version --></originalRuleset>
 <action value="[code]"/><!-- 1..1 cancel | poll | reprocess | status -->
 <created value="[dateTime]"/><!-- 0..1 Creation date -->
 <target[x]><!-- 0..1 Identifier|Reference(Organization) Target of the request --></target[x]>
 <provider[x]><!-- 0..1 Identifier|Reference(Practitioner) Responsible practitioner --></provider[x]>
 <organization[x]><!-- 0..1 Identifier|Reference(Organization) Responsible organization --></organization[x]>
 <request[x]><!-- 0..1 Identifier|Reference(Any) Request reference --></request[x]>
 <response[x]><!-- 0..1 Identifier|Reference(Any) Response reference --></response[x]>
 <nullify value="[boolean]"/><!-- 0..1 Nullify -->
 <reference value="[string]"/><!-- 0..1 Reference number/string -->
 <item>  <!-- 0..* Items to re-adjudicate -->
  <sequenceLinkId value="[integer]"/><!-- 1..1 Service instance -->
 </item>
 <include value="[string]"/><!-- 0..* Resource type(s) to include -->
 <exclude value="[string]"/><!-- 0..* Resource type(s) to exclude -->
 <period><!-- 0..1 Period Period --></period>
</ProcessRequest>

JSON Template

{doco
  "resourceType" : "ProcessRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Business Identifier
  "status" : "<code>", // R!  active | cancelled | draft | entered-in-error
  "ruleset" : { Coding }, // Resource version
  "originalRuleset" : { Coding }, // Original version
  "action" : "<code>", // R!  cancel | poll | reprocess | status
  "created" : "<dateTime>", // Creation date
  // target[x]: Target of the request. One of these 2:
  "targetIdentifier" : { Identifier },
  "targetReference" : { Reference(Organization) },
  // provider[x]: Responsible practitioner. One of these 2:
  "providerIdentifier" : { Identifier },
  "providerReference" : { Reference(Practitioner) },
  // organization[x]: Responsible organization. One of these 2:
  "organizationIdentifier" : { Identifier },
  "organizationReference" : { Reference(Organization) },
  // request[x]: Request reference. One of these 2:
  "requestIdentifier" : { Identifier },
  "requestReference" : { Reference(Any) },
  // response[x]: Response reference. One of these 2:
  "responseIdentifier" : { Identifier },
  "responseReference" : { Reference(Any) },
  "nullify" : <boolean>, // Nullify
  "reference" : "<string>", // Reference number/string
  "item" : [{ // Items to re-adjudicate
    "sequenceLinkId" : <integer> // R!  Service instance
  }],
  "include" : ["<string>"], // Resource type(s) to include
  "exclude" : ["<string>"], // Resource type(s) to exclude
  "period" : { Period } // Period
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ProcessRequest;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ProcessRequest.identifier [ Identifier ], ... ; # 0..* Business Identifier
  fhir:ProcessRequest.status [ code ]; # 1..1 active | cancelled | draft | entered-in-error
  fhir:ProcessRequest.ruleset [ Coding ]; # 0..1 Resource version
  fhir:ProcessRequest.originalRuleset [ Coding ]; # 0..1 Original version
  fhir:ProcessRequest.action [ code ]; # 1..1 cancel | poll | reprocess | status
  fhir:ProcessRequest.created [ dateTime ]; # 0..1 Creation date
  # ProcessRequest.target[x] : 0..1 Target of the request. One of these 2
    fhir:ProcessRequest.targetIdentifier [ Identifier ]
    fhir:ProcessRequest.targetReference [ Reference(Organization) ]
  # ProcessRequest.provider[x] : 0..1 Responsible practitioner. One of these 2
    fhir:ProcessRequest.providerIdentifier [ Identifier ]
    fhir:ProcessRequest.providerReference [ Reference(Practitioner) ]
  # ProcessRequest.organization[x] : 0..1 Responsible organization. One of these 2
    fhir:ProcessRequest.organizationIdentifier [ Identifier ]
    fhir:ProcessRequest.organizationReference [ Reference(Organization) ]
  # ProcessRequest.request[x] : 0..1 Request reference. One of these 2
    fhir:ProcessRequest.requestIdentifier [ Identifier ]
    fhir:ProcessRequest.requestReference [ Reference(Any) ]
  # ProcessRequest.response[x] : 0..1 Response reference. One of these 2
    fhir:ProcessRequest.responseIdentifier [ Identifier ]
    fhir:ProcessRequest.responseReference [ Reference(Any) ]
  fhir:ProcessRequest.nullify [ boolean ]; # 0..1 Nullify
  fhir:ProcessRequest.reference [ string ]; # 0..1 Reference number/string
  fhir:ProcessRequest.item [ # 0..* Items to re-adjudicate
    fhir:ProcessRequest.item.sequenceLinkId [ integer ]; # 1..1 Service instance
  ], ...;
  fhir:ProcessRequest.include [ string ], ... ; # 0..* Resource type(s) to include
  fhir:ProcessRequest.exclude [ string ], ... ; # 0..* Resource type(s) to exclude
  fhir:ProcessRequest.period [ Period ]; # 0..1 Period
]

Changes since DSTU2

ProcessRequest
ProcessRequest.status added
ProcessRequest.target[x] Renamed from target to target[x]
Add Identifier
ProcessRequest.provider[x] Renamed from provider to provider[x]
Add Identifier
ProcessRequest.organization[x] Renamed from organization to organization[x]
Add Identifier
ProcessRequest.request[x] Renamed from request to request[x]
Add Identifier
ProcessRequest.response[x] Renamed from response to response[x]
Add Identifier

See the Full Difference for further information

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ProcessRequest DomainResourceProcess request
... identifier 0..*IdentifierBusiness Identifier
... status ?!Σ1..1codeactive | cancelled | draft | entered-in-error
ProcessRequestStatus (Required)
... ruleset 0..1CodingResource version
Ruleset Codes (Example)
... originalRuleset 0..1CodingOriginal version
Ruleset Codes (Example)
... action 1..1codecancel | poll | reprocess | status
ActionList (Required)
... created 0..1dateTimeCreation date
... target[x] 0..1Target of the request
.... targetIdentifierIdentifier
.... targetReferenceReference(Organization)
... provider[x] 0..1Responsible practitioner
.... providerIdentifierIdentifier
.... providerReferenceReference(Practitioner)
... organization[x] 0..1Responsible organization
.... organizationIdentifierIdentifier
.... organizationReferenceReference(Organization)
... request[x] 0..1Request reference
.... requestIdentifierIdentifier
.... requestReferenceReference(Any)
... response[x] 0..1Response reference
.... responseIdentifierIdentifier
.... responseReferenceReference(Any)
... nullify 0..1booleanNullify
... reference 0..1stringReference number/string
... item 0..*BackboneElementItems to re-adjudicate
.... sequenceLinkId 1..1integerService instance
... include 0..*stringResource type(s) to include
... exclude 0..*stringResource type(s) to exclude
... period 0..1PeriodPeriod

doco Documentation for this format

UML Diagram (Legend)

ProcessRequest (DomainResource)The ProcessRequest business identifieridentifier : Identifier [0..*]The status of the resource instance (this element modifies the meaning of other elements)status : code [1..1] « A code specifying the state of the resource instance. (Strength=Required)ProcessRequestStatus! »The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resourcesruleset : Coding [0..1] « The static and dynamic model to which contents conform, which may be business version or standard/version. (Strength=Example)Ruleset ?? »The style (standard) and version of the original material which was converted into this resourceoriginalRuleset : Coding [0..1] « The static and dynamic model to which contents conform, which may be business version or standard/version. (Strength=Example)Ruleset ?? »The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequestaction : code [1..1] « List of allowable action which this resource can request. (Strength=Required)ActionList! »The date when this resource was createdcreated : dateTime [0..1]The organization which is the target of the requesttarget[x] : Type [0..1] « Identifier|Reference(Organization) »The practitioner who is responsible for the action specified in this requestprovider[x] : Type [0..1] « Identifier|Reference(Practitioner) »The organization which is responsible for the action speccified in this requestorganization[x] : Type [0..1] « Identifier|Reference(Organization) »Reference of resource which is the target or subject of this actionrequest[x] : Type [0..1] « Identifier|Reference(Any) »Reference of a prior response to resource which is the target or subject of this actionresponse[x] : Type [0..1] « Identifier|Reference(Any) »If true remove all history excluding auditnullify : boolean [0..1]A reference to supply which authenticates the processreference : string [0..1]Names of resource types to includeinclude : string [0..*]Names of resource types to excludeexclude : string [0..*]A period of time during which the fulfilling resources would have been createdperiod : Period [0..1]ItemsA service line numbersequenceLinkId : integer [1..1]List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicateditem[0..*]

XML Template

<ProcessRequest xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business Identifier --></identifier>
 <status value="[code]"/><!-- 1..1 active | cancelled | draft | entered-in-error -->
 <ruleset><!-- 0..1 Coding Resource version --></ruleset>
 <originalRuleset><!-- 0..1 Coding Original version --></originalRuleset>
 <action value="[code]"/><!-- 1..1 cancel | poll | reprocess | status -->
 <created value="[dateTime]"/><!-- 0..1 Creation date -->
 <target[x]><!-- 0..1 Identifier|Reference(Organization) Target of the request --></target[x]>
 <provider[x]><!-- 0..1 Identifier|Reference(Practitioner) Responsible practitioner --></provider[x]>
 <organization[x]><!-- 0..1 Identifier|Reference(Organization) Responsible organization --></organization[x]>
 <request[x]><!-- 0..1 Identifier|Reference(Any) Request reference --></request[x]>
 <response[x]><!-- 0..1 Identifier|Reference(Any) Response reference --></response[x]>
 <nullify value="[boolean]"/><!-- 0..1 Nullify -->
 <reference value="[string]"/><!-- 0..1 Reference number/string -->
 <item>  <!-- 0..* Items to re-adjudicate -->
  <sequenceLinkId value="[integer]"/><!-- 1..1 Service instance -->
 </item>
 <include value="[string]"/><!-- 0..* Resource type(s) to include -->
 <exclude value="[string]"/><!-- 0..* Resource type(s) to exclude -->
 <period><!-- 0..1 Period Period --></period>
</ProcessRequest>

JSON Template

{doco
  "resourceType" : "ProcessRequest",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Business Identifier
  "status" : "<code>", // R!  active | cancelled | draft | entered-in-error
  "ruleset" : { Coding }, // Resource version
  "originalRuleset" : { Coding }, // Original version
  "action" : "<code>", // R!  cancel | poll | reprocess | status
  "created" : "<dateTime>", // Creation date
  // target[x]: Target of the request. One of these 2:
  "targetIdentifier" : { Identifier },
  "targetReference" : { Reference(Organization) },
  // provider[x]: Responsible practitioner. One of these 2:
  "providerIdentifier" : { Identifier },
  "providerReference" : { Reference(Practitioner) },
  // organization[x]: Responsible organization. One of these 2:
  "organizationIdentifier" : { Identifier },
  "organizationReference" : { Reference(Organization) },
  // request[x]: Request reference. One of these 2:
  "requestIdentifier" : { Identifier },
  "requestReference" : { Reference(Any) },
  // response[x]: Response reference. One of these 2:
  "responseIdentifier" : { Identifier },
  "responseReference" : { Reference(Any) },
  "nullify" : <boolean>, // Nullify
  "reference" : "<string>", // Reference number/string
  "item" : [{ // Items to re-adjudicate
    "sequenceLinkId" : <integer> // R!  Service instance
  }],
  "include" : ["<string>"], // Resource type(s) to include
  "exclude" : ["<string>"], // Resource type(s) to exclude
  "period" : { Period } // Period
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ProcessRequest;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ProcessRequest.identifier [ Identifier ], ... ; # 0..* Business Identifier
  fhir:ProcessRequest.status [ code ]; # 1..1 active | cancelled | draft | entered-in-error
  fhir:ProcessRequest.ruleset [ Coding ]; # 0..1 Resource version
  fhir:ProcessRequest.originalRuleset [ Coding ]; # 0..1 Original version
  fhir:ProcessRequest.action [ code ]; # 1..1 cancel | poll | reprocess | status
  fhir:ProcessRequest.created [ dateTime ]; # 0..1 Creation date
  # ProcessRequest.target[x] : 0..1 Target of the request. One of these 2
    fhir:ProcessRequest.targetIdentifier [ Identifier ]
    fhir:ProcessRequest.targetReference [ Reference(Organization) ]
  # ProcessRequest.provider[x] : 0..1 Responsible practitioner. One of these 2
    fhir:ProcessRequest.providerIdentifier [ Identifier ]
    fhir:ProcessRequest.providerReference [ Reference(Practitioner) ]
  # ProcessRequest.organization[x] : 0..1 Responsible organization. One of these 2
    fhir:ProcessRequest.organizationIdentifier [ Identifier ]
    fhir:ProcessRequest.organizationReference [ Reference(Organization) ]
  # ProcessRequest.request[x] : 0..1 Request reference. One of these 2
    fhir:ProcessRequest.requestIdentifier [ Identifier ]
    fhir:ProcessRequest.requestReference [ Reference(Any) ]
  # ProcessRequest.response[x] : 0..1 Response reference. One of these 2
    fhir:ProcessRequest.responseIdentifier [ Identifier ]
    fhir:ProcessRequest.responseReference [ Reference(Any) ]
  fhir:ProcessRequest.nullify [ boolean ]; # 0..1 Nullify
  fhir:ProcessRequest.reference [ string ]; # 0..1 Reference number/string
  fhir:ProcessRequest.item [ # 0..* Items to re-adjudicate
    fhir:ProcessRequest.item.sequenceLinkId [ integer ]; # 1..1 Service instance
  ], ...;
  fhir:ProcessRequest.include [ string ], ... ; # 0..* Resource type(s) to include
  fhir:ProcessRequest.exclude [ string ], ... ; # 0..* Resource type(s) to exclude
  fhir:ProcessRequest.period [ Period ]; # 0..1 Period
]

Changes since DSTU2

ProcessRequest
ProcessRequest.status added
ProcessRequest.target[x] Renamed from target to target[x]
Add Identifier
ProcessRequest.provider[x] Renamed from provider to provider[x]
Add Identifier
ProcessRequest.organization[x] Renamed from organization to organization[x]
Add Identifier
ProcessRequest.request[x] Renamed from request to request[x]
Add Identifier
ProcessRequest.response[x] Renamed from response to response[x]
Add Identifier

See the Full Difference for further information

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)

12.6.2.1 Terminology Bindings

PathDefinitionTypeReference
ProcessRequest.status A code specifying the state of the resource instance.RequiredProcessRequestStatus
ProcessRequest.ruleset
ProcessRequest.originalRuleset
The static and dynamic model to which contents conform, which may be business version or standard/version.ExampleRuleset Codes
ProcessRequest.action List of allowable action which this resource can request.RequiredActionList

12.6.3 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
actiontokenThe action requested by this resourceProcessRequest.action
identifiertokenThe business identifier of the ProcessRequestProcessRequest.identifier
organization-identifiertokenThe organization who generated this requestProcessRequest.organizationIdentifier
organization-referencereferenceThe organization who generated this requestProcessRequest.organizationReference
(Organization)
provider-identifiertokenThe provider who regenerated this requestProcessRequest.providerIdentifier
provider-referencereferenceThe provider who regenerated this requestProcessRequest.providerReference
(Practitioner)