Scheduling API Notes and Dependency Notes

Our team has prepared some documentation surrounding our Scheduling refactoring efforts, as well as updated our testing materials. We recommend that you reference the Existing Functionality and API Notes, Proposed API Changes, and Detailed Scheduling (Appointment Management Menu) API and Dependency Notes documents for more information on our refactoring efforts, as well as in preparation for our webinar tomorrow afternoon (3pm EDT) if you are able to attend.

The Existing Functionality and API Notes, Proposed API Changes, and Detailed Scheduling (Appointment Management Menu) API document summarizes preliminary findings and what we currently propose for our approach to code changes for the Scheduling module. The Dependency Notes document outlines interactions Scheduling has with other VistA packages, and is critical for our API development.

Additional information regarding pre-defined Scheduling APIs may be referenced through the VDL here.

In terms of updates to our test suite, we have made additions to our functional test framework and created manual test scripts for our Scheduling code. We anticipate posting our updated Master Test Plan soon, as well as updating any existing CPRS test cases at a later point in time.

Our Scheduling API code can be accessed through our public GitHub repository.

Please note that these documents, API code, and test procedures are in their initial draft stages, and are expected to be updated; they in no way reflect final work and should not be viewed as such. Our team anticipates and welcomes any feedback you may have on these materials.

Upon completion, final versions of documents will be posted here and code will be updated in our GitHub repository. 



Awesome job

Chris Uyehara's picture

I haven't been able to attend the calls just because work has been keeping me busy...

Nonetheless good job. I like the approach and use of the data access layer.

For the future would it make sense to have a use case diagram or something that depicts roll and scroll workflow? My thoughts are it would make it much easier to diagram what API's reflect specific points in the workflow. And at the end of the day it would be great to get sign off from a scheduling guru that the workflow that you saw and refactored for vs what the guru does lines up.

I'll get your API connected to the Internet in the coming week and allow people to program against. This has given the opportunity for folks to test their scheduling GUI's against VistA.



Chris Uyehara's picture

The documentation for the subroutine ($$LSTAPPT^SDMAPI2) appears to be incorrect.

Thanks for the catch!

Kathleen Keating's picture

The document has been updated appropriately and re-posted here.


Chris Uyehara's picture

4.8 $$CHKAPP...

  • Has the LVL parameter however the actual routine doesn't take such argument.


  • Format portion is incorrectly listed as calling the routine SDMAPI3.

RE: Document

Catalin Branea's picture

Hi Chris,

Thank you for your comments.

The correct CHKAPP parameters are the ones in the documentation. Please keep in mind that the development is still in progress and there may be small differences between this version and the final one. We will update the code in github soon, and the "beta" version will be committed by the end of this month.

We have in plan to develop wrappers over this API to be exposed as RPC Broker calls.

We are also developing M Unit Tests as well as roll & scroll UI functional tests. They will be published soon too.

Could you please tell me how do you intend to expose the API to the internet, RPC Broker/MDWS, EWD or any other technology?


RPC Broker = me MDWS =

Chris Uyehara's picture

RPC Broker = me

MDWS = Joel

More to come... :)

I'm sure your curious... I'm

Chris Uyehara's picture

I'm sure your curious... I'm finding these discrepancies because I'm implementing your API and meanwhile exercising your documentation.


  • The format is incorrectly listed as $$LSTAPPTS


  • The format is incorrectly listed as $$GETAPTS^SDMAPI3