Extending Slate Based OpenMRS RestAPI Documentation
Google Season of Docs, 2020 @OpenMRS
Name: Saurabh Kumar
Email: 2017232@iiitdmj.ac.in
Some PRs might be in multiple weeks due to their status might be under-review in some week and merged in the other !!
Community Thread for discussion on the project on OpenMRS Talk here .
All my merged work is hosted here live .
Community Bonding Phase
Order
Description
Link to PR
Status
1
Fixed the build for project
PR 42
Merged
2
Fixed Issues and mistakes for auth.md, Info.md and Contrib.md
PR 45
Merged
3
Fixed Issues and mistakes role.md, user.md, privileges.md, persons.md, person_atttributr_type.md, patients.md and patient_identifier_type.md
PR 47
Merged
4
Fixed UI Issues in User.md
PR 49
Merged
5
Fixed console formatting in Patient.md, patient_identifier.md
PR 50
Merged
6
Reviewing Docs Uptill the visits section
PR 53
Merged
7
Added Forms section /form endpoint
PR 54
Merged
8
Fixing console formatting for whole doc
PR 57
Merged
9
Added Missing files to Index
PR 58
Merged
10
Added system settings section
PR 59
Merged
11
Reviewing last section of Doc
PR 60
Merged
12
Added system Information section
PR 61
Merged
13
Added Java Codesamples for auth
PR 62
Merged
14
Fixed CSS issues for console
PR 63
Merged
15
Fixed warning in middleman build
PR 64
Closed
16
Added Java examples for Info.md
PR 67
Merged
17
Updating gemfile dependencies
PR 69
Merged
18
Updating lib package
PR 70
Merged
19
Slate upgrade v2.7.0
PR 71
Merged
20
Fixed Info.md formatting Issues
PR 72
Merged
21
Fixed the infused console error
PR 73
Merged
22
Added annotations for auth.md
PR 74
Merged
23
Added Java samples for systemsettings section
PR 75
Merged
24
Added Java samples for systeminformation section
PR 76
Merged
25
Added Java samples for user section
PR 77
Merged
Order
Description
Link to PR
Status
1
Updating the getting started Guide
PR 78
Merged
2
Documenting Authentication Resource
PR 79
Merged
3
Documenting concept class subresource
PR 80
Merged
4
Documenting concept Source subresource
PR 81
Draft
5
Documenting concept Attribute subresource
PR 82
Draft
Order
Description
Link to PR
Status
1
Documenting concept Source subresource
PR 81
Merged
2
Documenting concept Attribute subresource
PR 82
Under-Review
3
Documenting concept datatype subresource
PR 83
Merged
4
Documenting concept map type subresource
PR 84
Merged
5
Documenting concept reference term type subresource
PR 85
Draft
Order
Description
Link to PR
Status
1
Documenting concept Attribute subresource
PR 82
Merged
2
Documenting concept reference term type subresource
PR 85
Merged
3
Documenting concept resource
PR 86
Draft
4
Documenting concept resource mapping section
PR 87
Draft
5
Documenting concept resource name section
PR 88
Draft
6
Documenting concept description section
PR 89
Under-Review
Order
Description
Link to PR
Status
1
Documenting concept resource
PR 86
Under-Review
2
Documenting concept resource mapping section
PR 87
Under-Review
3
Documenting concept resource name section
PR 88
Under-Review
4
Documenting concept description section
PR 89
Merged
5
Documenting concept resource attribute section
PR 90
Under-Review
6
Documenting Observation resource
PR 91
Draft
Order
Description
Link to PR
Status
1
Documenting concept resource
PR 86
Merged
2
Documenting concept resource mapping section
PR 87
Merged
3
Documenting concept resource name section
PR 88
Merged
4
Documenting concept resource attribute section
PR 90
Merged
5
Documenting Observation resource
PR 91
Merged
6
Fixing UI Bugs uptill
PR 92
Under-Review
7
Documenting System Setting resource
PR 93
Under-Review
8
Documenting System-Information resource
PR 94
Under-Review
Order
Description
Link to PR
Status
1
Fixing UI Bugs uptill
PR 92
Merged
2
Documenting System Setting resource
PR 93
Merged
3
Documenting System-Information resource
PR 94
Merged
4
Documenting User resource
PR 96
Draft
5
Documenting Privileges resource
PR 97
Merged
6
Documenting Role resource
PR 98
Draft
7
Documenting Person-Attribute type resource
PR 99
Merged
Order
Description
Link to PR
Status
1
Documenting User resource
PR 96
Merged
2
Documenting Role resource
PR 98
Merged
3
Documenting Person Attribute type
PR 99
Merged
4
Documenting PatientIdentifier Type
PR 100
Draft
5
Documenting Person Name Sub-resource
PR 101
Merged
6
Documenting Person Address Sub-resource
PR 102
Merged
7
Documenting Person Attribute
PR 103
Merged
8
Updating uniformly with demo server url
PR 104
Closed
Order
Description
Link to PR
Status
1
Documenting PatientIdentifier Type
PR 100
Merged
2
Added changes according to survey feedback
PR 105
Merged
3
Documenting Information
PR 106
Merged
4
Documenting Visit Type
PR 107
Merged
5
Documenting Visit Attribute
PR 108
Merged
6
Documenting PatientIdentifier Section
PR 109
Merged
7
Documenting Visit Resource main section
PR 110
Under-Review
8
Documenting Visit Resource attribute section
PR 111
Under-Review
9
Documenting Patient Resource allergy section
PR 112
Under-Review
10
Documenting Person Resource main section
PR 113
Under-Review
11
Documenting Patient Resource main section
PR 114
Under-Review
12
Documenting Location resource
PR 116
Draft
13
Documenting Location Tag resource
PR 117
Draft
14
Documenting location Attribute type
PR 118
Draft
15
Correcting Base url and header names
PR 115
Merged
Order
Description
Link to PR
Status
1
Documenting Visit Resource main section
PR 110
Merged
2
Documenting Visit Resource attribute section
PR 111
Blocker
3
Documenting Patient Resource allergy section
PR 112
Merged
4
Documenting Person Resource main section
PR 113
Merged
5
Documenting Patient Resource main section
PR 114
Merged
6
Documenting Location resource
PR 116
Merged
7
Documenting Location Tag resource
PR 117
Under-Review
8
Documenting location Attribute type
PR 118
Under-Review
9
Documenting Location resource attribute
PR 119
Merged
10
Documenting Provider attribute type
PR 120
Under-Review
11
Documenting Provider attribute resource
PR 122
Under-Review
12
Documenting Patient Resource patient subsection
PR 123
Under-Review
13
Documenting Visit resource visit section
PR 124
Blocker
Order
Description
Link to PR
Status
1
Documenting Location Tag resource
PR 117
Merged
2
Documenting location Attribute type
PR 118
Merged
3
Documenting Provider attribute type
PR 120
Under-Review
4
Documenting Provider attribute resource
PR 122
Under-Review
5
Documenting Patient Resource patient subsection
PR 123
Merged
6
Documenting Visit resource visit section
PR 124
Under-Review
7
Reviewed Docs for UI and section errors
PR 125
Under-Review
8
Documenting Encounter role resource
PR 126
Under-Review
9
Documenting Encounter type resource
PR 127
Under-Review
10
Fixed visit section blocker and completed section
PR 128
Under-Review
11
Documenting Encounter resource
PR 129
Draft
Order
Description
Link to PR
Status
1
Documenting Provider attribute type
PR 120
Merged
2
Documenting Provider attribute resource
PR 122
Merged
3
Documenting Patient Resource patient subsection
PR 123
Merged
4
Documenting Visit resource visit section
PR 124
Merged
5
Reviewed Docs for UI and section errors
PR 125
Merged
6
Documenting Encounter role resource
PR 126
Merged
7
Documenting Encounter type resource
PR 127
Merged
8
Fixed visit section blocker and completed section
PR 128
Merged
9
Documenting Encounter resource
PR 129
Merged
10
Documenting Form Resource main section
PR 130
Draft
11
Documenting Field type resource
PR 131
Merged
12
Documenting Order type resource
PR 132
Merged
13
Documenting the Order section
PR 133
Merged
14
Tweaking the examples introduction
PR 134
Under-Review
Got the feedback and fine-Tuned objectives for this project through 2 Documentation surveys here and here .
Found out the missing resources and got their documentation merged into the documentation, systemInformation, systemSettings and Form resources and sub-resources.
Checked out all the current curl examples make sure they're up to date and fixed some of the documentation and made sure they are not abstract but work well with the demo sever.
Added Java & Javascript examples and updated the getting started guide so that getting started with the documentation becomes simple.
presented the progress weekly with a talk post with the community and designed and floated 2 surveys to take feedback for my work from the community.
All the examples are base server agnostic and plug and play, and checked with the demo-server.
Extra credits | updated the slate based documentation tool to its latest release for better usability and bug fixes.
There needs to be a technical solution to generate most of the content except the description of resources and some static part of the documentation, itself from the javadocs by annotations using some tool like springFox .
Adding more resources to the current documentation as the community expects a comprehensive API documentation like the swagger based documentation.
Making some instances of resources read-only on the Demo Server, so that the examples work always without any unexpected Issues and problems.
Figuring out which part of the documentation is still relevant and checking and incorporating all the details from the dataModel and swagger documentation so that the information is consistent in the new documentation.
Asking question to the right set of people and getting answers, my mentors helped immensely in this part since they answered most of the questions as they could and for the rest part redirected me to the relevant person for help.
Keeping up the work with my semester exams was a bit challenging, weekly reports helped immensely in that respect since I was able to communicate my progess to the community and track the objectives still left to be completed.