Ad hoc NLP (Natural Language Processing) analysis of HL7 FHIR's online Zulip chat streams.
The program reads directly from this Google Sheet. Allows for the management of:
- Category keywords
- User roles
- Prerequisites: Python3
- Clone this repository.
- From the repository directory, install libraries:
python3 -m pip install -r requirements.txt
- Get
.zuliprc
: Open up chat.fhir.org. Then follow the Zulip API key documentation. It will instruct you to fetch your API Key, but if you follow these instructions, when you get to the point where it shows you your API Key, there will also be an option that says "Download .zuliprc". Click that, and it will download a file. It might save the file under a different filename. If so, you should rename that.zuliprc
. Place this file in the root directory of this cloned repository. - From the repository directory, run:
python3 -m fhir_zulip_nlp
After running, analysis reports will be generated and saved in the repository directory as CSV files with the name
pattern fhir-zulip-nlp*.csv
.
Releases from previous runs have been uploaded on GitHub and GoogleDrive.
TODO
TODO
TODO
TODO
TODO
TODO
user.id
(integer
): Zulip-assigned user ID. Can look up this ID inzulip_user_info.csv
to find more info.user.full_name
(string
): Full name of user.stream
(string
): Zulip stream.category
(string
): Category as defined in GoogleSheet.keyword
(string
): Keyword as defined in GoogleSheet.role
(string
): Either 'author' or 'respondent'.count
(integer
): The sum total for of the combination ofuser
xstream
xcategory
xkeyword
xrole
for the given row. If any of these cells in the row is empty, it means that this row represents a higher-level aggregation. E.g. if onlykeyword
is empty, thecount
represents the combo ofuser
xstream
xcategory
xrole
. Ifkeyword
andcategory
are empty, thecount
represents the combo ofuser
xstream
xrole
.