This page is part of the Da Vinci Clinical Documentation Exchange (v2.0.0: STU2) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions
Page standards status: Draft |
This page documents an optional solicited attachments transaction for requesting additional claims or prior authorization data from a Provider using FHIR Questionnaire.* The Payer uses the Task-based CDex Task Attachment Request Profile to request a Provider to complete a questionnaire. The Provider launches Da Vinci DTR to complete the questionnaire and, as documented in the Sending Attachments page, submits the completed questionnaire to the Payer using the $submit-attachment
operation. In contrast to Requesting Attachments Using Attachment Codes, a HIPAA-based request model using LOINC attachment codes, it supports using Questionnaire to define in more detail what data is missing. As a result, it avoids unnecessary documents. In addition, it leverages Da Vinci DTR functionality to fill out the Questionnaire reducing the time involved in reviewing documentation requirements.
* See the Conforming to CDex Attachments page for how systems declare what they support for the various actors and roles in CDex Attachments.
The Task Based Approach page documents why a Data Consumer should use Task for requesting attachments. For more background on Task-based transactions, see the Requesting Exchange using Task section of the Da Vinci HRex Implementation Guide. For CDex attachment requests transactions, the Payer SHALL use the CDex Task Attachment Request Profile to solicit information from a Provider. For a detailed description of all the mandatory, must support, and optional elements, as well as formal definitions and profile views, see the CDex Task Data Request Profile page.
In contrast to Requesting Attachments Using Attachment Codes, when a Payer references a FHIR Questionnaire as an input parameter, the Task represents a request for the Provider to complete the questionnaire (form). The CDex Task Attachment Request Profile defines a specific Task.code
that directs the Provider to launch a Da Vinci - Coverage Requirements Discovery (DTR) application to use the Payer provided Questionnaire and results from any CQL execution to generate and complete a QuestionnaireResponse. Figure 17 below summarizes the steps for requesting and completing a questionnaire using CDex Attachments and DTR, and the sequence diagram in the following section illustrates these transactions in more detail:
Step 1: The Payer POSTs a Task directly to the Provider. The Task is a request to complete a questionnaire.
Step 2: if the Task.code is “attachment-request-questionnaire”, the Provider launches DTR and shares the Task as a launch parameter (i.e., DTR has access to read and update the Task and access to other resources to complete the QuestionnaireResponse in Step 3)
Step 3: DTR fetches the Task, which contains the link to the Questionnaire. Then fetches the Questionnaire (and any CQL rules defined within it) and proceeds to complete the QuestionnaireResponse. Refer to the Da Vinci DTR Implementation Guide for more information on how it generates a QuestionnaireResponse.
Step 4: After completing the QuestionnaireResponse, DTR POSTs it directly to the Provider’s FHIR Server, updates Task.output to reference the QuestionnaireResponse it created, and updates Task.status to “completed”.
Step 5: The Provider “pushes” the QuestionnaireResponse directly to the Payer-defined endpoint using the $submit-attachments operation. See the Sending Attachments page for Implementation Guide for more information on this transaction.
The sequence diagram in the Figure 18 below depicts the the FHIR RESTful transactions and processes involved between the Payer, Provider, and DTR application application needed to request, fill, and return a questionnaire using using CDex Attachments. It references a “DTR Launch”. If the DTR is a native EHR application, the launch is implementation specific. If DTR is a SMART on FHIR Application, the next (DTR SMART App Launch) section documents the launch sequence and parameters.
The sequence diagram in Figure 19 below depicts the transactions between the DTR Client, FHIR Server, and DTR application needed to launch a DTR SMART App.
Preconditions and Assumptions:
Step 1 (Optional): The DTR App registers with DTR Client (may be out of band)
Step 2,3: If the Task.code is “attachment-request-questionnaire” (or “data-request-questionnaire” for a Task-based approach), a User initiates Smart Version 2.0.0 EHR launch flow to launch DTR (for example, clicks a button to launch DTR) and DTR Client sends a launch request to the DTR App
Step 4: DTR App retrieves the .well-known/smart-configuration
from FHIR Server.
Step 5: DTR App request authorization code requesting the following scopes:
Step 6,7: Assuming the authorization is granted, The DTR app requests an access token
Step 8: DTR App obtains an access token and the launch contexts in the “fhirContext” array, including a local reference to the Task in step 2.
Step 9: The DTR App uses the Task reference obtained in step 8 to fetch it, the Questionnaire, and other resources to fill out a QuestionnaireResponse. See the previous section (or this section on the Task Based Approach page) for more detailed transactions.
The Requesting Attachments Using Attachment Codes page documents the data elements needed to associate an attachment to a claim or prior authorization. However, there is no “LOINC Attachment Code” Data element when using Questionnaires to collect attachments-related data.
In the following sections, A detailed look at an example Solicited attachment transaction illustrates how:
In this scenario, a Provider creates a prior authorization and sends it to the Payer. The Payer reviews the prior authorization and responds with a request to fill out a questionnaire for attachments-related data using the CDex Attachment Request Profile. After receiving the attachment request, the Provider launches DTR, which completes a QuestionnaireResponse. The Provider returns the QuestionnaireResponse using the $submit-attachment
operation, posting it to the endpoint supplied in the request. The flow diagram in figure 20 below illustrates the scenario.
In addition to the information needed to submit and associate the attachments to the claim successfully, the Payer supplies the following details about what information is necessary to complete the adjudication of the claim:
The table below summarizes the mapping between the CDex Request Attachment Profile elements and the $submit-attachment
parameters:
Data Element | CDex $submit-attachment Parameter | CDex Request Attachment Task Profile Element |
---|---|---|
Tracking ID | TrackingId | Task.identifier |
Use | AttachTo | Task.reasonCode |
Payer ID | PayerId | Task.requester.identifier |
Payer URL | (operation endpoint) | “payer-url” Task.input |
Organization ID | OrganizationId | PractitionerRole.practitioner.identifier |
Provider ID | ProviderId | PractitionerRole.organization.identifier |
Line Item(s) | Attachment.LineItem | “code” Task.input.extension |
LOINC Attachment Code | Attachment.Code | “code” Task.input |
Date of Service | ServiceDate | “service-date” Task.input |
Member ID | MemberId | Patient.identifier |
Questionnaire | - | “questionnaire” Task.input |
QuestionnaireResponse | Attachment.Content | - |
The data element mapping table is available as a CSV and Excel file.
In the first FHIR transaction, the Payer POSTs the CDex Task Attachment Request Profile to the Provider endpoint.
POST [base]/Task
Request Body
The optional profile declaration shown below asserts that the resource conforms to the profile and contains all the necessary data elements listed above.
0 {
1 "resourceType": "Task",
2 "meta": {
3 "profile": [
4 "http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-task-attachment-request"
5 ]
6 },
The following data elements are used to verify the patient’s identity. (This guide does not cover how the Provider system verifies the patient’s identity.) They are communicated in a contained Patient resource using the CDex Patient Demographics Profile. The contained Patient is referenced in Task.for.reference
using a fixed reference value of “#patient”.
Data | HRex Patient Demographics Profile. |
---|---|
Member ID or Patient Account No.* | Patient.identifier |
Patient Name | Patient.name |
Patient DOB (optional) | Patient.birthDate |
* Patient Account Number is a Provider assigned identifier
7 "contained": [
8 {
9 "resourceType": "Patient",
10 "id": "patient",
11 "meta": {
12 "profile": [
13 "http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-patient-demographics"
14 ]
15 },
16 "identifier": [
17 {
18 "use": "usual",
19 "type": {
20 "coding": [
21 {
22 "system": "http://hl7.org/fhir/us/davinci-hrex/CodeSystem/hrex-temp",
23 "code": "UMB",
24 "display": "Member Number"
25 }
26 ],
27 "text": "Member Number"
28 },
29 "system": "http://example.org/cdex/payer/member-ids",
30 "value": "Member123"
31 },
32 {
33 "use": "usual",
34 "type": {
35 "coding": [
36 {
37 "system": "http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBIdentifierType",
38 "code": "pat",
39 "display": "Patient Account Number"
40 }
41 ],
42 "text": "Patient Account Number"
43 },
44 "system": "http://example.org/cdex/provider/patient-ids",
45 "value": "PA-123"
46 }
47 ],
48 "name": [
49 {
50 "family": "Shaw",
51 "given": [
52 "Amy"
53 ]
54 }
55 ],
56 "birthDate": "1987-02-20"
57 },
The Payer communicates the provider ID as either a unique organization/location identifier (e.g., Type 2 NPI) or unique provider identifier (e.g., Type 1 NPI) or both in a contained PractitionerRole resource using the CDex PractitionerRole Profile. This contained PractitionerRole is referenced in Task.owner.reference
using a fixed reference value of “#practitionerrole”.
58 {
59 "resourceType": "PractitionerRole",
60 "id": "practitionerrole",
61 "meta": {
62 "profile": [
63 "http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-practitionerrole"
64 ]
65 },
66 "practitioner": {
67 "identifier": {
68 "system": "http://hl7.org/fhir/sid/us-npi",
69 "value": "9941339100"
70 }
71 },
72 "organization": {
73 "identifier": {
74 "system": "http://hl7.org/fhir/sid/us-npi",
75 "value": "1234567893"
76 }
77 }
78 }
79 ],
The mandatory Task.identifier
tracking-id slice element represents the Payer tracking identifier. The tracking-id (also called the “re-association tracking control number”) is an identifier that ties the attachments back to the claim or prior authorization. The Provider will echo it back to the Payer when submitting the attachments.
80 "identifier": [
81 {
82 "type": {
83 "coding": [
84 {
85 "system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
86 "code": "tracking-id",
87 "display": "Tracking Id"
88 }
89 ],
90 "text": "Re-Association Tracking Control Number"
91 },
92 "system": "http://example.org/payer",
93 "value": "trackingid1012"
94 }
95 ],
These required Task infrastructure elements:
convey the task status, and the intent of the request. The Task.status value of “request” is typical when POSTing the Task-based attachment request. Note that the status will change as the Task moves through different states in the workflow. Task.intent is fixed to “order”.
96 "status": "requested",
97 "intent": "order",
The Task.code communicates that the Payer is requesting attachments for a claim or prior authorization using a code or data request questionnaire. If the code is “attachment-request-code”, the provider system returns attachment(s) identified by the LOINC attachment code(s) in the “code” input parameter. If the code is “attachment-request-questionnaire”, as it is in this scenario, the provider system uses Documentation Templates and Rules (DTR) to complete the Questionnaire referenced in the “questionnaire” input parameter. When either code is present, the provider system uses the $submit-attachment operation to return the information to the endpoint provided in “payer-url” input parameter.
98 "code": {
99 "coding": [
100 {
101 "system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
102 "code": "attachment-request-questionnaire"
103 }
104 ],
105 "text": "Attachment Request Questionnaire"
106 },
The attachment request will be directed to the same Provider who submitted the claim or prior authorization. Business identifiers are used to identify the Patient, the Payer, and the Provider who submitted the claim, and these identifiers are echoed back to the Payer when submitting the attachments.
As discussed above, the Patient id is in the contained Patient resource, referenced by the Task.for element, and the Provider id is in the contained PractitionerRole resource referenced by the Task.owner element. The Provider id can be a Practitioner identifier (i,e., a Type1 NPI) or the Practitioner’s Organization identifier (i,e., a Type2 NPI) or both.
(note the various Task dates in the request fragment below)
Actor | CDex Request Attachment Task Profile Element |
---|---|
payer ID | Task.requester.identifier |
provider ID | (contained)PractitionerRole.practitioner.identifier and/or PractitionerRole.Organization.identifier |
patient member ID or Patient Account No | (contained)Patient.identifier |
107 "for": {
108 "reference": "#patient"
109 },
110 "authoredOn": "2022-06-17T16:16:06Z",
111 "lastModified": "2022-06-17T16:16:06Z",
112 "requester": {
113 "identifier": {
114 "system": "http://example.org/cdex/payer/payer-ids",
115 "value": "Payer123"
116 }
117 },
118 "owner": {
119 "reference": "#practitionerrole"
120 },
The Task communicates whether the attachments are for a claim or prior authorization, and the Payer identifies the claim or prior authorization with its business Identifier.
Data | CDex Request Attachment Task Profile Element |
---|---|
Claim or Prior Authorization | Task.reasonCode |
Claim or Prior Authorization ID | Task.reasonReference.identifier |
121 "reasonCode": {
122 "coding": [
123 {
124 "system": "http://hl7.org/fhir/claim-use",
125 "code": "preauthorization",
126 "display": "Preauthorization"
127 }
128 ],
129 "text": "preauthorization"
130 },
131 "reasonReference": {
132 "identifier": {
133 "system": "http://example.org/cdex/payer/claim-ids",
134 "value": "Preauth123"
135 }
136 },
The Payer communicates the due date for submitting the attachment in the Task.restriction.period
element. Note that Task.restriction.period.end
is the due date representing the time by which the Provider should have submitted the attachments.
137 "restriction": {
138 "period": {
139 "end": "2022-06-21"
140 }
141 },
In this scenario, the Payer supplies the URL of a questionnaire (FHIR Questionnaire) to communicate what attachments-related data is needed. Line item numbers may also be supplied to match the attachment to a line item in the claim or prior authorization. This information is represented in the “questionnaire” Task input element. The Provider launches the Documentation Templates and Rules (DTR) application to complete the Questionnaire. The code snippet below contains a URL to a Home Oxygen Therapy Questionnaire.
142 "input": [
143 {
144 "type": {
145 "coding": [
146 {
147 "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
148 "code": "questionnaire"
149 }
150 ]
151 },
152 "extension": [
153 {
154 "url": "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-serviceLineNumber",
155 "valuePositiveInt": 1
156 }
157 ],
158 "valueCanonical": "http://example.org/cdex-questionnaire-example1"
159 },
The Payer supplies the URL endpoint as a Task input parameter. The Provider System will use this information as the endpoint for the $submit-attachment
Operation to send the completed QuestionnaireResponse. Note that the endpoint is not necessarily a FHIR RESTful server endpoint.
160 {
161 "type": {
162 "coding": [
163 {
164 "system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
165 "code": "payer-url"
166 }
167 ]
168 },
169 "valueUrl": "http://example.org/cdex/payer/$submit-attachment"
170 },
This optional Task.input element represents the request’s purpose of use (POU). In this example, it is to support a request for a claim, “CLMATTCH”. When requesting attachments for prior authorization, it would be “COVAUTH”.
171 {
172 "type": {
173 "coding": [
174 {
175 "code": "purpose-of-use",
176 "system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp"
177 }
178 ]
179 },
180 "valueCodeableConcept": {
181 "coding": [
182 {
183 "code": "COVAUTH",
184 "system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
185 "display": "coverage authorization"
186 }
187 ]
188 }
189 }
190 ]
191 }
The Payer used a Questionnaire to ask for specific attachments-related data. They indicated it with a Task code “attachment-request-questionnaire” and supplied the URL of the questionnaire (FHIR Questionnaire) as an input parameter. Becasue these conditions are met, the Payer launches Da Vinci DTR, a SMART on FHIR App or native EHR application. If the Provider launches a DTR within an EHR native application, skip to the step DTR App Updates Task below. If the Provider Launches DTR as a SMART on FHIR Application, it follows the Smart Version 2.0.0 EHR launch flow with the Task as the launch content. The next several steps describe the DTR SMART App functionality.
As part of the DTR launch, the local reference to the Task is passed to the DTR App. The DTR App fetches the Task and inspects it for the Questionnaire URL.
Request
GET [base]/Task/cdex-task-example22
Response Body
1 "resourceType": "Task",
2 "meta": {
...
142 "input": [
143 {
144 "type": {
145 "coding": [
146 {
147 "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
148 "code": "questionnaire"
149 }
150 ]
151 },
152 "extension": [
153 {
154 "url": "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-serviceLineNumber",
155 "valuePositiveInt": 1
156 }
157 ],
158 "valueCanonical": "http://example.org/cdex-questionnaire-example1"
159 },
....
Upon discovery of the Questionnaire URL, the DTR App fetches the Questionnaire.
Request
GET http://example.org/FHIR/Questionnare/cdex-questionnaire-example1
Response Body
0 {
1 "resourceType": "Questionnaire",
2 "name": "HomeOxygenTherapyQuestionnaire",
3 "title": "Home Oxygen Therapy Questionnaire",
4 "url": "http://example.org/cdex-questionnaire-example1",
5 "status": "draft",
6 "subjectType": [
7 "Patient"
8 ],
9 "date": "2022-01-17",
10 "item": [
11 {
12 "linkId": "1",
13 "text": "Relevant Patient Diagnoses (conditions that might be expected to improve with oxygen therapy)",
14 "type": "text",
15 "required": true
16 },
17 {
18 "linkId": "2",
19 "text": "Order Reason",
20 "type": "choice",
21 "required": true,
22 "answerOption": [
23 {
24 "valueCoding": {
25 "system": "http://example.org",
26 "code": "1",
27 "display": "Initial or original order for certification"
28 }
29 },
30 {
31 "valueCoding": {
32 "system": "http://example.org",
33 "code": "2",
34 "display": "Change in status"
35 }
36 },
37 {
38 "valueCoding": {
39 "system": "http://example.org",
40 "code": "3",
41 "display": "Revision or change in equipment"
42 }
43 },
44 {
45 "valueCoding": {
46 "system": "http://example.org",
47 "code": "4",
48 "display": "Replacement"
49 }
50 }
51 ]
52 }
53 ]
54 }
To complete the Questionnaire, the DTR App retrieves FHIR resources from EHRs, runs rules (CQL), and completes a QuestionnaireResponse. See the Da Vinci DTR Implementation Guide for more information.
The completed QuestionnaireResponse is saved in the Provider’s FHIR Server.
Request
POST [base]/$QuestionnaireResponse
Request Body
0 {
1 "resourceType": "QuestionnaireResponse",
2 "questionnaire": "http://example.org/cdex-questionnaire-example1",
3 "status": "completed",
4 "subject": {
5 "identifier": {
6 "use": "usual",
7 "type": {
8 "coding": [
9 {
10 "system": "http://hl7.org/fhir/us/davinci-hrex/CodeSystem/hrex-temp",
11 "code": "UMB",
12 "display": "Member Number"
13 }
14 ],
15 "text": "Member Number"
16 },
17 "system": "http://example.org/cdex/payer/member-ids",
18 "value": "Member123"
19 },
20 "display": "Amy Shaw"
21 },
22 "authored": "2022-06-17",
23 "author": {
24 "identifier": {
25 "system": "http://hl7.org/fhir/sid/us-npi",
26 "value": "9941339100"
27 }
28 },
29 "item": [
30 {
31 "linkId": "1",
32 "text": "Relevant Patient Diagnoses (conditions that might be expected to improve with oxygen therapy)",
33 "answer": [
34 {
35 "valueString": "Examplitis"
36 }
37 ]
38 },
39 {
40 "linkId": "2",
41 "text": "Order Reason",
42 "answer": [
43 {
44 "valueCoding": {
45 "system": "http://example.org",
46 "code": "4",
47 "display": "Replacement"
48 }
49 }
50 ]
51 }
52 ]
53 }
The DTR SMART App or EHR native application Updates Task.output to Reference the completed QuestionnaireResponse and Task.status to “completed”
PUT [base]/Task/cdex-task-example-22
Request Body
0 {
1 "resourceType": "Task",
2 "id": "cdex-task-example22",
...
96 {
...
189 "type": {
190 "coding": [
191 {
192 "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
193 "code": "questionnaire-response"
194 }
195 ]
196 },
197 "valueReference": {
198 "reference": "QuestionnaireResponse/cdex-questionnaireresponse-example1"
199 }
200 }
201 ]
202 }
When the Task is completed, the Provider POSTs the $submit-attachment
operation and its payload to the Payer’s endpoint. As stated above, the Payer communicates the operation endpoint to the Payer in the CDex Task Attachment Request Profile. The operation payload contains the completed QuestionnaireResponse and echoes many data elements sent in the request. The table in the introduction to this section summarizes the mapping between the CDex Request Attachment Profile elements and the $submit-attachment
parameters. The documentation below describes and demonstrates the $submit-attachment
parameters.
Data Element | CDex Request Attachment Task Profile Element | CDex #submit-attachment Parameter |
---|---|---|
Payer URL | “payer-url”Task.input | (operation endpoint) |
Request
POST [base]/$submit-attachment
Request Body
The QuestionnaireResponse along with the metadata needed to associate it to the claim or prior authorization are in the $submit-attachments payload, a Parameters resource.
0 {
1 "resourceType": "Parameters",
2 "parameter": [
The TrackingId parameter represents the identifier that ties the attachments to the claim or prior authorization. It is often referred to as the “re-association tracking control number”. The operation must indicate whether the attachments are for claim or prior authorization. These data elements are taken from the CDex request as follows:
Data Element | CDex Request Attachment Task Profile Element | CDex #submit-attachment Parameter |
---|---|---|
TrackingID | Task.identifier | TrackingId |
Use | Task.reasonCode | AttachTo |
3 {
4 "name": "TrackingId",
5 "valueIdentifier": {
6 "system": "http://example.org/payer",
7 "value": "trackingid1012"
8 }
9 },
10 {
11 "name": "AttachTo",
12 "valueCode": "preauthorization"
13 },
As documented above, The Payer uses business identifiers to identify itself, the Patient, and Provider (i.e., the practitioner) and Organization (i.e., the provider organization) who submitted the claim or prior authorization. The Provider uses these same identifiers when submitting the attachments.
Data Element | CDex Request Attachment Task Profile Element | CDex #submit-attachment Parameter |
---|---|---|
Payer ID | Task.requester.identifier | PayerId |
Organization ID | PractitionerRole.organization.identifier | OrganizationId |
Provider ID | PractitionerRole.practitioner.identifier | ProviderId |
Member ID | Patient.identifier | MemberId |
14 {
15 "name": "PayerId",
16 "valueIdentifier": {
17 "system": "http://example.org/cdex/payer/payer-ids",
18 "value": "payer123"
19 }
20 },
21 {
22 "name": "OrganizationId",
23 "valueIdentifier": {
24 "system": "http://hl7.org/fhir/sid/us-npi",
25 "value": "1234567893"
26 }
27 },
28 {
29 "name": "ProviderId",
30 "valueIdentifier": {
31 "system": "http://hl7.org/fhir/sid/us-npi",
32 "value": "9941339100"
33 }
34 },
35 {
36 "name": "MemberId",
37 "valueIdentifier": {
38 "system": "http://example.org/cdex/payer/member-ids",
39 "value": "Member123"
40 }
41 },
The completed QuestionnaireResponse and the corresponding line item numbers are communicated as named parts of the multi-part Attachment parameter. The Attachment.content parameter represents the QuestionnaireResponse as an inline FHIR resource. The Attachment.LineItem parameter lists the line item numbers associated with it.
Data Element | CDex Request Attachment Task Profile Element | CDex #submit-attachment Parameter |
---|---|---|
line item(s) | “code”Task.input.extension | Attachment.LineItem |
QuestionnaireResponse | - | Attachment.content |
42 {
43 "name": "Attachment",
44 "part": [
45 {
46 "name": "LineItem",
47 "valueString": "1"
48 },
49 {
50 "name": "Content",
51 "resource": {
52 "resourceType": "QuestionnaireResponse",
53 "id": "cdex-questionnaireresponse-example1",
54 "questionnaire": "http://example.org/cdex-questionnaire-example1",
55 "status": "completed",
56 "subject": {
57 "identifier": {
58 "use": "usual",
59 "type": {
60 "coding": [
61 {
62 "system": "http://hl7.org/fhir/us/davinci-hrex/CodeSystem/hrex-temp",
63 "code": "UMB",
64 "display": "Member Number"
65 }
66 ],
67 "text": "Member Number"
68 },
69 "system": "http://example.org/cdex/payer/member-ids",
70 "value": "Member123"
71 },
72 "display": "Amy Shaw"
73 },
74 "authored": "2022-06-17",
75 "author": {
76 "identifier": {
77 "system": "http://hl7.org/fhir/sid/us-npi",
78 "value": "9941339100"
79 }
80 },
81 "item": [
82 {
83 "linkId": "1",
84 "text": "Relevant Patient Diagnoses (conditions that might be expected to improve with oxygen therapy)",
85 "answer": [
86 {
87 "valueString": "Examplitis"
88 }
89 ]
90 },
91 {
92 "linkId": "2",
93 "text": "Order Reason",
94 "answer": [
95 {
96 "valueCoding": {
97 "system": "http://example.org",
98 "code": "4",
99 "display": "Replacement"
100 }
101 }
102 ]
103 }
104 ]
105 }
106 }
107 ]
108 }
109 ]
110 }
The example below shows the complete solicited attachment transaction. A Payer uses the CDex Task Attachment Request Profile to request the attachment using an attachment code, and the Provider uses the $submit-attachment
operation to submit the attachments to the Payer:
Request
POST [base]/Task
Request Headers
Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)
Request Body
{
"resourceType": "Task",
"meta": {
"profile": [
"http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-task-attachment-request"
]
},
"contained": [
{
"resourceType": "Patient",
"id": "patient",
"meta": {
"profile": [
"http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-patient-demographics"
]
},
"identifier": [
{
"use": "usual",
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-hrex/CodeSystem/hrex-temp",
"code": "UMB",
"display": "Member Number"
}
],
"text": "Member Number"
},
"system": "http://example.org/cdex/payer/member-ids",
"value": "Member123"
},
{
"use": "usual",
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBIdentifierType",
"code": "pat",
"display": "Patient Account Number"
}
],
"text": "Patient Account Number"
},
"system": "http://example.org/cdex/provider/patient-ids",
"value": "PA-123"
}
],
"name": [
{
"family": "Shaw",
"given": [
"Amy"
]
}
],
"birthDate": "1987-02-20"
},
{
"resourceType": "PractitionerRole",
"id": "practitionerrole",
"meta": {
"profile": [
"http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-practitionerrole"
]
},
"practitioner": {
"identifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "9941339100"
}
},
"organization": {
"identifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "1234567893"
}
}
}
],
"identifier": [
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
"code": "tracking-id",
"display": "Tracking Id"
}
],
"text": "Re-Association Tracking Control Number"
},
"system": "http://example.org/payer",
"value": "trackingid1012"
}
],
"status": "requested",
"intent": "order",
"code": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
"code": "attachment-request-questionnaire"
}
],
"text": "Attachment Request Questionnaire"
},
"for": {
"reference": "#patient"
},
"authoredOn": "2022-06-17T16:16:06Z",
"lastModified": "2022-06-17T16:16:06Z",
"requester": {
"identifier": {
"system": "http://example.org/cdex/payer/payer-ids",
"value": "Payer123"
}
},
"owner": {
"reference": "#practitionerrole"
},
"reasonCode": {
"coding": [
{
"system": "http://hl7.org/fhir/claim-use",
"code": "preauthorization",
"display": "Preauthorization"
}
],
"text": "preauthorization"
},
"reasonReference": {
"identifier": {
"system": "http://example.org/cdex/payer/claim-ids",
"value": "Preauth123"
}
},
"restriction": {
"period": {
"end": "2022-06-21"
}
},
"input": [
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
"code": "questionnaire"
}
]
},
"extension": [
{
"url": "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-serviceLineNumber",
"valuePositiveInt": 1
}
],
"valueCanonical": "http://example.org/cdex-questionnaire-example1"
},
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
"code": "payer-url"
}
]
},
"valueUrl": "http://example.org/cdex/payer/$submit-attachment"
},
{
"type": {
"coding": [
{
"code": "purpose-of-use",
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp"
}
]
},
"valueCodeableConcept": {
"coding": [
{
"code": "COVAUTH",
"system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
"display": "coverage authorization"
}
]
}
}
]
}
Response Headers
HTTP/1.1 200 OK
Server: CDEX Example Provider Server
Location: http://example.org/FHIR/Task/cdex-task-example22/_history/1
...(other headers)
If the Provider Launches DTR as a SMART on FHIR Application in SMART’s EHR launch flow, proceed to step 3 If the Provider launches a DTR within an EHR native application, skip to step 7
Request
GET [base]/Task/cdex-task-example22
Response Headers
HTTP/1.1 200 OK
Server: CDEX Example Provider Server
Location: http://example.org/FHIR/Task/cdex-task-example22/_history/1
...(other headers)
Response Body
{
"resourceType": "Task",
"id": "cdex-task-example22",
"meta": {
"profile": [
"http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-task-attachment-request"
]
},
"contained": [
{
"resourceType": "Patient",
"id": "patient",
"meta": {
"profile": [
"http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-patient-demographics"
]
},
"identifier": [
{
"use": "usual",
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-hrex/CodeSystem/hrex-temp",
"code": "UMB",
"display": "Member Number"
}
],
"text": "Member Number"
},
"system": "http://example.org/cdex/payer/member-ids",
"value": "Member123"
},
{
"use": "usual",
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBIdentifierType",
"code": "pat",
"display": "Patient Account Number"
}
],
"text": "Patient Account Number"
},
"system": "http://example.org/cdex/provider/patient-ids",
"value": "PA-123"
}
],
"name": [
{
"family": "Shaw",
"given": [
"Amy"
]
}
],
"birthDate": "1987-02-20"
},
{
"resourceType": "PractitionerRole",
"id": "practitionerrole",
"meta": {
"profile": [
"http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-practitionerrole"
]
},
"practitioner": {
"identifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "9941339100"
}
},
"organization": {
"identifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "1234567893"
}
}
}
],
"identifier": [
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
"code": "tracking-id",
"display": "Tracking Id"
}
],
"text": "Re-Association Tracking Control Number"
},
"system": "http://example.org/payer",
"value": "trackingid1012"
}
],
"status": "requested",
"intent": "order",
"code": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
"code": "attachment-request-questionnaire"
}
],
"text": "Attachment Request Questionnaire"
},
"for": {
"reference": "#patient"
},
"authoredOn": "2022-06-17T16:16:06Z",
"lastModified": "2022-06-17T16:16:06Z",
"requester": {
"identifier": {
"system": "http://example.org/cdex/payer/payer-ids",
"value": "Payer123"
}
},
"owner": {
"reference": "#practitionerrole"
},
"reasonCode": {
"coding": [
{
"system": "http://hl7.org/fhir/claim-use",
"code": "preauthorization",
"display": "Preauthorization"
}
],
"text": "preauthorization"
},
"reasonReference": {
"identifier": {
"system": "http://example.org/cdex/payer/claim-ids",
"value": "Preauth123"
}
},
"restriction": {
"period": {
"end": "2022-06-21"
}
},
"input": [
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
"code": "questionnaire"
}
]
},
"extension": [
{
"url": "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-serviceLineNumber",
"valuePositiveInt": 1
}
],
"valueCanonical": "http://example.org/cdex-questionnaire-example1"
},
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
"code": "payer-url"
}
]
},
"valueUrl": "http://example.org/cdex/payer/$submit-attachment"
},
{
"type": {
"coding": [
{
"code": "purpose-of-use",
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp"
}
]
},
"valueCodeableConcept": {
"coding": [
{
"code": "COVAUTH",
"system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
"display": "coverage authorization"
}
]
}
}
]
}
Request
GET http://example.org/FHIR/Questionnare/cdex-questionnaire-example1
Response Headers
HTTP/1.1 200 OK
Server: CDEX Example Provider Server
Location: http://example.org/FHIR/Questionnare/cdex-questionnaire-example1
...(other headers)
Response Body
{
"resourceType": "Questionnaire",
"name": "HomeOxygenTherapyQuestionnaire",
"title": "Home Oxygen Therapy Questionnaire",
"url": "http://example.org/cdex-questionnaire-example1",
"status": "draft",
"subjectType": [
"Patient"
],
"date": "2022-01-17",
"item": [
{
"linkId": "1",
"text": "Relevant Patient Diagnoses (conditions that might be expected to improve with oxygen therapy)",
"type": "text",
"required": true
},
{
"linkId": "2",
"text": "Order Reason",
"type": "choice",
"required": true,
"answerOption": [
{
"valueCoding": {
"system": "http://example.org",
"code": "1",
"display": "Initial or original order for certification"
}
},
{
"valueCoding": {
"system": "http://example.org",
"code": "2",
"display": "Change in status"
}
},
{
"valueCoding": {
"system": "http://example.org",
"code": "3",
"display": "Revision or change in equipment"
}
},
{
"valueCoding": {
"system": "http://example.org",
"code": "4",
"display": "Replacement"
}
}
]
}
]
}
Request Headers
Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)
Request
POST [base]/QuestionnaireResponse
Request Headers
Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)
Request Body
{
"resourceType": "QuestionnaireResponse",
"questionnaire": "http://example.org/cdex-questionnaire-example1",
"status": "completed",
"subject": {
"identifier": {
"use": "usual",
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-hrex/CodeSystem/hrex-temp",
"code": "UMB",
"display": "Member Number"
}
],
"text": "Member Number"
},
"system": "http://example.org/cdex/payer/member-ids",
"value": "Member123"
},
"display": "Amy Shaw"
},
"authored": "2022-06-17",
"author": {
"identifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "9941339100"
}
},
"item": [
{
"linkId": "1",
"text": "Relevant Patient Diagnoses (conditions that might be expected to improve with oxygen therapy)",
"answer": [
{
"valueString": "Examplitis"
}
]
},
{
"linkId": "2",
"text": "Order Reason",
"answer": [
{
"valueCoding": {
"system": "http://example.org",
"code": "4",
"display": "Replacement"
}
}
]
}
]
}
Response Headers
HTTP/1.1 200 OK
Server: CDEX Example Provider Server
Location: http://example.org/FHIR/Task/cdex-questionnaireresponse-example1/_history/1
...(other headers)
Request
PUT [base]/Task/cdex-task-example-22
Request Headers
Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)
Request Body
{
"resourceType": "Task",
"id": "cdex-task-example22",
"contained": [
{
"resourceType": "Patient",
"id": "patient",
"meta": {
"profile": [
"http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-patient-demographics"
]
},
"identifier": [
{
"use": "usual",
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-hrex/CodeSystem/hrex-temp",
"code": "UMB",
"display": "Member Number"
}
],
"text": "Member Number"
},
"system": "http://example.org/cdex/payer/member-ids",
"value": "Member123"
},
{
"use": "usual",
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/carin-bb/CodeSystem/C4BBIdentifierType",
"code": "pat",
"display": "Patient Account Number"
}
],
"text": "Patient Account Number"
},
"system": "http://example.org/cdex/provider/patient-ids",
"value": "PA-123"
}
],
"name": [
{
"family": "Shaw",
"given": [
"Amy"
]
}
],
"birthDate": "1987-02-20"
},
{
"resourceType": "PractitionerRole",
"id": "practitionerrole",
"meta": {
"profile": [
"http://hl7.org/fhir/us/davinci-cdex/StructureDefinition/cdex-practitionerrole"
]
},
"practitioner": {
"identifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "9941339100"
}
},
"organization": {
"identifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "1234567893"
}
}
}
],
"identifier": [
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
"code": "tracking-id",
"display": "Tracking Id"
}
],
"text": "Re-Association Tracking Control Number"
},
"system": "http://example.org/payer",
"value": "trackingid1012"
}
],
"status": "completed",
"intent": "order",
"code": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
"code": "attachment-request-questionnaire"
}
],
"text": "Attachment Request Questionnaire"
},
"for": {
"reference": "#patient"
},
"authoredOn": "2022-06-17T16:16:06Z",
"lastModified": "2022-06-17T16:17:06Z",
"requester": {
"identifier": {
"system": "http://example.org/cdex/payer/payer-ids",
"value": "Payer123"
}
},
"owner": {
"reference": "#practitionerrole"
},
"reasonCode": {
"coding": [
{
"system": "http://hl7.org/fhir/claim-use",
"code": "preauthorization",
"display": "Preauthorization"
}
],
"text": "preauthorization"
},
"reasonReference": {
"identifier": {
"system": "http://example.org/cdex/payer/claim-ids",
"value": "Preauth123"
}
},
"restriction": {
"period": {
"end": "2022-06-21"
}
},
"input": [
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
"code": "questionnaire"
}
]
},
"extension": [
{
"url": "http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-serviceLineNumber",
"valuePositiveInt": 1
}
],
"valueCanonical": "http://example.org/cdex-questionnaire-example1"
},
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp",
"code": "payer-url"
}
]
},
"valueUrl": "http://example.org/cdex/payer/$submit-attachment"
},
{
"type": {
"coding": [
{
"code": "purpose-of-use",
"system": "http://hl7.org/fhir/us/davinci-cdex/CodeSystem/cdex-temp"
}
]
},
"valueCodeableConcept": {
"coding": [
{
"code": "COVAUTH",
"system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
"display": "coverage authorization"
}
]
}
}
],
"output": [
{
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/uv/sdc/CodeSystem/temp",
"code": "questionnaire-response"
}
]
},
"valueReference": {
"reference": "QuestionnaireResponse/cdex-questionnaireresponse-example1"
}
}
]
}
Response Headers
HTTP/1.1 200 OK
Server: CDEX Example Provider Server
Location: http://example.org/FHIR/Task/cdex-task-example22/_history/2
...(other headers)
$submit-attachment
Operation to Payer endpointRequest
POST [base]/$submit-attachment
Request Headers
Request Headers
Accept: application/fhir+json
Content-Type: application/fhir+json
...(other headers)
Request Body
{
"resourceType": "Parameters",
"parameter": [
{
"name": "TrackingId",
"valueIdentifier": {
"system": "http://example.org/payer",
"value": "trackingid1012"
}
},
{
"name": "AttachTo",
"valueCode": "preauthorization"
},
{
"name": "PayerId",
"valueIdentifier": {
"system": "http://example.org/cdex/payer/payer-ids",
"value": "payer123"
}
},
{
"name": "OrganizationId",
"valueIdentifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "1234567893"
}
},
{
"name": "ProviderId",
"valueIdentifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "9941339100"
}
},
{
"name": "MemberId",
"valueIdentifier": {
"system": "http://example.org/cdex/payer/member-ids",
"value": "Member123"
}
},
{
"name": "Attachment",
"part": [
{
"name": "LineItem",
"valueString": "1"
},
{
"name": "Content",
"resource": {
"resourceType": "QuestionnaireResponse",
"id": "cdex-questionnaireresponse-example1",
"questionnaire": "http://example.org/cdex-questionnaire-example1",
"status": "completed",
"subject": {
"identifier": {
"use": "usual",
"type": {
"coding": [
{
"system": "http://hl7.org/fhir/us/davinci-hrex/CodeSystem/hrex-temp",
"code": "UMB",
"display": "Member Number"
}
],
"text": "Member Number"
},
"system": "http://example.org/cdex/payer/member-ids",
"value": "Member123"
},
"display": "Amy Shaw"
},
"authored": "2022-06-17",
"author": {
"identifier": {
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "9941339100"
}
},
"item": [
{
"linkId": "1",
"text": "Relevant Patient Diagnoses (conditions that might be expected to improve with oxygen therapy)",
"answer": [
{
"valueString": "Examplitis"
}
]
},
{
"linkId": "2",
"text": "Order Reason",
"answer": [
{
"valueCoding": {
"system": "http://example.org",
"code": "4",
"display": "Replacement"
}
}
]
}
]
}
}
]
}
]
}
Response Headers
HTTP/1.1 200 OK
Server: CDEX Example Payer Server
Content-Type: application/fhir+json;charset=utf-8
...(other headers)
Refer to the Signatures section in the Sending Attachments page.