FWIW, one way that I use the full post data, formerly referred to as cgiParameters, is on a site dealing with medical data.
We have literally a few hundred medical forms for all sorts of scenarios for pre-certification submission to insurance companies. Some forms, such as regarding treatment of varicose veins are immense and have many fields with a high percentage that don’t come into play most of the time. All forms begin empty aside from patient, physician and other info that has already been established. Much of the time the forms need to be retrieved for additional info
Creating databases with fields to match all the forms and fields was proving to be a bit on the insane side, especially since some forms, or their variants, might be used frequently as others only under blue moons.
Each form also needs to be converted to a PDF at one point for the actual submission. Building Panorama forms to fit each one was also proving to be an enormous task, especially in the event that even a minor addition to the fields in the HTML form would require modification of the Panorama forms and replacement of the online databases involved.
Instead, I have key elements of common data being saved to a single database to create an index of submitted data. The submitted data is saved as a text file using the POST data as it is supplied in the cgiParameters.
If the form is retrieved, Panorama is more than capable of parsing the text to build a javascript that reloads the form data in the HTML page. ie: document.getElementById(‘city’).value =“Tulsa”;
If a PDF is to be generated, here too, Panorama excels in its ability to parse the saved text using, for instance, TagData(. Hidden tags that have been embedded in the HTML form are utilized to break down and identify the sections. It can determine headings for sections and what pages to include or exclude from a set of Panorama forms that have become somewhat generic. Most of the forms then use variable contents.
As long as the established naming convention is used, new HTML forms can be added readily or existing forms altered and it all just runs without new fields or forms in the online Panorama database. It’s all in the coding.
The text below is the POST data from the simplest of the forms. Some involve more than a hundred fields that are inserted between the !rq and !f tags. (Yes, we can hope no patient ever has all of these issues)
!h=head !Practice=Hesperia Clinic !Logo=813527153.jpg !MName=Blair, Tony S Jr !DOB=02/22/1984 !InsCo=Anthem !GroupNmbr=gr12-9oup !PlanNmbr=545566 !MembrNmbr=652625 posID=6306825821 accountid=813527153 usrid=0975184859230735 reportID=597185084Q Report=Procedure(s) LastName=Blair Nickname=Parse Trial 1 RefNum=321-Go Priority= !d=Diagnosis dgns1=A1812 - Tuberculosis of bladder dgns2=A021 - Salmonella sepsis dgns3=A3211 - Listerial meningitis dgns4= dgns5= !rq=request rqp1=22843 - Spinal Procedures Spinal Fusion rqp2=37765 - Cosmetic Surgery Venous ligation rqp3= rqp4= rqp5= rqp6= rqp7= rqp8= rqp9= rqp10= status=Scheduled explain=No Explanation prcddate=03/10/2021 comments=Comments go Here !f=footer physician=Cook, James tin1=12-2222222 npi1=2136666666 physID=0975184859230735 physician2=Phys 2 tin2=56-5645646 npi2=6216461262 fclty= Facility=Bigger Hospital netstatus=In_Network ein=46-4665656 address=123 Broad Ave\n3rd floor, Room 304 fnpi=6546564564 city=Tulsa state=OK zip=80211 phone=(303) 256-3265 Contact=Helmut Melick cphone=(545) 874-5698 fax=(212) 546-9875 pPayer=Aetna pLogo=…/graphics/logos/aetna.png pPhone=(212) 455-6547 pFax=(212) 685-9568 pEmail=precert@aetna.web !x=end
In PanX, I am able to create a global named cgiParameters that I will load with the entire post - and must do so since I’ve used it so widely in Enterprise 6. I’m even doing more this very day in Enterprise 6 since we’re still building with 6 on a nearly daily basis.
What I have lost is the ability to load saved text to cgiParameters, then use WebFormItem and similar statements that no longer recognize it. In PanX this comes up empty.
Global cgiParameters
cgiParameters = {name=Joe size=big gender=M}
LetLocal lvName = ""
WebFormItem "name",lvName
Message lvName
As noted, this is a FWIW, not a grievance. cgiParameters has been very useful and I have the means to continue using it in most cases. In other situations there’s no doubt of finding a way around it.