FHIR Chat · Patient Corrections - Reference Server · patient empowerment

Stream: patient empowerment

Topic: Patient Corrections - Reference Server


view this post on Zulip Abbie Watson (Dec 09 2020 at 20:25):

Hello,
I brought the Symptomatic patient-corrections server back online yesterday after some maintenance. Will be updating some user interface and loading up more data over the next 24hrs. Server will be available for the next 6 weeks.

https://patient-corrections.symptomatic.io/tasks

view this post on Zulip Abbie Watson (Dec 16 2020 at 00:49):

(deleted)

view this post on Zulip Abbie Watson (Dec 16 2020 at 00:49):

(deleted)

view this post on Zulip Abbie Watson (Dec 16 2020 at 01:07):

(deleted)

view this post on Zulip Abbie Watson (Dec 16 2020 at 01:08):

Hello all,
A big update to the Symptomatic Patient Corrections Server has just been pushed online. Notes below.

view this post on Zulip Abbie Watson (Dec 16 2020 at 01:08):

CapabilityStatement continues to be available on the metadata endpoint.
GET https://patient-corrections.symptomatic.io/baseR4/metadata

PatientCorrections-CapabilityStatement-TaskOnly.jpg

view this post on Zulip Abbie Watson (Dec 16 2020 at 01:09):

Two test patients have been loaded into the server at this time… Nancy Smart (Cerner) and Elijah Davis (Davis). These patients are available on the /Patient endpoint.
GET https://patient-corrections.symptomatic.io/baseR4/Patient
GET https://patient-corrections.symptomatic.io/baseR4/Patient/{patientId}

PatientCorrections-Patients.jpg

PatientCorrections-GET-Patient.NancySmart.jpg

view this post on Zulip Abbie Watson (Dec 16 2020 at 01:10):

I’ve also created a Task for each of the test patients.

PatientCorrections-Tasks.jpg

view this post on Zulip Abbie Watson (Dec 16 2020 at 01:10):

Connectathon participants should now be able to POST/GET/PUT Tasks to and from the server.

GET https://patient-corrections.symptomatic.io/baseR4/Task
POST https://patient-corrections.symptomatic.io/baseR4/Task
GET https://patient-corrections.symptomatic.io/baseR4/Task/{taskId}

PatientCorrections-GET-Task-Bundle.jpg
PatientCorrections-POST-Task.NancySmart.jpg
PatientCorrections-GET-Task-TaskId.jpg

view this post on Zulip Abbie Watson (Dec 16 2020 at 01:11):

Lastly, I also uploaded USCore value sets, if you need to grab the US Smoking Value Set.

GET https://patient-corrections.symptomatic.io/baseR4/ValueSet
GET https://patient-corrections.symptomatic.io/baseR4/ValueSet/{patientId}

PatientCorrections-ValueSets.jpg

view this post on Zulip Abbie Watson (Dec 16 2020 at 01:11):

—————————————————————————————————————————
API SUMMARY
For those who would like to test over the Holidays, we have the following endpoints available.

GET https://patient-corrections.symptomatic.io/baseR4/metadata

GET https://patient-corrections.symptomatic.io/baseR4/Task
POST https://patient-corrections.symptomatic.io/baseR4/Task
GET https://patient-corrections.symptomatic.io/baseR4/Task/{taskId}

GET https://patient-corrections.symptomatic.io/baseR4/Patient
GET https://patient-corrections.symptomatic.io/baseR4/Patient/{patientId}

GET https://patient-corrections.symptomatic.io/baseR4/ValueSet
GET https://patient-corrections.symptomatic.io/baseR4/ValueSet/{patientId}

We also have endpoints for the other half-dozen FHIR resources that have been mentioned during Patient Empowerment workgroup meetings. They should all support POST/PUT/GET interactions, and have OAuth disabled. We’ve heard from other participants, that they have alternative mechanisms in place for communicating HIPAA amendments and other corrections to patient records. Speaking for Symptomatic, we’d love to see examples of what those look like, and would be happy to send/receive examples of such, so we can build better Task examples that are aligned with existing practices. Put another way… if you’re using CommunicationRequest or DocumentReference, please feel free to send us an example, and we’ll make sure it’s listed and gets considered and harmonized within the Task.input approach (and vice versa).

view this post on Zulip Virginia Lorenzi (Dec 16 2020 at 21:58):

Abbie - FYI - I plan to draft some Task resources preconnectathon that follow the draft IG that we can post to servers as examples. They will be more illustrative and a start as we play with what we have come up with in the IG. It seems the ones you have are not correction related so I am concerned they might be confusing to people. I will let you know when I have created the examples and if I am able to, will post them to your server. Thanks!

view this post on Zulip Virginia Lorenzi (Dec 22 2020 at 08:44):

Here are some examples of Task resources for Patient Correction Request and Patient Correction Disagreement:

Examples of Patient Request for Correction Tasks in JSON Format

Example of Basic Patient Request for Correction:
{
"resourceType": "Task",
"id": "cfsb1608445649594",
"for": {
"reference": "cfsb1608445009362"
},
"owner": {
"reference": "cfsb1608445622504"
},
"requester": {
"reference": "cfsb1608445009362"
},
"status": "requested",
"intent": "order",
"code": {
"text": "Patient Request for Correction"
},
"description": "My chart states that I smoke two packs a day. I do not smoke",
"authoredOn": "2020-12-12T19:28:17+10:00"
}

Example of Basic Patient Request for Correction Request is Accepted:
{
"resourceType": "Task",
"id": "cfsb1608445649594",
"for": {
"reference": "cfsb1608445009362"
},
"owner": {
"reference": "cfsb1608445622504"
},
"requester": {
"reference": "cfsb1608445009362"
},
"status": "accepted",
"intent": "order",
"code": {
"text": "Patient Request for Correction"
},
"description": "My chart states that I smoke two packs a day. I do not smoke",
"authoredOn": "2020-12-12T19:28:17+10:00",
"lastModified": "2020-12-17T19:28:17+10:00",
"statusReason": {
"text": "Chart is in Error"
},
"output": [
{
"type": {
"text": "Communication to Patient"
},
"valueMarkdown": "Your request for amendment has been accepted and your chart will be corrected. If you would like us to notify other clinicians of the amendment, please provide name and contact information"
}
]
}
Example of Basic Patient Request for Correction-Request is Updated with A Request to Notify Primary Doctor of the Amendment:
{
"resourceType": "Task",
"id": "cfsb1608445649594",
"for": {
"reference": "cfsb1608445009362"
},
"owner": {
"reference": "cfsb1608445622504"
},
"requester": {
"reference": "cfsb1608445009362"
},
"status": "accepted",
"intent": "order",
"code": {
"text": "Patient Request for Correction"
},
"description": "My chart states that I smoke two packs a day. I do not smoke",
"authoredOn": "2020-12-12T19:28:17+10:00",
"lastModified": "2020-12-18T19:28:17+10:00",
"input": [
{
"type": {
"text": "Who to Notify"
},
"valueReference": {
"reference": "cfsb1608619795209"
}
}
]
}

Example of Basic Patient Request for Correction-Request is Denied:
{
"resourceType": "Task",
"id": "cfsb1608445649594",
"for": {
"reference": "cfsb1608445009362"
},
"owner": {
"reference": "cfsb1608445622504"
},
"requester": {
"reference": "cfsb1608445009362"
},
"status": "rejected",
"statusReason": {
"text": "Chart is correct"
},
"note": [
{
"text": "Referred to Dr. Alan Mani for review"
}
],
"intent": "order",
"code": {
"text": "Patient Request for Correction"
},
"description": "My chart states that I smoke two packs a day. I do not smoke",
"authoredOn": "2020-12-12T19:28:17+10:00",
"lastModified": "2020-12-18T19:28:17+10:00",
"output": [
{
"type": {
"text": "Denial Explanation"
},
"valueMarkdown": "While the patient has recently quit smoking, at the time the smoking status was recording, the patient was still a heavy smoker. The chart correctly represents the patient's medical history."
},
{
"type": {
"text": "Explanation of Right to Disagree"
},
"valueMarkdown": "You have a right to provide a written disagreement to this Denial Decision. If you choose to provide a disagreement, it will be attached to your medical record."
}
]
}

Example of Disagreement to Correction Rejection:
{
"resourceType": "Task",
"id": "cfsb1608624320317",
"for": {
"reference": "cfsb1608445009362"
},
"requester": {
"reference": "cfsb1608445009362"
},
"owner": {
"reference": "cfsb1608445622504"
},
"reasonReference": {
"reference": "cfsb1608445649594"
},
"intent": "order",
"status": "requested",
"authoredOn": "2020-12-20T19:28:17+10:00",
"code": {
"text": "Patient Disagreement with Correction Denial"
},
"description": "My patient portal does not show that I used to smoke. It displays that I am a current smoker. However, I quite smoking over 2 years ago on Dec 10th, 2018."
}

view this post on Zulip Abbie Watson (Dec 28 2020 at 18:02):

Over the weekend, I published a new front end GUI to create Task resources, inspired by the USPS certified mail form. You can adjust the URL that it POST/PUTs the Task resource to, so it should be usable for generating tasks in other systems.

PatientCorrections-Task-Blaster.png

view this post on Zulip David Hay (Dec 28 2020 at 18:36):

Hi @Abigail Watson - do you want me to add your server to clinFHIR so examples can be uploaded directly from there?

view this post on Zulip David Hay (Dec 28 2020 at 19:34):

Actually, you can do that directly (it's a property on the project) - I guess my question should be: "Do you want me to save stuff to your server via the API?

view this post on Zulip Abbie Watson (Dec 28 2020 at 21:11):

Sure. It’s a public server, so go for it. I’ll be doing regular maintenance on the server over the next 2 weeks though, so data persistence not 100% guaranteed. If you load a scenario into it with test patients and other reference data that you want me to keep around, drop me a note here.

view this post on Zulip Virginia Lorenzi (Jan 01 2021 at 01:39):

@Abigail Watson @David Hay Yes I would like to be able to do that.

view this post on Zulip Virginia Lorenzi (Jan 01 2021 at 01:41):

Like the name - how do I access the front end?

view this post on Zulip David Hay (Jan 01 2021 at 18:22):

@Abigail Watson - can you add the following CORS header please: Access-Control-Expose-Headers:Location, Content-Location

AngularJS requires it...

view this post on Zulip Abbie Watson (Jan 06 2021 at 02:34):

Well... the CORS access has been added to the build, but deployment is blocked until later this week or next week.

view this post on Zulip Abbie Watson (Jan 06 2021 at 02:41):

@Virginia Lorenzi I loaded up all of your examples. You're only using references and not adding display names, so the resources you've provided don't display in table views and leave empty columns.

PatientCorrections-LorenziTasks.png

PatientCorrections-LorenziTasks-History.png

view this post on Zulip Virginia Lorenzi (Jan 06 2021 at 07:46):

@Abigail Watson Thanks - they are just Tasks with no real references - the examples were intended for the IG and for someone to reference as they created tasks during the scenarios.

Also I wanted to add Bob to your server for the scenarios. I assume I should wait till next week then if its blocked?

view this post on Zulip Virginia Lorenzi (Jan 06 2021 at 16:55):

@Abigail Watson however I guess there is a benefit to have tasks connected in your server so I will see what I can do.

view this post on Zulip Abbie Watson (Jan 06 2021 at 17:01):

The blocking is all financial and cash-flow related, not anything technical. Hosting provider wants the balance paid up before deploying anything new. :sigh:

I may wind up doing a DNS swap and hosting the server from my apartment. I can load Bob up into my local server, and make that available. But it's going to be unreliable until some invoices come in and I get the hosting provider squared away.

view this post on Zulip Virginia Lorenzi (Jan 06 2021 at 19:10):

If you have the server, I want to make sure we can use it. However I also think we will be OK if you can't do this at this time. We can use another reference server like HAPI. In addition to financial costs, there are time costs for you. This frees you to target your energy on the client side testing and thinking you want to do. You can always bring the server up later when it works for you financially and when we are further into this - I am sure there will be uses.


Last updated: Apr 12 2022 at 19:14 UTC