AMRS Clinical Summary for Adult HIV Care

Demographics

*Marital status
*Spouse alive? If so, tested?
*Pregnant?

  • Number of children
    • Any children under 10 (yes or no)

History

*WHO Stage (last recorded)

  • Hospitalizations?
  • Physical findings
    • Thrush
    • Kaposi's

      *HIV-Related Diagnoses

    • Kaposi's
    • Crypto
    • PCP
    • Thrush
    • Toxoplasmosis
    • TB
    • Herpes Zoster

Meds

*Active Meds
*Prior Meds (important if patient failing)
*Adherence ''(either "perfect" or "not perfect" — if ever missed any doses)

Labs

  • Initial (baseline) labs
    • CD4
    • Weights
    • Oximetry
    • SGPT
    • Creatinine
    • Hgb
    • Platelets (if thrombocytopenia in diagnoses)
    • CXR (coded impressions)
  • Flowsheet
    • CD4
    • Weights
    • Oximetry
    • SGPT
    • Hgb
    • Platelets (if thrombocytopenia in diagnoses)
    • CXR (coded impressions)

Decision Support

  • CD4 q 6 months
  • CXR on every patient
  • F/u abn CXR
    • never use INH alone for abn CXR
    • tx TB
  • Has every child under 10 been tested?
  • If every had crypto and not on diflucan → order diflucan

Notes from a conversation with Joe Mamlin

  • Did they get septra until CD4 > 200
    • septra/INH stopped appropriately
  • OI rules
  • In "maintenance" mode:
    • SGPT
    • Hgb
    • Red flags
      • Wt loss or CD4 dropping
      • 2nd-line drugs unless poor adherence
  • CD4 - many plateau in 200s-500s, some back to normal (1000)
  • on drugs: qmo visits, off drugs: q3mo visits

Example

Burke's Notes

NAME = patient.getName()

BIRTHDATE = patient.getBirthdate()

BIRTHDATE ESTIMATED = patient.getBirthdateEstimated()

PATIENT IDENTIFIER = patient.getPatientIdentifier().getIdentifier()

PATIENT ALTERNATE IDENTIFIERS =
	for (id : patient.getIdentifiers())
		strId = id.getIdentifier()
		if strId != patientIdentifier
			patientAltIdentifiers.add(strId)

CURRENT MARITAL STATUS = LATEST "CIVIL STATUS" (1054)

CURRENTLY PREGNANT = LATEST "PREGNANCY STATUS" (5272) WITHIN 10 MONTHS

NUMBER OF CHILDREN SIRED = LATEST "TOTAL NUMBER OF CHILDREN SIRED" (5558)

NUMBER OF CHILDREN UNDER FIVE = LATEST "TOTAL CHILDREN UNDER 5YO LIVING IN HOME" (5612)

WHO STAGE = LATEST "CURRENT WHO HIV STAGE" (5356)

HOSPITALIZED (display as latest date) =
  "REFERRALS ORDERED" (1272) contains "INPATIENT CARE OR HOSPITALIZATION" (5485)
  || "PATIENT HOSPITALIZED" (1273) as list // has code for hospital or OTHER NON-CODED (5622)
	|| "HOSPITALIZED SINCE LAST VISIT" (976) WITHIN 1 YEAR
	|| "HOSPITALIZED PREVIOUS YEAR" (5703) WITHIN 1 YEAR

HIV Diagnosis list (list of any of the following)
  KAPOSI'S SARCOMA (507)
  KAPOSI SARCOMA ORAL (644)
  CRYPTOCOCCOSIS  (1219)
  PNEUMOCYSTIC CARINII PNEUMONIA (882)
  CANDIDIASIS, ORAL (5334)
  TOXOPLASMOSIS (5355)
  TOXOPLASMOSIS, CENTRAL NERVOUS SYSTEM (990)
  HIV STAGING - TOXOPLASMOSIS, BRAIN (5048)
  TUBERCULOSIS (58)
  HERPES ZOSTER (836)
  THRUSH
		Defined as CANDIDIASIS, ORAL (5334) within any of
			REVIEW OF SYSTEMS, HEENT (1070)
			HEENT EXAM FINDINGS (1122)
			MUCOCUTANEOUS EXAM FINDINGS (1166)
			ADULT WHO CONDITION QUERY (6048)
	KAPOSI'S
		Defined as the presence of either
		  KAPOSI'S SARCOMA (507) within any of
		    SKIN EXAM FINDINGS (1120)
		    EXTREMITY EXAM FINDINGS (1127)
		    PEDS CDC SPECIFIC CONDITION QUERY (1208)
		    PEDS WHO SPECIFIC CONDITION QUERY (1225)
		    ADULT WHO CONDITION QUERY (6048)
		  KAPOSI SARCOMA ORAL (644) within any of
		    HEENT EXAM FINDINGS (1122)
		  	MUCOCUTANEOUS EXAM FINDINGS (1166)

LAST ENCOUNTER PROVIDER = encounterService.getLastEncounter(patient).getProvider.getFirstName()
	+ lastEncounter.getProvider().getLastName()
	+ "(" + lastEncounter.getProvider().getSystemId() + ")"

LAST ENCOUNTER DATETIME = encounterService.getLastEncounter(patient).getEncounterDatetime()

PROBLEM LIST = (pseudocode)
  add = obs.get('PROBLEM ADDED').unique()				// assuming sorted date desc & unique takes first instance
  remove = obs.get('PROBLEM RESOLVED').unique() // ditto
  probs = ()
  for (p : add)
  	if !remove{p.value} or !(remove{p.value} after p)
	  	probs.add(p)
  probs.limit(5)

ANTIRETROVIRALS = (pseudocode)
	old = 'CURRENT ANTIRETROVIRAL DRUGS USED FOR TREATMENT (1088)' from last encounter
	new = 'ANTIRETROVIRALS STARTED (1250)' from last encounter
	if new
		arvs = new
	else
		if 'ANTIRETROVIRAL PLAN (1255)' in last encounter == 'CONTINUE REGIMEN (1257)'
			arvs = old

		NONE (1107)								plan
		START DRUGS (1256)				plan
		CONTINUE REGIMEN (1257)		plan or hx
		CHANGE FORMULATION (1258)	plan
		CHANGE REGIMEN (1259)			plan
		STOP ALL (1260)						plan

	'ANTIRETROVIRALS STARTED (1250)' from last encounter
		d4T-30 (STAVUDINE) (625)
		d4T-40 (STAVUDINE) (625)
		LAMIVUDINE (628)
		ZIDOVUDINE AND LAMIVUDINE (630)
		NEVIRAPINE (631)
		EFAVIRENZ (633)
		NELFINAVIR (635)
		Triomune-30 (STAVUDINE LAMIVUDINE AND NEVIRAPINE) (792)
		Triomune-40 (STAVUDINE LAMIVUDINE AND NEVIRAPINE) (792)
		LOPINAVIR AND RITONAVIR (794)
		DDI 200 (DIDANOSINE) (796)
		DDI 125 (DIDANOSINE) (796)
		ZIDOVUDINE (797)
		TENOFOVIR (802)
		ABACAVIR (814)

OTHER MEDS = list of unique entries in (crypto + pcp + tbPrevent + tbRx) WHERE

	old = any 'PATIENT REPORTED CURRENT CRYPTOCOCCUS TREATMENT (1112)' from last encounter except('NONE (1107)'
	new = any 'CRYPTOCOCCUS TREATMENT STARTED (1278)' from last encounter
		Possible answers:
			FLUCONAZOLE (747)
	if new
		crypto = new
	else
		if 'CRYPTOCOCCAL TREATMENT PLAN (1277)' from last encounter == 'CONTINUE REGIMEN (1257)'
			crypto = old

	old = any 'PATIENT REPORTED CURRENT PCP PROPHYLAXIS (1109)' from last encounter except 'NONE (1107)'
	new = any 'PCP PROPHYLAXIS STARTED (1263)' from last encounter
		Possible answers:
			TRIMETHOPRIM AND SULFAMETHOXAZOLE (916)
			DAPSONE (92)
	if new
		pcp = new
	else
	  if 'PCP PROPHYLAXIS PLAN (1261)' from last encounter == 'CONTINUE REGIMEN (1257)'
	  	pcp = old

  old = any 'PATIENT REPORTED CURRENT TUBERCULOSIS PROPHYLAXIS (1110)' from last encounter except 'NONE (1107)'
  new = any 'TUBERCULOSIS PROPHYLAXIS STARTED (1264)' from last encounter
  	Possible answers:
			ISONIAZID (656)
	if new
		tbPrevent = new
	else
		if 'TUBERCULOSIS PROPHYLAXIS PLAN (1265)' from last encounter == 'CONTINUE REGIMEN (1257)'
			tbPrevent = old

	old = any 'PATIENT REPORTED CURRENT TUBERCULOSIS TREATMENT (1111)' from last encounter except 'NONE (1107)'
	new = any 'TUBERCULOSIS TREATMENT STARTED (1270)' from last encounter
		Possible answers:
			ETHAMBUTOL AND ISONIZAID (1108)
			RIFAMPICIN ISONIAZID PYRAZINAMIDE AND ETHAMBUTOL (1131)
			STREPTOMYCIN (438)
			PYRAZINAMIDE (5829)
			ISONIAZID (656)
			ETHAMBUTOL (745)
			RIFAMPICIN (767)
			RIFAMPICIN ISONIAZID AND PYRAZINAMIDE (768)
	if new
		tbRx = new
	else
		if 'TUBERCULOSIS TREATMENT PLAN (1268)' from last encounter == 'CONTINUE REGIMEN (1257)'
			tbRx = old

PERFECT ADHERENCE =
		!(
			any occurence of 'OVERALL DRUG ADHERENCE IN LAST MONTH (1156)' == 'ANTIRETROVIRAL DRUGS (1085)'
			||
			any occurrence of 'ANTIRETROVIRAL ADHERENCE IN PAST WEEK (1164)' != 'ALL (1163)'
		)

LAST FIVE RESULTS FOR LABS:
	'WEIGHT (KG) (5089)'
	'HEMOGLOBIN (21)'
	'BLOOD OXYGEN SATURATION (5092)'
	'CD4% (730)'
	'SERUM CREATININE (790)'
	'SERUM GLUTAMIC-PYRUVIC TRANSAMINASE (654)'
	'X-RAY, CHEST (12)'

</body></html>