A FHIR CodeableConcept has a slot for a system and a code, but the profile rarely tells you which system in plain language. "Put a diagnosis here" — in ICD-10-CM or SNOMED CT? "Put a procedure here" — CPT, HCPCS, or ICD-10-PCS? Guessing wrong is one of the most common reasons a payload that looks fine gets rejected.
The key insight: most fields accept a small family of systems, not one — and the family is usually split by who codes it (the clinical record vs the claim) and by licensing. There's an interactive explorer that lets you pick a field and see its family; this card is the map.
Licensing, up front. CPT is owned and licensed by the AMA. SNOMED CT requires a license (free in the US through the NLM UMLS). The X12 code lists are licensed. This Lab names those systems and points at their owners — it never hosts a licensed code list. That is the "point, don't host" rule, and it is why you will not find code values here.
Diagnosis
Condition.code, Claim.diagnosis[].diagnosisCodeableConcept
- ICD-10-CM — diagnoses for billing and reporting. What the payer expects on the claim. CDC/CMS; free.
- SNOMED CT — the clinical view of the same problem, in the record. Licensed (free in the US via NLM).
Procedure or service
Procedure.code, Claim.procedure[].procedureCodeableConcept, Claim.item.productOrService
- CPT — professional and outpatient procedures on the claim. AMA-licensed.
- HCPCS Level II — products, supplies, and services CPT doesn't cover (DME, administered drugs). CMS; free.
- ICD-10-PCS — inpatient hospital procedures. CMS; free.
- SNOMED CT — the clinical procedure concept. Licensed.
Which one depends on the setting: professional/outpatient claims lean CPT/HCPCS, inpatient facility claims use ICD-10-PCS.
Medication
MedicationRequest.medicationCodeableConcept, Medication.code
- RxNorm — the normalized clinical drug concept ("what drug"). NLM; free.
- NDC — the exact manufactured package ("which product on the shelf"). FDA; free.
Lab result or observation
Observation.code
- LOINC — names what was measured (the test). Regenstrief; free under the LOINC license.
- SNOMED CT — frequently codes the result value. Licensed.
The pattern
When a field confuses you, ask two questions: is this the record or the claim? and is this system licensed? Those two axes place almost every code system in US healthcare. When you have a real payload, the validator will tell you whether the system you chose is the one the profile actually binds.