opened 11:40AM - 28 Feb 17 UTC
closed 10:04PM - 03 Mar 17 UTC
Bug
When we try to edit procedure in `Encounter` it Duplicates all Ordered Procedure…s after any edit by mistake.
![duplicate1](https://cloud.githubusercontent.com/assets/9222481/23403647/4d91a09c-fdc6-11e6-9783-64e6880eb73a.png)
The reason is Join not complete and read duplicate from `procedure_order_code`,Really need find common column between `procedure_order_code` and `procedure_type`, to fix it I add one column with this query:
```
ALTER TABLE `procedure_order_code`
ADD COLUMN `procedure_id` INT UNSIGNED NULL AFTER `procedure_order_title`;
```
then edit forms/procedure_order/new.php for edit and insert action:
```
sqlBeginTrans();
$procedure_order_seq = sqlQuery( "SELECT IFNULL(MAX(procedure_order_seq),0) + 1 AS increment FROM procedure_order_code WHERE procedure_order_id = ? ", array($formid));
$poseq = sqlInsert("INSERT INTO procedure_order_code SET ".
"procedure_order_id = ?, " .
"diagnoses = ?, " .
"procedure_order_title = ?, " .
"procedure_id = ?, " . // add this line with $_POST['form_proc_type'][$i] in passed problems
"procedure_code = (SELECT procedure_code FROM procedure_type WHERE procedure_type_id = ?), " .
"procedure_name = (SELECT name FROM procedure_type WHERE procedure_type_id = ?)," .
"procedure_order_seq = ? ",
array($formid, strip_escape_custom($_POST['form_proc_type_diag'][$i]), strip_escape_custom($_POST['form_proc_order_title'][$i]),$_POST['form_proc_type'][$i], $ptid, $ptid, $procedure_order_seq['increment']));
sqlCommitTrans();
```
and view.php in that folder for view action:
```
$opres = sqlStatement("SELECT " .
"pc.procedure_order_seq, pc.procedure_code, pc.procedure_name, " .
"pc.diagnoses,pc.procedure_order_title, pt.procedure_type_id " .
"FROM procedure_order_code AS pc " .
"LEFT JOIN procedure_type AS pt ON pt.lab_id = ? AND " .
"pt.procedure_code = pc.procedure_code " .
"WHERE pc.procedure_order_id = ? ".
"AND pc.procedure_id = pt.procedure_type_id " . // add this condition
"ORDER BY pc.procedure_order_seq",
array($row['lab_id'], $formid));
while ($oprow = sqlFetchArray($opres)) {
```
And this bug fixed. This issue is report bug and the solution to how fix it.
Another image sample:
![duplicate2](https://cloud.githubusercontent.com/assets/9222481/23403648/4d95688a-fdc6-11e6-9a25-430c16cd1df0.png)
Thanks for openemr developing.
sorry for my bad English