text:
173 F. 3d 1049 - Butera v. S Apfel
173 F3d 1049 Butera v. S Apfel
61 Soc.Sec.Rep.Ser. 601
James R. BUTERA, Plaintiff-Appellant,
Kenneth S. APFEL, Commissioner of Social Security, Defendant-Appellee.
No. 97-2838.
Seventh Circuit.
Decided March 31, 1999.
Paul J. Clymer (argued), Gagliardi, Nelson & O'Brien, Salem, WI, for Plaintiff-Appellant.
Thomas P. Schneider, Office of the United States Attorney, Milwaukee, WI, Gary A. Sultz (argued), Kelly Rausch Larson, Social Security Administration, Office of the General Counsel, Region V, Chicago, IL, for Defendant-Appellee.
Before COFFEY, EASTERBROOK and EVANS, Circuit Judges.
COFFEY, Circuit Judge.
In October of 1992, the unemployed plaintiff-appellant, James Butera ("Butera"), applied for disability insurance benefits and supplemental security income under the Social Security Act, 42 U.S.C. §§ 416(i), 423(d), 1382, and 1382c(a), contending that he was "disabled" and unable to work as a result of severe back and leg pain. Butera's application was denied by the Wisconsin Department of Health and Family Services, Division of Disability Determination, after a finding that Butera was not "disabled" within the parameters of the Social Security Act. Butera appealed the denial to an administrative law judge ("ALJ") at the Department of Health and Human Services Office of Hearings and Appeals who determined, on March 9, 1994, that he was not disabled. Butera appealed the ALJ's decision to the United States District Court for the Eastern District of Wisconsin which denied Butera's claim for benefits, dismissed the action, and entered an order and judgment on March 26, 1997. On appeal, Butera argues that the ALJ erred in failing to allow him to cross-examine the Commissioner's experts and in finding that he was not disabled. In response, the Commissioner points out that Butera's notice of appeal was not timely filed. We affirm.
Butera contends that he was "disabled" as a result of back and leg pain which commenced in 1978 and thereafter, in May of 1992, became so debilitating that it rendered him unable to work. On October 28, 1992, Butera applied to the Wisconsin Department of Health and Family Services for disability insurance benefits and supplemental security income under the Social Security Act, 42 U.S.C. §§ 416(i), 423(d), 1382, and 1382c(a). On November 18, 1992, the Wisconsin Department of Health and Family Services requested that Butera undergo a thorough medical examination and evaluation to determine the nature of his disability. Three days later, on November 21, 1992, Butera sought emergency department treatment at a hospital in Kenosha, Wisconsin, complaining of severe pain in his back and right hip. At this time, Butera was examined by C. Newton, M.D. ("Newton") and her examination revealed that Butera limped and complained of pain in his hip, but maintained normal reflexes, a normal ability to raise his right leg, and a normal ability to stand, walk, and balance on his heels and toes. X-rays of the hip were normal, and x-rays of Butera's spine revealed only mild degenerative changes. At this time, Newton referred Butera to two orthopaedic specialists. A magnetic resonance imaging ("MRI") test of Butera's spine, administered by orthopaedic surgeon Karl Scheidt, M.D. ("Scheidt"), revealed a herniated disc in Butera's lumbar spine. Although Butera exhibited a limited range of motion in his hip, Scheidt was of the opinion that Butera possessed normal reflexes, sensation, and motor strength. Dr. Howard An, M.D. ("An"), another orthopaedic surgeon, noted that Butera had difficulty walking, but his motor, reflex, and sensory evaluations were normal. Further, he specifically noted that Butera "appears to have much more pain [than normal] for his degree of herniation and is reluctant to try any types of medication." Dr. An suggested that Butera might benefit from enrollment in a pain clinic.
In completing Butera's state medical assistance form, Dr. Newton opined that Butera's ability to work was limited by hip pain, but that he could lift five pounds and perform light work one or two hours a day, three or four days per week. Along with medical records and evaluations from Scheidt and An, Butera presented Newton's report to the state agency reviewing his claim for disability benefits and supplemental security income. Pat Chan, M.D. ("Chan"), and Kenneth L. Bussan, M.D. ("Bussan"), two physicians employed by the Wisconsin Department of Health and Family Services, examined Butera's file and submitted a report based upon their review of the available record. They found that Butera retained the ability to lift fifty pounds occasionally, lift twenty-five pounds frequently, and stand, sit, or walk up to six hours each in an eight hour day. Based on the Department of Health and Family Services physicians' analysis of Newton's report and the medical records and findings of Scheidt and An, Butera's claim for disability benefits and supplemental security income was denied on January 12, 1993. Butera filed for reconsideration, which was also denied. On March 30, 1993, Butera requested a hearing before an ALJ to review the denial of benefits. Prior to the hearing, Butera objected to the inclusion of the state physicians' report in the record and alternatively requested that the two state physicians be subpoenaed to appear at the hearing on the case. In support of his objection, Butera claimed that the Department of Health and Family Services physicians had only reviewed the medical reports of Scheidt and An and had not personally examined him and thus had issued their opinions on less than a full record. The ALJ denied Butera's request because, in his opinion, the presence of the doctors "would not aid in the search for truth." The ALJ noted that he would weigh the opinions of the state physicians pursuant to the regulations and consider that they had not examined Butera and that their opinions, like all others in the record, had not been subject to cross-examination. On March 9, 1994, the ALJ determined that even though Butera was suffering from severe back and leg pain as a result of the disc herniation, he nevertheless retained a "residual functional capacity" to perform a full range of light work. 20 C.F.R. §§ 404.1567 and 416.967. The ALJ, after evaluating all of the reports before him, also found that, considering Butera's "residual functional capacity," as well as his age, limited education, and work experience, he was not "disabled." Butera appealed the ALJ's decision to the United States District Court for the Eastern District of Wisconsin. The case was referred by the trial judge to a magistrate judge. Both parties filed for summary judgment, and the magistrate judge concluded that the ALJ had erroneously denied Butera's subpoena request. The matter was returned to the district judge who, in turn, disagreed and entered an order of judgment rejecting the magistrate's recommendation, denying Butera's appeal, and dismissing the action. Also, for reasons undisclosed, the trial judge concluded that the magistrate's recommendation "is herewith affirmed in all respects." On April 9, 1997, the tenth day following entry of judgment, the Commissioner filed a motion for clarification of judgment under Fed.R.Civ.P. 59(e), requesting that the trial court amend its judgment to resolve the inconsistency by entering a new order rejecting the magistrate's recommendation. The next day, April 10, Butera filed a motion requesting that the trial judge "consider amending his judgment to be consistent with the magistrate's recommendation." One week later, on April 17, 1997, the court resolved the inconsistency and granted the Commissioner's motion for clarification and entered another order dismissing Butera's action in its entirety. Thereafter, on May 16, 1997, the district court denied Butera's motion to amend the original judgment, and on July 15, 1997, 60 days after the denial of Butera's motion to amend the original judgment (May 16) and 92 days after entry of the trial judge's amended judgment (April 17), Butera filed a notice of appeal with this Court.
II. ISSUES
On appeal, we consider whether Butera's appeal was timely filed. We also consider whether substantial evidence supports the ALJ's finding that Butera remained capable of light work and was not "disabled" within the meaning of the Social Security Act and whether the ALJ's denial of Butera's request for a subpoena of the two Department of Health and Family Services physicians, Chan and Bussan, was proper.
III. DISCUSSION
A. The Timeliness of Butera's Appeal
On appeal, initially we consider whether Butera's notice of appeal was timely filed. The Commissioner contends that Butera's post-judgment motion was not a timely Rule 59(e) motion and thus did not toll his appeal. The Commissioner argues that Butera's notice of appeal was filed more than 60 days after the entry of the judgment denying Butera's disability benefits, and therefore his appeal is untimely.
This Court, in a previous order issued on October 31, 1997, considered and rejected the Commissioner's argument. A motions panel determined that Butera timely appealed the amended judgment. The motions panel cited U.S. E.E.O.C. v. Gurnee Inns, Inc., 956 F.2d 146, 149 (7th Cir.1992), for the proposition that the Court is "reluctant to hold that a party can be barred from appealing on the basis of an order that is not explicit." In Avitia v. Metropolitan Club of Chicago, Inc., 49 F.3d 1219, 1227 (7th Cir.1995) this Court stated that "[t]he doctrine of law of the case establishes a presumption that a ruling made at one stage of a lawsuit will be adhered to throughout the suit." In other words, a prior ruling of the Court dealing with the same subject matter and same parties in the same case is conclusive and is the law of the case. As such, we are not obligated to reconsider an issue that has previously been resolved before a motions panel of this Court at an earlier date. Thus, we move to consideration of the substantive issues of the case.B. The ALJ's Determination that Butera Was Capable of Light Work
We consider whether the ALJ reasonably found Butera capable of performing light work and, therefore, not disabled within the meaning of the Social Security Act. In reaching this finding, we consider whether the ALJ properly evaluated Butera's credibility and the opinions of the examining and/or reviewing physicians/surgeons contained within the record, including those of Chan, Bussan, Newton, An, and Scheidt. Butera contends that the trial court lacked substantial evidence to reject Newton's opinion concerning Butera's functional capacity. Additionally, Butera argues that the ALJ lacked substantial evidence to conclude that he was exaggerating his pain, despite the fact that the medical opinion reflected in the findings of the orthopaedic specialist An stated that Butera "appears to have much more pain [than normal] for his degree of herniation and is reluctant to try any types of medication" and An had suggested to Butera that he might benefit from enrollment in a pain clinic to learn how to deal with a degree of pain with and/or without the benefit of medication. The Commissioner responds that the ALJ properly determined that Butera could perform a significant number of jobs in the national economy and, thus, did not meet the statutory standard for being disabled.
The ALJ was charged with determining the extent to which Butera's medical impairments limited his ability to perform work-related tasks. The Social Security Act authorizes disability benefits for those who are unable "to engage in any substantial gainful activity by reason of any medically determinable impairment which can be expected to ... last for a continuous period of not less than 12 months." 42 U.S.C. § 423(d)(1)(A). An ALJ is required to sequentially address each of the following five issues in determining whether a claimant is disabled under the act: (1) is the claimant presently employed; (2) is the claimant's impairment or combination of impairments severe1; (3) do the claimant's impairments meet or exceed any of the specific impairments listed within the Code of Federal Regulations which the Commissioner acknowledges to be conclusively disabling; (4) are the claimant's impairments of such a nature that they limit his remaining or residual functional capacity to the degree that he is no longer able to perform the duties and demands of a former occupation; and (5) is the claimant unable to perform any other work in the national economy considering his age, education, and work experience. See Wolfe v. Shalala, 997 F.2d 321, 322-23 (7th Cir.1993) (citations omitted). If a claimant has satisfied the first two steps, he will automatically qualify as disabled if he suffers from a listed impairment. If the claimant does not have one of the impairments listed, but cannot perform his past work, as the ALJ found in this case, the burden shifts to the Commissioner to demonstrate that the claimant can perform other work in the national economy. See Allen v. Sullivan, 977 F.2d 385, 387 (7th Cir.1992). In order to satisfy this burden, the Commissioner has promulgated a regulatory standard to make the determination whether any other job can be performed. 20 C.F.R. § 404, Subpart P, App. 2. The vocational factors listed that are considered in this standard include age, education, and work experience. These three are combined with the claimant's residual functional capacity, which is his maximum work capability for sedentary, light, medium, heavy, or very heavy work. See id. Based on the record in this case, including the credibility of Butera's testimony and the opinion of the two Department of Health and Family Services physicians, Chan and Bussan, as well as the medical findings of the orthopaedic specialists, An and Scheidt, the ALJ determined that Butera was capable of light work and, therefore, was not disabled. Light work means that a person is capable of lifting a maximum of twenty pounds, with occasional lifting of up to ten pounds, and is capable of standing or walking most of the day. 20 C.F.R. §§ 404.1567(b), 416.967(b).
Judicial review of the Commissioner's decision is authorized by 42 U.S.C. §§ 405(g) and 1383(c)(3). Section 405(g) provides that "[t]he findings of the Commissioner of Social Security as to any fact, if supported by substantial evidence, shall be conclusive." "Although a mere scintilla of proof will not suffice to uphold the SSA's findings, the standard of substantial evidence requires no more than 'such relevant evidence as a reasonable mind might accept as adequate to support a conclusion.' " Diaz v. Chater, 55 F.3d 300, 305 (7th Cir.1995) (quoting Richardson v. Perales, 402 U.S. 389, 401, 91 S.Ct. 1420, 1427, 28 L.Ed.2d 842 (1971)). Because the Commissioner is responsible for weighing the evidence, resolving conflicts, and making independent findings of fact, see Perales, 402 U.S. at 399-400, 91 S.Ct. at 1426, this Court may not decide the facts anew, reweigh the evidence, or substitute its own judgment for that of the Commissioner to decide whether a claimant is or is not disabled. See Diaz, 55 F.3d at 305. Furthermore, when Congress expressly delegates the authority to an agency to promulgate regulations implementing a particular statutory provision, the agency's regulations are "entitled to more than mere deference or weight ... [they are] entitled to 'legislative effect.' " Schweiker v. Gray Panthers, 453 U.S. 34, 44, 101 S.Ct. 2633, 2640, 69 L.Ed.2d 460 (1981) (quoting Batterton v. Francis, 432 U.S. 416, 426, 97 S.Ct. 2399, 2406, 53 L.Ed.2d 448 (1977)).
In the case under consideration, Butera's allegation of disability must, to a degree, be based on the credibility of his subjective description of the symptoms and functional limitations that stem from his impairment. The ALJ was not persuaded by Butera's description of his symptoms and limitations and found that Newton's testimony, which was based upon Butera's complaints, was entitled to little weight. The ALJ, upon review of all the evidence in the record, gave credence to the findings of the independent expert orthopaedic surgeons and the two Department of Health and Family Services physicians and reached a conclusion about those functional activities in which Butera could engage. Specifically, the ALJ found that Dr. An had noted that Butera "appears to have much more pain [than normal] for his degree of herniation and is reluctant to try any types of medication" and should enroll and participate in a pain clinic. The ALJ also relied on Dr. Scheidt's finding that Butera possessed normal reflexes, sensation, and motor strength. While the ALJ found that Butera experienced some pain that would prevent him from performing heavier work, he specifically detailed a number of reasons for disbelieving Butera's description of the degree of functional limitation he was experiencing: (1) Butera was vague and evasive in answering questions; (2) Butera was hesitant and indefinite in describing the character, severity, and location of his pain; and (3) Butera declined, for reasons unknown, to volunteer any information about his work history, forcing the ALJ to ask detailed questions which revealed that Butera had been imprisoned on a burglary conviction and had been assessed interest and penalties for income tax evasion. The ALJ's credibility determination of Butera, based on these three factors, is precisely the sort of determination that this Court has recognized is entitled to particular deference as it "involve[s] intangible and unarticulable elements which impress the ALJ, that, unfortunately leave 'no trace that can be discerned in this or any other transcript.' " Edwards v. Sullivan, 985 F.2d 334, 338 (7th Cir.1993) (quoting Kelley v. Sullivan, 890 F.2d 961, 964 (7th Cir.1989)). In light of our holding in Edwards, we are of the opinion that the ALJ reasonably determined that the evidence as a whole did not lend credibility to Butera's assertion that he was "disabled" and completely unable to work as a result of back and leg pain. Furthermore, it is interesting to note that Butera gave no history of back ailments prior to the time he visited the emergency room, nor had he sought any treatment for his alleged pain prior to the emergency room episode or his application for disability benefits. When he initially sought treatment, he claimed he was suffering from chronic hip pain, but his x-rays revealed only mild degenerate changes in his spine. The orthopaedic surgeon, Scheidt, later discovered the herniated disc, but Butera refused to diligently follow his prescribed treatment regimen. The ALJ also noted that the orthopaedic surgeons, An and Scheidt, who examined Butera found no evidence of motor, sensory, or reflex loss, and furthermore Butera demonstrated the ability to walk on his heels and toes and the ability to straighten his legs.
Also, the ALJ relied on An's examination of Butera in concluding that Butera was exaggerating his pain. Butera takes issue with the ALJ's reliance on An's statement and argues that An did not state unequivocally that Butera was exaggerating his complaints and that this conclusion was reached by the ALJ, not An. Thus, Butera contends that there is insufficient substantial evidence supporting the conclusion that he was exaggerating his pain. However, it is undisputed that An did state unequivocally that the pain Butera complained of was greater than would have been expected in light of the MRI results concerning his herniated disc. An stated: "[Butera] appears to have much more pain for his degree of herniation and is reluctant to try any types of medication." This is not significantly different from what the ALJ stated in his opinion.
Also, one of Butera's treating physicians, Newton, concluded that Butera was in chronic pain and could not lift more than five pounds. It should be pointed out that the ALJ considered Newton's testimony and weighed it in conjunction with the medical findings of Scheidt and An, as well as the report of Department of Health and Family Services physicians Chan and Bussan. Based on this evidence the ALJ concluded that he "must reject the very low assessment of the claimant's physical capacities provided by Dr. Newton." Furthermore, this Court has repeatedly stressed that "a claimant's treating physician may be biased in favor of the claimant; bias that a consulting physician may not share...." Micus v. Bowen, 979 F.2d 602, 607 (7th Cir.1992). "The patient's regular physician may want to do a favor for a friend and client, and so the treating physician may too quickly find disability. The regular physician also may lack an appreciation of how one case compares with other related cases. A consulting physician may bring both impartiality and expertise." Stephens v. Heckler, 766 F.2d 284, 289 (7th Cir.1985) (citation omitted).
Butera claims that the ALJ's decision to reject Newton's opinion was contrary to the substantial evidence that demonstrated that Newton had taken x-rays and had fully examined Butera on three occasions. However, in rejecting Newton's opinion, the ALJ applied the criteria that the regulations require to weigh the value of a physician's opinion: (1) the nature and extent of the treatment relationship; (2) the degree to which the medical signs and laboratory findings support the opinion; (3) the degree to which the opinion takes into account all of the pertinent evidence in the record; (4) the persuasiveness of the opinion rendered; (5) the consistency of the opinion with the record as a whole; and (6) the specialization of the physician. 20 C.F.R. §§ 404.1527(d), 416.927(d). Considering each of these criteria in turn, we note initially that the treatment relationship for Newton's medical opinion was based on a one-time emergency room examination of Butera. Second, the medical signs and laboratory findings in this case, including x-rays and MRI tests, fail to lend support to Newton's opinion in as much as Butera's hip x-ray was normal and Scheidt's MRI test revealed that Butera's pain was exaggerated relative to the extent of herniation visible to the examining physician. Third, Newton's medical report revealed that in reaching her medical conclusion, Newton did not obtain any evidence beyond her own examination and Butera's subjective complaints. Fourth, Newton's opinion was not persuasive in that she expressly stated that her findings were based in part on Butera's complaints, which the ALJ delineated could be discounted. Fifth, the two orthopaedic specialists who examined Butera, An and Scheidt, were not generally in agreement with Newton's conclusions. And sixth, Newton referred Butera to an orthopaedic surgeon because she was not a spine specialist.2
In conclusion, Butera has fallen short of demonstrating that the ALJ lacked substantial evidence to reject Newton's opinion concerning Butera's functional capacity. Additionally, Butera has not established that the ALJ lacked substantial evidence to conclude that he was exaggerating his pain.
C. The ALJ's Denial of Butera's Subpoena Requests
The plaintiff next argues that the ALJ committed reversible error in denying Butera's subpoena requests for the two reviewing physicians with the Wisconsin Department of Health and Family Services, Chan and Bussan. The Commissioner responds that the ALJ properly denied Butera's subpoena requests because Butera failed to satisfy the regulatory requirements that he demonstrate that the subpoenas were "reasonably necessary to the full presentation of the case" or that the physicians would provide important facts that could not be proved without the issuance of the subpoenas, as provided in 20 C.F.R. §§ 404.950(d)(1), 416.1450(d)(1).
In a letter dated October 4, 1993, the plaintiff raised a hearsay objection to the residual function capacity assessment of Department of Health and Family Services physicians Chan and Bussan. The plaintiff sought subpoenas of these two physicians in order that he might compel their attendance at the hearing to allow him to cross-examine them. When the plaintiff renewed his objections at the hearing, the ALJ rejected the hearsay objection and refused to grant the subpoenas. The ALJ stated that: (1) he would take into account the lack of cross-examination; (2) the plaintiff would not bear the expense of producing the doctors; and (3) he generally gave greater weight to the opinions of treating physicians, including Scheidt, An, and Newton, than those of nontreating physicians. The ALJ concluded that the appearance of the state agency physicians would not aid the search for truth.
As noted by the Commissioner, an ALJ is authorized to issue a subpoena "[w]hen it is reasonably necessary for the full presentation of a case." 20 C.F.R. §§ 404.950(d)(1), 416.1450(d)(1). The party requesting the subpoena must "state the important facts that the witness or document is expected to prove; and indicate why these facts could not be proven without issuing a subpoena." 20 C.F.R. §§ 404.950(d)(2), 416.1450(d)(2). The Commissioner's regulation is consistent with the Administrative Procedures Act, which entitles an administrative claimant to "such cross-examination as may be required for a full and true disclosure of the facts." 5 U.S.C. § 556(d). "Cross-examination is thus not an absolute right in administrative cases." Central Freight Lines, Inc. v. United States, 669 F.2d 1063, 1068 (5th Cir.1982). In Perales, the Supreme Court considered whether the reports of several examining physicians in a benefits case constituted "substantial evidence" supporting a nondisability finding, notwithstanding the hearsay character of the report and the absence of cross-examination. The Court, in ruling that hearsay was permissible in administrative hearings, noted the "vast workings of the social security administrative system [which] make for reliability and impartiality in the consultant reports," as well as the "routine, standard and unbiased" nature of the reports themselves. Perales, 402 U.S. at 403-04, 91 S.Ct. at 1428. The Court also acknowledged as an "additional and pragmatic factor" the sheer "cost of providing live medical testimony at" all ALJ hearings. Perales, 402 U.S. at 406, 91 S.Ct. at 1430.
The Sixth Circuit addressed the right to subpoena witnesses in Calvin v. Chater, 73 F.3d 87 (6th Cir.1996). The court held:
We do not read Perales as suggesting that the right to subpoena witnesses is "absolute" in the sense that a party who requests a subpoena is automatically entitled to its issuance whether or not he has complied with the published rules governing such matters.
The claimant in Perales had not requested a subpoena at all, but if he had filed a request that failed to demonstrate need in the manner required by the regulations, we assume that the result would have been the same.
73 F.3d at 92 (citation omitted). Similarly, in Copeland v. Bowen, 861 F.2d 536, 539 (9th Cir.1988) (citation omitted), the Ninth Circuit held that a disability claimant is "not entitled to unlimited cross-examination, but is entitled to such cross-examination as may be required for a full and true disclosure of the facts. The ALJ has discretion to decide when cross-examination is warranted." See also Glenn v. Shalala, 21 F.3d 983, 988 (10th Cir.1994).
In the case under consideration, Butera fell short of fulfilling the regulatory requirement that he demonstrate that the presence of the Department of Health and Family Services physicians, Chan and Bussan, was required for a full presentation of his case or that the physicians would provide specific, important facts that could not otherwise be established. He offered no convincing argument why cross-examination of Chan and Bussan was necessary in his particular case. The only reasons Butera offered--that Chan and Bussan had not examined him personally and that their opinions were based on an incomplete record--are arguments related to the weight of the evidence, not as to why cross-examination was necessary. The ALJ in this case accepted Butera's position concerning the weight of the evidence, noting that "minor weight only, if that," would be given to the Department of Health and Family Services physicians' reports. The truth of the matter is that the ALJ found Butera more functionally limited than did the physicians of the Department of Health and Family Services. Furthermore, the ALJ reasoned that Butera did in fact have the opportunity to review and introduce all the evidence considered by the Department physicians as well as the opportunity to submit additional evidence.
In response, Butera somehow contends that the act of simply requesting a subpoena ultimately makes the issuance of the subpoena necessary for the full presentation of the case. To back this proposition, Butera cites the case of Lonzollo v. Weinberger, 534 F.2d 712, 714 (7th Cir.1976), which held that "[a] written report by a licensed physician who has examined the claimant may be received as evidence ... but the claimant has a right to subpoena the physician and cross-examine him concerning the report." Butera also cites Wallace v. Bowen, 869 F.2d 187 (3rd Cir.1989), for the same proposition. Initially, we point out that as the Sixth Circuit determined in Calvin v. Chater, 73 F.3d at 92, "[w]e do not read Perales as suggesting that the right to subpoena witnesses is 'absolute' in the sense that a party who requests a subpoena is automatically entitled to its issuance whether or not he has complied with the published rules governing such matters." Also, Lonzollo is not applicable to the circumstance in this case because Lonzollo concerned testimonial evidence that was submitted after the ALJ hearing had occurred. In this case, the medical testimony was submitted at the time of the ALJ hearing. Wallace also concerned the circumstance where evidence was submitted after the initial hearing. The court in Wallace noted "[i]t may be that different considerations apply to cross-examination with respect to post-hearing evidence because the applicant may find it more difficult to respond effectively to post-hearing reports in the absence of an opportunity to present live rebuttal evidence." 869 F.2d at 194. Thus, because Butera failed to convince the ALJ of the necessity of the presence of the Department of Health and Family Services physicians for purposes of cross-examination, the ALJ did not err in refusing to issue Butera the requested subpoenas.
IV. CONCLUSION
Substantial evidence supports the ALJ's finding that Butera remained capable of light work and was not disabled, and the ALJ reasonably discounted Butera's subjective complaints of pain as well as the opinion of a physician who was not a spine specialist. Also, the ALJ's action in denying Butera's request for a subpoena of the two state physicians was proper, for the plaintiff-appellant failed to demonstrate that a subpoena was reasonably necessary for the full presentation of his case or that the testimony would provide important information and facts that could not be presented without the issuance of a subpoena.
According to the Code of Federal Regulations, a "severe" impairment is one that "significantly limits [the claimant's] physical or mental ability to do basic work activities." 20 C.F.R. § 416.920(c)
The record discloses that Newton was an emergency room physician


text:
Machnatka-Parcela  is a village in the administrative district of Gmina Błędów, within Grójec County, Masovian Voivodeship, in east-central Poland. It lies approximately  west of Grójec and  south-west of Warsaw.

The village has a population of 260.

References

Machnatka-Parcela

redpajama_set_name: RedPajamaWikipedia


text:
Labour MPs who've ruled out a referendum should think again
Some Labour MPs are hesitant about holding another EU referendum. Although we understand their caution, the arguments…
Richard Corbett & Mary Creagh
28th January, 2019, 1:31 pm
Labour must recover its traditions, not back another referendum
The argument for a second referendum offers a tantalising promise of redemption from political chaos. But those in…
Jonathan Rutherford
WATCH: Fresh referendum takes place "if absolutely necessary", says Trickett
Jon Trickett has suggested Labour would only back another EU referendum if it became "absolutely necessary" and the…
9th December, 2018, 12:00 pm
What Labour's new amendment says about its Brexit position
Sign up to LabourList's morning email for everything Labour, every weekday morning. Labour has tabled an amendment to…
29th November, 2018, 11:35 am
The list of all Labour MPs openly backing a 'people's vote'
89 Labour MPs so far, over a third of the parliamentary party, have publicly expressed support for a…
29th November, 2018, 8:31 am
Labour moves to block 'no deal' Brexit with new amendment
Labour has tabled an amendment to the meaningful vote that would block any possibility of the UK leaving…
28th November, 2018, 10:31 pm
WATCH: McDonnell on Labour backing a 'people's vote'
John McDonnell has told the BBC that a vote of no confidence is "almost inevitable" and if that…
28th November, 2018, 3:27 pm
Gareth Snell: A 'people's vote'? It's an electoral headache for Labour
'Labour accepts the result of the referendum.' That's the opening line of the Brexit chapter in our dazzling…
Gareth Snell
21st September, 2018, 12:01 am
Will Labour conference 2018 debate a 'people's vote' on Brexit?
Over the next few weeks, hundreds of local Labour parties will consider a contemporary motion backing a 'people's…
11th August, 2018, 1:08 pm
Debbie Abrahams: 'Fake news' speaks to deeper problems in our society
The digital, culture, media and sports select committee's recent interim report on disinformation and 'fake news' should neither…
10th August, 2018, 9:51 am

redpajama_set_name: RedPajamaCommonCrawl


text:
Longtime OBU assistants land head coaching jobs
Home » Sports & Activities » Longtime OBU assistants land ...
By Ray Fink
SHAWNEE—Three long-time Oklahoma Baptist University (OBU) assistant coaches have landed head coaching opportunities in regional NCAA Division II schools.
Zach Johnson, Chris Klimas and Kyle Tolin had a combined 33 years of coaching experience on Bison Hill. Johnson is the new cross country coach at Cameron University, Klimas is now the head baseball coach at Rogers State University and Tolin took the helm of the men's basketball team at University of Arkansas-Monticello. All three are OBU alumni.
"All three of these men were outstanding coaches here and contributed a great deal to their respective programs," said OBU Director of Athletics Robert Davenport. "They will be missed here, but we are very proud of these three OBU alums and the impact they had both as athletes and coaches. These guys getting head coaching positions are tributes to their former head coaches who prepared them for their moves. We have great head coaches who prepared these guys in a way that will help them become great head coaches in their own rights."
Johnson has spent the last decade at OBU as the program's cross country and assistant track and field coach. During that time, Johnson was named Sooner Athletic Conference (SAC)/Region VI Coach of the Year six times in cross country and helped lead the Bison to six top-10 finishes at NAIA nationals.
Additionally, while at OBU, he coached student-athletes under NAIA legend Ford Mastin to 11 track and field individual national titles, one individual cross country national title, and two national records. During his 10 seasons at OBU, Johnson had 56 All-Americans, and 11 OBU records broken.
Johnson earned his undergraduate degree at Oklahoma Baptist where he was a track and field student-athlete. In 1999, he was crowned as the NAIA National Champion in the marathon and was a two-time national NAIA Cross Country qualifier. In the postseason, Johnson was a two-time NAIA All-American, and a three time NAIA Academic All-American.
After a two-year playing career, Klimas spent 13 years as an assistant head coach, eventually being promoted to associate head coach under NAIA Hall of Famer Bobby Cox.
Klimas has helped the Bison to four consecutive NAIA Baseball National Tournaments and qualified for the NAIA World Series twice in the last four years. Since 2011, the Bison have tallied an 80.8-percent winning percentage, registering a SAC Tournament Championship in 2012 and 2014.
"Leaving the OBU family is an extremely bittersweet moment for Penny and me, but the opportunity at Rogers State is an incredible situation, and is something that my family and I are excited to begin," said Klimas. "Leaving the people and university that I have come to love is by far the hardest part of making this move. My experience at OBU has been much more than a job to me over the past 13 years; it has been so enjoyable that I've never had a day that I've felt like I had to go to work."
Tolin played four years at OBU, earning Outstanding Senior Athlete honors and leading the team in assists three seasons. Tolin scored more than 1,000 points during his four-year career, and was a two-time All-SAC honorable mention. He played in every game during his career, and in addition to his scoring, averaged 4.3 assists per game overall.
He spent 10 years as an assistant coach, the last few years as associate head coach under his father, Doug Tolin, winner of the 2010 NAIA Coach of the Year honors.
"I am so thankful that I got the opportunity to work at such a great institution as OBU and under such a high character man in my dad," said Kyle Tolin. "He has given me the road map for how you run a successful program through hard work, accountability and integrity, and I am forever in debt for the opportunity he has allowed me.
"OBU is a great place. It is a place that I will always consider home. My family and I have some of our greatest memories on Bison Hill. OBU has been a family to me and a place I have enjoyed being mentored and grown in all aspects of my life."
During his coaching career, Tolin helped OBU obtain the highest winning percentage of any four-year university in Oklahoma. The Bison pulled off three straight Sooner Athletic Conference championships from 2010-2012.
Author: Ray Fink
Ray Fink is the Director of Athletic Media Relations at OBU
View more articles by Ray Fink.
OBU offensive lineman Clark named to AFCA Allstate 'Good Works Team' Sep 29, 2016
PERSPECTIVE: Follow-up Jul 12, 2007
Perspective: The sound of silence Sep 30, 2014


text: Q: How can I check if a rect is colliding with another color then print true? I am making a game in pygame, my character is simply going through the walls and I want it to stop whenver it collides with a wall. Instead of creating a rect around each and every wall I want to just check whether it is colliding with the color of the wall. This way I wouldn't have to create hundreds of rects around my wall.

redpajama_set_name: RedPajamaStackExchange


text:
Q: How Do I Update Gridview in Real Time Can someone suggest me some .net development code for Real time updates in gridview?
I have one gridview in my webform. If i upload file in fileupload to sqlserver, my gridview from another computer or another browser then my current browser will automatically refresh with the changes. I don't need click manuallly refresh button or F5 to see the changes in my gridview.
thanks.

A: here is the some option you can use

*

*use a timer of the client and periodically poll for changes

*use WebSockets

*use Server-Sent Events (Content-Type: text/event-stream) but this
is not supported by IE

*signalR


[Breaking News] Starwood Accepts Counter Offer from Marriott!
Marriott has responded to last week's offer by Chinese insurer Anbang. Marriott's new offer is $13.6 billion which exceeds Angbang's $13.2 billion offer from last week. Marriott's original offer was $12.2 billion. Marriott justified it's new higher offer citing increased efficiencies as a result of a proposed merger.
Our hope here at Thrifty Traveler is that Anbang will counter this offer and ultimately purchase Starwood. It is likely that the Starwood Preferred Guest (SPG) program would remain mostly intact with an Anbang purchase. If Marriott ultimately purchases Starwood, it is likely that the SPG program would be gutted when it is merged with Marriott's program. Let the bidding war continue! Stay tuned!
Next story Last day to book before the American AAdvantage Devaluation!
Previous story American Airlines AAdvantage Devaluation Coming March 22nd!


Home :: Photography "950 years"
Gallery 4 was asked for active participation on the preparation for celebrations of 950 years of the first historical reference of Cheb by the city council. One of the events that the Gallery 4 organised, was a collective photography of 950 citizens in 2010 - the citizens formed 15 meters wide numeral of 950, taken from above and another one in Krajinka. Both photographs were taken by famous photographer Miro Švolík, who is famous for his bird's perspective pictures. Photographies will be used for 2011 propagation of this important jubileé.
The first photography, taken from above on the Square of King George from Poděbrady, was submitted for Czech book of records that is released annually by Dobrý den agency from Pelhřimov.
Inspection from Dobrý den agency confirmed the record and the city received a certificate, stating the inclusion of the record in the book of records.
Very complicated organisation of this event included preparation several months ahead - mainly in registering the 950 citizens, construction of numerals deformed by perspective, supporting 30 meters high fire brigade platform, cooperation with police, ambulance and organisers.
By the end of the year 2010 an exhibition of photographies documenting the preparations and the final event took place.


text:
Regular events in the University Year
Race and the Curriculum
Women of Achievement
Latest University updates
University to pay settlement fees for all EU staff
EU referendum and Brexit: Analysis
THE world university rankings
HomeNewsOxford University claims top world ranking for second year
Oxford University claims top world ranking for second year
UniversityInnovationResearch
Oxford University has claimed the top spot in Times Higher Education World University Rankings 2018, which judge the performance of 980 universities across 79 countries.
In last year's rankings Oxford became the first British university ever to occupy top position in the global table. The University has now maintained that position for the second year running.
Times Higher Education describes the World University Rankings as the only international league table to assess universities across all activities, analysing their teaching, research, citations, industry collaboration and international outlook. Oxford's innovative research was identified as a particular strength, generating a large rise in institutional income.
'I am delighted that Oxford has held its position at the top of these global rankings,' said Professor Louise Richardson, Vice-Chancellor of Oxford University. 'Success in our field is never an accident; it is achieved by a relentless pursuit of excellence, creative brilliance and a deep commitment to our enduring values. To be judged the best university in the world for the second successive year, against a backdrop in which Britain's role in the world is uncertain and the place of universities in society open to question, will be a great source of pride for everyone at Oxford, and, I hope, for the whole country.'
Oxford's top ranking reflects its all-round strength in contemporary research and teaching. Renowned as the oldest University in the English speaking world, modern Oxford is at the forefront of the full range of academic disciplines, including medical sciences, science and engineering, humanities and social sciences. Knowledge transfer and the development of new technologies are among its key priorities.
The University's collegiate system lies at the heart of its success, giving students and academics the benefit of belonging both to a large, internationally renowned institution and to an intimate, interdisciplinary academic community.
The United Kingdom is now home to the world's top two universities for the first time in the 13-year history of the table, with the University of Cambridge jumping from fourth to second.
Phil Baty, Editorial Director, Global Rankings, THE, said: 'The data shows UK universities are consistently producing ground-breaking new research which is driving innovation, they are attracting international student and academic talent and are providing a world-class teaching environment. They are a huge national asset, and one that the country can ill afford to undermine at a time when its place in the global order is under intense scrutiny.'
The full results and analysis can be found here: https://www.timeshighereducation.com/world-university-rankings/2018/world-ranking
Oxford professor appointed Chief Scientific Adviser at Defra
Oxford to lead quantum computing hub as part of UK's research and innovation drive
Finger-prick blood test could help reduce antibiotic use for some patients
University researchers awarded for their work in public and community engagement


Every year the IRS releases new limits for how much you can contribute to Individual Retirement accounts and Health Savings accounts for the tax year. In 2017, the contribution limits did not go up from last year, though the income phaseouts (meaning if your income is between these numbers your ability to contribute is reduced, and if your income is above the top number, you cannot contribute at all) did slightly.
Photo used under Flickr Creative Commons license.


Eleanor Farjeon fights with her brother one day. She knows it is not good to quarrel, but she can't help it. What happens after the quarrel? Do they make up? Do they talk to each other? Recite this poem and find out.


text:
<?php

namespace Oro\Bundle\TestFrameworkBundle\Test\DataFixtures;

use Nelmio\Alice\Instances\Processor\Methods\MethodInterface;
use Nelmio\Alice\Instances\Processor\Processable;
use Nelmio\Alice\Instances\Processor\ProcessableInterface;
use Nelmio\Alice\Instances\Processor\Processor;

class AliceToStringProcessor implements MethodInterface
{
    private static $regex = '/^<toString\((?P<value>[^<]*)\)>$/';

    /**
     * @var Processor
     */
    protected $processor;

    public function setProcessor(Processor $processor)
    {
        $this->processor = $processor;
    }

    /**
     * {@inheritdoc}
     */
    public function canProcess(ProcessableInterface $processable)
    {
        return
            is_string($processable->getValue())
            && $processable->valueMatches(static::$regex)
            ;
    }

    /**
     * {@inheritdoc}
     */
    public function process(ProcessableInterface $processable, array $variables)
    {
        $value = null !== ($processable->getMatch('value')) ? $processable->getMatch('value') : null;

        return (string) $this->processor->process(new Processable($value), $variables);
    }
}

redpajama_set_name: RedPajamaGithub


text:
Flying facts
A few years ago, a UK commentator said that one transatlantic flight, with its impact on the climate, was tantamount to child abuse.
The comparison was inappropriate, and some would say laughable.
But on 28 May the Independent newspaper in Britain carried a set of comparisons that can help more informed thinking and reflection on the impact of flying.
* Air travel produces 19 times the greenhouse gas emissions of trains; and 190 times that of a ship.
* Aviation could contribute 15 per cent of greenhouse gases each year if unchecked.
* Greenhouse gas emissions caused by UK air travel have doubled in the past 13 years, from 20.1m tons in 1990 to 39.5m tons in 2004.
* During the same period emissions from UK cars rose by 8m tons, to 67.8m tons.
* One return flight to Florida produces the equivalent CO2 of a year's average motoring.
* Emissions at altitude have 2.7 times the environmental impact of those on the ground.
* Air travel is growing at UK airports at an average of 4.25 per cent. In 1970, 32 million flew from UK airports; in 2002, 189 million. By 2030 some 500 million passengers may pass through UK airports.
* Cargo transportation is growing by 7 per cent a year. In 1970, 580,000 tons of freight were moved by plane; in 2002, 2.2 million tons. It is forecast to reach 5 million tons in 2010.
* 50 per cent of the UK population flew at least once in 2001.
* Flying 1kg of asparagus from California to the UK uses 900 times more energy than the home-grown equivalent.
full story from Michael McCarthy, Marie Woolf and Michael Harrison here


text:
Chapman Takes Two From Red Devils
Dickinson (3-8) 0 0 0 0 0 0 0 1 1 2 7 1
Chapman (12-7) 1 0 0 0 0 4 0 1 X 6 8 2
Dickinson (3-9) 0 1 0 0 0 0 0 1 7 1
Chapman (13-7) 0 0 6 4 2 0 X 12 15 0
2B: Max Brown
3B: Andrew Mendonca
HR: Gavin Blodgett
2B: Robbie Thompson; Alex Jacobson
2B: Tristan Kevitch; Gavin Blodgett
(Orange, Calif.) – The Dickinson baseball team dropped a pair of games at Chapman University in California on Thursday afternoon, falling 6-2 and 12-1.
The Red Devils looked to rally late in the opener, scoring runs in the final two innings, but came up short. Senior Robbie Thompson (Camp Hill, Pa./Camp Hill) went 3-for-3 on the day, with an RBI and two walks.
Max Brown (Annapolis, Md./McDonogh) doubled and Alex Jacobson (Wilton, Conn./Wilton) came on to add a pinch-hit single and score a run.
Jacobson doubled in game two, moving Ben Carter (Wyomissing, Pa./Wyomissing) to third to set up and RBI single for David Farnham (Atherton, Calif./Menlo School) in the second inning.
Chapman had a big third, scoring six runs and added four in the fourth and two in the fifth to secure the win.
Jacobson and Farnham each went 2-for-3 in the nightcap while Thompson added a double.
The Red Devils slip to 3-9 on the season. They close out the week tomorrow with a double-header at Occidental College.


Does your auto insurance offer enough protection? Learn about these common coverage gaps and make sure you have the protection you need.
If you own a car, every state requires you to have some level of auto insurance. However, these insurance minimums aren't enough to adequately protect you and can leave you vulnerable. Learn about these common coverage gaps and make sure you have the right auto insurance for your needs.
If you are in an accident and are unable to drive your vehicle, you might have to rely on a rental car or other transportation service (bus, taxi, etc.). However, many auto insurance policies don't provide coverage for these expenses. If your policy doesn't cover transportation expenses, that taxi fare might be coming straight from your pocket.
Most auto insurance policies provide coverage for you and the family members who live with you. So, if you have a child who is going off to college, your auto policy might not cover them. Your policy might cover a student living in a college dorm; however, your policy might exclude your child if they are living in an off-campus apartment. Check with your insurance provider to make sure that your college student has protection while they're away.
Do you own a luxury car? If you do, then damages to your luxury or specialty vehicle might not be repaired using original manufacturer equipment. While your insurance policy will cover damages, coverage might not include new, manufacturer specific parts. For example, if your brand-new BMW needs repairs, then broken equipment might be replaced using non-BMW, or refurbished BMW parts.
Standard auto insurance policies may not cover flood damage to your vehicle. This means that the financial costs of any flood damages will fall on your shoulders. If you live in a high flood risk area, then talk to your insurance provider and make sure that your car has coverage for flooding.
Mind these common gaps in auto insurance policies, and make sure you have the protection you need. To find the right auto insurance for you, contact the professionals at Udell Family Insurance and get started today.


All six Goessel golfers finished with an individual medal May 9 at the Wheat State League vs. Heart of the Plains League Challenge.
Shane Goerzen, Trey Schmidt, and Braden Unruh all finished with an 89 earning fourth, fifth, and seventh places, respectively.
Neal Brubaker followed with a 90 and eighth place and Davis Cook was right behind with a 91 for 12th. Jake Smucker carded a 97 for 13th.
Unruh shot an excellent 41 on the front nine with Goerzen, Schmidt, and Brubaker playing consistently all the way around the course.
The Goessel team returned to Pretty Prairie Monday for the 1A regional golf meet. The top three teams at each regional will move on to the state tournament. In addition, the top five individuals that are not part of the qualifying teams will also compete at state at Emporia.


Home → News & Blog → The iPhone vs. the Samsung Galaxy – is One Better than the Other?
The iPhone vs. the Samsung Galaxy – is One Better than the Other?
When you are trying to buy the latest phone, you want to make sure that you take a look at everything that you need to know about the process. How much do you want to spend on it? What sorts of features do you need in order to achieve your goals? And what is going to be able to stand the test of time when it comes to the hardware?
You will likely start to discover that there are a lot of things that you need to consider when you start looking at your potential devices. Many people will get to a point where they assume that their solution is going to be a simple one – do they want to invest in an iPhone, or would it be better for them to go ahead and put their money into the Samsung Galaxy? Is one of them actually better than the other, or does it not really matter what you are going to want to do with your options?
The fact of the matter is, there is not one really good answer. It depends on what you prefer. Some people believe that the Android interface is a lot easier to use than the iPhone one, so they would go with a Samsung Galaxy device instead. Others believe that the iPhone is much better quality and offers more when it comes to apps and other upgrades that you may want to get. In short, you want to look around and compare the various devices that are on the market and see what ones have the traits that are most important to you. Then, you will know which one is actually going to be the best one for you and your needs.
Many times, you want to make sure that what you get is going to keep up with anything and everything that you may be trying to do as time goes on. A piece of hardware that is not going to break easily and that you are likely going to keep for many years is what you want to go with. And both the Galaxy and the iPhone have recent models which make that goal much easier for you to achieve in the long run.
No matter what phone you want to purchase or that you decide to choose for your needs, you want to consider all of the plans that we provide at https://www.telcoworld.com.au/plans/. We offer iPhones, Galaxies, and a number of other phones that you can activate with the various plans that we have available. Our professional staff can help you to take a look at what we have to offer and help you to decide which phone would be the right one for you.


text:
Forbes Reveals 2017's Top Grossing Country Artists
Six months have already gone by and 2017 has been a roller coaster ride with so many successful country music stars making bigger names in the industry. As the competition grows fiercer, it seems that neither the classic or modern country artists are just about to throw in the towel in the battle of whose songs drew in the most hits in the jackpot.
Without further ado, Forbes finally revealed its yearly ranking of the top-earning musicians for the Country genre. Widely recognized as "the magazine authority on all things involving finance and business", Forbes assembled this year's list by combining independent research on pretax income estimates from June 1 2016 to June 1 2017. The accumulated data was combined with a comparison of Nielsen's record sales data and compiled Pollstar touring numbers.
The list revealed that its highest ranked performers raked majority of their earnings from concert sales.
1. Garth Brooks
Garth Brooks emerged as the artist who garnered the most income for his performances. He earned a whopping $60 million mostly from his record-breaking world tours. He also had a fully booked schedule from his back-to-back shows in multiple major cities. Making it to the top spot for highest grossing country singer is a testament that Brooks had surpassed fellow top-earner Dolly Parton, who holds the longest running career in the country industry.
2. Kenny Chesney
Chesney follows the list with $42.5 million cash drawn into his bank account. He was a real crowd pleaser in all of his tours and appearances. Aside from jam-packed performances left and right, the country singer appeared in commercial endorsements for Corona and Apple, to name a few.
3. Luke Bryan
At number three is Luke Bryan, who reportedly raked in $42 million for 2017. Unlike his fellow country singers who made it in the list, part of his gigantic income was traced back from his HFE clothing line, which was sold by Buck Commander, his co-owned company with Willie Robertson from Duck Dynasty, and Cabela's.
4. Dolly Parton
The lovely and bodacious Dolly was the only female country artist to make it in this year's list. Thanks to her theme park, Pigeon Forge in Tennessee, the country legend was able to add in a total of $37 million to her earnings in the previous year.
5. Toby Keith and Florida Georgia Line
Tied at $34.5 million are Toby Keith and Florida Georgia Line. Forbes attributes the financial success of both artists after they have taken their music to the next level by incorporating the mainstream combination of country and pop.
6. Jason Aldean
Based on his tour records, Forbes estimated that the Aldean made over $1 million for every city where he performed and promoted his latest album, They Don't Know. Currently standing on 6th place, Aldean was able to accumulate about $32.5 million this year.
7. Blake Shelton
While Shelton isn't big on tours and album releases like his contenders, he owes his $31.5 million earning to his big role as one of the judges and mentors on the hit singing contest, The Voice.
Compared to 2016's top grossing artists where only five made it to the $30 million mark, 2017 evened out the plane by letting money rain of a couple more artists.
Did your favorite artist make it to the list? Yes? No? Well, if they didn't, they can always try harder next year.
Blake Shelton, Dolly Parton, Florida Georgia Line, Garth Brooks, Jason Aldean, Kenny Chesney, Luke Bryan, Toby Keith
Jennifer Hudson Sings A Medley of Christmas Gospel Songs
Luke Combs' Net Worth + Facts: Everything You Need To Know About The Country Star
Alan Jackson's "Where Were You," A Deep Ballad Dedicated to 9/11
Inspired By A Road Tour, Lynn's "You're Lookin' At Country"
2019 CMA Awards Winners for Single and Song of the Year
Luke Bryan and Caroline Bryan Embarrassed Their Children
Dolly Parton Talks About a Possible Sequel for 9 to 5 and more on The View
Blake Shelton and Gwen Stefani's Chemistry is on Full Display in "Happy Anywhere"
Remembering Maybelle Carter's 41st Death Anniversary
CJ Solar's "Coming My Way" Impacts Radio on September 30
Don Williams Sings A Wistful, Loping Ode To Marital Bonds With "You're My Best Friend"


Today we are giving you the chance to win a Squid Soap – The innovative, gentle children's soap teaches tots to wash their hands properly in a fun and interactive way, it even comes with a colourful squid toy. By simply pushing down on the dispenser, a washable stamp is stamped on their hand, which children can wash off with the gentle, creamy lather, to clean their hands thoroughly.
To find out what we thought about Squid Soap, pop over to this page. I think these soaps would be great in schools, nurseries and public toilets, what do you think?
These soaps look fun – my son might "remember" to always wash his hand with these!
Looks fab! My kids would love this!
Wonderful thanks and Happy Mother's day!
You are spot on! That's awful!
My son would love these they look fab!
My son would love this in his bath.
fab gift for the kids!!
Would love to try !
This would certainly make handwashing fun for my little one!
love this idea to help with handwashing!
A really fun looking soap.
My daughters would absolutely love this!
Thanks for the competition! Good luck everyone.
These are great, might stop my daughter pretending to forget to wash her hands!


If the diagnosis is uncertain or a cutaneous malignancy is suspected, the dermatologic surgeon may perform a small punch biopsy (using a local anesthetic) for examination under the microscope by the dermatologist who is a trained dermatopathologist.
The skin is obviously accessible to topical local therapy. Antibiotic creams can help eliminate infections, while inflammatory skin diseases (such as eczema and psoriasis) often respond to steroid creams or topical anthralin. Dermatologists are innovators of new immune enhancing treatments, like topical imiquimod for superficial cancers and injection immunotherapy for warts as discussed below.
Topical medications treat many dermatological diseases, but dermatologists also use oral medications. Antibiotics and immune suppressants or immune enhancing agents (injection immunotherapy or topical imiquimod) for dermatological diseases or tumors. Isotretinoin ("Accutane") is used for severe cystic acne vulgaris and often produces a lifetime remission of this disfiguring disease. Isotretinoin prescribing in the U.S. is now controlled by a cumbersome FDA governmental website called iPLEDGE. Various new modalities of treatment are in the foray; with the advent of laser technology things are quite promising.
Photomedicine involves the use of ultraviolet light, often in combination with oral or topical agents, to treat skin disease (e.g., psoriasis or mycosis fungoides).
Psychodermatology and hypnodermatology involve using hypnosis in combination with other pseudo-psychological therapies to treat skin disorders.
From the basic science of cutaneous genetics and immunology, to the practical application of new knowledge and technology in the diagnosis and management of skin disease (like psoriasis) and surgical treatment of skin cancer, dermatologists have been among the leaders in the field. The annual meeting of the American Academy of Dermatology is one of the keys for rapid dissemination of new knowledge to the practicing dermatologist and dermatologic surgeon.
This page was last edited on १२ मार्च २०१३, at २०:५७.


text:
/*=========================================================================

  Library:   CTK

  Copyright (c) Kitware Inc.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0.txt

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

=========================================================================*/

// STL includes
#include <iostream>
#include <stdexcept>

// MITK includes
#include "mitkCommandLineParser.h"

using namespace std;

namespace
{
  // --------------------------------------------------------------------------
  class CommandLineParserArgumentDescription
  {
  public:
    CommandLineParserArgumentDescription(const string &longArg,
                                         const string &longArgPrefix,
                                         const string &shortArg,
                                         const string &shortArgPrefix,
                                         mitkCommandLineParser::Type type,
                                         const string &argHelp,
                                         const string &argLabel,
                                         const us::Any &defaultValue,
                                         bool ignoreRest,
                                         bool deprecated,
                                         bool optional,
                                         string &argGroup,
                                         string &groupDescription)
      : LongArg(longArg),
        LongArgPrefix(longArgPrefix),
        ShortArg(shortArg),
        ShortArgPrefix(shortArgPrefix),
        ArgHelp(argHelp),
        ArgLabel(argLabel),
        ArgGroup(argGroup),
        ArgGroupDescription(groupDescription),
        IgnoreRest(ignoreRest),
        NumberOfParametersToProcess(0),
        Deprecated(deprecated),
        Optional(optional),
        DefaultValue(defaultValue),
        Value(type),
        ValueType(type)
    {
      Value = defaultValue;

      switch (type)
      {
        case mitkCommandLineParser::String:
        {
          NumberOfParametersToProcess = 1;
        }
        break;
        case mitkCommandLineParser::Bool:
        {
          NumberOfParametersToProcess = 0;
        }
        break;
        case mitkCommandLineParser::StringList:
        {
          NumberOfParametersToProcess = -1;
        }
        break;
        case mitkCommandLineParser::Int:
        {
          NumberOfParametersToProcess = 1;
        }
        break;
        case mitkCommandLineParser::Float:
        {
          NumberOfParametersToProcess = 1;
        }
        break;

        case mitkCommandLineParser::OutputDirectory:
        case mitkCommandLineParser::InputDirectory:
        {
          NumberOfParametersToProcess = 1;
        }
        break;

        case mitkCommandLineParser::OutputFile:
        case mitkCommandLineParser::InputFile:
        {
          NumberOfParametersToProcess = 1;
        }
        break;
        case mitkCommandLineParser::InputImage:
        {
          NumberOfParametersToProcess = 1;
        }
        break;

        default:
          std::cout << "Type not supported: " << static_cast<int>(type);
      }
    }

    ~CommandLineParserArgumentDescription() {}
    bool addParameter(const string &value);

    string helpText();

    string LongArg;
    string LongArgPrefix;
    string ShortArg;
    string ShortArgPrefix;
    string ArgHelp;
    string ArgLabel;
    string ArgGroup;
    string ArgGroupDescription;
    bool IgnoreRest;
    int NumberOfParametersToProcess;
    bool Deprecated;
    bool Optional;

    us::Any DefaultValue;
    us::Any Value;
    mitkCommandLineParser::Type ValueType;
  };

  // --------------------------------------------------------------------------
  bool CommandLineParserArgumentDescription::addParameter(const string &value)
  {
    switch (ValueType)
    {
      case mitkCommandLineParser::String:
      {
        Value = value;
      }
      break;
      case mitkCommandLineParser::Bool:
      {
        if (value.compare("true") == 0)
          Value = true;
        else
          Value = false;
      }
      break;
      case mitkCommandLineParser::StringList:
      {
        try
        {
          mitkCommandLineParser::StringContainerType list =
            us::any_cast<mitkCommandLineParser::StringContainerType>(Value);
          list.push_back(value);
          Value = list;
        }
        catch (...)
        {
          mitkCommandLineParser::StringContainerType list;
          list.push_back(value);
          Value = list;
        }
      }
      break;
      case mitkCommandLineParser::Int:
      {
        stringstream ss(value);
        int i;
        ss >> i;
        Value = i;
      }
      break;
      case mitkCommandLineParser::Float:
      {
        stringstream ss(value);
        float f;
        ss >> f;
        Value = f;
      }
      break;

      case mitkCommandLineParser::InputDirectory:
      case mitkCommandLineParser::OutputDirectory:
      {
        Value = value;
      }
      break;

      case mitkCommandLineParser::InputFile:
      case mitkCommandLineParser::InputImage:
      case mitkCommandLineParser::OutputFile:
      {
        Value = value;
      }
      break;

      default:
        return false;
    }

    return true;
  }

  // --------------------------------------------------------------------------
  string CommandLineParserArgumentDescription::helpText()
  {
    string text;

    string shortAndLongArg;
    if (!this->ShortArg.empty())
    {
      shortAndLongArg = "  ";
      shortAndLongArg += this->ShortArgPrefix;
      shortAndLongArg += this->ShortArg;
    }

    if (!this->LongArg.empty())
    {
      if (this->ShortArg.empty())
        shortAndLongArg.append("  ");
      else
        shortAndLongArg.append(", ");

      shortAndLongArg += this->LongArgPrefix;
      shortAndLongArg += this->LongArg;
    }

    text = text + shortAndLongArg + ", " + this->ArgHelp;

    if (this->Optional)
      text += " (optional)";

    if (!this->DefaultValue.Empty())
    {
      text = text + ", (default: " + this->DefaultValue.ToString() + ")";
    }
    text += "\n";
    return text;
  }
}

// --------------------------------------------------------------------------
// ctkCommandLineParser::ctkInternal class

// --------------------------------------------------------------------------
class mitkCommandLineParser::ctkInternal
{
public:
  ctkInternal() : Debug(false), FieldWidth(0), StrictMode(false) {}
  ~ctkInternal() {}
  CommandLineParserArgumentDescription *argumentDescription(const string &argument);

  vector<CommandLineParserArgumentDescription *> ArgumentDescriptionList;
  map<string, CommandLineParserArgumentDescription *> ArgNameToArgumentDescriptionMap;
  map<string, vector<CommandLineParserArgumentDescription *>> GroupToArgumentDescriptionListMap;

  StringContainerType UnparsedArguments;
  StringContainerType ProcessedArguments;
  string ErrorString;
  bool Debug;
  string::size_type FieldWidth;
  string LongPrefix;
  string ShortPrefix;
  string CurrentGroup;
  string DisableQSettingsLongArg;
  string DisableQSettingsShortArg;
  bool StrictMode;
};

// --------------------------------------------------------------------------
// ctkCommandLineParser::ctkInternal methods

// --------------------------------------------------------------------------
CommandLineParserArgumentDescription *mitkCommandLineParser::ctkInternal::argumentDescription(const string &argument)
{
  string unprefixedArg = argument;

  if (!LongPrefix.empty() && argument.compare(0, LongPrefix.size(), LongPrefix) == 0)
  {
    // Case when (ShortPrefix + UnPrefixedArgument) matches LongPrefix
    if (argument == LongPrefix && !ShortPrefix.empty() && argument.compare(0, ShortPrefix.size(), ShortPrefix) == 0)
    {
      unprefixedArg = argument.substr(ShortPrefix.size(), argument.size());
    }
    else
    {
      unprefixedArg = argument.substr(LongPrefix.size(), argument.size());
    }
  }
  else if (!ShortPrefix.empty() && argument.compare(0, ShortPrefix.size(), ShortPrefix) == 0)
  {
    unprefixedArg = argument.substr(ShortPrefix.size(), argument.size());
  }
  else if (!LongPrefix.empty() && !ShortPrefix.empty())
  {
    return nullptr;
  }

  if (ArgNameToArgumentDescriptionMap.count(unprefixedArg))
  {
    return this->ArgNameToArgumentDescriptionMap[unprefixedArg];
  }
  return nullptr;
}

// --------------------------------------------------------------------------
// ctkCommandLineParser methods

// --------------------------------------------------------------------------
mitkCommandLineParser::mitkCommandLineParser()
{
  this->Internal = new ctkInternal();
  this->Category = string();
  this->Title = string();
  this->Contributor = string();
  this->Description = string();
  this->ParameterGroupName = "Parameters";
  this->ParameterGroupDescription = "Parameters";
}

// --------------------------------------------------------------------------
mitkCommandLineParser::~mitkCommandLineParser()
{
  delete this->Internal;
}

// --------------------------------------------------------------------------
map<string, us::Any> mitkCommandLineParser::parseArguments(const StringContainerType &arguments, bool *ok)
{
  // Reset
  this->Internal->UnparsedArguments.clear();
  this->Internal->ProcessedArguments.clear();
  this->Internal->ErrorString.clear();
  // foreach (CommandLineParserArgumentDescription* desc, this->Internal->ArgumentDescriptionList)
  for (unsigned int i = 0; i < Internal->ArgumentDescriptionList.size(); i++)
  {
    CommandLineParserArgumentDescription *desc = Internal->ArgumentDescriptionList.at(i);
    desc->Value = us::Any(desc->ValueType);
    if (!desc->DefaultValue.Empty())
    {
      desc->Value = desc->DefaultValue;
    }
  }
  bool error = false;
  bool ignoreRest = false;
  CommandLineParserArgumentDescription *currentArgDesc = nullptr;
  vector<CommandLineParserArgumentDescription *> parsedArgDescriptions;
  for (unsigned int i = 1; i < arguments.size(); ++i)
  {
    string argument = arguments.at(i);

    if (this->Internal->Debug)
    {
      std::cout << "Processing" << argument;
    }
    if (!argument.compare("--xml") || !argument.compare("-xml") || !argument.compare("--XML") ||
        !argument.compare("-XML"))
    {
      this->generateXmlOutput();
      return map<string, us::Any>();
    }

    // should argument be ignored ?
    if (ignoreRest)
    {
      if (this->Internal->Debug)
      {
        std::cout << "  Skipping: IgnoreRest flag was been set";
      }
      this->Internal->UnparsedArguments.push_back(argument);
      continue;
    }

    // Skip if the argument does not start with the defined prefix
    if (!(argument.compare(0, Internal->LongPrefix.size(), Internal->LongPrefix) == 0 ||
          argument.compare(0, Internal->ShortPrefix.size(), Internal->ShortPrefix) == 0))
    {
      if (this->Internal->StrictMode)
      {
        this->Internal->ErrorString = "Unknown argument ";
        this->Internal->ErrorString += argument;
        error = true;
        break;
      }
      if (this->Internal->Debug)
      {
        std::cout << "  Skipping: It does not start with the defined prefix";
      }
      this->Internal->UnparsedArguments.push_back(argument);
      continue;
    }

    // Skip if argument has already been parsed ...
    bool alreadyProcessed = false;
    for (auto alreadyHandledArgument : Internal->ProcessedArguments)
      if (argument.compare(alreadyHandledArgument) == 0)
      {
        alreadyProcessed = true;
        break;
      }

    if (alreadyProcessed)
    {
      if (this->Internal->StrictMode)
      {
        this->Internal->ErrorString = "Argument ";
        this->Internal->ErrorString += argument;
        this->Internal->ErrorString += " already processed !";
        error = true;
        break;
      }
      if (this->Internal->Debug)
      {
        std::cout << "  Skipping: Already processed !";
      }
      continue;
    }

    // Retrieve corresponding argument description
    currentArgDesc = this->Internal->argumentDescription(argument);

    // Is there a corresponding argument description ?
    if (currentArgDesc)
    {
      // If the argument is deprecated, print the help text but continue processing
      if (currentArgDesc->Deprecated)
      {
        std::cout << "Deprecated argument " << argument << ": " << currentArgDesc->ArgHelp;
      }
      else
      {
        parsedArgDescriptions.push_back(currentArgDesc);
      }

      this->Internal->ProcessedArguments.push_back(currentArgDesc->ShortArg);
      this->Internal->ProcessedArguments.push_back(currentArgDesc->LongArg);
      int numberOfParametersToProcess = currentArgDesc->NumberOfParametersToProcess;
      ignoreRest = currentArgDesc->IgnoreRest;
      if (this->Internal->Debug && ignoreRest)
      {
        std::cout << "  IgnoreRest flag is True";
      }

      // Is the number of parameters associated with the argument being processed known ?
      if (numberOfParametersToProcess == 0)
      {
        currentArgDesc->addParameter("true");
      }
      else if (numberOfParametersToProcess > 0)
      {
        string missingParameterError = "Argument %1 has %2 value(s) associated whereas exacly %3 are expected.";
        for (int j = 1; j <= numberOfParametersToProcess; ++j)
        {
          if (i + j >= arguments.size())
          {
            // this->Internal->ErrorString =
            //         missingParameterError.arg(argument).arg(j-1).arg(numberOfParametersToProcess);
            // if (this->Internal->Debug) { std::cout << this->Internal->ErrorString; }
            if (ok)
            {
              *ok = false;
            }
            return map<string, us::Any>();
          }
          string parameter = arguments.at(i + j);
          if (this->Internal->Debug)
          {
            std::cout << "  Processing parameter" << j << ", value:" << parameter;
          }
          if (this->argumentAdded(parameter))
          {
            // this->Internal->ErrorString =
            //         missingParameterError.arg(argument).arg(j-1).arg(numberOfParametersToProcess);
            // if (this->Internal->Debug) { std::cout << this->Internal->ErrorString; }
            if (ok)
            {
              *ok = false;
            }
            return map<string, us::Any>();
          }
          if (!currentArgDesc->addParameter(parameter))
          {
            // this->Internal->ErrorString = string(
            //             "Value(s) associated with argument %1 are incorrect. %2").
            //         arg(argument).arg(currentArgDesc->ExactMatchFailedMessage);
            // if (this->Internal->Debug) { std::cout << this->Internal->ErrorString; }
            if (ok)
            {
              *ok = false;
            }
            return map<string, us::Any>();
          }
        }
        // Update main loop increment
        i = i + numberOfParametersToProcess;
      }
      else if (numberOfParametersToProcess == -1)
      {
        if (this->Internal->Debug)
        {
          std::cout << "  Proccessing StringList ...";
        }
        int j = 1;
        while (j + i < arguments.size())
        {
          if (this->argumentAdded(arguments.at(j + i)))
          {
            if (this->Internal->Debug)
            {
              std::cout << "  No more parameter for" << argument;
            }
            break;
          }
          string parameter = arguments.at(j + i);

          if (parameter.compare(0, Internal->LongPrefix.size(), Internal->LongPrefix) == 0 ||
              parameter.compare(0, Internal->ShortPrefix.size(), Internal->ShortPrefix) == 0)
          {
            j--;
            break;
          }

          if (this->Internal->Debug)
          {
            std::cout << "  Processing parameter" << j << ", value:" << parameter;
          }
          if (!currentArgDesc->addParameter(parameter))
          {
            // this->Internal->ErrorString = string(
            //             "Value(s) associated with argument %1 are incorrect. %2").
            //         arg(argument).arg(currentArgDesc->ExactMatchFailedMessage);
            // if (this->Internal->Debug) { std::cout << this->Internal->ErrorString; }
            if (ok)
            {
              *ok = false;
            }
            return map<string, us::Any>();
          }
          j++;
        }
        // Update main loop increment
        i = i + j;
      }
    }
    else
    {
      if (this->Internal->StrictMode)
      {
        this->Internal->ErrorString = "Unknown argument ";
        this->Internal->ErrorString += argument;
        error = true;
        break;
      }
      if (this->Internal->Debug)
      {
        std::cout << "  Skipping: Unknown argument";
      }
      this->Internal->UnparsedArguments.push_back(argument);
    }
  }

  if (ok)
  {
    *ok = !error;
  }

  map<string, us::Any> parsedArguments;

  int obligatoryArgs = 0;
  vector<CommandLineParserArgumentDescription *>::iterator it;
  for (it = Internal->ArgumentDescriptionList.begin(); it != Internal->ArgumentDescriptionList.end(); ++it)
  {
    CommandLineParserArgumentDescription *desc = *it;

    if (!desc->Optional)
      obligatoryArgs++;
  }

  int parsedObligatoryArgs = 0;
  for (it = parsedArgDescriptions.begin(); it != parsedArgDescriptions.end(); ++it)
  {
    CommandLineParserArgumentDescription *desc = *it;

    string key;
    if (!desc->LongArg.empty())
    {
      key = desc->LongArg;
    }
    else
    {
      key = desc->ShortArg;
    }

    if (!desc->Optional)
      parsedObligatoryArgs++;

    std::pair<string, us::Any> elem;
    elem.first = key;
    elem.second = desc->Value;
    parsedArguments.insert(elem);
  }

  if (obligatoryArgs > parsedObligatoryArgs)
  {
    parsedArguments.clear();
    cout << helpText();
  }

  return parsedArguments;
}

// -------------------------------------------------------------------------
map<string, us::Any> mitkCommandLineParser::parseArguments(int argc, char **argv, bool *ok)
{
  StringContainerType arguments;

  // Create a StringContainerType of arguments
  for (int i = 0; i < argc; ++i)
    arguments.push_back(argv[i]);

  return this->parseArguments(arguments, ok);
}

// -------------------------------------------------------------------------
string mitkCommandLineParser::errorString() const
{
  return this->Internal->ErrorString;
}

// -------------------------------------------------------------------------
const mitkCommandLineParser::StringContainerType &mitkCommandLineParser::unparsedArguments() const
{
  return this->Internal->UnparsedArguments;
}

// --------------------------------------------------------------------------
void mitkCommandLineParser::addArgument(const string &longarg,
                                        const string &shortarg,
                                        Type type,
                                        const string &argLabel,
                                        const string &argHelp,
                                        const us::Any &defaultValue,
                                        bool optional,
                                        bool ignoreRest,
                                        bool deprecated)
{
  if (longarg.empty() && shortarg.empty())
  {
    return;
  }

  /* Make sure it's not already added */
  bool added = (this->Internal->ArgNameToArgumentDescriptionMap.count(longarg) != 0);
  if (added)
  {
    return;
  }

  added = (this->Internal->ArgNameToArgumentDescriptionMap.count(shortarg) != 0);
  if (added)
  {
    return;
  }

  auto argDesc = new CommandLineParserArgumentDescription(longarg,
                                                          this->Internal->LongPrefix,
                                                          shortarg,
                                                          this->Internal->ShortPrefix,
                                                          type,
                                                          argHelp,
                                                          argLabel,
                                                          defaultValue,
                                                          ignoreRest,
                                                          deprecated,
                                                          optional,
                                                          ParameterGroupName,
                                                          ParameterGroupDescription);

  std::string::size_type argWidth = 0;
  if (!longarg.empty())
  {
    this->Internal->ArgNameToArgumentDescriptionMap[longarg] = argDesc;
    argWidth += longarg.size() + this->Internal->LongPrefix.size();
  }
  if (!shortarg.empty())
  {
    this->Internal->ArgNameToArgumentDescriptionMap[shortarg] = argDesc;
    argWidth += shortarg.size() + this->Internal->ShortPrefix.size() + 2;
  }
  argWidth += 5;

  // Set the field width for the arguments
  if (argWidth > this->Internal->FieldWidth)
  {
    this->Internal->FieldWidth = argWidth;
  }

  this->Internal->ArgumentDescriptionList.push_back(argDesc);
  this->Internal->GroupToArgumentDescriptionListMap[this->Internal->CurrentGroup].push_back(argDesc);
}

// --------------------------------------------------------------------------
void mitkCommandLineParser::addDeprecatedArgument(const string &longarg,
                                                  const string &shortarg,
                                                  const string &argLabel,
                                                  const string &argHelp)
{
  addArgument(longarg, shortarg, StringList, argLabel, argHelp, us::Any(), false, true, false);
}

// --------------------------------------------------------------------------
std::string::size_type mitkCommandLineParser::fieldWidth() const
{
  return this->Internal->FieldWidth;
}

// --------------------------------------------------------------------------
void mitkCommandLineParser::beginGroup(const string &description)
{
  this->Internal->CurrentGroup = description;
}

// --------------------------------------------------------------------------
void mitkCommandLineParser::endGroup()
{
  this->Internal->CurrentGroup.clear();
}

// --------------------------------------------------------------------------
string mitkCommandLineParser::helpText() const
{
  string text;
  vector<CommandLineParserArgumentDescription *> deprecatedArgs;

  text = "Command Line Utility *" + Title + "* in Category *" + Category + "*\n";
  text += Description + "\n";
  text += Contributor + "\n\n";
  text += "Use --xml to generate an XML description parsable as a CTK Command Line Module Plugin.\n";

  // Loop over grouped argument descriptions
  map<string, vector<CommandLineParserArgumentDescription *>>::iterator it;
  for (it = Internal->GroupToArgumentDescriptionListMap.begin();
       it != Internal->GroupToArgumentDescriptionListMap.end();
       ++it)
  {
    if (!(*it).first.empty())
    {
      text = text + "\n" + (*it).first + "\n";
    }

    vector<CommandLineParserArgumentDescription *>::iterator it2;
    for (it2 = (*it).second.begin(); it2 != (*it).second.end(); ++it2)
    {
      CommandLineParserArgumentDescription *argDesc = *it2;
      if (argDesc->Deprecated)
      {
        deprecatedArgs.push_back(argDesc);
      }
      else
      {
        text += argDesc->helpText();
      }
    }
  }

  if (!deprecatedArgs.empty())
  {
    text += "\nDeprecated arguments:\n";
    vector<CommandLineParserArgumentDescription *>::iterator it2;
    for (it2 = deprecatedArgs.begin(); it2 != deprecatedArgs.end(); ++it2)
    {
      CommandLineParserArgumentDescription *argDesc = *it2;
      text += argDesc->helpText();
    }
  }

  return text;
}

// --------------------------------------------------------------------------
bool mitkCommandLineParser::argumentAdded(const string &argument) const
{
  return (this->Internal->ArgNameToArgumentDescriptionMap.count(argument) != 0);
}

// --------------------------------------------------------------------------
bool mitkCommandLineParser::argumentParsed(const string &argument) const
{
  for (unsigned int i = 0; i < Internal->ProcessedArguments.size(); i++)
    if (argument.compare(Internal->ProcessedArguments.at(i)) == 0)
      return true;
  return false;
}

// --------------------------------------------------------------------------
void mitkCommandLineParser::setArgumentPrefix(const string &longPrefix, const string &shortPrefix)
{
  this->Internal->LongPrefix = longPrefix;
  this->Internal->ShortPrefix = shortPrefix;
}

// --------------------------------------------------------------------------
void mitkCommandLineParser::setStrictModeEnabled(bool strictMode)
{
  this->Internal->StrictMode = strictMode;
}

void mitkCommandLineParser::generateXmlOutput()
{
  std::stringstream xml;

  xml << "<executable>" << endl;
  xml << "<category>" << Category << "</category>" << endl;
  xml << "<title>" << Title << "</title>" << endl;
  xml << "<description>" << Description << "</description>" << endl;
  xml << "<contributor>" << Contributor << "</contributor>" << endl;
  xml << "<parameters>" << endl;

  std::vector<CommandLineParserArgumentDescription *>::iterator it;

  std::string lastParameterGroup = "";
  for (it = this->Internal->ArgumentDescriptionList.begin(); it != this->Internal->ArgumentDescriptionList.end(); it++)
  {
    std::string type;
    switch ((*it)->ValueType)
    {
      case mitkCommandLineParser::String:
        type = "string";
        break;

      case mitkCommandLineParser::Bool:
        type = "boolean";
        break;

      case mitkCommandLineParser::StringList:
        type = "string-vector";
        break;

      case mitkCommandLineParser::Int:
        type = "integer";
        break;

      case mitkCommandLineParser::Float:
        type = "float";
        break;

      case mitkCommandLineParser::OutputDirectory:
      case mitkCommandLineParser::InputDirectory:
        type = "directory";
        break;

      case mitkCommandLineParser::InputImage:
        type = "image";
        break;

      case mitkCommandLineParser::OutputFile:
      case mitkCommandLineParser::InputFile:
        type = "file";
        break;
    }

    if (lastParameterGroup.compare((*it)->ArgGroup))
    {
      if (it != this->Internal->ArgumentDescriptionList.begin())
      {
        xml << "</parameters>" << endl;
        xml << "<parameters>" << endl;
      }
      xml << "<label>" << (*it)->ArgGroup << "</label>" << endl;
      xml << "<description>" << (*it)->ArgGroupDescription << "</description>" << endl;
      lastParameterGroup = (*it)->ArgGroup;
    }

    // Skip help item, as it's no use in GUI
    if ((*it)->ShortArg == "h")
      continue;

    xml << "<" << type << ">" << endl;
    xml << "<name>" << (*it)->LongArg << "</name>" << endl;
    xml << "<description>" << (*it)->ArgHelp << "</description>" << endl;
    xml << "<label>" << (*it)->ArgLabel << "</label>" << endl;
    if (!(*it)->DefaultValue.Empty())
      xml << "<default>" << (*it)->DefaultValue.ToString() << "</default>" << endl;

    xml << "<longflag>" << (*it)->LongArg << "</longflag>" << endl;
    xml << "<flag>" << (*it)->ShortArg << "</flag>" << endl;

    if ((*it)->ValueType == mitkCommandLineParser::InputDirectory ||
        (*it)->ValueType == mitkCommandLineParser::InputFile || (*it)->ValueType == mitkCommandLineParser::InputImage)
    {
      xml << "<channel>input</channel>" << endl;
    }
    else if ((*it)->ValueType == mitkCommandLineParser::OutputDirectory ||
             (*it)->ValueType == mitkCommandLineParser::OutputFile)
    {
      xml << "<channel>output</channel>" << endl;
    }
    xml << "</" << type << ">" << endl;
  }

  xml << "</parameters>" << endl;
  xml << "</executable>" << endl;

  cout << xml.str();
}

void mitkCommandLineParser::setTitle(string title)
{
  Title = title;
}
void mitkCommandLineParser::setContributor(string contributor)
{
  Contributor = contributor;
}

void mitkCommandLineParser::setCategory(string category)
{
  Category = category;
}

void mitkCommandLineParser::setDescription(string description)
{
  Description = description;
}

void mitkCommandLineParser::changeParameterGroup(string name, string tooltip)
{
  ParameterGroupName = name;
  ParameterGroupDescription = tooltip;
}


Jo and James are joined in the podcupboard by Daisy Lowe, the long-time model and star of this year's Strictly Come Dancing.
As well as discussing Daisy's career and what she's been up to since finishing six months with Strictly, the trio discuss the really important (and not) things in life. So is it OK to post gym selfies? To not bother with something you're a bit crap at? And is it OK to embrace a polyamorous relationship?
Tweet us your thoughts, and don't forget to rate and review us, and subscribe to Hey, It's OK... on iTunes! Android users, check out the Acast podcasting app.
Podcast edited by Kat Brown with music by Martin Austwick.


text:
#BrooklynGives: A 24-Hour Local Giving Day to "Give Where You Live" with $100,000 Match and More
Brooklyn Community Foundation is setting out to prove that Brooklyn is not just New York City's biggest borough, it also has the largest heart this holiday season with #BrooklynGives on Giving Tuesday, a 24-hour local giving campaign that aims to raise over $1 million for community-based nonprofits across the borough.
On Tuesday, November 27th—the Tuesday after Thanksgiving celebrated around the world as Giving Tuesday—we will launch #BrooklynGives. The campaign is open to any Brooklyn-based 501c3 nonprofit, and more than 150 organizations have registered to be featured at the campaign's website, www.BrooklynGives.org.
We initially created the #BrooklynGives campaign in 2016 to showcase the giving capacity of this great borough. Brooklyn residents are encouraged to make a donation of any size to one or more local nonprofits from midnight to 11:59PM on November 27th at www.BrooklynGives.org.
Have you seen our #BrooklynGives billboard in Times Square?
Together with our #BrooklynGives sponsors—National Grid, Santander Bank, Sugar in the Raw, and Cleary Gottlieb—we are underwriting additional donations throughout the day, including our $100,000 match for 20 organizations that are finalists for our annual Spark Prize, which honors Brooklyn's leading nonprofit changemakers.
"#BrooklynGives on Giving Tuesday is on track to become the most charitable 24 hours in Brooklyn thanks to the incredible generosity of all those who care deeply about Brooklyn's communities and the nonprofits that make our borough great," said Brooklyn Community Foundation President and CEO Cecilia Clarke. "This campaign makes it easy to discover and support effective and inspiring organizations right in our own backyards, while participating in the largest single day of giving in the world, Giving Tuesday. We hope every Brooklynite will join us to GIVE WHERE YOU LIVE!"
The 24-hour giving day will start with an official #BrooklynGives Kickoff Celebration from 8-10AM at National Grid's Auditorium, located at 1 Metro Tech in Downtown Brooklyn. The free and open to the public event will feature three panels showcasing outstanding local nonprofit organizations, moderated by Errol Louis (NY1's "Inside City Hall"), Heather McGhee (national progressive activist), and David Belt (founder of New Lab at the Brooklyn Navy Yard), as well as live updates on fundraising totals throughout the program.
"National Grid is committed to making a difference in the lives of others by strengthening our local communities and making a lasting impact where we live and work," said Rudy Wynter, President & COO, National Grid Transmission, Generation and Energy Procurement. "The collaborative effort of #BrooklynGives supports local organizations that have a shared commitment to making the Brooklyn community stronger. We are pleased to help lead the Brooklyn Community Foundation's effort to celebrate and encourage Brooklyn's changemakers."
"At Santander Bank, we believe that respect should be the foundation for everything we do, including how we engage in the communities where we live and work," said Jesse Villarreal, Santander's Executive Vice President, Interim Corporate Social Responsibility Director and Government Affairs and Public Policy Director. "We are thrilled to support the Brooklyn Community Foundation's efforts to raise awareness and contributions for community-based organizations in Brooklyn."
Giving Tuesday was founded in 2012 by the 92nd Street Y as an alternative to the shopping events of Black Friday and Cyber Monday after Thanksgiving. It has since become a global phenomenon and an unofficial kickoff to the holiday giving season, inspiring millions of people to give back and support the causes they believe in. In 2017, nonprofit organizations raised over $300 million online on Giving Tuesday.
Community Partners:
Brooklyn Gives, Spark Prize, Donor Services
#BrooklynGives on Giving Tuesday is on track to become the most charitable 24 hours in Brooklyn thanks to the incredible generosity of all those who care deeply about Brooklyn's communities and the nonprofits that make our borough great