#include "dcmtk/config/osconfig.h"
#include "dcmtk/ofstd/ofconsol.h"
#include "dcmtk/dcmsr/dsrdoc.h"
#include "dcmtk/dcmsr/codes/ucum.h"
#include "dcmtk/dcmdata/dctk.h"
const int num_reports = 24;
const char *all_reports[num_reports] = {"mkreport",
"ki", "si", "fk", "lp",
"01", "02", "03", "04", "05", "06", "07", "08",
"09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19"};
int main(int argc, char *argv[])
{
if (argc < 2)
{
COUT << "mkreport: Create DICOM SR documents" << OFendl;
COUT << "----------------------------------------------------" << OFendl;
COUT << " ki = IHE Year 2 key image note (empty)" << OFendl;
COUT << " si = IHE Year 2 simple image report (empty)" << OFendl;
COUT << " fk = Fake report, C. Iulius Caesar: De bello Gallico" << OFendl;
COUT << " lp = Valid comprehensive report with loop/cycle" << OFendl;
COUT << OFendl;
COUT << " 01 = Consultation report (text only)" << OFendl;
COUT << " 02 = Same as 01 but with NUM and PNAME items" << OFendl;
COUT << " 03 = Very short report (text only)" << OFendl;
COUT << " 04 = Text report with several sections (history)" << OFendl;
COUT << " 05 = Text report with several blocks (discharge)" << OFendl;
COUT << " 06 = Radiology report with image reference (dentist)" << OFendl;
COUT << " 07 = Same as 06 with image/pstate reference" << OFendl;
COUT << " 08 = Same as 06 with composite (pstate) reference" << OFendl;
COUT << OFendl;
COUT << " 09 = RSNA '95: Picker, CT, #3" << OFendl;
COUT << " 10 = RSNA '95: Picker, MR, #4" << OFendl;
COUT << " 11 = RSNA '95: Kodak, CR, #8" << OFendl;
COUT << " 12 = RSNA '95: Acuson, US, #11" << OFendl;
COUT << " 13 = RSNA '95: GE, CT, #17" << OFendl;
COUT << " 14 = RSNA '95: GE, MR, #21" << OFendl;
COUT << " 15 = RSNA '95: Siemens, MR, #26" << OFendl;
COUT << " 16 = RSNA '95: Siemens, DS, #29" << OFendl;
COUT << " 17 = RSNA '95: Siemens, DR, #31" << OFendl;
COUT << " 18 = RSNA '95: Fuji, CR, #32" << OFendl;
COUT << " 19 = RSNA '95: ATL, US, #36" << OFendl;
COUT << "----------------------------------------------------" << OFendl;
COUT << "all = create all abovementioned DICOM SR documents" << OFendl;
} else {
{
CERR << "Warning: no data dictionary loaded, "
<< "check environment variable: "
<< DCM_DICT_ENVIRONMENT_VARIABLE << OFendl;
}
if (doc != NULL)
{
const int count = (strcmp(argv[1], "all") == 0) ? num_reports : argc;
const char **array = (strcmp(argv[1], "all") == 0) ? all_reports : OFconst_cast(const char **, argv);
for (int i = 1; i < count; i++)
{
writeFile = OFTrue;
if (strcmp(array[i], "ki") == 0)
generate_ki(doc, studyUID_ki);
else if (strcmp(array[i], "si") == 0)
generate_si(doc, studyUID_ki);
else if (strcmp(array[i], "fk") == 0)
generate_fk(doc);
else if (strcmp(array[i], "lp") == 0)
generate_lp(doc);
else if (strcmp(array[i], "01") == 0)
generate_01(doc, studyUID_01);
else if (strcmp(array[i], "02") == 0)
generate_02(doc, studyUID_01);
else if (strcmp(array[i], "03") == 0)
generate_03(doc);
else if (strcmp(array[i], "04") == 0)
generate_04(doc);
else if (strcmp(array[i], "05") == 0)
generate_05(doc);
else if (strcmp(array[i], "06") == 0)
generate_06(doc);
else if (strcmp(array[i], "07") == 0)
generate_07(doc);
else if (strcmp(array[i], "08") == 0)
generate_08(doc);
else if (strcmp(array[i], "09") == 0)
generate_09(doc);
else if (strcmp(array[i], "10") == 0)
generate_10(doc);
else if (strcmp(array[i], "11") == 0)
generate_11(doc);
else if (strcmp(array[i], "12") == 0)
generate_12(doc);
else if (strcmp(array[i], "13") == 0)
generate_13(doc);
else if (strcmp(array[i], "14") == 0)
generate_14(doc);
else if (strcmp(array[i], "15") == 0)
generate_15(doc);
else if (strcmp(array[i], "16") == 0)
generate_16(doc);
else if (strcmp(array[i], "17") == 0)
generate_17(doc);
else if (strcmp(array[i], "18") == 0)
generate_18(doc);
else if (strcmp(array[i], "19") == 0)
generate_19(doc);
else {
writeFile = OFFalse;
CERR << "WARNING: unknown document identifier \"" << array[i] << "\" ... ignoring" << OFendl;
}
if (writeFile)
{
COUT << "mkreport: report" << array[i] << ".dcm" << OFendl << OFendl;
COUT << OFendl;
if (fileformat != NULL)
if (dataset != NULL)
{
{
filename += array[i];
filename += ".dcm";
} else
CERR << "ERROR: could not write SR document into dataset" << OFendl;
}
}
}
}
delete doc;
}
return 0;
}
{
}
{
if (!studyUID_ki.
empty())
}
{
doc->
getCurrentRequestedProcedureEvidence().
addItem(
"1.2.276.0.7230010.3.4.1915765545.18030.917282194.11",
"1.2.276.0.7230010.3.4.1915765545.18030.917282194.11.1", UID_SecondaryCaptureImageStorage,
"1.2.276.0.7230010.3.4.1915765545.18030.917282194.11.1.1");
doc->
getPertinentOtherEvidence().
addItem(
"1.2.276.0.7230010.3.4.1915765545.18030.917282194.11",
"1.2.276.0.7230010.3.1.4.1707840890.221.974385403.16", UID_GrayscaleSoftcopyPresentationStateStorage,
"1.2.276.0.7230010.3.1.4.1707840890.221.974385531.18");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Horum omnium fortissimi sunt Belgae, propterea quod a cultu atque humanitate provinciae longissime absunt minimeque ad eos mercatores saepe commeant atque ea, quae ad effeminandos animos pertinent, important proximique sunt Germanis, qui trans Rhenum incolunt, quibuscum continenter bellum gerunt.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Qua de causa Helvetii quoque reliquos Gallos virtute praecedunt, quod fere cotidianis proeliis cum Germanis contendunt, cum aut suis finibus eos prohibent aut ipsi in eorum finibus bellum gerunt.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"[Eorum una, pars, quam Gallos obtinere dictum est, initium capit a flumine Rhodano, continetur Garumna flumine, Oceano, finibus Belgarum, attingit etiam ab Sequanis et Helvetiis flumen Rhenum, vergit ad septentriones.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Apud Helvetios longe nobilissimus fuit et ditissimus Orgetorix. Is M. Messalla M. Pisone consulibus regni cupiditate inductus coniurationem nobilitatis fecit et civitati persuasit, ut de finibus suis cum omnibus copiis exirent:");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Id hoc facilius iis persuasit, quod undique loci natura Helvetii continentur: una ex parte flumine Rheno latissimo atque altissimo, qui agrum Helvetium a Germanis dividit, altera ex parte monte Iura altissimo, qui est inter Sequanos et Helvetios, tertia lacu Lemanno et flumine Rhodano, qui provinciam nostram ab Helvetiis dividit.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"His rebus fiebat, ut et minus late vagarentur et minus facile finitimis bellum inferre possent; qua ex parte homines bellandi cupidi magno dolore afficiebantur. 5 Pro multitudine autem hominum et pro gloria belli atque fortitudinis angustos se fines habere arbitrabantur, qui in longitudinem milia passuum ducenta quadraginta, in latitudinem centum octoginta patebant.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Pro multitudine autem hominum et pro gloria belli atque fortitudinis angustos se fines habere arbitrabantur, qui in longitudinem milia passuum ducenta quadraginta, in latitudinem centum octoginta patebant.");
doc->
verifyDocument(
"Augustus Caesar^Gaius Iulius Octavianus",
"SPQR");
}
{
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"This 78-year-old gentleman referred by Dr. Fukuda was also seen by Dr. Mason at the Redlands Clinic. He has been seen in the past by Dr. Klugman.\nThe patient developed a lesion in the concha of the left external ear. Recent biopsy confirmed this as being a squamous cell carcinoma. The patient has had a few other skin cancers.\nOf most significant past history is the fact that this patient has a leukemia that has been treated in standard fashion by Dr. Klugman. The patient was then transferred to the Redlands Clinic and by some experimental protocol which, I guess, includes some sort of lymphocyte electrophoresis, has been placed into remission. He is not currently on any antileukemia drugs and has responded extremely well to his medical management.\nOn examination, the patient is healthy in general appearance. There is a 1.5 cm lesion on the concha of the ear, which is seen well on photograph of the left external ear. There are numerous soft lymph nodes in both sides of the neck, which I presume are related to his leukemia.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Squamous cell carcinoma, relatively superficial, involving the skin of the left external ear, which is seen well on photograph of the left external ear.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The plan of treatment is as follows: 4500 rad, 15 treatment sessions, using 100 kV radiation.\nThe reason for treatment, expected acute reaction, and remote possibility of complication was discussed with this patient at some length, and he accepted therapy as outlined.");
}
{
if (!studyUID_01.
empty())
doc->
getTree().
getCurrentContentItem().
setStringValue(
".\nThe patient developed a lesion in the concha of the left external ear. Recent biopsy confirmed this as being a squamous cell carcinoma. The patient has had a few other skin cancers.\nOf most significant past history is the fact that this patient has a leukemia that has been treated in standard fashion by");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"and by some experimental protocol which, I guess, includes some sort of lymphocyte electrophoresis, has been placed into remission. He is not currently on any antileukemia drugs and has responded extremely well to his medical management.\nOn examination, the patient is healthy in general appearance. There is a");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"lesion on the concha of the ear, which is seen well on photograph of the left external ear. There are numerous soft lymph nodes in both sides of the neck, which I presume are related to his leukemia.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Squamous cell carcinoma, relatively superficial, involving the skin of the left external ear, which is seen well on photograph of the left external ear.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The plan of treatment is as follows: 4500 rad, 15 treatment sessions, using 100 kV radiation.\nThe reason for treatment, expected acute reaction, and remote possibility of complication was discussed with this patient at some length, and he accepted therapy as outlined.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Flat and upright views of the abdomen show a normal gas pattern without evidence of obstruction or ileus. There are no calcifications or abnormal masses noted.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"This 68 year-old white female says she usually has three bowel movements a day in small amounts, and there has been a recent change in the frequency, size, and type of bowel movement she has been having. She is also having some pain and irritation in this area. She has had no previous anorectal surgery or rectal infection. She denies any blood in the stool itself.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The patient had polio at age 8, from which she made a remarkable recovery. Apparently, she was paralyzed in both lower extremities but now has adequate use of these. She has had no other serious illnesses.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"This 19-year-old black female, nulligravida, was admitted to the hospital on June 14, 1999 with fever of 102\260, left lower quadrant pain, vaginal discharge, constipation, and a tender left adnexal mass. Her past history and family history were unremarkable. Present pain had started 2 to 3 weeks prior (starting on May 30, 1999) and lasted for 6 days. She had taken contraceptive pills in the past, but had stopped because she was not sexually active.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"She appeared well-developed and well-nourished, and in mild distress. The only positive physical findings were limited to the abdomen and pelvis. Her abdomen was mildly distended, and it was tender, especially in the lower left quadrant. At pelvic examination her cervix was tender on motion, and the uterus was of normal size, retroverted, and somewhat fixed. There was a tender cystic mass about 4 - 5 cm in the left adnexa. Rectal examination was negative.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Hb 8.8, Hct 26.5, WBC 8,100 with 80 segs and 18 lymphs. Sedimentation rate 100 mm in one hour. Sickle cell prep + (turned out to be a trait). Urinalysis normal. Electrolytes normal. SMA-12 normal. Chest x-ray negative, 2 hour UCG negative.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Initially, she was given cephalothin 2 gm IV q6h, and kanamycin 0.5 gm IM b.i.d. Over the next 2 days the patient's condition improved. Her pain decreased, and her temperature came down to normal int he morning and spiked to 101\260 in the evening. Repeat CBC showed Hb 7.8, Hct 23.5. The pregnancy test was negative. On the second night following the admission, her temperature spiked to 104\260. The patient was started on antituberculosis treatment, consisting of isoniazid 300 mg/day, ethambutol 600 mg b.i.d., and rifampin 600 mg daily. She became afebrile on the sixth postoperative day and was discharged on July 15, 1999, in good condition. She will be seen in the office in one week.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The dental age and chronological age appear to coincide. The occlusal development is within the range of normal, except for the missing teeth noted above.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The borders of the portrayed paranasal sinuses appear to be intact; there is no evidence of pathosis in these sinuses.\nThe airway appears patent, but there is evidence of marked adenoidal hyperplasia.\nPart of the first and second cervical vertebrae are depicted. No gross abnormalities are seen. There is a normal width of prevertebral soft tissue.\nThe generalized bone pattern and jaw morphology are within the range of normal.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The dental age and chronological age appear to coincide. The occlusal development is within the range of normal, except for the missing teeth noted above.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The borders of the portrayed paranasal sinuses appear to be intact; there is no evidence of pathosis in these sinuses.\nThe airway appears patent, but there is evidence of marked adenoidal hyperplasia.\nPart of the first and second cervical vertebrae are depicted. No gross abnormalities are seen. There is a normal width of prevertebral soft tissue.\nThe generalized bone pattern and jaw morphology are within the range of normal.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The dental age and chronological age appear to coincide. The occlusal development is within the range of normal, except for the missing teeth noted above.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The borders of the portrayed paranasal sinuses appear to be intact; there is no evidence of pathosis in these sinuses.\nThe airway appears patent, but there is evidence of marked adenoidal hyperplasia.\nPart of the first and second cervical vertebrae are depicted. No gross abnormalities are seen. There is a normal width of prevertebral soft tissue.\nThe generalized bone pattern and jaw morphology are within the range of normal.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"46-year-old male presented to the emergency room with parasternal and epigastric pain. A chest X-ray showed widening of the mediastinum. R/O thoracic aneurysm");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"There is an aneurysm of the entire thoracic aorta measuring up to 6.2 cm in diameter. Also, there is an intimal flap creating two lumens which is evident on all views extending from the aortic base through the ascending aorta, the aortic arch, and the descending aorta including that portion of the abdomen which is on the films. There are no pulmonary masses identified. The emergency room was immediately notified on this finding and a copy of the films were given to the emergency room so that they could accompany the patient.");
doc->
getCurrentRequestedProcedureEvidence().
addItem(
"2.16.840.1.113662.2.1.53544936282433.12345.336.16650",
"2.16.840.1.113662.2.1.53544936282433.12345.336.1665.9990", UID_CTImageStorage,
"2.16.840.1.113662.2.1.12345.19950126.112629.1900");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The bony structures are intact and normally aligned. There is bruising of the medial femoral condyle with some intrasubstance injury to the medial collateral ligament. The lateral collateral ligament in intact. The anterior cruciate ligament is irregular and slightly lax suggesting a partial tear. It does not appear to be completely torn. The posterior cruciate ligament is intact. The suprapatellar tendons are normal.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"There is a tear of the posterior limb of the medial meniscus which communicates with the superior articular surface. The lateral meniscus is intact. There is a Baker's cyst and moderate joint effusion.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Internal derangement of the right knee with marked injury and with partial tear of the ACL; there is a tear of the posterior limb of the medial meniscus. There is a Baker's Cyst and joint effusion and intrasubstance injury to the medial collateral ligament.");
doc->
getCurrentRequestedProcedureEvidence().
addItem(
"2.16.840.1.113662.4.8796818069641.798806497.93296077602350.10",
"2.16.840.1.113662.4.8796818069641.806010667.284225018829304176", UID_MRImageStorage,
"2.16.840.1.113662.4.8796818069641.806010667.274350678564784069");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Over the interval, there has been placement of a left sided chest tube with significant decrease in the left pleural effusion. There is still a persistent pneumothorax although it likely is smaller as well. The right-sided pneumothorax is slightly bigger.");
doc->
getCurrentRequestedProcedureEvidence().
addItem(
"1.2.840.113654.2.4.4.3.4.119950730134200",
"1.2.840.113654.2.4.4.3.5.119950730134200", UID_ComputedRadiographyImageStorage,
"1.2.840.113654.2.4.4.3.6.1.119950730.1807310414");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"A retrocecal appendix is present, and markedly enlarged to a diameter of 4.5 mm. There is a central area of decreased echogenicity, possibly representing fluid within the appendix, and there is a somewhat eccentrically placed fluid collection near the appendiceal tip which may represent a very early perforation. There is inflammation of peri-appendiceal fat and a marked increase in blood flow seen on Doppler imaging.");
doc->
getCurrentRequestedProcedureEvidence().
addItem(
"1.2.840.113680.3.103.775.2873347909.282313",
"1.2.840.113680.3.103.775.2873347909.282313", UID_RETIRED_UltrasoundImageStorage,
"1.2.840.113680.3.103.775.2873347909.282313.2");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Patient is a 45 year old male with abnormal liver function test. Ultrasound evaluation demonstrated a 3 cm lesion in the medial aspect of the right lobe of the liver. The question was raised regarding potential hemangioma.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The examination demonstrates a well circumscribed 3 cm lesion present within the medial aspect of the inferior right liver lobe. Initial evaluation demonstrates lack of contrast enhancement. Subsequent imaging (not shown) demonstrated typical contrast enhancement pattern of a benign hemangioma of the liver. The remaining contrast enhancement pattern in the liver is normal. There is normal appearance of the adrenal glands, spleen, kidneys, and pancreas. There is no evidence of liver metastasis. 3 cm nodule present in the inferior medial aspect of right liver lobe. Contrast enhancement pattern consistent with the diagnosis of hemangioma.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Within the posterior horn of the medial meniscus there is minimal increase in signal intensity; however, this does not extend to a joint surface and therefore does not represent a tear. The lateral meniscus is normal. The anterior and posterior cruciate ligaments are visualized and are normal. There is a joint diffusion present with a small superior joint plicae. No interarticular loose bodies are identified. There is no focal marrow edema. The collateral ligaments appear normal.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Joint diffusion with superior joint plicae. Minimal increased signal within the posterior horn of medial meniscus consistent with intermeniscal degeneration. No evidence of meniscal tear.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Visualization of a cervix carcinoma, almost completely permeating into the anterior and posterior labia and extending into the parametrium on the right side. No indication of bladder or rectal involvement. The pelvic wall is free. The tumor does not extend caudally to the vagina. In the vicinity of the left iliac vessel an approximately 1.5 cm round structure can be seen in today's examination, most probably representing the left ovary. If this has been removed because of the ectopic pregnancy, then it is a pathologically enlarged lymph node. There is an ovarian cyst on the right with individual solid contents. Cervical carcinoma permeating into the anterior and posterior labia and extending into the parametrium on the right side.");
doc->
getCurrentRequestedProcedureEvidence().
addItem(
"1.3.12.2.1107.5.8.1.123456789.199507271758050705910",
"1.3.12.2.1107.5.8.1.123456789.199507271758050706635", UID_MRImageStorage,
"1.3.12.2.1107.5.8.1.123456789.199507271758050707765");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Puncture of the Right Common femoral artery and advancement of 4F pigtail catheter via a 0.035 inch guide wire into the abdominal aorta at the level of the renal arteries. Three DSA studies with injections of 25 ml Ultravist 300.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Right Renal artery: Normal location, single vessel supply, high-grade renal artery stenosis approximately 5 mm distal from the origin of the aorta. Left Renal artery: Single vessel supply, significantly larger organ size, no apparent stenosis.");
doc->
getCurrentRequestedProcedureEvidence().
addItem(
"1.3.12.2.1107.5.8.1.123456789.199507271807160007134",
"1.3.12.2.1107.5.8.1.123456789.199507271807160007847", UID_SecondaryCaptureImageStorage,
"1.3.12.2.1107.5.8.1.123456789.199507271807160009128");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The pancreaticus major as well as a small accessory duct are well contrasted. Discrete variations in caliber are visible in the region of the pancreatic duct suggestive of chronic inflammatory changes. Variations in caliber are also visible in the multiple small branches. No indications of contrast media depots suggestive of cysts or pseudocysts. No signs of intraluminal concrements.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Well contrasted bile duct and left and right hepatic ducts. Here there are smooth contours without indication of changes in diameter or stenosis. There are no signs of intraluminal concrements. The discrete changes of caliber in the pancreaticus major, accessory ducts and multiple small branches are suggestive of chronic inflammatory changes.");
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Normal appearance of the bile duct, cystic duct and gall bladder with good drainage of the contrast medium into the duodenum after the endoscopic examination.");
doc->
getCurrentRequestedProcedureEvidence().
addItem(
"1.3.12.2.1107.5.8.1.123456789.199507271803030520282",
"1.3.12.2.1107.5.8.1.123456789.199507271803030521007", UID_SecondaryCaptureImageStorage,
"1.3.12.2.1107.5.8.1.123456789.199507271803030521934");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"Demonstrated is a gastric wall lesion along the greater curvature of the stomach. Radiating gastric folds are seen extending into the lesion without significant surrounding edema. No additional abnormalities are detected. Given the lack of surrounding edema of this single lesion within the stomach the primary diagnosis of gastric carcinoma remains the main differential diagnosis and must be excluded. Gastric ulcer, although a possibility, is thought to be less likely given the lack of surrounding edema.");
}
{
doc->
getTree().
getCurrentContentItem().
setStringValue(
"The mass is identified in the upper outer quadrant on the breast corresponding to the size and location of the palpable mass. There are internal echoes indicating that this is a solid mass. Hyperechoic foci are present likely indicating that calcifications are present (confirmed on magnification mammography). In the retroareolar region there was identified an intraductal mass with proximal mild ductal dilatation. This is consistent with an intraductal pappiloma.\n1. Solid breast mass with calcifications.\n2. Intraductal pappiloma.");
}