Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMS: Determine if Provider Core Training flag is available via current API calls #11627

Closed
4 of 11 tasks
dsinla opened this issue Nov 17, 2022 · 29 comments
Closed
4 of 11 tasks
Assignees
Labels
Drupal engineering CMS team practice area Facilities Facilities products (VAMC, Vet Center, etc) Facility Locator product owned by Facilities team sitewide

Comments

@dsinla
Copy link
Contributor

dsinla commented Nov 17, 2022

Description

The Facility Locator currently returns providers for the following 4 search criteria

image

We need to determine if the Provider Core Training applies to each of these 4 and if the current API for PPMS (and other db's?) returns any Provider Core Training flag.

Department of Veterans Affairs (VA) has created the Provider Core Training so that Veterans can be offered care from the highest quality providers available. Referring Veterans to Providers who have completed the Provider Core Training ensures that Veterans are receiving high-quality care in the community.

#11542

User Story

As a Veteran, I want to filter my search in the Facility Locator to return only providers who have received the Provider Core Training
This ticket is the first step

Acceptance Criteria

  • A yes 👍 or no 👎 is determined, can we get the Provider Core Training data with current API calls
  • If no, create a ticket to make the necessary requests to the PPMS (Provider Profile Management System) team
  • If yes, create ticket for Discovery around exposing this in FL
  • Update product documentation in va.gov-team with information on where the PPMS key is stored (AWS parameter store)

CMS Team

Please check the team(s) that will do this work.

  • Program
  • Platform CMS Team
  • Sitewide Crew
  • ⭐️ Sitewide CMS
  • ⭐️ Public Websites
  • ⭐️ Facilities
  • ⭐️ User support
@dsinla dsinla added Drupal engineering CMS team practice area Needs refining Issue status labels Nov 17, 2022
@github-actions github-actions bot added the Facilities Facilities products (VAMC, Vet Center, etc) label Nov 17, 2022
@dsinla dsinla removed the Needs refining Issue status label Dec 1, 2022
@JayDarnell
Copy link
Contributor

JayDarnell commented Dec 7, 2022

For the first two items, Urgent Care and Emergency Care, both of these items are in lighthouse as health services under a given facility but its merely a string to indicate the service exists. There doesn't appear to be any additional flag for provider core training for these services or Community Providers / Community Pharmacies. I'll look at PPMS next.
Screenshot 2022-12-07 at 3 53 25 PM

@JayDarnell
Copy link
Contributor

JayDarnell commented Dec 7, 2022

As for researching PPMS I started here: https://github.com/department-of-veterans-affairs/va.gov-team/blob/master/products/facilities/facility-locator/data/ppms/ppms-data-discovery.md

Under the list of PPMS Data Values I do not see a value for Provider Core Training.
Screenshot 2022-12-07 at 5 14 45 PM

I've been digging through the linked .docx file (on the above github page) but have yet to find anything by this name.

@dsinla
Copy link
Contributor Author

dsinla commented Dec 8, 2022

@JayDarnell I sent an email to [email protected] to ask for a contact person (and to get on the invite for any PPMS stakeholder meeting). I copied you and Dave Conlon.

@JayDarnell
Copy link
Contributor

Thank you @dsinla

@JayDarnell
Copy link
Contributor

I emailed Michael Johnson for more information regarding the PPMS API. Best I can tell, it sounded like he was saying the Provider Core Training flag was approved (added?) in 2021 and should be available via the Providers, Provider Service and Provider Locator endpoints. However, the only documentation I am aware of for PPMS was last updated in 2019 and doesn't include the Provider Core Training flag anywhere I can see. I suspect our documentation is out of date so I've asked for a reference to the most up to date documentation.

@JQuaggles
Copy link

@JayDarnell have we received anything back? I can reach out if it's helpful. Seems like it was a yes?

@JayDarnell
Copy link
Contributor

@JQuaggles we have received some useful information back, although not enough to sufficiently answer the question. Arlene Jarvis provided the following URL for PPMS documentation:

https://api-east.apim.developer.ppms.va.gov/api-details#api=ppms-data-web-service-prod

This link can only be accessed via the VA network and it does contain a lot of information about the various endpoints and query parameters you can use but it doesn't say anything about the Provider Core Training flag.

@swirtSJW @christianmburk and I met with @davidconlon yesterday to look at this resource together. We're going to follow up to figure out the best way to run sample queries against production data to verify the existence of this data point. We're meeting about this today.

@JQuaggles
Copy link

So @JayDarnell this is blocked then?

@JQuaggles JQuaggles added the Blocked Issues that are blocked on factors other than blocking issues. label Dec 16, 2022
@JayDarnell
Copy link
Contributor

No, this isn't blocked. It is a discovery ticket and we're still digging into it. I'm writing to the cms-platform team today to see if Christian, Steve and I can get access to the token and production endpoint we use for PPMS so we can run some sample queries locally. Hopefully once we can do so we will be able to verify whether or not this data point exists.

@JayDarnell JayDarnell removed the Blocked Issues that are blocked on factors other than blocking issues. label Dec 19, 2022
@JayDarnell
Copy link
Contributor

PPMS token/key and production endpoint discussion: https://dsva.slack.com/archives/C02HX4AQZ33/p1671460375275999

@JQuaggles JQuaggles added the Facility Locator product owned by Facilities team label Dec 19, 2022
@JayDarnell
Copy link
Contributor

A snippet of guidance from PPMS I received via email:

...I believe the data is available on the following API’s, Providers, Provider Service and the Provider Locator end points.

@JayDarnell
Copy link
Contributor

Ongoing investigation here: https://dsva.slack.com/archives/C02HX4AQZ33/p1671460375275999

@JayDarnell
Copy link
Contributor

Still waiting on an API key from the PPMS team so I can run some queries to validate the existence of this data point.

Screenshot 2023-01-03 at 1 43 12 PM

Sending a follow up email today to remind them

@swirtSJW swirtSJW removed their assignment Jan 23, 2023
@davidmpickett davidmpickett added the Blocked Issues that are blocked on factors other than blocking issues. label Jan 30, 2023
@kmariepat-cityfriends
Copy link

kmariepat-cityfriends commented Mar 17, 2023

@JayDarnell can you send an email to the contact you reference in an above comment.

asking for the API key again and introduce them to a new contact on our team to represent moving forward after your departure? let me know if this action doesn't feel like the best next step.

@JayDarnell
Copy link
Contributor

@kmariepat-cityfriends I have sent a fresh email this morning (with you, @swirtSJW and @omahane included) to let the PPMS team know I am leaving the project and to coordinate with Steve and Christian to get the necessary key.

@JayDarnell JayDarnell removed their assignment Mar 21, 2023
@omahane
Copy link
Contributor

omahane commented Mar 29, 2023

I attended the PPMS office hours on 28 Mar 2023. I had a chance to talk about our ongoing need for a subscription key to the PPMS service. Robert Patterson said that he'd look into getting us the subscription key used by va.gov.

I also had a conversation with Anupam Chakravarty over MS Teams, who's one of the developers of the API. He said, "For dev we don't have APIM and we use swagger UI and it also does not require subscription key. https://dws-dev-ppms.devtest.vaec.va.gov/swagger/docs/v1"

@omahane
Copy link
Contributor

omahane commented Mar 30, 2023

Using the Swagger documentation, I found this
https://dws-dev-ppms.devtest.vaec.va.gov/v1.0/Providers?$top=1

A call to this using Swagger results in the following:

{
  "@odata.context": "https://dws-dev-ppms.devtest.vaec.va.gov/v1.0/$metadata#Providers",
  "value": [
    {
      "ProviderIdentifier": 1215373451,
      "ProviderIdentifierType": "NPI",
      "Name": "DONOVAN, KELLY",
      "ProviderType": "Individual",
      "QualityRankingTotalScore": null,
      "QualityRankingLastUpdated": null,
      "MainPhone": null,
      "Email": null,
      "PrimaryDirectMessagingAddress": null,
      "SecondaryDirectMessagingAddress": null,
      "EMRSystem": null,
      "EMRSystemOther": null,
      "Address": "3781 MOMENTUM PLACE\r\nCHICAGO, IL",
      "AddressStreet": "CHICAGO",
      "AddressCity": "3781 MOMENTUM PLACE",
      "AddressStateProvince": "IL",
      "AddressPostalCode": null,
      "AddressCounty": "COOK",
      "AddressCountry": null,
      "ProviderStatusReason": "Active",
      "PrimaryCarePhysician": false,
      "IsAcceptingNewPatients": true,
      "ProviderEthnicity": null,
      "ProviderGender": "Female",
      "Religion": null,
      "OrganizationId": null,
      "ServiceProviderType": null,
      "SpecialInstruction": null,
      "OwnedCareSiteName": null,
      "OrganizationFax": null,
      "OrganizationStatus": null,
      "IsExternal": false,
      "InternalType": null,
      "LicensingJuristicion": null,
      "CanCreateHealthCareOrders": false,
      "InternalAppointmentStatus": null,
      "ExternalHealthProviderType": null,
      "OnLeie": null,
      "ExternalInstitutionDeaNumber": null,
      "ExternalLeieCheckDate": null,
      "ValidationSource": null,
      "ContactMethodEmail": false,
      "ContactMethodFax": false,
      "ContactMethodVirtuPro": false,
      "ContactMethodHSRM": false,
      "ContactMethodPhone": false,
      "ContactMethodMail": false,
      "ContactMethodRefDoc": false,
      "BulkEmails": false,
      "BulkMails": true,
      "Emails": false,
      "Mails": false,
      "PhoneCalls": false,
      "Faxes": false,
      "PreferredMeansReceivingReferralHSRM": false,
      "PreferredMeansReceivingReferralSecuredEmail": false,
      "PreferredMeansReceivingReferralMail": false,
      "PreferredMeansReceivingReferralDirectMessaging": false,
      "PreferredMeansReceivingReferralFax": false,
      "ModifiedOnDate": "2022-03-21T22:31:41-04:00",
      "TerminationDate": null,
      "Trainings": []
    }
  ]
}

The last item is "Trainings" which may include Provider Core Training. The difficulty is that the dev data only have empty arrays for that key.

@omahane omahane self-assigned this Mar 30, 2023
@omahane
Copy link
Contributor

omahane commented Mar 30, 2023

I'm supposed to be talking to Anupam tomorrow (31 Mar 2023), when I'll get a sub key and learn how to see what to query.

@omahane
Copy link
Contributor

omahane commented Apr 3, 2023

I did not meet with Anupam on Friday. I did talk to Robert Patterson today and Noel Morrison, who's been copied on messages that Anupam has sent. Robert said that he's looking for someone to get me the keys while Anupam is out.

@kmariepat-cityfriends kmariepat-cityfriends removed the Blocked Issues that are blocked on factors other than blocking issues. label Apr 5, 2023
@kmariepat-cityfriends
Copy link

Removed blocked flag per update in stand that @omahane got a key

@omahane
Copy link
Contributor

omahane commented Apr 10, 2023

@davidconlon @jilladams @kmariepat-cityfriends

Currently, no flag exists with the name "Provider Core Training" where it would be expected:

  • Providers
  • ProviderServices
  • ProviderServices({'Name'})
  • ProviderLocator

According to Robert Patterson, the Product Manager for PPMS, the term they use is "Community Provider Core Trainings". Note: it is not a single training but a collection of trainings.

This collection corresponds to the "Trainings" key that returns an array in the following services:

  • Providers
  • ProviderServices
  • ProviderServices({'Name'})
  • ProviderLocator

If there are no trainings listed for a given provider, the array is empty. The types of trainings I have seen have included the following:

  • CourseName: A Perspective for Veteran Care
  • CourseCode: 1085488

and

  • CourseName: Opioid Safety Initiative (OSI)
  • CourseCode: 1086479

Both of these courses were mentioned by Arlene Jarvis in her communication with Jay Darnell about "Provider Core Training."

They are also mentioned on this training overview:
https://www.va.gov/communitycare/providers/EDU_Training.asp

The trainings mentioned on the above page are available at
https://www.train.org/vha/home

What's notable about both the listing page on the va.gov site and the training platform is that neither mention "Provider Core Training," despite both sources mentioning the courses that Arlene Jarvis listed as related to "Provider Core Training" in her December 14, 2022, message to Jay. From her message, it sounded like Arlene thought Jay was looking for a specific code by which all the trainings are identified and can be searched on https://www.train.org/vha/home

In conclusion, the only way at present to ask PPMS if a provider has taken any Community Provider Core Trainings is to query the Trainings array. If it contains an element, they have taken at least one training. If it is empty, they haven't.

If we want a flag created, we could either make one in the vets-api or request one be made in PPMS. In either case, we'll need to better understand what makes the flag true:

  • Is it true if they have taken any training that shows in the Trainings array?
  • Is it true if they have taken a certain number or a certain sequence of trainings?
  • Is it true if they have taken a certain training (like the Opioid training that is listed as required)?

@jilladams
Copy link
Contributor

Added to 4/17 to clarify with Dave in Kamari / Jill / Dave sync, if we don't find out beforehand.

@jilladams
Copy link
Contributor

jilladams commented Apr 10, 2023

Also: for this ticket's ACs, the question was whether this info is available in existing API calls and sounds like the answer is: sort of, but not without more work to make it usable. The open questions to Dave are around ACs for a new implementation ticket -- so either way, I'd suggest we stub out a ticket, and this one can close as understood enough for its ACs in sprint, with the new ticket to be refined, unless @kmariepat-cityfriends feels differently.

@kmariepat-cityfriends
Copy link

@jilladams agree completely and sounds like @omahane and @maxx1128 are going to chat about next steps so we can check this card to see what's decided and run that by Dave C.

@jilladams
Copy link
Contributor

Further convo with Dave: https://dsva.slack.com/archives/C0FQSS30V/p1681152978381689

@omahane
Copy link
Contributor

omahane commented Apr 12, 2023

@jilladams @ryguyk I've added you as reviewers on this PR for documentation: department-of-veterans-affairs/va.gov-team#56751

@omahane
Copy link
Contributor

omahane commented Apr 12, 2023

@davidconlon @ryguyk and I met and went over a couple of the endpoint calls and responses. I also shared with Dave my data via email. He is going to reach out to Michael Johnston about the trainings as they relate to the different provider types "Individual" vs "GroupPracticeOrAgency".

@omahane
Copy link
Contributor

omahane commented Apr 20, 2023

Example query

GET https://va-ppms-east.apim.ppms.va.gov/dws/v1.0/ProviderLocator?address=62701&radius=100&specialtycode1=207X00000X&maxResults=50

HTTP/1.1

Cache-Control: no-cache
Ocp-Apim-Subscription-Key-E:

Selected Response

{
        "Miles": 0.79159999999999997,
        "Minutes": 3.6499999999999999,
        "ProviderName": "GARDNER, MATTHEW",
        "ProviderSpecialty": "Orthopaedic Surgery",
        "SpecialtyCode": "207X00000X",
        "SpecialtyGroupName": "Orthopedics/Joint Surgery",
        "PreferredMeansReceivingReferralHSRM": false,
        "PreferredMeansReceivingReferralSecuredEmail": false,
        "PreferredMeansReceivingReferralMail": false,
        "PreferredMeansReceivingReferralDirectMessaging": null,
        "PreferredMeansReceivingReferralFax": false,
        "ProviderType": "Individual",
        "HPP": "No",
        "CareSite": "SPRINGFIELD CLINIC LAB",
        "CareSiteAddress": "1025 S 6TH ST SPRINGFIELD, IL 62703-2403",
        "CareSiteAddressStreet": "1025 S 6TH ST",
        "CareSiteAddressCity": "SPRINGFIELD",
        "CareSiteAddressState": "IL",
        "CareSiteAddressZipCode": "62703-2403",
        "CareSitePhoneNumber": "217-391-0747",
        "CareSiteFaxNumber": "217-525-7616",
        "CareSiteEmail": null,
        "WorkHours": null,
        "ProviderGender": "Male",
        "ProviderNetwork": "CCN Region 2",
        "NetworkId": 20,
        "ProviderAcceptingNewPatients": true,
        "ProviderPrimaryCare": false,
        "QualityRanking": null,
        "ProviderIdentifier": "1912123134",
        "Latitude": 39.791041,
        "Longitude": -89.647908000000001,
        "GeoWarning": null,
        "Telehealth": false,
        "Homehealth": false,
        "TelehealthService": false,
        "SubServices": [],
        "Trainings": [{
            "CourseName": "A Perspective for Veteran Care",
            "CourseCode": "1085488",
            "CourseCompletionDate": "10/25/2019 12:00:00 AM",
            "CourseExpirationDate": null,
            "CourseStatus": "Active"
        }, {
            "CourseName": "A Perspective for Veteran Care",
            "CourseCode": "1085488",
            "CourseCompletionDate": "10/25/2019 12:00:00 AM",
            "CourseExpirationDate": null,
            "CourseStatus": "Active"
        }]
    },

Example query

GET https://va-ppms-east.apim.ppms.va.gov/dws/v1.0/ProviderLocator?address=84405&radius=100&specialtycode1=208G00000X&maxResults=50
HTTP/1.1

Cache-Control: no-cache
Ocp-Apim-Subscription-Key-E: [redacted]

Selected response

  "Miles": 0.1336,
        "Minutes": 1.0832999999999999,
        "ProviderName": "AFFLECK, DAVID",
        "ProviderSpecialty": "Thoracic Surgery (Cardiothoracic Vascular Surgery)",
        "SpecialtyCode": "208G00000X",
        "SpecialtyGroupName": "Thoracic Surgery",
        "PreferredMeansReceivingReferralHSRM": false,
        "PreferredMeansReceivingReferralSecuredEmail": false,
        "PreferredMeansReceivingReferralMail": false,
        "PreferredMeansReceivingReferralDirectMessaging": null,
        "PreferredMeansReceivingReferralFax": false,
        "ProviderType": "Individual",
        "HPP": "Unknown",
        "CareSite": "MOUNTAINSTAR CARDIOVASCULAR SERVICES LLC",
        "CareSiteAddress": "5405 S 500 E Ste 100B Ogden, UT 84405",
        "CareSiteAddressStreet": "5405 S 500 E Ste 100B",
        "CareSiteAddressCity": "Ogden",
        "CareSiteAddressState": "UT",
        "CareSiteAddressZipCode": "84405",
        "CareSitePhoneNumber": "8014766900",
        "CareSiteFaxNumber": "8014766991",
        "CareSiteEmail": null,
        "WorkHours": null,
        "ProviderGender": "Male",
        "ProviderNetwork": "CCN Region 4",
        "NetworkId": 40,
        "ProviderAcceptingNewPatients": true,
        "ProviderPrimaryCare": false,
        "QualityRanking": null,
        "ProviderIdentifier": "1710979653",
        "Latitude": 41.165269000000002,
        "Longitude": -111.969553,
        "GeoWarning": null,
        "Telehealth": false,
        "Homehealth": false,
        "TelehealthService": false,
        "SubServices": [],
        "Trainings": [{
            "CourseName": "Opioid Safety Initiative (OSI)",
            "CourseCode": "1086479",
            "CourseCompletionDate": "11/16/2020 12:00:00 AM",
            "CourseExpirationDate": null,
            "CourseStatus": "Active"
        }]

@omahane
Copy link
Contributor

omahane commented Apr 20, 2023

@kmariepat-cityfriends Now that we have #13359
and example queries that return data in the comment above, I believe that we are done.

Moving to PO review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Drupal engineering CMS team practice area Facilities Facilities products (VAMC, Vet Center, etc) Facility Locator product owned by Facilities team sitewide
Projects
None yet
Development

No branches or pull requests

8 participants