Pains get more painful if not treated. Before treatment, the diagnosis is required. Shoulder pain is one of those pains that halt your daily activities. In this article, we are going to discuss shoulder pain ICD 10 code used for diagnosis. It is one code M25.51 and three codes lie under it which are M25.511 for right shoulder, M25.512 for left shoulder, and M25.519 for unspecified. These codes are symptom codes and primarily based on which side, left or right.
What “Pain in Shoulder” Means in ICD-10-CM
There is a broader category of “Pain in joint” which is M25.5 and “Pain in shoulder” is its subcategory. As mentioned in the introduction, it has three codes, six characters, and there is no 7th character. Now, we discuss which codes are billable. M25.51 is a subcategory and it is not billable. M25.511 is pain in the right shoulder and it is billable. The same is the case with the left shoulder code M25.512 which is billable too. M25.519 is the pain in the unspecified shoulder and it is billable. All these three codes do not have the 7th character. All three are unchanged in the FY 2027 ICD-10-CM code set.
Left, Right or Unspecified: The Laterality Rule
As already discussed, the right shoulder pain ICD 10 code is M25.511, the left shoulder pain ICD 10 code is M25.512. The important thing to understand here is the laterality specificity. Is there any bilateral code for shoulder pain? No, there is not. Which side is the diagnosis? It can be taken from the documentation of other clinicians, like nurses or radiology. For bilateral cases, two codes are used: M25.511 + M25.512. Another crucial thing to discuss here is M25.519 unspecified risk. If the record shows a side, for example right shoulder, M25.519 is a specificity failure that is caught by auditors and should be avoided.
| Record says | Code(s) |
|---|---|
| Pain, right shoulder | M25.511 |
| Pain, left shoulder | M25.512 |
| Pain, both shoulders | M25.511 + M25.512 |
| “Shoulder pain,” side nowhere in the record, provider unreachable | M25.519 |
| Provider note silent on side; PT note says left | M25.512 (I.B.13: other clinicians’ documentation) |
| Note says right; imaging order says left | Query the provider before coding |
Symptom Code vs. Definitive Diagnosis
Not a great thing to mention the same thing again, but the importance demands it. M25.511 and M25.512 are symptom codes. All the information these codes provide is where the pain is. They tell nothing else except where it hurts. According to the guidelines (I.C.18.a), the symptom codes are acceptable “when a related definitive diagnosis has not been established (confirmed) by the provider.” What if the provider confirms the cause of pain? The symptom codes are no longer correct and the code of the cause takes the place. So, it is essential where symptom vs. definitive dx is decided.
Rule out rotator cuff tear is not a confirmed diagnosis if we consider the office setting. There is a ruling under IV.H that uncertain terms like “probable”, “suspected”, “rule out”, “consistent with”, are not coded as if confirmed. Consider a first visit with the pain in the left shoulder with an MRI ordered, is M25.512, not M75.102. There is a flip side to it when the MRI report says that it is a full thickness tear, now M25.512 cannot be used with M75.122. The reason behind it is that the pain is associated with a tear (I.C.18.b).
This scenario can be understood in the representation below:

From Structure to Code: The Shoulder Map
A patient on the first visit tells the provider about the shoulder pain, the code is M25.51- (pain, side). The exam and imaging give more clarity and the provider knows which part of the shoulder is the problem. The parts of the shoulder, like the rotator cuff (M75.100/101/102), the bursa, the labrum/SLAP, the AC joint, impingement (M75.40/41/42), and so on. Every structure has its own group of codes in the ICD-10-CM. The coding teams need to find the structure to reach the code. There are two code families, non-traumatic lesions that are placed in M75 and these do not take the 7th character. The injuries live in S43 and S46 and require a 7th character. One word in the history of the patient decides the code, and that is trauma or none. The table below shows the details:
| Structure in the note | Non-traumatic (M, no 7th) | Traumatic (S, 7th character) |
|---|---|---|
| Glenohumeral joint | M19.011 / M19.012 primary osteoarthritis, shoulder; M75.01 / M75.02 adhesive capsulitis; M24.411 / M24.412 recurrent dislocation | S43.401A / S43.402A sprain of shoulder joint |
| Rotator cuff | M75.100 / M75.101 / M75.102 unspecified tear; M75.111 / M75.112 incomplete; M75.121 / M75.122 complete | S46.011A / S46.012A strain of rotator cuff |
| Subacromial bursa | M75.51 / M75.52 bursitis of shoulder | — |
| Impingement | M75.40 / M75.41 / M75.42 impingement syndrome | — |
| Labrum / SLAP | — (SLAP lesion is an injury code) | S43.431A / S43.432A superior glenoid labrum lesion |
| AC joint | M19.011 / M19.012 (shoulder OA covers AC) | S43.51XA / S43.52XA sprain of AC joint; S43.1- dislocation of AC joint |
| Biceps tendon | M75.21 / M75.22 bicipital tendinitis | S46.111A / S46.112A injury of long head of biceps |
| Range of motion loss, no cause named | M25.611 / M25.612 stiffness of shoulder, NEC | — |
The 7th Character: Injury Codes vs. M Codes
Every code that we have discussed so far is complete as written, for example M25.511 and M25.512. If we add a 7th character to this code, it becomes inaccurate and the claim is rejected before anyone reads it. On the contrary, the S43 and S46 codes are valid only if the 7th character is placed. Why do these S codes require the 7th character? The injury chapter needs to know where the patient is in the course of treatment.
What does A, D and S mean? This is the 7th character for injury codes. “A” is the initial encounter. It means that the patient is still getting active treatment for the injury. This is about the phase of the treatment, it is not related to the number of visits of the patient. “D” is the subsequent encounter. When the active treatment is over, the recovery phase is going on. The sling changes or the follow-up checks, medication adjustment are part of this. “S” is sequela, it is a later problem that exists because there was an old injury.
Where can coding errors occur? If the patient is under an active treatment, sending “D” for a patient who visited another physician during the on-going treatment. The table can show it in a better way:
| Code | Takes 7th character? | Example |
|---|---|---|
| M25.511 | No | — |
| M75.101 | No | — |
| S46.011A | Yes — A | first visit after fall, active treatment |
| S46.011D | Yes — D | 4-week follow-up, healing |
| S46.011S | Yes — S | chronic weakness attributed to old tear |
| S43.52XA | Yes — A, with X placeholder | AC sprain, left, initial |
Shoulder Pain Documentation Requirements
The provider’s note gives clarity to the coder while mentioning details on the note. Consider a scenario where the coder has to pick the right shoulder code from the physician’s note. What six things the note should entail so that the coder picks the accurate code?
- The side is crucial here, which side? Right, left, or both. If the record does not show the side and the provider cannot clarify, M25.519 is the only option left.
- How did it start? Did the patient fall, did the patient lift something, get hit by something. Did it just start hurting? This is the word that allows the coder to pick the right family of codes. M list for no injury or the S codes for injury.
- Which part of the shoulder is hurt? Rotator cuff, bursa, labrum, AC joint, biceps tendon. The provider names the part and the respective code family is chosen.
- The result of the exam should be documented. The range of motion of the arm: how far it moves and where it hurts on pressing. These details back up the part named.
- Imaging result and date. The MRI or X-ray report clearly shows whether it was a tear or not. The date is when the shift from M25.51- to the real diagnosis was made.
- How sure the provider is. Phrases like “suspected”, “rule out”, and “probable” mean not sure. The pain is coded in this case. “Confirmed” is where the diagnosis is coded.
Why Shoulder Pain Claims Get Denied
Most errors in the case of shoulder pain denials are related to pairing, not wrong codes. The two codes cannot sit together in this case and each code is valid. The table below shows what was on the claim, what tends to come back, and the root cause.
| What’s on the claim | What tends to come back | Root cause |
|---|---|---|
| M25.519, chart shows “left” | Edit / specificity flag | Unspecified side with side documented |
| M25.512 + M75.122, same visit | Edit or audit flag | Symptom integral to definitive dx (I.C.18.b) |
| M75.102 + S46.012A | Edit | Excludes1 pair — pick traumatic or non-traumatic |
| S46.012 (no 7th character) | Rejection — invalid code | Injury code incomplete |
| M75.102 on a “r/o rotator cuff tear” visit | Audit exposure | Uncertain dx coded as confirmed (IV.H, outpatient) |
| G89.29 + M25.512, visit was a workup | Edit | G89 without documented chronic pain / pain-management visit |
Getting orthopedic billing services for shoulder pain helps to reduce denials and improve the revenue cycle.