To continue with our git story: Read the full series on GIT for doctors here
If you think you have made a mistake, you can “stash” the changes. Your file will be returned to the previous state. You have the option of returning to the stash if needed, but this is beyond our scope at present.
Now let us consider another scenario: You have two differential diagnosis for your patient and you want to investigate the patient for both conditions. You may decide to keep two versions of the same case sheet to continue the work up on both differentials. In Git you can create a “branch” for this situation. You can work on branches independently. The main branch or the trunk is called “master” by convention. You can give any name for the other branches.
|Embiodea (Photo credit: beapen)|
If you decide to consult your colleague, he/she may want to continue working on their copy without changing the “master” file in your possession. So they can work on their “branches” too. Later on if you want to add your differential branch or your colleague’s branch into the master file, you can choose “merge”.
You can create branches of branches. If you want to merge several such branches into the “master”, you have to paste all branches together into a single branch. This is called “rebase”.
If you have to submit a master chart for audit, you can “tag” the chart, so that you can give a name to the current state. “Tagging” for software is generally done when you decide to release a version to the end user.
In the next part, I will discuss how to collaborate with your friends. If you are not on github.com as yet, do register for an account now. If you want to follow someone, let me suggest yours truly: https://github.com/dermatologist
Imagine that you have a patient’s case file in a folder on your computer. The file has many contents such as history sheets, lab reports and discharge summaries.
[Create a folder in your computer with few word files. This folder is your case file.]
Since the case file is precious, you want to take a photocopy before you change/add anything to the file. So you decide to buy a photocopy machine. In ‘GIT’ instead of the photocopy machine you ‘create a repository’
[Click on create repository and choose the folder.]
Now you have to decide what to photocopy. Let us say, you decide to photocopy everything. Deciding what to photocopy is called staging in GIT.
[Select All – and ‘Add to Index’]
Now go ahead and take the photocopy. In GIT it is called Commit
Congrats.. You have photocopied the contents. Now you can safely add your comments.
[Add some text to any of the files.]
Now you want to photocopy again so that, what you have added is not lost when you make changes again.
[Go back to sourcetree. It will display the changed file. ‘Add to index’ & Commit. You will be asked to add a comment, though it is optional.]
Now you have 2 photocopies.
But wait.. You find out that what you added to the file during your last edit was wrong. How do you remove what you added or go back to a previous stage?
Wait for a week to find out!: Read the full series on GIT for doctors here
|Type 36 JSDF Arm Suit (Photo credit: Mechanekton)|
GIT for us doctors is an acronym for GastroIntestinal Tract. But the GIT I am going to talk about here has nothing to do with GastroIntestinal tract. Do you have any gut feeling about what it is going to be?
Well, GIT according to wikipedia is a distributed revision control and source code management (SCM) system with an emphasis on speed. What has that got to do with healthcare professionals and doctors? As healthcare is becoming tech savvy, healthcare professionals and some doctors have started to recognize and understand, not just completed software products, but their source code as well.
The rising prominence of open-source movement in healthcare will greatly benefit from this, as doctors start contributing actively to healthcare application design and code. When you contribute code to an open-source project, there should be a mechanism to download what others have done, maintain concurrency as others keep adding things, keep track of what you add along with others who contribute, and finally impress the master with your contribution. This process is much more complex than the conventional version control or keeping track of older version by keeping copies of different stages. So that is where GIT steps in.
My aim is not to teach you the nitty-gritties of GIT, so that you will become a master of versioning systems. GIT can be quite challenging for doctors to understand and use. (Can you believe it: It is generally used as a command line tool). My aim is to make you comfortable enough to understand and use GIT in a user-friendly way so that when open source initiatives like openmrs.org talks about using GIT, you will know what they mean. BTW if you use EMRs but have not heard about openMRS.org, do take a look. Maybe you (like me) will also be enticed by their motto “ Write Code. Save Lives.”
|Deutsch: Logo von GitHub (Photo credit: Wikipedia)|
I will start with actual steps in the next post. In the meantime, join the facebook of GIT called GitHub. https://github.com. If you feel like following someone checkout this guy 😉 https://github.com/dermatologist . Don’t download and install anything as yet. Just register for a new account.
Next, download and install this free ‘windows’ to GIT http://www.sourcetreeapp.com/ from a software company called Atlassian. This (surprisingly not so popular yet!) software will make your first experience with GIT painless, I promise.
Will be back again with more. BTW did I tell you that GIT may be useful for collaborative writing too!? Unfortunately GIT was not around when I wrote this article in a dermatology journal in 2007. http://www.ncbi.nlm.nih.gov/pubmed/18032878